taxtank-core 0.21.6 → 0.21.9

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 (38) hide show
  1. package/bundles/taxtank-core.umd.js +247 -97
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/chart-accounts.collection.js +12 -0
  4. package/esm2015/lib/collections/collection.js +7 -1
  5. package/esm2015/lib/db/Enums/income-source-forecast-trust-type.enum.js +15 -0
  6. package/esm2015/lib/db/Enums/income-source-type-list-other.enum.js +3 -2
  7. package/esm2015/lib/db/Models/incomeSource/income-source-forecast.js +1 -1
  8. package/esm2015/lib/forms/abstract.form.js +2 -2
  9. package/esm2015/lib/forms/report/my-tax/my-tax-deductions.form.js +3 -2
  10. package/esm2015/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.js +5 -2
  11. package/esm2015/lib/interfaces/income-source-forecast.interface.js +1 -1
  12. package/esm2015/lib/models/income-source/income-source-type.js +3 -3
  13. package/esm2015/lib/models/report/my-tax/index.js +21 -0
  14. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +13 -3
  15. package/esm2015/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.js +40 -0
  16. package/esm2015/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.js +20 -2
  17. package/esm2015/lib/models/tax-summary/report-item.js +8 -1
  18. package/esm2015/lib/validators/conditional.validator.js +26 -0
  19. package/esm2015/lib/validators/index.js +2 -1
  20. package/esm2015/public-api.js +5 -17
  21. package/fesm2015/taxtank-core.js +226 -93
  22. package/fesm2015/taxtank-core.js.map +1 -1
  23. package/lib/collections/chart-accounts.collection.d.ts +8 -0
  24. package/lib/collections/collection.d.ts +2 -0
  25. package/lib/db/Enums/income-source-forecast-trust-type.enum.d.ts +13 -0
  26. package/lib/db/Enums/income-source-type-list-other.enum.d.ts +3 -2
  27. package/lib/db/Models/incomeSource/income-source-forecast.d.ts +3 -1
  28. package/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.d.ts +1 -1
  29. package/lib/interfaces/income-source-forecast.interface.d.ts +2 -0
  30. package/lib/models/report/my-tax/index.d.ts +20 -0
  31. package/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts +1 -0
  32. package/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.d.ts +20 -0
  33. package/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.d.ts +9 -1
  34. package/lib/models/tax-summary/report-item.d.ts +8 -1
  35. package/lib/validators/conditional.validator.d.ts +2 -0
  36. package/lib/validators/index.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/public-api.d.ts +4 -16
@@ -2867,6 +2867,12 @@
2867
2867
  Collection.prototype.removeBy = function (path, values) {
2868
2868
  return this.filter(function (item) { return !(Array.isArray(values) ? values : [values]).includes(get__default["default"](item, path)); });
2869
2869
  };
2870
+ Collection.prototype.minBy = function (path) {
2871
+ return this.items.reduce(function (prev, current) { return (get__default["default"](prev, path) < get__default["default"](current, path) ? prev : current); });
2872
+ };
2873
+ Collection.prototype.maxBy = function (path) {
2874
+ return this.items.reduce(function (prev, current) { return (get__default["default"](prev, path) > get__default["default"](current, path) ? prev : current); });
2875
+ };
2870
2876
  return Collection;
2871
2877
  }());
2872
2878
 
@@ -4122,6 +4128,79 @@
4122
4128
  return BankTransactionCollection;
4123
4129
  }(Collection));
4124
4130
 
4131
+ exports.ChartAccountsListEnum = void 0;
4132
+ (function (ChartAccountsListEnum) {
4133
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
4134
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
4135
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
4136
+ ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
4137
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
4138
+ ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
4139
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
4140
+ ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
4141
+ ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
4142
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
4143
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
4144
+ ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
4145
+ ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
4146
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
4147
+ ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
4148
+ ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
4149
+ ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
4150
+ ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
4151
+ ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
4152
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
4153
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
4154
+ ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
4155
+ ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
4156
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
4157
+ ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
4158
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
4159
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
4160
+ ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
4161
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
4162
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
4163
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
4164
+ ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
4165
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
4166
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
4167
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
4168
+ ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
4169
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
4170
+ ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
4171
+ ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
4172
+ ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
4173
+ ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
4174
+ ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
4175
+ ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
4176
+ ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
4177
+ ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
4178
+ ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
4179
+ ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
4180
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
4181
+ ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
4182
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
4183
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
4184
+ ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
4185
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
4186
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
4187
+ })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
4188
+
4189
+ var ChartAccountsCollection = /** @class */ (function (_super) {
4190
+ __extends(ChartAccountsCollection, _super);
4191
+ function ChartAccountsCollection() {
4192
+ return _super !== null && _super.apply(this, arguments) || this;
4193
+ }
4194
+ /**
4195
+ * Get 'Klms travelled for work' related chart account value
4196
+ */
4197
+ ChartAccountsCollection.prototype.getVehicleKlmsRate = function (year) {
4198
+ if (year === void 0) { year = new FinancialYear().year; }
4199
+ return this.findBy('id', exports.ChartAccountsListEnum.KLMS_TRAVELLED_FOR_WORK).getValueByYear(year).value;
4200
+ };
4201
+ return ChartAccountsCollection;
4202
+ }(Collection));
4203
+
4125
4204
  var ClientCollection = /** @class */ (function (_super) {
4126
4205
  __extends(ClientCollection, _super);
4127
4206
  function ClientCollection() {
@@ -5149,64 +5228,6 @@
5149
5228
  ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["FUEL_OIL"] = 61] = "FUEL_OIL";
5150
5229
  })(exports.ChartAccountsHeadingVehicleListEnum || (exports.ChartAccountsHeadingVehicleListEnum = {}));
5151
5230
 
5152
- exports.ChartAccountsListEnum = void 0;
5153
- (function (ChartAccountsListEnum) {
5154
- ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
5155
- ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
5156
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
5157
- ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
5158
- ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
5159
- ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
5160
- ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
5161
- ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
5162
- ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
5163
- ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
5164
- ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
5165
- ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
5166
- ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
5167
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
5168
- ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
5169
- ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
5170
- ChartAccountsListEnum[ChartAccountsListEnum["TRANSFER"] = 615] = "TRANSFER";
5171
- ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
5172
- ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
5173
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
5174
- ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
5175
- ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
5176
- ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
5177
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
5178
- ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
5179
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
5180
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
5181
- ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
5182
- ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
5183
- ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
5184
- ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
5185
- ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
5186
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
5187
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
5188
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
5189
- ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
5190
- ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
5191
- ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
5192
- ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
5193
- ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
5194
- ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
5195
- ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
5196
- ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
5197
- ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
5198
- ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
5199
- ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
5200
- ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
5201
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
5202
- ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
5203
- ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
5204
- ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
5205
- ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
5206
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
5207
- ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
5208
- })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
5209
-
5210
5231
  var DepreciationCapitalProject$1 = /** @class */ (function (_super) {
5211
5232
  __extends(DepreciationCapitalProject, _super);
5212
5233
  function DepreciationCapitalProject() {
@@ -5673,10 +5694,16 @@
5673
5694
  (function (IncomeSourceTypeListOtherEnum) {
5674
5695
  IncomeSourceTypeListOtherEnum[IncomeSourceTypeListOtherEnum["PSI"] = 6] = "PSI";
5675
5696
  IncomeSourceTypeListOtherEnum[IncomeSourceTypeListOtherEnum["SOLE_TRADER"] = 7] = "SOLE_TRADER";
5676
- IncomeSourceTypeListOtherEnum[IncomeSourceTypeListOtherEnum["PARTNERSHIPS_AND_TRUSTS"] = 9] = "PARTNERSHIPS_AND_TRUSTS";
5697
+ IncomeSourceTypeListOtherEnum[IncomeSourceTypeListOtherEnum["TRUSTS"] = 9] = "TRUSTS";
5677
5698
  IncomeSourceTypeListOtherEnum[IncomeSourceTypeListOtherEnum["OTHER_INCOME"] = 10] = "OTHER_INCOME";
5699
+ IncomeSourceTypeListOtherEnum[IncomeSourceTypeListOtherEnum["PARTNERSHIPS"] = 12] = "PARTNERSHIPS";
5678
5700
  })(exports.IncomeSourceTypeListOtherEnum || (exports.IncomeSourceTypeListOtherEnum = {}));
5679
5701
 
5702
+ exports.IncomeSourceTypeListSoleEnum = void 0;
5703
+ (function (IncomeSourceTypeListSoleEnum) {
5704
+ IncomeSourceTypeListSoleEnum[IncomeSourceTypeListSoleEnum["SOLE_TRADER"] = 7] = "SOLE_TRADER";
5705
+ })(exports.IncomeSourceTypeListSoleEnum || (exports.IncomeSourceTypeListSoleEnum = {}));
5706
+
5680
5707
  var IncomeSourceType = /** @class */ (function (_super) {
5681
5708
  __extends(IncomeSourceType, _super);
5682
5709
  function IncomeSourceType() {
@@ -5692,8 +5719,7 @@
5692
5719
  return !!exports.IncomeSourceTypeListOtherEnum[this.id];
5693
5720
  };
5694
5721
  IncomeSourceType.prototype.isSole = function () {
5695
- // @TODO use IncomeSourceTypeListSoleEnum when sole tank ready
5696
- return !!exports.IncomeSourceTypeListOtherEnum[this.id];
5722
+ return !!exports.IncomeSourceTypeListSoleEnum[this.id];
5697
5723
  };
5698
5724
  Object.defineProperty(IncomeSourceType.prototype, "type", {
5699
5725
  get: function () {
@@ -7209,10 +7235,20 @@
7209
7235
  DepreciationWriteOffAmountEnum[DepreciationWriteOffAmountEnum["BORROWING_EXPENSES"] = 100] = "BORROWING_EXPENSES";
7210
7236
  })(exports.DepreciationWriteOffAmountEnum || (exports.DepreciationWriteOffAmountEnum = {}));
7211
7237
 
7212
- exports.IncomeSourceTypeListSoleEnum = void 0;
7213
- (function (IncomeSourceTypeListSoleEnum) {
7214
- IncomeSourceTypeListSoleEnum[IncomeSourceTypeListSoleEnum["SOLE_TRADER"] = 7] = "SOLE_TRADER";
7215
- })(exports.IncomeSourceTypeListSoleEnum || (exports.IncomeSourceTypeListSoleEnum = {}));
7238
+ exports.IncomeSourceForecastTrustTypeEnum = void 0;
7239
+ (function (IncomeSourceForecastTrustTypeEnum) {
7240
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["SPECIAL_DISABILITY_TRUST"] = 1] = "SPECIAL_DISABILITY_TRUST";
7241
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["DECEASED_ESTATE"] = 2] = "DECEASED_ESTATE";
7242
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["FIXED_TRUST"] = 3] = "FIXED_TRUST";
7243
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["HYBRID_TRUST"] = 4] = "HYBRID_TRUST";
7244
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["DISCRETIONARY_SERVICE_TRUST"] = 5] = "DISCRETIONARY_SERVICE_TRUST";
7245
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["DISCRETIONARY_TRADING_TRUST"] = 6] = "DISCRETIONARY_TRADING_TRUST";
7246
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["DISCRETIONARY_INVESTMENT_TRUST"] = 7] = "DISCRETIONARY_INVESTMENT_TRUST";
7247
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["CASH_MANAGEMENT_UNIT_TRUST"] = 8] = "CASH_MANAGEMENT_UNIT_TRUST";
7248
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["PUBLIC_UNIT_TRUST_LISTED"] = 9] = "PUBLIC_UNIT_TRUST_LISTED";
7249
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["PUBLIC_UNIT_TRUST_UNLISTED"] = 10] = "PUBLIC_UNIT_TRUST_UNLISTED";
7250
+ IncomeSourceForecastTrustTypeEnum[IncomeSourceForecastTrustTypeEnum["TESTAMENTARY_TRUST"] = 11] = "TESTAMENTARY_TRUST";
7251
+ })(exports.IncomeSourceForecastTrustTypeEnum || (exports.IncomeSourceForecastTrustTypeEnum = {}));
7216
7252
 
7217
7253
  exports.InviteStatusEnum = void 0;
7218
7254
  (function (InviteStatusEnum) {
@@ -9283,17 +9319,6 @@
9283
9319
  return PropertySaleTaxExemptionMetadata;
9284
9320
  }(PropertySaleTaxExemptionMetadata$1));
9285
9321
 
9286
- /**
9287
- * Australian Taxation Office (ATO) website links
9288
- */
9289
- var atoLinks = {
9290
- medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9291
- medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9292
- foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9293
- notEntitledToMedicareBenefits: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Not-entitled-to-Medicare-benefits/#:~:text=If%20you%20were%20not%20entitled,an%20exemption%20under%20category%203.&text=are%20a%20member%20of%20a,Australia%20and%20meet%20other%20conditions',
9294
- privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9295
- };
9296
-
9297
9322
  /**
9298
9323
  * @Todo waiting for the Sole tank implementation
9299
9324
  */
@@ -9387,7 +9412,10 @@
9387
9412
  this.depreciations = depreciations;
9388
9413
  this.vehicleClaim = vehicleClaim;
9389
9414
  this.vehicleClaimRate = vehicleClaimRate;
9390
- this.setVehicleClaimData();
9415
+ // user can have no selected vehicle claim
9416
+ if (this.vehicleClaim) {
9417
+ this.setVehicleClaimData();
9418
+ }
9391
9419
  this.setOtherWorkRelatedExpensesTotalAmount();
9392
9420
  this.workRelatedClothingExpenses = this.transactions
9393
9421
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedClothingExpenses);
@@ -9395,7 +9423,7 @@
9395
9423
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.personalSuperContributions);
9396
9424
  this.workRelatedSelfEducationExpenses = this.transactions
9397
9425
  .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedSelfEducationExpenses);
9398
- this.vehicleExpensesTotalAmount = this.vehicleClaim.isLogbookMethod() ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9426
+ this.vehicleExpensesTotalAmount = this.getVehicleExpensesTotalAmount();
9399
9427
  this.workRelatedTravelExpensesTotalAmount = this.transactions
9400
9428
  .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.WORK_RELATED_TRAVEL_EXPENSES)
9401
9429
  .sumBy('amount');
@@ -9432,6 +9460,13 @@
9432
9460
  .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherDeductions)
9433
9461
  .sumBy('amount');
9434
9462
  }
9463
+ MyTaxDeductions.prototype.getVehicleExpensesTotalAmount = function () {
9464
+ var _a;
9465
+ if (this.vehicleClaim) {
9466
+ return ((_a = this.vehicleClaim) === null || _a === void 0 ? void 0 : _a.isLogbookMethod()) ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9467
+ }
9468
+ return 0;
9469
+ };
9435
9470
  MyTaxDeductions.prototype.setVehicleClaimData = function () {
9436
9471
  this.klmsMethodClaimAmount = this.vehicleClaim.getKLMsClaimAmount(this.vehicleClaimRate);
9437
9472
  this.totalExpensesAmount = new VehicleExpenseCollection(this.transactions.getByTankType(this.vehicleClaim.tankType), this.depreciations.getByTankType(this.vehicleClaim.tankType), this.vehicleClaim).sumBy('amount');
@@ -9488,6 +9523,47 @@
9488
9523
  return MyTaxEmployeeShareSchemes;
9489
9524
  }());
9490
9525
 
9526
+ /**
9527
+ * @Todo add link to documentation about related fields, add comments to methods
9528
+ */
9529
+ var MyTaxEstimate = /** @class */ (function () {
9530
+ function MyTaxEstimate() {
9531
+ }
9532
+ MyTaxEstimate.fromTaxSummary = function (taxSummary) {
9533
+ var summarySection = taxSummary.summary;
9534
+ var grossTaxPayableReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE);
9535
+ var medicareReportItem = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.MEDICARE);
9536
+ var taxOffsetsReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_OFFSETS);
9537
+ var lowMiddleIncomeTaxOffsets = this.getLowMiddleIncomeTaxOffsets(taxOffsetsReportItem);
9538
+ var taxPayable = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_ON_TAXABLE_INCOME).amount;
9539
+ var medicareLevy = medicareReportItem.details.findBy('name', 'Medicare Levy Surcharge').amount;
9540
+ var medicareLevySurcharge = medicareReportItem.details.findBy('name', 'Medicare Levy (based on single)').amount;
9541
+ var taxCredits = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_CREDITS).amount;
9542
+ var taxOffsets = this.getTaxOffsets(taxOffsetsReportItem.amount, lowMiddleIncomeTaxOffsets);
9543
+ return classTransformer.plainToClass(MyTaxEstimate, {
9544
+ taxableIncome: summarySection.netAmount,
9545
+ grossTaxPayable: grossTaxPayableReportItem.amount,
9546
+ lowMiddleIncomeTaxOffsets: lowMiddleIncomeTaxOffsets,
9547
+ taxPayable: taxPayable,
9548
+ medicareLevy: medicareLevy,
9549
+ medicareLevySurcharge: medicareLevySurcharge,
9550
+ taxCredits: taxCredits,
9551
+ taxOffsets: taxOffsets,
9552
+ netRefund: taxSummary.projectedTaxPosition,
9553
+ percentageOfTaxPaid: taxSummary.taxPercent
9554
+ });
9555
+ };
9556
+ MyTaxEstimate.getLowMiddleIncomeTaxOffsets = function (taxOffsetsReportItem) {
9557
+ var taxOffsetLowIncome = taxOffsetsReportItem.details.findBy('name', 'Tax Offset Low Income');
9558
+ var taxOffsetLowMiddleIncome = taxOffsetsReportItem.details.findBy('name', 'Tax Offset Low and Middle Income');
9559
+ return taxOffsetLowIncome.amount + taxOffsetLowMiddleIncome.amount;
9560
+ };
9561
+ MyTaxEstimate.getTaxOffsets = function (taxOffsetsReportItemAmount, lowMiddleIncomeTaxOffsets) {
9562
+ return taxOffsetsReportItemAmount - lowMiddleIncomeTaxOffsets;
9563
+ };
9564
+ return MyTaxEstimate;
9565
+ }());
9566
+
9491
9567
  var MyTaxIncomeStatements = /** @class */ (function () {
9492
9568
  function MyTaxIncomeStatements(transactions) {
9493
9569
  this.transactionsByChartAccounts = transactions.groupBy('chartAccounts.id');
@@ -9621,12 +9697,14 @@
9621
9697
  }());
9622
9698
 
9623
9699
  var MyTaxPartnershipsAndTrusts = /** @class */ (function () {
9624
- function MyTaxPartnershipsAndTrusts(transactions) {
9700
+ function MyTaxPartnershipsAndTrusts(transactions, incomeSources) {
9625
9701
  this.transactions = transactions;
9702
+ this.incomeSources = incomeSources;
9626
9703
  this.partnershipIncomes = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PARTNERSHIP_INCOME);
9627
9704
  this.partnershipExpenses = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PARTNERSHIP_EXPENSES);
9628
9705
  this.trustsIncomes = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TRUST_INCOME);
9629
9706
  this.trustsExpenses = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TRUST_EXPENSES);
9707
+ this.trustType = this.getTrustType();
9630
9708
  this.netNonPrimaryProductionAmount = (this.partnershipIncomes.sumBy('amount') - this.partnershipExpenses.sumBy('amount')) +
9631
9709
  (this.trustsIncomes.sumBy('amount') - this.trustsExpenses.sumBy('amount'));
9632
9710
  this.partnershipsNetIncome = this.partnershipIncomes.sumBy('amount') -
@@ -9646,6 +9724,22 @@
9646
9724
  .sumBy('value');
9647
9725
  this.taxOffsetNRASTotalAmount = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TAX_OFFSETS_N_R_A_S).sumBy('amount');
9648
9726
  }
9727
+ /**
9728
+ * Get Income source forecast trust type, related to trust income with max amount
9729
+ */
9730
+ MyTaxPartnershipsAndTrusts.prototype.getTrustType = function () {
9731
+ var filteredTrustIncomes = this.trustsIncomes
9732
+ .filterBy('incomeSource.id', this.incomeSources
9733
+ .removeBy('actualForecast.trustType', null)
9734
+ .getIds());
9735
+ if (!filteredTrustIncomes.length) {
9736
+ return null;
9737
+ }
9738
+ return this.incomeSources
9739
+ .findBy('id', filteredTrustIncomes.maxBy('amount').incomeSource.id)
9740
+ .actualForecast
9741
+ .trustType;
9742
+ };
9649
9743
  return MyTaxPartnershipsAndTrusts;
9650
9744
  }());
9651
9745
 
@@ -9673,6 +9767,21 @@
9673
9767
  return MyTaxRent;
9674
9768
  }());
9675
9769
 
9770
+ /**
9771
+ * Australian Taxation Office (ATO) website links
9772
+ */
9773
+ var atoLinks = {
9774
+ medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9775
+ medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9776
+ foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9777
+ notEntitledToMedicareBenefits: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Not-entitled-to-Medicare-benefits/#:~:text=If%20you%20were%20not%20entitled,an%20exemption%20under%20category%203.&text=are%20a%20member%20of%20a,Australia%20and%20meet%20other%20conditions',
9778
+ privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9779
+ };
9780
+
9781
+ /**
9782
+ * 'My Tax' report related data (classes, enums, const, e.t.c)
9783
+ */
9784
+
9676
9785
  /**
9677
9786
  * Constant with list of URLs
9678
9787
  */
@@ -9799,6 +9908,21 @@
9799
9908
  ], TaxReview.prototype, "employee", void 0);
9800
9909
 
9801
9910
  /**
9911
+ * Used in tax summary reports to show specific details relating to an amount in the report.
9912
+ * See structure in ReportItem class.
9913
+ * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
9914
+ * This is useful in providing drill-down information for the tax summary report.
9915
+ */
9916
+ var ReportItemDetails = /** @class */ (function (_super) {
9917
+ __extends(ReportItemDetails, _super);
9918
+ function ReportItemDetails() {
9919
+ return _super !== null && _super.apply(this, arguments) || this;
9920
+ }
9921
+ return ReportItemDetails;
9922
+ }(AbstractModel));
9923
+
9924
+ /**
9925
+ * @Todo no base model - should be generated on backend side
9802
9926
  * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
9803
9927
  * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
9804
9928
  */
@@ -9824,20 +9948,13 @@
9824
9948
  return new ReportItemCollection(value);
9825
9949
  })
9826
9950
  ], ReportItem.prototype, "items", void 0);
9827
-
9828
- /**
9829
- * Used in tax summary reports to show specific details relating to an amount in the report.
9830
- * See structure in ReportItem class.
9831
- * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
9832
- * This is useful in providing drill-down information for the tax summary report.
9833
- */
9834
- var ReportItemDetails = /** @class */ (function (_super) {
9835
- __extends(ReportItemDetails, _super);
9836
- function ReportItemDetails() {
9837
- return _super !== null && _super.apply(this, arguments) || this;
9838
- }
9839
- return ReportItemDetails;
9840
- }(AbstractModel));
9951
+ __decorate([
9952
+ classTransformer.Type(function () { return ReportItemDetails; }),
9953
+ classTransformer.Transform(function (_b) {
9954
+ var value = _b.value;
9955
+ return new Collection(value);
9956
+ })
9957
+ ], ReportItem.prototype, "details", void 0);
9841
9958
 
9842
9959
  /**
9843
9960
  * Base class for each sections of Tax Summary report, contains common properties/methods
@@ -14869,7 +14986,7 @@
14869
14986
  if (data === void 0) { data = {}; }
14870
14987
  this.submitted = true;
14871
14988
  this.markAllAsTouched();
14872
- if (!this.valid) {
14989
+ if (!this.disabled && !this.valid) {
14873
14990
  return null;
14874
14991
  }
14875
14992
  var model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
@@ -15187,6 +15304,31 @@
15187
15304
  };
15188
15305
  }
15189
15306
 
15307
+ function conditionalValidator(condition, validator) {
15308
+ return function (control) {
15309
+ revalidateOnChanges(control);
15310
+ if (control && control.parent) {
15311
+ if (condition(control.parent)) {
15312
+ return validator(control);
15313
+ }
15314
+ }
15315
+ return null;
15316
+ };
15317
+ }
15318
+ /**
15319
+ * Conditional validator depends on other fields and should be updated on each form value change
15320
+ */
15321
+ function revalidateOnChanges(control) {
15322
+ if (control && control.parent && !control['_revalidateOnChanges']) {
15323
+ control['_revalidateOnChanges'] = true;
15324
+ control.parent.valueChanges.pipe(operators.distinctUntilChanged(function (a, b) { return JSON.stringify(a) === JSON.stringify(b); }))
15325
+ .subscribe(function () {
15326
+ control.updateValueAndValidity({ emitEvent: false });
15327
+ });
15328
+ }
15329
+ return;
15330
+ }
15331
+
15190
15332
  /**
15191
15333
  * Regular expressions that are used to check password strength and valid values
15192
15334
  */
@@ -15460,9 +15602,11 @@
15460
15602
  var MyTaxDeductionsForm = /** @class */ (function (_super) {
15461
15603
  __extends(MyTaxDeductionsForm, _super);
15462
15604
  function MyTaxDeductionsForm(deductions) {
15463
- return _super.call(this, {
15605
+ var _this = this;
15606
+ var _a;
15607
+ _this = _super.call(this, {
15464
15608
  vehicleClaimMethod: new forms.FormControl({
15465
- value: deductions.vehicleClaim.method,
15609
+ value: (_a = deductions.vehicleClaim) === null || _a === void 0 ? void 0 : _a.method,
15466
15610
  disabled: true
15467
15611
  }),
15468
15612
  vehicleExpensesTotalAmount: new forms.FormControl({
@@ -15528,6 +15672,7 @@
15528
15672
  disabled: true
15529
15673
  })
15530
15674
  }) || this;
15675
+ return _this;
15531
15676
  }
15532
15677
  return MyTaxDeductionsForm;
15533
15678
  }(AbstractForm));
@@ -15792,7 +15937,9 @@
15792
15937
  value: partnershipsAndTrusts.trustsNetIncome,
15793
15938
  disabled: true
15794
15939
  }),
15795
- trustType: new forms.FormControl(1),
15940
+ trustType: new forms.FormControl(partnershipsAndTrusts.trustType, conditionalValidator(function (control) {
15941
+ return !!partnershipsAndTrusts.trustsIncomes.length;
15942
+ }, forms.Validators.required)),
15796
15943
  partnershipsSmallBusinessNetIncome: new forms.FormControl(partnershipsAndTrusts.partnershipsSmallBusinessNetIncome, forms.Validators.required),
15797
15944
  trustsSmallBusinessNetIncome: new forms.FormControl(partnershipsAndTrusts.trustsSmallBusinessNetIncome, forms.Validators.required),
15798
15945
  taxPaidTotal: new forms.FormControl({
@@ -15878,6 +16025,7 @@
15878
16025
  exports.CHART_ACCOUNTS_CATEGORIES = CHART_ACCOUNTS_CATEGORIES;
15879
16026
  exports.CalculationFormItem = CalculationFormItem;
15880
16027
  exports.ChartAccounts = ChartAccounts;
16028
+ exports.ChartAccountsCollection = ChartAccountsCollection;
15881
16029
  exports.ChartAccountsDepreciation = ChartAccountsDepreciation;
15882
16030
  exports.ChartAccountsDepreciationService = ChartAccountsDepreciationService;
15883
16031
  exports.ChartAccountsHeading = ChartAccountsHeading;
@@ -15983,6 +16131,7 @@
15983
16131
  exports.MyTaxDividendsForm = MyTaxDividendsForm;
15984
16132
  exports.MyTaxEmployeeShareSchemes = MyTaxEmployeeShareSchemes;
15985
16133
  exports.MyTaxEmployeeShareSchemesForm = MyTaxEmployeeShareSchemesForm;
16134
+ exports.MyTaxEstimate = MyTaxEstimate;
15986
16135
  exports.MyTaxIncomeStatements = MyTaxIncomeStatements;
15987
16136
  exports.MyTaxIncomeStatementsForm = MyTaxIncomeStatementsForm;
15988
16137
  exports.MyTaxIncomeTests = MyTaxIncomeTests;
@@ -16117,6 +16266,7 @@
16117
16266
  exports.cloneDeep = cloneDeep;
16118
16267
  exports.compare = compare;
16119
16268
  exports.compareMatOptions = compareMatOptions;
16269
+ exports.conditionalValidator = conditionalValidator;
16120
16270
  exports.createDate = createDate;
16121
16271
  exports.displayMatOptions = displayMatOptions;
16122
16272
  exports.enumToList = enumToList;