taxtank-core 0.18.1 → 0.19.0

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 (107) hide show
  1. package/bundles/taxtank-core.umd.js +1074 -112
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +2 -1
  4. package/esm2015/lib/collections/depreciation.collection.js +6 -3
  5. package/esm2015/lib/collections/transaction/transaction.collection.js +11 -7
  6. package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +20 -1
  7. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +37 -1
  8. package/esm2015/lib/db/Enums/chart-accounts-metadata-list.enum.js +4 -1
  9. package/esm2015/lib/forms/index.js +2 -1
  10. package/esm2015/lib/forms/report/my-tax/index.js +14 -0
  11. package/esm2015/lib/forms/report/my-tax/my-tax-business-or-losses.form.js +10 -0
  12. package/esm2015/lib/forms/report/my-tax/my-tax-deductions.form.js +75 -0
  13. package/esm2015/lib/forms/report/my-tax/my-tax-dividends.form.js +23 -0
  14. package/esm2015/lib/forms/report/my-tax/my-tax-employee-share-schemes.form.js +14 -0
  15. package/esm2015/lib/forms/report/my-tax/my-tax-income-statements.form.js +92 -0
  16. package/esm2015/lib/forms/report/my-tax/my-tax-income-tests.form.js +10 -0
  17. package/esm2015/lib/forms/report/my-tax/my-tax-interest.form.js +12 -0
  18. package/esm2015/lib/forms/report/my-tax/my-tax-losses.form.js +10 -0
  19. package/esm2015/lib/forms/report/my-tax/my-tax-medicare.form.js +33 -0
  20. package/esm2015/lib/forms/report/my-tax/my-tax-offsets.form.js +10 -0
  21. package/esm2015/lib/forms/report/my-tax/my-tax-other-income.form.js +38 -0
  22. package/esm2015/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.js +32 -0
  23. package/esm2015/lib/forms/report/my-tax/my-tax-rent.form.js +13 -0
  24. package/esm2015/lib/models/pdf/pdf-settings.js +3 -1
  25. package/esm2015/lib/models/report/my-tax/ato-links.js +11 -0
  26. package/esm2015/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.js +8 -0
  27. package/esm2015/lib/models/report/my-tax/my-tax-deductions/deduction-clothing-type.enum.js +13 -0
  28. package/esm2015/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.js +57 -0
  29. package/esm2015/lib/models/report/my-tax/my-tax-deductions/deduction-self-education-type.enum.js +10 -0
  30. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +72 -0
  31. package/esm2015/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.js +18 -0
  32. package/esm2015/lib/models/report/my-tax/my-tax-employee-share-schemes/my-tax-employee-share-schemes.js +24 -0
  33. package/esm2015/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.js +68 -0
  34. package/esm2015/lib/models/report/my-tax/my-tax-income-tests/my-tax-income-tests.js +8 -0
  35. package/esm2015/lib/models/report/my-tax/my-tax-interest/my-tax-interest.js +11 -0
  36. package/esm2015/lib/models/report/my-tax/my-tax-losses/my-tax-losses.js +10 -0
  37. package/esm2015/lib/models/report/my-tax/my-tax-offsets/my-tax-offsets.js +8 -0
  38. package/esm2015/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.js +28 -0
  39. package/esm2015/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.js +31 -0
  40. package/esm2015/lib/models/report/my-tax/my-tax-rent/my-tax-rent.js +24 -0
  41. package/esm2015/lib/models/transaction/transaction.js +2 -1
  42. package/esm2015/lib/services/event/sse.service.js +4 -1
  43. package/esm2015/lib/services/http/user/user.service.js +1 -1
  44. package/esm2015/lib/services/pdf/pdf-from-dom-element/file-settings.js +19 -0
  45. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +35 -0
  46. package/esm2015/lib/services/pdf/pdf-from-table/file-settings.js +31 -0
  47. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +40 -0
  48. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +40 -0
  49. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +53 -0
  50. package/esm2015/lib/validators/index.js +2 -1
  51. package/esm2015/lib/validators/require-select.validator.js +15 -0
  52. package/esm2015/public-api.js +21 -2
  53. package/fesm2015/taxtank-core.js +979 -102
  54. package/fesm2015/taxtank-core.js.map +1 -1
  55. package/lib/collections/collection.d.ts +2 -2
  56. package/lib/collections/depreciation.collection.d.ts +3 -2
  57. package/lib/collections/transaction/transaction.collection.d.ts +5 -4
  58. package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +20 -1
  59. package/lib/db/Enums/chart-accounts-list.enum.d.ts +37 -1
  60. package/lib/db/Enums/chart-accounts-metadata-list.enum.d.ts +4 -1
  61. package/lib/forms/index.d.ts +1 -0
  62. package/lib/forms/report/my-tax/index.d.ts +13 -0
  63. package/lib/forms/report/my-tax/my-tax-business-or-losses.form.d.ts +8 -0
  64. package/lib/forms/report/my-tax/my-tax-deductions.form.d.ts +5 -0
  65. package/lib/forms/report/my-tax/my-tax-dividends.form.d.ts +5 -0
  66. package/lib/forms/report/my-tax/my-tax-employee-share-schemes.form.d.ts +5 -0
  67. package/lib/forms/report/my-tax/my-tax-income-statements.form.d.ts +7 -0
  68. package/lib/forms/report/my-tax/my-tax-income-tests.form.d.ts +8 -0
  69. package/lib/forms/report/my-tax/my-tax-interest.form.d.ts +5 -0
  70. package/lib/forms/report/my-tax/my-tax-losses.form.d.ts +8 -0
  71. package/lib/forms/report/my-tax/my-tax-medicare.form.d.ts +9 -0
  72. package/lib/forms/report/my-tax/my-tax-offsets.form.d.ts +8 -0
  73. package/lib/forms/report/my-tax/my-tax-other-income.form.d.ts +5 -0
  74. package/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.d.ts +5 -0
  75. package/lib/forms/report/my-tax/my-tax-rent.form.d.ts +5 -0
  76. package/lib/models/report/my-tax/ato-links.d.ts +6 -0
  77. package/lib/models/report/my-tax/my-tax-business-or-losses/my-tax-business-or-losses.d.ts +7 -0
  78. package/lib/models/report/my-tax/my-tax-deductions/deduction-clothing-type.enum.d.ts +11 -0
  79. package/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.d.ts +8 -0
  80. package/lib/models/report/my-tax/my-tax-deductions/deduction-self-education-type.enum.d.ts +8 -0
  81. package/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts +39 -0
  82. package/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.d.ts +9 -0
  83. package/lib/models/report/my-tax/my-tax-employee-share-schemes/my-tax-employee-share-schemes.d.ts +10 -0
  84. package/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.d.ts +30 -0
  85. package/lib/models/report/my-tax/my-tax-income-tests/my-tax-income-tests.d.ts +7 -0
  86. package/lib/models/report/my-tax/my-tax-interest/my-tax-interest.d.ts +9 -0
  87. package/lib/models/report/my-tax/my-tax-losses/my-tax-losses.d.ts +8 -0
  88. package/lib/models/report/my-tax/my-tax-offsets/my-tax-offsets.d.ts +7 -0
  89. package/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.d.ts +13 -0
  90. package/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.d.ts +17 -0
  91. package/lib/models/report/my-tax/my-tax-rent/my-tax-rent.d.ts +11 -0
  92. package/lib/models/transaction/transaction.d.ts +3 -1
  93. package/lib/services/event/sse.service.d.ts +3 -0
  94. package/lib/services/pdf/pdf-from-dom-element/file-settings.d.ts +6 -0
  95. package/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.d.ts +13 -0
  96. package/lib/services/pdf/pdf-from-table/file-settings.d.ts +8 -0
  97. package/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.d.ts +19 -0
  98. package/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.d.ts +15 -0
  99. package/lib/services/pdf/pdf-from-table/pdf-from-table.service.d.ts +16 -0
  100. package/lib/validators/index.d.ts +1 -0
  101. package/lib/validators/require-select.validator.d.ts +5 -0
  102. package/package.json +2 -1
  103. package/public-api.d.ts +20 -1
  104. package/esm2015/lib/models/pdf/pdf-config.js +0 -43
  105. package/esm2015/lib/services/pdf/pdf.service.js +0 -99
  106. package/lib/models/pdf/pdf-config.d.ts +0 -8
  107. package/lib/services/pdf/pdf.service.d.ts +0 -29
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('class-transformer'), require('@auth0/angular-jwt'), require('lodash/get'), require('lodash/last'), require('moment'), require('lodash/flatten'), require('lodash/hasIn'), require('lodash/first'), require('lodash/cloneDeep'), require('lodash/compact'), require('lodash/uniqBy'), require('lodash/concat'), require('moment-range'), require('@angular/forms'), require('lodash/fromPairs'), require('lodash'), require('event-source-polyfill/src/eventsource.min.js'), require('@angular/router'), require('lodash/clone'), require('jspdf'), require('jspdf-autotable'), require('@stripe/stripe-js'), require('xlsx'), require('file-saver')) :
3
- typeof define === 'function' && define.amd ? define('taxtank-core', ['exports', '@angular/core', '@angular/common', '@angular/common/http', 'rxjs', 'rxjs/operators', 'class-transformer', '@auth0/angular-jwt', 'lodash/get', 'lodash/last', 'moment', 'lodash/flatten', 'lodash/hasIn', 'lodash/first', 'lodash/cloneDeep', 'lodash/compact', 'lodash/uniqBy', 'lodash/concat', 'moment-range', '@angular/forms', 'lodash/fromPairs', 'lodash', 'event-source-polyfill/src/eventsource.min.js', '@angular/router', 'lodash/clone', 'jspdf', 'jspdf-autotable', '@stripe/stripe-js', 'xlsx', 'file-saver'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["taxtank-core"] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.rxjs, global.rxjs.operators, global.classTransformer, global.angularJwt, global.get, global.last, global.moment, global.flatten, global.hasIn, global.first, global.cloneDeep$1, global.compact, global.uniqBy, global.concat, global.momentRange, global.ng.forms, global.fromPairs, global._, global.eventsource_min_js, global.ng.router, global.clone, global.jsPDF, global.autoTable, global.stripeJs, global.xlsx, global.FileSaver));
5
- })(this, (function (exports, i0, i1$1, i1, rxjs, operators, classTransformer, angularJwt, get, last, moment, flatten, hasIn, first, cloneDeep$1, compact, uniqBy, concat, momentRange, forms, fromPairs, _, eventsource_min_js, i1$2, clone, jsPDF, autoTable, stripeJs, xlsx, FileSaver) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('class-transformer'), require('@auth0/angular-jwt'), require('lodash/get'), require('lodash/last'), require('moment'), require('lodash/flatten'), require('lodash/hasIn'), require('lodash/first'), require('lodash/cloneDeep'), require('lodash/compact'), require('lodash/uniqBy'), require('lodash/concat'), require('moment-range'), require('@angular/forms'), require('lodash/fromPairs'), require('lodash'), require('event-source-polyfill/src/eventsource.min.js'), require('@angular/router'), require('lodash/clone'), require('html2pdf.js'), require('jspdf'), require('jspdf-autotable'), require('@stripe/stripe-js'), require('xlsx'), require('file-saver')) :
3
+ typeof define === 'function' && define.amd ? define('taxtank-core', ['exports', '@angular/core', '@angular/common', '@angular/common/http', 'rxjs', 'rxjs/operators', 'class-transformer', '@auth0/angular-jwt', 'lodash/get', 'lodash/last', 'moment', 'lodash/flatten', 'lodash/hasIn', 'lodash/first', 'lodash/cloneDeep', 'lodash/compact', 'lodash/uniqBy', 'lodash/concat', 'moment-range', '@angular/forms', 'lodash/fromPairs', 'lodash', 'event-source-polyfill/src/eventsource.min.js', '@angular/router', 'lodash/clone', 'html2pdf.js', 'jspdf', 'jspdf-autotable', '@stripe/stripe-js', 'xlsx', 'file-saver'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["taxtank-core"] = {}, global.ng.core, global.ng.common, global.ng.common.http, global.rxjs, global.rxjs.operators, global.classTransformer, global.angularJwt, global.get, global.last, global.moment, global.flatten, global.hasIn, global.first, global.cloneDeep$1, global.compact, global.uniqBy, global.concat, global.momentRange, global.ng.forms, global.fromPairs, global._, global.eventsource_min_js, global.ng.router, global.clone, global.html2pdf, global.jsPDF, global.autoTable, global.stripeJs, global.xlsx, global.FileSaver));
5
+ })(this, (function (exports, i0, i1$1, i1, rxjs, operators, classTransformer, angularJwt, get, last, moment, flatten, hasIn, first, cloneDeep$1, compact, uniqBy, concat, momentRange, forms, fromPairs, _, eventsource_min_js, i1$2, clone, html2pdf, jsPDF, autoTable, stripeJs, xlsx, FileSaver) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -41,6 +41,7 @@
41
41
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
42
42
  var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
43
43
  var clone__default = /*#__PURE__*/_interopDefaultLegacy(clone);
44
+ var html2pdf__namespace = /*#__PURE__*/_interopNamespace(html2pdf);
44
45
  var jsPDF__default = /*#__PURE__*/_interopDefaultLegacy(jsPDF);
45
46
  var autoTable__default = /*#__PURE__*/_interopDefaultLegacy(autoTable);
46
47
  var xlsx__namespace = /*#__PURE__*/_interopNamespace(xlsx);
@@ -2795,6 +2796,7 @@
2795
2796
  if (field === void 0) { field = 'id'; }
2796
2797
  if (isDesc === void 0) { isDesc = true; }
2797
2798
  sort(this.items, field, isDesc);
2799
+ return this;
2798
2800
  };
2799
2801
  /**
2800
2802
  * Get total sum of items by field
@@ -4256,25 +4258,6 @@
4256
4258
  return ClientPortfolioReportCollection;
4257
4259
  }(Collection));
4258
4260
 
4259
- /**
4260
- * export table column
4261
- */
4262
- var ExportCell = /** @class */ (function () {
4263
- function ExportCell() {
4264
- }
4265
- return ExportCell;
4266
- }());
4267
-
4268
- /**
4269
- * type of export table column value
4270
- */
4271
- var ExportCellTypeEnum;
4272
- (function (ExportCellTypeEnum) {
4273
- ExportCellTypeEnum[ExportCellTypeEnum["STRING"] = 0] = "STRING";
4274
- ExportCellTypeEnum[ExportCellTypeEnum["CURRENCY"] = 1] = "CURRENCY";
4275
- ExportCellTypeEnum[ExportCellTypeEnum["DATE"] = 2] = "DATE";
4276
- })(ExportCellTypeEnum || (ExportCellTypeEnum = {}));
4277
-
4278
4261
  var ExportDataTable = /** @class */ (function () {
4279
4262
  function ExportDataTable() {
4280
4263
  }
@@ -4300,6 +4283,25 @@
4300
4283
  return ExportableCollection;
4301
4284
  }(Collection));
4302
4285
 
4286
+ /**
4287
+ * export table column
4288
+ */
4289
+ var ExportCell = /** @class */ (function () {
4290
+ function ExportCell() {
4291
+ }
4292
+ return ExportCell;
4293
+ }());
4294
+
4295
+ /**
4296
+ * type of export table column value
4297
+ */
4298
+ var ExportCellTypeEnum;
4299
+ (function (ExportCellTypeEnum) {
4300
+ ExportCellTypeEnum[ExportCellTypeEnum["STRING"] = 0] = "STRING";
4301
+ ExportCellTypeEnum[ExportCellTypeEnum["CURRENCY"] = 1] = "CURRENCY";
4302
+ ExportCellTypeEnum[ExportCellTypeEnum["DATE"] = 2] = "DATE";
4303
+ })(ExportCellTypeEnum || (ExportCellTypeEnum = {}));
4304
+
4303
4305
  /**
4304
4306
  * Collection of transactions
4305
4307
  */
@@ -4370,11 +4372,14 @@
4370
4372
  return new TransactionCollection(this.items.filter(function (transaction) { return transaction.date.getMonth() === monthIndex; }));
4371
4373
  };
4372
4374
  /**
4373
- * get list of transactions filtered by chart accounts id
4374
- * @param chartAccountsId chart accounts id for filtering
4375
+ * Get collection of transactions metadata
4375
4376
  */
4376
- TransactionCollection.prototype.getByChartAccountsId = function (chartAccountsId) {
4377
- return this.items.filter(function (transaction) { return transaction.chartAccounts.id === chartAccountsId; });
4377
+ TransactionCollection.prototype.getTransactionsMetadata = function () {
4378
+ var metadataArray = [];
4379
+ this.items.forEach(function (transaction) {
4380
+ metadataArray.push.apply(metadataArray, __spreadArray([], __read(transaction.metadata)));
4381
+ });
4382
+ return new Collection(metadataArray);
4378
4383
  };
4379
4384
  TransactionCollection.prototype.getIncomeTransactions = function () {
4380
4385
  return new TransactionCollection(this.items.filter(function (transaction) { return transaction.isIncome(); }));
@@ -4558,11 +4563,14 @@
4558
4563
  DepreciationCollection.prototype.getByChartAccountsCategories = function (categories) {
4559
4564
  return this.create(this.items.filter(function (depreciation) { return categories.includes(depreciation.chartAccounts.category); }));
4560
4565
  };
4566
+ DepreciationCollection.prototype.getAssets = function () {
4567
+ return this.filter(function (depreciation) { return depreciation.isAsset(); });
4568
+ };
4561
4569
  DepreciationCollection.prototype.getPlantEquipment = function () {
4562
- return new DepreciationCollection(this.items.filter(function (depreciation) { return depreciation.isPlantEquipment(); }));
4570
+ return this.filter(function (depreciation) { return depreciation.isPlantEquipment(); });
4563
4571
  };
4564
4572
  DepreciationCollection.prototype.getCapitalDepreciations = function () {
4565
- return new DepreciationCollection(this.items.filter(function (depreciation) { return depreciation.isCapital(); }));
4573
+ return this.filter(function (depreciation) { return depreciation.isCapital(); });
4566
4574
  };
4567
4575
  DepreciationCollection.prototype.getBorrowingExpenseDepreciations = function () {
4568
4576
  return new DepreciationCollection(this.items.filter(function (depreciation) { return depreciation.isBorrowingExpense(); }));
@@ -5105,6 +5113,19 @@
5105
5113
 
5106
5114
  exports.ChartAccountsListEnum = void 0;
5107
5115
  (function (ChartAccountsListEnum) {
5116
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_EXPENSES"] = 156] = "PARTNERSHIP_EXPENSES";
5117
+ ChartAccountsListEnum[ChartAccountsListEnum["TRUST_EXPENSES"] = 157] = "TRUST_EXPENSES";
5118
+ ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_CHARGED_BY_ATO"] = 278] = "INTEREST_CHARGED_BY_ATO";
5119
+ ChartAccountsListEnum[ChartAccountsListEnum["LITIGATION_COSTS"] = 280] = "LITIGATION_COSTS";
5120
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTANT_TAX_AGENT_FEES"] = 282] = "ACCOUNTANT_TAX_AGENT_FEES";
5121
+ ChartAccountsListEnum[ChartAccountsListEnum["TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR"] = 284] = "TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR";
5122
+ ChartAccountsListEnum[ChartAccountsListEnum["ACCOUNTING_SOFTWARE_FEES"] = 285] = "ACCOUNTING_SOFTWARE_FEES";
5123
+ ChartAccountsListEnum[ChartAccountsListEnum["ADVISOR_FEES"] = 286] = "ADVISOR_FEES";
5124
+ ChartAccountsListEnum[ChartAccountsListEnum["INCOME_TAX_VARIATION"] = 292] = "INCOME_TAX_VARIATION";
5125
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_ABN_NOT_QUOTED"] = 294] = "PSI_ABN_NOT_QUOTED";
5126
+ ChartAccountsListEnum[ChartAccountsListEnum["PSI_VOLUNTARY_AGREEMENT"] = 296] = "PSI_VOLUNTARY_AGREEMENT";
5127
+ ChartAccountsListEnum[ChartAccountsListEnum["RENTAL_INCOME"] = 298] = "RENTAL_INCOME";
5128
+ ChartAccountsListEnum[ChartAccountsListEnum["OTHER_RENTAL_INCOME"] = 300] = "OTHER_RENTAL_INCOME";
5108
5129
  ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_ON_LOAN"] = 302] = "INTEREST_ON_LOAN";
5109
5130
  ChartAccountsListEnum[ChartAccountsListEnum["BORROWING_EXPENSES"] = 315] = "BORROWING_EXPENSES";
5110
5131
  ChartAccountsListEnum[ChartAccountsListEnum["DIVIDENDS"] = 542] = "DIVIDENDS";
@@ -5121,8 +5142,31 @@
5121
5142
  ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
5122
5143
  ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
5123
5144
  ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
5145
+ ChartAccountsListEnum[ChartAccountsListEnum["PARTNERSHIP_INCOME"] = 566] = "PARTNERSHIP_INCOME";
5124
5146
  ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
5125
5147
  ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
5148
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_GENUINE_REDUNDANCY"] = 9] = "LUMP_SUM_A_GENUINE_REDUNDANCY";
5149
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_A_ALL_OTHER_PAYMENTS"] = 10] = "LUMP_SUM_A_ALL_OTHER_PAYMENTS";
5150
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_B"] = 11] = "LUMP_SUM_B";
5151
+ ChartAccountsListEnum[ChartAccountsListEnum["ATTRIBUTABLE_PSI"] = 20] = "ATTRIBUTABLE_PSI";
5152
+ ChartAccountsListEnum[ChartAccountsListEnum["LUMP_SUM_PAYMENTS_IN_ARREARS"] = 519] = "LUMP_SUM_PAYMENTS_IN_ARREARS";
5153
+ ChartAccountsListEnum[ChartAccountsListEnum["JURY_ATTENDANCE_FEES"] = 519] = "JURY_ATTENDANCE_FEES";
5154
+ ChartAccountsListEnum[ChartAccountsListEnum["FOREIGN_EXCHANGE_GAINS_NON_BUSINESS"] = 523] = "FOREIGN_EXCHANGE_GAINS_NON_BUSINESS";
5155
+ ChartAccountsListEnum[ChartAccountsListEnum["ROYALTIES"] = 525] = "ROYALTIES";
5156
+ ChartAccountsListEnum[ChartAccountsListEnum["TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS"] = 527] = "TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS";
5157
+ ChartAccountsListEnum[ChartAccountsListEnum["SPECIAL_PROFESSION_INCOME"] = 529] = "SPECIAL_PROFESSION_INCOME";
5158
+ ChartAccountsListEnum[ChartAccountsListEnum["GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED"] = 531] = "GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED";
5159
+ ChartAccountsListEnum[ChartAccountsListEnum["ATO_INTEREST_PAID"] = 533] = "ATO_INTEREST_PAID";
5160
+ ChartAccountsListEnum[ChartAccountsListEnum["PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE"] = 536] = "PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE";
5161
+ ChartAccountsListEnum[ChartAccountsListEnum["SOFTWARE_FEES_TAXTANK"] = 541] = "SOFTWARE_FEES_TAXTANK";
5162
+ ChartAccountsListEnum[ChartAccountsListEnum["AUSTRALIAN_ANNUITY_PAYMENTS"] = 559] = "AUSTRALIAN_ANNUITY_PAYMENTS";
5163
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_M_SUPERANNUATION_LUMP_SUM"] = 561] = "CODE_M_SUPERANNUATION_LUMP_SUM";
5164
+ ChartAccountsListEnum[ChartAccountsListEnum["EMPLOYEE_SHARE_SCHEME_INCOME"] = 564] = "EMPLOYEE_SHARE_SCHEME_INCOME";
5165
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME"] = 590] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME";
5166
+ ChartAccountsListEnum[ChartAccountsListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION"] = 593] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION";
5167
+ ChartAccountsListEnum[ChartAccountsListEnum["ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT"] = 639] = "ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT";
5168
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY"] = 558] = "CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY";
5169
+ ChartAccountsListEnum[ChartAccountsListEnum["CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH"] = 640] = "CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH";
5126
5170
  })(exports.ChartAccountsListEnum || (exports.ChartAccountsListEnum = {}));
5127
5171
 
5128
5172
  var DepreciationCapitalProject$1 = /** @class */ (function (_super) {
@@ -5256,8 +5300,11 @@
5256
5300
  ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["TAX_FREE_COMPONENT"] = 18] = "TAX_FREE_COMPONENT";
5257
5301
  ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["YEARS_OF_SERVICE"] = 19] = "YEARS_OF_SERVICE";
5258
5302
  ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["UNTAXED_ELEMENT"] = 24] = "UNTAXED_ELEMENT";
5303
+ ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["NOT_ELIGIBLE_FOR_DEDUCTION"] = 25] = "NOT_ELIGIBLE_FOR_DEDUCTION";
5259
5304
  ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["FRANKED"] = 26] = "FRANKED";
5305
+ ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["UNFRANKED"] = 27] = "UNFRANKED";
5260
5306
  ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["TAX_OFFSETS_N_R_A_S"] = 29] = "TAX_OFFSETS_N_R_A_S";
5307
+ ChartAccountsMetadataListEnum[ChartAccountsMetadataListEnum["DISCOUNT_FROM_DEFERRED_SCHEMES"] = 32] = "DISCOUNT_FROM_DEFERRED_SCHEMES";
5261
5308
  })(exports.ChartAccountsMetadataListEnum || (exports.ChartAccountsMetadataListEnum = {}));
5262
5309
 
5263
5310
  var ChartAccountsMetadata = /** @class */ (function (_super) {
@@ -5929,6 +5976,7 @@
5929
5976
  /**
5930
5977
  * Get value of transaction metadata field
5931
5978
  * @param field for which value should be returned
5979
+ * @Todo modify 'metadata' property from array to Collection
5932
5980
  */
5933
5981
  Transaction.prototype.getMetadataFieldValue = function (field) {
5934
5982
  var _a;
@@ -7020,7 +7068,26 @@
7020
7068
 
7021
7069
  exports.ChartAccountsHeadingListEnum = void 0;
7022
7070
  (function (ChartAccountsHeadingListEnum) {
7071
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 2] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
7072
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS"] = 4] = "AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS";
7073
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["AUSTRALIAN_GOVERNMENT_PENSIONS_ALLOWANCES"] = 5] = "AUSTRALIAN_GOVERNMENT_PENSIONS_ALLOWANCES";
7074
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["WORK_RELATED_TRAVEL_EXPENSES"] = 10] = "WORK_RELATED_TRAVEL_EXPENSES";
7075
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["COMPULSORY_WORK_UNIFORM"] = 11] = "COMPULSORY_WORK_UNIFORM";
7076
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PROTECTION_CLOTHING"] = 12] = "PROTECTION_CLOTHING";
7077
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["OCCUPATIONAL_SPECIFIC_CLOTHING"] = 13] = "OCCUPATIONAL_SPECIFIC_CLOTHING";
7078
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["SELF_EDUCATIONAL_EXPENSES"] = 14] = "SELF_EDUCATIONAL_EXPENSES";
7079
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["OTHER_WORK_RELATED_EXPENSES"] = 15] = "OTHER_WORK_RELATED_EXPENSES";
7080
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["SUBSCRIPTIONS"] = 16] = "SUBSCRIPTIONS";
7081
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["HOME_OFFICE_RUNNING"] = 17] = "HOME_OFFICE_RUNNING";
7082
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["TOOLS_EQUIPMENT"] = 18] = "TOOLS_EQUIPMENT";
7083
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["HOME_OFFICE_OCCUPANCY"] = 19] = "HOME_OFFICE_OCCUPANCY";
7084
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["DONATIONS"] = 27] = "DONATIONS";
7085
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["PSI"] = 30] = "PSI";
7086
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["BONUSES"] = 34] = "BONUSES";
7087
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["OTHER_DEDUCTIONS"] = 37] = "OTHER_DEDUCTIONS";
7023
7088
  ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["ETP"] = 39] = "ETP";
7089
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["INTEREST_DEDUCTIONS"] = 47] = "INTEREST_DEDUCTIONS";
7090
+ ChartAccountsHeadingListEnum[ChartAccountsHeadingListEnum["DIVIDEND_DEDUCTIONS"] = 48] = "DIVIDEND_DEDUCTIONS";
7024
7091
  })(exports.ChartAccountsHeadingListEnum || (exports.ChartAccountsHeadingListEnum = {}));
7025
7092
 
7026
7093
  exports.ChartAccountsHeadingTaxableEnum = void 0;
@@ -8655,6 +8722,8 @@
8655
8722
  */
8656
8723
  var PdfSettings = /** @class */ (function () {
8657
8724
  function PdfSettings() {
8725
+ this.title = '';
8726
+ this.filename = 'export';
8658
8727
  this.orientation = exports.PdfOrientationEnum.PORTRAIT;
8659
8728
  }
8660
8729
  return PdfSettings;
@@ -9106,6 +9175,396 @@
9106
9175
  return PropertySaleTaxExemptionMetadata;
9107
9176
  }(PropertySaleTaxExemptionMetadata$1));
9108
9177
 
9178
+ /**
9179
+ * Australian Taxation Office (ATO) website links
9180
+ */
9181
+ var atoLinks = {
9182
+ medicareLevy: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/',
9183
+ medicalExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Medical-exemption-from-Medicare-levy/',
9184
+ foreignResidentsExemption: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Foreign-residents-Medicare-levy-exemption/',
9185
+ notEntitledToMedicareBenefits: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Medicare-levy/Medicare-levy-exemption/Not-entitled-to-Medicare-benefits/#:~:text=If%20you%20were%20not%20entitled,an%20exemption%20under%20category%203.&text=are%20a%20member%20of%20a,Australia%20and%20meet%20other%20conditions',
9186
+ privateHealthInsuranceRebate: 'https://www.ato.gov.au/Individuals/Medicare-and-private-health-insurance/Private-health-insurance-rebate/#Appropriatelevelofprivatehospitalinsuran'
9187
+ };
9188
+
9189
+ /**
9190
+ * @Todo waiting for the Sole tank implementation
9191
+ */
9192
+ var MyTaxBusinessOrLosses = /** @class */ (function () {
9193
+ function MyTaxBusinessOrLosses(transactions) {
9194
+ }
9195
+ return MyTaxBusinessOrLosses;
9196
+ }());
9197
+
9198
+ /**
9199
+ * Const with the categories for my-tax 'Deductions' report.
9200
+ * Grouped by ChartAccountsHeadingListEnum / ChartAccountsListEnum based on rules from documentation
9201
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form (section "Deduction")
9202
+ */
9203
+ var DEDUCTION_CATEGORIES = {
9204
+ workRelatedClothingExpenses: [
9205
+ exports.ChartAccountsHeadingListEnum.COMPULSORY_WORK_UNIFORM,
9206
+ exports.ChartAccountsHeadingListEnum.PROTECTION_CLOTHING,
9207
+ exports.ChartAccountsHeadingListEnum.OCCUPATIONAL_SPECIFIC_CLOTHING,
9208
+ exports.ChartAccountsHeadingListEnum.SELF_EDUCATIONAL_EXPENSES
9209
+ ],
9210
+ otherIncomeRelatedExpenses: [
9211
+ exports.ChartAccountsHeadingListEnum.OTHER_WORK_RELATED_EXPENSES,
9212
+ exports.ChartAccountsHeadingListEnum.SUBSCRIPTIONS,
9213
+ exports.ChartAccountsHeadingListEnum.HOME_OFFICE_RUNNING,
9214
+ exports.ChartAccountsHeadingListEnum.HOME_OFFICE_OCCUPANCY
9215
+ ],
9216
+ workRelatedSelfEducationExpenses: [
9217
+ exports.ChartAccountsHeadingListEnum.SELF_EDUCATIONAL_EXPENSES
9218
+ ],
9219
+ interestExpenses: [
9220
+ exports.ChartAccountsHeadingListEnum.INTEREST_DEDUCTIONS
9221
+ ],
9222
+ dividendExpenses: [
9223
+ exports.ChartAccountsHeadingListEnum.DIVIDEND_DEDUCTIONS
9224
+ ],
9225
+ donations: [
9226
+ exports.ChartAccountsHeadingListEnum.DONATIONS
9227
+ ],
9228
+ otherDeductions: [
9229
+ exports.ChartAccountsHeadingListEnum.OTHER_DEDUCTIONS
9230
+ ],
9231
+ interestsChargedByATO: [
9232
+ exports.ChartAccountsListEnum.INTEREST_CHARGED_BY_ATO
9233
+ ],
9234
+ litigationCosts: [
9235
+ exports.ChartAccountsListEnum.LITIGATION_COSTS
9236
+ ],
9237
+ otherManagingCosts: [
9238
+ exports.ChartAccountsListEnum.ACCOUNTANT_TAX_AGENT_FEES,
9239
+ exports.ChartAccountsListEnum.TRAVEL_COSTS_TO_SEE_YOUR_ACCOUNTANT_ADVISOR,
9240
+ exports.ChartAccountsListEnum.ACCOUNTING_SOFTWARE_FEES,
9241
+ exports.ChartAccountsListEnum.ADVISOR_FEES,
9242
+ exports.ChartAccountsListEnum.INCOME_TAX_VARIATION,
9243
+ exports.ChartAccountsListEnum.SOFTWARE_FEES_TAXTANK
9244
+ ],
9245
+ personalSuperContributions: [
9246
+ exports.ChartAccountsListEnum.PERSONAL_SUPER_CONTRIBUTIONS_DEDUCTIBLE
9247
+ ],
9248
+ forestryManagedInvestmentSchemesDeductions: [
9249
+ exports.ChartAccountsListEnum.FORESTRY_MANAGED_INVESTMENT_SCHEMES_DEDUCTION
9250
+ ]
9251
+ };
9252
+
9253
+ /**
9254
+ * Enum with work-related clothing, laundry, dry cleaning expenses types
9255
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form
9256
+ * ("Deductions" section, "D3. Work-related clothing, laundry and dry cleaning expenses" field)
9257
+ */
9258
+ exports.DeductionClothingTypeEnum = void 0;
9259
+ (function (DeductionClothingTypeEnum) {
9260
+ DeductionClothingTypeEnum[DeductionClothingTypeEnum["COMPULSORY_C"] = 0] = "COMPULSORY_C";
9261
+ DeductionClothingTypeEnum[DeductionClothingTypeEnum["NON_COMPULSORY_N"] = 1] = "NON_COMPULSORY_N";
9262
+ DeductionClothingTypeEnum[DeductionClothingTypeEnum["PROTECTION_P"] = 2] = "PROTECTION_P";
9263
+ DeductionClothingTypeEnum[DeductionClothingTypeEnum["OCCUPATIONAL_SPECIFIC_S"] = 3] = "OCCUPATIONAL_SPECIFIC_S";
9264
+ })(exports.DeductionClothingTypeEnum || (exports.DeductionClothingTypeEnum = {}));
9265
+
9266
+ /**
9267
+ * Enum with work-related self-education expenses types
9268
+ */
9269
+ exports.DeductionSelfEducationTypeEnum = void 0;
9270
+ (function (DeductionSelfEducationTypeEnum) {
9271
+ DeductionSelfEducationTypeEnum[DeductionSelfEducationTypeEnum["IMPROVE_SKILLS_FOR_CURRENT_EARNINGS_K"] = 0] = "IMPROVE_SKILLS_FOR_CURRENT_EARNINGS_K";
9272
+ DeductionSelfEducationTypeEnum[DeductionSelfEducationTypeEnum["INCOME_FROM_CURRENT_EARNINGS_I"] = 1] = "INCOME_FROM_CURRENT_EARNINGS_I";
9273
+ DeductionSelfEducationTypeEnum[DeductionSelfEducationTypeEnum["OTHER_O"] = 2] = "OTHER_O";
9274
+ })(exports.DeductionSelfEducationTypeEnum || (exports.DeductionSelfEducationTypeEnum = {}));
9275
+
9276
+ var MyTaxDeductions = /** @class */ (function () {
9277
+ function MyTaxDeductions(transactions, depreciations, vehicleClaim, vehicleClaimRate) {
9278
+ this.transactions = transactions;
9279
+ this.depreciations = depreciations;
9280
+ this.vehicleClaim = vehicleClaim;
9281
+ this.vehicleClaimRate = vehicleClaimRate;
9282
+ this.setVehicleClaimData();
9283
+ this.setOtherWorkRelatedExpensesTotalAmount();
9284
+ this.workRelatedClothingExpenses = this.transactions
9285
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedClothingExpenses);
9286
+ this.personalSuperContributions = this.transactions
9287
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.personalSuperContributions);
9288
+ this.workRelatedSelfEducationExpenses = this.transactions
9289
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.workRelatedSelfEducationExpenses);
9290
+ this.vehicleExpensesTotalAmount = this.vehicleClaim.isLogbookMethod() ? this.totalExpensesAmount : this.klmsMethodClaimAmount;
9291
+ this.workRelatedTravelExpensesTotalAmount = this.transactions
9292
+ .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.WORK_RELATED_TRAVEL_EXPENSES)
9293
+ .sumBy('amount');
9294
+ this.workRelatedClothingType = this.workRelatedClothingExpenses.length ? exports.DeductionClothingTypeEnum.COMPULSORY_C : null;
9295
+ this.workRelatedClothingTotalAmount = this.workRelatedClothingExpenses.sumBy('amount');
9296
+ this.workRelatedSelfEducationType = this.workRelatedSelfEducationExpenses.length ?
9297
+ exports.DeductionSelfEducationTypeEnum.IMPROVE_SKILLS_FOR_CURRENT_EARNINGS_K : null;
9298
+ this.workRelatedSelfEducationTotalAmount = this.workRelatedSelfEducationExpenses.sumBy('amount');
9299
+ this.lowValuePoolDeductionTotalAmount = this.depreciations.getByTankType(exports.TankTypeEnum.WORK)
9300
+ .getLowValuePoolDepreciations().sumBy('claimAmount');
9301
+ this.interestExpensesTotalAmount = this.transactions
9302
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.interestExpenses)
9303
+ .sumBy('amount');
9304
+ this.dividendExpensesTotalAmount = this.transactions
9305
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.dividendExpenses)
9306
+ .sumBy('amount');
9307
+ this.donationsTotalAmount = this.transactions
9308
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.donations)
9309
+ .sumBy('amount');
9310
+ this.interestsChargedByATOTotalAmount = this.transactions
9311
+ .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.interestsChargedByATO)
9312
+ .sumBy('amount');
9313
+ this.litigationCostsTotalAmount = this.transactions
9314
+ .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.litigationCosts)
9315
+ .sumBy('amount');
9316
+ this.otherManagingCostsTotalAmount = this.transactions
9317
+ .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherManagingCosts)
9318
+ .sumBy('amount');
9319
+ this.personalSuperContributionsTotalAmount = this.personalSuperContributions.sumBy('amount');
9320
+ this.forestryManagedInvestmentSchemesDeductionsTotalAmount = this.transactions
9321
+ .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.forestryManagedInvestmentSchemesDeductions)
9322
+ .sumBy('amount');
9323
+ this.otherDeductionsTotalAmount = this.transactions
9324
+ .filterBy('chartAccounts.id', DEDUCTION_CATEGORIES.otherDeductions)
9325
+ .sumBy('amount');
9326
+ }
9327
+ MyTaxDeductions.prototype.setVehicleClaimData = function () {
9328
+ this.klmsMethodClaimAmount = this.vehicleClaim.getKLMsClaimAmount(this.vehicleClaimRate);
9329
+ this.totalExpensesAmount = new VehicleExpenseCollection(this.transactions.getByTankType(this.vehicleClaim.tankType), this.depreciations.getByTankType(this.vehicleClaim.tankType), this.vehicleClaim).sumBy('amount');
9330
+ };
9331
+ /**
9332
+ * Total amount from Other work related expenses and Tools & equipment depreciations
9333
+ */
9334
+ MyTaxDeductions.prototype.setOtherWorkRelatedExpensesTotalAmount = function () {
9335
+ var otherIncomeRelatedExpenses = this.transactions
9336
+ .filterBy('chartAccounts.heading.id', DEDUCTION_CATEGORIES.otherIncomeRelatedExpenses);
9337
+ this.otherWorkRelatedExpensesTotalAmount = Math.abs(otherIncomeRelatedExpenses.sumBy('amount')) +
9338
+ this.depreciations.filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.TOOLS_EQUIPMENT).sumBy('claimAmount');
9339
+ };
9340
+ return MyTaxDeductions;
9341
+ }());
9342
+
9343
+ var MyTaxDividends = /** @class */ (function () {
9344
+ function MyTaxDividends(transactions) {
9345
+ this.transactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.DIVIDENDS);
9346
+ this.dividendsUnfrankedAmount = this.transactions.getTransactionsMetadata()
9347
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.UNFRANKED)
9348
+ .sumBy('value');
9349
+ this.dividendsFrankedAmount = this.transactions.getTransactionsMetadata()
9350
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.FRANKED)
9351
+ .sumBy('value');
9352
+ this.dividendsFrankingCreditsAmount = this.transactions.getTransactionsMetadata()
9353
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.FRANKING_CREDIT)
9354
+ .sumBy('value');
9355
+ this.dividendsTotalTax = this.transactions.sumBy('tax');
9356
+ }
9357
+ return MyTaxDividends;
9358
+ }());
9359
+
9360
+ var MyTaxEmployeeShareSchemes = /** @class */ (function () {
9361
+ function MyTaxEmployeeShareSchemes(transactions) {
9362
+ this.transactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.EMPLOYEE_SHARE_SCHEME_INCOME);
9363
+ this.eligibleForReductionAmount = this.transactions.getTransactionsMetadata()
9364
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.ELIGIBLE_FOR_REDUCTION)
9365
+ .sumBy('value');
9366
+ this.notEligibleForReductionAmount = this.transactions.getTransactionsMetadata()
9367
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.NOT_ELIGIBLE_FOR_DEDUCTION)
9368
+ .sumBy('value');
9369
+ this.discountFromDeferredSchemeAmount = this.transactions.getTransactionsMetadata()
9370
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.DISCOUNT_FROM_DEFERRED_SCHEMES)
9371
+ .sumBy('value');
9372
+ this.totalAssessableDiscountAmount = this.transactions.getTransactionsMetadata()
9373
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.NOT_ELIGIBLE_FOR_DEDUCTION)
9374
+ .sumBy('value') +
9375
+ this.transactions.getTransactionsMetadata()
9376
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.DISCOUNT_FROM_DEFERRED_SCHEMES)
9377
+ .sumBy('value');
9378
+ this.shareSchemesTotalTax = this.transactions.sumBy('tax');
9379
+ }
9380
+ return MyTaxEmployeeShareSchemes;
9381
+ }());
9382
+
9383
+ var MyTaxIncomeStatements = /** @class */ (function () {
9384
+ function MyTaxIncomeStatements(transactions) {
9385
+ this.transactionsByChartAccounts = transactions.groupBy('chartAccounts.id');
9386
+ this.transactionsByChartAccountsHeadings = transactions.groupBy('chartAccounts.heading.id');
9387
+ this.salaryTransactionsByIncomeSource = this.transactionsByChartAccounts
9388
+ .get(exports.ChartAccountsListEnum.SALARY_OR_WAGES)
9389
+ .groupBy('incomeSource.name');
9390
+ this.etpTransactionsByIncomeSource = this.transactionsByChartAccountsHeadings
9391
+ .get(exports.ChartAccountsHeadingListEnum.ETP)
9392
+ .groupBy('incomeSource.name');
9393
+ this.superannuationLumpSumTransactionsByIncomeSource = this.transactionsByChartAccountsHeadings
9394
+ .get(exports.ChartAccountsHeadingTaxDeductibleEnum.SUPERANNUATION_LUMP_SUM)
9395
+ .groupBy('incomeSource.name');
9396
+ this.allowanceTotalAmount = this.transactionsByChartAccountsHeadings
9397
+ .get(exports.ChartAccountsHeadingListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES)
9398
+ .sumBy('amount');
9399
+ this.allowanceTotalTax = this.transactionsByChartAccountsHeadings
9400
+ .get(exports.ChartAccountsHeadingListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES)
9401
+ .sumBy('tax');
9402
+ this.lumpATransactionsTotalAmount =
9403
+ this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_A_GENUINE_REDUNDANCY).sumBy('claimAmount') +
9404
+ this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_A_ALL_OTHER_PAYMENTS).sumBy('claimAmount');
9405
+ this.lumpATransactionsTotalTax =
9406
+ this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_A_GENUINE_REDUNDANCY).sumBy('tax') +
9407
+ this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_A_ALL_OTHER_PAYMENTS).sumBy('tax');
9408
+ this.hasGenuineLumpATransactions = !!this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_A_GENUINE_REDUNDANCY).length;
9409
+ this.hasOtherLumpATransactions = !!this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_A_ALL_OTHER_PAYMENTS).length;
9410
+ this.lumpBTransactionsTotalAmount = this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_B).sumBy('claimAmount');
9411
+ this.lumpBTransactionsTotalTax = this.transactionsByChartAccounts.get(exports.ChartAccountsListEnum.LUMP_SUM_B).sumBy('tax');
9412
+ this.australianAllowancesAndPaymentsTotalAmount = this.transactionsByChartAccountsHeadings
9413
+ .get(exports.ChartAccountsHeadingListEnum.AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS)
9414
+ .sumBy('amount');
9415
+ this.australianAllowancesAndPaymentsTotalTax = this.transactionsByChartAccountsHeadings
9416
+ .get(exports.ChartAccountsHeadingListEnum.AUSTRALIAN_GOVERNMENT_ALLOWANCES_PAYMENTS)
9417
+ .sumBy('tax');
9418
+ this.australianPensionsAndAllowancesTotalAmount = this.transactionsByChartAccountsHeadings
9419
+ .get(exports.ChartAccountsHeadingListEnum.AUSTRALIAN_GOVERNMENT_PENSIONS_ALLOWANCES)
9420
+ .sumBy('amount');
9421
+ this.australianPensionsAndAllowancesTotalTax = this.transactionsByChartAccountsHeadings
9422
+ .get(exports.ChartAccountsHeadingListEnum.AUSTRALIAN_GOVERNMENT_PENSIONS_ALLOWANCES)
9423
+ .sumBy('tax');
9424
+ this.australianAnnuitiesSuperannuationIncomesTotalTax = this.transactionsByChartAccountsHeadings
9425
+ .get(exports.ChartAccountsHeadingTaxDeductibleEnum.ANNUITIES_AND_SUPERANNUATION_INCOME_STREAMS)
9426
+ .sumBy('tax');
9427
+ this.australianAnnuityPaymentsTaxed = this.transactionsByChartAccounts
9428
+ .get(exports.ChartAccountsListEnum.AUSTRALIAN_ANNUITY_PAYMENTS).sumBy('claimAmount');
9429
+ this.australianAnnuityPaymentsUntaxed = this.transactionsByChartAccounts
9430
+ .get(exports.ChartAccountsListEnum.AUSTRALIAN_ANNUITY_PAYMENTS).sumBy('untaxedElement');
9431
+ this.assessableCappedDefinedBenefitTotalAmount = this.transactionsByChartAccounts
9432
+ .get(exports.ChartAccountsListEnum.ASSESSABLE_AMOUNT_CAPPED_DEFINED_BENEFIT).sumBy('claimAmount');
9433
+ this.superannuationIncomeStreamsTotalTaxed = this.transactionsByChartAccounts.merge([
9434
+ exports.ChartAccountsListEnum.CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY,
9435
+ exports.ChartAccountsListEnum.CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH
9436
+ ]).sumBy('claimAmount');
9437
+ this.superannuationIncomeStreamsTotalUntaxed = this.transactionsByChartAccounts.merge([
9438
+ exports.ChartAccountsListEnum.CODE_B_SUPERANNUATION_INCOME_STREAMS_DISABILITY,
9439
+ exports.ChartAccountsListEnum.CODE_A_SUPERANNUATION_INCOME_STREAMS_DEATH
9440
+ ]).sumBy('untaxedElement');
9441
+ this.attributablePsiTransactionsTotalAmount = this.transactionsByChartAccounts
9442
+ .get(exports.ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('amount');
9443
+ this.attributablePsiTransactionsTotalTax = this.transactionsByChartAccounts
9444
+ .get(exports.ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('tax');
9445
+ }
9446
+ return MyTaxIncomeStatements;
9447
+ }());
9448
+
9449
+ /**
9450
+ * @Todo future functionality
9451
+ */
9452
+ var MyTaxIncomeTests = /** @class */ (function () {
9453
+ function MyTaxIncomeTests(transactions) {
9454
+ }
9455
+ return MyTaxIncomeTests;
9456
+ }());
9457
+
9458
+ var MyTaxInterest = /** @class */ (function () {
9459
+ function MyTaxInterest(transactions) {
9460
+ this.interestEarnedTransactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.INTEREST_EARNED);
9461
+ this.interestPaidTransactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.ATO_INTEREST_PAID);
9462
+ this.interestEarnedTotalAmount = this.interestEarnedTransactions.sumBy('amount');
9463
+ this.interestEarnedTotalTax = this.interestEarnedTransactions.sumBy('tax');
9464
+ this.interestPaidTotalAmount = this.interestEarnedTransactions.sumBy('amount');
9465
+ }
9466
+ return MyTaxInterest;
9467
+ }());
9468
+
9469
+ /**
9470
+ * @Todo waiting for Sole tank implementation
9471
+ */
9472
+ var MyTaxLosses = /** @class */ (function () {
9473
+ function MyTaxLosses(transactions) {
9474
+ this.transactions = transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.DIVIDENDS);
9475
+ }
9476
+ return MyTaxLosses;
9477
+ }());
9478
+
9479
+ /**
9480
+ * @Todo waiting for new chart accounts implemented (TT-1739 & TT-1740)
9481
+ */
9482
+ var MyTaxOffsets = /** @class */ (function () {
9483
+ function MyTaxOffsets(transactions) {
9484
+ }
9485
+ return MyTaxOffsets;
9486
+ }());
9487
+
9488
+ var MyTaxOtherIncome = /** @class */ (function () {
9489
+ function MyTaxOtherIncome(transactions) {
9490
+ this.transactions = transactions;
9491
+ this.lumpSumPaymentsInArrearsTransactions = this.transactions
9492
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.LUMP_SUM_PAYMENTS_IN_ARREARS);
9493
+ this.bonusesTotalAmount = this.transactions
9494
+ .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingListEnum.BONUSES)
9495
+ .sumBy('amount');
9496
+ this.forestryManagedInvestmentSchemesIncomeTotalAmount = this.transactions
9497
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.FORESTRY_MANAGED_INVESTMENT_SCHEMES_INCOME)
9498
+ .sumBy('amount');
9499
+ this.lumpSumPaymentsInArrearsTotalTax = this.lumpSumPaymentsInArrearsTransactions.sumBy('tax');
9500
+ this.specialProfessionIncomeTotalAmount = this.transactions
9501
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.SPECIAL_PROFESSION_INCOME).sumBy('amount');
9502
+ this.category1TotalIncome = this.lumpSumPaymentsInArrearsTransactions.sumBy('amount') +
9503
+ this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.JURY_ATTENDANCE_FEES).sumBy('amount') +
9504
+ this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.FOREIGN_EXCHANGE_GAINS_NON_BUSINESS).sumBy('amount') +
9505
+ this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.ROYALTIES).sumBy('amount') +
9506
+ this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TAXABLE_SCHOLARSHIPS_BURSARIES_GRANTS).sumBy('amount');
9507
+ this.atoInterestPaidTotalAmount = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.ATO_INTEREST_PAID).sumBy('amount');
9508
+ this.gainOnSaleOfVehiclePreviouslyDepreciatedTotalAmount = this.transactions
9509
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.GAIN_ON_SALE_OF_VEHICLE_PREVIOUSLY_DEPRECIATED)
9510
+ .sumBy('amount');
9511
+ }
9512
+ return MyTaxOtherIncome;
9513
+ }());
9514
+
9515
+ var MyTaxPartnershipsAndTrusts = /** @class */ (function () {
9516
+ function MyTaxPartnershipsAndTrusts(transactions) {
9517
+ this.transactions = transactions;
9518
+ this.partnershipIncomes = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PARTNERSHIP_INCOME);
9519
+ this.partnershipExpenses = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.PARTNERSHIP_EXPENSES);
9520
+ this.trustsIncomes = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TRUST_INCOME);
9521
+ this.trustsExpenses = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TRUST_EXPENSES);
9522
+ this.netNonPrimaryProductionAmount = (this.partnershipIncomes.sumBy('amount') - this.partnershipExpenses.sumBy('amount')) +
9523
+ (this.trustsIncomes.sumBy('amount') - this.trustsExpenses.sumBy('amount'));
9524
+ this.partnershipsNetIncome = this.partnershipIncomes.sumBy('amount') -
9525
+ this.partnershipExpenses.sumBy('amount');
9526
+ this.trustsNetIncome = this.trustsIncomes.sumBy('amount') - this.trustsExpenses.sumBy('amount');
9527
+ this.partnershipsSmallBusinessNetIncome = this.partnershipIncomes.sumBy('amount') -
9528
+ this.partnershipExpenses.sumBy('amount');
9529
+ this.trustsSmallBusinessNetIncome = this.trustsIncomes.sumBy('amount') -
9530
+ this.trustsExpenses.sumBy('amount');
9531
+ this.taxPaidTotal = this.transactions
9532
+ .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingTaxableEnum.PARTNERSHIPS_AND_TRUSTS_INCOME)
9533
+ .sumBy('tax');
9534
+ this.frankingCreditsTotal = this.transactions
9535
+ .filterBy('chartAccounts.heading.id', exports.ChartAccountsHeadingTaxableEnum.PARTNERSHIPS_AND_TRUSTS_INCOME)
9536
+ .getTransactionsMetadata()
9537
+ .filterBy('chartAccountsMetadata.id', exports.ChartAccountsMetadataListEnum.FRANKING_CREDIT)
9538
+ .sumBy('value');
9539
+ this.taxOffsetNRASTotalAmount = this.transactions.filterBy('chartAccounts.id', exports.ChartAccountsListEnum.TAX_OFFSETS_N_R_A_S).sumBy('amount');
9540
+ }
9541
+ return MyTaxPartnershipsAndTrusts;
9542
+ }());
9543
+
9544
+ var MyTaxRent = /** @class */ (function () {
9545
+ function MyTaxRent(transactions, depreciations) {
9546
+ this.propertyExpenses = transactions.getPropertyTransactions().getExpenseTransactions();
9547
+ this.grossRentAmount = transactions
9548
+ .getIncomeTransactions()
9549
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.RENTAL_INCOME)
9550
+ .sumBy('amount') +
9551
+ transactions.
9552
+ getIncomeTransactions()
9553
+ .filterBy('chartAccounts.id', exports.ChartAccountsListEnum.OTHER_RENTAL_INCOME)
9554
+ .sumBy('amount');
9555
+ this.interestDeductionsAmount = Math.abs(transactions.getInterestTransactions().sumBy('amount'));
9556
+ this.capitalWorksDeductionsAmount = Math.abs(depreciations.getCapitalDepreciations().sumBy('claimAmount'));
9557
+ this.otherRentalDeductionsAmount = Math.abs(depreciations.getAssets().sumBy('claimAmount') +
9558
+ depreciations.getBorrowingExpenseDepreciations().sumBy('claimAmount') +
9559
+ this.propertyExpenses.sumBy('amount'));
9560
+ this.netRent = this.grossRentAmount -
9561
+ this.interestDeductionsAmount -
9562
+ this.capitalWorksDeductionsAmount -
9563
+ this.otherRentalDeductionsAmount;
9564
+ }
9565
+ return MyTaxRent;
9566
+ }());
9567
+
9109
9568
  /**
9110
9569
  * Constant with list of URLs
9111
9570
  */
@@ -11071,6 +11530,9 @@
11071
11530
  }]
11072
11531
  }] });
11073
11532
 
11533
+ /**
11534
+ * server sent events service
11535
+ */
11074
11536
  var SseService = /** @class */ (function () {
11075
11537
  function SseService(zone, jwtService, environment) {
11076
11538
  this.zone = zone;
@@ -12528,9 +12990,61 @@
12528
12990
  } });
12529
12991
 
12530
12992
  /**
12531
- * Configuration file with the settings to generate PDF file
12993
+ * Settings for generated PDF file from DOM elements
12532
12994
  */
12533
- var PDF_CONFIG = {
12995
+ var FILE_SETTINGS$1 = {
12996
+ margin: 10,
12997
+ filename: 'export.pdf',
12998
+ html2canvas: {
12999
+ scale: 2
13000
+ },
13001
+ pagebreak: {
13002
+ mode: 'avoid-all'
13003
+ },
13004
+ jsPDF: {
13005
+ unit: 'mm',
13006
+ format: 'a3',
13007
+ orientation: 'portrait'
13008
+ }
13009
+ };
13010
+
13011
+ /**
13012
+ * Service to generate and export PDF file from provided HTML elements
13013
+ * The file is generated using the html2pdf library in order to get a canvas at the output,
13014
+ * in which all the styles that the user sees on the page will be saved
13015
+ */
13016
+ var PdfFromDomElementService = /** @class */ (function () {
13017
+ function PdfFromDomElementService() {
13018
+ }
13019
+ PdfFromDomElementService.prototype.export = function (elements, fileSettings) {
13020
+ var options = FILE_SETTINGS$1;
13021
+ options.filename = fileSettings.filename + ".pdf";
13022
+ // HTML container in which the exported DOM elements will be placed
13023
+ var htmlWrapper = document.createElement('div');
13024
+ elements.forEach(function (element) {
13025
+ htmlWrapper.append(element.cloneNode(true));
13026
+ });
13027
+ // Set PDF options, save file and return result as Observable
13028
+ return rxjs.from(html2pdf__namespace().from(htmlWrapper)
13029
+ .set(options)
13030
+ .save()
13031
+ .then());
13032
+ };
13033
+ return PdfFromDomElementService;
13034
+ }());
13035
+ PdfFromDomElementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDomElementService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13036
+ PdfFromDomElementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDomElementService, providedIn: 'root' });
13037
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDomElementService, decorators: [{
13038
+ type: i0.Injectable,
13039
+ args: [{
13040
+ providedIn: 'root'
13041
+ }]
13042
+ }] });
13043
+
13044
+ /**
13045
+ * Settings for generated PDF file from tables (HTML table, data-table, e.t.c.)
13046
+ */
13047
+ var FILE_SETTINGS = {
12534
13048
  text: {
12535
13049
  fontSize: 12,
12536
13050
  fontName: 'helvetica',
@@ -12549,63 +13063,85 @@
12549
13063
  positionX: 42,
12550
13064
  positionY: 6
12551
13065
  },
12552
- // coords for file section title (group, table, e.t.c.)
12553
- contentTitleCoords: {
12554
- marginTop: 15
13066
+ titleCoords: {
13067
+ top: 15
12555
13068
  },
12556
13069
  contentCoords: {
12557
- marginTop: 15,
12558
- marginLeft: 14
12559
- },
12560
- table: {
12561
- headStyles: {
12562
- fillColor: '#00b7f0',
12563
- lineWidth: .2,
12564
- halign: 'center'
12565
- },
12566
- footStyles: {
12567
- fillColor: '#ffffff',
12568
- textColor: '#000000'
12569
- },
13070
+ top: 15,
13071
+ left: 14
12570
13072
  }
12571
13073
  };
12572
13074
 
12573
13075
  /**
12574
- * @TODO vik refactor
12575
- * Service to work with PDF (generate, download, e.t.c.)
13076
+ * Service with base functionality to export tables (HTML table, data-table, e.t.c.) as PDF file
13077
+ * The file is generated using the jsPDF library to set custom table styles
12576
13078
  */
12577
- var PdfService = /** @class */ (function () {
12578
- function PdfService(formatter) {
12579
- this.formatter = formatter;
13079
+ var PdfFromTableService = /** @class */ (function () {
13080
+ function PdfFromTableService() {
12580
13081
  }
12581
13082
  /**
12582
- * Export file from provided HTML tables
13083
+ * Set basic options for PDF table
12583
13084
  */
12584
- PdfService.prototype.exportTables = function (tables, fileSettings) {
12585
- var document = this.generateFromTables(tables, fileSettings);
12586
- document.save(fileSettings.filename + ".pdf");
13085
+ PdfFromTableService.prototype.setTableOptions = function (pdf, tableCaption) {
13086
+ if (tableCaption === void 0) { tableCaption = ''; }
13087
+ var lastTableCoords = pdf['lastAutoTable'].finalY || FILE_SETTINGS.contentCoords.top;
13088
+ // get caption height based on caption content height
13089
+ var captionHeight = pdf.getTextDimensions(pdf.splitTextToSize(tableCaption, pdf.internal.pageSize.width)).h;
13090
+ pdf.text(tableCaption, FILE_SETTINGS.contentCoords.left, lastTableCoords + FILE_SETTINGS.contentCoords.top);
13091
+ return {
13092
+ headStyles: {
13093
+ fillColor: FILE_SETTINGS.text.colorPrimary,
13094
+ },
13095
+ footStyles: {
13096
+ fillColor: FILE_SETTINGS.text.colorWhite,
13097
+ textColor: FILE_SETTINGS.text.colorBlack
13098
+ },
13099
+ startY: lastTableCoords + captionHeight + FILE_SETTINGS.titleCoords.top,
13100
+ didParseCell: function (data) {
13101
+ // Align last column content to right
13102
+ if (data.table.columns.length > 1 && (data.column.index === data.table.columns.length - 1)) {
13103
+ data.cell.styles.halign = 'right';
13104
+ }
13105
+ }
13106
+ };
12587
13107
  };
12588
- /**
12589
- * Export file from provided array-like table data
12590
- */
12591
- PdfService.prototype.exportFromDataTables = function (dataTables, fileSettings) {
12592
- var document = this.generateFromDataTables(dataTables, fileSettings.title);
13108
+ PdfFromTableService.prototype.setDocumentTitle = function (doc, title) {
13109
+ doc.setFontSize(FILE_SETTINGS.text.fontSize)
13110
+ .setFont(FILE_SETTINGS.text.fontName, FILE_SETTINGS.text.fontStyle, FILE_SETTINGS.text.fontWeight)
13111
+ .text(title, FILE_SETTINGS.text.positionX, FILE_SETTINGS.text.positionY);
13112
+ };
13113
+ PdfFromTableService.prototype.setDocumentLogo = function (doc) {
13114
+ var logo = new Image();
13115
+ logo.src = FILE_SETTINGS.logo.src;
13116
+ doc.addImage(logo, 'PNG', doc.internal.pageSize.width - FILE_SETTINGS.logo.positionX, FILE_SETTINGS.logo.positionY, FILE_SETTINGS.logo.width, FILE_SETTINGS.logo.height);
13117
+ };
13118
+ return PdfFromTableService;
13119
+ }());
13120
+ PdfFromTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromTableService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13121
+ PdfFromTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromTableService, providedIn: 'root' });
13122
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromTableService, decorators: [{
13123
+ type: i0.Injectable,
13124
+ args: [{
13125
+ providedIn: 'root'
13126
+ }]
13127
+ }] });
13128
+
13129
+ /**
13130
+ * Service to generate and export PDF file from provided HTML tables
13131
+ */
13132
+ var PdfFromHtmlTableService = /** @class */ (function (_super) {
13133
+ __extends(PdfFromHtmlTableService, _super);
13134
+ function PdfFromHtmlTableService() {
13135
+ return _super !== null && _super.apply(this, arguments) || this;
13136
+ }
13137
+ PdfFromHtmlTableService.prototype.export = function (tables, fileSettings) {
13138
+ var document = this.generateFile(tables, fileSettings);
12593
13139
  document.save(fileSettings.filename + ".pdf");
12594
13140
  };
12595
13141
  /**
12596
- * Generate file from array-like table data
13142
+ * Generate PDF file from provided list of HTML tables
12597
13143
  */
12598
- PdfService.prototype.generateFromDataTables = function (dataTables, title) {
12599
- var _this = this;
12600
- var pdf = new jsPDF__default["default"]();
12601
- this.setDocumentTitle(pdf, title);
12602
- this.setDocumentLogo(pdf);
12603
- dataTables.forEach(function (dataTable) {
12604
- autoTable__default["default"](pdf, Object.assign({ head: [dataTable.header], body: _this.formatter.format(dataTable.body), foot: _this.formatter.format(dataTable.footer) }, _this.setTableOptions(pdf, dataTable.caption)));
12605
- });
12606
- return pdf;
12607
- };
12608
- PdfService.prototype.generateFromTables = function (tables, fileSettings) {
13144
+ PdfFromHtmlTableService.prototype.generateFile = function (tables, fileSettings) {
12609
13145
  var _this = this;
12610
13146
  var pdf = new jsPDF__default["default"](fileSettings.orientation);
12611
13147
  this.setDocumentTitle(pdf, fileSettings.title);
@@ -12620,47 +13156,49 @@
12620
13156
  });
12621
13157
  return pdf;
12622
13158
  };
13159
+ return PdfFromHtmlTableService;
13160
+ }(PdfFromTableService));
13161
+ PdfFromHtmlTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromHtmlTableService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13162
+ PdfFromHtmlTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromHtmlTableService, providedIn: 'root' });
13163
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromHtmlTableService, decorators: [{
13164
+ type: i0.Injectable,
13165
+ args: [{
13166
+ providedIn: 'root'
13167
+ }]
13168
+ }] });
13169
+
13170
+ /**
13171
+ * Service to generate and export PDF file from provided array-like data tables
13172
+ */
13173
+ var PdfFromDataTableService = /** @class */ (function (_super) {
13174
+ __extends(PdfFromDataTableService, _super);
13175
+ function PdfFromDataTableService(formatter) {
13176
+ var _this = _super.call(this) || this;
13177
+ _this.formatter = formatter;
13178
+ return _this;
13179
+ }
13180
+ PdfFromDataTableService.prototype.export = function (dataTables, fileSettings) {
13181
+ var document = this.generate(dataTables, fileSettings.title);
13182
+ document.save(fileSettings.filename + ".pdf");
13183
+ };
12623
13184
  /**
12624
- * Set basic options for PDF table
13185
+ * Generate PDF file from provided list of data tables
12625
13186
  */
12626
- PdfService.prototype.setTableOptions = function (pdf, tableCaption) {
12627
- if (tableCaption === void 0) { tableCaption = ''; }
12628
- var lastTableCoords = pdf['lastAutoTable'].finalY || PDF_CONFIG.contentCoords.marginTop;
12629
- // get caption height based on caption content height
12630
- var captionHeight = pdf.getTextDimensions(pdf.splitTextToSize(tableCaption, pdf.internal.pageSize.width)).h;
12631
- pdf.text(tableCaption, PDF_CONFIG.contentCoords.marginLeft, lastTableCoords + PDF_CONFIG.contentCoords.marginTop);
12632
- return {
12633
- headStyles: {
12634
- fillColor: PDF_CONFIG.text.colorPrimary,
12635
- },
12636
- footStyles: {
12637
- fillColor: PDF_CONFIG.text.colorWhite,
12638
- textColor: PDF_CONFIG.text.colorBlack
12639
- },
12640
- startY: lastTableCoords + captionHeight + PDF_CONFIG.contentTitleCoords.marginTop,
12641
- didParseCell: function (data) {
12642
- // Align last column content to right
12643
- if (data.table.columns.length > 1 && (data.column.index === data.table.columns.length - 1)) {
12644
- data.cell.styles.halign = 'right';
12645
- }
12646
- }
12647
- };
12648
- };
12649
- PdfService.prototype.setDocumentTitle = function (doc, title) {
12650
- doc.setFontSize(PDF_CONFIG.text.fontSize)
12651
- .setFont(PDF_CONFIG.text.fontName, PDF_CONFIG.text.fontStyle, PDF_CONFIG.text.fontWeight)
12652
- .text(title, PDF_CONFIG.text.positionX, PDF_CONFIG.text.positionY);
12653
- };
12654
- PdfService.prototype.setDocumentLogo = function (doc) {
12655
- var logo = new Image();
12656
- logo.src = PDF_CONFIG.logo.src;
12657
- doc.addImage(logo, 'PNG', doc.internal.pageSize.width - PDF_CONFIG.logo.positionX, PDF_CONFIG.logo.positionY, PDF_CONFIG.logo.width, PDF_CONFIG.logo.height);
13187
+ PdfFromDataTableService.prototype.generate = function (dataTables, title) {
13188
+ var _this = this;
13189
+ var pdf = new jsPDF__default["default"]();
13190
+ this.setDocumentTitle(pdf, title);
13191
+ this.setDocumentLogo(pdf);
13192
+ dataTables.forEach(function (dataTable) {
13193
+ autoTable__default["default"](pdf, Object.assign({ head: [dataTable.header], body: _this.formatter.format(dataTable.body), foot: _this.formatter.format(dataTable.footer) }, _this.setTableOptions(pdf, dataTable.caption)));
13194
+ });
13195
+ return pdf;
12658
13196
  };
12659
- return PdfService;
12660
- }());
12661
- PdfService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfService, deps: [{ token: ExportFormatterService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12662
- PdfService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfService, providedIn: 'root' });
12663
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfService, decorators: [{
13197
+ return PdfFromDataTableService;
13198
+ }(PdfFromTableService));
13199
+ PdfFromDataTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDataTableService, deps: [{ token: ExportFormatterService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13200
+ PdfFromDataTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDataTableService, providedIn: 'root' });
13201
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDataTableService, decorators: [{
12664
13202
  type: i0.Injectable,
12665
13203
  args: [{
12666
13204
  providedIn: 'root'
@@ -14315,6 +14853,21 @@
14315
14853
  };
14316
14854
  }
14317
14855
 
14856
+ /**
14857
+ * Validation function, that checks that the user should select a value from a list rather than type in input field
14858
+ */
14859
+ function requireSelectValidator() {
14860
+ return function (control) {
14861
+ var selection = control.value;
14862
+ if (typeof selection === 'string' && !!selection) {
14863
+ return { notFromList: true };
14864
+ }
14865
+ else {
14866
+ return null;
14867
+ }
14868
+ };
14869
+ }
14870
+
14318
14871
  var ClientIncomeTypesForm = /** @class */ (function (_super) {
14319
14872
  __extends(ClientIncomeTypesForm, _super);
14320
14873
  function ClientIncomeTypesForm(clientIncomeTypes) {
@@ -14536,6 +15089,385 @@
14536
15089
  return VehicleClaimForm;
14537
15090
  }(AbstractForm));
14538
15091
 
15092
+ /**
15093
+ * @Todo waiting for the Sole tank implementation
15094
+ */
15095
+ var MyTaxBusinessOrLossesForm = /** @class */ (function (_super) {
15096
+ __extends(MyTaxBusinessOrLossesForm, _super);
15097
+ function MyTaxBusinessOrLossesForm(businessOrLosses) {
15098
+ return _super.call(this, {}) || this;
15099
+ }
15100
+ return MyTaxBusinessOrLossesForm;
15101
+ }(AbstractForm));
15102
+
15103
+ var MyTaxDeductionsForm = /** @class */ (function (_super) {
15104
+ __extends(MyTaxDeductionsForm, _super);
15105
+ function MyTaxDeductionsForm(deductions) {
15106
+ return _super.call(this, {
15107
+ vehicleClaimMethod: new forms.FormControl({
15108
+ value: deductions.vehicleClaim.method,
15109
+ disabled: true
15110
+ }),
15111
+ vehicleExpensesTotalAmount: new forms.FormControl({
15112
+ value: deductions.vehicleExpensesTotalAmount,
15113
+ disabled: true
15114
+ }),
15115
+ workRelatedTravelExpensesTotalAmount: new forms.FormControl({
15116
+ value: deductions.workRelatedTravelExpensesTotalAmount,
15117
+ disabled: true
15118
+ }),
15119
+ workRelatedClothingType: new forms.FormControl(!!deductions.workRelatedClothingType, forms.Validators.required),
15120
+ workRelatedClothingTotalAmount: new forms.FormControl({
15121
+ value: deductions.workRelatedClothingTotalAmount,
15122
+ disabled: true
15123
+ }),
15124
+ workRelatedSelfEducationType: new forms.FormControl(!!deductions.workRelatedSelfEducationType, forms.Validators.required),
15125
+ workRelatedSelfEducationTotalAmount: new forms.FormControl({
15126
+ value: deductions.workRelatedSelfEducationTotalAmount,
15127
+ disabled: true
15128
+ }),
15129
+ otherWorkRelatedSelfEducationTotalAmount: new forms.FormControl({
15130
+ value: deductions.otherWorkRelatedExpensesTotalAmount,
15131
+ disabled: true
15132
+ }),
15133
+ lowValuePoolDeductionTotalAmount: new forms.FormControl({
15134
+ value: deductions.lowValuePoolDeductionTotalAmount,
15135
+ disabled: true
15136
+ }),
15137
+ interestExpensesTotalAmount: new forms.FormControl({
15138
+ value: deductions.interestExpensesTotalAmount,
15139
+ disabled: true
15140
+ }),
15141
+ dividendExpensesTotalAmount: new forms.FormControl({
15142
+ value: deductions.dividendExpensesTotalAmount,
15143
+ disabled: true
15144
+ }),
15145
+ donationsTotalAmount: new forms.FormControl({
15146
+ value: deductions.donationsTotalAmount,
15147
+ disabled: true
15148
+ }),
15149
+ interestsChargedByATOTotalAmount: new forms.FormControl({
15150
+ value: deductions.interestsChargedByATOTotalAmount,
15151
+ disabled: true
15152
+ }),
15153
+ litigationCostsTotalAmount: new forms.FormControl({
15154
+ value: deductions.litigationCostsTotalAmount,
15155
+ disabled: true
15156
+ }),
15157
+ otherManagingCostsTotalAmount: new forms.FormControl({
15158
+ value: deductions.otherManagingCostsTotalAmount,
15159
+ disabled: true
15160
+ }),
15161
+ personalSuperContributionsTotalAmount: new forms.FormControl({
15162
+ value: deductions.personalSuperContributionsTotalAmount,
15163
+ disabled: true
15164
+ }),
15165
+ forestryManagedInvestmentSchemesDeductionsTotalAmount: new forms.FormControl({
15166
+ value: deductions.forestryManagedInvestmentSchemesDeductionsTotalAmount,
15167
+ disabled: true
15168
+ }),
15169
+ otherDeductionsTotalAmount: new forms.FormControl({
15170
+ value: deductions.otherDeductionsTotalAmount,
15171
+ disabled: true
15172
+ })
15173
+ }) || this;
15174
+ }
15175
+ return MyTaxDeductionsForm;
15176
+ }(AbstractForm));
15177
+
15178
+ var MyTaxDividendsForm = /** @class */ (function (_super) {
15179
+ __extends(MyTaxDividendsForm, _super);
15180
+ function MyTaxDividendsForm(dividends) {
15181
+ return _super.call(this, {
15182
+ dividendsUnfrankedAmount: new forms.FormControl({
15183
+ value: dividends.dividendsUnfrankedAmount,
15184
+ disabled: true
15185
+ }),
15186
+ dividendsFrankedAmount: new forms.FormControl({
15187
+ value: dividends.dividendsFrankedAmount,
15188
+ disabled: true
15189
+ }),
15190
+ dividendsFrankingCreditsAmount: new forms.FormControl({
15191
+ value: dividends.dividendsFrankingCreditsAmount,
15192
+ disabled: true
15193
+ }),
15194
+ dividendsTotalTax: new forms.FormControl({ value: dividends.dividendsTotalTax, disabled: true }),
15195
+ isForeignResident: new forms.FormControl(false),
15196
+ }) || this;
15197
+ }
15198
+ return MyTaxDividendsForm;
15199
+ }(AbstractForm));
15200
+
15201
+ var MyTaxEmployeeShareSchemesForm = /** @class */ (function (_super) {
15202
+ __extends(MyTaxEmployeeShareSchemesForm, _super);
15203
+ function MyTaxEmployeeShareSchemesForm(shareSchemes) {
15204
+ return _super.call(this, {
15205
+ eligibleForReductionAmount: new forms.FormControl(shareSchemes.eligibleForReductionAmount),
15206
+ notEligibleForReductionAmount: new forms.FormControl(shareSchemes.notEligibleForReductionAmount),
15207
+ discountFromDeferredSchemeAmount: new forms.FormControl(shareSchemes.discountFromDeferredSchemeAmount),
15208
+ totalAssessableDiscountAmount: new forms.FormControl(shareSchemes.totalAssessableDiscountAmount),
15209
+ shareSchemesTotalTax: new forms.FormControl(shareSchemes.shareSchemesTotalTax)
15210
+ }) || this;
15211
+ }
15212
+ return MyTaxEmployeeShareSchemesForm;
15213
+ }(AbstractForm));
15214
+
15215
+ var MyTaxIncomeStatementsForm = /** @class */ (function (_super) {
15216
+ __extends(MyTaxIncomeStatementsForm, _super);
15217
+ function MyTaxIncomeStatementsForm(incomeStatements, user) {
15218
+ var _this = _super.call(this, {
15219
+ occupation: new forms.FormControl(user.clientDetails.occupation, [forms.Validators.required, requireSelectValidator()]),
15220
+ allowanceTotalAmount: new forms.FormControl({
15221
+ value: incomeStatements.allowanceTotalAmount,
15222
+ disabled: true
15223
+ }),
15224
+ allowanceTotalTax: new forms.FormControl({
15225
+ value: incomeStatements.allowanceTotalTax,
15226
+ disabled: true
15227
+ }),
15228
+ lumpATransactionsTotalAmount: new forms.FormControl({
15229
+ value: incomeStatements.lumpATransactionsTotalAmount,
15230
+ disabled: true
15231
+ }),
15232
+ lumpATransactionsTotalTax: new forms.FormControl({
15233
+ value: incomeStatements.lumpATransactionsTotalTax,
15234
+ disabled: true
15235
+ }),
15236
+ hasGenuineLumpATransactions: new forms.FormControl({
15237
+ value: incomeStatements.hasGenuineLumpATransactions,
15238
+ disabled: true
15239
+ }),
15240
+ hasOtherLumpATransactions: new forms.FormControl({
15241
+ value: incomeStatements.hasOtherLumpATransactions,
15242
+ disabled: true
15243
+ }),
15244
+ lumpBTransactionsTotalAmount: new forms.FormControl({
15245
+ value: incomeStatements.lumpBTransactionsTotalAmount,
15246
+ disabled: true
15247
+ }),
15248
+ lumpBTransactionsTotalTax: new forms.FormControl({
15249
+ value: incomeStatements.lumpBTransactionsTotalTax,
15250
+ disabled: true
15251
+ }),
15252
+ australianAllowancesAndPaymentsTotalAmount: new forms.FormControl({
15253
+ value: incomeStatements.australianAllowancesAndPaymentsTotalAmount,
15254
+ disabled: true
15255
+ }),
15256
+ australianAllowancesAndPaymentsTotalTax: new forms.FormControl({
15257
+ value: incomeStatements.australianAllowancesAndPaymentsTotalTax,
15258
+ disabled: true
15259
+ }),
15260
+ australianPensionsAndAllowancesTotalAmount: new forms.FormControl({
15261
+ value: incomeStatements.australianPensionsAndAllowancesTotalAmount,
15262
+ disabled: true
15263
+ }),
15264
+ australianPensionsAndAllowancesTotalTax: new forms.FormControl({
15265
+ value: incomeStatements.australianPensionsAndAllowancesTotalTax,
15266
+ disabled: true
15267
+ }),
15268
+ australianAnnuitiesSuperannuationIncomesTotalTax: new forms.FormControl({
15269
+ value: incomeStatements.australianAnnuitiesSuperannuationIncomesTotalTax,
15270
+ disabled: true
15271
+ }),
15272
+ australianAnnuityPaymentsTaxed: new forms.FormControl({
15273
+ value: incomeStatements.australianAnnuityPaymentsTaxed,
15274
+ disabled: true
15275
+ }),
15276
+ australianAnnuityPaymentsUntaxed: new forms.FormControl({
15277
+ value: incomeStatements.australianAnnuityPaymentsUntaxed,
15278
+ disabled: true
15279
+ }),
15280
+ assessableCappedDefinedBenefitTotalAmount: new forms.FormControl({
15281
+ value: incomeStatements.assessableCappedDefinedBenefitTotalAmount,
15282
+ disabled: true
15283
+ }),
15284
+ superannuationIncomeStreamsTotalTaxed: new forms.FormControl({
15285
+ value: incomeStatements.superannuationIncomeStreamsTotalTaxed,
15286
+ disabled: true
15287
+ }),
15288
+ superannuationIncomeStreamsTotalUntaxed: new forms.FormControl({
15289
+ value: incomeStatements.superannuationIncomeStreamsTotalUntaxed,
15290
+ disabled: true
15291
+ }),
15292
+ attributablePsiTransactionsTotalAmount: new forms.FormControl({
15293
+ value: incomeStatements.attributablePsiTransactionsTotalAmount,
15294
+ disabled: true
15295
+ }),
15296
+ attributablePsiTransactionsTotalTax: new forms.FormControl({
15297
+ value: incomeStatements.attributablePsiTransactionsTotalTax,
15298
+ disabled: true
15299
+ }),
15300
+ }) || this;
15301
+ _this.incomeStatements = incomeStatements;
15302
+ return _this;
15303
+ }
15304
+ return MyTaxIncomeStatementsForm;
15305
+ }(AbstractForm));
15306
+
15307
+ /**
15308
+ * @Todo future functionality
15309
+ */
15310
+ var MyTaxIncomeTestsForm = /** @class */ (function (_super) {
15311
+ __extends(MyTaxIncomeTestsForm, _super);
15312
+ function MyTaxIncomeTestsForm(incomeTests) {
15313
+ return _super.call(this, {}) || this;
15314
+ }
15315
+ return MyTaxIncomeTestsForm;
15316
+ }(AbstractForm));
15317
+
15318
+ var MyTaxInterestForm = /** @class */ (function (_super) {
15319
+ __extends(MyTaxInterestForm, _super);
15320
+ function MyTaxInterestForm(interest) {
15321
+ return _super.call(this, {
15322
+ interestEarnedTotalAmount: new forms.FormControl(interest.interestEarnedTotalAmount),
15323
+ interestEarnedTotalTax: new forms.FormControl(interest.interestEarnedTotalTax),
15324
+ interestPaidTotalAmount: new forms.FormControl(interest.interestPaidTotalAmount)
15325
+ }) || this;
15326
+ }
15327
+ return MyTaxInterestForm;
15328
+ }(AbstractForm));
15329
+
15330
+ /**
15331
+ * @Todo waiting for Sole tank implementation
15332
+ */
15333
+ var MyTaxLossesForm = /** @class */ (function (_super) {
15334
+ __extends(MyTaxLossesForm, _super);
15335
+ function MyTaxLossesForm(losses) {
15336
+ return _super.call(this, {}) || this;
15337
+ }
15338
+ return MyTaxLossesForm;
15339
+ }(AbstractForm));
15340
+
15341
+ var MyTaxMedicareForm = /** @class */ (function (_super) {
15342
+ __extends(MyTaxMedicareForm, _super);
15343
+ function MyTaxMedicareForm(user) {
15344
+ var _this = _super.call(this, {
15345
+ hasDependants: new forms.FormControl(!!user.clientDetails.dependants),
15346
+ dependants: new forms.FormControl(user.clientDetails.dependants, forms.Validators.required),
15347
+ privateHealthCare: new forms.FormControl(user.clientDetails.privateHealthCare),
15348
+ hasMedicareExemption: new forms.FormControl(!!user.clientDetails.medicareExemption),
15349
+ medicareExemption: new forms.FormControl(user.clientDetails.medicareExemption, forms.Validators.required),
15350
+ }) || this;
15351
+ _this.listenEvents();
15352
+ return _this;
15353
+ }
15354
+ MyTaxMedicareForm.prototype.listenEvents = function () {
15355
+ this.listenHasDependantsChanged();
15356
+ this.listenHasMedicareExemptionChanged();
15357
+ };
15358
+ MyTaxMedicareForm.prototype.listenHasDependantsChanged = function () {
15359
+ var _this = this;
15360
+ this.get('hasDependants').valueChanges.subscribe(function (value) {
15361
+ if (!value) {
15362
+ _this.get('dependants').setValue(0);
15363
+ }
15364
+ });
15365
+ };
15366
+ MyTaxMedicareForm.prototype.listenHasMedicareExemptionChanged = function () {
15367
+ var _this = this;
15368
+ this.get('hasMedicareExemption').valueChanges.subscribe(function (value) {
15369
+ if (!value) {
15370
+ _this.get('medicareExemption').setValue(0);
15371
+ }
15372
+ });
15373
+ };
15374
+ return MyTaxMedicareForm;
15375
+ }(AbstractForm));
15376
+
15377
+ /**
15378
+ * @Todo waiting for new chart accounts implemented (TT-1739 & TT-1740)
15379
+ */
15380
+ var MyTaxOffsetsForm = /** @class */ (function (_super) {
15381
+ __extends(MyTaxOffsetsForm, _super);
15382
+ function MyTaxOffsetsForm(offsets) {
15383
+ return _super.call(this, {}) || this;
15384
+ }
15385
+ return MyTaxOffsetsForm;
15386
+ }(AbstractForm));
15387
+
15388
+ var MyTaxOtherIncomeForm = /** @class */ (function (_super) {
15389
+ __extends(MyTaxOtherIncomeForm, _super);
15390
+ function MyTaxOtherIncomeForm(otherIncome) {
15391
+ return _super.call(this, {
15392
+ bonusesTotalAmount: new forms.FormControl({
15393
+ value: otherIncome.bonusesTotalAmount,
15394
+ disabled: true
15395
+ }),
15396
+ forestryManagedInvestmentSchemesIncomeTotalAmount: new forms.FormControl({
15397
+ value: otherIncome.forestryManagedInvestmentSchemesIncomeTotalAmount,
15398
+ disabled: true
15399
+ }),
15400
+ lumpSumPaymentsInArrearsTotalTax: new forms.FormControl({
15401
+ value: otherIncome.lumpSumPaymentsInArrearsTotalTax,
15402
+ disabled: true
15403
+ }),
15404
+ specialProfessionIncomeTotalAmount: new forms.FormControl({
15405
+ value: otherIncome.specialProfessionIncomeTotalAmount,
15406
+ disabled: true
15407
+ }),
15408
+ category1TotalIncome: new forms.FormControl({
15409
+ value: otherIncome.category1TotalIncome,
15410
+ disabled: true
15411
+ }),
15412
+ hasLumpSumPaymentsInArrearsTransactions: new forms.FormControl(!!otherIncome.lumpSumPaymentsInArrearsTransactions.length),
15413
+ atoInterestPaidTotalAmount: new forms.FormControl({
15414
+ value: otherIncome.atoInterestPaidTotalAmount,
15415
+ disabled: true
15416
+ }),
15417
+ gainOnSaleOfVehiclePreviouslyDepreciatedTotalAmount: new forms.FormControl({
15418
+ value: otherIncome.gainOnSaleOfVehiclePreviouslyDepreciatedTotalAmount,
15419
+ disabled: true
15420
+ })
15421
+ }) || this;
15422
+ }
15423
+ return MyTaxOtherIncomeForm;
15424
+ }(AbstractForm));
15425
+
15426
+ var MyTaxPartnershipsAndTrustsForm = /** @class */ (function (_super) {
15427
+ __extends(MyTaxPartnershipsAndTrustsForm, _super);
15428
+ function MyTaxPartnershipsAndTrustsForm(partnershipsAndTrusts) {
15429
+ return _super.call(this, {
15430
+ partnershipsNetIncome: new forms.FormControl({
15431
+ value: partnershipsAndTrusts.partnershipsNetIncome,
15432
+ disabled: true
15433
+ }),
15434
+ trustsNetIncome: new forms.FormControl({
15435
+ value: partnershipsAndTrusts.trustsNetIncome,
15436
+ disabled: true
15437
+ }),
15438
+ trustType: new forms.FormControl(1),
15439
+ partnershipsSmallBusinessNetIncome: new forms.FormControl(partnershipsAndTrusts.partnershipsSmallBusinessNetIncome, forms.Validators.required),
15440
+ trustsSmallBusinessNetIncome: new forms.FormControl(partnershipsAndTrusts.trustsSmallBusinessNetIncome, forms.Validators.required),
15441
+ taxPaidTotal: new forms.FormControl({
15442
+ value: partnershipsAndTrusts.taxPaidTotal,
15443
+ disabled: true
15444
+ }),
15445
+ frankingCreditsTotal: new forms.FormControl({
15446
+ value: partnershipsAndTrusts.frankingCreditsTotal,
15447
+ disabled: true
15448
+ }),
15449
+ taxOffsetNRASTotalAmount: new forms.FormControl({
15450
+ value: partnershipsAndTrusts.taxOffsetNRASTotalAmount,
15451
+ disabled: true
15452
+ })
15453
+ }) || this;
15454
+ }
15455
+ return MyTaxPartnershipsAndTrustsForm;
15456
+ }(AbstractForm));
15457
+
15458
+ var MyTaxRentForm = /** @class */ (function (_super) {
15459
+ __extends(MyTaxRentForm, _super);
15460
+ function MyTaxRentForm(rent) {
15461
+ return _super.call(this, {
15462
+ grossRentAmount: new forms.FormControl(rent.grossRentAmount),
15463
+ interestDeductions: new forms.FormControl(rent.interestDeductionsAmount),
15464
+ capitalWorksDeductions: new forms.FormControl(rent.capitalWorksDeductionsAmount),
15465
+ otherRentalDeductionsAmount: new forms.FormControl(rent.otherRentalDeductionsAmount)
15466
+ }) || this;
15467
+ }
15468
+ return MyTaxRentForm;
15469
+ }(AbstractForm));
15470
+
14539
15471
  /**
14540
15472
  * Public API Surface of tt-core
14541
15473
  */
@@ -14619,6 +15551,7 @@
14619
15551
  exports.CorelogicService = CorelogicService;
14620
15552
  exports.CorelogicSuggestion = CorelogicSuggestion;
14621
15553
  exports.Country = Country;
15554
+ exports.DEDUCTION_CATEGORIES = DEDUCTION_CATEGORIES;
14622
15555
  exports.DEFAULT_VEHICLE_EXPENSE = DEFAULT_VEHICLE_EXPENSE;
14623
15556
  exports.DEPRECIATION_GROUPS = DEPRECIATION_GROUPS;
14624
15557
  exports.DOCUMENT_FILE_TYPES = DOCUMENT_FILE_TYPES;
@@ -14684,12 +15617,39 @@
14684
15617
  exports.MessageDocumentService = MessageDocumentService;
14685
15618
  exports.MessageService = MessageService;
14686
15619
  exports.MyAccountHistory = MyAccountHistory;
15620
+ exports.MyTaxBusinessOrLosses = MyTaxBusinessOrLosses;
15621
+ exports.MyTaxBusinessOrLossesForm = MyTaxBusinessOrLossesForm;
15622
+ exports.MyTaxDeductions = MyTaxDeductions;
15623
+ exports.MyTaxDeductionsForm = MyTaxDeductionsForm;
15624
+ exports.MyTaxDividends = MyTaxDividends;
15625
+ exports.MyTaxDividendsForm = MyTaxDividendsForm;
15626
+ exports.MyTaxEmployeeShareSchemes = MyTaxEmployeeShareSchemes;
15627
+ exports.MyTaxEmployeeShareSchemesForm = MyTaxEmployeeShareSchemesForm;
15628
+ exports.MyTaxIncomeStatements = MyTaxIncomeStatements;
15629
+ exports.MyTaxIncomeStatementsForm = MyTaxIncomeStatementsForm;
15630
+ exports.MyTaxIncomeTests = MyTaxIncomeTests;
15631
+ exports.MyTaxIncomeTestsForm = MyTaxIncomeTestsForm;
15632
+ exports.MyTaxInterest = MyTaxInterest;
15633
+ exports.MyTaxInterestForm = MyTaxInterestForm;
15634
+ exports.MyTaxLosses = MyTaxLosses;
15635
+ exports.MyTaxLossesForm = MyTaxLossesForm;
15636
+ exports.MyTaxMedicareForm = MyTaxMedicareForm;
15637
+ exports.MyTaxOffsets = MyTaxOffsets;
15638
+ exports.MyTaxOffsetsForm = MyTaxOffsetsForm;
15639
+ exports.MyTaxOtherIncome = MyTaxOtherIncome;
15640
+ exports.MyTaxOtherIncomeForm = MyTaxOtherIncomeForm;
15641
+ exports.MyTaxPartnershipsAndTrusts = MyTaxPartnershipsAndTrusts;
15642
+ exports.MyTaxPartnershipsAndTrustsForm = MyTaxPartnershipsAndTrustsForm;
15643
+ exports.MyTaxRent = MyTaxRent;
15644
+ exports.MyTaxRentForm = MyTaxRentForm;
14687
15645
  exports.Notification = Notification;
14688
15646
  exports.Occupation = Occupation;
14689
15647
  exports.OccupationService = OccupationService;
14690
15648
  exports.PASSWORD_REGEXPS = PASSWORD_REGEXPS;
14691
15649
  exports.PasswordForm = PasswordForm;
14692
- exports.PdfService = PdfService;
15650
+ exports.PdfFromDataTableService = PdfFromDataTableService;
15651
+ exports.PdfFromDomElementService = PdfFromDomElementService;
15652
+ exports.PdfFromHtmlTableService = PdfFromHtmlTableService;
14693
15653
  exports.PdfSettings = PdfSettings;
14694
15654
  exports.Phone = Phone;
14695
15655
  exports.PreloaderService = PreloaderService;
@@ -14794,6 +15754,7 @@
14794
15754
  exports.WORK_TANK_LOGBOOK_PURPOSE_OPTIONS = WORK_TANK_LOGBOOK_PURPOSE_OPTIONS;
14795
15755
  exports.XlsxService = XlsxService;
14796
15756
  exports.atLeastOneCheckedValidator = atLeastOneCheckedValidator;
15757
+ exports.atoLinks = atoLinks;
14797
15758
  exports.cloneDeep = cloneDeep;
14798
15759
  exports.compare = compare;
14799
15760
  exports.compareMatOptions = compareMatOptions;
@@ -14805,6 +15766,7 @@
14805
15766
  exports.passwordValidator = passwordValidator;
14806
15767
  exports.replace = replace;
14807
15768
  exports.requireAutocomplete = requireAutocomplete;
15769
+ exports.requireSelectValidator = requireSelectValidator;
14808
15770
  exports.roundTo = roundTo;
14809
15771
  exports.sort = sort;
14810
15772
  exports.sortDeep = sortDeep;