taxtank-core 0.16.12 → 0.17.1

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 (80) hide show
  1. package/bundles/taxtank-core.umd.js +370 -383
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/bank-transaction.collection.js +1 -1
  4. package/esm2015/lib/collections/collection-dictionary.js +16 -1
  5. package/esm2015/lib/collections/depreciation.collection.js +2 -2
  6. package/esm2015/lib/collections/exportable.collection.js +17 -0
  7. package/esm2015/lib/collections/loan/loan-payment.collection.js +31 -0
  8. package/esm2015/lib/collections/loan/loan.collection.js +18 -0
  9. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +1 -1
  10. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
  11. package/esm2015/lib/collections/tax-summary/report-item.collection.js +50 -120
  12. package/esm2015/lib/collections/tax-summary/tax-return-categories.const.js +65 -0
  13. package/esm2015/lib/collections/transaction/transaction-allocation.collection.js +40 -0
  14. package/esm2015/lib/collections/transaction/transaction.collection.js +167 -0
  15. package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +21 -7
  16. package/esm2015/lib/models/bank/bank-transaction.js +1 -1
  17. package/esm2015/lib/models/export/export-cell-type.enum.js +10 -0
  18. package/esm2015/lib/models/export/export-cell.js +6 -0
  19. package/esm2015/lib/models/export/export-data-table.js +1 -7
  20. package/esm2015/lib/models/income-source/income-source-chart-data.js +1 -1
  21. package/esm2015/lib/models/loan/loan-payment.js +2 -24
  22. package/esm2015/lib/models/logbook/vehicle-claim.js +1 -1
  23. package/esm2015/lib/models/property/property-equity-chart-data.js +1 -1
  24. package/esm2015/lib/models/report/property/property-report-item-transaction.js +1 -1
  25. package/esm2015/lib/models/tax-summary/report-item.js +8 -1
  26. package/esm2015/lib/models/tax-summary/tax-summary.js +28 -9
  27. package/esm2015/lib/models/transaction/transaction.js +1 -1
  28. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  29. package/esm2015/lib/services/bank/bank-account-calculation.service.js +1 -1
  30. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +1 -1
  31. package/esm2015/lib/services/export/export-formatter.service.js +31 -0
  32. package/esm2015/lib/services/pdf/pdf.service.js +9 -4
  33. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +1 -1
  34. package/esm2015/lib/services/report/property/property-transaction-report.service.js +2 -2
  35. package/esm2015/lib/services/transaction/transaction-calculation.service.js +2 -2
  36. package/esm2015/public-api.js +8 -10
  37. package/fesm2015/taxtank-core.js +307 -286
  38. package/fesm2015/taxtank-core.js.map +1 -1
  39. package/lib/collections/bank-transaction.collection.d.ts +1 -1
  40. package/lib/collections/collection-dictionary.d.ts +5 -0
  41. package/lib/collections/depreciation.collection.d.ts +1 -1
  42. package/lib/collections/exportable.collection.d.ts +9 -0
  43. package/lib/collections/loan/loan-payment.collection.d.ts +7 -0
  44. package/lib/collections/{loan.collection.d.ts → loan/loan.collection.d.ts} +2 -2
  45. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +1 -1
  46. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
  47. package/lib/collections/tax-summary/report-item.collection.d.ts +17 -51
  48. package/lib/collections/tax-summary/tax-return-categories.const.d.ts +6 -0
  49. package/lib/collections/{transaction-allocation.collection.d.ts → transaction/transaction-allocation.collection.d.ts} +6 -6
  50. package/lib/collections/{transaction.collection.d.ts → transaction/transaction.collection.d.ts} +9 -5
  51. package/lib/db/Enums/tax-return-category-list.enum.d.ts +20 -6
  52. package/lib/models/bank/bank-transaction.d.ts +1 -1
  53. package/lib/models/export/export-cell-type.enum.d.ts +8 -0
  54. package/lib/models/export/export-cell.d.ts +8 -0
  55. package/lib/models/export/export-data-table.d.ts +3 -2
  56. package/lib/models/income-source/income-source-chart-data.d.ts +1 -1
  57. package/lib/models/loan/loan-payment.d.ts +1 -5
  58. package/lib/models/logbook/vehicle-claim.d.ts +1 -1
  59. package/lib/models/property/property-equity-chart-data.d.ts +1 -1
  60. package/lib/models/report/property/property-report-item-transaction.d.ts +1 -1
  61. package/lib/models/tax-summary/report-item.d.ts +3 -2
  62. package/lib/models/transaction/transaction.d.ts +1 -1
  63. package/lib/services/bank/bank-account-calculation.service.d.ts +1 -1
  64. package/lib/services/bank/bank-transaction-calculation.service.d.ts +1 -1
  65. package/lib/services/export/export-formatter.service.d.ts +11 -0
  66. package/lib/services/pdf/pdf.service.d.ts +3 -0
  67. package/lib/services/property/property-calculation/property-calculation.service.d.ts +2 -2
  68. package/lib/services/report/property/property-transaction-report.service.d.ts +1 -1
  69. package/lib/services/transaction/transaction-calculation.service.d.ts +2 -2
  70. package/package.json +1 -1
  71. package/public-api.d.ts +7 -9
  72. package/esm2015/lib/collections/loan.collection.js +0 -18
  73. package/esm2015/lib/collections/transaction-allocation.collection.js +0 -40
  74. package/esm2015/lib/collections/transaction.collection.js +0 -143
  75. package/esm2015/lib/interfaces/exportable.interface.js +0 -2
  76. package/esm2015/lib/services/data-table/data-table.service.js +0 -47
  77. package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +0 -53
  78. package/lib/interfaces/exportable.interface.d.ts +0 -9
  79. package/lib/services/data-table/data-table.service.d.ts +0 -19
  80. package/lib/services/property/property-holding-costs/property-holding-costs.service.d.ts +0 -24
@@ -799,6 +799,21 @@ class CollectionDictionary {
799
799
  length() {
800
800
  return this.keys.length;
801
801
  }
802
+ /**
803
+ * @Todo find a better solution to get list of the sorted keys
804
+ * Get array of the "keys" by provided order
805
+ */
806
+ getSortedKeys(isDesc = false) {
807
+ return this.keys.sort((a, b) => {
808
+ if (a > b) {
809
+ return !isDesc ? 1 : -1;
810
+ }
811
+ if (a < b) {
812
+ return !isDesc ? -1 : 1;
813
+ }
814
+ return 0;
815
+ });
816
+ }
802
817
  /**
803
818
  * Group collection items by passed path into items object
804
819
  */
@@ -1345,10 +1360,43 @@ var TankTypeEnum;
1345
1360
  TankTypeEnum[TankTypeEnum["SOLE"] = 4] = "SOLE";
1346
1361
  })(TankTypeEnum || (TankTypeEnum = {}));
1347
1362
 
1363
+ /**
1364
+ * export table column
1365
+ */
1366
+ class ExportCell {
1367
+ }
1368
+
1369
+ /**
1370
+ * type of export table column value
1371
+ */
1372
+ var ExportCellTypeEnum;
1373
+ (function (ExportCellTypeEnum) {
1374
+ ExportCellTypeEnum[ExportCellTypeEnum["STRING"] = 0] = "STRING";
1375
+ ExportCellTypeEnum[ExportCellTypeEnum["CURRENCY"] = 1] = "CURRENCY";
1376
+ ExportCellTypeEnum[ExportCellTypeEnum["DATE"] = 2] = "DATE";
1377
+ })(ExportCellTypeEnum || (ExportCellTypeEnum = {}));
1378
+
1379
+ class ExportDataTable {
1380
+ }
1381
+
1382
+ class ExportableCollection extends Collection {
1383
+ getExportFooter(type) {
1384
+ return [];
1385
+ }
1386
+ ;
1387
+ export(type) {
1388
+ return plainToClass(ExportDataTable, {
1389
+ header: this.getExportHeader(type),
1390
+ body: this.getExportBody(type),
1391
+ footer: [this.getExportFooter(type)]
1392
+ });
1393
+ }
1394
+ }
1395
+
1348
1396
  /**
1349
1397
  * Collection of transactions
1350
1398
  */
1351
- class TransactionCollection extends Collection {
1399
+ class TransactionCollection extends ExportableCollection {
1352
1400
  /**
1353
1401
  * Get total amount of all transactions in the collection
1354
1402
  */
@@ -1484,6 +1532,27 @@ class TransactionCollection extends Collection {
1484
1532
  }
1485
1533
  }));
1486
1534
  }
1535
+ getExportHeader() {
1536
+ return ['Date', 'Description', 'Debit', 'Credit'];
1537
+ }
1538
+ getExportFooter() {
1539
+ return [
1540
+ plainToClass(ExportCell, { value: 'Total', type: ExportCellTypeEnum.STRING }),
1541
+ plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
1542
+ plainToClass(ExportCell, { value: this.sumBy('debit'), type: ExportCellTypeEnum.CURRENCY }),
1543
+ plainToClass(ExportCell, { value: this.sumBy('credit'), type: ExportCellTypeEnum.CURRENCY })
1544
+ ];
1545
+ }
1546
+ getExportBody() {
1547
+ return this.items.map((transaction) => {
1548
+ return [
1549
+ plainToClass(ExportCell, { value: transaction.date, type: ExportCellTypeEnum.DATE }),
1550
+ plainToClass(ExportCell, { value: transaction.description, type: ExportCellTypeEnum.STRING }),
1551
+ plainToClass(ExportCell, { value: transaction.debit, type: ExportCellTypeEnum.CURRENCY }),
1552
+ plainToClass(ExportCell, { value: transaction.credit, type: ExportCellTypeEnum.CURRENCY })
1553
+ ];
1554
+ });
1555
+ }
1487
1556
  }
1488
1557
 
1489
1558
  class DepreciationCollection extends Collection {
@@ -1649,6 +1718,33 @@ class LoanCollection extends Collection {
1649
1718
  }
1650
1719
  }
1651
1720
 
1721
+ class LoanPaymentCollection extends ExportableCollection {
1722
+ getExportHeader() {
1723
+ return [
1724
+ 'Pmt No.',
1725
+ 'Date',
1726
+ 'Payment Due',
1727
+ 'Interest Accrued',
1728
+ 'Principal Paid',
1729
+ 'Principal Balance',
1730
+ 'Payout'
1731
+ ];
1732
+ }
1733
+ getExportBody() {
1734
+ return this.items.map((payment) => {
1735
+ return [
1736
+ plainToClass(ExportCell, { value: payment.number, type: ExportCellTypeEnum.STRING }),
1737
+ plainToClass(ExportCell, { value: payment.date, type: ExportCellTypeEnum.DATE }),
1738
+ plainToClass(ExportCell, { value: payment.paymentDue, type: ExportCellTypeEnum.CURRENCY }),
1739
+ plainToClass(ExportCell, { value: payment.interestAccrued, type: ExportCellTypeEnum.CURRENCY }),
1740
+ plainToClass(ExportCell, { value: payment.principalPaid, type: ExportCellTypeEnum.CURRENCY }),
1741
+ plainToClass(ExportCell, { value: payment.principalBalance, type: ExportCellTypeEnum.CURRENCY }),
1742
+ plainToClass(ExportCell, { value: payment.payout, type: ExportCellTypeEnum.CURRENCY }),
1743
+ ];
1744
+ });
1745
+ }
1746
+ }
1747
+
1652
1748
  class MessageCollection extends Collection {
1653
1749
  getFirstUnreadMessage(user) {
1654
1750
  return this.items.find((message) => {
@@ -3371,47 +3467,11 @@ var LoanVehicleTypeEnum;
3371
3467
  LoanVehicleTypeEnum[LoanVehicleTypeEnum["COMMERCIAL_HIRE_PURCHASE"] = 10] = "COMMERCIAL_HIRE_PURCHASE";
3372
3468
  })(LoanVehicleTypeEnum || (LoanVehicleTypeEnum = {}));
3373
3469
 
3374
- /**
3375
- * Class with structure of the data-table rows
3376
- */
3377
- class ExportRow {
3378
- }
3379
-
3380
- /**
3381
- * Enum which shows what type (in terms of business logic) of the data-table row item
3382
- */
3383
- var ExportRowDataTypeEnum;
3384
- (function (ExportRowDataTypeEnum) {
3385
- ExportRowDataTypeEnum[ExportRowDataTypeEnum["STRING"] = 0] = "STRING";
3386
- ExportRowDataTypeEnum[ExportRowDataTypeEnum["CURRENCY"] = 1] = "CURRENCY";
3387
- ExportRowDataTypeEnum[ExportRowDataTypeEnum["DATE"] = 2] = "DATE";
3388
- })(ExportRowDataTypeEnum || (ExportRowDataTypeEnum = {}));
3389
-
3390
- const EXPORT_DATA_TABLE_COLUMNS = [
3391
- 'Pmt No.',
3392
- 'Date',
3393
- 'Payment Due',
3394
- 'Interest Accrued',
3395
- 'Principal Paid',
3396
- 'Principal Balance',
3397
- 'Payout'
3398
- ];
3399
3470
  // @Todo no base model from backend list
3400
3471
  /**
3401
3472
  * Loan payment class
3402
3473
  */
3403
3474
  class LoanPayment {
3404
- toDataTableRows() {
3405
- return [
3406
- plainToClass(ExportRow, { data: this.number, type: ExportRowDataTypeEnum.STRING }),
3407
- plainToClass(ExportRow, { data: this.date, type: ExportRowDataTypeEnum.DATE }),
3408
- plainToClass(ExportRow, { data: this.paymentDue, type: ExportRowDataTypeEnum.CURRENCY }),
3409
- plainToClass(ExportRow, { data: this.interestAccrued, type: ExportRowDataTypeEnum.CURRENCY }),
3410
- plainToClass(ExportRow, { data: this.principalPaid, type: ExportRowDataTypeEnum.CURRENCY }),
3411
- plainToClass(ExportRow, { data: this.principalBalance, type: ExportRowDataTypeEnum.CURRENCY }),
3412
- plainToClass(ExportRow, { data: this.payout, type: ExportRowDataTypeEnum.CURRENCY }),
3413
- ];
3414
- }
3415
3475
  }
3416
3476
  __decorate([
3417
3477
  Type(() => Date)
@@ -4114,179 +4174,180 @@ class ServiceSubscriptionCollection extends Collection {
4114
4174
  }
4115
4175
  }
4116
4176
 
4177
+ /**
4178
+ * collection for tax return category items
4179
+ */
4180
+ class ReportItemCollection extends Collection {
4181
+ /**
4182
+ * Recursively get collection of report items by Tax Summary Section.
4183
+ * Search items which has details
4184
+ */
4185
+ getBySection(section) {
4186
+ let result = [];
4187
+ for (let reportItem of this.items) {
4188
+ if (reportItem.details.length && reportItem.taxReturnCategory.section === section) {
4189
+ result.push(reportItem);
4190
+ }
4191
+ else {
4192
+ result.push(...reportItem.items.getBySection(section).toArray());
4193
+ }
4194
+ }
4195
+ return this.create(result);
4196
+ }
4197
+ /**
4198
+ * Recursively find report item by Tax Return Category ID
4199
+ */
4200
+ findByCategory(categoryId) {
4201
+ let result;
4202
+ for (let reportItem of this.items) {
4203
+ if (result) {
4204
+ break;
4205
+ }
4206
+ if (reportItem.taxReturnCategory.id === categoryId) {
4207
+ result = reportItem;
4208
+ }
4209
+ else {
4210
+ result = reportItem.items.findByCategory(categoryId);
4211
+ }
4212
+ }
4213
+ return result;
4214
+ }
4215
+ /**
4216
+ * Get Collection of report items by Tax Return Categories IDs
4217
+ */
4218
+ getByCategories(categories) {
4219
+ return this.create(compact(categories.map((category) => this.findByCategory(category))));
4220
+ }
4221
+ /**
4222
+ * A short call to a chain of methods that we often use.
4223
+ * Get total amount of report items by Tax Return categories and Tax Summary Section.
4224
+ */
4225
+ sumByCategoriesAndSection(categories, section) {
4226
+ return this.getByCategories(categories).getBySection(section).sumBy('amount');
4227
+ }
4228
+ /**
4229
+ * Get collection of all report item details related to passed income source
4230
+ * @TODO Alex: consider to create and move to ReportItemDetailsCollection
4231
+ */
4232
+ getDetailsByIncomeSource(incomeSource) {
4233
+ let result = [];
4234
+ for (let reportItem of this.items) {
4235
+ if (reportItem.details.length) {
4236
+ result.push(...reportItem.details.filter((details) => details.name === incomeSource.name));
4237
+ }
4238
+ else {
4239
+ result.push(...reportItem.items.getDetailsByIncomeSource(incomeSource).toArray());
4240
+ }
4241
+ }
4242
+ return new Collection(result);
4243
+ }
4244
+ }
4245
+
4117
4246
  var TaxReturnCategoryListEnum;
4118
4247
  (function (TaxReturnCategoryListEnum) {
4119
4248
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SALARY"] = 1] = "SALARY";
4249
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 30] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
4250
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["EMPLOYER_LUMP_SUM_PAYMENTS"] = 31] = "EMPLOYER_LUMP_SUM_PAYMENTS";
4251
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ETP"] = 32] = "ETP";
4252
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_ALLOWANCES"] = 2] = "GOVERNMENT_ALLOWANCES";
4253
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_PENSIONS"] = 33] = "GOVERNMENT_PENSIONS";
4254
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ANNUITIES_SUPER_INCOME_STREAMS"] = 3] = "ANNUITIES_SUPER_INCOME_STREAMS";
4255
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SUPERANNUATION_LUMP_SUM_PAYMENTS"] = 34] = "SUPERANNUATION_LUMP_SUM_PAYMENTS";
4256
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ATTRIBUTED_PSI_INCOME"] = 4] = "ATTRIBUTED_PSI_INCOME";
4120
4257
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["WORK_EXPENSES"] = 7] = "WORK_EXPENSES";
4121
4258
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_RENT"] = 8] = "GROSS_RENT";
4259
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_RENTAL_DEDUCTIONS"] = 12] = "OTHER_RENTAL_DEDUCTIONS";
4122
4260
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["INTEREST_DEDUCTIONS"] = 9] = "INTEREST_DEDUCTIONS";
4123
4261
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_WORKS"] = 10] = "CAPITAL_WORKS";
4124
4262
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DEPRECIATION"] = 11] = "DEPRECIATION";
4125
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_RENTAL_DEDUCTIONS"] = 12] = "OTHER_RENTAL_DEDUCTIONS";
4126
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BORROWING_EXPENSES"] = 29] = "BORROWING_EXPENSES";
4263
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_INTEREST"] = 5] = "GROSS_INTEREST";
4264
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DIVIDENDS"] = 6] = "DIVIDENDS";
4265
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SHARE_SCHEMES"] = 35] = "SHARE_SCHEMES";
4127
4266
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PARTNERSHIPS_TRUSTS"] = 13] = "PARTNERSHIPS_TRUSTS";
4128
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PCI_SBE_INCOME"] = 14] = "PCI_SBE_INCOME";
4267
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PSI_SBE_INCOME"] = 14] = "PSI_SBE_INCOME";
4268
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SOLE_TRADER_BUSINESS_INCOME"] = 38] = "SOLE_TRADER_BUSINESS_INCOME";
4129
4269
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_GAINS"] = 15] = "CAPITAL_GAINS";
4130
4270
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FOREIGN_SOURCE_INCOME"] = 16] = "FOREIGN_SOURCE_INCOME";
4131
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_INCOME"] = 17] = "OTHER_INCOME";
4271
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BONUSES_FROM_LIFE_INSURANCE"] = 17] = "BONUSES_FROM_LIFE_INSURANCE";
4272
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES"] = 39] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES";
4273
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_INCOME"] = 40] = "OTHER_INCOME";
4274
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
4132
4275
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_DEDUCTIONS"] = 18] = "OTHER_DEDUCTIONS";
4276
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
4277
+ TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BORROWING_EXPENSES"] = 29] = "BORROWING_EXPENSES";
4133
4278
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_TAX_PAYABLE"] = 19] = "GROSS_TAX_PAYABLE";
4134
4279
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_ON_TAXABLE_INCOME"] = 20] = "TAX_ON_TAXABLE_INCOME";
4135
4280
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["MEDICARE"] = 21] = "MEDICARE";
4136
4281
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["STUDENT_LOAN_REPAYMENT"] = 22] = "STUDENT_LOAN_REPAYMENT";
4137
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
4138
4282
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_WITHHELD"] = 24] = "TAX_WITHHELD";
4139
4283
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_INSTALMENTS"] = 25] = "TAX_INSTALMENTS";
4140
4284
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FRANKING_CREDITS"] = 26] = "FRANKING_CREDITS";
4141
- TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
4142
4285
  TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_PAYABLE"] = 28] = "TAX_PAYABLE";
4143
4286
  })(TaxReturnCategoryListEnum || (TaxReturnCategoryListEnum = {}));
4144
4287
 
4145
- var TaxReturnCategorySectionEnum;
4146
- (function (TaxReturnCategorySectionEnum) {
4147
- TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["WORK_TANK"] = 1] = "WORK_TANK";
4148
- TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["PROPERTY_TANK"] = 2] = "PROPERTY_TANK";
4149
- TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["OTHER_INCOME"] = 3] = "OTHER_INCOME";
4150
- TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["SUMMARY"] = 4] = "SUMMARY";
4151
- })(TaxReturnCategorySectionEnum || (TaxReturnCategorySectionEnum = {}));
4152
-
4153
- /**
4154
- * collection for tax return category items
4155
- */
4156
- class ReportItemCollection extends Collection {
4157
- /**
4158
- * Work income
4159
- */
4160
- get salary() {
4161
- var _a;
4162
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.SALARY)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4163
- }
4164
- /**
4165
- * Work expenses
4166
- */
4167
- get workExpenses() {
4168
- var _a;
4169
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.WORK_EXPENSES)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4170
- }
4171
- /**
4172
- * Property income
4173
- */
4174
- get rentalIncome() {
4175
- var _a;
4176
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.GROSS_RENT)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4177
- }
4178
- /**
4179
- * Property rental deductions
4180
- */
4181
- get rentalDeductions() {
4182
- var _a;
4183
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4184
- }
4185
- /**
4186
- * Property expenses
4187
- */
4188
- get propertyExpenses() {
4189
- return this.rentalDeductions + this.borrowingExpenses;
4190
- }
4191
- /**
4192
- * Property interest
4193
- */
4194
- get interestDeductions() {
4195
- var _a;
4196
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.INTEREST_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4197
- }
4198
- /**
4199
- * Property capital works depreciations
4200
- */
4201
- get capitalWorks() {
4202
- var _a;
4203
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.CAPITAL_WORKS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4204
- }
4205
- /**
4206
- * Property plant & equipment depreciations
4207
- */
4208
- get plantEquipment() {
4209
- var _a;
4210
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.DEPRECIATION)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4211
- }
4212
- /**
4213
- * Total property depreciaions
4214
- */
4215
- get propertyDepreciations() {
4216
- return this.capitalWorks + this.plantEquipment;
4217
- }
4218
- get partnershipsAndTrusts() {
4219
- var _a;
4220
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4221
- }
4222
- get pciAndSbeIncome() {
4223
- var _a;
4224
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.PCI_SBE_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4225
- }
4226
- get capitalGains() {
4227
- var _a;
4228
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.CAPITAL_GAINS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4229
- }
4230
- get foreignSourceIncome() {
4231
- var _a;
4232
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4233
- }
4234
- /**
4235
- * Other income
4236
- */
4237
- get otherIncome() {
4238
- var _a;
4239
- return (((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0) +
4240
- this.partnershipsAndTrusts +
4241
- this.pciAndSbeIncome +
4242
- this.capitalGains +
4243
- this.foreignSourceIncome;
4244
- }
4245
- /**
4246
- * Other expenses
4247
- */
4248
- get otherDeductions() {
4249
- var _a;
4250
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4251
- }
4252
- get taxInstalments() {
4253
- var _a;
4254
- return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.TAX_INSTALMENTS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4255
- }
4256
- get frankingCredits() {
4257
- var _a;
4258
- return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.FRANKING_CREDITS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4259
- }
4260
- get taxOffsets() {
4261
- var _a;
4262
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.TAX_OFFSETS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4263
- }
4264
- get borrowingExpenses() {
4265
- var _a;
4266
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.BORROWING_EXPENSES)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4267
- }
4268
- get grossTaxPayable() {
4269
- var _a;
4270
- return ((_a = this.getByCategory(TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
4271
- }
4272
- /**
4273
- * taxWithheld by section (work or other)
4274
- */
4275
- getTaxWithheld(section = TaxReturnCategorySectionEnum.WORK_TANK) {
4276
- var _a;
4277
- return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.TAX_WITHHELD)) === null || _a === void 0 ? void 0 : _a.details.filter((details) => details.section === section).reduce((sum, details) => sum + details.amount, 0)) || 0;
4278
- }
4279
- getTaxCreditsCollection() {
4280
- var _a;
4281
- return new ReportItemCollection(((_a = this.getByCategory(TaxReturnCategoryListEnum.TAX_CREDITS)) === null || _a === void 0 ? void 0 : _a.items) || []);
4282
- }
4283
- getTotalAmountByIncomeSourceName(name) {
4284
- return this.items.reduce(((sum, item) => sum + item.getAmountByIncomeSourceName(name)), 0);
4285
- }
4286
- getByCategory(category) {
4287
- return this.items.find((item) => item.taxReturnCategory.id === category);
4288
+ const TAX_RETURN_CATEGORIES = {
4289
+ work: {
4290
+ income: [
4291
+ TaxReturnCategoryListEnum.SALARY,
4292
+ TaxReturnCategoryListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES,
4293
+ TaxReturnCategoryListEnum.EMPLOYER_LUMP_SUM_PAYMENTS,
4294
+ TaxReturnCategoryListEnum.ETP,
4295
+ TaxReturnCategoryListEnum.GOVERNMENT_ALLOWANCES,
4296
+ TaxReturnCategoryListEnum.GOVERNMENT_PENSIONS,
4297
+ TaxReturnCategoryListEnum.ANNUITIES_SUPER_INCOME_STREAMS,
4298
+ TaxReturnCategoryListEnum.SUPERANNUATION_LUMP_SUM_PAYMENTS,
4299
+ TaxReturnCategoryListEnum.ATTRIBUTED_PSI_INCOME
4300
+ ],
4301
+ expenses: [
4302
+ TaxReturnCategoryListEnum.WORK_EXPENSES
4303
+ ],
4304
+ interest: [
4305
+ TaxReturnCategoryListEnum.GROSS_INTEREST
4306
+ ],
4307
+ taxWithheld: [
4308
+ TaxReturnCategoryListEnum.TAX_WITHHELD
4309
+ ]
4310
+ },
4311
+ property: {
4312
+ income: [
4313
+ TaxReturnCategoryListEnum.GROSS_RENT
4314
+ ],
4315
+ expenses: [
4316
+ TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS
4317
+ ],
4318
+ interest: [
4319
+ TaxReturnCategoryListEnum.INTEREST_DEDUCTIONS
4320
+ ],
4321
+ depreciation: [
4322
+ TaxReturnCategoryListEnum.CAPITAL_WORKS,
4323
+ TaxReturnCategoryListEnum.DEPRECIATION
4324
+ ]
4325
+ },
4326
+ other: {
4327
+ income: [
4328
+ TaxReturnCategoryListEnum.GROSS_INTEREST,
4329
+ TaxReturnCategoryListEnum.DIVIDENDS,
4330
+ TaxReturnCategoryListEnum.SHARE_SCHEMES,
4331
+ TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS,
4332
+ TaxReturnCategoryListEnum.PSI_SBE_INCOME,
4333
+ TaxReturnCategoryListEnum.SOLE_TRADER_BUSINESS_INCOME,
4334
+ TaxReturnCategoryListEnum.CAPITAL_GAINS,
4335
+ TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME,
4336
+ TaxReturnCategoryListEnum.BONUSES_FROM_LIFE_INSURANCE,
4337
+ TaxReturnCategoryListEnum.FORESTRY_MANAGED_INVESTMENT_SCHEMES,
4338
+ TaxReturnCategoryListEnum.OTHER_INCOME
4339
+ ],
4340
+ expenses: [
4341
+ TaxReturnCategoryListEnum.OTHER_DEDUCTIONS
4342
+ ],
4343
+ taxCredits: [
4344
+ TaxReturnCategoryListEnum.TAX_CREDITS
4345
+ ],
4346
+ taxOffsets: [
4347
+ TaxReturnCategoryListEnum.TAX_OFFSETS
4348
+ ]
4288
4349
  }
4289
- }
4350
+ };
4290
4351
 
4291
4352
  /**
4292
4353
  * Collection of tax review
@@ -4754,6 +4815,14 @@ var TaxCalculationTypeEnum;
4754
4815
  TaxCalculationTypeEnum[TaxCalculationTypeEnum["ETP_TAX_FREE"] = 9] = "ETP_TAX_FREE";
4755
4816
  })(TaxCalculationTypeEnum || (TaxCalculationTypeEnum = {}));
4756
4817
 
4818
+ var TaxReturnCategorySectionEnum;
4819
+ (function (TaxReturnCategorySectionEnum) {
4820
+ TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["WORK_TANK"] = 1] = "WORK_TANK";
4821
+ TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["PROPERTY_TANK"] = 2] = "PROPERTY_TANK";
4822
+ TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["OTHER_INCOME"] = 3] = "OTHER_INCOME";
4823
+ TaxReturnCategorySectionEnum[TaxReturnCategorySectionEnum["SUMMARY"] = 4] = "SUMMARY";
4824
+ })(TaxReturnCategorySectionEnum || (TaxReturnCategorySectionEnum = {}));
4825
+
4757
4826
  var TaxReviewStatusEnum;
4758
4827
  (function (TaxReviewStatusEnum) {
4759
4828
  TaxReviewStatusEnum[TaxReviewStatusEnum["NEW"] = 0] = "NEW";
@@ -5885,15 +5954,6 @@ var AppEventTypeEnum;
5885
5954
  AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 42] = "VEHICLE_LOGBOOK_DELETED";
5886
5955
  })(AppEventTypeEnum || (AppEventTypeEnum = {}));
5887
5956
 
5888
- /**
5889
- * Data table structure suitable for export
5890
- */
5891
- class ExportDataTable {
5892
- constructor() {
5893
- this.footer = [];
5894
- }
5895
- }
5896
-
5897
5957
  var ExportFormatEnum;
5898
5958
  (function (ExportFormatEnum) {
5899
5959
  ExportFormatEnum["PDF"] = "PDF";
@@ -6629,6 +6689,10 @@ class ReportItem {
6629
6689
  return ((_a = this.details.find((detail) => detail.name === name)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
6630
6690
  }
6631
6691
  }
6692
+ __decorate([
6693
+ Type(() => ReportItem),
6694
+ Transform(({ value }) => new ReportItemCollection(value))
6695
+ ], ReportItem.prototype, "items", void 0);
6632
6696
 
6633
6697
  /**
6634
6698
  * Used in tax summary reports to show specific details relating to an amount in the report.
@@ -6673,49 +6737,66 @@ class TaxSummary {
6673
6737
  return [this.work, this.property, this.otherIncome, this.summary];
6674
6738
  }
6675
6739
  get taxPercent() {
6676
- return this.summary.items.grossTaxPayable / this.summary.netAmount;
6740
+ return this.summary.items.findByCategory(TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE).amount / this.summary.netAmount;
6677
6741
  }
6678
6742
  /**
6679
6743
  * Work Net Cash = Income - tax withheld - expenses - interest
6680
6744
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
6681
6745
  */
6682
6746
  get workNetCash() {
6683
- return this.workNetTotal - Math.abs(this.summary.items.getTaxWithheld(TaxReturnCategorySectionEnum.WORK_TANK));
6747
+ const taxWithheld = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.taxWithheld, TaxSummarySectionEnum.WORK_TANK);
6748
+ return this.workNetTotal - Math.abs(taxWithheld);
6684
6749
  }
6685
6750
  /**
6686
6751
  * Work Net Total = Income - expenses - interest
6687
6752
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
6688
6753
  */
6689
6754
  get workNetTotal() {
6690
- return this.work.items.salary - Math.abs(this.work.items.workExpenses);
6755
+ const income = this.work.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.income, TaxSummarySectionEnum.WORK_TANK);
6756
+ const expenses = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.expenses, TaxSummarySectionEnum.WORK_TANK);
6757
+ const interest = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.interest, TaxSummarySectionEnum.WORK_TANK);
6758
+ return income - Math.abs(expenses) - Math.abs(interest);
6691
6759
  }
6692
6760
  /**
6693
6761
  * Property Net Cash (Cash Position) = Rental Income - expenses - interest
6694
6762
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
6695
6763
  */
6696
6764
  get propertyNetCash() {
6697
- return this.property.items.rentalIncome - Math.abs(this.property.items.rentalDeductions) - Math.abs(this.property.items.interestDeductions);
6765
+ const income = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.income, TaxSummarySectionEnum.PROPERTY_TANK);
6766
+ const expenses = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.expenses, TaxSummarySectionEnum.PROPERTY_TANK);
6767
+ const interest = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.interest, TaxSummarySectionEnum.PROPERTY_TANK);
6768
+ return income - Math.abs(expenses) - Math.abs(interest);
6698
6769
  }
6699
6770
  /**
6700
6771
  * Property Net Total (Tax Position) = Rental Income - expenses - interest - depreciation
6701
6772
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
6702
6773
  */
6703
6774
  get propertyNetTotal() {
6704
- return this.propertyNetCash - Math.abs(this.property.items.propertyDepreciations);
6775
+ const depreciation = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.depreciation, TaxSummarySectionEnum.PROPERTY_TANK);
6776
+ return this.propertyNetCash - Math.abs(depreciation);
6705
6777
  }
6706
6778
  /**
6707
6779
  * Other Net Cash = gross income – expenses – tax withheld - tax instalments
6708
6780
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
6709
6781
  */
6710
6782
  get otherNetCash() {
6711
- return this.otherIncome.items.otherIncome - Math.abs(this.otherIncome.items.otherDeductions) - Math.abs(this.summary.items.getTaxWithheld(TaxReturnCategorySectionEnum.OTHER_INCOME)) - Math.abs(this.summary.items.taxInstalments);
6783
+ const income = this.otherIncome.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.income, TaxSummarySectionEnum.OTHER_INCOME);
6784
+ const expenses = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.expenses, TaxSummarySectionEnum.OTHER_INCOME);
6785
+ const taxWithheld = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_WITHHELD], TaxSummarySectionEnum.OTHER_INCOME);
6786
+ const taxInstalments = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_INSTALMENTS], TaxSummarySectionEnum.OTHER_INCOME);
6787
+ return income - Math.abs(expenses) - Math.abs(taxWithheld) - Math.abs(taxInstalments);
6712
6788
  }
6713
6789
  /**
6714
6790
  * Other Net Total = Gross income - expenses + tax offsets + tax instalments + franking credits
6715
6791
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
6716
6792
  */
6717
6793
  get otherNetTotal() {
6718
- return this.otherIncome.items.otherIncome - Math.abs(this.otherIncome.items.otherDeductions) + Math.abs(this.summary.items.taxOffsets) + Math.abs(this.summary.items.taxInstalments) + Math.abs(this.summary.items.frankingCredits);
6794
+ const income = this.otherIncome.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.income, TaxSummarySectionEnum.OTHER_INCOME);
6795
+ const expenses = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.expenses, TaxSummarySectionEnum.OTHER_INCOME);
6796
+ const taxOffsets = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_OFFSETS], TaxSummarySectionEnum.SUMMARY);
6797
+ const taxInstallments = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_INSTALMENTS], TaxSummarySectionEnum.OTHER_INCOME);
6798
+ const frankingCredits = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.FRANKING_CREDITS], TaxSummarySectionEnum.OTHER_INCOME);
6799
+ return income - Math.abs(expenses) + Math.abs(taxOffsets) + Math.abs(taxInstallments) + Math.abs(frankingCredits);
6719
6800
  }
6720
6801
  }
6721
6802
  __decorate([
@@ -9509,41 +9590,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
9509
9590
  args: ['environment']
9510
9591
  }] }]; } });
9511
9592
 
9512
- /**
9513
- * Service to handle array-like data table logic
9514
- */
9515
- class DataTableService {
9593
+ class ExportFormatterService {
9516
9594
  constructor(currencyPipe, datePipe) {
9517
9595
  this.currencyPipe = currencyPipe;
9518
9596
  this.datePipe = datePipe;
9519
9597
  }
9520
- initDataTable(exportableModels, headerColumns) {
9521
- return plainToClass(ExportDataTable, {
9522
- header: headerColumns,
9523
- rows: this.getDataTableRows(exportableModels),
9524
- });
9525
- }
9526
- /**
9527
- * Get data for the exporting table rows
9528
- */
9529
- getDataTableRows(exportableModels) {
9530
- return exportableModels.map((model) => {
9531
- return model.toDataTableRows().map((row) => {
9532
- switch (row.type) {
9533
- case ExportRowDataTypeEnum.DATE:
9534
- return this.datePipe.transform(row.data, 'dd/MM/YYYY').toString();
9535
- case ExportRowDataTypeEnum.CURRENCY:
9536
- return this.currencyPipe.transform(row.data).toString();
9537
- default:
9538
- return row.data.toString();
9539
- }
9540
- });
9541
- });
9598
+ format(rows) {
9599
+ return rows.map((row) => row.map((column) => {
9600
+ switch (column.type) {
9601
+ case ExportCellTypeEnum.DATE:
9602
+ return this.datePipe.transform(column.value, 'dd/MM/YYYY').toString();
9603
+ case ExportCellTypeEnum.CURRENCY:
9604
+ return this.currencyPipe.transform(column.value).toString();
9605
+ default:
9606
+ return column.value.toString();
9607
+ }
9608
+ }));
9542
9609
  }
9543
9610
  }
9544
- DataTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DataTableService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
9545
- DataTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DataTableService, providedIn: 'root' });
9546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DataTableService, decorators: [{
9611
+ ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
9612
+ ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
9613
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ExportFormatterService, decorators: [{
9547
9614
  type: Injectable,
9548
9615
  args: [{
9549
9616
  providedIn: 'root'
@@ -10070,9 +10137,13 @@ const PDF_CONFIG = {
10070
10137
  };
10071
10138
 
10072
10139
  /**
10140
+ * @TODO vik refactor
10073
10141
  * Service to work with PDF (generate, download, e.t.c.)
10074
10142
  */
10075
10143
  class PdfService {
10144
+ constructor(formatter) {
10145
+ this.formatter = formatter;
10146
+ }
10076
10147
  /**
10077
10148
  * Export file from provided HTML tables
10078
10149
  */
@@ -10095,7 +10166,7 @@ class PdfService {
10095
10166
  this.setDocumentTitle(pdf, title);
10096
10167
  this.setDocumentLogo(pdf);
10097
10168
  dataTables.forEach((dataTable) => {
10098
- autoTable(pdf, Object.assign({ head: [dataTable.header], body: dataTable.rows, foot: [dataTable.footer || []] }, this.setTableOptions(pdf, dataTable.caption)));
10169
+ autoTable(pdf, Object.assign({ head: [dataTable.header], body: this.formatter.format(dataTable.body), foot: this.formatter.format(dataTable.footer) }, this.setTableOptions(pdf, dataTable.caption)));
10099
10170
  });
10100
10171
  return pdf;
10101
10172
  }
@@ -10149,14 +10220,14 @@ class PdfService {
10149
10220
  doc.addImage(logo, 'PNG', doc.internal.pageSize.width - PDF_CONFIG.logo.positionX, PDF_CONFIG.logo.positionY, PDF_CONFIG.logo.width, PDF_CONFIG.logo.height);
10150
10221
  }
10151
10222
  }
10152
- PdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10223
+ PdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfService, deps: [{ token: ExportFormatterService }], target: i0.ɵɵFactoryTarget.Injectable });
10153
10224
  PdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfService, providedIn: 'root' });
10154
10225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfService, decorators: [{
10155
10226
  type: Injectable,
10156
10227
  args: [{
10157
10228
  providedIn: 'root'
10158
10229
  }]
10159
- }] });
10230
+ }], ctorParameters: function () { return [{ type: ExportFormatterService }]; } });
10160
10231
 
10161
10232
  /**
10162
10233
  * Service to handle Property transactions report items data (get income / expense report items, e.t.c.)
@@ -10334,52 +10405,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
10334
10405
  }]
10335
10406
  }] });
10336
10407
 
10337
- /**
10338
- * Service to work with holding costs (transactions related to vacant land property)
10339
- */
10340
- class PropertyHoldingCostsService {
10341
- constructor(pdfService, currencyPipe, datePipe) {
10342
- this.pdfService = pdfService;
10343
- this.currencyPipe = currencyPipe;
10344
- this.datePipe = datePipe;
10345
- this.url = 'transactions';
10346
- this.modelClass = Transaction;
10347
- }
10348
- initDataTable(holdingCosts) {
10349
- return plainToClass(ExportDataTable, {
10350
- header: ['Date', 'Description', 'Debit', 'Credit'],
10351
- rows: this.getDataTableRows(holdingCosts),
10352
- footer: [
10353
- 'Total',
10354
- '',
10355
- this.currencyPipe.transform(holdingCosts.sumBy('debit')).toString(),
10356
- this.currencyPipe.transform(holdingCosts.sumBy('credit')).toString(),
10357
- ]
10358
- });
10359
- }
10360
- /**
10361
- * Get data for the exporting table rows
10362
- */
10363
- getDataTableRows(holdingCosts) {
10364
- return holdingCosts.items.map((transaction) => {
10365
- return [
10366
- this.datePipe.transform(transaction.date, 'dd/MM/YYYY').toString(),
10367
- transaction.description,
10368
- this.currencyPipe.transform(transaction.debit).toString(),
10369
- this.currencyPipe.transform(transaction.credit).toString()
10370
- ];
10371
- });
10372
- }
10373
- }
10374
- PropertyHoldingCostsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyHoldingCostsService, deps: [{ token: PdfService }, { token: i1$1.CurrencyPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
10375
- PropertyHoldingCostsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyHoldingCostsService, providedIn: 'root' });
10376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyHoldingCostsService, decorators: [{
10377
- type: Injectable,
10378
- args: [{
10379
- providedIn: 'root'
10380
- }]
10381
- }], ctorParameters: function () { return [{ type: PdfService }, { type: i1$1.CurrencyPipe }, { type: i1$1.DatePipe }]; } });
10382
-
10383
10408
  /**
10384
10409
  * Service for work with Property Categories
10385
10410
  */
@@ -11731,13 +11756,9 @@ class VehicleClaimForm extends AbstractForm {
11731
11756
  }
11732
11757
  }
11733
11758
 
11734
- /**
11735
- * Public API Surface of tt-core
11736
- */
11737
-
11738
11759
  /**
11739
11760
  * Generated bundle index. Do not edit.
11740
11761
  */
11741
11762
 
11742
- export { AbstractForm, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Bank, BankAccount, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankConnection, BankConnectionService, BankConnectionStatusEnum, 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, 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, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DataTableService, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EXPORT_DATA_TABLE_COLUMNS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, 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, Notification, Occupation, OccupationService, PasswordForm, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyHoldingCostsService, 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, 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, cloneDeep, compare, compareMatOptions, createDate, displayMatOptions, enumToList, getDocIcon, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
11763
+ export { AbstractForm, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Bank, BankAccount, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankConnection, BankConnectionService, BankConnectionStatusEnum, 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, 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, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, 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, Notification, Occupation, OccupationService, PasswordForm, PdfOrientationEnum, PdfService, 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, cloneDeep, compare, compareMatOptions, createDate, displayMatOptions, enumToList, getDocIcon, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
11743
11764
  //# sourceMappingURL=taxtank-core.js.map