taxtank-core 0.21.9 → 0.21.12
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.
- package/bundles/taxtank-core.umd.js +238 -150
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +8 -1
- package/esm2015/lib/db/Models/bank/bank-account.js +1 -1
- package/esm2015/lib/db/Models/depreciation/depreciation.js +1 -1
- package/esm2015/lib/db/Models/sole/sole-business-allocation.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-business-loss.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-business.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-contact.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-forecast.js +1 -1
- package/esm2015/lib/db/Models/sole/sole-invoice-item.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-invoice-template.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-invoice.js +4 -0
- package/esm2015/lib/db/Models/transaction/transaction.js +1 -1
- package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +1 -1
- package/esm2015/lib/db/Models/vehicle/vehicle.js +1 -1
- package/esm2015/lib/forms/abstract.form.js +6 -1
- package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +9 -42
- package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +31 -0
- package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +4 -30
- package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +28 -7
- package/esm2015/lib/forms/index.js +2 -1
- package/esm2015/lib/forms/report/my-tax/my-tax-deductions.form.js +9 -3
- package/esm2015/lib/models/bank/bank-account.js +14 -4
- package/esm2015/lib/models/logbook/vehicle-claim.js +6 -3
- package/esm2015/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.js +10 -4
- package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +15 -15
- package/esm2015/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.js +3 -3
- package/esm2015/lib/models/report/my-tax/my-tax-interest/my-tax-interest.js +2 -2
- package/esm2015/lib/models/report/my-tax/my-tax-rent/my-tax-rent.js +33 -9
- package/esm2015/lib/services/event/sse.service.js +2 -1
- package/esm2015/lib/validators/fields-sum.validator.js +26 -0
- package/fesm2015/taxtank-core.js +221 -145
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +7 -0
- package/lib/db/Models/bank/bank-account.d.ts +2 -2
- package/lib/db/Models/depreciation/depreciation.d.ts +2 -0
- package/lib/db/Models/sole/sole-business-allocation.d.ts +9 -0
- package/lib/db/Models/sole/sole-business-loss.d.ts +9 -0
- package/lib/db/Models/sole/sole-business.d.ts +26 -0
- package/lib/db/Models/sole/sole-contact.d.ts +17 -0
- package/lib/db/Models/sole/sole-invoice-item.d.ts +12 -0
- package/lib/db/Models/sole/sole-invoice-template.d.ts +10 -0
- package/lib/db/Models/sole/sole-invoice.d.ts +18 -0
- package/lib/db/Models/transaction/transaction.d.ts +2 -0
- package/lib/db/Models/vehicle/vehicle-claim.d.ts +2 -2
- package/lib/db/Models/vehicle/vehicle.d.ts +0 -2
- package/lib/forms/abstract.form.d.ts +4 -0
- package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +2 -6
- package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts +7 -0
- package/lib/forms/bank/bank-account/bank-account-import.form.d.ts +2 -8
- package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +1 -0
- package/lib/forms/index.d.ts +1 -0
- package/lib/forms/report/my-tax/my-tax-deductions.form.d.ts +1 -1
- package/lib/models/bank/bank-account.d.ts +2 -0
- package/lib/models/logbook/vehicle-claim.d.ts +1 -0
- package/lib/models/report/my-tax/my-tax-rent/my-tax-rent.d.ts +11 -1
- package/lib/services/event/sse.service.d.ts +1 -0
- package/lib/validators/fields-sum.validator.d.ts +8 -0
- package/package.json +1 -1
|
@@ -3376,20 +3376,34 @@
|
|
|
3376
3376
|
* check if bank account related to work tank
|
|
3377
3377
|
*/
|
|
3378
3378
|
BankAccount.prototype.isWorkTank = function () {
|
|
3379
|
-
return this.
|
|
3379
|
+
return !this.isPropertyTank() && !this.isSoleTank();
|
|
3380
3380
|
};
|
|
3381
3381
|
/**
|
|
3382
3382
|
* check if bank account related to work tank
|
|
3383
3383
|
*/
|
|
3384
3384
|
BankAccount.prototype.isPropertyTank = function () {
|
|
3385
|
-
return this.
|
|
3385
|
+
return !!this.bankAccountProperties.length;
|
|
3386
3386
|
};
|
|
3387
3387
|
/**
|
|
3388
3388
|
* check if bank account related to sole tank
|
|
3389
3389
|
*/
|
|
3390
3390
|
BankAccount.prototype.isSoleTank = function () {
|
|
3391
|
-
return this.
|
|
3391
|
+
return !!this.businessAllocations.length;
|
|
3392
3392
|
};
|
|
3393
|
+
Object.defineProperty(BankAccount.prototype, "tankType", {
|
|
3394
|
+
get: function () {
|
|
3395
|
+
switch (true) {
|
|
3396
|
+
case this.isPropertyTank():
|
|
3397
|
+
return exports.TankTypeEnum.PROPERTY;
|
|
3398
|
+
case this.isSoleTank():
|
|
3399
|
+
return exports.TankTypeEnum.SOLE;
|
|
3400
|
+
default:
|
|
3401
|
+
return exports.TankTypeEnum.WORK;
|
|
3402
|
+
}
|
|
3403
|
+
},
|
|
3404
|
+
enumerable: false,
|
|
3405
|
+
configurable: true
|
|
3406
|
+
});
|
|
3393
3407
|
/**
|
|
3394
3408
|
* Get Bank account property by id
|
|
3395
3409
|
* @param id Id of property
|
|
@@ -7145,6 +7159,13 @@
|
|
|
7145
7159
|
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["HOME_OFFICE_RUNNING"] = 17] = "HOME_OFFICE_RUNNING";
|
|
7146
7160
|
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["TOOLS_EQUIPMENT"] = 18] = "TOOLS_EQUIPMENT";
|
|
7147
7161
|
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["HOME_OFFICE_OCCUPANCY"] = 19] = "HOME_OFFICE_OCCUPANCY";
|
|
7162
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["AWARD_OVERTIME_MEAL_ALLOWANCE_EXPENSE"] = 20] = "AWARD_OVERTIME_MEAL_ALLOWANCE_EXPENSE";
|
|
7163
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["NEWSPAPER"] = 21] = "NEWSPAPER";
|
|
7164
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PRINTING_POSTAGE_STATIONERY"] = 22] = "PRINTING_POSTAGE_STATIONERY";
|
|
7165
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["SEMINARS_ETC"] = 23] = "SEMINARS_ETC";
|
|
7166
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["TELEPHONE"] = 24] = "TELEPHONE";
|
|
7167
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["UNION_FEES"] = 25] = "UNION_FEES";
|
|
7168
|
+
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["OTHER"] = 26] = "OTHER";
|
|
7148
7169
|
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["DONATIONS"] = 27] = "DONATIONS";
|
|
7149
7170
|
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PSI"] = 30] = "PSI";
|
|
7150
7171
|
ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["BONUSES"] = 34] = "BONUSES";
|
|
@@ -8742,11 +8763,18 @@
|
|
|
8742
8763
|
return this.method === exports.VehicleClaimMethodEnum.KMS;
|
|
8743
8764
|
};
|
|
8744
8765
|
VehicleClaim.prototype.isWorkTank = function () {
|
|
8745
|
-
return this.
|
|
8766
|
+
return !this.business;
|
|
8746
8767
|
};
|
|
8747
8768
|
VehicleClaim.prototype.isSoleTank = function () {
|
|
8748
|
-
return this.
|
|
8769
|
+
return !!this.business;
|
|
8749
8770
|
};
|
|
8771
|
+
Object.defineProperty(VehicleClaim.prototype, "tankType", {
|
|
8772
|
+
get: function () {
|
|
8773
|
+
return this.isSoleTank() ? exports.TankTypeEnum.SOLE : exports.TankTypeEnum.WORK;
|
|
8774
|
+
},
|
|
8775
|
+
enumerable: false,
|
|
8776
|
+
configurable: true
|
|
8777
|
+
});
|
|
8750
8778
|
/**
|
|
8751
8779
|
* Claim amount for KLMs method. Exists only for KLMs method.
|
|
8752
8780
|
*/
|
|
@@ -9337,14 +9365,20 @@
|
|
|
9337
9365
|
workRelatedClothingExpenses: [
|
|
9338
9366
|
exports.ChartAccountsHeadingListEnum.COMPULSORY_WORK_UNIFORM,
|
|
9339
9367
|
exports.ChartAccountsHeadingListEnum.PROTECTION_CLOTHING,
|
|
9340
|
-
exports.ChartAccountsHeadingListEnum.OCCUPATIONAL_SPECIFIC_CLOTHING
|
|
9341
|
-
exports.ChartAccountsHeadingListEnum.SELF_EDUCATIONAL_EXPENSES
|
|
9368
|
+
exports.ChartAccountsHeadingListEnum.OCCUPATIONAL_SPECIFIC_CLOTHING
|
|
9342
9369
|
],
|
|
9343
9370
|
otherIncomeRelatedExpenses: [
|
|
9344
9371
|
exports.ChartAccountsHeadingListEnum.OTHER_WORK_RELATED_EXPENSES,
|
|
9345
9372
|
exports.ChartAccountsHeadingListEnum.SUBSCRIPTIONS,
|
|
9346
9373
|
exports.ChartAccountsHeadingListEnum.HOME_OFFICE_RUNNING,
|
|
9347
|
-
exports.ChartAccountsHeadingListEnum.HOME_OFFICE_OCCUPANCY
|
|
9374
|
+
exports.ChartAccountsHeadingListEnum.HOME_OFFICE_OCCUPANCY,
|
|
9375
|
+
exports.ChartAccountsHeadingListEnum.AWARD_OVERTIME_MEAL_ALLOWANCE_EXPENSE,
|
|
9376
|
+
exports.ChartAccountsHeadingListEnum.NEWSPAPER,
|
|
9377
|
+
exports.ChartAccountsHeadingListEnum.PRINTING_POSTAGE_STATIONERY,
|
|
9378
|
+
exports.ChartAccountsHeadingListEnum.SEMINARS_ETC,
|
|
9379
|
+
exports.ChartAccountsHeadingListEnum.TELEPHONE,
|
|
9380
|
+
exports.ChartAccountsHeadingListEnum.UNION_FEES,
|
|
9381
|
+
exports.ChartAccountsHeadingListEnum.OTHER
|
|
9348
9382
|
],
|
|
9349
9383
|
workRelatedSelfEducationExpenses: [
|
|
9350
9384
|
exports.ChartAccountsHeadingListEnum.SELF_EDUCATIONAL_EXPENSES
|
|
@@ -9420,45 +9454,45 @@
|
|
|
9420
9454
|
this.workRelatedClothingExpenses = this.transactions
|
|
9421
9455
|
.filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedClothingExpenses);
|
|
9422
9456
|
this.personalSuperContributions = this.transactions
|
|
9423
|
-
.filterBy('chartAccounts.
|
|
9457
|
+
.filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.personalSuperContributions);
|
|
9424
9458
|
this.workRelatedSelfEducationExpenses = this.transactions
|
|
9425
9459
|
.filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedSelfEducationExpenses);
|
|
9426
9460
|
this.vehicleExpensesTotalAmount = this.getVehicleExpensesTotalAmount();
|
|
9427
9461
|
this.workRelatedTravelExpensesTotalAmount = this.transactions
|
|
9428
9462
|
.filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.WORK_RELATED_TRAVEL_EXPENSES)
|
|
9429
|
-
.sumBy('
|
|
9463
|
+
.sumBy('claimAmount');
|
|
9430
9464
|
this.workRelatedClothingType = this.workRelatedClothingExpenses.length ? exports.DeductionClothingTypeEnum.COMPULSORY_C : null;
|
|
9431
|
-
this.workRelatedClothingTotalAmount = this.workRelatedClothingExpenses.sumBy('
|
|
9465
|
+
this.workRelatedClothingTotalAmount = this.workRelatedClothingExpenses.sumBy('claimAmount');
|
|
9432
9466
|
this.workRelatedSelfEducationType = this.workRelatedSelfEducationExpenses.length ?
|
|
9433
9467
|
exports.DeductionSelfEducationTypeEnum.IMPROVE_SKILLS_FOR_CURRENT_EARNINGS_K : null;
|
|
9434
|
-
this.workRelatedSelfEducationTotalAmount = this.workRelatedSelfEducationExpenses.sumBy('
|
|
9468
|
+
this.workRelatedSelfEducationTotalAmount = this.workRelatedSelfEducationExpenses.sumBy('claimAmount');
|
|
9435
9469
|
this.lowValuePoolDeductionTotalAmount = this.depreciations.getByTankType(exports.TankTypeEnum.WORK)
|
|
9436
9470
|
.getLowValuePoolDepreciations().sumBy('claimAmount');
|
|
9437
9471
|
this.interestExpensesTotalAmount = this.transactions
|
|
9438
9472
|
.filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.interestExpenses)
|
|
9439
|
-
.sumBy('
|
|
9473
|
+
.sumBy('claimAmount');
|
|
9440
9474
|
this.dividendExpensesTotalAmount = this.transactions
|
|
9441
9475
|
.filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.dividendExpenses)
|
|
9442
|
-
.sumBy('
|
|
9476
|
+
.sumBy('claimAmount');
|
|
9443
9477
|
this.donationsTotalAmount = this.transactions
|
|
9444
9478
|
.filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.donations)
|
|
9445
|
-
.sumBy('
|
|
9479
|
+
.sumBy('claimAmount');
|
|
9446
9480
|
this.interestsChargedByATOTotalAmount = this.transactions
|
|
9447
9481
|
.filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.interestsChargedByATO)
|
|
9448
|
-
.sumBy('
|
|
9482
|
+
.sumBy('claimAmount');
|
|
9449
9483
|
this.litigationCostsTotalAmount = this.transactions
|
|
9450
9484
|
.filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.litigationCosts)
|
|
9451
|
-
.sumBy('
|
|
9485
|
+
.sumBy('claimAmount');
|
|
9452
9486
|
this.otherManagingCostsTotalAmount = this.transactions
|
|
9453
9487
|
.filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherManagingCosts)
|
|
9454
|
-
.sumBy('
|
|
9455
|
-
this.personalSuperContributionsTotalAmount = this.personalSuperContributions.sumBy('
|
|
9488
|
+
.sumBy('claimAmount');
|
|
9489
|
+
this.personalSuperContributionsTotalAmount = this.personalSuperContributions.sumBy('claimAmount');
|
|
9456
9490
|
this.forestryManagedInvestmentSchemesDeductionsTotalAmount = this.transactions
|
|
9457
9491
|
.filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.forestryManagedInvestmentSchemesDeductions)
|
|
9458
|
-
.sumBy('
|
|
9492
|
+
.sumBy('claimAmount');
|
|
9459
9493
|
this.otherDeductionsTotalAmount = this.transactions
|
|
9460
9494
|
.filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherDeductions)
|
|
9461
|
-
.sumBy('
|
|
9495
|
+
.sumBy('claimAmount');
|
|
9462
9496
|
}
|
|
9463
9497
|
MyTaxDeductions.prototype.getVehicleExpensesTotalAmount = function () {
|
|
9464
9498
|
var _a;
|
|
@@ -9477,7 +9511,7 @@
|
|
|
9477
9511
|
MyTaxDeductions.prototype.setOtherWorkRelatedExpensesTotalAmount = function () {
|
|
9478
9512
|
var otherIncomeRelatedExpenses = this.transactions
|
|
9479
9513
|
.filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.otherIncomeRelatedExpenses);
|
|
9480
|
-
this.otherWorkRelatedExpensesTotalAmount = Math.abs(otherIncomeRelatedExpenses.sumBy('
|
|
9514
|
+
this.otherWorkRelatedExpensesTotalAmount = -Math.abs(otherIncomeRelatedExpenses.sumBy('claimAmount')) +
|
|
9481
9515
|
this.depreciations.filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.TOOLS_EQUIPMENT).sumBy('claimAmount');
|
|
9482
9516
|
};
|
|
9483
9517
|
return MyTaxDeductions;
|
|
@@ -9536,8 +9570,8 @@
|
|
|
9536
9570
|
var taxOffsetsReportItem = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_OFFSETS);
|
|
9537
9571
|
var lowMiddleIncomeTaxOffsets = this.getLowMiddleIncomeTaxOffsets(taxOffsetsReportItem);
|
|
9538
9572
|
var taxPayable = grossTaxPayableReportItem.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_ON_TAXABLE_INCOME).amount;
|
|
9539
|
-
var medicareLevy = medicareReportItem.details.findBy('name', 'Medicare Levy
|
|
9540
|
-
var medicareLevySurcharge = medicareReportItem.details.findBy('name', 'Medicare Levy
|
|
9573
|
+
var medicareLevy = medicareReportItem.details.findBy('name', 'Medicare Levy (based on single)').amount;
|
|
9574
|
+
var medicareLevySurcharge = medicareReportItem.details.findBy('name', 'Medicare Levy Surcharge').amount;
|
|
9541
9575
|
var taxCredits = summarySection.items.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.TAX_CREDITS).amount;
|
|
9542
9576
|
var taxOffsets = this.getTaxOffsets(taxOffsetsReportItem.amount, lowMiddleIncomeTaxOffsets);
|
|
9543
9577
|
return classTransformer.plainToClass(MyTaxEstimate, {
|
|
@@ -9645,7 +9679,7 @@
|
|
|
9645
9679
|
this.interestPaidTransactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.ATO_INTEREST_PAID);
|
|
9646
9680
|
this.interestEarnedTotalAmount = this.interestEarnedTransactions.sumBy('amount');
|
|
9647
9681
|
this.interestEarnedTotalTax = this.interestEarnedTransactions.sumBy('tax');
|
|
9648
|
-
this.interestPaidTotalAmount = this.
|
|
9682
|
+
this.interestPaidTotalAmount = this.interestPaidTransactions.sumBy('amount');
|
|
9649
9683
|
}
|
|
9650
9684
|
return MyTaxInterest;
|
|
9651
9685
|
}());
|
|
@@ -9744,26 +9778,49 @@
|
|
|
9744
9778
|
}());
|
|
9745
9779
|
|
|
9746
9780
|
var MyTaxRent = /** @class */ (function () {
|
|
9747
|
-
function MyTaxRent(transactions, depreciations) {
|
|
9781
|
+
function MyTaxRent(transactions, depreciations, taxSummary) {
|
|
9748
9782
|
this.propertyExpenses = transactions.getPropertyTransactions().getExpenseTransactions();
|
|
9783
|
+
this.taxSummaryPropertySection = taxSummary.property;
|
|
9749
9784
|
this.grossRentAmount = transactions
|
|
9785
|
+
.getPropertyTransactions()
|
|
9750
9786
|
.getIncomeTransactions()
|
|
9751
9787
|
.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.RENTAL_INCOME)
|
|
9752
|
-
.sumBy('
|
|
9753
|
-
transactions
|
|
9754
|
-
|
|
9788
|
+
.sumBy('claimAmount') +
|
|
9789
|
+
transactions
|
|
9790
|
+
.getPropertyTransactions()
|
|
9791
|
+
.getIncomeTransactions()
|
|
9755
9792
|
.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.OTHER_RENTAL_INCOME)
|
|
9756
|
-
.sumBy('
|
|
9793
|
+
.sumBy('claimAmount');
|
|
9757
9794
|
this.interestDeductionsAmount = Math.abs(transactions.getInterestTransactions().sumBy('amount'));
|
|
9758
9795
|
this.capitalWorksDeductionsAmount = Math.abs(depreciations.getCapitalDepreciations().sumBy('claimAmount'));
|
|
9759
|
-
this.otherRentalDeductionsAmount =
|
|
9760
|
-
|
|
9761
|
-
|
|
9796
|
+
this.otherRentalDeductionsAmount = this.calculateOtherRentalDeductionsAmount();
|
|
9797
|
+
/**
|
|
9798
|
+
* @Todo Vik uncomment when task TT-2009 will be implemented
|
|
9799
|
+
*/
|
|
9800
|
+
// this.otherRentalDeductionsAmount = depreciations.getByTankType(TankTypeEnum.PROPERTY).getAssets().claimAmount +
|
|
9801
|
+
// depreciations.getByTankType(TankTypeEnum.PROPERTY).getBorrowingExpenseDepreciations().claimAmount +
|
|
9802
|
+
// Math.abs(this.propertyExpenses.sumBy('claimAmount'));
|
|
9762
9803
|
this.netRent = this.grossRentAmount -
|
|
9763
9804
|
this.interestDeductionsAmount -
|
|
9764
9805
|
this.capitalWorksDeductionsAmount -
|
|
9765
9806
|
this.otherRentalDeductionsAmount;
|
|
9766
9807
|
}
|
|
9808
|
+
/**
|
|
9809
|
+
* @Todo Vik remove when TT-2009 will be implemented.
|
|
9810
|
+
* We use tax summary data here because claim amount from depreciation is different
|
|
9811
|
+
* from the claim amount that we get from tax summary (depreciation claim amount is not affected by property share,
|
|
9812
|
+
* property contract date, e.t.c.). Details in the TT-2009 task
|
|
9813
|
+
*/
|
|
9814
|
+
MyTaxRent.prototype.calculateOtherRentalDeductionsAmount = function () {
|
|
9815
|
+
var _a, _b, _c;
|
|
9816
|
+
var plantAndEquipmentAmount = Math.abs(((_a = this.taxSummaryPropertySection.items
|
|
9817
|
+
.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.DEPRECIATION)) === null || _a === void 0 ? void 0 : _a.amount) || 0);
|
|
9818
|
+
var borrowingExpensesAmount = Math.abs(((_b = this.taxSummaryPropertySection.items
|
|
9819
|
+
.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.BORROWING_EXPENSES)) === null || _b === void 0 ? void 0 : _b.amount) || 0);
|
|
9820
|
+
var otherRentalDeductionsAmount = Math.abs(((_c = this.taxSummaryPropertySection.items
|
|
9821
|
+
.findBy('taxReturnCategory.id', exports.TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS)) === null || _c === void 0 ? void 0 : _c.amount) || 0);
|
|
9822
|
+
return +Math.floor(plantAndEquipmentAmount + borrowingExpensesAmount + otherRentalDeductionsAmount).toFixed(2);
|
|
9823
|
+
};
|
|
9767
9824
|
return MyTaxRent;
|
|
9768
9825
|
}());
|
|
9769
9826
|
|
|
@@ -11775,6 +11832,7 @@
|
|
|
11775
11832
|
|
|
11776
11833
|
/**
|
|
11777
11834
|
* server sent events service
|
|
11835
|
+
* https://symfony.com/doc/current/mercure.html
|
|
11778
11836
|
*/
|
|
11779
11837
|
var SseService = /** @class */ (function () {
|
|
11780
11838
|
function SseService(zone, jwtService, environment) {
|
|
@@ -14967,6 +15025,7 @@
|
|
|
14967
15025
|
|
|
14968
15026
|
/**
|
|
14969
15027
|
* Abstract form class
|
|
15028
|
+
* @TODO rename to AbstractFormGroup
|
|
14970
15029
|
*/
|
|
14971
15030
|
var AbstractForm = /** @class */ (function (_super) {
|
|
14972
15031
|
__extends(AbstractForm, _super);
|
|
@@ -14993,6 +15052,10 @@
|
|
|
14993
15052
|
this.onSubmit.emit(model);
|
|
14994
15053
|
return model;
|
|
14995
15054
|
};
|
|
15055
|
+
AbstractForm.prototype.addControl = function (name, control, options) {
|
|
15056
|
+
_super.prototype.addControl.call(this, name, control, options);
|
|
15057
|
+
return this;
|
|
15058
|
+
};
|
|
14996
15059
|
AbstractForm.prototype.createModelInstance = function (data) {
|
|
14997
15060
|
if (data === void 0) { data = {}; }
|
|
14998
15061
|
return classTransformer.plainToClass(this.modelClass, data);
|
|
@@ -15000,30 +15063,61 @@
|
|
|
15000
15063
|
return AbstractForm;
|
|
15001
15064
|
}(forms.FormGroup));
|
|
15002
15065
|
|
|
15066
|
+
function conditionalValidator(condition, validator) {
|
|
15067
|
+
return function (control) {
|
|
15068
|
+
revalidateOnChanges(control);
|
|
15069
|
+
if (control && control.parent) {
|
|
15070
|
+
if (condition(control.parent)) {
|
|
15071
|
+
return validator(control);
|
|
15072
|
+
}
|
|
15073
|
+
}
|
|
15074
|
+
return null;
|
|
15075
|
+
};
|
|
15076
|
+
}
|
|
15003
15077
|
/**
|
|
15004
|
-
*
|
|
15078
|
+
* Conditional validator depends on other fields and should be updated on each form value change
|
|
15005
15079
|
*/
|
|
15006
|
-
|
|
15007
|
-
|
|
15008
|
-
|
|
15009
|
-
|
|
15010
|
-
|
|
15011
|
-
|
|
15012
|
-
|
|
15013
|
-
repaymentType: new forms.FormControl(loan.repaymentType, forms.Validators.required),
|
|
15014
|
-
interestRate: new forms.FormControl(loan.interestRate, [forms.Validators.required, forms.Validators.min(0), forms.Validators.max(100)]),
|
|
15015
|
-
interestType: new forms.FormControl(loan.interestType, forms.Validators.required),
|
|
15016
|
-
availableRedraw: new forms.FormControl(loan.availableRedraw, forms.Validators.required),
|
|
15017
|
-
commencementDate: new forms.FormControl(loan.commencementDate, forms.Validators.required),
|
|
15018
|
-
repaymentAmount: new forms.FormControl(loan.repaymentAmount, forms.Validators.required),
|
|
15019
|
-
repaymentFrequency: new forms.FormControl(loan.repaymentFrequency, forms.Validators.required)
|
|
15020
|
-
}, loan) || this;
|
|
15080
|
+
function revalidateOnChanges(control) {
|
|
15081
|
+
if (control && control.parent && !control['_revalidateOnChanges']) {
|
|
15082
|
+
control['_revalidateOnChanges'] = true;
|
|
15083
|
+
control.parent.valueChanges.pipe(operators.distinctUntilChanged(function (a, b) { return JSON.stringify(a) === JSON.stringify(b); }))
|
|
15084
|
+
.subscribe(function () {
|
|
15085
|
+
control.updateValueAndValidity({ emitEvent: false });
|
|
15086
|
+
});
|
|
15021
15087
|
}
|
|
15022
|
-
return
|
|
15023
|
-
}
|
|
15088
|
+
return;
|
|
15089
|
+
}
|
|
15090
|
+
|
|
15091
|
+
/**
|
|
15092
|
+
* Validator that check if sum amount of provided fields is greater than provided sum
|
|
15093
|
+
* @param field to check in each formArray element
|
|
15094
|
+
* @param summary to compare with fields sum
|
|
15095
|
+
* @param fieldAlias to show it in error message
|
|
15096
|
+
*/
|
|
15097
|
+
function fieldsSumValidator(field, summary, fieldAlias) {
|
|
15098
|
+
if (summary === void 0) { summary = 100; }
|
|
15099
|
+
return function (formArray) {
|
|
15100
|
+
// calculate sum of desired fields in formArray control
|
|
15101
|
+
var fieldsSum = formArray['controls']
|
|
15102
|
+
.reduce(function (acc, group) { return acc += group.get(field).value; }, 0);
|
|
15103
|
+
if (fieldsSum <= summary) {
|
|
15104
|
+
return null;
|
|
15105
|
+
}
|
|
15106
|
+
else {
|
|
15107
|
+
return {
|
|
15108
|
+
fieldsSum: {
|
|
15109
|
+
name: field,
|
|
15110
|
+
alias: fieldAlias,
|
|
15111
|
+
summary: summary
|
|
15112
|
+
}
|
|
15113
|
+
};
|
|
15114
|
+
}
|
|
15115
|
+
};
|
|
15116
|
+
}
|
|
15024
15117
|
|
|
15025
15118
|
/**
|
|
15026
15119
|
* Form array with bank account properties
|
|
15120
|
+
* @TODO create AbstractFormArray
|
|
15027
15121
|
*/
|
|
15028
15122
|
var BankAccountPropertiesForm = /** @class */ (function (_super) {
|
|
15029
15123
|
__extends(BankAccountPropertiesForm, _super);
|
|
@@ -15031,20 +15125,37 @@
|
|
|
15031
15125
|
if (bankAccountProperties === void 0) { bankAccountProperties = [classTransformer.plainToClass(BankAccountProperty, {})]; }
|
|
15032
15126
|
return _super.call(this, bankAccountProperties.map(function (bankAccountProperty) {
|
|
15033
15127
|
return new forms.FormGroup({
|
|
15034
|
-
property: new forms.FormControl(bankAccountProperty.property, forms.Validators.required),
|
|
15128
|
+
property: new forms.FormControl(bankAccountProperty === null || bankAccountProperty === void 0 ? void 0 : bankAccountProperty.property, forms.Validators.required),
|
|
15035
15129
|
percent: new forms.FormControl(bankAccountProperty.percent, forms.Validators.required)
|
|
15036
15130
|
});
|
|
15037
|
-
})
|
|
15131
|
+
}), [
|
|
15132
|
+
conditionalValidator(function (control) { return control.get('tankType').value === exports.TankTypeEnum.PROPERTY; }, forms.Validators.required),
|
|
15133
|
+
fieldsSumValidator('percent', 100)
|
|
15134
|
+
]) || this;
|
|
15038
15135
|
}
|
|
15039
15136
|
BankAccountPropertiesForm.prototype.add = function () {
|
|
15040
15137
|
this.push(new forms.FormGroup({
|
|
15041
15138
|
property: new forms.FormControl(null, forms.Validators.required),
|
|
15042
|
-
|
|
15043
|
-
|
|
15044
|
-
|
|
15045
|
-
|
|
15046
|
-
|
|
15047
|
-
|
|
15139
|
+
// @TODO disable for loans
|
|
15140
|
+
percent: new forms.FormControl({ value: 100, disabled: !this.at(0).contains('percent') }, forms.Validators.required),
|
|
15141
|
+
// @TODO enable for loans
|
|
15142
|
+
// amount: new FormControl(
|
|
15143
|
+
// {value: this.bankAccount.currentBalance * bankAccountProperty.percent / 100},
|
|
15144
|
+
// [Validators.required, Validators.max(Math.abs(this.bankAccount.currentBalance))]
|
|
15145
|
+
// ),
|
|
15146
|
+
}));
|
|
15147
|
+
};
|
|
15148
|
+
// @TODO enable for loans
|
|
15149
|
+
// /**
|
|
15150
|
+
// * Recalculate property percentage for current property form group and round to no more than 3 decimal places
|
|
15151
|
+
// * @param amount: new control value
|
|
15152
|
+
// * @param currentPropertyGroup for which amount will be recalculated
|
|
15153
|
+
// */
|
|
15154
|
+
// recalculatePropertyPercentage(amount: number, currentPropertyGroup: FormGroup): void {
|
|
15155
|
+
// currentPropertyGroup.get('percent').setValue(
|
|
15156
|
+
// roundTo(amount / this.bankAccount.currentBalance, 3)
|
|
15157
|
+
// );
|
|
15158
|
+
// }
|
|
15048
15159
|
BankAccountPropertiesForm.prototype.enablePercent = function () {
|
|
15049
15160
|
this.controls.forEach(function (propertyFormGroup) {
|
|
15050
15161
|
propertyFormGroup.get('percent').enable();
|
|
@@ -15058,6 +15169,57 @@
|
|
|
15058
15169
|
return BankAccountPropertiesForm;
|
|
15059
15170
|
}(forms.FormArray));
|
|
15060
15171
|
|
|
15172
|
+
var BankAccountAllocationForm = /** @class */ (function (_super) {
|
|
15173
|
+
__extends(BankAccountAllocationForm, _super);
|
|
15174
|
+
function BankAccountAllocationForm(bankAccount) {
|
|
15175
|
+
var _this = _super.call(this, {
|
|
15176
|
+
tankType: new forms.FormControl(bankAccount ? bankAccount.tankType : null, forms.Validators.required),
|
|
15177
|
+
}, classTransformer.plainToClass(BankAccount, bankAccount || {})) || this;
|
|
15178
|
+
_this.bankAccount = bankAccount;
|
|
15179
|
+
if (bankAccount === null || bankAccount === void 0 ? void 0 : bankAccount.isPropertyTank()) {
|
|
15180
|
+
_this.addControl('bankAccountProperties', new BankAccountPropertiesForm(bankAccount.bankAccountProperties));
|
|
15181
|
+
}
|
|
15182
|
+
_this.watchTankType();
|
|
15183
|
+
return _this;
|
|
15184
|
+
}
|
|
15185
|
+
BankAccountAllocationForm.prototype.watchTankType = function () {
|
|
15186
|
+
var _this = this;
|
|
15187
|
+
this.get('tankType').valueChanges.subscribe(function (tankType) {
|
|
15188
|
+
var _a;
|
|
15189
|
+
// @TODO vik add businessAllocation
|
|
15190
|
+
if (tankType === exports.TankTypeEnum.PROPERTY) {
|
|
15191
|
+
_this.addControl('bankAccountProperties', new BankAccountPropertiesForm((_a = _this.bankAccount) === null || _a === void 0 ? void 0 : _a.bankAccountProperties));
|
|
15192
|
+
}
|
|
15193
|
+
else {
|
|
15194
|
+
_this.removeControl('bankAccountProperties');
|
|
15195
|
+
}
|
|
15196
|
+
});
|
|
15197
|
+
};
|
|
15198
|
+
return BankAccountAllocationForm;
|
|
15199
|
+
}(AbstractForm));
|
|
15200
|
+
|
|
15201
|
+
/**
|
|
15202
|
+
* Form with bank account loan details
|
|
15203
|
+
*/
|
|
15204
|
+
var BankAccountLoanForm = /** @class */ (function (_super) {
|
|
15205
|
+
__extends(BankAccountLoanForm, _super);
|
|
15206
|
+
function BankAccountLoanForm(loan) {
|
|
15207
|
+
if (loan === void 0) { loan = classTransformer.plainToClass(Loan, {}); }
|
|
15208
|
+
return _super.call(this, {
|
|
15209
|
+
type: new forms.FormControl(loan.type, forms.Validators.required),
|
|
15210
|
+
amount: new forms.FormControl(loan.amount, forms.Validators.required),
|
|
15211
|
+
repaymentType: new forms.FormControl(loan.repaymentType, forms.Validators.required),
|
|
15212
|
+
interestRate: new forms.FormControl(loan.interestRate, [forms.Validators.required, forms.Validators.min(0), forms.Validators.max(100)]),
|
|
15213
|
+
interestType: new forms.FormControl(loan.interestType, forms.Validators.required),
|
|
15214
|
+
availableRedraw: new forms.FormControl(loan.availableRedraw, forms.Validators.required),
|
|
15215
|
+
commencementDate: new forms.FormControl(loan.commencementDate, forms.Validators.required),
|
|
15216
|
+
repaymentAmount: new forms.FormControl(loan.repaymentAmount, forms.Validators.required),
|
|
15217
|
+
repaymentFrequency: new forms.FormControl(loan.repaymentFrequency, forms.Validators.required)
|
|
15218
|
+
}, loan) || this;
|
|
15219
|
+
}
|
|
15220
|
+
return BankAccountLoanForm;
|
|
15221
|
+
}(AbstractForm));
|
|
15222
|
+
|
|
15061
15223
|
/**
|
|
15062
15224
|
* Form is using for import basiq bank accounts.
|
|
15063
15225
|
* Basiq accounts has all data except tank type, properties and loan partially
|
|
@@ -15065,40 +15227,16 @@
|
|
|
15065
15227
|
var BankAccountImportForm = /** @class */ (function (_super) {
|
|
15066
15228
|
__extends(BankAccountImportForm, _super);
|
|
15067
15229
|
function BankAccountImportForm(bankAccount) {
|
|
15068
|
-
var _this = _super.call(this,
|
|
15069
|
-
tankType: new forms.FormControl(bankAccount.tankType, forms.Validators.required),
|
|
15070
|
-
}, bankAccount) || this;
|
|
15230
|
+
var _this = _super.call(this, bankAccount) || this;
|
|
15071
15231
|
if (bankAccount.isLoan()) {
|
|
15072
15232
|
_this.addControl('loan', new BankAccountLoanForm(bankAccount.loan));
|
|
15073
15233
|
}
|
|
15074
15234
|
// basiq account import form should be disabled (unchecked) by default
|
|
15075
15235
|
_this.disable();
|
|
15076
|
-
_this.listenEvents();
|
|
15077
15236
|
return _this;
|
|
15078
15237
|
}
|
|
15079
|
-
BankAccountImportForm.prototype.listenEvents = function () {
|
|
15080
|
-
this.listenTankTypeChanges();
|
|
15081
|
-
};
|
|
15082
|
-
/**
|
|
15083
|
-
* Add/Remove bank account properties form depends on selected tank type
|
|
15084
|
-
*/
|
|
15085
|
-
BankAccountImportForm.prototype.listenTankTypeChanges = function () {
|
|
15086
|
-
var _this = this;
|
|
15087
|
-
this.get('tankType').valueChanges.subscribe(function (tankType) {
|
|
15088
|
-
if (tankType === exports.TankTypeEnum.PROPERTY) {
|
|
15089
|
-
_this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
|
|
15090
|
-
// property percent allowed only for loan bank accounts
|
|
15091
|
-
if (!_this.contains('loan')) {
|
|
15092
|
-
_this.get('bankAccountProperties').disablePercent();
|
|
15093
|
-
}
|
|
15094
|
-
}
|
|
15095
|
-
else {
|
|
15096
|
-
_this.removeControl('bankAccountProperties');
|
|
15097
|
-
}
|
|
15098
|
-
});
|
|
15099
|
-
};
|
|
15100
15238
|
return BankAccountImportForm;
|
|
15101
|
-
}(
|
|
15239
|
+
}(BankAccountAllocationForm));
|
|
15102
15240
|
|
|
15103
15241
|
/**
|
|
15104
15242
|
* Form is using for single manual bank account creation (not Basiq)
|
|
@@ -15106,20 +15244,18 @@
|
|
|
15106
15244
|
var BankAccountAddManualForm = /** @class */ (function (_super) {
|
|
15107
15245
|
__extends(BankAccountAddManualForm, _super);
|
|
15108
15246
|
function BankAccountAddManualForm(connection) {
|
|
15109
|
-
var _this = _super.call(this
|
|
15110
|
-
type: new forms.FormControl(null, forms.Validators.required),
|
|
15111
|
-
accountName: new forms.FormControl(null, forms.Validators.required),
|
|
15112
|
-
currentBalance: new forms.FormControl(null, forms.Validators.required),
|
|
15113
|
-
accountNumber: new forms.FormControl(null, [forms.Validators.required, forms.Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]),
|
|
15114
|
-
tankType: new forms.FormControl(null, forms.Validators.required),
|
|
15115
|
-
}, classTransformer.plainToClass(BankAccount, {})) || this;
|
|
15247
|
+
var _this = _super.call(this) || this;
|
|
15116
15248
|
_this.connection = connection;
|
|
15249
|
+
_this
|
|
15250
|
+
.addControl('type', new forms.FormControl(null, forms.Validators.required))
|
|
15251
|
+
.addControl('accountName', new forms.FormControl(null, forms.Validators.required))
|
|
15252
|
+
.addControl('currentBalance', new forms.FormControl(null, forms.Validators.required))
|
|
15253
|
+
.addControl('accountNumber', new forms.FormControl(null, [forms.Validators.required, forms.Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]));
|
|
15117
15254
|
_this.listenEvents();
|
|
15118
15255
|
return _this;
|
|
15119
15256
|
}
|
|
15120
15257
|
BankAccountAddManualForm.prototype.listenEvents = function () {
|
|
15121
15258
|
this.listenTypeChanges();
|
|
15122
|
-
this.listenTankTypeChanges();
|
|
15123
15259
|
};
|
|
15124
15260
|
/**
|
|
15125
15261
|
* Add/Remove loan form depends on selected bank account type
|
|
@@ -15129,38 +15265,9 @@
|
|
|
15129
15265
|
this.get('type').valueChanges.subscribe(function (type) {
|
|
15130
15266
|
if (BankAccount.loanTypes.includes(type)) {
|
|
15131
15267
|
_this.addControl('loan', new BankAccountLoanForm());
|
|
15132
|
-
// property percent allowed only for loan bank accounts
|
|
15133
|
-
if (_this.contains('bankAccountProperties')) {
|
|
15134
|
-
_this.get('bankAccountProperties').enablePercent();
|
|
15135
|
-
}
|
|
15136
15268
|
}
|
|
15137
15269
|
else {
|
|
15138
15270
|
_this.removeControl('loan');
|
|
15139
|
-
// property percent allowed only for loan bank accounts
|
|
15140
|
-
if (_this.contains('bankAccountProperties')) {
|
|
15141
|
-
_this.get('bankAccountProperties').disablePercent();
|
|
15142
|
-
}
|
|
15143
|
-
}
|
|
15144
|
-
});
|
|
15145
|
-
};
|
|
15146
|
-
/**
|
|
15147
|
-
* Add/Remove bank account properties form depends on selected tank type
|
|
15148
|
-
*/
|
|
15149
|
-
BankAccountAddManualForm.prototype.listenTankTypeChanges = function () {
|
|
15150
|
-
var _this = this;
|
|
15151
|
-
this.get('tankType').valueChanges.subscribe(function (tankType) {
|
|
15152
|
-
if (tankType === exports.TankTypeEnum.PROPERTY) {
|
|
15153
|
-
_this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
|
|
15154
|
-
// property percent allowed only for loan bank accounts
|
|
15155
|
-
if (_this.contains('loan')) {
|
|
15156
|
-
_this.get('bankAccountProperties').enablePercent();
|
|
15157
|
-
}
|
|
15158
|
-
else {
|
|
15159
|
-
_this.get('bankAccountProperties').disablePercent();
|
|
15160
|
-
}
|
|
15161
|
-
}
|
|
15162
|
-
else {
|
|
15163
|
-
_this.removeControl('bankAccountProperties');
|
|
15164
15271
|
}
|
|
15165
15272
|
});
|
|
15166
15273
|
};
|
|
@@ -15171,7 +15278,7 @@
|
|
|
15171
15278
|
return _super.prototype.submit.call(this, { bankConnection: this.connection });
|
|
15172
15279
|
};
|
|
15173
15280
|
return BankAccountAddManualForm;
|
|
15174
|
-
}(
|
|
15281
|
+
}(BankAccountAllocationForm));
|
|
15175
15282
|
BankAccountAddManualForm.accountNumberPattern = '^[0-9]{6}[ ]{1}[0-9]{1,}$';
|
|
15176
15283
|
|
|
15177
15284
|
/**
|
|
@@ -15304,31 +15411,6 @@
|
|
|
15304
15411
|
};
|
|
15305
15412
|
}
|
|
15306
15413
|
|
|
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
|
-
|
|
15332
15414
|
/**
|
|
15333
15415
|
* Regular expressions that are used to check password strength and valid values
|
|
15334
15416
|
*/
|
|
@@ -15617,12 +15699,12 @@
|
|
|
15617
15699
|
value: deductions.workRelatedTravelExpensesTotalAmount,
|
|
15618
15700
|
disabled: true
|
|
15619
15701
|
}),
|
|
15620
|
-
workRelatedClothingType: new forms.FormControl(deductions.workRelatedClothingType, forms.Validators.required),
|
|
15702
|
+
workRelatedClothingType: new forms.FormControl(deductions.workRelatedClothingType, conditionalValidator(function () { return !!deductions.workRelatedClothingTotalAmount; }, forms.Validators.required)),
|
|
15621
15703
|
workRelatedClothingTotalAmount: new forms.FormControl({
|
|
15622
15704
|
value: deductions.workRelatedClothingTotalAmount,
|
|
15623
15705
|
disabled: true
|
|
15624
15706
|
}),
|
|
15625
|
-
workRelatedSelfEducationType: new forms.FormControl(deductions.workRelatedSelfEducationType, forms.Validators.required),
|
|
15707
|
+
workRelatedSelfEducationType: new forms.FormControl(deductions.workRelatedSelfEducationType, conditionalValidator(function () { return !!deductions.workRelatedSelfEducationTotalAmount; }, forms.Validators.required)),
|
|
15626
15708
|
workRelatedSelfEducationTotalAmount: new forms.FormControl({
|
|
15627
15709
|
value: deductions.workRelatedSelfEducationTotalAmount,
|
|
15628
15710
|
disabled: true
|
|
@@ -15659,6 +15741,11 @@
|
|
|
15659
15741
|
value: deductions.otherManagingCostsTotalAmount,
|
|
15660
15742
|
disabled: true
|
|
15661
15743
|
}),
|
|
15744
|
+
fundName: new forms.FormControl(''),
|
|
15745
|
+
hasFund: new forms.FormControl(true),
|
|
15746
|
+
fundABN: new forms.FormControl(''),
|
|
15747
|
+
fundTFN: new forms.FormControl(''),
|
|
15748
|
+
fundAccountNumber: new forms.FormControl(''),
|
|
15662
15749
|
personalSuperContributionsTotalAmount: new forms.FormControl({
|
|
15663
15750
|
value: deductions.personalSuperContributionsTotalAmount,
|
|
15664
15751
|
disabled: true
|
|
@@ -15995,6 +16082,7 @@
|
|
|
15995
16082
|
exports.Bank = Bank;
|
|
15996
16083
|
exports.BankAccount = BankAccount;
|
|
15997
16084
|
exports.BankAccountAddManualForm = BankAccountAddManualForm;
|
|
16085
|
+
exports.BankAccountAllocationForm = BankAccountAllocationForm;
|
|
15998
16086
|
exports.BankAccountCalculationService = BankAccountCalculationService;
|
|
15999
16087
|
exports.BankAccountChartData = BankAccountChartData;
|
|
16000
16088
|
exports.BankAccountCollection = BankAccountCollection;
|