taxtank-core 0.30.17 → 0.30.19

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 (742) hide show
  1. package/esm2020/lib/collections/allocation-rule.collection.mjs +27 -0
  2. package/esm2020/lib/collections/index.mjs +2 -1
  3. package/esm2020/lib/collections/property/property-sale/index.mjs +2 -2
  4. package/esm2020/lib/collections/property/property-sale/property-sale-tax-exemption-meta-field.collection.mjs +17 -0
  5. package/esm2020/lib/collections/transaction/transaction.collection.mjs +6 -6
  6. package/esm2020/lib/db/Enums/allocation-rule-condition-comparison-operator.enum.mjs +9 -0
  7. package/esm2020/lib/db/Enums/allocation-rule-condition-field.enum.mjs +6 -0
  8. package/esm2020/lib/db/Enums/allocation-rule-condition-operator.enum.mjs +6 -0
  9. package/esm2020/lib/db/Enums/allocation-rule-type.enum.mjs +7 -0
  10. package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-meta-field-list.enum.mjs +19 -0
  11. package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-meta-field-type.enum.mjs +6 -0
  12. package/esm2020/lib/db/Enums/chart-accounts/index.mjs +3 -3
  13. package/esm2020/lib/db/Enums/index.mjs +6 -2
  14. package/esm2020/lib/db/Enums/property/property-sale/tax-exemption-meta-field.enum.mjs +9 -0
  15. package/esm2020/lib/db/Models/chart-accounts/chart-accounts-meta-field.mjs +4 -0
  16. package/esm2020/lib/db/Models/chart-accounts/chart-accounts.mjs +1 -1
  17. package/esm2020/lib/db/Models/index.mjs +5 -6
  18. package/esm2020/lib/db/Models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
  19. package/esm2020/lib/db/Models/property/property-sale/property-sale.mjs +1 -1
  20. package/esm2020/lib/db/Models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
  21. package/esm2020/lib/db/Models/property/property-sale/tax-exemption.mjs +1 -1
  22. package/esm2020/lib/db/Models/transaction/allocation-rule-condition.mjs +4 -0
  23. package/esm2020/lib/db/Models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
  24. package/esm2020/lib/db/Models/transaction/allocation-rule-transaction.mjs +4 -0
  25. package/esm2020/lib/db/Models/transaction/allocation-rule.mjs +4 -0
  26. package/esm2020/lib/db/Models/transaction/transaction-meta-field.mjs +4 -0
  27. package/esm2020/lib/db/Models/transaction/transaction.mjs +1 -1
  28. package/esm2020/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +18 -18
  29. package/esm2020/lib/forms/transaction/allocation-rule-condition.form.mjs +14 -0
  30. package/esm2020/lib/forms/transaction/allocation-rule-transaction-meta-field.form.mjs +12 -0
  31. package/esm2020/lib/forms/transaction/allocation-rule-transaction.form.mjs +125 -0
  32. package/esm2020/lib/forms/transaction/allocation-rule.form.mjs +135 -0
  33. package/esm2020/lib/forms/transaction/index.mjs +2 -1
  34. package/esm2020/lib/forms/transaction/work/work-expense.form.mjs +10 -10
  35. package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +12 -12
  36. package/esm2020/lib/models/chart-accounts/chart-accounts-meta-field.mjs +14 -0
  37. package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +10 -4
  38. package/esm2020/lib/models/chart-accounts/index.mjs +2 -2
  39. package/esm2020/lib/models/endpoint/endpoints.const.mjs +5 -1
  40. package/esm2020/lib/models/property/property-sale/index.mjs +3 -3
  41. package/esm2020/lib/models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
  42. package/esm2020/lib/models/property/property-sale/property-sale.mjs +4 -4
  43. package/esm2020/lib/models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
  44. package/esm2020/lib/models/property/property.mjs +6 -6
  45. package/esm2020/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.mjs +8 -8
  46. package/esm2020/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.mjs +12 -12
  47. package/esm2020/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.mjs +6 -6
  48. package/esm2020/lib/models/transaction/allocation-rule-condition.mjs +35 -0
  49. package/esm2020/lib/models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
  50. package/esm2020/lib/models/transaction/allocation-rule-transaction.mjs +95 -0
  51. package/esm2020/lib/models/transaction/allocation-rule.mjs +139 -0
  52. package/esm2020/lib/models/transaction/index.mjs +5 -2
  53. package/esm2020/lib/models/transaction/transaction-meta-field.mjs +10 -0
  54. package/esm2020/lib/models/transaction/transaction.mjs +15 -15
  55. package/esm2020/lib/services/http/transaction/index.mjs +2 -1
  56. package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +23 -0
  57. package/esm2020/lib/services/http/tutorial-video/video-source.interface.mjs +1 -1
  58. package/esm2020/public-api.mjs +5 -5
  59. package/fesm2015/taxtank-core.mjs +992 -390
  60. package/fesm2015/taxtank-core.mjs.map +1 -1
  61. package/fesm2020/taxtank-core.mjs +992 -392
  62. package/fesm2020/taxtank-core.mjs.map +1 -1
  63. package/lib/collections/account-setup-item.collection.d.ts.map +1 -0
  64. package/lib/collections/allocation-group.collection.d.ts.map +1 -0
  65. package/lib/collections/allocation-rule.collection.d.ts +15 -0
  66. package/lib/collections/allocation-rule.collection.d.ts.map +1 -0
  67. package/lib/collections/bank-account.collection.d.ts.map +1 -0
  68. package/lib/collections/bank-transaction.collection.d.ts.map +1 -0
  69. package/lib/collections/chart-accounts.collection.d.ts.map +1 -0
  70. package/lib/collections/client-invite.collection.d.ts.map +1 -0
  71. package/lib/collections/client-movement.collection.d.ts.map +1 -0
  72. package/lib/collections/client-portfolio-report.collection.d.ts.map +1 -0
  73. package/lib/collections/client.collection.d.ts.map +1 -0
  74. package/lib/collections/depreciation-forecast.collection.d.ts.map +1 -0
  75. package/lib/collections/depreciation.collection.d.ts.map +1 -0
  76. package/lib/collections/employee.collection.d.ts.map +1 -0
  77. package/lib/collections/exportable.collection.d.ts.map +1 -0
  78. package/lib/collections/income-source.collection.d.ts.map +1 -0
  79. package/lib/collections/index.d.ts +1 -0
  80. package/lib/collections/index.d.ts.map +1 -0
  81. package/lib/collections/loan/index.d.ts.map +1 -0
  82. package/lib/collections/loan/loan-payment.collection.d.ts.map +1 -0
  83. package/lib/collections/loan/loan.collection.d.ts.map +1 -0
  84. package/lib/collections/property/index.d.ts.map +1 -0
  85. package/lib/collections/property/property-category-movement.collection.d.ts.map +1 -0
  86. package/lib/collections/property/property-sale/index.d.ts +1 -1
  87. package/lib/collections/property/property-sale/index.d.ts.map +1 -0
  88. package/lib/collections/property/property-sale/property-sale-tax-exemption-meta-field.collection.d.ts +8 -0
  89. package/lib/collections/property/property-sale/property-sale-tax-exemption-meta-field.collection.d.ts.map +1 -0
  90. package/lib/collections/property/property-sale/property-sale.collection.d.ts.map +1 -0
  91. package/lib/collections/property/property-share.collection.d.ts.map +1 -0
  92. package/lib/collections/property/property.collection.d.ts.map +1 -0
  93. package/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.d.ts.map +1 -0
  94. package/lib/collections/report/depreciation/depreciation-report-item.collection.d.ts.map +1 -0
  95. package/lib/collections/report/index.d.ts.map +1 -0
  96. package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts.map +1 -0
  97. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts.map +1 -0
  98. package/lib/collections/report/property/property-report-item.collection.d.ts.map +1 -0
  99. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts.map +1 -0
  100. package/lib/collections/sole/index.d.ts.map +1 -0
  101. package/lib/collections/sole/sole-business-losses.collection.d.ts.map +1 -0
  102. package/lib/collections/sole/sole-invoice-item.collection.d.ts.map +1 -0
  103. package/lib/collections/sole/sole-invoice.collection.d.ts.map +1 -0
  104. package/lib/collections/subscription/index.d.ts.map +1 -0
  105. package/lib/collections/subscription/service-price.collection.d.ts.map +1 -0
  106. package/lib/collections/subscription/service-product.collection.d.ts.map +1 -0
  107. package/lib/collections/subscription/service-subscription.collection.d.ts.map +1 -0
  108. package/lib/collections/subscription/subscription-item.collection.d.ts.map +1 -0
  109. package/lib/collections/tax-review.collection.d.ts.map +1 -0
  110. package/lib/collections/tax-summary/index.d.ts.map +1 -0
  111. package/lib/collections/tax-summary/report-item.collection.d.ts.map +1 -0
  112. package/lib/collections/tax-summary/tax-return-categories.const.d.ts.map +1 -0
  113. package/lib/collections/transaction/index.d.ts.map +1 -0
  114. package/lib/collections/transaction/transaction-allocation.collection.d.ts.map +1 -0
  115. package/lib/collections/transaction/transaction.collection.d.ts +3 -3
  116. package/lib/collections/transaction/transaction.collection.d.ts.map +1 -0
  117. package/lib/collections/user-event-setting.collection.d.ts.map +1 -0
  118. package/lib/collections/user-event-type-collection.d.ts.map +1 -0
  119. package/lib/collections/vehicle/index.d.ts.map +1 -0
  120. package/lib/collections/vehicle/vehicle-claim.collection.d.ts.map +1 -0
  121. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts.map +1 -0
  122. package/lib/db/Enums/allocation-rule-condition-comparison-operator.enum.d.ts +7 -0
  123. package/lib/db/Enums/allocation-rule-condition-field.enum.d.ts +4 -0
  124. package/lib/db/Enums/allocation-rule-condition-operator.enum.d.ts +4 -0
  125. package/lib/db/Enums/allocation-rule-type.enum.d.ts +5 -0
  126. package/lib/db/Enums/bank-popular.enum.d.ts.map +1 -0
  127. package/lib/db/Enums/chart-accounts/{chart-accounts-metadata-list.enum.d.ts → chart-accounts-meta-field-list.enum.d.ts} +1 -1
  128. package/lib/db/Enums/chart-accounts/chart-accounts-meta-field-type.enum.d.ts +4 -0
  129. package/lib/db/Enums/chart-accounts/index.d.ts +2 -2
  130. package/lib/db/Enums/depreciation-write-off-amount.enum.d.ts.map +1 -0
  131. package/lib/db/Enums/income-source-type-list-other.enum.d.ts.map +1 -0
  132. package/lib/db/Enums/income-source-type-list-sole.enum.d.ts.map +1 -0
  133. package/lib/db/Enums/income-source-type-list-work.enum.d.ts.map +1 -0
  134. package/lib/db/Enums/index.d.ts +5 -1
  135. package/lib/db/Enums/invite-status.enum.d.ts.map +1 -0
  136. package/lib/db/Enums/loan-bank-type.enum.d.ts.map +1 -0
  137. package/lib/db/Enums/loan-frequency.enum.d.ts.map +1 -0
  138. package/lib/db/Enums/property/property-category-list.enum.d.ts.map +1 -0
  139. package/lib/db/Enums/property/property-sale/{tax-exemption-metadata.enum.d.ts → tax-exemption-meta-field.enum.d.ts} +1 -1
  140. package/lib/db/Enums/service-notification-status.enum.d.ts.map +1 -0
  141. package/lib/db/Enums/service-notification-type.enum.d.ts.map +1 -0
  142. package/lib/db/Enums/subscription/service-payment-method-card-brand.enum.d.ts.map +1 -0
  143. package/lib/db/Enums/subscription/service-payment-method-type.enum.d.ts.map +1 -0
  144. package/lib/db/Enums/tax-return-category-list.enum.d.ts.map +1 -0
  145. package/lib/db/Enums/tax-return-category-section.enum.d.ts.map +1 -0
  146. package/lib/db/Enums/tax-summary-list.enum.d.ts.map +1 -0
  147. package/lib/db/Enums/tax-summary-tax-summary.enum.d.ts.map +1 -0
  148. package/lib/db/Enums/ticket-types.enum.d.ts.map +1 -0
  149. package/lib/db/Enums/user-event-type-client-type.enum.d.ts.map +1 -0
  150. package/lib/db/Enums/user-event-type-employee-type.enum.d.ts.map +1 -0
  151. package/lib/db/Enums/user-event-type-type.enum.d.ts.map +1 -0
  152. package/lib/db/Enums/user-event-type-user-type.enum.d.ts.map +1 -0
  153. package/lib/db/Enums/user-medicare-exemption.enum.d.ts.map +1 -0
  154. package/lib/db/Enums/user-work-depreciation-calculation.enum.d.ts.map +1 -0
  155. package/lib/db/Enums/user-working-holiday-maker.enum.d.ts.map +1 -0
  156. package/lib/db/Models/bank/bank-connection.d.ts.map +1 -0
  157. package/lib/db/Models/bank/basiq-job.d.ts.map +1 -0
  158. package/lib/db/Models/chart-accounts/chart-accounts-meta-field.d.ts +11 -0
  159. package/lib/db/Models/chart-accounts/chart-accounts.d.ts +2 -2
  160. package/lib/db/Models/index.d.ts +4 -5
  161. package/lib/db/Models/observable-model.d.ts.map +1 -0
  162. package/lib/db/Models/property/property-category.d.ts.map +1 -0
  163. package/lib/db/Models/property/property-sale/property-sale-tax-exemption-meta-field.d.ts +9 -0
  164. package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -2
  165. package/lib/db/Models/property/property-sale/{tax-exemption-metadata.d.ts → tax-exemption-meta-field.d.ts} +1 -1
  166. package/lib/db/Models/property/property-sale/tax-exemption.d.ts +2 -2
  167. package/lib/db/Models/property/property.d.ts.map +1 -0
  168. package/lib/db/Models/subscription/service-payment-method.d.ts.map +1 -0
  169. package/lib/db/Models/transaction/allocation-rule-condition.d.ts +10 -0
  170. package/lib/db/Models/transaction/allocation-rule-condition.d.ts.map +1 -0
  171. package/lib/db/Models/transaction/allocation-rule-transaction-meta-field.d.ts +9 -0
  172. package/lib/db/Models/transaction/allocation-rule-transaction-meta-field.d.ts.map +1 -0
  173. package/lib/db/Models/transaction/allocation-rule-transaction.d.ts +25 -0
  174. package/lib/db/Models/transaction/allocation-rule-transaction.d.ts.map +1 -0
  175. package/lib/db/Models/transaction/allocation-rule.d.ts +22 -0
  176. package/lib/db/Models/transaction/allocation-rule.d.ts.map +1 -0
  177. package/lib/db/Models/transaction/{transaction-metadata.d.ts → transaction-meta-field.d.ts} +3 -3
  178. package/lib/db/Models/transaction/transaction.d.ts +2 -2
  179. package/lib/db/Models/user/user.d.ts.map +1 -0
  180. package/lib/db-static/chart-accounts/chart-accounts-values.d.ts.map +1 -0
  181. package/lib/forms/abstract.form.d.ts.map +1 -0
  182. package/lib/forms/address/address.form.d.ts.map +1 -0
  183. package/lib/forms/address/index.d.ts.map +1 -0
  184. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts.map +1 -0
  185. package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts.map +1 -0
  186. package/lib/forms/bank/bank-account/bank-account-import.form.d.ts.map +1 -0
  187. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts.map +1 -0
  188. package/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts.map +1 -0
  189. package/lib/forms/bank/bank-login.form.d.ts.map +1 -0
  190. package/lib/forms/client/client-income-types.form.d.ts.map +1 -0
  191. package/lib/forms/depreciation/depreciation.form.d.ts.map +1 -0
  192. package/lib/forms/depreciation/index.d.ts.map +1 -0
  193. package/lib/forms/form-validations.enum.d.ts.map +1 -0
  194. package/lib/forms/index.d.ts.map +1 -0
  195. package/lib/forms/loan/index.d.ts.map +1 -0
  196. package/lib/forms/loan/loan.form.d.ts.map +1 -0
  197. package/lib/forms/login/login.form.d.ts.map +1 -0
  198. package/lib/forms/phone/index.d.ts.map +1 -0
  199. package/lib/forms/phone/phone.form.d.ts.map +1 -0
  200. package/lib/forms/property/index.d.ts.map +1 -0
  201. package/lib/forms/property/property-sale/index.d.ts.map +1 -0
  202. package/lib/forms/property/property-sale/property-sale-cost-base.form.d.ts.map +1 -0
  203. package/lib/forms/property/property-sale/property-sale-cost-sale.form.d.ts.map +1 -0
  204. package/lib/forms/property/property-sale/property-sale-exemptions.form.d.ts +2 -2
  205. package/lib/forms/property/property-sale/property-sale-exemptions.form.d.ts.map +1 -0
  206. package/lib/forms/register/register-client.form.d.ts.map +1 -0
  207. package/lib/forms/register/register-firm.form.d.ts.map +1 -0
  208. package/lib/forms/report/my-tax/index.d.ts.map +1 -0
  209. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.d.ts.map +1 -0
  210. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.d.ts.map +1 -0
  211. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.d.ts.map +1 -0
  212. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.d.ts.map +1 -0
  213. package/lib/forms/report/my-tax/my-tax-cgt.form.d.ts.map +1 -0
  214. package/lib/forms/report/my-tax/my-tax-deductions.form.d.ts.map +1 -0
  215. package/lib/forms/report/my-tax/my-tax-dividends.form.d.ts.map +1 -0
  216. package/lib/forms/report/my-tax/my-tax-income-statements.form.d.ts.map +1 -0
  217. package/lib/forms/report/my-tax/my-tax-income-tests.form.d.ts.map +1 -0
  218. package/lib/forms/report/my-tax/my-tax-interest.form.d.ts.map +1 -0
  219. package/lib/forms/report/my-tax/my-tax-losses.form.d.ts.map +1 -0
  220. package/lib/forms/report/my-tax/my-tax-medicare.form.d.ts.map +1 -0
  221. package/lib/forms/report/my-tax/my-tax-offsets.form.d.ts.map +1 -0
  222. package/lib/forms/report/my-tax/my-tax-other-income.form.d.ts.map +1 -0
  223. package/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.d.ts.map +1 -0
  224. package/lib/forms/report/my-tax/my-tax-rent.form.d.ts.map +1 -0
  225. package/lib/forms/sole/bas-report.form.d.ts.map +1 -0
  226. package/lib/forms/sole/index.d.ts.map +1 -0
  227. package/lib/forms/sole/sole-business-allocations.form.d.ts.map +1 -0
  228. package/lib/forms/sole/sole-business-loss.form.d.ts.map +1 -0
  229. package/lib/forms/sole/sole-business.form.d.ts.map +1 -0
  230. package/lib/forms/sole/sole-contact.form.d.ts.map +1 -0
  231. package/lib/forms/sole/sole-depreciation-method.form.d.ts.map +1 -0
  232. package/lib/forms/sole/sole-details.form.d.ts.map +1 -0
  233. package/lib/forms/sole/sole-invoice-item.form.d.ts.map +1 -0
  234. package/lib/forms/sole/sole-invoice-template.form.d.ts.map +1 -0
  235. package/lib/forms/sole/sole-invoice.form.d.ts.map +1 -0
  236. package/lib/forms/transaction/allocation-rule-condition.form.d.ts +5 -0
  237. package/lib/forms/transaction/allocation-rule-condition.form.d.ts.map +1 -0
  238. package/lib/forms/transaction/allocation-rule-transaction-meta-field.form.d.ts +5 -0
  239. package/lib/forms/transaction/allocation-rule-transaction-meta-field.form.d.ts.map +1 -0
  240. package/lib/forms/transaction/allocation-rule-transaction.form.d.ts +33 -0
  241. package/lib/forms/transaction/allocation-rule-transaction.form.d.ts.map +1 -0
  242. package/lib/forms/transaction/allocation-rule.form.d.ts +31 -0
  243. package/lib/forms/transaction/allocation-rule.form.d.ts.map +1 -0
  244. package/lib/forms/transaction/index.d.ts +1 -0
  245. package/lib/forms/transaction/index.d.ts.map +1 -0
  246. package/lib/forms/transaction/messages.enum.d.ts.map +1 -0
  247. package/lib/forms/transaction/transaction-base.form.d.ts.map +1 -0
  248. package/lib/forms/transaction/transaction.form.d.ts.map +1 -0
  249. package/lib/forms/transaction/work/work-expense.form.d.ts +1 -1
  250. package/lib/forms/transaction/work/work-expense.form.d.ts.map +1 -0
  251. package/lib/forms/transaction/work/work-income.form.d.ts.map +1 -0
  252. package/lib/forms/transaction/work/work-transaction.form.d.ts +1 -1
  253. package/lib/forms/transaction/work/work-transaction.form.d.ts.map +1 -0
  254. package/lib/forms/user/index.d.ts.map +1 -0
  255. package/lib/forms/user/password.form.d.ts.map +1 -0
  256. package/lib/forms/user/reset-password.form.d.ts.map +1 -0
  257. package/lib/forms/user/user-invite.form.d.ts.map +1 -0
  258. package/lib/forms/vehicle/index.d.ts.map +1 -0
  259. package/lib/forms/vehicle/vehicle-claim-details.form.d.ts.map +1 -0
  260. package/lib/forms/vehicle/vehicle-claim.form.d.ts.map +1 -0
  261. package/lib/forms/vehicle/vehicle-logbook.form.d.ts.map +1 -0
  262. package/lib/forms/vehicle/vehicle.form.d.ts.map +1 -0
  263. package/lib/functions/clone-deep.d.ts.map +1 -0
  264. package/lib/functions/create-date.d.ts.map +1 -0
  265. package/lib/functions/enum-to-list.d.ts.map +1 -0
  266. package/lib/functions/get-doc-icon.d.ts.map +1 -0
  267. package/lib/functions/mat-options-functions.d.ts.map +1 -0
  268. package/lib/functions/mat-sort-options.d.ts.map +1 -0
  269. package/lib/functions/round-to.d.ts.map +1 -0
  270. package/lib/functions/tax-review-filter-predicate.d.ts.map +1 -0
  271. package/lib/interceptors/basiq-client-id.interceptor.d.ts.map +1 -0
  272. package/lib/interceptors/basiq-token.interceptor.d.ts.map +1 -0
  273. package/lib/interceptors/interceptors.module.d.ts.map +1 -0
  274. package/lib/interceptors/jwt-interceptor.d.ts.map +1 -0
  275. package/lib/interceptors/preloader.interceptor.d.ts.map +1 -0
  276. package/lib/interceptors/user-switcher-interceptor.d.ts.map +1 -0
  277. package/lib/interfaces/asset.interface.d.ts.map +1 -0
  278. package/lib/interfaces/auth-tokens.interface.d.ts.map +1 -0
  279. package/lib/interfaces/chart-data.interface.d.ts.map +1 -0
  280. package/lib/interfaces/chart-serie.interface.d.ts.map +1 -0
  281. package/lib/interfaces/event-listener.interface.d.ts.map +1 -0
  282. package/lib/interfaces/expense.interface.d.ts.map +1 -0
  283. package/lib/interfaces/income-source-forecast.interface.d.ts.map +1 -0
  284. package/lib/interfaces/index.d.ts.map +1 -0
  285. package/lib/interfaces/option.interface.d.ts.map +1 -0
  286. package/lib/interfaces/receipt.interface.d.ts.map +1 -0
  287. package/lib/interfaces/table-exportable.interface.d.ts.map +1 -0
  288. package/lib/interfaces/tank.interface.d.ts.map +1 -0
  289. package/lib/interfaces/updatable.interface.d.ts.map +1 -0
  290. package/lib/models/account-setup/account-setup-item.d.ts.map +1 -0
  291. package/lib/models/account-setup/account-setup-items.const.d.ts.map +1 -0
  292. package/lib/models/account-setup/account-setup-items.enum.d.ts.map +1 -0
  293. package/lib/models/badge/badge-color.enum.d.ts.map +1 -0
  294. package/lib/models/badge/badge.d.ts.map +1 -0
  295. package/lib/models/bank/allocation-group.d.ts.map +1 -0
  296. package/lib/models/bank/bank-account-chart-data.d.ts.map +1 -0
  297. package/lib/models/bank/bank-account-property.d.ts.map +1 -0
  298. package/lib/models/bank/bank-account-types.const.d.ts.map +1 -0
  299. package/lib/models/bank/bank-account.d.ts.map +1 -0
  300. package/lib/models/bank/bank-connection.d.ts.map +1 -0
  301. package/lib/models/bank/bank-external-stats.d.ts.map +1 -0
  302. package/lib/models/bank/bank-login-data.d.ts.map +1 -0
  303. package/lib/models/bank/bank-transaction-chart-data.d.ts.map +1 -0
  304. package/lib/models/bank/bank-transaction-summary-fields.enum.d.ts.map +1 -0
  305. package/lib/models/bank/bank-transaction.d.ts.map +1 -0
  306. package/lib/models/bank/bank.d.ts.map +1 -0
  307. package/lib/models/bank/basiq/basiq-job-response.d.ts.map +1 -0
  308. package/lib/models/bank/basiq/basiq-job-step.d.ts.map +1 -0
  309. package/lib/models/bank/basiq/basiq-job.d.ts.map +1 -0
  310. package/lib/models/bank/basiq/basiq-token-response.interface.d.ts.map +1 -0
  311. package/lib/models/bank/basiq/basiq-token.d.ts.map +1 -0
  312. package/lib/models/bank/basiq/index.d.ts.map +1 -0
  313. package/lib/models/bank/index.d.ts.map +1 -0
  314. package/lib/models/bank/type-loan.const.d.ts.map +1 -0
  315. package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts.map +1 -0
  316. package/lib/models/borrowing-expense/borrowing-expense.d.ts.map +1 -0
  317. package/lib/models/borrowing-expense/index.d.ts.map +1 -0
  318. package/lib/models/chart/chart-data.d.ts.map +1 -0
  319. package/lib/models/chart/chart-serie.d.ts.map +1 -0
  320. package/lib/models/chart-accounts/chart-accounts-categories.const.d.ts.map +1 -0
  321. package/lib/models/chart-accounts/chart-accounts-category.e-collection.d.ts.map +1 -0
  322. package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts.map +1 -0
  323. package/lib/models/chart-accounts/chart-accounts-heading.d.ts.map +1 -0
  324. package/lib/models/chart-accounts/chart-accounts-meta-field.d.ts +8 -0
  325. package/lib/models/chart-accounts/chart-accounts-meta-field.d.ts.map +1 -0
  326. package/lib/models/chart-accounts/chart-accounts-tax-labels.enum.d.ts.map +1 -0
  327. package/lib/models/chart-accounts/chart-accounts-value.d.ts.map +1 -0
  328. package/lib/models/chart-accounts/chart-accounts.d.ts +4 -2
  329. package/lib/models/chart-accounts/chart-accounts.d.ts.map +1 -0
  330. package/lib/models/chart-accounts/index.d.ts +1 -1
  331. package/lib/models/chart-accounts/index.d.ts.map +1 -0
  332. package/lib/models/chat/chat-view-type.enum.d.ts.map +1 -0
  333. package/lib/models/chat/chat.d.ts.map +1 -0
  334. package/lib/models/chat/index.d.ts.map +1 -0
  335. package/lib/models/chat/message-document.d.ts.map +1 -0
  336. package/lib/models/chat/message.d.ts.map +1 -0
  337. package/lib/models/client/client-income-types.d.ts.map +1 -0
  338. package/lib/models/client/client-invite.d.ts.map +1 -0
  339. package/lib/models/client/client-movement.d.ts.map +1 -0
  340. package/lib/models/client/client-portfolio-chart-data.d.ts.map +1 -0
  341. package/lib/models/client/client-portfolio-report.d.ts.map +1 -0
  342. package/lib/models/color/alphabet-colors.enum.d.ts.map +1 -0
  343. package/lib/models/depreciation/depreciation-capital-project.d.ts.map +1 -0
  344. package/lib/models/depreciation/depreciation-forecast.d.ts.map +1 -0
  345. package/lib/models/depreciation/depreciation-group-item.d.ts.map +1 -0
  346. package/lib/models/depreciation/depreciation-group.d.ts.map +1 -0
  347. package/lib/models/depreciation/depreciation-group.enum.d.ts.map +1 -0
  348. package/lib/models/depreciation/depreciation-groups.const.d.ts.map +1 -0
  349. package/lib/models/depreciation/depreciation-lvp-rate.enum.d.ts.map +1 -0
  350. package/lib/models/depreciation/depreciation-receipt.d.ts.map +1 -0
  351. package/lib/models/depreciation/depreciation.d.ts.map +1 -0
  352. package/lib/models/depreciation/index.d.ts.map +1 -0
  353. package/lib/models/dictionary/dictionary.d.ts.map +1 -0
  354. package/lib/models/dictionary/index.d.ts.map +1 -0
  355. package/lib/models/document/document-api-url-prefix.enum.d.ts.map +1 -0
  356. package/lib/models/document/document-file-types.const.d.ts.map +1 -0
  357. package/lib/models/document/document-folder.d.ts.map +1 -0
  358. package/lib/models/document/document.d.ts.map +1 -0
  359. package/lib/models/document/index.d.ts.map +1 -0
  360. package/lib/models/employee/employee-invite.d.ts.map +1 -0
  361. package/lib/models/endpoint/endpoint.d.ts.map +1 -0
  362. package/lib/models/endpoint/endpoints.const.d.ts.map +1 -0
  363. package/lib/models/event/index.d.ts.map +1 -0
  364. package/lib/models/export/export-format.enum.d.ts.map +1 -0
  365. package/lib/models/export/export-row-data-type.enum.d.ts.map +1 -0
  366. package/lib/models/export/export-row.d.ts.map +1 -0
  367. package/lib/models/file/file.d.ts.map +1 -0
  368. package/lib/models/file/icons-file.enum.d.ts.map +1 -0
  369. package/lib/models/file/index.d.ts.map +1 -0
  370. package/lib/models/financial-year/financial-year.d.ts.map +1 -0
  371. package/lib/models/financial-year/index.d.ts.map +1 -0
  372. package/lib/models/financial-year/month-name-short.enum.d.ts.map +1 -0
  373. package/lib/models/financial-year/month-number.enum.d.ts.map +1 -0
  374. package/lib/models/financial-year/months.const.d.ts.map +1 -0
  375. package/lib/models/income-position/income-position.d.ts.map +1 -0
  376. package/lib/models/income-source/income-source-chart-data.d.ts.map +1 -0
  377. package/lib/models/income-source/income-source-forecast.d.ts.map +1 -0
  378. package/lib/models/income-source/income-source-type.d.ts.map +1 -0
  379. package/lib/models/income-source/income-source.d.ts.map +1 -0
  380. package/lib/models/income-source/salary-forecast.d.ts.map +1 -0
  381. package/lib/models/income-source/sole-forecast.d.ts.map +1 -0
  382. package/lib/models/index.d.ts.map +1 -0
  383. package/lib/models/loan/index.d.ts.map +1 -0
  384. package/lib/models/loan/loan-max-number-of-payments.enum.d.ts.map +1 -0
  385. package/lib/models/loan/loan.d.ts.map +1 -0
  386. package/lib/models/notification/index.d.ts.map +1 -0
  387. package/lib/models/notification/notification.d.ts.map +1 -0
  388. package/lib/models/pdf/pdf-orientation.enum.d.ts.map +1 -0
  389. package/lib/models/pdf/pdf-settings.d.ts.map +1 -0
  390. package/lib/models/property/calculation-form-item.d.ts.map +1 -0
  391. package/lib/models/property/calculation-form-type.enum.d.ts.map +1 -0
  392. package/lib/models/property/capital-costs-itmes.const.d.ts.map +1 -0
  393. package/lib/models/property/index.d.ts.map +1 -0
  394. package/lib/models/property/property-category-movement.d.ts.map +1 -0
  395. package/lib/models/property/property-category.d.ts.map +1 -0
  396. package/lib/models/property/property-document.d.ts.map +1 -0
  397. package/lib/models/property/property-equity-chart-data.d.ts.map +1 -0
  398. package/lib/models/property/property-equity-chart-item.d.ts.map +1 -0
  399. package/lib/models/property/property-equity-chart-type.enum.d.ts.map +1 -0
  400. package/lib/models/property/property-forecast.d.ts.map +1 -0
  401. package/lib/models/property/property-sale/index.d.ts +2 -2
  402. package/lib/models/property/property-sale/index.d.ts.map +1 -0
  403. package/lib/models/property/property-sale/property-sale-cost-base.d.ts.map +1 -0
  404. package/lib/models/property/property-sale/property-sale-tax-exemption-meta-field.d.ts +3 -0
  405. package/lib/models/property/property-sale/property-sale-tax-exemption-meta-field.d.ts.map +1 -0
  406. package/lib/models/property/property-sale/property-sale.d.ts +2 -2
  407. package/lib/models/property/property-sale/property-sale.d.ts.map +1 -0
  408. package/lib/models/property/property-sale/tax-exemption-meta-field.d.ts +3 -0
  409. package/lib/models/property/property-sale/tax-exemption-meta-field.d.ts.map +1 -0
  410. package/lib/models/property/property-sale/tax-exemption.d.ts.map +1 -0
  411. package/lib/models/property/property-share.d.ts.map +1 -0
  412. package/lib/models/property/property-subscription.d.ts.map +1 -0
  413. package/lib/models/property/property-valuation.d.ts.map +1 -0
  414. package/lib/models/property/property.d.ts.map +1 -0
  415. package/lib/models/property/share-filter-options.enum.d.ts.map +1 -0
  416. package/lib/models/registration-invite/registration-invite.d.ts.map +1 -0
  417. package/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.d.ts.map +1 -0
  418. package/lib/models/report/depreciation/depreciation-lvp-report-item.d.ts.map +1 -0
  419. package/lib/models/report/depreciation/depreciation-report-item.d.ts.map +1 -0
  420. package/lib/models/report/depreciation/index.d.ts.map +1 -0
  421. package/lib/models/report/index.d.ts.map +1 -0
  422. package/lib/models/report/my-tax/ato-links.d.ts.map +1 -0
  423. package/lib/models/report/my-tax/index.d.ts.map +1 -0
  424. package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.d.ts.map +1 -0
  425. package/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.d.ts.map +1 -0
  426. package/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.d.ts.map +1 -0
  427. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.d.ts.map +1 -0
  428. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.d.ts.map +1 -0
  429. package/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.d.ts.map +1 -0
  430. package/lib/models/report/my-tax/my-tax-cgt/cgt-exemption-and-rollover-code.enum.d.ts.map +1 -0
  431. package/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.d.ts.map +1 -0
  432. package/lib/models/report/my-tax/my-tax-deductions/deduction-clothing-type.enum.d.ts.map +1 -0
  433. package/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.d.ts.map +1 -0
  434. package/lib/models/report/my-tax/my-tax-deductions/deduction-self-education-type.enum.d.ts.map +1 -0
  435. package/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts.map +1 -0
  436. package/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.d.ts.map +1 -0
  437. package/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.d.ts.map +1 -0
  438. package/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.d.ts.map +1 -0
  439. package/lib/models/report/my-tax/my-tax-income-tests/my-tax-income-tests.d.ts.map +1 -0
  440. package/lib/models/report/my-tax/my-tax-interest/my-tax-interest.d.ts.map +1 -0
  441. package/lib/models/report/my-tax/my-tax-losses/my-tax-losses.d.ts.map +1 -0
  442. package/lib/models/report/my-tax/my-tax-offsets/my-tax-offsets.d.ts.map +1 -0
  443. package/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.d.ts.map +1 -0
  444. package/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.d.ts.map +1 -0
  445. package/lib/models/report/my-tax/my-tax-rent/my-tax-rent.d.ts.map +1 -0
  446. package/lib/models/report/property/index.d.ts.map +1 -0
  447. package/lib/models/report/property/property-report-item-depreciation.d.ts.map +1 -0
  448. package/lib/models/report/property/property-report-item-transaction.d.ts.map +1 -0
  449. package/lib/models/report/property/property-report-item.d.ts.map +1 -0
  450. package/lib/models/report/sole/index.d.ts.map +1 -0
  451. package/lib/models/report/sole/sole-business/sole-business-loss-report.d.ts.map +1 -0
  452. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts.map +1 -0
  453. package/lib/models/service-subscription/index.d.ts.map +1 -0
  454. package/lib/models/service-subscription/module-url-list.const.d.ts.map +1 -0
  455. package/lib/models/service-subscription/payment-method-brand.enum.d.ts.map +1 -0
  456. package/lib/models/service-subscription/service-payment-method.d.ts.map +1 -0
  457. package/lib/models/service-subscription/service-payment.d.ts.map +1 -0
  458. package/lib/models/service-subscription/service-subscription.d.ts.map +1 -0
  459. package/lib/models/service-subscription/stripe-promo-code.d.ts.map +1 -0
  460. package/lib/models/sole/bas-report.d.ts.map +1 -0
  461. package/lib/models/sole/index.d.ts.map +1 -0
  462. package/lib/models/sole/sole-business-activity.d.ts.map +1 -0
  463. package/lib/models/sole/sole-business-allocation.d.ts.map +1 -0
  464. package/lib/models/sole/sole-business-loss-offset-rule.d.ts.map +1 -0
  465. package/lib/models/sole/sole-business-loss.d.ts.map +1 -0
  466. package/lib/models/sole/sole-business.d.ts.map +1 -0
  467. package/lib/models/sole/sole-contact.d.ts.map +1 -0
  468. package/lib/models/sole/sole-depreciation-method.d.ts.map +1 -0
  469. package/lib/models/sole/sole-details.d.ts.map +1 -0
  470. package/lib/models/sole/sole-invoice-item.d.ts.map +1 -0
  471. package/lib/models/sole/sole-invoice-template.d.ts.map +1 -0
  472. package/lib/models/sole/sole-invoice.d.ts.map +1 -0
  473. package/lib/models/tax-review/tax-review.d.ts.map +1 -0
  474. package/lib/models/tax-summary/report-item-details.d.ts.map +1 -0
  475. package/lib/models/tax-summary/report-item.d.ts.map +1 -0
  476. package/lib/models/tax-summary/tax-summary-section.d.ts.map +1 -0
  477. package/lib/models/tax-summary/tax-summary-type.enum.d.ts.map +1 -0
  478. package/lib/models/tax-summary/tax-summary.d.ts.map +1 -0
  479. package/lib/models/toast/toast-type.enum.d.ts.map +1 -0
  480. package/lib/models/toast/toast.d.ts.map +1 -0
  481. package/lib/models/transaction/allocation-rule-condition.d.ts +7 -0
  482. package/lib/models/transaction/allocation-rule-condition.d.ts.map +1 -0
  483. package/lib/models/transaction/allocation-rule-transaction-meta-field.d.ts +3 -0
  484. package/lib/models/transaction/allocation-rule-transaction-meta-field.d.ts.map +1 -0
  485. package/lib/models/transaction/allocation-rule-transaction.d.ts +21 -0
  486. package/lib/models/transaction/allocation-rule-transaction.d.ts.map +1 -0
  487. package/lib/models/transaction/allocation-rule.d.ts +42 -0
  488. package/lib/models/transaction/allocation-rule.d.ts.map +1 -0
  489. package/lib/models/transaction/income-amount-type.enum.d.ts.map +1 -0
  490. package/lib/models/transaction/index.d.ts +4 -1
  491. package/lib/models/transaction/index.d.ts.map +1 -0
  492. package/lib/models/transaction/transaction-allocation.d.ts.map +1 -0
  493. package/lib/models/transaction/transaction-category.enum.d.ts.map +1 -0
  494. package/lib/models/transaction/transaction-meta-field.d.ts +5 -0
  495. package/lib/models/transaction/transaction-meta-field.d.ts.map +1 -0
  496. package/lib/models/transaction/transaction-receipt.d.ts.map +1 -0
  497. package/lib/models/transaction/transaction.d.ts +6 -6
  498. package/lib/models/transaction/transaction.d.ts.map +1 -0
  499. package/lib/models/user/index.d.ts.map +1 -0
  500. package/lib/models/user/my-account-history-initiated-by.enum.d.ts.map +1 -0
  501. package/lib/models/user/my-account-history-status.enum.d.ts.map +1 -0
  502. package/lib/models/user/my-account-history-type.enum.d.ts.map +1 -0
  503. package/lib/models/user/my-account-history.d.ts.map +1 -0
  504. package/lib/models/user/occupation.d.ts.map +1 -0
  505. package/lib/models/user/user-roles.const.d.ts.map +1 -0
  506. package/lib/models/user/user-to-register.d.ts.map +1 -0
  507. package/lib/models/user/user.d.ts.map +1 -0
  508. package/lib/models/user-event/user-event-setting-field.enum.d.ts.map +1 -0
  509. package/lib/models/user-event/user-event-setting.d.ts.map +1 -0
  510. package/lib/models/user-event/user-event-type-category.d.ts.map +1 -0
  511. package/lib/models/user-event/user-event-type.d.ts.map +1 -0
  512. package/lib/models/vehicle/index.d.ts.map +1 -0
  513. package/lib/models/vehicle/logbook-period.d.ts.map +1 -0
  514. package/lib/models/vehicle/vehicle-claim-details.d.ts.map +1 -0
  515. package/lib/models/vehicle/vehicle-claim.d.ts.map +1 -0
  516. package/lib/models/vehicle/vehicle-logbook.d.ts.map +1 -0
  517. package/lib/models/vehicle/vehicle.d.ts.map +1 -0
  518. package/lib/services/account-setup/account-setup.service.d.ts.map +1 -0
  519. package/lib/services/account-setup/index.d.ts.map +1 -0
  520. package/lib/services/affiliate/index.d.ts.map +1 -0
  521. package/lib/services/affiliate/rewardful/index.d.ts.map +1 -0
  522. package/lib/services/affiliate/rewardful/rewardful.service.d.ts.map +1 -0
  523. package/lib/services/asset/assets.service.d.ts.map +1 -0
  524. package/lib/services/asset/index.d.ts.map +1 -0
  525. package/lib/services/auth/auth.service.d.ts.map +1 -0
  526. package/lib/services/auth/index.d.ts.map +1 -0
  527. package/lib/services/auth/jwt.service.d.ts.map +1 -0
  528. package/lib/services/bank/bank-account-calculation.service.d.ts.map +1 -0
  529. package/lib/services/bank/bank-transaction-calculation.service.d.ts.map +1 -0
  530. package/lib/services/bank/index.d.ts.map +1 -0
  531. package/lib/services/export/export-formatter.service.d.ts.map +1 -0
  532. package/lib/services/export/index.d.ts.map +1 -0
  533. package/lib/services/header-title/header-title.service.d.ts.map +1 -0
  534. package/lib/services/header-title/index.d.ts.map +1 -0
  535. package/lib/services/http/address/address.service.d.ts.map +1 -0
  536. package/lib/services/http/address/index.d.ts.map +1 -0
  537. package/lib/services/http/bank/bank-account/bank-account.service.d.ts.map +1 -0
  538. package/lib/services/http/bank/bank-account/index.d.ts.map +1 -0
  539. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts.map +1 -0
  540. package/lib/services/http/bank/bank-connection/index.d.ts.map +1 -0
  541. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts.map +1 -0
  542. package/lib/services/http/bank/bank-transaction/index.d.ts.map +1 -0
  543. package/lib/services/http/bank/bank.service.d.ts.map +1 -0
  544. package/lib/services/http/bank/basiq/basiq-token.service.d.ts.map +1 -0
  545. package/lib/services/http/bank/basiq/basiq.service.d.ts.map +1 -0
  546. package/lib/services/http/bank/basiq/index.d.ts.map +1 -0
  547. package/lib/services/http/bank/index.d.ts.map +1 -0
  548. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts.map +1 -0
  549. package/lib/services/http/chart-accounts/chart-accounts-depreciations/index.d.ts.map +1 -0
  550. package/lib/services/http/chart-accounts/chart-accounts.service.d.ts.map +1 -0
  551. package/lib/services/http/chart-accounts/index.d.ts.map +1 -0
  552. package/lib/services/http/chat/chat.service.d.ts.map +1 -0
  553. package/lib/services/http/chat/index.d.ts.map +1 -0
  554. package/lib/services/http/chat/message-document.service.d.ts.map +1 -0
  555. package/lib/services/http/chat/message.service.d.ts.map +1 -0
  556. package/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.d.ts.map +1 -0
  557. package/lib/services/http/depreciation/depreciation-capital-project/index.d.ts.map +1 -0
  558. package/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.d.ts.map +1 -0
  559. package/lib/services/http/depreciation/depreciation-receipt/index.d.ts.map +1 -0
  560. package/lib/services/http/depreciation/depreciation.service.d.ts.map +1 -0
  561. package/lib/services/http/depreciation/index.d.ts.map +1 -0
  562. package/lib/services/http/document/document-folder/document-folder.service.d.ts.map +1 -0
  563. package/lib/services/http/document/document.service.d.ts.map +1 -0
  564. package/lib/services/http/document/index.d.ts.map +1 -0
  565. package/lib/services/http/facebook/facebook-auth-options.interface.d.ts.map +1 -0
  566. package/lib/services/http/facebook/facebook-auth-response.interface.d.ts.map +1 -0
  567. package/lib/services/http/facebook/facebook-status-response.interface.d.ts.map +1 -0
  568. package/lib/services/http/facebook/facebook.service.d.ts.map +1 -0
  569. package/lib/services/http/facebook/index.d.ts.map +1 -0
  570. package/lib/services/http/file/file.service.d.ts.map +1 -0
  571. package/lib/services/http/file/index.d.ts.map +1 -0
  572. package/lib/services/http/firm/client-income/client-income-types.service.d.ts.map +1 -0
  573. package/lib/services/http/firm/client-income/index.d.ts.map +1 -0
  574. package/lib/services/http/firm/client-invite/client-invite.service.d.ts.map +1 -0
  575. package/lib/services/http/firm/client-invite/index.d.ts.map +1 -0
  576. package/lib/services/http/firm/client-movement/client-movement.service.d.ts.map +1 -0
  577. package/lib/services/http/firm/client-movement/index.d.ts.map +1 -0
  578. package/lib/services/http/firm/employee/employee.service.d.ts.map +1 -0
  579. package/lib/services/http/firm/employee/index.d.ts.map +1 -0
  580. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts.map +1 -0
  581. package/lib/services/http/firm/employee-invite/index.d.ts.map +1 -0
  582. package/lib/services/http/firm/firm.service.d.ts.map +1 -0
  583. package/lib/services/http/firm/index.d.ts.map +1 -0
  584. package/lib/services/http/firm/portfolio-report/client-portfolio-report.service.d.ts.map +1 -0
  585. package/lib/services/http/firm/portfolio-report/index.d.ts.map +1 -0
  586. package/lib/services/http/google/google.service.d.ts.map +1 -0
  587. package/lib/services/http/google/index.d.ts.map +1 -0
  588. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts.map +1 -0
  589. package/lib/services/http/income-source/income-source-forecast/index.d.ts.map +1 -0
  590. package/lib/services/http/income-source/income-source.service.d.ts.map +1 -0
  591. package/lib/services/http/income-source/index.d.ts.map +1 -0
  592. package/lib/services/http/income-source/salary-forecast/index.d.ts.map +1 -0
  593. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts.map +1 -0
  594. package/lib/services/http/income-source/sole-forecast/index.d.ts.map +1 -0
  595. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts.map +1 -0
  596. package/lib/services/http/index.d.ts.map +1 -0
  597. package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts.map +1 -0
  598. package/lib/services/http/loan/borrowing-expense/index.d.ts.map +1 -0
  599. package/lib/services/http/loan/index.d.ts.map +1 -0
  600. package/lib/services/http/loan/loan.service.d.ts.map +1 -0
  601. package/lib/services/http/property/index.d.ts.map +1 -0
  602. package/lib/services/http/property/property-category/index.d.ts.map +1 -0
  603. package/lib/services/http/property/property-category/property-category.service.d.ts.map +1 -0
  604. package/lib/services/http/property/property-category-movement/index.d.ts.map +1 -0
  605. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts.map +1 -0
  606. package/lib/services/http/property/property-document/index.d.ts.map +1 -0
  607. package/lib/services/http/property/property-document/property-document.service.d.ts.map +1 -0
  608. package/lib/services/http/property/property-sale/index.d.ts.map +1 -0
  609. package/lib/services/http/property/property-sale/property-sale.service.d.ts.map +1 -0
  610. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts.map +1 -0
  611. package/lib/services/http/property/property-share/index.d.ts.map +1 -0
  612. package/lib/services/http/property/property-share/property-share.service.d.ts.map +1 -0
  613. package/lib/services/http/property/property.service.d.ts.map +1 -0
  614. package/lib/services/http/receipt/index.d.ts.map +1 -0
  615. package/lib/services/http/receipt/receipt.service.d.ts.map +1 -0
  616. package/lib/services/http/rest/http-method.type.d.ts.map +1 -0
  617. package/lib/services/http/rest/index.d.ts.map +1 -0
  618. package/lib/services/http/rest/rest-method.type.d.ts.map +1 -0
  619. package/lib/services/http/rest/rest-old.service.d.ts.map +1 -0
  620. package/lib/services/http/rest/rest.service.d.ts.map +1 -0
  621. package/lib/services/http/service-notification/index.d.ts.map +1 -0
  622. package/lib/services/http/service-notification/service-notification.service.d.ts.map +1 -0
  623. package/lib/services/http/sole/bas-report/bas-report.service.d.ts.map +1 -0
  624. package/lib/services/http/sole/index.d.ts.map +1 -0
  625. package/lib/services/http/sole/sole-business/messages.enum.d.ts.map +1 -0
  626. package/lib/services/http/sole/sole-business/sole-business.service.d.ts.map +1 -0
  627. package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts.map +1 -0
  628. package/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.d.ts.map +1 -0
  629. package/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts.map +1 -0
  630. package/lib/services/http/sole/sole-contact/sole-contact.service.d.ts.map +1 -0
  631. package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts.map +1 -0
  632. package/lib/services/http/sole/sole-details/sole-details.service.d.ts.map +1 -0
  633. package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts.map +1 -0
  634. package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts.map +1 -0
  635. package/lib/services/http/subscription/index.d.ts.map +1 -0
  636. package/lib/services/http/subscription/service-payment/service-payment.service.d.ts.map +1 -0
  637. package/lib/services/http/subscription/service-payment-method/service-payment-method.service.d.ts.map +1 -0
  638. package/lib/services/http/subscription/service-price/service-price.service.d.ts.map +1 -0
  639. package/lib/services/http/subscription/service-product/service-product.service.d.ts.map +1 -0
  640. package/lib/services/http/subscription/service-subscription/subscription.service.d.ts.map +1 -0
  641. package/lib/services/http/tax-review/index.d.ts.map +1 -0
  642. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts.map +1 -0
  643. package/lib/services/http/tax-review/tax-review.service.d.ts.map +1 -0
  644. package/lib/services/http/tax-summary/index.d.ts.map +1 -0
  645. package/lib/services/http/tax-summary/tax-summary.service.d.ts.map +1 -0
  646. package/lib/services/http/transaction/index.d.ts +1 -0
  647. package/lib/services/http/transaction/index.d.ts.map +1 -0
  648. package/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.d.ts +13 -0
  649. package/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.d.ts.map +1 -0
  650. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts.map +1 -0
  651. package/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.d.ts.map +1 -0
  652. package/lib/services/http/transaction/transaction.service.d.ts.map +1 -0
  653. package/lib/services/http/tutorial-video/index.d.ts.map +1 -0
  654. package/lib/services/http/tutorial-video/tutorial-video-response.interface.d.ts.map +1 -0
  655. package/lib/services/http/tutorial-video/tutorial-video.service.d.ts.map +1 -0
  656. package/lib/services/http/tutorial-video/video-source.interface.d.ts +1 -1
  657. package/lib/services/http/tutorial-video/video-source.interface.d.ts.map +1 -0
  658. package/lib/services/http/user/index.d.ts.map +1 -0
  659. package/lib/services/http/user/occupation/occupation.service.d.ts.map +1 -0
  660. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts.map +1 -0
  661. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts.map +1 -0
  662. package/lib/services/http/user/user.service.d.ts.map +1 -0
  663. package/lib/services/http/user/users-invite/users-invite.service.d.ts.map +1 -0
  664. package/lib/services/http/vehicle/index.d.ts.map +1 -0
  665. package/lib/services/http/vehicle/vehicle-claim-details.service.d.ts.map +1 -0
  666. package/lib/services/http/vehicle/vehicle-claim.service.d.ts.map +1 -0
  667. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts.map +1 -0
  668. package/lib/services/http/vehicle/vehicle.service.d.ts.map +1 -0
  669. package/lib/services/index.d.ts.map +1 -0
  670. package/lib/services/intercom/index.d.ts.map +1 -0
  671. package/lib/services/intercom/intercom.service.d.ts.map +1 -0
  672. package/lib/services/pdf/index.d.ts.map +1 -0
  673. package/lib/services/pdf/js-pdf.d.ts.map +1 -0
  674. package/lib/services/pdf/pdf-from-dom-element/file-settings.d.ts.map +1 -0
  675. package/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.d.ts.map +1 -0
  676. package/lib/services/pdf/pdf-from-table/file-settings.d.ts.map +1 -0
  677. package/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.d.ts.map +1 -0
  678. package/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.d.ts.map +1 -0
  679. package/lib/services/pdf/pdf-from-table/pdf-from-table.service.d.ts.map +1 -0
  680. package/lib/services/preloader/index.d.ts.map +1 -0
  681. package/lib/services/preloader/preloader.service.d.ts.map +1 -0
  682. package/lib/services/property/corelogic/index.d.ts.map +1 -0
  683. package/lib/services/property/equity-position-chart/equity-position-chart.service.d.ts.map +1 -0
  684. package/lib/services/property/equity-position-chart/index.d.ts.map +1 -0
  685. package/lib/services/property/index.d.ts.map +1 -0
  686. package/lib/services/property/property-calculation/index.d.ts.map +1 -0
  687. package/lib/services/property/property-calculation/property-calculation.service.d.ts.map +1 -0
  688. package/lib/services/report/index.d.ts.map +1 -0
  689. package/lib/services/report/property/property-transaction-report.service.d.ts.map +1 -0
  690. package/lib/services/toast/index.d.ts.map +1 -0
  691. package/lib/services/toast/toast.service.d.ts.map +1 -0
  692. package/lib/services/transaction/index.d.ts.map +1 -0
  693. package/lib/services/transaction/transaction-calculation.service.d.ts.map +1 -0
  694. package/lib/services/user/index.d.ts.map +1 -0
  695. package/lib/services/user/user-switcher.service.d.ts.map +1 -0
  696. package/lib/services/vehicle/index.d.ts.map +1 -0
  697. package/lib/services/vehicle/logbook-best-period.service.d.ts.map +1 -0
  698. package/lib/services/xlsx/index.d.ts.map +1 -0
  699. package/lib/services/xlsx/xlsx.service.d.ts.map +1 -0
  700. package/lib/tt-core.module.d.ts.map +1 -0
  701. package/lib/validators/address-corelogic.validator.d.ts.map +1 -0
  702. package/lib/validators/at-least-one-enabled.validator.d.ts.map +1 -0
  703. package/lib/validators/at-least-one.validator.d.ts.map +1 -0
  704. package/lib/validators/autocomplete.validator.d.ts.map +1 -0
  705. package/lib/validators/conditional.validator.d.ts.map +1 -0
  706. package/lib/validators/current-fin-year.validator.d.ts.map +1 -0
  707. package/lib/validators/date-range.validator.d.ts.map +1 -0
  708. package/lib/validators/fields-sum.validator.d.ts.map +1 -0
  709. package/lib/validators/file.validator.d.ts.map +1 -0
  710. package/lib/validators/index.d.ts.map +1 -0
  711. package/lib/validators/min-date/messages.enum.d.ts.map +1 -0
  712. package/lib/validators/min-date/min-date.validator.d.ts.map +1 -0
  713. package/lib/validators/password-match.validator.d.ts.map +1 -0
  714. package/lib/validators/password.validator.d.ts.map +1 -0
  715. package/lib/validators/phone-number.validator.d.ts.map +1 -0
  716. package/lib/validators/required-length.validator.d.ts.map +1 -0
  717. package/package.json +1 -1
  718. package/public-api.d.ts +4 -4
  719. package/public-api.d.ts.map +1 -0
  720. package/taxtank-core.d.ts.map +1 -0
  721. package/esm2020/lib/collections/property/property-sale/property-sale-tax-exemption-metadata.collection.mjs +0 -17
  722. package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-metadata-list.enum.mjs +0 -19
  723. package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-metadata-type.enum.mjs +0 -6
  724. package/esm2020/lib/db/Enums/property/property-sale/tax-exemption-metadata.enum.mjs +0 -9
  725. package/esm2020/lib/db/Models/bank/bank-transaction-rule.mjs +0 -4
  726. package/esm2020/lib/db/Models/chart-accounts/chart-accounts-metadata.mjs +0 -4
  727. package/esm2020/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.mjs +0 -4
  728. package/esm2020/lib/db/Models/property/property-sale/tax-exemption-metadata.mjs +0 -4
  729. package/esm2020/lib/db/Models/transaction/transaction-metadata.mjs +0 -4
  730. package/esm2020/lib/models/chart-accounts/chart-accounts-metadata.mjs +0 -14
  731. package/esm2020/lib/models/property/property-sale/property-sale-tax-exemption-metadata.mjs +0 -4
  732. package/esm2020/lib/models/property/property-sale/tax-exemption-metadata.mjs +0 -4
  733. package/esm2020/lib/models/transaction/transaction-metadata.mjs +0 -10
  734. package/lib/collections/property/property-sale/property-sale-tax-exemption-metadata.collection.d.ts +0 -8
  735. package/lib/db/Enums/chart-accounts/chart-accounts-metadata-type.enum.d.ts +0 -4
  736. package/lib/db/Models/bank/bank-transaction-rule.d.ts +0 -26
  737. package/lib/db/Models/chart-accounts/chart-accounts-metadata.d.ts +0 -11
  738. package/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +0 -9
  739. package/lib/models/chart-accounts/chart-accounts-metadata.d.ts +0 -8
  740. package/lib/models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +0 -3
  741. package/lib/models/property/property-sale/tax-exemption-metadata.d.ts +0 -3
  742. package/lib/models/transaction/transaction-metadata.d.ts +0 -5
@@ -1,7 +1,7 @@
1
1
  import { AbstractForm } from '../../abstract.form';
2
2
  import { PropertySale } from '../../../models/property/property-sale';
3
3
  import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
4
- import { TaxExemptionMetadataEnum } from '../../../db/Enums/property/property-sale/tax-exemption-metadata.enum';
4
+ import { TaxExemptionMetaFieldEnum } from '../../../db/Enums/property/property-sale/tax-exemption-meta-field.enum';
5
5
  import { plainToClass } from 'class-transformer';
6
6
  /**
7
7
  * @Todo TT-2143 Create and extend from abstract PropertySale form
@@ -10,14 +10,14 @@ export class PropertySaleExemptionsForm extends AbstractForm {
10
10
  constructor(propertySale, property, taxExemptions) {
11
11
  super({
12
12
  taxExemption: new UntypedFormControl(taxExemptions.findBy('id', propertySale.taxExemption?.id ?? property.getCGTExemption(propertySale))),
13
- taxExemptionMetadata: new UntypedFormArray([]),
13
+ taxExemptionMetaFields: new UntypedFormArray([]),
14
14
  netCGT: new UntypedFormControl(propertySale.netCGT)
15
15
  }, propertySale);
16
16
  this.propertySale = propertySale;
17
17
  this.property = property;
18
18
  this.taxExemptions = taxExemptions;
19
19
  if (propertySale.taxExemption) {
20
- this.setFormMetadataControls();
20
+ this.setFormMetaFieldsControls();
21
21
  }
22
22
  this.updateNetCGT();
23
23
  this.listenEvents();
@@ -37,38 +37,38 @@ export class PropertySaleExemptionsForm extends AbstractForm {
37
37
  listenTaxExemptionUpdated() {
38
38
  this.get('taxExemption').valueChanges.subscribe((taxExemption) => {
39
39
  this.updateNetCGT();
40
- this.setFormMetadataControls(taxExemption);
40
+ this.setFormMetaFieldsControls(taxExemption);
41
41
  });
42
42
  }
43
43
  /**
44
- * show metadata related to passed tax exemption or existing property sale metadata
44
+ * show meta fields related to passed tax exemption or existing property sale meta fields
45
45
  */
46
- setFormMetadataControls(taxExemption) {
46
+ setFormMetaFieldsControls(taxExemption) {
47
47
  // use property sale tax exemption if it exists to preselect data
48
48
  const currentTaxExemption = this.propertySale.taxExemption ?
49
49
  this.taxExemptions.findBy('id', this.propertySale.taxExemption.id) :
50
50
  taxExemption;
51
- const formArray = this.get('taxExemptionMetadata');
51
+ const formArray = this.get('taxExemptionMetaFields');
52
52
  // clean up
53
53
  formArray.clear();
54
- // show all tax exemption metadata fields
55
- currentTaxExemption.metadata.forEach((metadata) => {
56
- // use property sale tax exemption metadata value if it exists
57
- const metadataValue = this.propertySale.taxExemption ?
58
- this.propertySale.taxExemptionMetadata
59
- .find((saleMetadata) => saleMetadata.metadata.id === metadata.id).value :
54
+ // show all tax exemption meta fields
55
+ currentTaxExemption.metaFields.forEach((metaField) => {
56
+ // use property sale tax exemption meta field value if it exists
57
+ const metaFieldValue = this.propertySale.taxExemption ?
58
+ this.propertySale.taxExemptionMetaFields
59
+ .find((saleMetaField) => saleMetaField.metaField.id === metaField.id).value :
60
60
  null;
61
61
  const validators = [
62
62
  // claim percent is optional
63
- metadata.id !== TaxExemptionMetadataEnum.CLAIM_PERCENT && Validators.required,
63
+ metaField.id !== TaxExemptionMetaFieldEnum.CLAIM_PERCENT && Validators.required,
64
64
  // ppr days can't be more than ownership days
65
- metadata.id === TaxExemptionMetadataEnum.PPR_DAYS && Validators.max(this.property.getOwnershipDuration(this.propertySale))
65
+ metaField.id === TaxExemptionMetaFieldEnum.PPR_DAYS && Validators.max(this.property.getOwnershipDuration(this.propertySale))
66
66
  ].filter(Boolean);
67
67
  formArray.push(new UntypedFormGroup({
68
- metadata: new UntypedFormControl(metadata),
69
- value: new UntypedFormControl(metadataValue, validators)
68
+ metaField: new UntypedFormControl(metaField),
69
+ value: new UntypedFormControl(metaFieldValue, validators)
70
70
  }));
71
71
  });
72
72
  }
73
73
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS1leGVtcHRpb25zLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLWV4ZW1wdGlvbnMuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsWUFBMEI7SUFDeEUsWUFDVSxZQUEwQixFQUMxQixRQUFrQixFQUNsQixhQUF1QztRQUUvQyxLQUFLLENBQUM7WUFDRixZQUFZLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDekksb0JBQW9CLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUNwRCxFQUNELFlBQVksQ0FDYixDQUFDO1FBVk0saUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixrQkFBYSxHQUFiLGFBQWEs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cG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgeyBUYXhFeGVtcHRpb25NZXRhZGF0YUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24tbWV0YWRhdGEuZW51bSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7XG4gIFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFkYXRhXG59IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUtdGF4LWV4ZW1wdGlvbi1tZXRhZGF0YSc7XG5cbi8qKlxuICogQFRvZG8gVFQtMjE0MyBDcmVhdGUgYW5kIGV4dGVuZCBmcm9tIGFic3RyYWN0IFByb3BlcnR5U2FsZSBmb3JtXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNhbGVFeGVtcHRpb25zRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQcm9wZXJ0eVNhbGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb3BlcnR5U2FsZTogUHJvcGVydHlTYWxlLFxuICAgIHByaXZhdGUgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIHByaXZhdGUgdGF4RXhlbXB0aW9uczogQ29sbGVjdGlvbjxUYXhFeGVtcHRpb24+LFxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICAgIHRheEV4ZW1wdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0YXhFeGVtcHRpb25zLmZpbmRCeSgnaWQnLCBwcm9wZXJ0eVNhbGUudGF4RXhlbXB0aW9uPy5pZCA/PyBwcm9wZXJ0eS5nZXRDR1RFeGVtcHRpb24ocHJvcGVydHlTYWxlKSkpLFxuICAgICAgICB0YXhFeGVtcHRpb25NZXRhZGF0YTogbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pLFxuICAgICAgICBuZXRDR1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocHJvcGVydHlTYWxlLm5ldENHVClcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0eVNhbGVcbiAgICApO1xuXG4gICAgaWYgKHByb3BlcnR5U2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHRoaXMuc2V0Rm9ybU1ldGFkYXRhQ29udHJvbHMoKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZU5ldENHVCgpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVGF4RXhlbXB0aW9uVXBkYXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIFRULTIxNDMgTW92ZSB0byBwYXJlbnQgYWJzdHJhY3QgUHJvcGVydHlTYWxlIGZvcm1cbiAgICovXG4gIGdldFByb3BlcnR5U2FsZSgpOiBQcm9wZXJ0eVNhbGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoUHJvcGVydHlTYWxlLCBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BlcnR5U2FsZSwgdGhpcy5nZXRSYXdWYWx1ZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5ldENHVCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnbmV0Q0dUJykuc2V0VmFsdWUodGhpcy5wcm9wZXJ0eS5jYWxjdWxhdGVOZXRDR1QodGhpcy5nZXRQcm9wZXJ0eVNhbGUoKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5UYXhFeGVtcHRpb25VcGRhdGVkKCkge1xuICAgIHRoaXMuZ2V0KCd0YXhFeGVtcHRpb24nKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0YXhFeGVtcHRpb246IFRheEV4ZW1wdGlvbikgPT4ge1xuICAgICAgdGhpcy51cGRhdGVOZXRDR1QoKTtcbiAgICAgIHRoaXMuc2V0Rm9ybU1ldGFkYXRhQ29udHJvbHModGF4RXhlbXB0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzaG93IG1ldGFkYXRhIHJlbGF0ZWQgdG8gcGFzc2VkIHRheCBleGVtcHRpb24gb3IgZXhpc3RpbmcgcHJvcGVydHkgc2FsZSBtZXRhZGF0YVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRGb3JtTWV0YWRhdGFDb250cm9scyh0YXhFeGVtcHRpb24/OiBUYXhFeGVtcHRpb24pOiB2b2lkIHtcbiAgICAvLyB1c2UgcHJvcGVydHkgc2FsZSB0YXggZXhlbXB0aW9uIGlmIGl0IGV4aXN0cyB0byBwcmVzZWxlY3QgZGF0YVxuICAgIGNvbnN0IGN1cnJlbnRUYXhFeGVtcHRpb246IFRheEV4ZW1wdGlvbiA9IHRoaXMucHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbiA/XG4gICAgICB0aGlzLnRheEV4ZW1wdGlvbnMuZmluZEJ5KCdpZCcsIHRoaXMucHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbi5pZCkgOlxuICAgICAgdGF4RXhlbXB0aW9uO1xuXG4gICAgY29uc3QgZm9ybUFycmF5OiBVbnR5cGVkRm9ybUFycmF5ID0gdGhpcy5nZXQoJ3RheEV4ZW1wdGlvbk1ldGFkYXRhJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgICAvLyBjbGVhbiB1cFxuICAgIGZvcm1BcnJheS5jbGVhcigpO1xuICAgIC8vIHNob3cgYWxsIHRheCBleGVtcHRpb24gbWV0YWRhdGEgZmllbGRzXG4gICAgY3VycmVudFRheEV4ZW1wdGlvbi5tZXRhZGF0YS5mb3JFYWNoKChtZXRhZGF0YTogVGF4RXhlbXB0aW9uTWV0YWRhdGEpID0+IHtcblxuICAgICAgLy8gdXNlIHByb3BlcnR5IHNhbGUgdGF4IGV4ZW1wdGlvbiBtZXRhZGF0YSB2YWx1ZSBpZiBpdCBleGlzdHNcbiAgICAgIGNvbnN0IG1ldGFkYXRhVmFsdWU6IG51bWJlciA9IHRoaXMucHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbiA/XG4gICAgICAgIHRoaXMucHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbk1ldGFkYXRhXG4gICAgICAgICAgLmZpbmQoKHNhbGVNZXRhZGF0YTogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGEpID0+IHNhbGVNZXRhZGF0YS5tZXRhZGF0YS5pZCA9PT0gbWV0YWRhdGEuaWQpLnZhbHVlIDpcbiAgICAgICAgbnVsbDtcblxuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IFtcbiAgICAgICAgLy8gY2xhaW0gcGVyY2VudCBpcyBvcHRpb25hbFxuICAgICAgICBtZXRhZGF0YS5pZCAhPT0gVGF4RXhlbXB0aW9uTWV0YWRhdGFFbnVtLkNMQUlNX1BFUkNFTlQgJiYgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgLy8gcHByIGRheXMgY2FuJ3QgYmUgbW9yZSB0aGFuIG93bmVyc2hpcCBkYXlzXG4gICAgICAgIG1ldGFkYXRhLmlkID09PSBUYXhFeGVtcHRpb25NZXRhZGF0YUVudW0uUFBSX0RBWVMgJiYgVmFsaWRhdG9ycy5tYXgodGhpcy5wcm9wZXJ0eS5nZXRPd25lcnNoaXBEdXJhdGlvbih0aGlzLnByb3BlcnR5U2FsZSkpXG4gICAgICBdLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgZm9ybUFycmF5LnB1c2goXG4gICAgICAgIG5ldyBVbnR5cGVkRm9ybUdyb3VwKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1ldGFkYXRhOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG1ldGFkYXRhKSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG1ldGFkYXRhVmFsdWUsIHZhbGlkYXRvcnMpXG4gICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS1leGVtcHRpb25zLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLWV4ZW1wdGlvbnMuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUVuSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsWUFBMEI7SUFDeEUsWUFDVSxZQUEwQixFQUMxQixRQUFrQixFQUNsQixhQUF1QztRQUUvQyxLQUFLLENBQUM7WUFDRixZQUFZLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDekksc0JBQXNCLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUNwRCxFQUNELFlBQVksQ0FDYixDQUFDO1FBVk0saUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixrQkFBYSxHQUFiLGFBQWEs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cG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uTWV0YUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uTWV0YUZpZWxkRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi1tZXRhLWZpZWxkLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1xuICBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRcbn0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS10YXgtZXhlbXB0aW9uLW1ldGEtZmllbGQnO1xuXG4vKipcbiAqIEBUb2RvIFRULTIxNDMgQ3JlYXRlIGFuZCBleHRlbmQgZnJvbSBhYnN0cmFjdCBQcm9wZXJ0eVNhbGUgZm9ybVxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlTYWxlRXhlbXB0aW9uc0Zvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08UHJvcGVydHlTYWxlPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVNhbGU6IFByb3BlcnR5U2FsZSxcbiAgICBwcml2YXRlIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICBwcml2YXRlIHRheEV4ZW1wdGlvbnM6IENvbGxlY3Rpb248VGF4RXhlbXB0aW9uPixcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgICB0YXhFeGVtcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGF4RXhlbXB0aW9ucy5maW5kQnkoJ2lkJywgcHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbj8uaWQgPz8gcHJvcGVydHkuZ2V0Q0dURXhlbXB0aW9uKHByb3BlcnR5U2FsZSkpKSxcbiAgICAgICAgdGF4RXhlbXB0aW9uTWV0YUZpZWxkczogbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pLFxuICAgICAgICBuZXRDR1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocHJvcGVydHlTYWxlLm5ldENHVClcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0eVNhbGVcbiAgICApO1xuXG4gICAgaWYgKHByb3BlcnR5U2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHRoaXMuc2V0Rm9ybU1ldGFGaWVsZHNDb250cm9scygpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlTmV0Q0dUKCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5UYXhFeGVtcHRpb25VcGRhdGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gVFQtMjE0MyBNb3ZlIHRvIHBhcmVudCBhYnN0cmFjdCBQcm9wZXJ0eVNhbGUgZm9ybVxuICAgKi9cbiAgZ2V0UHJvcGVydHlTYWxlKCk6IFByb3BlcnR5U2FsZSB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhQcm9wZXJ0eVNhbGUsIE9iamVjdC5hc3NpZ24oe30sIHRoaXMucHJvcGVydHlTYWxlLCB0aGlzLmdldFJhd1ZhbHVlKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTmV0Q0dUKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCduZXRDR1QnKS5zZXRWYWx1ZSh0aGlzLnByb3BlcnR5LmNhbGN1bGF0ZU5ldENHVCh0aGlzLmdldFByb3BlcnR5U2FsZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRheEV4ZW1wdGlvblVwZGF0ZWQoKSB7XG4gICAgdGhpcy5nZXQoJ3RheEV4ZW1wdGlvbicpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRheEV4ZW1wdGlvbjogVGF4RXhlbXB0aW9uKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZU5ldENHVCgpO1xuICAgICAgdGhpcy5zZXRGb3JtTWV0YUZpZWxkc0NvbnRyb2xzKHRheEV4ZW1wdGlvbik7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogc2hvdyBtZXRhIGZpZWxkcyByZWxhdGVkIHRvIHBhc3NlZCB0YXggZXhlbXB0aW9uIG9yIGV4aXN0aW5nIHByb3BlcnR5IHNhbGUgbWV0YSBmaWVsZHNcbiAgICovXG4gIHByaXZhdGUgc2V0Rm9ybU1ldGFGaWVsZHNDb250cm9scyh0YXhFeGVtcHRpb24/OiBUYXhFeGVtcHRpb24pOiB2b2lkIHtcbiAgICAvLyB1c2UgcHJvcGVydHkgc2FsZSB0YXggZXhlbXB0aW9uIGlmIGl0IGV4aXN0cyB0byBwcmVzZWxlY3QgZGF0YVxuICAgIGNvbnN0IGN1cnJlbnRUYXhFeGVtcHRpb246IFRheEV4ZW1wdGlvbiA9IHRoaXMucHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbiA/XG4gICAgICB0aGlzLnRheEV4ZW1wdGlvbnMuZmluZEJ5KCdpZCcsIHRoaXMucHJvcGVydHlTYWxlLnRheEV4ZW1wdGlvbi5pZCkgOlxuICAgICAgdGF4RXhlbXB0aW9uO1xuXG4gICAgY29uc3QgZm9ybUFycmF5OiBVbnR5cGVkRm9ybUFycmF5ID0gdGhpcy5nZXQoJ3RheEV4ZW1wdGlvbk1ldGFGaWVsZHMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICAgIC8vIGNsZWFuIHVwXG4gICAgZm9ybUFycmF5LmNsZWFyKCk7XG4gICAgLy8gc2hvdyBhbGwgdGF4IGV4ZW1wdGlvbiBtZXRhIGZpZWxkc1xuICAgIGN1cnJlbnRUYXhFeGVtcHRpb24ubWV0YUZpZWxkcy5mb3JFYWNoKChtZXRhRmllbGQ6IFRheEV4ZW1wdGlvbk1ldGFGaWVsZCkgPT4ge1xuXG4gICAgICAvLyB1c2UgcHJvcGVydHkgc2FsZSB0YXggZXhlbXB0aW9uIG1ldGEgZmllbGQgdmFsdWUgaWYgaXQgZXhpc3RzXG4gICAgICBjb25zdCBtZXRhRmllbGRWYWx1ZTogbnVtYmVyID0gdGhpcy5wcm9wZXJ0eVNhbGUudGF4RXhlbXB0aW9uID9cbiAgICAgICAgdGhpcy5wcm9wZXJ0eVNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkc1xuICAgICAgICAgIC5maW5kKChzYWxlTWV0YUZpZWxkOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGQpID0+IHNhbGVNZXRhRmllbGQubWV0YUZpZWxkLmlkID09PSBtZXRhRmllbGQuaWQpLnZhbHVlIDpcbiAgICAgICAgbnVsbDtcblxuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IFtcbiAgICAgICAgLy8gY2xhaW0gcGVyY2VudCBpcyBvcHRpb25hbFxuICAgICAgICBtZXRhRmllbGQuaWQgIT09IFRheEV4ZW1wdGlvbk1ldGFGaWVsZEVudW0uQ0xBSU1fUEVSQ0VOVCAmJiBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAvLyBwcHIgZGF5cyBjYW4ndCBiZSBtb3JlIHRoYW4gb3duZXJzaGlwIGRheXNcbiAgICAgICAgbWV0YUZpZWxkLmlkID09PSBUYXhFeGVtcHRpb25NZXRhRmllbGRFbnVtLlBQUl9EQVlTICYmIFZhbGlkYXRvcnMubWF4KHRoaXMucHJvcGVydHkuZ2V0T3duZXJzaGlwRHVyYXRpb24odGhpcy5wcm9wZXJ0eVNhbGUpKVxuICAgICAgXS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgIGZvcm1BcnJheS5wdXNoKFxuICAgICAgICBuZXcgVW50eXBlZEZvcm1Hcm91cChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBtZXRhRmllbGQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobWV0YUZpZWxkKSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG1ldGFGaWVsZFZhbHVlLCB2YWxpZGF0b3JzKVxuICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { UntypedFormControl, Validators } from '@angular/forms';
5
+ export class AllocationRuleConditionForm extends AbstractForm {
6
+ constructor(condition = plainToClass(AllocationRuleCondition, {})) {
7
+ super({
8
+ field: new UntypedFormControl(condition.field, Validators.required),
9
+ comparisonOperator: new UntypedFormControl(condition.comparisonOperator, Validators.required),
10
+ value: new UntypedFormControl(condition.value, Validators.required)
11
+ }, condition);
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsWUFBcUM7SUFDcEYsWUFDRSxZQUFxQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDO1FBRTlFLEtBQUssQ0FBQztZQUNKLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRSxrQkFBa0IsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzdGLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08QWxsb2NhdGlvblJ1bGVDb25kaXRpb24+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiA9IHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZpZWxkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNvbmRpdGlvbi5maWVsZCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY29uZGl0aW9uLmNvbXBhcmlzb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB2YWx1ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjb25kaXRpb24udmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgfSwgY29uZGl0aW9uKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,12 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { AllocationRuleTransactionMetaField } from '../../models';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { UntypedFormControl } from '@angular/forms';
5
+ export class AllocationRuleTransactionMetaFieldForm extends AbstractForm {
6
+ constructor(metaField = plainToClass(AllocationRuleTransactionMetaField, {})) {
7
+ super({
8
+ value: new UntypedFormControl(metaField.value)
9
+ }, metaField);
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLW1ldGEtZmllbGQuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24tbWV0YS1maWVsZC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBELE1BQU0sT0FBTyxzQ0FBdUMsU0FBUSxZQUFnRDtJQUMxRyxZQUNFLFlBQWdELFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxFQUFFLENBQUM7UUFFcEcsS0FBSyxDQUFDO1lBQ0osS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztTQUMvQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCA9IHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkLCB7fSlcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdmFsdWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobWV0YUZpZWxkLnZhbHVlKVxuICAgIH0sIG1ldGFGaWVsZCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,125 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { AllocationRuleTransactionMetaField } from '../../models';
3
+ import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
4
+ import { conditionalValidator } from '../../validators';
5
+ import { AllocationRuleTransactionMetaFieldForm } from './allocation-rule-transaction-meta-field.form';
6
+ import { IncomeSource } from '../../models/income-source/income-source';
7
+ import { plainToClass } from 'class-transformer';
8
+ /**
9
+ * @TODO Alex: extend transaction form(s) when transaction forms refactored
10
+ */
11
+ export class AllocationRuleTransactionForm extends AbstractForm {
12
+ constructor(transaction,
13
+ // Flag to enable transaction GST field
14
+ isGST) {
15
+ super({
16
+ amount: new UntypedFormControl(null),
17
+ tax: new UntypedFormControl(transaction.tax || 0, Validators.required),
18
+ claimPercent: new UntypedFormControl(transaction.claimPercent || 100, [Validators.required, Validators.min(0), Validators.max(100)]),
19
+ chartAccounts: new UntypedFormControl(transaction.chartAccounts, Validators.required),
20
+ isGST: new UntypedFormControl({ value: transaction.isGST || false, disabled: !isGST }),
21
+ loan: new UntypedFormControl(transaction.loan),
22
+ incomeSource: new UntypedFormControl(transaction.incomeSource, conditionalValidator(() => transaction.chartAccounts?.isWorkIncome(), Validators.required)),
23
+ metaFields: new UntypedFormArray((transaction.metaFields || []).map((metaField) => new AllocationRuleTransactionMetaFieldForm(metaField))),
24
+ business: new UntypedFormControl(transaction.business, Validators.required),
25
+ property: new UntypedFormControl(transaction.property, Validators.required),
26
+ // Show null as default value for new transaction to avoid preselecting of not allowed tank types
27
+ tankType: new UntypedFormControl(transaction.id ? transaction.tankType : null, Validators.required),
28
+ childTransactions: new UntypedFormArray((transaction.childTransactions || []).map((childTransaction) => new UntypedFormGroup({
29
+ chartAccounts: new UntypedFormControl(childTransaction.chartAccounts, Validators.required),
30
+ amount: new UntypedFormControl(childTransaction.amount, Validators.required)
31
+ })))
32
+ }, transaction);
33
+ this.listenEvents();
34
+ }
35
+ /**
36
+ * @TODO Alex: move to abstract form, universal method getArray(arrayName)
37
+ */
38
+ get metaFieldsArray() {
39
+ return this.get('metaFields');
40
+ }
41
+ get childTransactionsArray() {
42
+ return this.get('childTransactions');
43
+ }
44
+ addChildTransactionForm() {
45
+ this.childTransactionsArray.push(new UntypedFormGroup({
46
+ chartAccounts: new UntypedFormControl(null, Validators.required),
47
+ amount: new UntypedFormControl(null, Validators.required)
48
+ }));
49
+ }
50
+ submit() {
51
+ const data = {
52
+ metaFields: this.metaFieldsArray.controls.map((metaFieldForm) => metaFieldForm.submit())
53
+ };
54
+ return super.submit(data);
55
+ }
56
+ listenEvents() {
57
+ this.listenChartAccountsChanges();
58
+ this.listenTankTypeChanges();
59
+ this.listenIncomeSourceChanges();
60
+ this.listenPropertyChanges();
61
+ }
62
+ listenChartAccountsChanges() {
63
+ this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
64
+ this.get('incomeSource').removeValidators(Validators.required);
65
+ if (!chartAccounts) {
66
+ return;
67
+ }
68
+ this.updateClaimPercent();
69
+ // User have to select income source for work income
70
+ if (chartAccounts.isWorkIncome()) {
71
+ this.get('incomeSource').setValidators(Validators.required);
72
+ }
73
+ // Rebuild meta fields
74
+ this.metaFieldsArray.clear();
75
+ chartAccounts.metaFields.forEach((chartAccountsMetaField) => {
76
+ this.metaFieldsArray.push(new AllocationRuleTransactionMetaFieldForm(plainToClass(AllocationRuleTransactionMetaField, { chartAccountsMetaField })));
77
+ });
78
+ });
79
+ }
80
+ /**
81
+ * Child transaction allowance depends on tank type.
82
+ * Also chart accounts are different, so we just reset child transactions when tank type changed
83
+ */
84
+ listenTankTypeChanges() {
85
+ this.get('tankType').valueChanges.subscribe(() => {
86
+ this.childTransactionsArray.reset();
87
+ });
88
+ }
89
+ /**
90
+ * Set tax automatically when salary income source selected
91
+ */
92
+ listenIncomeSourceChanges() {
93
+ this.get('incomeSource').valueChanges.subscribe((incomeSource) => {
94
+ if (!incomeSource) {
95
+ this.get('tax').setValue(0);
96
+ return;
97
+ }
98
+ // prefill salary tax with its income source forecast
99
+ if (incomeSource instanceof IncomeSource && incomeSource.isSalaryIncome() && !this.get('tax').value) {
100
+ this.get('tax').setValue(incomeSource.salaryForecasts[0].taxWithheld);
101
+ }
102
+ });
103
+ }
104
+ listenPropertyChanges() {
105
+ this.get('property').valueChanges.subscribe(() => {
106
+ this.updateClaimPercent();
107
+ });
108
+ }
109
+ /**
110
+ * Update claim percent value and state depends on business logic
111
+ */
112
+ updateClaimPercent() {
113
+ const claimPercentControl = this.get('claimPercent');
114
+ // claim percent is changeable only for work and sole expenses except vehicle and personal
115
+ claimPercentControl.disable();
116
+ if (!this.currentValue.chartAccounts) {
117
+ return;
118
+ }
119
+ if (this.currentValue.chartAccounts.isClaimPercentEditable()) {
120
+ claimPercentControl.enable();
121
+ }
122
+ claimPercentControl.setValue(this.currentValue.calculateClaimPercent());
123
+ }
124
+ }
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFHTCxrQ0FBa0MsRUFHbkMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsWUFBdUM7SUFDeEYsWUFDRSxXQUFzQztJQUN0Qyx1Q0FBdUM7SUFDdkMsS0FBYztRQUVkLEtBQUssQ0FBQztZQUNKLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUNwQyxHQUFHLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxZQUFZLElBQUksR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVB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LENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO1lBQzVELG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzlCO1FBRUQsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgQ2hhcnRBY2NvdW50cyxcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCxcbiAgUHJvcGVydHlcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbmRpdGlvbmFsVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLW1ldGEtZmllbGQuZm9ybSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5cbi8qKlxuICogQFRPRE8gQWxleDogZXh0ZW5kIHRyYW5zYWN0aW9uIGZvcm0ocykgd2hlbiB0cmFuc2FjdGlvbiBmb3JtcyByZWZhY3RvcmVkXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb246IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sXG4gICAgLy8gRmxhZyB0byBlbmFibGUgdHJhbnNhY3Rpb24gR1NUIGZpZWxkXG4gICAgaXNHU1Q6IGJvb2xlYW5cbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgdGF4OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnRheCB8fCAwLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNsYWltUGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgfHwgMTAwLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IHRyYW5zYWN0aW9uLmlzR1NUIHx8IGZhbHNlLCBkaXNhYmxlZDogIWlzR1NUfSksXG4gICAgICBsb2FuOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmxvYW4pLFxuICAgICAgaW5jb21lU291cmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSwgY29uZGl0aW9uYWxWYWxpZGF0b3IoKCkgPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNXb3JrSW5jb21lKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpKSxcbiAgICAgIG1ldGFGaWVsZHM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5tZXRhRmllbGRzIHx8IFtdKS5tYXAoKG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCkgPT4gbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKG1ldGFGaWVsZCkpKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmJ1c2luZXNzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnByb3BlcnR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIC8vIFNob3cgbnVsbCBhcyBkZWZhdWx0IHZhbHVlIGZvciBuZXcgdHJhbnNhY3Rpb24gdG8gYXZvaWQgcHJlc2VsZWN0aW5nIG9mIG5vdCBhbGxvd2VkIHRhbmsgdHlwZXNcbiAgICAgIHRhbmtUeXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkID8gdHJhbnNhY3Rpb24udGFua1R5cGUgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheSgodHJhbnNhY3Rpb24uY2hpbGRUcmFuc2FjdGlvbnMgfHwgW10pLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbikgPT4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjaGlsZFRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pKSlcbiAgICB9LCB0cmFuc2FjdGlvbik7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gYWJzdHJhY3QgZm9ybSwgdW5pdmVyc2FsIG1ldGhvZCBnZXRBcnJheShhcnJheU5hbWUpXG4gICAqL1xuICBnZXQgbWV0YUZpZWxkc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGFkZENoaWxkVHJhbnNhY3Rpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRUcmFuc2FjdGlvbnNBcnJheS5wdXNoKFxuICAgICAgbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBhbW91bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgbWV0YUZpZWxkczogdGhpcy5tZXRhRmllbGRzQXJyYXkuY29udHJvbHMubWFwKChtZXRhRmllbGRGb3JtOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSkgPT4gbWV0YUZpZWxkRm9ybS5zdWJtaXQoKSlcbiAgICB9O1xuXG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdChkYXRhKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5UYW5rVHlwZUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlbkluY29tZVNvdXJjZUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5DaGFydEFjY291bnRzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuXG4gICAgICBpZiAoIWNoYXJ0QWNjb3VudHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVwZGF0ZUNsYWltUGVyY2VudCgpO1xuXG4gICAgICAvLyBVc2VyIGhhdmUgdG8gc2VsZWN0IGluY29tZSBzb3VyY2UgZm9yIHdvcmsgaW5jb21lXG4gICAgICBpZiAoY2hhcnRBY2NvdW50cy5pc1dvcmtJbmNvbWUoKSkge1xuICAgICAgICB0aGlzLmdldCgnaW5jb21lU291cmNlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVidWlsZCBtZXRhIGZpZWxkc1xuICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkuY2xlYXIoKTtcbiAgICAgIGNoYXJ0QWNjb3VudHMubWV0YUZpZWxkcy5mb3JFYWNoKChjaGFydEFjY291bnRzTWV0YUZpZWxkOiBDaGFydEFjY291bnRzTWV0YUZpZWxkKSA9PiB7XG4gICAgICAgIHRoaXMubWV0YUZpZWxkc0FycmF5LnB1c2goXG4gICAgICAgICAgbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKFxuICAgICAgICAgICAgcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGQsIHsgY2hhcnRBY2NvdW50c01ldGFGaWVsZCB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQ2hpbGQgdHJhbnNhY3Rpb24gYWxsb3dhbmNlIGRlcGVuZHMgb24gdGFuayB0eXBlLlxuICAgKiBBbHNvIGNoYXJ0IGFjY291bnRzIGFyZSBkaWZmZXJlbnQsIHNvIHdlIGp1c3QgcmVzZXQgY2hpbGQgdHJhbnNhY3Rpb25zIHdoZW4gdGFuayB0eXBlIGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnJlc2V0KCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0XG4gICAgICBpZiAoaW5jb21lU291cmNlIGluc3RhbmNlb2YgSW5jb21lU291cmNlICYmIGluY29tZVNvdXJjZS5pc1NhbGFyeUluY29tZSgpICYmICF0aGlzLmdldCgndGF4JykudmFsdWUpIHtcbiAgICAgICAgdGhpcy5nZXQoJ3RheCcpLnNldFZhbHVlKGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0udGF4V2l0aGhlbGQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBwcml2YXRlIGxpc3RlblByb3BlcnR5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgncHJvcGVydHknKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNsYWltIHBlcmNlbnQgdmFsdWUgYW5kIHN0YXRlIGRlcGVuZHMgb24gYnVzaW5lc3MgbG9naWNcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlQ2xhaW1QZXJjZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGNsYWltUGVyY2VudENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IHRoaXMuZ2V0KCdjbGFpbVBlcmNlbnQnKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgICAvLyBjbGFpbSBwZXJjZW50IGlzIGNoYW5nZWFibGUgb25seSBmb3Igd29yayBhbmQgc29sZSBleHBlbnNlcyBleGNlcHQgdmVoaWNsZSBhbmQgcGVyc29uYWxcbiAgICBjbGFpbVBlcmNlbnRDb250cm9sLmRpc2FibGUoKTtcblxuICAgIGlmICghdGhpcy5jdXJyZW50VmFsdWUuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzLmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgY2xhaW1QZXJjZW50Q29udHJvbC5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBjbGFpbVBlcmNlbnRDb250cm9sLnNldFZhbHVlKHRoaXMuY3VycmVudFZhbHVlLmNhbGN1bGF0ZUNsYWltUGVyY2VudCgpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,135 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { AllocationRuleTransaction, CHART_ACCOUNTS_CATEGORIES } from '../../models';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { UntypedFormArray, UntypedFormControl, Validators } from '@angular/forms';
5
+ import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
6
+ import { AllocationRuleConditionForm } from './allocation-rule-condition.form';
7
+ import { AllocationRuleTransactionForm } from './allocation-rule-transaction.form';
8
+ import { AllocationRuleTypeEnum } from '../../db/Enums';
9
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
10
+ import intersection from 'lodash/intersection';
11
+ export class AllocationRuleForm extends AbstractForm {
12
+ constructor(
13
+ // rule is required because we have to keep bank account relation
14
+ rule,
15
+ // Flag to enable transaction GST field
16
+ isGST) {
17
+ super({
18
+ type: new UntypedFormControl(rule.type, Validators.required),
19
+ name: new UntypedFormControl(rule.name, Validators.required),
20
+ conditionOperator: new UntypedFormControl(rule.conditionOperator, Validators.required),
21
+ conditions: new UntypedFormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
22
+ .map((condition) => new AllocationRuleConditionForm(condition))),
23
+ transaction: new AllocationRuleTransactionForm(rule.transaction || plainToClass(AllocationRuleTransaction, {}), isGST),
24
+ transferBankAccount: new UntypedFormControl(rule.transferBankAccount, Validators.required),
25
+ autoAllocate: new UntypedFormControl(rule.autoAllocate || false, Validators.required)
26
+ }, rule);
27
+ this.isGST = isGST;
28
+ this.listenEvents();
29
+ this.setupFieldsByType(rule.type);
30
+ this.setupFieldsByTankType(rule.transaction?.tankType);
31
+ this.updateChartAccountsCategories();
32
+ if (!this.transactionFormGroup.get('chartAccounts').value?.isClaimPercentEditable()) {
33
+ this.transactionFormGroup.get('claimPercent').disable();
34
+ }
35
+ }
36
+ get conditionsArray() {
37
+ return this.get('conditions');
38
+ }
39
+ get childTransactionsArray() {
40
+ return this.transactionFormGroup.get('childTransactions');
41
+ }
42
+ get transactionFormGroup() {
43
+ return this.get('transaction');
44
+ }
45
+ addConditionForm() {
46
+ this.conditionsArray.push(new AllocationRuleConditionForm());
47
+ }
48
+ isTaxFieldHidden() {
49
+ const chartAccounts = this.transactionFormGroup.get('chartAccounts').value;
50
+ return !chartAccounts || !chartAccounts.isTaxable();
51
+ }
52
+ /**
53
+ * TODO Alex: disable sole tank in form control when income selected
54
+ */
55
+ isTransactionFieldsHidden() {
56
+ return this.transactionFormGroup.get('tankType').value === null || this.currentValue.isSoleIncome();
57
+ }
58
+ submit() {
59
+ const data = {
60
+ conditions: this.conditionsArray.controls.map((conditionForm) => conditionForm.submit()),
61
+ transaction: null
62
+ };
63
+ if (!this.currentValue.isTransfer()) {
64
+ data.transaction = this.transactionFormGroup.submit();
65
+ }
66
+ return super.submit(data);
67
+ }
68
+ listenEvents() {
69
+ this.listenTankTypeChanges();
70
+ this.listenTypeChanges();
71
+ }
72
+ listenTypeChanges() {
73
+ this.get('type').valueChanges.subscribe((type) => {
74
+ this.setupFieldsByType(type);
75
+ this.updateChartAccountsCategories();
76
+ // we have different fields for different types
77
+ this.get('transaction').reset();
78
+ });
79
+ }
80
+ listenTankTypeChanges() {
81
+ this.transactionFormGroup.get('tankType').valueChanges.subscribe((tankType) => {
82
+ this.updateChartAccountsCategories();
83
+ this.setupFieldsByTankType(tankType);
84
+ });
85
+ }
86
+ /**
87
+ * Update list of chart accounts categories allowed for transaction
88
+ * Depends on transaction type and tank type
89
+ */
90
+ updateChartAccountsCategories() {
91
+ // We use unique one Chart Accounts for transfer
92
+ if (this.currentValue.isTransfer()) {
93
+ this.chartAccountsCategories = null;
94
+ return;
95
+ }
96
+ const excludedCategories = [...CHART_ACCOUNTS_CATEGORIES.depreciation];
97
+ this.chartAccountsCategories = intersection(CHART_ACCOUNTS_CATEGORIES[this.currentValue.typeLabel], CHART_ACCOUNTS_CATEGORIES[this.currentValue.tankTypeLabel])
98
+ .filter((category) => !excludedCategories.includes(category));
99
+ }
100
+ setupFieldsByType(type) {
101
+ switch (type) {
102
+ case AllocationRuleTypeEnum.EXPENSE:
103
+ case AllocationRuleTypeEnum.INCOME:
104
+ this.get('transaction').enable({ emitEvent: false });
105
+ this.get('transferBankAccount').disable({ emitEvent: false });
106
+ break;
107
+ case AllocationRuleTypeEnum.TRANSFER:
108
+ this.get('transaction').disable({ emitEvent: false });
109
+ this.get('transferBankAccount').enable({ emitEvent: false });
110
+ return;
111
+ }
112
+ }
113
+ setupFieldsByTankType(tankType) {
114
+ // First disable tankType-related fields, second enable for selected tank type
115
+ this.transactionFormGroup.get('property').disable({ emitEvent: false });
116
+ this.transactionFormGroup.get('business').disable({ emitEvent: false });
117
+ this.transactionFormGroup.get('isGST').disable({ emitEvent: false });
118
+ this.transactionFormGroup.get('incomeSource').disable({ emitEvent: false });
119
+ switch (tankType) {
120
+ case TankTypeEnum.WORK:
121
+ this.transactionFormGroup.get('incomeSource').enable({ emitEvent: false });
122
+ break;
123
+ case TankTypeEnum.PROPERTY:
124
+ this.transactionFormGroup.get('property').enable({ emitEvent: false });
125
+ break;
126
+ case TankTypeEnum.SOLE:
127
+ this.transactionFormGroup.get('business').enable({ emitEvent: false });
128
+ if (this.isGST) {
129
+ this.transactionFormGroup.get('isGST').enable({ emitEvent: false });
130
+ }
131
+ break;
132
+ }
133
+ }
134
+ }
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBNkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0QsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUM7QUFFL0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQTRCO0lBR2xFO0lBQ0UsaUVBQWlFO0lBQ2pFLElBQW9CO0lBQ3BCLHVDQUF1QztJQUMvQixLQUFjO1FBRXRCLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM1RCxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7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QUFDLE9BQU8sQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUUxRSxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNO1lBQ1IsS0FBSyxZQUFZLENBQUMsUUFBUTtnQkFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztnQkFDckUsTUFBTTtZQUNSLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7Z0JBRXJFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO2lCQUNuRTtnQkFDRCxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlLCBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLCBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Gb3JtIH0gZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUtY29uZGl0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi5mb3JtJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHlwZUVudW0sIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IGludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gcnVsZSBpcyByZXF1aXJlZCBiZWNhdXNlIHdlIGhhdmUgdG8ga2VlcCBiYW5rIGFjY291bnQgcmVsYXRpb25cbiAgICBydWxlOiBBbGxvY2F0aW9uUnVsZSxcbiAgICAvLyBGbGFnIHRvIGVuYWJsZSB0cmFuc2FjdGlvbiBHU1QgZmllbGRcbiAgICBwcml2YXRlIGlzR1NUOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvbmRpdGlvbk9wZXJhdG9yOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHJ1bGUuY29uZGl0aW9uT3BlcmF0b3IsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29uZGl0aW9uczogbmV3IFVudHlwZWRGb3JtQXJyYXkoXG4gICAgICAgIChydWxlLmNvbmRpdGlvbnMgfHwgW3BsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiwge30pXSlcbiAgICAgICAgICAubWFwKChjb25kaXRpb246IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uKSA9PiBuZXcgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Gb3JtKGNvbmRpdGlvbikpXG4gICAgICApLFxuICAgICAgdHJhbnNhY3Rpb246IG5ldyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybShydWxlLnRyYW5zYWN0aW9uIHx8IHBsYWluVG9DbGFzcyhBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLCB7fSksIGlzR1NUKSxcbiAgICAgIHRyYW5zZmVyQmFua0FjY291bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wocnVsZS50cmFuc2ZlckJhbmtBY2NvdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGF1dG9BbGxvY2F0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChydWxlLmF1dG9BbGxvY2F0ZSB8fCBmYWxzZSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICB9LCBydWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZShydWxlLnR5cGUpO1xuICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHJ1bGUudHJhbnNhY3Rpb24/LnRhbmtUeXBlKTtcbiAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU/LmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZGl0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnY29uZGl0aW9ucycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCB0cmFuc2FjdGlvbkZvcm1Hcm91cCgpOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0cmFuc2FjdGlvbicpIGFzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtO1xuICB9XG5cbiAgYWRkQ29uZGl0aW9uRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmRpdGlvbnNBcnJheS5wdXNoKG5ldyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0oKSk7XG4gIH1cblxuICBpc1RheEZpZWxkSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMgPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlO1xuXG4gICAgcmV0dXJuICFjaGFydEFjY291bnRzIHx8ICFjaGFydEFjY291bnRzLmlzVGF4YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRPRE8gQWxleDogZGlzYWJsZSBzb2xlIHRhbmsgaW4gZm9ybSBjb250cm9sIHdoZW4gaW5jb21lIHNlbGVjdGVkXG4gICAqL1xuICBpc1RyYW5zYWN0aW9uRmllbGRzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgndGFua1R5cGUnKS52YWx1ZSA9PT0gbnVsbCB8fCB0aGlzLmN1cnJlbnRWYWx1ZS5pc1NvbGVJbmNvbWUoKTtcbiAgfVxuXG5cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbFxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuY3VycmVudFZhbHVlLmlzVHJhbnNmZXIoKSkge1xuICAgICAgZGF0YS50cmFuc2FjdGlvbiA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuc3VibWl0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdChkYXRhKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykucmVzZXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcbiAgICB0aGlzLmNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzID0gaW50ZXJzZWN0aW9uKENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVNbdGhpcy5jdXJyZW50VmFsdWUudHlwZUxhYmVsXSwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50YW5rVHlwZUxhYmVsXSlcbiAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKSA9PiAhZXhjbHVkZWRDYXRlZ29yaWVzLmluY2x1ZGVzKGNhdGVnb3J5KSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwRmllbGRzQnlUeXBlKHR5cGU6IEFsbG9jYXRpb25SdWxlVHlwZUVudW0pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5FWFBFTlNFOlxuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRTpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZW5hYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEZpZWxkc0J5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHZvaWQge1xuICAgIC8vIEZpcnN0IGRpc2FibGUgdGFua1R5cGUtcmVsYXRlZCBmaWVsZHMsIHNlY29uZCBlbmFibGUgZm9yIHNlbGVjdGVkIHRhbmsgdHlwZVxuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdwcm9wZXJ0eScpLmRpc2FibGUoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2lzR1NUJykuZGlzYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdpbmNvbWVTb3VyY2UnKS5kaXNhYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uUFJPUEVSVFk6XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdwcm9wZXJ0eScpLmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdidXNpbmVzcycpLmVuYWJsZSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuXG4gICAgICAgIGlmICh0aGlzLmlzR1NUKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2lzR1NUJykuZW5hYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
+ export * from './allocation-rule.form';
1
2
  export * from './transaction-base.form';
2
3
  export * from './transaction.form';
3
4
  export * from './work/work-income.form';
4
5
  export * from './work/work-expense.form';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24uZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmsvd29yay1pbmNvbWUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmsvd29yay1leHBlbnNlLmZvcm0nO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrL3dvcmstaW5jb21lLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrL3dvcmstZXhwZW5zZS5mb3JtJztcbiJdfQ==
@@ -1,28 +1,28 @@
1
1
  import { WorkTransactionForm } from './work-transaction.form';
2
2
  import { Collection } from '../../../collections';
3
- import { ChartAccountsMetadataListEnum } from '../../../db/Enums';
3
+ import { ChartAccountsMetaFieldListEnum } from '../../../db/Enums';
4
4
  export class WorkExpenseForm extends WorkTransactionForm {
5
5
  constructor(transaction, registeredForGst, allocations, controls = {}) {
6
6
  super(transaction, registeredForGst, allocations, controls);
7
- // amount set automatically for chartAccounts with hours metadata
8
- if (transaction.getMetadataFieldValue(ChartAccountsMetadataListEnum.HOURS)) {
7
+ // amount set automatically for chartAccounts with hours meta field
8
+ if (transaction.getMetaFieldValue(ChartAccountsMetaFieldListEnum.HOURS)) {
9
9
  this.get('amount').disable();
10
10
  }
11
11
  }
12
12
  listenEvents() {
13
- this.watchChartAccountsMetadata();
13
+ this.watchChartAccountsMetaFields();
14
14
  }
15
- watchChartAccountsMetadata() {
16
- this.get('metadata').valueChanges.subscribe((metadata) => {
17
- const hoursMetadata = new Collection(metadata).findBy('chartAccountsMetadata.id', ChartAccountsMetadataListEnum.HOURS);
18
- if (!hoursMetadata) {
15
+ watchChartAccountsMetaFields() {
16
+ this.get('metaFields').valueChanges.subscribe((metaFields) => {
17
+ const hoursMetaField = new Collection(metaFields).findBy('chartAccountsMetaField.id', ChartAccountsMetaFieldListEnum.HOURS);
18
+ if (!hoursMetaField) {
19
19
  return;
20
20
  }
21
21
  // for home office hours expense amount is a fixed rate per hour
22
22
  this.get('amount').reset();
23
23
  this.get('amount').disable();
24
- this.get('amount').setValue((this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetadata.value).toFixed(2));
24
+ this.get('amount').setValue((this.get('chartAccounts').value.getCurrentYearValue().value * +hoursMetaField.value).toFixed(2));
25
25
  });
26
26
  }
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1leHBlbnNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vd29yay93b3JrLWV4cGVuc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFHaEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsaUVBQWlFO1FBQ2pFLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBK0IsRUFBRSxFQUFFO1lBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2SCxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNsQixPQUFPO2FBQ1I7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lFdmVudExpc3RlbmVyfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiwgVHJhbnNhY3Rpb25NZXRhZGF0YX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V29ya1RyYW5zYWN0aW9uRm9ybX0gZnJvbSAnLi93b3JrLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0NoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgV29ya0V4cGVuc2VGb3JtIGV4dGVuZHMgV29ya1RyYW5zYWN0aW9uRm9ybSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLFxuICAgIHJlZ2lzdGVyZWRGb3JHc3Q6IGJvb2xlYW4sXG4gICAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdLFxuICAgIGNvbnRyb2xzOiB7W2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sfSA9IHt9XG4gICkge1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0LCBhbGxvY2F0aW9ucywgY29udHJvbHMpO1xuICAgIC8vIGFtb3VudCBzZXQgYXV0b21hdGljYWxseSBmb3IgY2hhcnRBY2NvdW50cyB3aXRoIGhvdXJzIG1ldGFkYXRhXG4gICAgaWYgKHRyYW5zYWN0aW9uLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5IT1VSUykpIHtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCkge1xuICAgIHRoaXMud2F0Y2hDaGFydEFjY291bnRzTWV0YWRhdGEoKTtcbiAgfVxuXG4gIHdhdGNoQ2hhcnRBY2NvdW50c01ldGFkYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdtZXRhZGF0YScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKG1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhW10pID0+IHtcbiAgICAgIGNvbnN0IGhvdXJzTWV0YWRhdGEgPSBuZXcgQ29sbGVjdGlvbihtZXRhZGF0YSkuZmluZEJ5KCdjaGFydEFjY291bnRzTWV0YWRhdGEuaWQnLCBDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5IT1VSUyk7XG4gICAgICBpZiAoIWhvdXJzTWV0YWRhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBmb3IgaG9tZSBvZmZpY2UgaG91cnMgZXhwZW5zZSBhbW91bnQgaXMgYSBmaXhlZCByYXRlIHBlciBob3VyXG4gICAgICB0aGlzLmdldCgnYW1vdW50JykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmdldCgnYW1vdW50Jykuc2V0VmFsdWUoKHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUuZ2V0Q3VycmVudFllYXJWYWx1ZSgpLnZhbHVlICogK2hvdXJzTWV0YWRhdGEudmFsdWUpLnRvRml4ZWQoMikpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1leHBlbnNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vd29yay93b3JrLWV4cGVuc2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFHakUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsbUVBQW1FO1FBQ25FLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBa0MsRUFBRSxFQUFFO1lBQ25GLE1BQU0sY0FBYyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1SCxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixPQUFPO2FBQ1I7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEksQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lFdmVudExpc3RlbmVyfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiwgVHJhbnNhY3Rpb25NZXRhRmllbGR9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dvcmtUcmFuc2FjdGlvbkZvcm19IGZyb20gJy4vd29yay10cmFuc2FjdGlvbi5mb3JtJztcbmltcG9ydCB7Q29sbGVjdGlvbn0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW19IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBXb3JrRXhwZW5zZUZvcm0gZXh0ZW5kcyBXb3JrVHJhbnNhY3Rpb25Gb3JtIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sXG4gICAgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbixcbiAgICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10sXG4gICAgY29udHJvbHM6IHtba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2x9ID0ge31cbiAgKSB7XG4gICAgc3VwZXIodHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIGFsbG9jYXRpb25zLCBjb250cm9scyk7XG4gICAgLy8gYW1vdW50IHNldCBhdXRvbWF0aWNhbGx5IGZvciBjaGFydEFjY291bnRzIHdpdGggaG91cnMgbWV0YSBmaWVsZFxuICAgIGlmICh0cmFuc2FjdGlvbi5nZXRNZXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uSE9VUlMpKSB7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50c01ldGFGaWVsZHMoKTtcbiAgfVxuXG4gIHdhdGNoQ2hhcnRBY2NvdW50c01ldGFGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ21ldGFGaWVsZHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChtZXRhRmllbGRzOiBUcmFuc2FjdGlvbk1ldGFGaWVsZFtdKSA9PiB7XG4gICAgICBjb25zdCBob3Vyc01ldGFGaWVsZCA9IG5ldyBDb2xsZWN0aW9uKG1ldGFGaWVsZHMpLmZpbmRCeSgnY2hhcnRBY2NvdW50c01ldGFGaWVsZC5pZCcsIENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bS5IT1VSUyk7XG4gICAgICBpZiAoIWhvdXJzTWV0YUZpZWxkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gZm9yIGhvbWUgb2ZmaWNlIGhvdXJzIGV4cGVuc2UgYW1vdW50IGlzIGEgZml4ZWQgcmF0ZSBwZXIgaG91clxuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5nZXQoJ2Ftb3VudCcpLnNldFZhbHVlKCh0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlLmdldEN1cnJlbnRZZWFyVmFsdWUoKS52YWx1ZSAqICtob3Vyc01ldGFGaWVsZC52YWx1ZSkudG9GaXhlZCgyKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,10 +4,10 @@ export class WorkTransactionForm extends TransactionForm {
4
4
  constructor(transaction, registeredForGst, allocations, controls = {}) {
5
5
  super(transaction, registeredForGst, allocations, Object.assign(controls, {
6
6
  // additional data related to work (like tax instalments)
7
- metadata: new FormArray((transaction.metadata || []).map((transactionMetadata) => {
7
+ metaFields: new FormArray((transaction.metaFields || []).map((transactionMetaField) => {
8
8
  return new FormGroup({
9
- value: new FormControl(transactionMetadata.value),
10
- chartAccountsMetadata: new FormControl(transactionMetadata.chartAccountsMetadata)
9
+ value: new FormControl(transactionMetaField.value),
10
+ chartAccountsMetaField: new FormControl(transactionMetaField.chartAccountsMetaField)
11
11
  });
12
12
  }))
13
13
  }));
@@ -19,22 +19,22 @@ export class WorkTransactionForm extends TransactionForm {
19
19
  watchChartAccounts() {
20
20
  super.watchChartAccounts();
21
21
  this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
22
- this.buildMetadataForm();
22
+ this.buildMetaFieldsForm();
23
23
  });
24
24
  }
25
25
  /**
26
26
  * depends on chartAccounts the form could include different extra fields
27
27
  */
28
- buildMetadataForm() {
28
+ buildMetaFieldsForm() {
29
29
  // Remove all controls in the FormArray before pushing
30
- this.get('metadata').clear();
31
- // create form controls for each metadata object from selected chart accounts
32
- (this.get('chartAccounts').value.metadata).forEach((chartAccountsMetadata) => {
33
- this.get('metadata').push(new FormGroup({
34
- value: new FormControl(chartAccountsMetadata.isSharePercentage() ? 100 : 0),
35
- chartAccountsMetadata: new FormControl(chartAccountsMetadata),
30
+ this.get('metaFields').clear();
31
+ // create form controls for each metaField object from selected chart accounts
32
+ (this.get('chartAccounts').value.metaFields).forEach((chartAccountsMetaField) => {
33
+ this.get('metaFields').push(new FormGroup({
34
+ value: new FormControl(chartAccountsMetaField.isSharePercentage() ? 100 : 0),
35
+ chartAccountsMetaField: new FormControl(chartAccountsMetaField),
36
36
  }));
37
37
  });
38
38
  }
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay10cmFuc2FjdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3dvcmsvd29yay10cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQVNwRCxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxlQUFlO0lBQy9ELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDeEUseURBQXlEO1lBQ3pELFFBQVEsRUFBRSxJQUFJLFNBQVMsQ0FDckIsQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG1CQUF3QyxFQUFhLEVBQUU7Z0JBQ3ZGLE9BQU8sSUFBSSxTQUFTLENBQUM7b0JBQ25CLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7b0JBQ2pELHFCQUFxQixFQUFFLElBQUksV0FBVyxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDO2lCQUNsRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDSDtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxpQkFBaUI7UUFDdkIsc0RBQXNEO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUMsNkVBQTZFO1FBQzdFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQTRDLEVBQVEsRUFBRTtZQUN2RyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBZSxDQUFDLElBQUksQ0FDdEMsSUFBSSxTQUFTLENBQUM7Z0JBQ1osS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxxQkFBcUIsRUFBRSxJQUFJLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQzthQUM5RCxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUcmFuc2FjdGlvbkZvcm19IGZyb20gJy4uL3RyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHtJRXZlbnRMaXN0ZW5lcn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBDaGFydEFjY291bnRzLFxuICBDaGFydEFjY291bnRzTWV0YWRhdGEsXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbkFsbG9jYXRpb24sXG4gIFRyYW5zYWN0aW9uTWV0YWRhdGFcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtUcmFuc2FjdGlvbkZvcm0gZXh0ZW5kcyBUcmFuc2FjdGlvbkZvcm0gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbixcbiAgICByZWdpc3RlcmVkRm9yR3N0OiBib29sZWFuLFxuICAgIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSxcbiAgICBjb250cm9sczoge1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbH0gPSB7fVxuICApIHtcbiAgICBzdXBlcih0cmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdCwgYWxsb2NhdGlvbnMsIE9iamVjdC5hc3NpZ24oY29udHJvbHMsIHtcbiAgICAgIC8vIGFkZGl0aW9uYWwgZGF0YSByZWxhdGVkIHRvIHdvcmsgKGxpa2UgdGF4IGluc3RhbG1lbnRzKVxuICAgICAgbWV0YWRhdGE6IG5ldyBGb3JtQXJyYXkoXG4gICAgICAgICh0cmFuc2FjdGlvbi5tZXRhZGF0YSB8fCBbXSkubWFwKCh0cmFuc2FjdGlvbk1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhKTogRm9ybUdyb3VwID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKHRyYW5zYWN0aW9uTWV0YWRhdGEudmFsdWUpLFxuICAgICAgICAgICAgY2hhcnRBY2NvdW50c01ldGFkYXRhOiBuZXcgRm9ybUNvbnRyb2wodHJhbnNhY3Rpb25NZXRhZGF0YS5jaGFydEFjY291bnRzTWV0YWRhdGEpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSkpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuICB9XG5cbiAgd2F0Y2hDaGFydEFjY291bnRzKCk6IHZvaWQge1xuICAgIHN1cGVyLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuXG4gICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICB0aGlzLmJ1aWxkTWV0YWRhdGFGb3JtKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZGVwZW5kcyBvbiBjaGFydEFjY291bnRzIHRoZSBmb3JtIGNvdWxkIGluY2x1ZGUgZGlmZmVyZW50IGV4dHJhIGZpZWxkc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZE1ldGFkYXRhRm9ybSgpOiB2b2lkIHtcbiAgICAvLyBSZW1vdmUgYWxsIGNvbnRyb2xzIGluIHRoZSBGb3JtQXJyYXkgYmVmb3JlIHB1c2hpbmdcbiAgICAodGhpcy5nZXQoJ21ldGFkYXRhJykgYXMgRm9ybUFycmF5KS5jbGVhcigpO1xuXG4gICAgLy8gY3JlYXRlIGZvcm0gY29udHJvbHMgZm9yIGVhY2ggbWV0YWRhdGEgb2JqZWN0IGZyb20gc2VsZWN0ZWQgY2hhcnQgYWNjb3VudHNcbiAgICAodGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZS5tZXRhZGF0YSkuZm9yRWFjaCgoY2hhcnRBY2NvdW50c01ldGFkYXRhOiBDaGFydEFjY291bnRzTWV0YWRhdGEpOiB2b2lkID0+IHtcbiAgICAgICh0aGlzLmdldCgnbWV0YWRhdGEnKSBhcyBGb3JtQXJyYXkpLnB1c2goXG4gICAgICAgIG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2woY2hhcnRBY2NvdW50c01ldGFkYXRhLmlzU2hhcmVQZXJjZW50YWdlKCkgPyAxMDAgOiAwKSxcbiAgICAgICAgICBjaGFydEFjY291bnRzTWV0YWRhdGE6IG5ldyBGb3JtQ29udHJvbChjaGFydEFjY291bnRzTWV0YWRhdGEpLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay10cmFuc2FjdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3dvcmsvd29yay10cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQVNwRCxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxlQUFlO0lBQy9ELFlBQ0UsV0FBd0IsRUFDeEIsZ0JBQXlCLEVBQ3pCLFdBQW9DLEVBQ3BDLFdBQTZDLEVBQUU7UUFFL0MsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDeEUseURBQXlEO1lBQ3pELFVBQVUsRUFBRSxJQUFJLFNBQVMsQ0FDdkIsQ0FBQyxXQUFXLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG9CQUEwQyxFQUFhLEVBQUU7Z0JBQzNGLE9BQU8sSUFBSSxTQUFTLENBQUM7b0JBQ25CLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7b0JBQ2xELHNCQUFzQixFQUFFLElBQUksV0FBVyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDO2lCQUNyRixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDSDtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsc0RBQXNEO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFOUMsOEVBQThFO1FBQzlFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsc0JBQThDLEVBQVEsRUFBRTtZQUMzRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBZSxDQUFDLElBQUksQ0FDeEMsSUFBSSxTQUFTLENBQUM7Z0JBQ1osS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1RSxzQkFBc0IsRUFBRSxJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQzthQUNoRSxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUcmFuc2FjdGlvbkZvcm19IGZyb20gJy4uL3RyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHtJRXZlbnRMaXN0ZW5lcn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBDaGFydEFjY291bnRzLFxuICBDaGFydEFjY291bnRzTWV0YUZpZWxkLFxuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25BbGxvY2F0aW9uLFxuICBUcmFuc2FjdGlvbk1ldGFGaWVsZFxufSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya1RyYW5zYWN0aW9uRm9ybSBleHRlbmRzIFRyYW5zYWN0aW9uRm9ybSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLFxuICAgIHJlZ2lzdGVyZWRGb3JHc3Q6IGJvb2xlYW4sXG4gICAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdLFxuICAgIGNvbnRyb2xzOiB7W2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sfSA9IHt9XG4gICkge1xuICAgIHN1cGVyKHRyYW5zYWN0aW9uLCByZWdpc3RlcmVkRm9yR3N0LCBhbGxvY2F0aW9ucywgT2JqZWN0LmFzc2lnbihjb250cm9scywge1xuICAgICAgLy8gYWRkaXRpb25hbCBkYXRhIHJlbGF0ZWQgdG8gd29yayAobGlrZSB0YXggaW5zdGFsbWVudHMpXG4gICAgICBtZXRhRmllbGRzOiBuZXcgRm9ybUFycmF5KFxuICAgICAgICAodHJhbnNhY3Rpb24ubWV0YUZpZWxkcyB8fCBbXSkubWFwKCh0cmFuc2FjdGlvbk1ldGFGaWVsZDogVHJhbnNhY3Rpb25NZXRhRmllbGQpOiBGb3JtR3JvdXAgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2wodHJhbnNhY3Rpb25NZXRhRmllbGQudmFsdWUpLFxuICAgICAgICAgICAgY2hhcnRBY2NvdW50c01ldGFGaWVsZDogbmV3IEZvcm1Db250cm9sKHRyYW5zYWN0aW9uTWV0YUZpZWxkLmNoYXJ0QWNjb3VudHNNZXRhRmllbGQpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSkpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuICB9XG5cbiAgd2F0Y2hDaGFydEFjY291bnRzKCk6IHZvaWQge1xuICAgIHN1cGVyLndhdGNoQ2hhcnRBY2NvdW50cygpO1xuXG4gICAgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICB0aGlzLmJ1aWxkTWV0YUZpZWxkc0Zvcm0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZXBlbmRzIG9uIGNoYXJ0QWNjb3VudHMgdGhlIGZvcm0gY291bGQgaW5jbHVkZSBkaWZmZXJlbnQgZXh0cmEgZmllbGRzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkTWV0YUZpZWxkc0Zvcm0oKTogdm9pZCB7XG4gICAgLy8gUmVtb3ZlIGFsbCBjb250cm9scyBpbiB0aGUgRm9ybUFycmF5IGJlZm9yZSBwdXNoaW5nXG4gICAgKHRoaXMuZ2V0KCdtZXRhRmllbGRzJykgYXMgRm9ybUFycmF5KS5jbGVhcigpO1xuXG4gICAgLy8gY3JlYXRlIGZvcm0gY29udHJvbHMgZm9yIGVhY2ggbWV0YUZpZWxkIG9iamVjdCBmcm9tIHNlbGVjdGVkIGNoYXJ0IGFjY291bnRzXG4gICAgKHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUubWV0YUZpZWxkcykuZm9yRWFjaCgoY2hhcnRBY2NvdW50c01ldGFGaWVsZDogQ2hhcnRBY2NvdW50c01ldGFGaWVsZCk6IHZvaWQgPT4ge1xuICAgICAgKHRoaXMuZ2V0KCdtZXRhRmllbGRzJykgYXMgRm9ybUFycmF5KS5wdXNoKFxuICAgICAgICBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKGNoYXJ0QWNjb3VudHNNZXRhRmllbGQuaXNTaGFyZVBlcmNlbnRhZ2UoKSA/IDEwMCA6IDApLFxuICAgICAgICAgIGNoYXJ0QWNjb3VudHNNZXRhRmllbGQ6IG5ldyBGb3JtQ29udHJvbChjaGFydEFjY291bnRzTWV0YUZpZWxkKSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==