taxtank-core 0.21.10 → 0.21.11

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 (50) hide show
  1. package/bundles/taxtank-core.umd.js +167 -120
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/db/Models/bank/bank-account.js +1 -1
  4. package/esm2015/lib/db/Models/depreciation/depreciation.js +1 -1
  5. package/esm2015/lib/db/Models/sole/sole-business-allocation.js +4 -0
  6. package/esm2015/lib/db/Models/sole/sole-business-loss.js +4 -0
  7. package/esm2015/lib/db/Models/sole/sole-business.js +4 -0
  8. package/esm2015/lib/db/Models/sole/sole-contact.js +4 -0
  9. package/esm2015/lib/db/Models/sole/sole-forecast.js +1 -1
  10. package/esm2015/lib/db/Models/sole/sole-invoice-item.js +4 -0
  11. package/esm2015/lib/db/Models/sole/sole-invoice-template.js +4 -0
  12. package/esm2015/lib/db/Models/sole/sole-invoice.js +4 -0
  13. package/esm2015/lib/db/Models/transaction/transaction.js +1 -1
  14. package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +1 -1
  15. package/esm2015/lib/db/Models/vehicle/vehicle.js +1 -1
  16. package/esm2015/lib/forms/abstract.form.js +6 -1
  17. package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +9 -42
  18. package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +31 -0
  19. package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +4 -30
  20. package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +28 -7
  21. package/esm2015/lib/forms/index.js +2 -1
  22. package/esm2015/lib/models/bank/bank-account.js +14 -4
  23. package/esm2015/lib/models/logbook/vehicle-claim.js +6 -3
  24. package/esm2015/lib/services/event/sse.service.js +2 -1
  25. package/esm2015/lib/validators/fields-sum.validator.js +26 -0
  26. package/fesm2015/taxtank-core.js +150 -115
  27. package/fesm2015/taxtank-core.js.map +1 -1
  28. package/lib/db/Models/bank/bank-account.d.ts +2 -2
  29. package/lib/db/Models/depreciation/depreciation.d.ts +2 -0
  30. package/lib/db/Models/sole/sole-business-allocation.d.ts +9 -0
  31. package/lib/db/Models/sole/sole-business-loss.d.ts +9 -0
  32. package/lib/db/Models/sole/sole-business.d.ts +26 -0
  33. package/lib/db/Models/sole/sole-contact.d.ts +17 -0
  34. package/lib/db/Models/sole/sole-invoice-item.d.ts +12 -0
  35. package/lib/db/Models/sole/sole-invoice-template.d.ts +10 -0
  36. package/lib/db/Models/sole/sole-invoice.d.ts +18 -0
  37. package/lib/db/Models/transaction/transaction.d.ts +2 -0
  38. package/lib/db/Models/vehicle/vehicle-claim.d.ts +2 -2
  39. package/lib/db/Models/vehicle/vehicle.d.ts +0 -2
  40. package/lib/forms/abstract.form.d.ts +4 -0
  41. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +2 -6
  42. package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts +7 -0
  43. package/lib/forms/bank/bank-account/bank-account-import.form.d.ts +2 -8
  44. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +1 -0
  45. package/lib/forms/index.d.ts +1 -0
  46. package/lib/models/bank/bank-account.d.ts +2 -0
  47. package/lib/models/logbook/vehicle-claim.d.ts +1 -0
  48. package/lib/services/event/sse.service.d.ts +1 -0
  49. package/lib/validators/fields-sum.validator.d.ts +8 -0
  50. package/package.json +1 -1
@@ -32,10 +32,13 @@ export class VehicleClaim extends VehicleClaimBase {
32
32
  return this.method === VehicleClaimMethodEnum.KMS;
33
33
  }
34
34
  isWorkTank() {
35
- return this.tankType === TankTypeEnum.WORK;
35
+ return !this.business;
36
36
  }
37
37
  isSoleTank() {
38
- return this.tankType === TankTypeEnum.SOLE;
38
+ return !!this.business;
39
+ }
40
+ get tankType() {
41
+ return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
39
42
  }
40
43
  /**
41
44
  * Claim amount for KLMs method. Exists only for KLMs method.
@@ -88,4 +91,4 @@ export class VehicleClaim extends VehicleClaimBase {
88
91
  return ChartAccountsListEnum.KLMS_TRAVELLED;
89
92
  }
90
93
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLElBQUksZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQUNFLDZCQUE2QjtRQUM3QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFakQsV0FBTSxHQUEyQixzQkFBc0IsQ0FBQyxHQUFHLENBQUM7UUFDNUQsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFrRjNCLENBQUM7SUFoRkM7O09BRUc7SUFDSCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGdCQUF3QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxZQUFtQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLGtCQUFrQixHQUFXLFlBQVk7YUFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUIsc0JBQXNCLEVBQUU7WUFDekIsb0VBQW9FO2FBQ25FLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5CLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLGdCQUF3QjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCO1lBQzFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1lBQ2xDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO1lBQy9CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztZQUNuRCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsRUFBRSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3pEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdDQUFnQyxDQUFDLFdBQXlCLElBQUksQ0FBQyxRQUFRO1FBQ3JFLElBQUksUUFBUSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQztTQUN0RDtRQUVELE9BQU8scUJBQXFCLENBQUMsY0FBYyxDQUFBO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdmVoaWNsZS1jbGFpbS1tZXRob2QuZW51bSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcblxuY29uc3QgV0VFS1NfSU5fWUVBUiA9IDUyO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltIGV4dGVuZHMgVmVoaWNsZUNsYWltQmFzZSB7XG4gIC8vIGxpbWl0IGZvciBrbXMgY2xhaW0gbWV0aG9kXG4gIGttc0xpbWl0OiBudW1iZXIgPSA1MDAwO1xuICBmaW5hbmNpYWxZZWFyOiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG5cbiAgbWV0aG9kOiBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtID0gVmVoaWNsZUNsYWltTWV0aG9kRW51bS5LTVM7XG4gIGtpbG9tZXRlcnM6IG51bWJlciA9IDA7XG4gIHdvcmtVc2FnZTogbnVtYmVyID0gMDtcbiAgaXNNYW51YWw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBnZXQgYW1vdW50IG9mIGtpbG9tZXRyZXMgcGVyIHdlZWtcbiAgICovXG4gIGdldCBhdmVyYWdlV2Vla2x5VHJhdmVsZWRLbXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5raWxvbWV0ZXJzIC8gV0VFS1NfSU5fWUVBUjtcbiAgfVxuXG4gIGlzTG9nYm9va01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uTE9HQk9PSztcbiAgfVxuXG4gIGlzS0xNc01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uS01TO1xuICB9XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFpbSBhbW91bnQgZm9yIEtMTXMgbWV0aG9kLiBFeGlzdHMgb25seSBmb3IgS0xNcyBtZXRob2QuXG4gICAqL1xuICBnZXRLTE1zQ2xhaW1BbW91bnQodmVoaWNsZUNsYWltUmF0ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNLTE1zTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiArKHRoaXMua2lsb21ldGVycyAqIHZlaGljbGVDbGFpbVJhdGUpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZ2Jvb2sgY2xhaW0gYW1vdW50LiBFeGlzdHMgb25seSBmb3IgbG9nYm9vayBtZXRob2QuXG4gICAqIENsYWltQW1vdW50ID0gV29ya1VzYWdlICogdHJhbnNhY3Rpb24vZGVwcmVjaWF0aW9uIGFtb3VudFxuICAgKi9cbiAgZ2V0TG9nYm9va0NsYWltQW1vdW50KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dib29rTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0Ftb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0QnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKVxuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLy8gZXhjZXB0IGtsbXMgdHJhbnNhY3Rpb25zIGJlY2F1c2UgdGhleSBuZWVkZWQgb25seSBmb3Iga2xtcyBtZXRob2RcbiAgICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuaXNLTE1zQnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50Jyk7XG5cbiAgICAvLyBNYXRoLmFicyBiZWNhdXNlIGFtb3VudCB3aWxsIGJlIG5lZ2F0aXZlIChiZWNhdXNlIHdlIHN1bSBleHBlbnNlcyksIGJ1dCB3ZSBkb24ndCB3YW50IG5lZ2F0aXZlIHBlcmNlbnQgdmFsdWVcbiAgICByZXR1cm4gTWF0aC5hYnModHJhbnNhY3Rpb25zQW1vdW50KSAqIHRoaXMud29ya1VzYWdlIC8gMTAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBLTE1zIHRyYW5zYWN0aW9uIGJhc2VkIG9uIHZlaGljbGUgY2xhaW0gYW5kIHZlaGljbGUgY2xhaW0gcmF0ZVxuICAgKiBAVE9ETyBoYW5kbGUgb24gYmFja2VuZDogQ3JlYXRlIGtsbXMgdHJhbnNhY3Rpb24gd2hlbiB2aGljbGUgY2xhaW0gY3JlYXRlZFxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbih2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXIpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiB0aGlzLmtpbG9tZXRlcnMgKiB2ZWhpY2xlQ2xhaW1SYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSCxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQsXG4gICAgICB0YXhXaXRoaGVsZDogMCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnS2xt4oCZcyBtZXRob2QnLFxuICAgICAgZGF0ZTogbmV3IERhdGUoYCR7bmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyfS0wNi0zMGApLFxuICAgICAgY2xhaW1QZXJjZW50OiAxMDAsXG4gICAgICBjaGFydEFjY291bnRzOiB7XG4gICAgICAgIGlkOiB0aGlzLmdldEtsbXNDaGFydEFjY291bnRzSWRCeVRhbmtUeXBlKHRoaXMudGFua1R5cGUpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRLbG1zQ2hhcnRBY2NvdW50c0lkQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtID0gdGhpcy50YW5rVHlwZSk6IG51bWJlciB7XG4gICAgaWYgKHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uV09SSykge1xuICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcbiAgICB9XG5cbiAgICByZXR1cm4gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXG4gIH1cbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLElBQUksZ0JBQWdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFHdkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQUNFLDZCQUE2QjtRQUM3QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFakQsV0FBTSxHQUEyQixzQkFBc0IsQ0FBQyxHQUFHLENBQUM7UUFDNUQsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFzRjNCLENBQUM7SUFwRkM7O09BRUc7SUFDSCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGdCQUF3QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxZQUFtQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLGtCQUFrQixHQUFXLFlBQVk7YUFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUIsc0JBQXNCLEVBQUU7WUFDekIsb0VBQW9FO2FBQ25FLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5CLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLGdCQUF3QjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCO1lBQzFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1lBQ2xDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO1lBQy9CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztZQUNuRCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsRUFBRSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3pEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdDQUFnQyxDQUFDLFdBQXlCLElBQUksQ0FBQyxRQUFRO1FBQ3JFLElBQUksUUFBUSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQztTQUN0RDtRQUVELE9BQU8scUJBQXFCLENBQUMsY0FBYyxDQUFBO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VmVoaWNsZUNsYWltIGFzIFZlaGljbGVDbGFpbUJhc2V9IGZyb20gJy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHtWZWhpY2xlQ2xhaW1NZXRob2RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy92ZWhpY2xlLWNsYWltLW1ldGhvZC5lbnVtJztcbmltcG9ydCB7RmluYW5jaWFsWWVhcn0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHtUYW5rVHlwZUVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1RyYW5zYWN0aW9uU291cmNlRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtDaGFydEFjY291bnRzTGlzdEVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bSc7XG5pbXBvcnQge1RyYW5zYWN0aW9ufSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1RyYW5zYWN0aW9uQ29sbGVjdGlvbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5cbmNvbnN0IFdFRUtTX0lOX1lFQVIgPSA1MjtcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVDbGFpbSBleHRlbmRzIFZlaGljbGVDbGFpbUJhc2Uge1xuICAvLyBsaW1pdCBmb3Iga21zIGNsYWltIG1ldGhvZFxuICBrbXNMaW1pdDogbnVtYmVyID0gNTAwMDtcbiAgZmluYW5jaWFsWWVhcjogbnVtYmVyID0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xuXG4gIG1ldGhvZDogVmVoaWNsZUNsYWltTWV0aG9kRW51bSA9IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uS01TO1xuICBraWxvbWV0ZXJzOiBudW1iZXIgPSAwO1xuICB3b3JrVXNhZ2U6IG51bWJlciA9IDA7XG4gIGlzTWFudWFsOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogZ2V0IGFtb3VudCBvZiBraWxvbWV0cmVzIHBlciB3ZWVrXG4gICAqL1xuICBnZXQgYXZlcmFnZVdlZWtseVRyYXZlbGVkS21zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMua2lsb21ldGVycyAvIFdFRUtTX0lOX1lFQVI7XG4gIH1cblxuICBpc0xvZ2Jvb2tNZXRob2QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWV0aG9kID09PSBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtLkxPR0JPT0s7XG4gIH1cblxuICBpc0tMTXNNZXRob2QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWV0aG9kID09PSBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtLktNUztcbiAgfVxuXG4gIGlzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmJ1c2luZXNzO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmJ1c2luZXNzO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlKCk6IFRhbmtUeXBlRW51bSB7XG4gICAgcmV0dXJuIHRoaXMuaXNTb2xlVGFuaygpID8gVGFua1R5cGVFbnVtLlNPTEUgOiBUYW5rVHlwZUVudW0uV09SSztcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFpbSBhbW91bnQgZm9yIEtMTXMgbWV0aG9kLiBFeGlzdHMgb25seSBmb3IgS0xNcyBtZXRob2QuXG4gICAqL1xuICBnZXRLTE1zQ2xhaW1BbW91bnQodmVoaWNsZUNsYWltUmF0ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNLTE1zTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiArKHRoaXMua2lsb21ldGVycyAqIHZlaGljbGVDbGFpbVJhdGUpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZ2Jvb2sgY2xhaW0gYW1vdW50LiBFeGlzdHMgb25seSBmb3IgbG9nYm9vayBtZXRob2QuXG4gICAqIENsYWltQW1vdW50ID0gV29ya1VzYWdlICogdHJhbnNhY3Rpb24vZGVwcmVjaWF0aW9uIGFtb3VudFxuICAgKi9cbiAgZ2V0TG9nYm9va0NsYWltQW1vdW50KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dib29rTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0Ftb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0QnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKVxuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLy8gZXhjZXB0IGtsbXMgdHJhbnNhY3Rpb25zIGJlY2F1c2UgdGhleSBuZWVkZWQgb25seSBmb3Iga2xtcyBtZXRob2RcbiAgICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuaXNLTE1zQnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50Jyk7XG5cbiAgICAvLyBNYXRoLmFicyBiZWNhdXNlIGFtb3VudCB3aWxsIGJlIG5lZ2F0aXZlIChiZWNhdXNlIHdlIHN1bSBleHBlbnNlcyksIGJ1dCB3ZSBkb24ndCB3YW50IG5lZ2F0aXZlIHBlcmNlbnQgdmFsdWVcbiAgICByZXR1cm4gTWF0aC5hYnModHJhbnNhY3Rpb25zQW1vdW50KSAqIHRoaXMud29ya1VzYWdlIC8gMTAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBLTE1zIHRyYW5zYWN0aW9uIGJhc2VkIG9uIHZlaGljbGUgY2xhaW0gYW5kIHZlaGljbGUgY2xhaW0gcmF0ZVxuICAgKiBAVE9ETyBoYW5kbGUgb24gYmFja2VuZDogQ3JlYXRlIGtsbXMgdHJhbnNhY3Rpb24gd2hlbiB2aGljbGUgY2xhaW0gY3JlYXRlZFxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbih2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXIpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiB0aGlzLmtpbG9tZXRlcnMgKiB2ZWhpY2xlQ2xhaW1SYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSCxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQsXG4gICAgICB0YXhXaXRoaGVsZDogMCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnS2xt4oCZcyBtZXRob2QnLFxuICAgICAgZGF0ZTogbmV3IERhdGUoYCR7bmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyfS0wNi0zMGApLFxuICAgICAgY2xhaW1QZXJjZW50OiAxMDAsXG4gICAgICBjaGFydEFjY291bnRzOiB7XG4gICAgICAgIGlkOiB0aGlzLmdldEtsbXNDaGFydEFjY291bnRzSWRCeVRhbmtUeXBlKHRoaXMudGFua1R5cGUpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRLbG1zQ2hhcnRBY2NvdW50c0lkQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtID0gdGhpcy50YW5rVHlwZSk6IG51bWJlciB7XG4gICAgaWYgKHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uV09SSykge1xuICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcbiAgICB9XG5cbiAgICByZXR1cm4gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXG4gIH1cbn1cbiJdfQ==
@@ -6,6 +6,7 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "../auth/jwt.service";
7
7
  /**
8
8
  * server sent events service
9
+ * https://symfony.com/doc/current/mercure.html
9
10
  */
10
11
  export class SseService {
11
12
  constructor(zone, jwtService, environment) {
@@ -46,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
46
47
  type: Inject,
47
48
  args: ['environment']
48
49
  }] }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvZXZlbnQvc3NlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQUduRjs7R0FFRztBQUlILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1UsSUFBWSxFQUNaLFVBQXNCLEVBQ0MsV0FBZ0I7UUFGdkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztJQUVqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxFQUFFLENBQUMsS0FBYTtRQUNkLE1BQU0sR0FBRyxHQUFRLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2SCxtQ0FBbUM7UUFDbkMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxHQUF3QixJQUFJLG1CQUFtQixDQUFDLEdBQUcsRUFBRTtnQkFDM0QsT0FBTyxFQUFFO29CQUNQLGFBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7aUJBQ3REO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQW1CLEVBQVEsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQzthQUNDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFVLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7d0dBL0JVLFVBQVUsa0VBSVgsYUFBYTs0R0FKWixVQUFVLGNBRlQsTUFBTTs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2ZW50U291cmNlUG9seWZpbGwgfSBmcm9tICdldmVudC1zb3VyY2UtcG9seWZpbGwvc3JjL2V2ZW50c291cmNlLm1pbi5qcyc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9qd3Quc2VydmljZSc7XG5cbi8qKlxuICogc2VydmVyIHNlbnQgZXZlbnRzIHNlcnZpY2VcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3NlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0IHRvIHVybCBmb3Igc2VydmVyIGV2ZW50c1xuICAgKi9cbiAgb24odG9waWM6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgY29uc3QgdXJsOiBVUkwgPSBuZXcgVVJMKHRoaXMuZW52aXJvbm1lbnQubWVyY3VyZVVybCk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3RvcGljJywgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvJHt0aGlzLmp3dFNlcnZpY2UuZGVjb2RlVG9rZW4oKS51c2VybmFtZX0vJHt0b3BpY31gKTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGNvbnN0IGVzOiBFdmVudFNvdXJjZVBvbHlmaWxsID0gbmV3IEV2ZW50U291cmNlUG9seWZpbGwodXJsLCB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmp3dFNlcnZpY2UuZ2V0VG9rZW4oKSxcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGVzLm9ubWVzc2FnZSA9IChldmVudDogTWVzc2FnZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCk6IHZvaWQgPT4gb2JzZXJ2ZXIubmV4dChldmVudCkpO1xuICAgICAgfTtcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpOiBvYmplY3QgPT4ge1xuICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKG1lc3NhZ2VFdmVudC5kYXRhKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvZXZlbnQvc3NlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQUduRjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNVLElBQVksRUFDWixVQUFzQixFQUNDLFdBQWdCO1FBRnZDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0MsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFFakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsRUFBRSxDQUFDLEtBQWE7UUFDZCxNQUFNLEdBQUcsR0FBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkgsbUNBQW1DO1FBQ25DLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxNQUFNLEVBQUUsR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNELE9BQU8sRUFBRTtvQkFDUCxhQUFhLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2lCQUN0RDthQUNGLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFtQixFQUFRLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBVSxFQUFFO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7O3dHQS9CVSxVQUFVLGtFQUlYLGFBQWE7NEdBSlosVUFBVSxjQUZULE1BQU07NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdmVudFNvdXJjZVBvbHlmaWxsIH0gZnJvbSAnZXZlbnQtc291cmNlLXBvbHlmaWxsL3NyYy9ldmVudHNvdXJjZS5taW4uanMnO1xuaW1wb3J0IHsgSnd0U2VydmljZSB9IGZyb20gJy4uL2F1dGgvand0LnNlcnZpY2UnO1xuXG4vKipcbiAqIHNlcnZlciBzZW50IGV2ZW50cyBzZXJ2aWNlXG4gKiBodHRwczovL3N5bWZvbnkuY29tL2RvYy9jdXJyZW50L21lcmN1cmUuaHRtbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTc2VTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3QgdG8gdXJsIGZvciBzZXJ2ZXIgZXZlbnRzXG4gICAqL1xuICBvbih0b3BpYzogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBjb25zdCB1cmw6IFVSTCA9IG5ldyBVUkwodGhpcy5lbnZpcm9ubWVudC5tZXJjdXJlVXJsKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9waWMnLCBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy8ke3RoaXMuand0U2VydmljZS5kZWNvZGVUb2tlbigpLnVzZXJuYW1lfS8ke3RvcGljfWApO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0eXBlZGVmXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgZXM6IEV2ZW50U291cmNlUG9seWZpbGwgPSBuZXcgRXZlbnRTb3VyY2VQb2x5ZmlsbCh1cmwsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRoaXMuand0U2VydmljZS5nZXRUb2tlbigpLFxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgZXMub25tZXNzYWdlID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKTogdm9pZCA9PiBvYnNlcnZlci5uZXh0KGV2ZW50KSk7XG4gICAgICB9O1xuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChtZXNzYWdlRXZlbnQ6IE1lc3NhZ2VFdmVudCk6IG9iamVjdCA9PiB7XG4gICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UobWVzc2FnZUV2ZW50LmRhdGEpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Validator that check if sum amount of provided fields is greater than provided sum
3
+ * @param field to check in each formArray element
4
+ * @param summary to compare with fields sum
5
+ * @param fieldAlias to show it in error message
6
+ */
7
+ export function fieldsSumValidator(field, summary = 100, fieldAlias) {
8
+ return (formArray) => {
9
+ // calculate sum of desired fields in formArray control
10
+ const fieldsSum = formArray['controls']
11
+ .reduce((acc, group) => acc += group.get(field).value, 0);
12
+ if (fieldsSum <= summary) {
13
+ return null;
14
+ }
15
+ else {
16
+ return {
17
+ fieldsSum: {
18
+ name: field,
19
+ alias: fieldAlias,
20
+ summary
21
+ }
22
+ };
23
+ }
24
+ };
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLXN1bS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9maWVsZHMtc3VtLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFhLEVBQUUsVUFBa0IsR0FBRyxFQUFFLFVBQW1CO0lBQzFGLE9BQU8sQ0FBQyxTQUEwQixFQUFvQixFQUFFO1FBQ3RELHVEQUF1RDtRQUN2RCxNQUFNLFNBQVMsR0FBVyxTQUFTLENBQUMsVUFBVSxDQUFDO2FBQzVDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxLQUFzQixFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckYsSUFBSSxTQUFTLElBQUksT0FBTyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU87Z0JBQ0wsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxLQUFLO29CQUNYLEtBQUssRUFBRSxVQUFVO29CQUNqQixPQUFPO2lCQUNSO2FBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVmFsaWRhdG9yIHRoYXQgY2hlY2sgaWYgc3VtIGFtb3VudCBvZiBwcm92aWRlZCBmaWVsZHMgaXMgZ3JlYXRlciB0aGFuIHByb3ZpZGVkIHN1bVxuICogQHBhcmFtIGZpZWxkIHRvIGNoZWNrIGluIGVhY2ggZm9ybUFycmF5IGVsZW1lbnRcbiAqIEBwYXJhbSBzdW1tYXJ5IHRvIGNvbXBhcmUgd2l0aCBmaWVsZHMgc3VtXG4gKiBAcGFyYW0gZmllbGRBbGlhcyB0byBzaG93IGl0IGluIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkc1N1bVZhbGlkYXRvcihmaWVsZDogc3RyaW5nLCBzdW1tYXJ5OiBudW1iZXIgPSAxMDAsIGZpZWxkQWxpYXM/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoZm9ybUFycmF5OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzID0+IHtcbiAgICAvLyBjYWxjdWxhdGUgc3VtIG9mIGRlc2lyZWQgZmllbGRzIGluIGZvcm1BcnJheSBjb250cm9sXG4gICAgY29uc3QgZmllbGRzU3VtOiBudW1iZXIgPSBmb3JtQXJyYXlbJ2NvbnRyb2xzJ11cbiAgICAgIC5yZWR1Y2UoKGFjYzogbnVtYmVyLCBncm91cDogQWJzdHJhY3RDb250cm9sKSA9PiBhY2MgKz0gZ3JvdXAuZ2V0KGZpZWxkKS52YWx1ZSwgMCk7XG5cbiAgICBpZiAoZmllbGRzU3VtIDw9IHN1bW1hcnkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZHNTdW06IHtcbiAgICAgICAgICBuYW1lOiBmaWVsZCxcbiAgICAgICAgICBhbGlhczogZmllbGRBbGlhcyxcbiAgICAgICAgICBzdW1tYXJ5XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuIl19
@@ -21,7 +21,7 @@ import { throwError as throwError$1 } from 'rxjs/internal/observable/throwError'
21
21
  import cloneDeep$1 from 'lodash/cloneDeep';
22
22
  import compact from 'lodash/compact';
23
23
  import { DateRange } from 'moment-range';
24
- import { Validators, FormGroup, FormControl, FormArray } from '@angular/forms';
24
+ import { Validators, FormGroup, FormArray, FormControl } from '@angular/forms';
25
25
  import fromPairs from 'lodash/fromPairs';
26
26
  import _ from 'lodash';
27
27
  import { EventSourcePolyfill } from 'event-source-polyfill/src/eventsource.min.js';
@@ -2488,19 +2488,29 @@ class BankAccount extends BankAccount$1 {
2488
2488
  * check if bank account related to work tank
2489
2489
  */
2490
2490
  isWorkTank() {
2491
- return this.tankType === TankTypeEnum.WORK;
2491
+ return !this.isPropertyTank() && !this.isSoleTank();
2492
2492
  }
2493
2493
  /**
2494
2494
  * check if bank account related to work tank
2495
2495
  */
2496
2496
  isPropertyTank() {
2497
- return this.tankType === TankTypeEnum.PROPERTY;
2497
+ return !!this.bankAccountProperties.length;
2498
2498
  }
2499
2499
  /**
2500
2500
  * check if bank account related to sole tank
2501
2501
  */
2502
2502
  isSoleTank() {
2503
- return this.tankType === TankTypeEnum.SOLE;
2503
+ return !!this.businessAllocations.length;
2504
+ }
2505
+ get tankType() {
2506
+ switch (true) {
2507
+ case this.isPropertyTank():
2508
+ return TankTypeEnum.PROPERTY;
2509
+ case this.isSoleTank():
2510
+ return TankTypeEnum.SOLE;
2511
+ default:
2512
+ return TankTypeEnum.WORK;
2513
+ }
2504
2514
  }
2505
2515
  /**
2506
2516
  * Get Bank account property by id
@@ -6940,10 +6950,13 @@ class VehicleClaim extends VehicleClaim$1 {
6940
6950
  return this.method === VehicleClaimMethodEnum.KMS;
6941
6951
  }
6942
6952
  isWorkTank() {
6943
- return this.tankType === TankTypeEnum.WORK;
6953
+ return !this.business;
6944
6954
  }
6945
6955
  isSoleTank() {
6946
- return this.tankType === TankTypeEnum.SOLE;
6956
+ return !!this.business;
6957
+ }
6958
+ get tankType() {
6959
+ return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
6947
6960
  }
6948
6961
  /**
6949
6962
  * Claim amount for KLMs method. Exists only for KLMs method.
@@ -9679,6 +9692,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
9679
9692
 
9680
9693
  /**
9681
9694
  * server sent events service
9695
+ * https://symfony.com/doc/current/mercure.html
9682
9696
  */
9683
9697
  class SseService {
9684
9698
  constructor(zone, jwtService, environment) {
@@ -12605,6 +12619,7 @@ function taxReviewFilterPredicate(data, filter) {
12605
12619
 
12606
12620
  /**
12607
12621
  * Abstract form class
12622
+ * @TODO rename to AbstractFormGroup
12608
12623
  */
12609
12624
  class AbstractForm extends FormGroup {
12610
12625
  constructor(controls, model, validatorOrOpts, asyncValidator) {
@@ -12628,51 +12643,105 @@ class AbstractForm extends FormGroup {
12628
12643
  this.onSubmit.emit(model);
12629
12644
  return model;
12630
12645
  }
12646
+ addControl(name, control, options) {
12647
+ super.addControl(name, control, options);
12648
+ return this;
12649
+ }
12631
12650
  createModelInstance(data = {}) {
12632
12651
  return plainToClass(this.modelClass, data);
12633
12652
  }
12634
12653
  }
12635
12654
 
12655
+ function conditionalValidator(condition, validator) {
12656
+ return function (control) {
12657
+ revalidateOnChanges(control);
12658
+ if (control && control.parent) {
12659
+ if (condition(control.parent)) {
12660
+ return validator(control);
12661
+ }
12662
+ }
12663
+ return null;
12664
+ };
12665
+ }
12636
12666
  /**
12637
- * Form with bank account loan details
12667
+ * Conditional validator depends on other fields and should be updated on each form value change
12638
12668
  */
12639
- class BankAccountLoanForm extends AbstractForm {
12640
- constructor(loan = plainToClass(Loan, {})) {
12641
- super({
12642
- type: new FormControl(loan.type, Validators.required),
12643
- amount: new FormControl(loan.amount, Validators.required),
12644
- repaymentType: new FormControl(loan.repaymentType, Validators.required),
12645
- interestRate: new FormControl(loan.interestRate, [Validators.required, Validators.min(0), Validators.max(100)]),
12646
- interestType: new FormControl(loan.interestType, Validators.required),
12647
- availableRedraw: new FormControl(loan.availableRedraw, Validators.required),
12648
- commencementDate: new FormControl(loan.commencementDate, Validators.required),
12649
- repaymentAmount: new FormControl(loan.repaymentAmount, Validators.required),
12650
- repaymentFrequency: new FormControl(loan.repaymentFrequency, Validators.required)
12651
- }, loan);
12669
+ function revalidateOnChanges(control) {
12670
+ if (control && control.parent && !control['_revalidateOnChanges']) {
12671
+ control['_revalidateOnChanges'] = true;
12672
+ control.parent.valueChanges.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)))
12673
+ .subscribe(() => {
12674
+ control.updateValueAndValidity({ emitEvent: false });
12675
+ });
12652
12676
  }
12677
+ return;
12678
+ }
12679
+
12680
+ /**
12681
+ * Validator that check if sum amount of provided fields is greater than provided sum
12682
+ * @param field to check in each formArray element
12683
+ * @param summary to compare with fields sum
12684
+ * @param fieldAlias to show it in error message
12685
+ */
12686
+ function fieldsSumValidator(field, summary = 100, fieldAlias) {
12687
+ return (formArray) => {
12688
+ // calculate sum of desired fields in formArray control
12689
+ const fieldsSum = formArray['controls']
12690
+ .reduce((acc, group) => acc += group.get(field).value, 0);
12691
+ if (fieldsSum <= summary) {
12692
+ return null;
12693
+ }
12694
+ else {
12695
+ return {
12696
+ fieldsSum: {
12697
+ name: field,
12698
+ alias: fieldAlias,
12699
+ summary
12700
+ }
12701
+ };
12702
+ }
12703
+ };
12653
12704
  }
12654
12705
 
12655
12706
  /**
12656
12707
  * Form array with bank account properties
12708
+ * @TODO create AbstractFormArray
12657
12709
  */
12658
12710
  class BankAccountPropertiesForm extends FormArray {
12659
12711
  constructor(bankAccountProperties = [plainToClass(BankAccountProperty, {})]) {
12660
12712
  super(bankAccountProperties.map((bankAccountProperty) => {
12661
12713
  return new FormGroup({
12662
- property: new FormControl(bankAccountProperty.property, Validators.required),
12714
+ property: new FormControl(bankAccountProperty === null || bankAccountProperty === void 0 ? void 0 : bankAccountProperty.property, Validators.required),
12663
12715
  percent: new FormControl(bankAccountProperty.percent, Validators.required)
12664
12716
  });
12665
- }));
12717
+ }), [
12718
+ conditionalValidator((control) => control.get('tankType').value === TankTypeEnum.PROPERTY, Validators.required),
12719
+ fieldsSumValidator('percent', 100)
12720
+ ]);
12666
12721
  }
12667
12722
  add() {
12668
12723
  this.push(new FormGroup({
12669
12724
  property: new FormControl(null, Validators.required),
12670
- percent: new FormControl({
12671
- value: 100,
12672
- disabled: !this.at(0).contains('percent')
12673
- }, Validators.required)
12674
- }));
12675
- }
12725
+ // @TODO disable for loans
12726
+ percent: new FormControl({ value: 100, disabled: !this.at(0).contains('percent') }, Validators.required),
12727
+ // @TODO enable for loans
12728
+ // amount: new FormControl(
12729
+ // {value: this.bankAccount.currentBalance * bankAccountProperty.percent / 100},
12730
+ // [Validators.required, Validators.max(Math.abs(this.bankAccount.currentBalance))]
12731
+ // ),
12732
+ }));
12733
+ }
12734
+ // @TODO enable for loans
12735
+ // /**
12736
+ // * Recalculate property percentage for current property form group and round to no more than 3 decimal places
12737
+ // * @param amount: new control value
12738
+ // * @param currentPropertyGroup for which amount will be recalculated
12739
+ // */
12740
+ // recalculatePropertyPercentage(amount: number, currentPropertyGroup: FormGroup): void {
12741
+ // currentPropertyGroup.get('percent').setValue(
12742
+ // roundTo(amount / this.bankAccount.currentBalance, 3)
12743
+ // );
12744
+ // }
12676
12745
  enablePercent() {
12677
12746
  this.controls.forEach((propertyFormGroup) => {
12678
12747
  propertyFormGroup.get('percent').enable();
@@ -12685,36 +12754,23 @@ class BankAccountPropertiesForm extends FormArray {
12685
12754
  }
12686
12755
  }
12687
12756
 
12688
- /**
12689
- * Form is using for import basiq bank accounts.
12690
- * Basiq accounts has all data except tank type, properties and loan partially
12691
- */
12692
- class BankAccountImportForm extends AbstractForm {
12757
+ class BankAccountAllocationForm extends AbstractForm {
12693
12758
  constructor(bankAccount) {
12694
12759
  super({
12695
- tankType: new FormControl(bankAccount.tankType, Validators.required),
12696
- }, bankAccount);
12697
- if (bankAccount.isLoan()) {
12698
- this.addControl('loan', new BankAccountLoanForm(bankAccount.loan));
12760
+ tankType: new FormControl(bankAccount ? bankAccount.tankType : null, Validators.required),
12761
+ }, plainToClass(BankAccount, bankAccount || {}));
12762
+ this.bankAccount = bankAccount;
12763
+ if (bankAccount === null || bankAccount === void 0 ? void 0 : bankAccount.isPropertyTank()) {
12764
+ this.addControl('bankAccountProperties', new BankAccountPropertiesForm(bankAccount.bankAccountProperties));
12699
12765
  }
12700
- // basiq account import form should be disabled (unchecked) by default
12701
- this.disable();
12702
- this.listenEvents();
12703
- }
12704
- listenEvents() {
12705
- this.listenTankTypeChanges();
12766
+ this.watchTankType();
12706
12767
  }
12707
- /**
12708
- * Add/Remove bank account properties form depends on selected tank type
12709
- */
12710
- listenTankTypeChanges() {
12768
+ watchTankType() {
12711
12769
  this.get('tankType').valueChanges.subscribe((tankType) => {
12770
+ var _a;
12771
+ // @TODO vik add businessAllocation
12712
12772
  if (tankType === TankTypeEnum.PROPERTY) {
12713
- this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
12714
- // property percent allowed only for loan bank accounts
12715
- if (!this.contains('loan')) {
12716
- this.get('bankAccountProperties').disablePercent();
12717
- }
12773
+ this.addControl('bankAccountProperties', new BankAccountPropertiesForm((_a = this.bankAccount) === null || _a === void 0 ? void 0 : _a.bankAccountProperties));
12718
12774
  }
12719
12775
  else {
12720
12776
  this.removeControl('bankAccountProperties');
@@ -12723,24 +12779,56 @@ class BankAccountImportForm extends AbstractForm {
12723
12779
  }
12724
12780
  }
12725
12781
 
12782
+ /**
12783
+ * Form with bank account loan details
12784
+ */
12785
+ class BankAccountLoanForm extends AbstractForm {
12786
+ constructor(loan = plainToClass(Loan, {})) {
12787
+ super({
12788
+ type: new FormControl(loan.type, Validators.required),
12789
+ amount: new FormControl(loan.amount, Validators.required),
12790
+ repaymentType: new FormControl(loan.repaymentType, Validators.required),
12791
+ interestRate: new FormControl(loan.interestRate, [Validators.required, Validators.min(0), Validators.max(100)]),
12792
+ interestType: new FormControl(loan.interestType, Validators.required),
12793
+ availableRedraw: new FormControl(loan.availableRedraw, Validators.required),
12794
+ commencementDate: new FormControl(loan.commencementDate, Validators.required),
12795
+ repaymentAmount: new FormControl(loan.repaymentAmount, Validators.required),
12796
+ repaymentFrequency: new FormControl(loan.repaymentFrequency, Validators.required)
12797
+ }, loan);
12798
+ }
12799
+ }
12800
+
12801
+ /**
12802
+ * Form is using for import basiq bank accounts.
12803
+ * Basiq accounts has all data except tank type, properties and loan partially
12804
+ */
12805
+ class BankAccountImportForm extends BankAccountAllocationForm {
12806
+ constructor(bankAccount) {
12807
+ super(bankAccount);
12808
+ if (bankAccount.isLoan()) {
12809
+ this.addControl('loan', new BankAccountLoanForm(bankAccount.loan));
12810
+ }
12811
+ // basiq account import form should be disabled (unchecked) by default
12812
+ this.disable();
12813
+ }
12814
+ }
12815
+
12726
12816
  /**
12727
12817
  * Form is using for single manual bank account creation (not Basiq)
12728
12818
  */
12729
- class BankAccountAddManualForm extends AbstractForm {
12819
+ class BankAccountAddManualForm extends BankAccountAllocationForm {
12730
12820
  constructor(connection) {
12731
- super({
12732
- type: new FormControl(null, Validators.required),
12733
- accountName: new FormControl(null, Validators.required),
12734
- currentBalance: new FormControl(null, Validators.required),
12735
- accountNumber: new FormControl(null, [Validators.required, Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]),
12736
- tankType: new FormControl(null, Validators.required),
12737
- }, plainToClass(BankAccount, {}));
12821
+ super();
12738
12822
  this.connection = connection;
12823
+ this
12824
+ .addControl('type', new FormControl(null, Validators.required))
12825
+ .addControl('accountName', new FormControl(null, Validators.required))
12826
+ .addControl('currentBalance', new FormControl(null, Validators.required))
12827
+ .addControl('accountNumber', new FormControl(null, [Validators.required, Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]));
12739
12828
  this.listenEvents();
12740
12829
  }
12741
12830
  listenEvents() {
12742
12831
  this.listenTypeChanges();
12743
- this.listenTankTypeChanges();
12744
12832
  }
12745
12833
  /**
12746
12834
  * Add/Remove loan form depends on selected bank account type
@@ -12749,37 +12837,9 @@ class BankAccountAddManualForm extends AbstractForm {
12749
12837
  this.get('type').valueChanges.subscribe((type) => {
12750
12838
  if (BankAccount.loanTypes.includes(type)) {
12751
12839
  this.addControl('loan', new BankAccountLoanForm());
12752
- // property percent allowed only for loan bank accounts
12753
- if (this.contains('bankAccountProperties')) {
12754
- this.get('bankAccountProperties').enablePercent();
12755
- }
12756
12840
  }
12757
12841
  else {
12758
12842
  this.removeControl('loan');
12759
- // property percent allowed only for loan bank accounts
12760
- if (this.contains('bankAccountProperties')) {
12761
- this.get('bankAccountProperties').disablePercent();
12762
- }
12763
- }
12764
- });
12765
- }
12766
- /**
12767
- * Add/Remove bank account properties form depends on selected tank type
12768
- */
12769
- listenTankTypeChanges() {
12770
- this.get('tankType').valueChanges.subscribe((tankType) => {
12771
- if (tankType === TankTypeEnum.PROPERTY) {
12772
- this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
12773
- // property percent allowed only for loan bank accounts
12774
- if (this.contains('loan')) {
12775
- this.get('bankAccountProperties').enablePercent();
12776
- }
12777
- else {
12778
- this.get('bankAccountProperties').disablePercent();
12779
- }
12780
- }
12781
- else {
12782
- this.removeControl('bankAccountProperties');
12783
12843
  }
12784
12844
  });
12785
12845
  }
@@ -12905,31 +12965,6 @@ function autocompleteValidator() {
12905
12965
  };
12906
12966
  }
12907
12967
 
12908
- function conditionalValidator(condition, validator) {
12909
- return function (control) {
12910
- revalidateOnChanges(control);
12911
- if (control && control.parent) {
12912
- if (condition(control.parent)) {
12913
- return validator(control);
12914
- }
12915
- }
12916
- return null;
12917
- };
12918
- }
12919
- /**
12920
- * Conditional validator depends on other fields and should be updated on each form value change
12921
- */
12922
- function revalidateOnChanges(control) {
12923
- if (control && control.parent && !control['_revalidateOnChanges']) {
12924
- control['_revalidateOnChanges'] = true;
12925
- control.parent.valueChanges.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)))
12926
- .subscribe(() => {
12927
- control.updateValueAndValidity({ emitEvent: false });
12928
- });
12929
- }
12930
- return;
12931
- }
12932
-
12933
12968
  /**
12934
12969
  * Regular expressions that are used to check password strength and valid values
12935
12970
  */
@@ -13528,5 +13563,5 @@ class MyTaxRentForm extends AbstractForm {
13528
13563
  * Generated bundle index. Do not edit.
13529
13564
  */
13530
13565
 
13531
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountLoanForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, ChartAccounts, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleForecast, SoleForecastService, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, Vehicle, VehicleClaim, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleCollection, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WORK_TANK_LOGBOOK_PURPOSE_OPTIONS, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, displayMatOptions, enumToList, getDocIcon, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
13566
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountLoanForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, ChartAccounts, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleForecast, SoleForecastService, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, Vehicle, VehicleClaim, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleCollection, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WORK_TANK_LOGBOOK_PURPOSE_OPTIONS, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, displayMatOptions, enumToList, getDocIcon, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
13532
13567
  //# sourceMappingURL=taxtank-core.js.map