taxtank-core 0.20.1 → 0.21.2

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 (157) hide show
  1. package/bundles/taxtank-core.umd.js +913 -697
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +6 -3
  4. package/esm2015/lib/collections/property/property.collection.js +24 -5
  5. package/esm2015/lib/db/Enums/bank-popular.enum.js +14 -0
  6. package/esm2015/lib/forms/abstract.form.js +11 -4
  7. package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +75 -0
  8. package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +43 -0
  9. package/esm2015/lib/forms/bank/bank-account/bank-account-loan.form.js +23 -0
  10. package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +36 -0
  11. package/esm2015/lib/forms/bank/bank-account/bank-accounts-import.form.js +50 -0
  12. package/esm2015/lib/forms/index.js +6 -7
  13. package/esm2015/lib/forms/register/register-client.form.js +3 -9
  14. package/esm2015/lib/forms/register/register-firm.form.js +4 -1
  15. package/esm2015/lib/forms/report/my-tax/my-tax-income-statements.form.js +3 -3
  16. package/esm2015/lib/forms/user/password.form.js +3 -2
  17. package/esm2015/lib/forms/user/reset-password.form.js +2 -1
  18. package/esm2015/lib/interceptors/basiq.interceptor.js +3 -3
  19. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  20. package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
  21. package/esm2015/lib/interceptors/interceptors.module.js +4 -4
  22. package/esm2015/lib/interceptors/jwt-interceptor.js +9 -4
  23. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  24. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  25. package/esm2015/lib/models/badge/badge-color.enum.js +8 -0
  26. package/esm2015/lib/models/badge/badge.js +14 -0
  27. package/esm2015/lib/models/bank/bank.js +7 -2
  28. package/esm2015/lib/models/dictionary/dictionary.js +35 -0
  29. package/esm2015/lib/models/property/property.js +6 -1
  30. package/esm2015/lib/services/account-setup/account-setup.service.js +3 -3
  31. package/esm2015/lib/services/asset/assets.service.js +3 -3
  32. package/esm2015/lib/services/auth/auth.service.js +3 -3
  33. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  34. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  35. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  36. package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
  37. package/esm2015/lib/services/event/sse.service.js +3 -3
  38. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  39. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  40. package/esm2015/lib/services/http/address/address.service.js +3 -3
  41. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +10 -4
  42. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +18 -48
  43. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +3 -3
  44. package/esm2015/lib/services/http/bank/bank.service.js +11 -4
  45. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +3 -3
  46. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +55 -17
  47. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +3 -3
  48. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
  49. package/esm2015/lib/services/http/chat/chat.service.js +3 -3
  50. package/esm2015/lib/services/http/chat/message/message.service.js +3 -3
  51. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +3 -3
  52. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  53. package/esm2015/lib/services/http/depreciation/depreciation.service.js +3 -3
  54. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
  55. package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
  56. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  57. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
  58. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
  59. package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
  60. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
  61. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  62. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  63. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
  64. package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
  65. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
  66. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
  67. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
  68. package/esm2015/lib/services/http/loan/loan.service.js +3 -3
  69. package/esm2015/lib/services/http/property/property-category/property-category.service.js +3 -3
  70. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +3 -3
  71. package/esm2015/lib/services/http/property/property-document/property-document.service.js +3 -3
  72. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +3 -3
  73. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +3 -3
  74. package/esm2015/lib/services/http/property/property-share/property-share.service.js +3 -3
  75. package/esm2015/lib/services/http/property/property.service.js +3 -3
  76. package/esm2015/lib/services/http/rest/rest.service.js +3 -3
  77. package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
  78. package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
  79. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  80. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
  81. package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
  82. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  83. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +3 -3
  84. package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
  85. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  86. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
  87. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
  88. package/esm2015/lib/services/http/user/user.service.js +3 -3
  89. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
  90. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
  91. package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
  92. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  93. package/esm2015/lib/services/kompassify/kompassify.service.js +3 -3
  94. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
  95. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
  96. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
  97. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
  98. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  99. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  100. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  101. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +38 -4
  102. package/esm2015/lib/services/report/property/property-transaction-report.service.js +3 -3
  103. package/esm2015/lib/services/toast/toast.service.js +3 -3
  104. package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
  105. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  106. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  107. package/esm2015/lib/tt-core.module.js +4 -4
  108. package/esm2015/lib/validators/at-least-one-enabled.validator.js +11 -0
  109. package/esm2015/lib/validators/autocomplete.validator.js +10 -0
  110. package/esm2015/lib/validators/index.js +2 -3
  111. package/esm2015/public-api.js +5 -2
  112. package/fesm2015/taxtank-core.js +789 -574
  113. package/fesm2015/taxtank-core.js.map +1 -1
  114. package/lib/collections/collection.d.ts +2 -1
  115. package/lib/collections/property/property.collection.d.ts +5 -0
  116. package/lib/db/Enums/bank-popular.enum.d.ts +12 -0
  117. package/lib/forms/abstract.form.d.ts +5 -3
  118. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +25 -0
  119. package/lib/forms/bank/bank-account/bank-account-import.form.d.ts +15 -0
  120. package/lib/forms/bank/bank-account/bank-account-loan.form.d.ts +8 -0
  121. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +11 -0
  122. package/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts +12 -0
  123. package/lib/forms/index.d.ts +5 -6
  124. package/lib/forms/register/register-client.form.d.ts +3 -2
  125. package/lib/forms/register/register-firm.form.d.ts +1 -0
  126. package/lib/models/badge/badge-color.enum.d.ts +6 -0
  127. package/lib/models/badge/badge.d.ts +10 -0
  128. package/lib/models/bank/bank.d.ts +1 -0
  129. package/lib/models/dictionary/dictionary.d.ts +12 -0
  130. package/lib/models/property/property.d.ts +5 -0
  131. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +3 -0
  132. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +0 -8
  133. package/lib/services/http/bank/bank.service.d.ts +2 -0
  134. package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -3
  135. package/lib/services/property/property-calculation/property-calculation.service.d.ts +10 -0
  136. package/lib/validators/at-least-one-enabled.validator.d.ts +5 -0
  137. package/lib/validators/{require-autocomplete.d.ts → autocomplete.validator.d.ts} +2 -1
  138. package/lib/validators/index.d.ts +1 -2
  139. package/package.json +1 -1
  140. package/public-api.d.ts +4 -1
  141. package/esm2015/lib/collections/bank.collection.js +0 -15
  142. package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +0 -19
  143. package/esm2015/lib/forms/bank/bank-account-loan.form.js +0 -20
  144. package/esm2015/lib/forms/bank/bank-account-migrate.form.js +0 -15
  145. package/esm2015/lib/forms/bank/bank-account-properties.form.js +0 -15
  146. package/esm2015/lib/forms/bank/bank-account-property.form.js +0 -13
  147. package/esm2015/lib/forms/bank/bank-account.form.js +0 -66
  148. package/esm2015/lib/validators/require-autocomplete.js +0 -14
  149. package/esm2015/lib/validators/require-select.validator.js +0 -15
  150. package/lib/collections/bank.collection.d.ts +0 -7
  151. package/lib/forms/bank/bank-account-add-manual.form.d.ts +0 -10
  152. package/lib/forms/bank/bank-account-loan.form.d.ts +0 -5
  153. package/lib/forms/bank/bank-account-migrate.form.d.ts +0 -9
  154. package/lib/forms/bank/bank-account-properties.form.d.ts +0 -8
  155. package/lib/forms/bank/bank-account-property.form.d.ts +0 -5
  156. package/lib/forms/bank/bank-account.form.d.ts +0 -28
  157. package/lib/validators/require-select.validator.d.ts +0 -5
@@ -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('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';
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/uniqBy'), require('lodash/concat'), require('rxjs/internal/observable/throwError'), require('lodash/cloneDeep'), require('lodash/compact'), 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/uniqBy', 'lodash/concat', 'rxjs/internal/observable/throwError', 'lodash/cloneDeep', 'lodash/compact', '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.uniqBy, global.concat, global.rxjs["internal/observable/throwError"], global.cloneDeep$1, global.compact, 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, uniqBy, concat, throwError, cloneDeep$1, compact, 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
 
@@ -33,10 +33,10 @@
33
33
  var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
34
34
  var hasIn__default = /*#__PURE__*/_interopDefaultLegacy(hasIn);
35
35
  var first__default = /*#__PURE__*/_interopDefaultLegacy(first);
36
- var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep$1);
37
- var compact__default = /*#__PURE__*/_interopDefaultLegacy(compact);
38
36
  var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
39
37
  var concat__default = /*#__PURE__*/_interopDefaultLegacy(concat);
38
+ var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep$1);
39
+ var compact__default = /*#__PURE__*/_interopDefaultLegacy(compact);
40
40
  var fromPairs__default = /*#__PURE__*/_interopDefaultLegacy(fromPairs);
41
41
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
42
42
  var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
@@ -88,9 +88,9 @@
88
88
  };
89
89
  return CorelogicService;
90
90
  }());
91
- CorelogicService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CorelogicService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
92
- CorelogicService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CorelogicService, providedIn: 'root' });
93
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CorelogicService, decorators: [{
91
+ CorelogicService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CorelogicService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
92
+ CorelogicService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CorelogicService, providedIn: 'root' });
93
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CorelogicService, decorators: [{
94
94
  type: i0.Injectable,
95
95
  args: [{
96
96
  providedIn: 'root'
@@ -135,9 +135,9 @@
135
135
  };
136
136
  return CorelogicInterceptor;
137
137
  }());
138
- CorelogicInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
139
- CorelogicInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CorelogicInterceptor });
140
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: CorelogicInterceptor, decorators: [{
138
+ CorelogicInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
139
+ CorelogicInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CorelogicInterceptor });
140
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: CorelogicInterceptor, decorators: [{
141
141
  type: i0.Injectable
142
142
  }], ctorParameters: function () {
143
143
  return [{ type: CorelogicService }, { type: undefined, decorators: [{
@@ -176,9 +176,9 @@
176
176
  };
177
177
  return FinancialYearInterceptor;
178
178
  }());
179
- FinancialYearInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
180
- FinancialYearInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FinancialYearInterceptor });
181
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FinancialYearInterceptor, decorators: [{
179
+ FinancialYearInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
180
+ FinancialYearInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FinancialYearInterceptor });
181
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FinancialYearInterceptor, decorators: [{
182
182
  type: i0.Injectable
183
183
  }], ctorParameters: function () {
184
184
  return [{ type: undefined, decorators: [{
@@ -187,7 +187,7 @@
187
187
  }] }];
188
188
  } });
189
189
 
190
- /******************************************************************************
190
+ /*! *****************************************************************************
191
191
  Copyright (c) Microsoft Corporation.
192
192
 
193
193
  Permission to use, copy, modify, and/or distribute this software for any
@@ -349,11 +349,7 @@
349
349
  var __createBinding = Object.create ? (function (o, m, k, k2) {
350
350
  if (k2 === undefined)
351
351
  k2 = k;
352
- var desc = Object.getOwnPropertyDescriptor(m, k);
353
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
354
- desc = { enumerable: true, get: function () { return m[k]; } };
355
- }
356
- Object.defineProperty(o, k2, desc);
352
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
357
353
  }) : (function (o, m, k, k2) {
358
354
  if (k2 === undefined)
359
355
  k2 = k;
@@ -508,11 +504,6 @@
508
504
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
509
505
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
510
506
  }
511
- function __classPrivateFieldIn(state, receiver) {
512
- if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
513
- throw new TypeError("Cannot use 'in' operator on non-object");
514
- return typeof state === "function" ? receiver === state : state.has(receiver);
515
- }
516
507
 
517
508
  var NAME_TOKEN = 'token';
518
509
  var NAME_REFRESH_TOKEN = 'refreshToken';
@@ -543,9 +534,9 @@
543
534
  };
544
535
  return JwtService;
545
536
  }(angularJwt.JwtHelperService));
546
- JwtService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: JwtService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
547
- JwtService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: JwtService, providedIn: 'root' });
548
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: JwtService, decorators: [{
537
+ JwtService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: JwtService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
538
+ JwtService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: JwtService, providedIn: 'root' });
539
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: JwtService, decorators: [{
549
540
  type: i0.Injectable,
550
541
  args: [{
551
542
  providedIn: 'root'
@@ -619,9 +610,9 @@
619
610
  };
620
611
  return EventDispatcherService;
621
612
  }());
622
- EventDispatcherService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EventDispatcherService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
623
- EventDispatcherService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EventDispatcherService, providedIn: 'root' });
624
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EventDispatcherService, decorators: [{
613
+ EventDispatcherService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EventDispatcherService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
614
+ EventDispatcherService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EventDispatcherService, providedIn: 'root' });
615
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EventDispatcherService, decorators: [{
625
616
  type: i0.Injectable,
626
617
  args: [{
627
618
  providedIn: 'root'
@@ -675,9 +666,9 @@
675
666
  };
676
667
  return AuthService;
677
668
  }());
678
- AuthService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AuthService, deps: [{ token: i1__namespace.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
679
- AuthService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AuthService, providedIn: 'root' });
680
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AuthService, decorators: [{
669
+ AuthService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AuthService, deps: [{ token: i1__namespace.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
670
+ AuthService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AuthService, providedIn: 'root' });
671
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AuthService, decorators: [{
681
672
  type: i0.Injectable,
682
673
  args: [{
683
674
  providedIn: 'root'
@@ -766,6 +757,11 @@
766
757
  };
767
758
  JwtInterceptor.prototype.handle401Error = function (req, next, err) {
768
759
  var _this = this;
760
+ var _a;
761
+ // skip 401 errors not from JWT (basiq login case or other)
762
+ if (!((_a = err.error.message) === null || _a === void 0 ? void 0 : _a.includes('JWT Token'))) {
763
+ return rxjs.throwError(err);
764
+ }
769
765
  if (req.url.includes('token/refresh') || req.url.includes('login')) {
770
766
  if (req.url.includes('token/refresh')) {
771
767
  this.authService.logoutFront();
@@ -813,9 +809,9 @@
813
809
  };
814
810
  return JwtInterceptor;
815
811
  }());
816
- JwtInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: JwtInterceptor, deps: [{ token: JwtService }, { token: AuthService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
817
- JwtInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: JwtInterceptor });
818
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: JwtInterceptor, decorators: [{
812
+ JwtInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: JwtInterceptor, deps: [{ token: JwtService }, { token: AuthService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
813
+ JwtInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: JwtInterceptor });
814
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: JwtInterceptor, decorators: [{
819
815
  type: i0.Injectable
820
816
  }], ctorParameters: function () {
821
817
  return [{ type: JwtService }, { type: AuthService }, { type: undefined, decorators: [{
@@ -853,9 +849,9 @@
853
849
  };
854
850
  return UserSwitcherService;
855
851
  }());
856
- UserSwitcherService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserSwitcherService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
857
- UserSwitcherService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserSwitcherService, providedIn: 'root' });
858
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserSwitcherService, decorators: [{
852
+ UserSwitcherService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserSwitcherService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
853
+ UserSwitcherService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserSwitcherService, providedIn: 'root' });
854
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserSwitcherService, decorators: [{
859
855
  type: i0.Injectable,
860
856
  args: [{
861
857
  providedIn: 'root'
@@ -892,9 +888,9 @@
892
888
  };
893
889
  return UserSwitcherInterceptor;
894
890
  }());
895
- UserSwitcherInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserSwitcherInterceptor, deps: [{ token: UserSwitcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
896
- UserSwitcherInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserSwitcherInterceptor });
897
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserSwitcherInterceptor, decorators: [{
891
+ UserSwitcherInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserSwitcherInterceptor, deps: [{ token: UserSwitcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
892
+ UserSwitcherInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserSwitcherInterceptor });
893
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserSwitcherInterceptor, decorators: [{
898
894
  type: i0.Injectable
899
895
  }], ctorParameters: function () {
900
896
  return [{ type: UserSwitcherService }, { type: undefined, decorators: [{
@@ -1098,9 +1094,9 @@
1098
1094
  };
1099
1095
  return PreloaderService;
1100
1096
  }());
1101
- PreloaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreloaderService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1102
- PreloaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreloaderService, providedIn: 'root' });
1103
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreloaderService, decorators: [{
1097
+ PreloaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PreloaderService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1098
+ PreloaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PreloaderService, providedIn: 'root' });
1099
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PreloaderService, decorators: [{
1104
1100
  type: i0.Injectable,
1105
1101
  args: [{
1106
1102
  providedIn: 'root'
@@ -1130,9 +1126,9 @@
1130
1126
  };
1131
1127
  return PreloaderInterceptor;
1132
1128
  }());
1133
- PreloaderInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreloaderInterceptor, deps: [{ token: PreloaderService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1134
- PreloaderInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreloaderInterceptor });
1135
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreloaderInterceptor, decorators: [{
1129
+ PreloaderInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PreloaderInterceptor, deps: [{ token: PreloaderService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1130
+ PreloaderInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PreloaderInterceptor });
1131
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PreloaderInterceptor, decorators: [{
1136
1132
  type: i0.Injectable
1137
1133
  }], ctorParameters: function () { return [{ type: PreloaderService }]; } });
1138
1134
 
@@ -1273,9 +1269,9 @@
1273
1269
  };
1274
1270
  return ToastService;
1275
1271
  }());
1276
- ToastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ToastService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1277
- ToastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ToastService, providedIn: 'root' });
1278
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ToastService, decorators: [{
1272
+ ToastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ToastService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1273
+ ToastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ToastService, providedIn: 'root' });
1274
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ToastService, decorators: [{
1279
1275
  type: i0.Injectable,
1280
1276
  args: [{
1281
1277
  providedIn: 'root'
@@ -1481,9 +1477,9 @@
1481
1477
  RestService.prototype.listenEvents = function () { };
1482
1478
  return RestService;
1483
1479
  }());
1484
- RestService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RestService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1485
- RestService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RestService, providedIn: 'root' });
1486
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RestService, decorators: [{
1480
+ RestService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RestService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1481
+ RestService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RestService, providedIn: 'root' });
1482
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: RestService, decorators: [{
1487
1483
  type: i0.Injectable,
1488
1484
  args: [{
1489
1485
  providedIn: 'root'
@@ -2803,6 +2799,9 @@
2803
2799
  Collection.prototype.getIds = function () {
2804
2800
  return this.items.map(function (item) { return item['id']; });
2805
2801
  };
2802
+ Collection.prototype.mapBy = function (path) {
2803
+ return this.items.map(function (item) { return get__default["default"](item, path); });
2804
+ };
2806
2805
  Collection.prototype.sortBy = function (field, isDesc) {
2807
2806
  if (field === void 0) { field = 'id'; }
2808
2807
  if (isDesc === void 0) { isDesc = true; }
@@ -2865,8 +2864,8 @@
2865
2864
  Collection.prototype.remove = function (items) {
2866
2865
  return this.filter(function (model) { return !items.map(function (item) { return item.id; }).includes(model.id); });
2867
2866
  };
2868
- Collection.prototype.removeBy = function (path, value) {
2869
- return this.filter(function (item) { return get__default["default"](item, path) !== value; });
2867
+ Collection.prototype.removeBy = function (path, values) {
2868
+ return this.filter(function (item) { return !(Array.isArray(values) ? values : [values]).includes(get__default["default"](item, path)); });
2870
2869
  };
2871
2870
  return Collection;
2872
2871
  }());
@@ -3150,6 +3149,11 @@
3150
3149
  if (unitOfTime === void 0) { unitOfTime = 'days'; }
3151
3150
  return moment__namespace(sale.contractDate).diff(moment__namespace(this.contractDate), unitOfTime);
3152
3151
  };
3152
+ /**
3153
+ * Tax Position = Income - Expense - Interest - Depreciation
3154
+ * Where (Income - Expense - Interest) is cash position.
3155
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217415928/Dashboard+Property
3156
+ */
3153
3157
  Property.prototype.getTaxPosition = function (transactions, depreciations) {
3154
3158
  return transactions.cashPosition - Math.abs(depreciations.claimAmount);
3155
3159
  };
@@ -3236,6 +3240,20 @@
3236
3240
  return Bank;
3237
3241
  }(AbstractModel));
3238
3242
 
3243
+ var BankPopularEnum;
3244
+ (function (BankPopularEnum) {
3245
+ BankPopularEnum["BANKWEST"] = "Bank of Western Australia trading as BankWest";
3246
+ BankPopularEnum["ANZ"] = "Australia and New Zealand Banking Group Limited";
3247
+ BankPopularEnum["CBA"] = "Commonwealth Bank Australia";
3248
+ BankPopularEnum["WESTPAC"] = "Westpac Banking Corporation";
3249
+ BankPopularEnum["BENDIGO"] = "Bendigo and Adelaide Bank Limited";
3250
+ BankPopularEnum["ING_DIRECT"] = "ING Bank (Australia) Limited (trading as ING Direct)";
3251
+ BankPopularEnum["ST_GEORGE"] = "St. George Bank (a subsidiary of Westpac)";
3252
+ BankPopularEnum["SUNCORP"] = "Suncorp-Metway Limited";
3253
+ BankPopularEnum["CITIBANK"] = "Citibank";
3254
+ BankPopularEnum["BOQ"] = "Bank of Queensland Limited";
3255
+ })(BankPopularEnum || (BankPopularEnum = {}));
3256
+
3239
3257
  var Bank = /** @class */ (function (_super) {
3240
3258
  __extends(Bank, _super);
3241
3259
  function Bank() {
@@ -3258,6 +3276,13 @@
3258
3276
  return value ? value.replace(' ', '%20') : null;
3259
3277
  })
3260
3278
  ], Bank.prototype, "logo", void 0);
3279
+ __decorate([
3280
+ classTransformer.Transform(function (_a) {
3281
+ var obj = _a.obj;
3282
+ return Object.values(BankPopularEnum).includes(obj.name);
3283
+ }),
3284
+ classTransformer.Expose()
3285
+ ], Bank.prototype, "isPopular", void 0);
3261
3286
 
3262
3287
  exports.BankConnectionStatusEnum = void 0;
3263
3288
  (function (BankConnectionStatusEnum) {
@@ -3418,16 +3443,151 @@
3418
3443
  classTransformer.Type(function () { return BankConnection; })
3419
3444
  ], BankAccount.prototype, "bankConnection", void 0);
3420
3445
 
3446
+ var TYPE_LOAN = [
3447
+ exports.BankAccountTypeEnum.MORTGAGE,
3448
+ exports.BankAccountTypeEnum.CREDIT_CARD,
3449
+ exports.BankAccountTypeEnum.LOAN
3450
+ ];
3451
+
3421
3452
  /**
3422
- * any event happened in the app, which needs to be handled somehow (distributed to other part of the app)
3453
+ * Collection of bank accounts.
3423
3454
  */
3424
- var AppEvent = /** @class */ (function () {
3425
- function AppEvent(type, payload) {
3426
- this.type = type;
3427
- this.payload = payload;
3455
+ var BankAccountCollection = /** @class */ (function (_super) {
3456
+ __extends(BankAccountCollection, _super);
3457
+ function BankAccountCollection() {
3458
+ return _super !== null && _super.apply(this, arguments) || this;
3428
3459
  }
3429
- return AppEvent;
3430
- }());
3460
+ /**
3461
+ * get list of bank accounts with passed types
3462
+ */
3463
+ BankAccountCollection.prototype.getByType = function (types, isExclude) {
3464
+ if (isExclude === void 0) { isExclude = false; }
3465
+ // get types always as array (if only one passed)
3466
+ var typesArray = concat__default["default"](types);
3467
+ return this.items.filter(function (bankAccount) {
3468
+ if (isExclude) {
3469
+ return !typesArray.includes(bankAccount.type);
3470
+ }
3471
+ return typesArray.includes(bankAccount.type);
3472
+ });
3473
+ };
3474
+ /**
3475
+ * get amount of initial loans
3476
+ */
3477
+ BankAccountCollection.prototype.getInitialLoanAmount = function () {
3478
+ return this.getByType(TYPE_LOAN)
3479
+ .reduce(function (sum, bankAccount) {
3480
+ return sum += bankAccount.balances.length ? bankAccount.getOpeningBalance() : 0;
3481
+ }, 0);
3482
+ };
3483
+ /**
3484
+ * get amount of current loans
3485
+ */
3486
+ BankAccountCollection.prototype.getCurrentLoanAmount = function () {
3487
+ return this.getByType(TYPE_LOAN)
3488
+ .reduce(function (sum, bankAccount) {
3489
+ return sum += bankAccount.currentBalance;
3490
+ }, 0);
3491
+ };
3492
+ /**
3493
+ * get collection filtered by property id
3494
+ */
3495
+ BankAccountCollection.prototype.getByPropertyId = function (id) {
3496
+ return new BankAccountCollection(this.items.filter(function (bankAccount) {
3497
+ return bankAccount.bankAccountProperties.find(function (bankAccountProperty) {
3498
+ return bankAccountProperty.property.id === id;
3499
+ });
3500
+ }));
3501
+ };
3502
+ /**
3503
+ * get collection filtered by properties ids
3504
+ */
3505
+ BankAccountCollection.prototype.getByPropertiesIds = function (ids) {
3506
+ return new BankAccountCollection(this.items.filter(function (bankAccount) {
3507
+ return bankAccount.bankAccountProperties.find(function (bankAccountProperty) {
3508
+ return ids.includes(bankAccountProperty.property.id);
3509
+ });
3510
+ }));
3511
+ };
3512
+ /**
3513
+ * get collection of active bank accounts
3514
+ */
3515
+ BankAccountCollection.prototype.getActiveBankAccounts = function () {
3516
+ return new BankAccountCollection(this.items.filter(function (bankAccount) {
3517
+ return bankAccount.isActive();
3518
+ }));
3519
+ };
3520
+ /**
3521
+ * get reduction of loan (reduction of principle) percentage
3522
+ */
3523
+ BankAccountCollection.prototype.getPrincipleReductionPercent = function () {
3524
+ var initialLoans = this.getInitialLoanAmount();
3525
+ var currentLoans = this.getCurrentLoanAmount();
3526
+ if (!initialLoans) {
3527
+ return 0;
3528
+ }
3529
+ return (initialLoans - currentLoans) / initialLoans * 100;
3530
+ };
3531
+ /**
3532
+ * Get collection of loan bank accounts
3533
+ */
3534
+ BankAccountCollection.prototype.getLoanAccounts = function () {
3535
+ return new BankAccountCollection(this.getByType(TYPE_LOAN));
3536
+ };
3537
+ BankAccountCollection.prototype.getSavingsAccounts = function () {
3538
+ return new BankAccountCollection(this.getByType(TYPE_LOAN, true));
3539
+ };
3540
+ BankAccountCollection.prototype.getOpeningBalance = function () {
3541
+ return this.items.reduce(function (sum, bankAccount) { return sum + bankAccount.getOpeningBalance(); }, 0);
3542
+ };
3543
+ Object.defineProperty(BankAccountCollection.prototype, "currentBalance", {
3544
+ get: function () {
3545
+ return this.sumBy('currentBalance');
3546
+ },
3547
+ enumerable: false,
3548
+ configurable: true
3549
+ });
3550
+ /**
3551
+ * Get Collection of bank accounts with property tank type
3552
+ */
3553
+ BankAccountCollection.prototype.getPropertyBankAccounts = function () {
3554
+ return new BankAccountCollection(this.items.filter(function (bankAccount) { return bankAccount.isPropertyTank(); }));
3555
+ };
3556
+ /**
3557
+ * Get Collection of bank accounts with work tank type
3558
+ */
3559
+ BankAccountCollection.prototype.getWorkBankAccounts = function () {
3560
+ return new BankAccountCollection(this.items.filter(function (bankAccount) { return bankAccount.isWorkTank(); }));
3561
+ };
3562
+ /**
3563
+ * Get Collection of bank accounts by tank type
3564
+ */
3565
+ BankAccountCollection.prototype.getByTankType = function (tankType) {
3566
+ return new BankAccountCollection(this.items.filter(function (bankAccount) { return bankAccount.tankType === tankType; }));
3567
+ };
3568
+ /**
3569
+ * Get list of all bank account properties
3570
+ */
3571
+ BankAccountCollection.prototype.getBankAccountPropertiesList = function () {
3572
+ return flatten__default["default"](this.items.map(function (bankAccount) {
3573
+ return bankAccount.bankAccountProperties;
3574
+ }));
3575
+ };
3576
+ /**
3577
+ * Get lis of unique properties from all bank accounts properties
3578
+ */
3579
+ BankAccountCollection.prototype.getProperties = function () {
3580
+ return uniqBy__default["default"](this.getBankAccountPropertiesList().map(function (bankAccountProperty) {
3581
+ return bankAccountProperty.property;
3582
+ }), 'id');
3583
+ };
3584
+ BankAccountCollection.prototype.getPropertyBalanceAmount = function (propertyId) {
3585
+ return this.items.reduce(function (sum, bankAccount) {
3586
+ return sum + bankAccount.getPropertyBalanceAmount(propertyId);
3587
+ }, 0);
3588
+ };
3589
+ return BankAccountCollection;
3590
+ }(Collection));
3431
3591
 
3432
3592
  /**
3433
3593
  * BankConnection means user account at specific bank (usually each user has only one at the same bank)
@@ -3443,16 +3603,26 @@
3443
3603
  }
3444
3604
  BankConnectionService.prototype.listenEvents = function () {
3445
3605
  this.listenToAddedBankAccounts();
3446
- this.listenBasiqJobCreated();
3447
- this.listenConnectionUpdated();
3448
3606
  this.listenNotifications();
3449
3607
  };
3450
3608
  BankConnectionService.prototype.add = function (bankConnection) {
3451
3609
  var _this = this;
3452
3610
  return this.http.post(this.environment.apiV2 + "/" + this.url, bankConnection)
3453
3611
  .pipe(operators.map(function (bankConnectionBase) {
3454
- _this.eventDispatcherService.dispatch(new AppEvent(exports.AppEventTypeEnum.BANK_CONNECTION_ADDED, null));
3455
- return classTransformer.plainToClass(BankConnection, bankConnectionBase);
3612
+ var connection = classTransformer.plainToClass(BankConnection, bankConnectionBase);
3613
+ // We use this endpoint for create and reconnect bank connections because of basiq logic.
3614
+ // So we try to replace bank connection in cache for reconnection case.
3615
+ if (bankConnection.id) {
3616
+ var tempCache = cloneDeep__default["default"](_this.cache);
3617
+ replace(tempCache, connection);
3618
+ _this.cache = cloneDeep__default["default"](tempCache);
3619
+ _this.cacheSubject.next(tempCache);
3620
+ }
3621
+ else {
3622
+ _this.cache.push(connection);
3623
+ _this.cacheSubject.next(cloneDeep__default["default"](_this.cache));
3624
+ }
3625
+ return classTransformer.plainToClass(BankConnection, connection);
3456
3626
  }));
3457
3627
  };
3458
3628
  BankConnectionService.prototype.listenToAddedBankAccounts = function () {
@@ -3461,47 +3631,6 @@
3461
3631
  _this.resetCache();
3462
3632
  });
3463
3633
  };
3464
- /**
3465
- * When user log in to bank, basiq create a job. We create a bank connection with based on this job
3466
- */
3467
- BankConnectionService.prototype.listenBasiqJobCreated = function () {
3468
- var _this = this;
3469
- this.eventDispatcherService.on(exports.AppEventTypeEnum.BASIQ_JOB_CREATED).subscribe(function (result) {
3470
- // push connection to cache temporary to show it to user directly with pending status and not wait until backend loaded
3471
- var tempCache = cloneDeep__default["default"](_this.cache);
3472
- result.connection.setPending();
3473
- tempCache.push(result.connection);
3474
- _this.cache = tempCache;
3475
- _this.cacheSubject.next(tempCache);
3476
- _this.add(classTransformer.plainToClass(BankConnection, { basiqJob: { externalId: result.jobId } })).subscribe(function (newConnection) {
3477
- // replace temporary connection with real saved connection
3478
- // no replace() because connection does not have id yet
3479
- tempCache.splice(-1, 1, newConnection);
3480
- _this.cache = cloneDeep__default["default"](tempCache);
3481
- _this.cacheSubject.next(tempCache);
3482
- });
3483
- });
3484
- };
3485
- /**
3486
- * When basiq connection disconnected we create a basiq job and update this connection
3487
- */
3488
- BankConnectionService.prototype.listenConnectionUpdated = function () {
3489
- var _this = this;
3490
- this.eventDispatcherService.on(exports.AppEventTypeEnum.BASIQ_CONNECTION_UPDATED).subscribe(function (result) {
3491
- // replace connection to cache temporary to show pending status until backend loaded
3492
- var tempCache = cloneDeep__default["default"](_this.cache);
3493
- result.connection.setPending();
3494
- replace(tempCache, result.connection);
3495
- _this.cache = tempCache;
3496
- _this.cacheSubject.next(tempCache);
3497
- _this.add(classTransformer.plainToClass(BankConnection, { basiqJob: { externalId: result.jobId } })).subscribe(function (updatedConnection) {
3498
- // replace temporary connection again with real updated connection
3499
- replace(tempCache, updatedConnection);
3500
- _this.cache = cloneDeep__default["default"](tempCache);
3501
- _this.cacheSubject.next(tempCache);
3502
- });
3503
- });
3504
- };
3505
3634
  /**
3506
3635
  * Update cache when basiq login failed to get actual connections statuses
3507
3636
  */
@@ -3515,9 +3644,9 @@
3515
3644
  };
3516
3645
  return BankConnectionService;
3517
3646
  }(RestService));
3518
- BankConnectionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankConnectionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
3519
- BankConnectionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankConnectionService, providedIn: 'root' });
3520
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankConnectionService, decorators: [{
3647
+ BankConnectionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankConnectionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
3648
+ BankConnectionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankConnectionService, providedIn: 'root' });
3649
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankConnectionService, decorators: [{
3521
3650
  type: i0.Injectable,
3522
3651
  args: [{
3523
3652
  providedIn: 'root'
@@ -3530,9 +3659,7 @@
3530
3659
  */
3531
3660
  var BasiqService = /** @class */ (function (_super) {
3532
3661
  __extends(BasiqService, _super);
3533
- function BasiqService(http, eventDispatcherService, environment, toastService,
3534
- // init BankConnectionService to listen events
3535
- bankConnectionService) {
3662
+ function BasiqService(http, eventDispatcherService, environment, toastService, bankConnectionService) {
3536
3663
  var _this = _super.call(this, http, eventDispatcherService, environment, toastService) || this;
3537
3664
  _this.http = http;
3538
3665
  _this.eventDispatcherService = eventDispatcherService;
@@ -3550,23 +3677,60 @@
3550
3677
  this.listenNotifications();
3551
3678
  };
3552
3679
  /**
3553
- * Create Basiq job for the new bank connection creation
3680
+ * Create a new Bank connection based on Basiq job.
3681
+ * Here we have nested requests because we need to get a job id before we create a bank connection.
3682
+ * There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
3683
+ * we interact with basiq service.
3554
3684
  */
3555
- BasiqService.prototype.createConnection = function (data, userId, connection) {
3685
+ BasiqService.prototype.createConnection = function (loginData, userId) {
3556
3686
  var _this = this;
3557
- return this.http.post(BasiqService.basiqApiUrl + "/users/" + userId + "/connections", data).pipe(operators.map(function (response) {
3558
- _this.eventDispatcherService.dispatch(new AppEvent(exports.AppEventTypeEnum.BASIQ_JOB_CREATED, { jobId: response.id, connection: connection }));
3559
- return response.id;
3687
+ // Send login data to basiq API to create a basiq job
3688
+ return this.http.post(BasiqService.basiqApiUrl + "/users/" + userId + "/connections", loginData)
3689
+ .pipe(operators.mergeMap(function (response) {
3690
+ // Create bank connection based on basiq job
3691
+ return _this.bankConnectionService.add(classTransformer.plainToClass(BankConnection, { basiqJob: { externalId: response.id } }));
3692
+ }), operators.catchError(function (error) {
3693
+ // Show error when user provided wrong login data
3694
+ if (error.status === 401) {
3695
+ _this.toastService.error('Invalid credentials');
3696
+ }
3697
+ return throwError.throwError(error);
3560
3698
  }));
3561
3699
  };
3562
3700
  /**
3563
3701
  * Update disconnected bank connection
3702
+ * Here we have nested requests because we need to get a job id before we create a bank connection.
3703
+ * There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
3704
+ * we interact with basiq service.
3564
3705
  */
3565
3706
  BasiqService.prototype.updateConnection = function (data, userId, connection) {
3566
3707
  var _this = this;
3567
- return this.http.post(BasiqService.basiqApiUrl + "/users/" + userId + "/connections", Object.assign(data, { id: connection.externalId })).pipe(operators.map(function (response) {
3568
- _this.eventDispatcherService.dispatch(new AppEvent(exports.AppEventTypeEnum.BASIQ_CONNECTION_UPDATED, { jobId: response.id, connection: connection }));
3569
- return response.id;
3708
+ // Send login data to basiq API to create a basiq job
3709
+ return this.http.post(BasiqService.basiqApiUrl + "/users/" + userId + "/connections", Object.assign(data, { id: connection.externalId }))
3710
+ .pipe(
3711
+ // Create bank connection based on basiq job
3712
+ operators.mergeMap(function (response) {
3713
+ return _this.bankConnectionService.add(classTransformer.plainToClass(BankConnection, Object.assign({ id: connection.id, basiqJob: { externalId: response.id } })));
3714
+ }), operators.catchError(function (error) {
3715
+ // Show error when user provided wrong login data
3716
+ if (error.status === 401) {
3717
+ _this.toastService.error('Invalid credentials');
3718
+ }
3719
+ // Show error when user provided another login (not login he used before)
3720
+ if (error.status === 400) {
3721
+ _this.toastService.error('Please enter the login you used before');
3722
+ }
3723
+ return throwError.throwError(error);
3724
+ }));
3725
+ };
3726
+ BasiqService.prototype.getByConnection = function (connection) {
3727
+ return this.get().pipe(operators.map(function (bankAccounts) {
3728
+ return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
3729
+ }));
3730
+ };
3731
+ BasiqService.prototype.getNotImportedByConnection = function (savedAccounts, connection) {
3732
+ return this.getByConnection(connection).pipe(operators.map(function (bankAccounts) {
3733
+ return bankAccounts.removeBy('accountId', savedAccounts.mapBy('accountId'));
3570
3734
  }));
3571
3735
  };
3572
3736
  /**
@@ -3583,9 +3747,9 @@
3583
3747
  return BasiqService;
3584
3748
  }(RestService));
3585
3749
  BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
3586
- BasiqService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: BankConnectionService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3587
- BasiqService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqService, providedIn: 'root' });
3588
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqService, decorators: [{
3750
+ BasiqService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: BankConnectionService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3751
+ BasiqService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqService, providedIn: 'root' });
3752
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqService, decorators: [{
3589
3753
  type: i0.Injectable,
3590
3754
  args: [{
3591
3755
  providedIn: 'root'
@@ -3637,9 +3801,9 @@
3637
3801
  };
3638
3802
  return BasiqTokenService;
3639
3803
  }());
3640
- BasiqTokenService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqTokenService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3641
- BasiqTokenService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqTokenService, providedIn: 'root' });
3642
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqTokenService, decorators: [{
3804
+ BasiqTokenService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqTokenService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3805
+ BasiqTokenService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqTokenService, providedIn: 'root' });
3806
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqTokenService, decorators: [{
3643
3807
  type: i0.Injectable,
3644
3808
  args: [{
3645
3809
  providedIn: 'root'
@@ -3677,9 +3841,9 @@
3677
3841
  };
3678
3842
  return BasiqInterceptor;
3679
3843
  }());
3680
- BasiqInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqInterceptor, deps: [{ token: BasiqTokenService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3681
- BasiqInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqInterceptor });
3682
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BasiqInterceptor, decorators: [{
3844
+ BasiqInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqInterceptor, deps: [{ token: BasiqTokenService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
3845
+ BasiqInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqInterceptor });
3846
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BasiqInterceptor, decorators: [{
3683
3847
  type: i0.Injectable
3684
3848
  }], ctorParameters: function () { return [{ type: BasiqTokenService }]; } });
3685
3849
 
@@ -3688,9 +3852,9 @@
3688
3852
  }
3689
3853
  return InterceptorsModule;
3690
3854
  }());
3691
- InterceptorsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InterceptorsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3692
- InterceptorsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InterceptorsModule });
3693
- InterceptorsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InterceptorsModule, providers: [
3855
+ InterceptorsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: InterceptorsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3856
+ InterceptorsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: InterceptorsModule });
3857
+ InterceptorsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: InterceptorsModule, providers: [
3694
3858
  {
3695
3859
  provide: i1.HTTP_INTERCEPTORS,
3696
3860
  useClass: CorelogicInterceptor,
@@ -3723,7 +3887,7 @@
3723
3887
  multi: true
3724
3888
  }
3725
3889
  ] });
3726
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: InterceptorsModule, decorators: [{
3890
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: InterceptorsModule, decorators: [{
3727
3891
  type: i0.NgModule,
3728
3892
  args: [{
3729
3893
  providers: [
@@ -3734,243 +3898,80 @@
3734
3898
  },
3735
3899
  // @TODO move to user module
3736
3900
  {
3737
- provide: i1.HTTP_INTERCEPTORS,
3738
- useClass: FinancialYearInterceptor,
3739
- multi: true
3740
- },
3741
- {
3742
- provide: i1.HTTP_INTERCEPTORS,
3743
- useClass: JwtInterceptor,
3744
- multi: true
3745
- },
3746
- {
3747
- provide: i1.HTTP_INTERCEPTORS,
3748
- useClass: UserSwitcherInterceptor,
3749
- multi: true
3750
- },
3751
- {
3752
- provide: i1.HTTP_INTERCEPTORS,
3753
- useClass: PreloaderInterceptor,
3754
- multi: true
3755
- },
3756
- {
3757
- provide: i1.HTTP_INTERCEPTORS,
3758
- useClass: BasiqInterceptor,
3759
- multi: true
3760
- }
3761
- ]
3762
- }]
3763
- }] });
3764
-
3765
- var TtCoreModule = /** @class */ (function () {
3766
- function TtCoreModule() {
3767
- }
3768
- TtCoreModule.forRoot = function (environment) {
3769
- localStorage.setItem('api_uri', environment['api_uri']);
3770
- return {
3771
- ngModule: TtCoreModule,
3772
- providers: [
3773
- {
3774
- provide: 'environment',
3775
- useValue: environment
3776
- }
3777
- ]
3778
- };
3779
- };
3780
- return TtCoreModule;
3781
- }());
3782
- TtCoreModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TtCoreModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3783
- TtCoreModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TtCoreModule, imports: [i1$1.CommonModule,
3784
- InterceptorsModule] });
3785
- TtCoreModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TtCoreModule, imports: [[
3786
- i1$1.CommonModule,
3787
- InterceptorsModule
3788
- ]] });
3789
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TtCoreModule, decorators: [{
3790
- type: i0.NgModule,
3791
- args: [{
3792
- declarations: [],
3793
- imports: [
3794
- i1$1.CommonModule,
3795
- InterceptorsModule
3796
- ]
3797
- }]
3798
- }] });
3799
-
3800
- var AccountSetupItemCollection = /** @class */ (function (_super) {
3801
- __extends(AccountSetupItemCollection, _super);
3802
- function AccountSetupItemCollection(items) {
3803
- var _this = _super.call(this, compact__default["default"](items)) || this;
3804
- _this.sortBy('isCompleted', false);
3805
- return _this;
3806
- }
3807
- AccountSetupItemCollection.prototype.isCompleted = function () {
3808
- return this.filterBy('isCompleted', true).length === this.length;
3809
- };
3810
- return AccountSetupItemCollection;
3811
- }(Collection));
3812
-
3813
- var BankCollection = /** @class */ (function (_super) {
3814
- __extends(BankCollection, _super);
3815
- function BankCollection(banks) {
3816
- var _this = _super.call(this, banks) || this;
3817
- _this.sortByPopularity();
3818
- return _this;
3819
- }
3820
- BankCollection.prototype.sortByPopularity = function () {
3821
- this.items.sort(function (bank1, bank2) {
3822
- // Banks already sorted on backend by name, so we just need to up top-10 banks
3823
- return (BankCollection.tobBanksIds.includes(bank1.id) && !BankCollection.tobBanksIds.includes(bank2.id)) ? -1 : 1;
3824
- });
3825
- };
3826
- return BankCollection;
3827
- }(Collection));
3828
- BankCollection.tobBanksIds = [124, 13, 134, 172, 126, 142, 135, 137, 138, 128];
3829
-
3830
- var TYPE_LOAN = [
3831
- exports.BankAccountTypeEnum.MORTGAGE,
3832
- exports.BankAccountTypeEnum.CREDIT_CARD,
3833
- exports.BankAccountTypeEnum.LOAN
3834
- ];
3835
-
3836
- /**
3837
- * Collection of bank accounts.
3838
- */
3839
- var BankAccountCollection = /** @class */ (function (_super) {
3840
- __extends(BankAccountCollection, _super);
3841
- function BankAccountCollection() {
3842
- return _super !== null && _super.apply(this, arguments) || this;
3843
- }
3844
- /**
3845
- * get list of bank accounts with passed types
3846
- */
3847
- BankAccountCollection.prototype.getByType = function (types, isExclude) {
3848
- if (isExclude === void 0) { isExclude = false; }
3849
- // get types always as array (if only one passed)
3850
- var typesArray = concat__default["default"](types);
3851
- return this.items.filter(function (bankAccount) {
3852
- if (isExclude) {
3853
- return !typesArray.includes(bankAccount.type);
3854
- }
3855
- return typesArray.includes(bankAccount.type);
3856
- });
3857
- };
3858
- /**
3859
- * get amount of initial loans
3860
- */
3861
- BankAccountCollection.prototype.getInitialLoanAmount = function () {
3862
- return this.getByType(TYPE_LOAN)
3863
- .reduce(function (sum, bankAccount) {
3864
- return sum += bankAccount.balances.length ? bankAccount.getOpeningBalance() : 0;
3865
- }, 0);
3866
- };
3867
- /**
3868
- * get amount of current loans
3869
- */
3870
- BankAccountCollection.prototype.getCurrentLoanAmount = function () {
3871
- return this.getByType(TYPE_LOAN)
3872
- .reduce(function (sum, bankAccount) {
3873
- return sum += bankAccount.currentBalance;
3874
- }, 0);
3875
- };
3876
- /**
3877
- * get collection filtered by property id
3878
- */
3879
- BankAccountCollection.prototype.getByPropertyId = function (id) {
3880
- return new BankAccountCollection(this.items.filter(function (bankAccount) {
3881
- return bankAccount.bankAccountProperties.find(function (bankAccountProperty) {
3882
- return bankAccountProperty.property.id === id;
3883
- });
3884
- }));
3885
- };
3886
- /**
3887
- * get collection filtered by properties ids
3888
- */
3889
- BankAccountCollection.prototype.getByPropertiesIds = function (ids) {
3890
- return new BankAccountCollection(this.items.filter(function (bankAccount) {
3891
- return bankAccount.bankAccountProperties.find(function (bankAccountProperty) {
3892
- return ids.includes(bankAccountProperty.property.id);
3893
- });
3894
- }));
3895
- };
3896
- /**
3897
- * get collection of active bank accounts
3898
- */
3899
- BankAccountCollection.prototype.getActiveBankAccounts = function () {
3900
- return new BankAccountCollection(this.items.filter(function (bankAccount) {
3901
- return bankAccount.isActive();
3902
- }));
3903
- };
3904
- /**
3905
- * get reduction of loan (reduction of principle) percentage
3906
- */
3907
- BankAccountCollection.prototype.getPrincipleReductionPercent = function () {
3908
- var initialLoans = this.getInitialLoanAmount();
3909
- var currentLoans = this.getCurrentLoanAmount();
3910
- if (!initialLoans) {
3911
- return 0;
3912
- }
3913
- return (initialLoans - currentLoans) / initialLoans * 100;
3914
- };
3915
- /**
3916
- * Get collection of loan bank accounts
3917
- */
3918
- BankAccountCollection.prototype.getLoanAccounts = function () {
3919
- return new BankAccountCollection(this.getByType(TYPE_LOAN));
3920
- };
3921
- BankAccountCollection.prototype.getSavingsAccounts = function () {
3922
- return new BankAccountCollection(this.getByType(TYPE_LOAN, true));
3923
- };
3924
- BankAccountCollection.prototype.getOpeningBalance = function () {
3925
- return this.items.reduce(function (sum, bankAccount) { return sum + bankAccount.getOpeningBalance(); }, 0);
3926
- };
3927
- Object.defineProperty(BankAccountCollection.prototype, "currentBalance", {
3928
- get: function () {
3929
- return this.sumBy('currentBalance');
3930
- },
3931
- enumerable: false,
3932
- configurable: true
3933
- });
3934
- /**
3935
- * Get Collection of bank accounts with property tank type
3936
- */
3937
- BankAccountCollection.prototype.getPropertyBankAccounts = function () {
3938
- return new BankAccountCollection(this.items.filter(function (bankAccount) { return bankAccount.isPropertyTank(); }));
3939
- };
3940
- /**
3941
- * Get Collection of bank accounts with work tank type
3942
- */
3943
- BankAccountCollection.prototype.getWorkBankAccounts = function () {
3944
- return new BankAccountCollection(this.items.filter(function (bankAccount) { return bankAccount.isWorkTank(); }));
3945
- };
3946
- /**
3947
- * Get Collection of bank accounts by tank type
3948
- */
3949
- BankAccountCollection.prototype.getByTankType = function (tankType) {
3950
- return new BankAccountCollection(this.items.filter(function (bankAccount) { return bankAccount.tankType === tankType; }));
3951
- };
3952
- /**
3953
- * Get list of all bank account properties
3954
- */
3955
- BankAccountCollection.prototype.getBankAccountPropertiesList = function () {
3956
- return flatten__default["default"](this.items.map(function (bankAccount) {
3957
- return bankAccount.bankAccountProperties;
3958
- }));
3959
- };
3960
- /**
3961
- * Get lis of unique properties from all bank accounts properties
3962
- */
3963
- BankAccountCollection.prototype.getProperties = function () {
3964
- return uniqBy__default["default"](this.getBankAccountPropertiesList().map(function (bankAccountProperty) {
3965
- return bankAccountProperty.property;
3966
- }), 'id');
3901
+ provide: i1.HTTP_INTERCEPTORS,
3902
+ useClass: FinancialYearInterceptor,
3903
+ multi: true
3904
+ },
3905
+ {
3906
+ provide: i1.HTTP_INTERCEPTORS,
3907
+ useClass: JwtInterceptor,
3908
+ multi: true
3909
+ },
3910
+ {
3911
+ provide: i1.HTTP_INTERCEPTORS,
3912
+ useClass: UserSwitcherInterceptor,
3913
+ multi: true
3914
+ },
3915
+ {
3916
+ provide: i1.HTTP_INTERCEPTORS,
3917
+ useClass: PreloaderInterceptor,
3918
+ multi: true
3919
+ },
3920
+ {
3921
+ provide: i1.HTTP_INTERCEPTORS,
3922
+ useClass: BasiqInterceptor,
3923
+ multi: true
3924
+ }
3925
+ ]
3926
+ }]
3927
+ }] });
3928
+
3929
+ var TtCoreModule = /** @class */ (function () {
3930
+ function TtCoreModule() {
3931
+ }
3932
+ TtCoreModule.forRoot = function (environment) {
3933
+ localStorage.setItem('api_uri', environment['api_uri']);
3934
+ return {
3935
+ ngModule: TtCoreModule,
3936
+ providers: [
3937
+ {
3938
+ provide: 'environment',
3939
+ useValue: environment
3940
+ }
3941
+ ]
3942
+ };
3967
3943
  };
3968
- BankAccountCollection.prototype.getPropertyBalanceAmount = function (propertyId) {
3969
- return this.items.reduce(function (sum, bankAccount) {
3970
- return sum + bankAccount.getPropertyBalanceAmount(propertyId);
3971
- }, 0);
3944
+ return TtCoreModule;
3945
+ }());
3946
+ TtCoreModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TtCoreModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3947
+ TtCoreModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TtCoreModule, imports: [i1$1.CommonModule,
3948
+ InterceptorsModule] });
3949
+ TtCoreModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TtCoreModule, imports: [[
3950
+ i1$1.CommonModule,
3951
+ InterceptorsModule
3952
+ ]] });
3953
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TtCoreModule, decorators: [{
3954
+ type: i0.NgModule,
3955
+ args: [{
3956
+ declarations: [],
3957
+ imports: [
3958
+ i1$1.CommonModule,
3959
+ InterceptorsModule
3960
+ ]
3961
+ }]
3962
+ }] });
3963
+
3964
+ var AccountSetupItemCollection = /** @class */ (function (_super) {
3965
+ __extends(AccountSetupItemCollection, _super);
3966
+ function AccountSetupItemCollection(items) {
3967
+ var _this = _super.call(this, compact__default["default"](items)) || this;
3968
+ _this.sortBy('isCompleted', false);
3969
+ return _this;
3970
+ }
3971
+ AccountSetupItemCollection.prototype.isCompleted = function () {
3972
+ return this.filterBy('isCompleted', true).length === this.length;
3972
3973
  };
3973
- return BankAccountCollection;
3974
+ return AccountSetupItemCollection;
3974
3975
  }(Collection));
3975
3976
 
3976
3977
  exports.TransactionOperationEnum = void 0;
@@ -4909,13 +4910,32 @@
4909
4910
  * Get property with the lowest tax position
4910
4911
  */
4911
4912
  PropertyCollection.prototype.getBestPerformanceTaxProperty = function (transactions, depreciations) {
4913
+ var transactionsByProperty = transactions.groupBy('property.id');
4914
+ var depreciationsByProperty = depreciations.groupBy('property.id');
4912
4915
  return this.items.reduce(function (min, current) {
4913
- return min.getTaxPosition(transactions.filterBy('property.id', min.id), depreciations.filterBy('property.id', min.id))
4914
- > current.getTaxPosition(transactions.filterBy('property.id', current.id), depreciations.filterBy('property.id', current.id))
4915
- ? current
4916
- : min;
4916
+ var minTaxPosition = min.getTaxPosition(transactionsByProperty.get(min.id), depreciationsByProperty.get(min.id));
4917
+ var currentTaxPosition = current.getTaxPosition(transactionsByProperty.get(current.id), depreciationsByProperty.get(current.id));
4918
+ return minTaxPosition > currentTaxPosition ? current : min;
4917
4919
  }, this.first);
4918
4920
  };
4921
+ /**
4922
+ * Show best performance properties first
4923
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677997/Property+Tank+Dashboard
4924
+ */
4925
+ PropertyCollection.prototype.sortByBestPerformance = function (transactions, depreciations) {
4926
+ var activeProperties = this.getActiveProperties();
4927
+ // nothing to sort when no active properties
4928
+ if (!activeProperties.length) {
4929
+ return this;
4930
+ }
4931
+ var bestProperties = uniqBy__default["default"](this.create([
4932
+ activeProperties.getBestPerformanceGrowthProperty(),
4933
+ activeProperties.getBestPerformanceTaxProperty(transactions, depreciations)
4934
+ ]).toArray(), 'id');
4935
+ var newItems = this.remove(bestProperties).toArray();
4936
+ newItems.unshift.apply(newItems, __spreadArray([], __read(bestProperties)));
4937
+ return this.create(newItems);
4938
+ };
4919
4939
  return PropertyCollection;
4920
4940
  }(Collection));
4921
4941
 
@@ -7515,6 +7535,29 @@
7515
7535
  return AccountSetupItem;
7516
7536
  }(AbstractModel));
7517
7537
 
7538
+ exports.BadgeColorEnum = void 0;
7539
+ (function (BadgeColorEnum) {
7540
+ BadgeColorEnum["DEFAULT"] = "default";
7541
+ BadgeColorEnum["GREEN"] = "green";
7542
+ BadgeColorEnum["GOLD"] = "gold";
7543
+ BadgeColorEnum["GRAY"] = "gray";
7544
+ })(exports.BadgeColorEnum || (exports.BadgeColorEnum = {}));
7545
+
7546
+ /**
7547
+ * Class for UI element badge
7548
+ */
7549
+ var Badge = /** @class */ (function (_super) {
7550
+ __extends(Badge, _super);
7551
+ function Badge(text, color) {
7552
+ var _this = _super.call(this) || this;
7553
+ _this.text = '';
7554
+ _this.text = text;
7555
+ _this.color = color || exports.BadgeColorEnum.DEFAULT;
7556
+ return _this;
7557
+ }
7558
+ return Badge;
7559
+ }(AbstractModel));
7560
+
7518
7561
  /**
7519
7562
  * bank account collection UI class with frontend specific data
7520
7563
  */
@@ -8223,6 +8266,42 @@
8223
8266
  AlphabetColorsEnum["Z"] = "#E3C9CE";
8224
8267
  })(exports.AlphabetColorsEnum || (exports.AlphabetColorsEnum = {}));
8225
8268
 
8269
+ /**
8270
+ * List of objects grouped by passed property
8271
+ */
8272
+ var Dictionary = /** @class */ (function () {
8273
+ function Dictionary(items, path) {
8274
+ if (path === void 0) { path = 'id'; }
8275
+ this.items = {};
8276
+ if (!items.length) {
8277
+ return;
8278
+ }
8279
+ // Do nothing if provided path was not found in the 1st item
8280
+ if (!hasIn__default["default"](items[0], path.split('.')[0])) {
8281
+ return;
8282
+ }
8283
+ this.groupItems(items, path);
8284
+ }
8285
+ Dictionary.prototype.add = function (key, value) {
8286
+ this.items[key] = value;
8287
+ };
8288
+ Dictionary.prototype.get = function (key) {
8289
+ return this.items[key] ? this.items[key] : null;
8290
+ };
8291
+ Dictionary.prototype.groupItems = function (items, path) {
8292
+ var _this = this;
8293
+ items.forEach(function (item) {
8294
+ var key = get__default["default"](item, path);
8295
+ // if object does not have property for grouping it will be grouped as 'other'
8296
+ if (key === undefined) {
8297
+ key = 'other';
8298
+ }
8299
+ _this.items[key] = item;
8300
+ });
8301
+ };
8302
+ return Dictionary;
8303
+ }());
8304
+
8226
8305
  exports.DepreciationGroupEnum = void 0;
8227
8306
  (function (DepreciationGroupEnum) {
8228
8307
  DepreciationGroupEnum[DepreciationGroupEnum["BUILDING_IMPROVEMENTS"] = 0] = "BUILDING_IMPROVEMENTS";
@@ -8416,6 +8495,17 @@
8416
8495
  classTransformer.Type(function () { return User; })
8417
8496
  ], EmployeeInvite.prototype, "employee", void 0);
8418
8497
 
8498
+ /**
8499
+ * any event happened in the app, which needs to be handled somehow (distributed to other part of the app)
8500
+ */
8501
+ var AppEvent = /** @class */ (function () {
8502
+ function AppEvent(type, payload) {
8503
+ this.type = type;
8504
+ this.payload = payload;
8505
+ }
8506
+ return AppEvent;
8507
+ }());
8508
+
8419
8509
  exports.ExportFormatEnum = void 0;
8420
8510
  (function (ExportFormatEnum) {
8421
8511
  ExportFormatEnum["PDF"] = "PDF";
@@ -10154,9 +10244,9 @@
10154
10244
  };
10155
10245
  return ClientIncomeTypesService;
10156
10246
  }());
10157
- ClientIncomeTypesService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientIncomeTypesService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
10158
- ClientIncomeTypesService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientIncomeTypesService, providedIn: 'root' });
10159
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientIncomeTypesService, decorators: [{
10247
+ ClientIncomeTypesService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientIncomeTypesService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
10248
+ ClientIncomeTypesService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientIncomeTypesService, providedIn: 'root' });
10249
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientIncomeTypesService, decorators: [{
10160
10250
  type: i0.Injectable,
10161
10251
  args: [{
10162
10252
  providedIn: 'root'
@@ -10268,9 +10358,9 @@
10268
10358
  };
10269
10359
  return PropertyService;
10270
10360
  }(RestService));
10271
- PropertyService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10272
- PropertyService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyService, providedIn: 'root' });
10273
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyService, decorators: [{
10361
+ PropertyService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10362
+ PropertyService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyService, providedIn: 'root' });
10363
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyService, decorators: [{
10274
10364
  type: i0.Injectable,
10275
10365
  args: [{
10276
10366
  providedIn: 'root'
@@ -10365,9 +10455,9 @@
10365
10455
  };
10366
10456
  return IncomeSourceService;
10367
10457
  }(RestService));
10368
- IncomeSourceService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IncomeSourceService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10369
- IncomeSourceService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IncomeSourceService, providedIn: 'root' });
10370
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IncomeSourceService, decorators: [{
10458
+ IncomeSourceService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IncomeSourceService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10459
+ IncomeSourceService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IncomeSourceService, providedIn: 'root' });
10460
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IncomeSourceService, decorators: [{
10371
10461
  type: i0.Injectable,
10372
10462
  args: [{
10373
10463
  providedIn: 'root'
@@ -10455,6 +10545,11 @@
10455
10545
  return bankAccounts.filter(function (bankAccount) { return bankAccount.isOwner(+localStorage.getItem('userId')); });
10456
10546
  }));
10457
10547
  };
10548
+ BankAccountService.prototype.getByConnection = function (connection) {
10549
+ return this.get().pipe(operators.map(function (bankAccounts) {
10550
+ return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
10551
+ }));
10552
+ };
10458
10553
  /**
10459
10554
  * Listen to EventDispatcherService events
10460
10555
  */
@@ -10470,9 +10565,9 @@
10470
10565
  };
10471
10566
  return BankAccountService;
10472
10567
  }(RestService));
10473
- BankAccountService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankAccountService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10474
- BankAccountService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankAccountService, providedIn: 'root' });
10475
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankAccountService, decorators: [{
10568
+ BankAccountService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankAccountService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10569
+ BankAccountService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankAccountService, providedIn: 'root' });
10570
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankAccountService, decorators: [{
10476
10571
  type: i0.Injectable,
10477
10572
  args: [{
10478
10573
  providedIn: 'root'
@@ -10552,9 +10647,9 @@
10552
10647
  };
10553
10648
  return TransactionAllocationService;
10554
10649
  }(RestService));
10555
- TransactionAllocationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionAllocationService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10556
- TransactionAllocationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionAllocationService, providedIn: 'root' });
10557
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionAllocationService, decorators: [{
10650
+ TransactionAllocationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionAllocationService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10651
+ TransactionAllocationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionAllocationService, providedIn: 'root' });
10652
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionAllocationService, decorators: [{
10558
10653
  type: i0.Injectable,
10559
10654
  args: [{
10560
10655
  providedIn: 'root'
@@ -10587,9 +10682,9 @@
10587
10682
  }
10588
10683
  return VehicleClaimService;
10589
10684
  }(RestService));
10590
- VehicleClaimService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleClaimService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10591
- VehicleClaimService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleClaimService, providedIn: 'root' });
10592
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleClaimService, decorators: [{
10685
+ VehicleClaimService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleClaimService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10686
+ VehicleClaimService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleClaimService, providedIn: 'root' });
10687
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleClaimService, decorators: [{
10593
10688
  type: i0.Injectable,
10594
10689
  args: [{
10595
10690
  providedIn: 'root'
@@ -10924,9 +11019,9 @@
10924
11019
  };
10925
11020
  return TransactionService;
10926
11021
  }(RestService));
10927
- TransactionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
10928
- TransactionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionService, providedIn: 'root' });
10929
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionService, decorators: [{
11022
+ TransactionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11023
+ TransactionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionService, providedIn: 'root' });
11024
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionService, decorators: [{
10930
11025
  type: i0.Injectable,
10931
11026
  args: [{
10932
11027
  providedIn: 'root'
@@ -11062,9 +11157,9 @@
11062
11157
  };
11063
11158
  return AccountSetupService;
11064
11159
  }());
11065
- AccountSetupService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11066
- AccountSetupService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AccountSetupService, providedIn: 'root' });
11067
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AccountSetupService, decorators: [{
11160
+ AccountSetupService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11161
+ AccountSetupService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AccountSetupService, providedIn: 'root' });
11162
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AccountSetupService, decorators: [{
11068
11163
  type: i0.Injectable,
11069
11164
  args: [{
11070
11165
  providedIn: 'root'
@@ -11093,9 +11188,9 @@
11093
11188
  };
11094
11189
  return AddressService;
11095
11190
  }());
11096
- AddressService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AddressService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11097
- AddressService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AddressService, providedIn: 'root' });
11098
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AddressService, decorators: [{
11191
+ AddressService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AddressService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11192
+ AddressService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AddressService, providedIn: 'root' });
11193
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AddressService, decorators: [{
11099
11194
  type: i0.Injectable,
11100
11195
  args: [{
11101
11196
  providedIn: 'root'
@@ -11143,9 +11238,9 @@
11143
11238
  };
11144
11239
  return AssetsService;
11145
11240
  }());
11146
- AssetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AssetsService, deps: [{ token: i1__namespace.HttpClient }, { token: UserSwitcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11147
- AssetsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AssetsService, providedIn: 'root' });
11148
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AssetsService, decorators: [{
11241
+ AssetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AssetsService, deps: [{ token: i1__namespace.HttpClient }, { token: UserSwitcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11242
+ AssetsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AssetsService, providedIn: 'root' });
11243
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: AssetsService, decorators: [{
11149
11244
  type: i0.Injectable,
11150
11245
  args: [{
11151
11246
  providedIn: 'root'
@@ -11169,11 +11264,17 @@
11169
11264
  _this.isHydra = true;
11170
11265
  return _this;
11171
11266
  }
11267
+ BankService.prototype.get = function () {
11268
+ return _super.prototype.get.call(this).pipe(operators.map(function (banks) {
11269
+ // exclude basiq banks without login fields (basiq may return broken banks without loginFields)
11270
+ return banks.filter(function (bank) { return !bank.externalId || (bank.externalId && bank.loginFields); });
11271
+ }));
11272
+ };
11172
11273
  return BankService;
11173
11274
  }(RestService));
11174
- BankService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11175
- BankService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankService, providedIn: 'root' });
11176
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankService, decorators: [{
11275
+ BankService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11276
+ BankService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankService, providedIn: 'root' });
11277
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankService, decorators: [{
11177
11278
  type: i0.Injectable,
11178
11279
  args: [{
11179
11280
  providedIn: 'root'
@@ -11238,9 +11339,9 @@
11238
11339
  };
11239
11340
  return BankTransactionCalculationService;
11240
11341
  }());
11241
- BankTransactionCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankTransactionCalculationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11242
- BankTransactionCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankTransactionCalculationService, providedIn: 'root' });
11243
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankTransactionCalculationService, decorators: [{
11342
+ BankTransactionCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankTransactionCalculationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11343
+ BankTransactionCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankTransactionCalculationService, providedIn: 'root' });
11344
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankTransactionCalculationService, decorators: [{
11244
11345
  type: i0.Injectable,
11245
11346
  args: [{
11246
11347
  providedIn: 'root'
@@ -11266,9 +11367,9 @@
11266
11367
  };
11267
11368
  return BankAccountCalculationService;
11268
11369
  }());
11269
- BankAccountCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11270
- BankAccountCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankAccountCalculationService, providedIn: 'root' });
11271
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankAccountCalculationService, decorators: [{
11370
+ BankAccountCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11371
+ BankAccountCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankAccountCalculationService, providedIn: 'root' });
11372
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankAccountCalculationService, decorators: [{
11272
11373
  type: i0.Injectable,
11273
11374
  args: [{
11274
11375
  providedIn: 'root'
@@ -11343,9 +11444,9 @@
11343
11444
  };
11344
11445
  return BankTransactionService;
11345
11446
  }(RestService));
11346
- BankTransactionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankTransactionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11347
- BankTransactionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankTransactionService, providedIn: 'root' });
11348
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BankTransactionService, decorators: [{
11447
+ BankTransactionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankTransactionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11448
+ BankTransactionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankTransactionService, providedIn: 'root' });
11449
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BankTransactionService, decorators: [{
11349
11450
  type: i0.Injectable,
11350
11451
  args: [{
11351
11452
  providedIn: 'root'
@@ -11407,9 +11508,9 @@
11407
11508
  };
11408
11509
  return BorrowingExpenseService;
11409
11510
  }());
11410
- BorrowingExpenseService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BorrowingExpenseService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11411
- BorrowingExpenseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BorrowingExpenseService, providedIn: 'root' });
11412
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: BorrowingExpenseService, decorators: [{
11511
+ BorrowingExpenseService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BorrowingExpenseService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11512
+ BorrowingExpenseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BorrowingExpenseService, providedIn: 'root' });
11513
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: BorrowingExpenseService, decorators: [{
11413
11514
  type: i0.Injectable,
11414
11515
  args: [{
11415
11516
  providedIn: 'root'
@@ -11492,9 +11593,9 @@
11492
11593
  };
11493
11594
  return ChartAccountsService;
11494
11595
  }());
11495
- ChartAccountsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChartAccountsService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11496
- ChartAccountsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChartAccountsService, providedIn: 'root' });
11497
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChartAccountsService, decorators: [{
11596
+ ChartAccountsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChartAccountsService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11597
+ ChartAccountsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChartAccountsService, providedIn: 'root' });
11598
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChartAccountsService, decorators: [{
11498
11599
  type: i0.Injectable,
11499
11600
  args: [{
11500
11601
  providedIn: 'root'
@@ -11532,9 +11633,9 @@
11532
11633
  };
11533
11634
  return ChartAccountsDepreciationService;
11534
11635
  }(RestService));
11535
- ChartAccountsDepreciationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChartAccountsDepreciationService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11536
- ChartAccountsDepreciationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChartAccountsDepreciationService, providedIn: 'root' });
11537
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChartAccountsDepreciationService, decorators: [{
11636
+ ChartAccountsDepreciationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChartAccountsDepreciationService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11637
+ ChartAccountsDepreciationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChartAccountsDepreciationService, providedIn: 'root' });
11638
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChartAccountsDepreciationService, decorators: [{
11538
11639
  type: i0.Injectable,
11539
11640
  args: [{
11540
11641
  providedIn: 'root'
@@ -11574,9 +11675,9 @@
11574
11675
  };
11575
11676
  return SseService;
11576
11677
  }());
11577
- SseService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SseService, deps: [{ token: i0__namespace.NgZone }, { token: JwtService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11578
- SseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SseService, providedIn: 'root' });
11579
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SseService, decorators: [{
11678
+ SseService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SseService, deps: [{ token: i0__namespace.NgZone }, { token: JwtService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11679
+ SseService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SseService, providedIn: 'root' });
11680
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SseService, decorators: [{
11580
11681
  type: i0.Injectable,
11581
11682
  args: [{
11582
11683
  providedIn: 'root'
@@ -11657,9 +11758,9 @@
11657
11758
  };
11658
11759
  return ChatService;
11659
11760
  }(RestService));
11660
- ChatService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChatService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11661
- ChatService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChatService, providedIn: 'root' });
11662
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ChatService, decorators: [{
11761
+ ChatService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChatService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11762
+ ChatService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChatService, providedIn: 'root' });
11763
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ChatService, decorators: [{
11663
11764
  type: i0.Injectable,
11664
11765
  args: [{
11665
11766
  providedIn: 'root'
@@ -11711,9 +11812,9 @@
11711
11812
  };
11712
11813
  return MessageService;
11713
11814
  }(RestService));
11714
- MessageService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11715
- MessageService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageService, providedIn: 'root' });
11716
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageService, decorators: [{
11815
+ MessageService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MessageService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11816
+ MessageService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MessageService, providedIn: 'root' });
11817
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MessageService, decorators: [{
11717
11818
  type: i0.Injectable,
11718
11819
  args: [{
11719
11820
  providedIn: 'root'
@@ -11827,9 +11928,9 @@
11827
11928
  };
11828
11929
  return MessageDocumentService;
11829
11930
  }());
11830
- MessageDocumentService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageDocumentService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11831
- MessageDocumentService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageDocumentService, providedIn: 'root' });
11832
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageDocumentService, decorators: [{
11931
+ MessageDocumentService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MessageDocumentService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
11932
+ MessageDocumentService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MessageDocumentService, providedIn: 'root' });
11933
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: MessageDocumentService, decorators: [{
11833
11934
  type: i0.Injectable,
11834
11935
  args: [{
11835
11936
  providedIn: 'root'
@@ -11931,9 +12032,9 @@
11931
12032
  };
11932
12033
  return ClientInviteService;
11933
12034
  }(RestService));
11934
- ClientInviteService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientInviteService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
11935
- ClientInviteService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientInviteService, providedIn: 'root' });
11936
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientInviteService, decorators: [{
12035
+ ClientInviteService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientInviteService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12036
+ ClientInviteService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientInviteService, providedIn: 'root' });
12037
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientInviteService, decorators: [{
11937
12038
  type: i0.Injectable,
11938
12039
  args: [{
11939
12040
  providedIn: 'root'
@@ -12017,9 +12118,9 @@
12017
12118
  };
12018
12119
  return ClientMovementService;
12019
12120
  }(RestService));
12020
- ClientMovementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientMovementService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12021
- ClientMovementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientMovementService, providedIn: 'root' });
12022
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientMovementService, decorators: [{
12121
+ ClientMovementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientMovementService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12122
+ ClientMovementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientMovementService, providedIn: 'root' });
12123
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientMovementService, decorators: [{
12023
12124
  type: i0.Injectable,
12024
12125
  args: [{
12025
12126
  providedIn: 'root'
@@ -12045,9 +12146,9 @@
12045
12146
  };
12046
12147
  return ClientPortfolioReportService;
12047
12148
  }());
12048
- ClientPortfolioReportService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientPortfolioReportService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12049
- ClientPortfolioReportService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientPortfolioReportService, providedIn: 'root' });
12050
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ClientPortfolioReportService, decorators: [{
12149
+ ClientPortfolioReportService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientPortfolioReportService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12150
+ ClientPortfolioReportService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientPortfolioReportService, providedIn: 'root' });
12151
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ClientPortfolioReportService, decorators: [{
12051
12152
  type: i0.Injectable,
12052
12153
  args: [{
12053
12154
  providedIn: 'root'
@@ -12106,9 +12207,9 @@
12106
12207
  };
12107
12208
  return DepreciationCapitalProjectService;
12108
12209
  }());
12109
- DepreciationCapitalProjectService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DepreciationCapitalProjectService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12110
- DepreciationCapitalProjectService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DepreciationCapitalProjectService, providedIn: 'root' });
12111
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DepreciationCapitalProjectService, decorators: [{
12210
+ DepreciationCapitalProjectService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DepreciationCapitalProjectService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12211
+ DepreciationCapitalProjectService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DepreciationCapitalProjectService, providedIn: 'root' });
12212
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DepreciationCapitalProjectService, decorators: [{
12112
12213
  type: i0.Injectable,
12113
12214
  args: [{
12114
12215
  providedIn: 'root'
@@ -12214,9 +12315,9 @@
12214
12315
  };
12215
12316
  return DepreciationService;
12216
12317
  }(RestService));
12217
- DepreciationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DepreciationService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12218
- DepreciationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DepreciationService, providedIn: 'root' });
12219
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DepreciationService, decorators: [{
12318
+ DepreciationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DepreciationService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12319
+ DepreciationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DepreciationService, providedIn: 'root' });
12320
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DepreciationService, decorators: [{
12220
12321
  type: i0.Injectable,
12221
12322
  args: [{
12222
12323
  providedIn: 'root'
@@ -12288,9 +12389,9 @@
12288
12389
  };
12289
12390
  return DocumentFolderService;
12290
12391
  }(RestService));
12291
- DocumentFolderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DocumentFolderService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12292
- DocumentFolderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DocumentFolderService, providedIn: 'root' });
12293
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: DocumentFolderService, decorators: [{
12392
+ DocumentFolderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocumentFolderService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12393
+ DocumentFolderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocumentFolderService, providedIn: 'root' });
12394
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: DocumentFolderService, decorators: [{
12294
12395
  type: i0.Injectable,
12295
12396
  args: [{
12296
12397
  providedIn: 'root'
@@ -12323,9 +12424,9 @@
12323
12424
  };
12324
12425
  return EmployeeService;
12325
12426
  }(RestService));
12326
- EmployeeService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmployeeService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12327
- EmployeeService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmployeeService, providedIn: 'root' });
12328
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmployeeService, decorators: [{
12427
+ EmployeeService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmployeeService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12428
+ EmployeeService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmployeeService, providedIn: 'root' });
12429
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmployeeService, decorators: [{
12329
12430
  type: i0.Injectable,
12330
12431
  args: [{
12331
12432
  providedIn: 'root'
@@ -12372,9 +12473,9 @@
12372
12473
  };
12373
12474
  return EmployeeInviteService;
12374
12475
  }(RestService));
12375
- EmployeeInviteService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmployeeInviteService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12376
- EmployeeInviteService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmployeeInviteService, providedIn: 'root' });
12377
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EmployeeInviteService, decorators: [{
12476
+ EmployeeInviteService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmployeeInviteService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12477
+ EmployeeInviteService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmployeeInviteService, providedIn: 'root' });
12478
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EmployeeInviteService, decorators: [{
12378
12479
  type: i0.Injectable,
12379
12480
  args: [{
12380
12481
  providedIn: 'root'
@@ -12445,9 +12546,9 @@
12445
12546
  };
12446
12547
  return FirmService;
12447
12548
  }());
12448
- FirmService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FirmService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12449
- FirmService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FirmService, providedIn: 'root' });
12450
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FirmService, decorators: [{
12549
+ FirmService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FirmService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12550
+ FirmService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FirmService, providedIn: 'root' });
12551
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FirmService, decorators: [{
12451
12552
  type: i0.Injectable,
12452
12553
  args: [{
12453
12554
  providedIn: 'root'
@@ -12479,9 +12580,9 @@
12479
12580
  };
12480
12581
  return ExportFormatterService;
12481
12582
  }());
12482
- ExportFormatterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ExportFormatterService, deps: [{ token: i1__namespace$1.CurrencyPipe }, { token: i1__namespace$1.DatePipe }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12483
- ExportFormatterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ExportFormatterService, providedIn: 'root' });
12484
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ExportFormatterService, decorators: [{
12583
+ ExportFormatterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ExportFormatterService, deps: [{ token: i1__namespace$1.CurrencyPipe }, { token: i1__namespace$1.DatePipe }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12584
+ ExportFormatterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ExportFormatterService, providedIn: 'root' });
12585
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ExportFormatterService, decorators: [{
12485
12586
  type: i0.Injectable,
12486
12587
  args: [{
12487
12588
  providedIn: 'root'
@@ -12504,9 +12605,9 @@
12504
12605
  };
12505
12606
  return HeaderTitleService;
12506
12607
  }());
12507
- HeaderTitleService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: HeaderTitleService, deps: [{ token: i1__namespace$2.Router }, { token: i1__namespace$2.ActivatedRoute }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12508
- HeaderTitleService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: HeaderTitleService, providedIn: 'root' });
12509
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: HeaderTitleService, decorators: [{
12608
+ HeaderTitleService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: HeaderTitleService, deps: [{ token: i1__namespace$2.Router }, { token: i1__namespace$2.ActivatedRoute }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12609
+ HeaderTitleService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: HeaderTitleService, providedIn: 'root' });
12610
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: HeaderTitleService, decorators: [{
12510
12611
  type: i0.Injectable,
12511
12612
  args: [{
12512
12613
  providedIn: 'root'
@@ -12581,9 +12682,9 @@
12581
12682
  };
12582
12683
  return IncomeSourceForecastService;
12583
12684
  }(RestService));
12584
- IncomeSourceForecastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IncomeSourceForecastService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12585
- IncomeSourceForecastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IncomeSourceForecastService, providedIn: 'root' });
12586
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IncomeSourceForecastService, decorators: [{
12685
+ IncomeSourceForecastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IncomeSourceForecastService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12686
+ IncomeSourceForecastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IncomeSourceForecastService, providedIn: 'root' });
12687
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IncomeSourceForecastService, decorators: [{
12587
12688
  type: i0.Injectable,
12588
12689
  args: [{
12589
12690
  providedIn: 'root'
@@ -12658,9 +12759,9 @@
12658
12759
  };
12659
12760
  return SalaryForecastService;
12660
12761
  }(RestService));
12661
- SalaryForecastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SalaryForecastService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12662
- SalaryForecastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SalaryForecastService, providedIn: 'root' });
12663
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SalaryForecastService, decorators: [{
12762
+ SalaryForecastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SalaryForecastService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12763
+ SalaryForecastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SalaryForecastService, providedIn: 'root' });
12764
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SalaryForecastService, decorators: [{
12664
12765
  type: i0.Injectable,
12665
12766
  args: [{
12666
12767
  providedIn: 'root'
@@ -12732,9 +12833,9 @@
12732
12833
  };
12733
12834
  return SoleForecastService;
12734
12835
  }(RestService));
12735
- SoleForecastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SoleForecastService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12736
- SoleForecastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SoleForecastService, providedIn: 'root' });
12737
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SoleForecastService, decorators: [{
12836
+ SoleForecastService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SoleForecastService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12837
+ SoleForecastService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SoleForecastService, providedIn: 'root' });
12838
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SoleForecastService, decorators: [{
12738
12839
  type: i0.Injectable,
12739
12840
  args: [{
12740
12841
  providedIn: 'root'
@@ -12769,9 +12870,9 @@
12769
12870
  };
12770
12871
  return IntercomService;
12771
12872
  }());
12772
- IntercomService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IntercomService, deps: [{ token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12773
- IntercomService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IntercomService, providedIn: 'root' });
12774
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: IntercomService, decorators: [{
12873
+ IntercomService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IntercomService, deps: [{ token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12874
+ IntercomService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IntercomService, providedIn: 'root' });
12875
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: IntercomService, decorators: [{
12775
12876
  type: i0.Injectable,
12776
12877
  args: [{
12777
12878
  providedIn: 'root'
@@ -12802,9 +12903,9 @@
12802
12903
  };
12803
12904
  return KompassifyService;
12804
12905
  }());
12805
- KompassifyService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KompassifyService, deps: [{ token: i1__namespace$2.Router }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12806
- KompassifyService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KompassifyService, providedIn: 'root' });
12807
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: KompassifyService, decorators: [{
12906
+ KompassifyService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: KompassifyService, deps: [{ token: i1__namespace$2.Router }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12907
+ KompassifyService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: KompassifyService, providedIn: 'root' });
12908
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: KompassifyService, decorators: [{
12808
12909
  type: i0.Injectable,
12809
12910
  args: [{
12810
12911
  providedIn: 'root'
@@ -12937,9 +13038,9 @@
12937
13038
  };
12938
13039
  return LoanService;
12939
13040
  }(RestService));
12940
- LoanService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LoanService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
12941
- LoanService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LoanService, providedIn: 'root' });
12942
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LoanService, decorators: [{
13041
+ LoanService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LoanService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13042
+ LoanService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LoanService, providedIn: 'root' });
13043
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: LoanService, decorators: [{
12943
13044
  type: i0.Injectable,
12944
13045
  args: [{
12945
13046
  providedIn: 'root'
@@ -12986,9 +13087,9 @@
12986
13087
  };
12987
13088
  return ServiceNotificationService;
12988
13089
  }(RestService));
12989
- ServiceNotificationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ServiceNotificationService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
12990
- ServiceNotificationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ServiceNotificationService, providedIn: 'root' });
12991
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ServiceNotificationService, decorators: [{
13090
+ ServiceNotificationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ServiceNotificationService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13091
+ ServiceNotificationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ServiceNotificationService, providedIn: 'root' });
13092
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ServiceNotificationService, decorators: [{
12992
13093
  type: i0.Injectable,
12993
13094
  args: [{
12994
13095
  providedIn: 'root'
@@ -13043,9 +13144,9 @@
13043
13144
  };
13044
13145
  return PdfFromDomElementService;
13045
13146
  }());
13046
- PdfFromDomElementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromDomElementService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13047
- PdfFromDomElementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromDomElementService, providedIn: 'root' });
13048
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromDomElementService, decorators: [{
13147
+ PdfFromDomElementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDomElementService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13148
+ PdfFromDomElementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDomElementService, providedIn: 'root' });
13149
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDomElementService, decorators: [{
13049
13150
  type: i0.Injectable,
13050
13151
  args: [{
13051
13152
  providedIn: 'root'
@@ -13128,9 +13229,9 @@
13128
13229
  };
13129
13230
  return PdfFromTableService;
13130
13231
  }());
13131
- PdfFromTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromTableService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13132
- PdfFromTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromTableService, providedIn: 'root' });
13133
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromTableService, decorators: [{
13232
+ PdfFromTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromTableService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13233
+ PdfFromTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromTableService, providedIn: 'root' });
13234
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromTableService, decorators: [{
13134
13235
  type: i0.Injectable,
13135
13236
  args: [{
13136
13237
  providedIn: 'root'
@@ -13169,9 +13270,9 @@
13169
13270
  };
13170
13271
  return PdfFromHtmlTableService;
13171
13272
  }(PdfFromTableService));
13172
- PdfFromHtmlTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromHtmlTableService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13173
- PdfFromHtmlTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromHtmlTableService, providedIn: 'root' });
13174
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromHtmlTableService, decorators: [{
13273
+ 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 });
13274
+ PdfFromHtmlTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromHtmlTableService, providedIn: 'root' });
13275
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromHtmlTableService, decorators: [{
13175
13276
  type: i0.Injectable,
13176
13277
  args: [{
13177
13278
  providedIn: 'root'
@@ -13207,9 +13308,9 @@
13207
13308
  };
13208
13309
  return PdfFromDataTableService;
13209
13310
  }(PdfFromTableService));
13210
- PdfFromDataTableService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromDataTableService, deps: [{ token: ExportFormatterService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13211
- PdfFromDataTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromDataTableService, providedIn: 'root' });
13212
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PdfFromDataTableService, decorators: [{
13311
+ 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 });
13312
+ PdfFromDataTableService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDataTableService, providedIn: 'root' });
13313
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PdfFromDataTableService, decorators: [{
13213
13314
  type: i0.Injectable,
13214
13315
  args: [{
13215
13316
  providedIn: 'root'
@@ -13266,9 +13367,9 @@
13266
13367
  };
13267
13368
  return PropertyTransactionReportService;
13268
13369
  }());
13269
- PropertyTransactionReportService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyTransactionReportService, deps: [{ token: PropertyService }, { token: TransactionService }, { token: DepreciationService }, { token: ChartAccountsService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13270
- PropertyTransactionReportService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyTransactionReportService, providedIn: 'root' });
13271
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyTransactionReportService, decorators: [{
13370
+ PropertyTransactionReportService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyTransactionReportService, deps: [{ token: PropertyService }, { token: TransactionService }, { token: DepreciationService }, { token: ChartAccountsService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13371
+ PropertyTransactionReportService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyTransactionReportService, providedIn: 'root' });
13372
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyTransactionReportService, decorators: [{
13272
13373
  type: i0.Injectable,
13273
13374
  args: [{
13274
13375
  providedIn: 'root'
@@ -13394,11 +13495,43 @@
13394
13495
  // Math abs is required for correct percentage calculation
13395
13496
  return properties.purchasePrice - Math.abs(this.getLoanAmount(properties, bankAccounts, loans));
13396
13497
  };
13498
+ /**
13499
+ * Get dictionary of badges for each property in collection
13500
+ */
13501
+ PropertyCalculationService.prototype.getBadgesByProperty = function (properties, transactions, depreciations) {
13502
+ var _this = this;
13503
+ var badgesByProperty = new Dictionary([]);
13504
+ properties.toArray().forEach(function (property) {
13505
+ badgesByProperty.add(property.id, _this.getBadge(property, properties, transactions, depreciations));
13506
+ });
13507
+ return badgesByProperty;
13508
+ };
13509
+ /**
13510
+ * Get Badge for single property in collection
13511
+ */
13512
+ PropertyCalculationService.prototype.getBadge = function (property, properties, transactions, depreciations) {
13513
+ // best performance properties could be only from active properties list
13514
+ var activeProperties = properties.getActiveProperties();
13515
+ var bestPerformanceGrowthProperty = activeProperties.getBestPerformanceGrowthProperty();
13516
+ var bestPerformanceTaxProperty = activeProperties.getBestPerformanceTaxProperty(transactions, depreciations);
13517
+ switch (true) {
13518
+ case !property.isActive:
13519
+ return new Badge('Inactive', exports.BadgeColorEnum.GRAY);
13520
+ case property.id === bestPerformanceTaxProperty.id && property.id === bestPerformanceGrowthProperty.id:
13521
+ return new Badge('Best performance growth & tax', exports.BadgeColorEnum.GOLD);
13522
+ case property.id === bestPerformanceTaxProperty.id:
13523
+ return new Badge('Best performance tax', exports.BadgeColorEnum.GOLD);
13524
+ case property.id === bestPerformanceGrowthProperty.id:
13525
+ return new Badge('Best performance growth', exports.BadgeColorEnum.GREEN);
13526
+ default:
13527
+ return new Badge('Monitoring performance');
13528
+ }
13529
+ };
13397
13530
  return PropertyCalculationService;
13398
13531
  }());
13399
- PropertyCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCalculationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13400
- PropertyCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCalculationService, providedIn: 'root' });
13401
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCalculationService, decorators: [{
13532
+ PropertyCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCalculationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13533
+ PropertyCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCalculationService, providedIn: 'root' });
13534
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCalculationService, decorators: [{
13402
13535
  type: i0.Injectable,
13403
13536
  args: [{
13404
13537
  providedIn: 'root'
@@ -13418,9 +13551,9 @@
13418
13551
  }
13419
13552
  return PropertyCategoryService;
13420
13553
  }(RestService));
13421
- PropertyCategoryService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCategoryService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13422
- PropertyCategoryService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCategoryService, providedIn: 'root' });
13423
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCategoryService, decorators: [{
13554
+ PropertyCategoryService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCategoryService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13555
+ PropertyCategoryService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCategoryService, providedIn: 'root' });
13556
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCategoryService, decorators: [{
13424
13557
  type: i0.Injectable,
13425
13558
  args: [{
13426
13559
  providedIn: 'root'
@@ -13477,9 +13610,9 @@
13477
13610
  };
13478
13611
  return PropertyDocumentService;
13479
13612
  }(RestService));
13480
- PropertyDocumentService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyDocumentService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13481
- PropertyDocumentService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyDocumentService, providedIn: 'root' });
13482
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyDocumentService, decorators: [{
13613
+ PropertyDocumentService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyDocumentService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13614
+ PropertyDocumentService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyDocumentService, providedIn: 'root' });
13615
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyDocumentService, decorators: [{
13483
13616
  type: i0.Injectable,
13484
13617
  args: [{
13485
13618
  providedIn: 'root'
@@ -13580,9 +13713,9 @@
13580
13713
  };
13581
13714
  return PropertyShareService;
13582
13715
  }(RestService));
13583
- PropertyShareService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyShareService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13584
- PropertyShareService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyShareService, providedIn: 'root' });
13585
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyShareService, decorators: [{
13716
+ PropertyShareService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyShareService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13717
+ PropertyShareService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyShareService, providedIn: 'root' });
13718
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyShareService, decorators: [{
13586
13719
  type: i0.Injectable,
13587
13720
  args: [{
13588
13721
  providedIn: 'root'
@@ -13599,9 +13732,9 @@
13599
13732
  }
13600
13733
  return PropertySaleService;
13601
13734
  }(RestService));
13602
- PropertySaleService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertySaleService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13603
- PropertySaleService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertySaleService, providedIn: 'root' });
13604
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertySaleService, decorators: [{
13735
+ PropertySaleService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertySaleService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13736
+ PropertySaleService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertySaleService, providedIn: 'root' });
13737
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertySaleService, decorators: [{
13605
13738
  type: i0.Injectable,
13606
13739
  args: [{
13607
13740
  providedIn: 'root'
@@ -13635,9 +13768,9 @@
13635
13768
  };
13636
13769
  return EquityPositionChartService;
13637
13770
  }());
13638
- EquityPositionChartService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EquityPositionChartService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13639
- EquityPositionChartService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EquityPositionChartService, providedIn: 'root' });
13640
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EquityPositionChartService, decorators: [{
13771
+ EquityPositionChartService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EquityPositionChartService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13772
+ EquityPositionChartService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EquityPositionChartService, providedIn: 'root' });
13773
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: EquityPositionChartService, decorators: [{
13641
13774
  type: i0.Injectable,
13642
13775
  args: [{
13643
13776
  providedIn: 'root'
@@ -13686,9 +13819,9 @@
13686
13819
  };
13687
13820
  return PropertyCategoryMovementService;
13688
13821
  }(RestService));
13689
- PropertyCategoryMovementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCategoryMovementService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13690
- PropertyCategoryMovementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCategoryMovementService, providedIn: 'root' });
13691
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PropertyCategoryMovementService, decorators: [{
13822
+ PropertyCategoryMovementService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCategoryMovementService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13823
+ PropertyCategoryMovementService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCategoryMovementService, providedIn: 'root' });
13824
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: PropertyCategoryMovementService, decorators: [{
13692
13825
  type: i0.Injectable,
13693
13826
  args: [{
13694
13827
  providedIn: 'root'
@@ -13793,9 +13926,9 @@
13793
13926
  };
13794
13927
  return SubscriptionService;
13795
13928
  }());
13796
- SubscriptionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SubscriptionService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13797
- SubscriptionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SubscriptionService, providedIn: 'root' });
13798
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SubscriptionService, decorators: [{
13929
+ SubscriptionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SubscriptionService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
13930
+ SubscriptionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SubscriptionService, providedIn: 'root' });
13931
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: SubscriptionService, decorators: [{
13799
13932
  type: i0.Injectable,
13800
13933
  args: [{
13801
13934
  providedIn: 'root'
@@ -13821,9 +13954,9 @@
13821
13954
  }
13822
13955
  return ServicePriceService;
13823
13956
  }(RestService));
13824
- ServicePriceService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ServicePriceService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13825
- ServicePriceService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ServicePriceService, providedIn: 'root' });
13826
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ServicePriceService, decorators: [{
13957
+ ServicePriceService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ServicePriceService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13958
+ ServicePriceService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ServicePriceService, providedIn: 'root' });
13959
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: ServicePriceService, decorators: [{
13827
13960
  type: i0.Injectable,
13828
13961
  args: [{
13829
13962
  providedIn: 'root'
@@ -13912,9 +14045,9 @@
13912
14045
  };
13913
14046
  return TaxReviewService;
13914
14047
  }(RestService));
13915
- TaxReviewService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxReviewService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13916
- TaxReviewService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxReviewService, providedIn: 'root' });
13917
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxReviewService, decorators: [{
14048
+ TaxReviewService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxReviewService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14049
+ TaxReviewService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxReviewService, providedIn: 'root' });
14050
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxReviewService, decorators: [{
13918
14051
  type: i0.Injectable,
13919
14052
  args: [{
13920
14053
  providedIn: 'root'
@@ -13950,9 +14083,9 @@
13950
14083
  };
13951
14084
  return TaxReviewHistoryService;
13952
14085
  }(RestService));
13953
- TaxReviewHistoryService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxReviewHistoryService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
13954
- TaxReviewHistoryService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxReviewHistoryService, providedIn: 'root' });
13955
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxReviewHistoryService, decorators: [{
14086
+ TaxReviewHistoryService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxReviewHistoryService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14087
+ TaxReviewHistoryService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxReviewHistoryService, providedIn: 'root' });
14088
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxReviewHistoryService, decorators: [{
13956
14089
  type: i0.Injectable,
13957
14090
  args: [{
13958
14091
  providedIn: 'root'
@@ -14013,9 +14146,9 @@
14013
14146
  };
14014
14147
  return TaxSummaryService;
14015
14148
  }());
14016
- TaxSummaryService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxSummaryService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14017
- TaxSummaryService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxSummaryService, providedIn: 'root' });
14018
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxSummaryService, decorators: [{
14149
+ TaxSummaryService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxSummaryService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14150
+ TaxSummaryService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxSummaryService, providedIn: 'root' });
14151
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxSummaryService, decorators: [{
14019
14152
  type: i0.Injectable,
14020
14153
  args: [{
14021
14154
  providedIn: 'root'
@@ -14067,9 +14200,9 @@
14067
14200
  };
14068
14201
  return TransactionCalculationService;
14069
14202
  }());
14070
- TransactionCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionCalculationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14071
- TransactionCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionCalculationService, providedIn: 'root' });
14072
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TransactionCalculationService, decorators: [{
14203
+ TransactionCalculationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionCalculationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14204
+ TransactionCalculationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionCalculationService, providedIn: 'root' });
14205
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TransactionCalculationService, decorators: [{
14073
14206
  type: i0.Injectable,
14074
14207
  args: [{
14075
14208
  providedIn: 'root'
@@ -14104,9 +14237,9 @@
14104
14237
  };
14105
14238
  return OccupationService;
14106
14239
  }());
14107
- OccupationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OccupationService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14108
- OccupationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OccupationService, providedIn: 'root' });
14109
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: OccupationService, decorators: [{
14240
+ OccupationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: OccupationService, deps: [{ token: i1__namespace.HttpClient }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14241
+ OccupationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: OccupationService, providedIn: 'root' });
14242
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: OccupationService, decorators: [{
14110
14243
  type: i0.Injectable,
14111
14244
  args: [{
14112
14245
  providedIn: 'root'
@@ -14259,9 +14392,9 @@
14259
14392
  };
14260
14393
  return UserService;
14261
14394
  }());
14262
- UserService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserService, deps: [{ token: i1__namespace.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14263
- UserService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserService, providedIn: 'root' });
14264
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserService, decorators: [{
14395
+ UserService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserService, deps: [{ token: i1__namespace.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14396
+ UserService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserService, providedIn: 'root' });
14397
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserService, decorators: [{
14265
14398
  type: i0.Injectable,
14266
14399
  args: [{
14267
14400
  providedIn: 'root'
@@ -14311,9 +14444,9 @@
14311
14444
  };
14312
14445
  return UserEventSettingService;
14313
14446
  }(RestService));
14314
- UserEventSettingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserEventSettingService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14315
- UserEventSettingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserEventSettingService, providedIn: 'root' });
14316
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserEventSettingService, decorators: [{
14447
+ UserEventSettingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserEventSettingService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14448
+ UserEventSettingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserEventSettingService, providedIn: 'root' });
14449
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserEventSettingService, decorators: [{
14317
14450
  type: i0.Injectable,
14318
14451
  args: [{
14319
14452
  providedIn: 'root'
@@ -14331,9 +14464,9 @@
14331
14464
  }
14332
14465
  return UserEventTypeService;
14333
14466
  }(RestService));
14334
- UserEventTypeService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserEventTypeService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14335
- UserEventTypeService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserEventTypeService, providedIn: 'root' });
14336
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: UserEventTypeService, decorators: [{
14467
+ UserEventTypeService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserEventTypeService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14468
+ UserEventTypeService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserEventTypeService, providedIn: 'root' });
14469
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: UserEventTypeService, decorators: [{
14337
14470
  type: i0.Injectable,
14338
14471
  args: [{
14339
14472
  providedIn: 'root'
@@ -14402,9 +14535,9 @@
14402
14535
  };
14403
14536
  return VehicleService;
14404
14537
  }(RestService));
14405
- VehicleService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14406
- VehicleService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleService, providedIn: 'root' });
14407
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleService, decorators: [{
14538
+ VehicleService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14539
+ VehicleService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleService, providedIn: 'root' });
14540
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleService, decorators: [{
14408
14541
  type: i0.Injectable,
14409
14542
  args: [{
14410
14543
  providedIn: 'root'
@@ -14451,9 +14584,9 @@
14451
14584
  };
14452
14585
  return VehicleLogbookService;
14453
14586
  }());
14454
- VehicleLogbookService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleLogbookService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14455
- VehicleLogbookService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleLogbookService, providedIn: 'root' });
14456
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: VehicleLogbookService, decorators: [{
14587
+ VehicleLogbookService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleLogbookService, deps: [{ token: i1__namespace.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14588
+ VehicleLogbookService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleLogbookService, providedIn: 'root' });
14589
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: VehicleLogbookService, decorators: [{
14457
14590
  type: i0.Injectable,
14458
14591
  args: [{
14459
14592
  providedIn: 'root'
@@ -14502,9 +14635,9 @@
14502
14635
  };
14503
14636
  return XlsxService;
14504
14637
  }());
14505
- XlsxService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: XlsxService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14506
- XlsxService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: XlsxService, providedIn: 'root' });
14507
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: XlsxService, decorators: [{
14638
+ XlsxService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: XlsxService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14639
+ XlsxService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: XlsxService, providedIn: 'root' });
14640
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: XlsxService, decorators: [{
14508
14641
  type: i0.Injectable,
14509
14642
  args: [{
14510
14643
  providedIn: 'root'
@@ -14522,9 +14655,9 @@
14522
14655
  }
14523
14656
  return TaxExemptionService;
14524
14657
  }(RestService));
14525
- TaxExemptionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxExemptionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14526
- TaxExemptionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxExemptionService, providedIn: 'root' });
14527
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TaxExemptionService, decorators: [{
14658
+ TaxExemptionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxExemptionService, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
14659
+ TaxExemptionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxExemptionService, providedIn: 'root' });
14660
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TaxExemptionService, decorators: [{
14528
14661
  type: i0.Injectable,
14529
14662
  args: [{
14530
14663
  providedIn: 'root'
@@ -14613,9 +14746,9 @@
14613
14746
  auth_type: 'rerequest',
14614
14747
  return_scopes: true
14615
14748
  };
14616
- FacebookService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FacebookService, deps: [{ token: i1__namespace.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i1__namespace$2.Router }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14617
- FacebookService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FacebookService, providedIn: 'root' });
14618
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FacebookService, decorators: [{
14749
+ FacebookService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FacebookService, deps: [{ token: i1__namespace.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i1__namespace$2.Router }, { token: 'environment' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
14750
+ FacebookService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FacebookService, providedIn: 'root' });
14751
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: FacebookService, decorators: [{
14619
14752
  type: i0.Injectable,
14620
14753
  args: [{
14621
14754
  providedIn: 'root'
@@ -14704,9 +14837,9 @@
14704
14837
  var AbstractForm = /** @class */ (function (_super) {
14705
14838
  __extends(AbstractForm, _super);
14706
14839
  function AbstractForm(controls, model, validatorOrOpts, asyncValidator) {
14707
- if (model === void 0) { model = {}; }
14708
14840
  var _this = _super.call(this, controls, validatorOrOpts, asyncValidator) || this;
14709
- _this.model = model;
14841
+ _this.onSubmit = new i0.EventEmitter();
14842
+ _this.model = model || _this.createModelInstance();
14710
14843
  _this.modelClass = _this.model.constructor;
14711
14844
  return _this;
14712
14845
  }
@@ -14722,11 +14855,20 @@
14722
14855
  if (!this.valid) {
14723
14856
  return null;
14724
14857
  }
14725
- return classTransformer.plainToClass(this.modelClass, Object.assign({}, this.model, this.value, data));
14858
+ var model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
14859
+ this.onSubmit.emit(model);
14860
+ return model;
14861
+ };
14862
+ AbstractForm.prototype.createModelInstance = function (data) {
14863
+ if (data === void 0) { data = {}; }
14864
+ return classTransformer.plainToClass(this.modelClass, data);
14726
14865
  };
14727
14866
  return AbstractForm;
14728
14867
  }(forms.FormGroup));
14729
14868
 
14869
+ /**
14870
+ * Form with bank account loan details
14871
+ */
14730
14872
  var BankAccountLoanForm = /** @class */ (function (_super) {
14731
14873
  __extends(BankAccountLoanForm, _super);
14732
14874
  function BankAccountLoanForm(loan) {
@@ -14746,117 +14888,154 @@
14746
14888
  return BankAccountLoanForm;
14747
14889
  }(AbstractForm));
14748
14890
 
14749
- var BankAccountPropertyForm = /** @class */ (function (_super) {
14750
- __extends(BankAccountPropertyForm, _super);
14751
- function BankAccountPropertyForm(isLoan, bankAccountProperty) {
14752
- if (bankAccountProperty === void 0) { bankAccountProperty = classTransformer.plainToClass(BankAccountProperty, {}); }
14753
- return _super.call(this, {
14754
- property: new forms.FormControl(bankAccountProperty.property, forms.Validators.required),
14755
- percent: new forms.FormControl({ value: bankAccountProperty.percent, disabled: !isLoan }, forms.Validators.required)
14756
- }, bankAccountProperty) || this;
14757
- }
14758
- return BankAccountPropertyForm;
14759
- }(AbstractForm));
14760
-
14891
+ /**
14892
+ * Form array with bank account properties
14893
+ */
14761
14894
  var BankAccountPropertiesForm = /** @class */ (function (_super) {
14762
14895
  __extends(BankAccountPropertiesForm, _super);
14763
- function BankAccountPropertiesForm(isLoan, bankAccountProperties) {
14764
- if (bankAccountProperties === void 0) { bankAccountProperties = []; }
14765
- var _this = _super.call(this, bankAccountProperties.length
14766
- ? bankAccountProperties.map(function (bankAccountProperty) { return new BankAccountPropertyForm(isLoan, bankAccountProperty); })
14767
- : [new BankAccountPropertyForm(isLoan)]) || this;
14768
- _this.isLoan = isLoan;
14769
- _this.bankAccountProperties = bankAccountProperties;
14770
- return _this;
14896
+ function BankAccountPropertiesForm(bankAccountProperties) {
14897
+ if (bankAccountProperties === void 0) { bankAccountProperties = [classTransformer.plainToClass(BankAccountProperty, {})]; }
14898
+ return _super.call(this, bankAccountProperties.map(function (bankAccountProperty) {
14899
+ return new forms.FormGroup({
14900
+ property: new forms.FormControl(bankAccountProperty.property, forms.Validators.required),
14901
+ percent: new forms.FormControl(bankAccountProperty.percent, forms.Validators.required)
14902
+ });
14903
+ })) || this;
14771
14904
  }
14772
14905
  BankAccountPropertiesForm.prototype.add = function () {
14773
- this.push(new BankAccountPropertyForm(this.isLoan));
14906
+ this.push(new forms.FormGroup({
14907
+ property: new forms.FormControl(null, forms.Validators.required),
14908
+ percent: new forms.FormControl({
14909
+ value: 100,
14910
+ disabled: !this.at(0).contains('percent')
14911
+ }, forms.Validators.required)
14912
+ }));
14913
+ };
14914
+ BankAccountPropertiesForm.prototype.enablePercent = function () {
14915
+ this.controls.forEach(function (propertyFormGroup) {
14916
+ propertyFormGroup.get('percent').enable();
14917
+ });
14918
+ };
14919
+ BankAccountPropertiesForm.prototype.disablePercent = function () {
14920
+ this.controls.forEach(function (propertyFormGroup) {
14921
+ propertyFormGroup.get('percent').disable();
14922
+ });
14774
14923
  };
14775
14924
  return BankAccountPropertiesForm;
14776
14925
  }(forms.FormArray));
14777
14926
 
14778
14927
  /**
14779
- * Form for additional data for bank accounts. Allow user to set tank type, loan and properties for new not-saved bank accounts.
14780
- * Works with manual and basiq bank accounts.
14928
+ * Form is using for import basiq bank accounts.
14929
+ * Basiq accounts has all data except tank type, properties and loan partially
14781
14930
  */
14782
- var BankAccountForm = /** @class */ (function (_super) {
14783
- __extends(BankAccountForm, _super);
14784
- function BankAccountForm(bankAccount) {
14785
- if (bankAccount === void 0) { bankAccount = classTransformer.plainToClass(BankAccount, {}); }
14931
+ var BankAccountImportForm = /** @class */ (function (_super) {
14932
+ __extends(BankAccountImportForm, _super);
14933
+ function BankAccountImportForm(bankAccount) {
14786
14934
  var _this = _super.call(this, {
14787
14935
  tankType: new forms.FormControl(bankAccount.tankType, forms.Validators.required),
14788
14936
  }, bankAccount) || this;
14789
- _this.bankAccount = bankAccount;
14790
14937
  if (bankAccount.isLoan()) {
14791
14938
  _this.addControl('loan', new BankAccountLoanForm(bankAccount.loan));
14792
14939
  }
14940
+ // basiq account import form should be disabled (unchecked) by default
14941
+ _this.disable();
14793
14942
  _this.listenEvents();
14794
14943
  return _this;
14795
14944
  }
14796
- BankAccountForm.prototype.listenEvents = function () {
14945
+ BankAccountImportForm.prototype.listenEvents = function () {
14797
14946
  this.listenTankTypeChanges();
14798
- this.listenValueChanges();
14799
- };
14800
- Object.defineProperty(BankAccountForm.prototype, "properties", {
14801
- get: function () {
14802
- return this.get('bankAccountProperties');
14803
- },
14804
- enumerable: false,
14805
- configurable: true
14806
- });
14807
- BankAccountForm.prototype.isLoan = function () {
14808
- return BankAccount.loanTypes.includes(this.bankAccount.type);
14809
- };
14810
- BankAccountForm.prototype.isPropertyTank = function () {
14811
- return this.get('tankType').value === exports.TankTypeEnum.PROPERTY;
14812
- };
14813
- BankAccountForm.prototype.confirm = function () {
14814
- this.markAllAsTouched();
14815
- if (this.invalid) {
14816
- return;
14817
- }
14818
- this.isConfirmed = true;
14819
- };
14820
- BankAccountForm.prototype.addPropertiesArray = function () {
14821
- var control = new BankAccountPropertiesForm(this.isLoan(), this.bankAccount.bankAccountProperties);
14822
- // Default form behaviour is: if we add enabled form control to disabled form group then this form group enable.
14823
- // Disable form control before add to avoid form group enabling.
14824
- if (this.disabled) {
14825
- control.disable();
14826
- }
14827
- this.addControl('bankAccountProperties', control);
14828
14947
  };
14829
14948
  /**
14830
- * Add/Remove properties form array depending on selected tank type
14949
+ * Add/Remove bank account properties form depends on selected tank type
14831
14950
  */
14832
- BankAccountForm.prototype.listenTankTypeChanges = function () {
14951
+ BankAccountImportForm.prototype.listenTankTypeChanges = function () {
14833
14952
  var _this = this;
14834
- this.get('tankType').valueChanges.subscribe(function () {
14835
- _this.isPropertyTank() ? _this.addPropertiesArray() : _this.removeControl('bankAccountProperties');
14836
- });
14837
- };
14838
- BankAccountForm.prototype.listenValueChanges = function () {
14839
- var _this = this;
14840
- this.valueChanges.subscribe(function () {
14841
- _this.isConfirmed = false;
14953
+ this.get('tankType').valueChanges.subscribe(function (tankType) {
14954
+ if (tankType === exports.TankTypeEnum.PROPERTY) {
14955
+ _this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
14956
+ // property percent allowed only for loan bank accounts
14957
+ if (!_this.contains('loan')) {
14958
+ _this.get('bankAccountProperties').disablePercent();
14959
+ }
14960
+ }
14961
+ else {
14962
+ _this.removeControl('bankAccountProperties');
14963
+ }
14842
14964
  });
14843
14965
  };
14844
- return BankAccountForm;
14966
+ return BankAccountImportForm;
14845
14967
  }(AbstractForm));
14846
14968
 
14847
14969
  /**
14848
- * Form is using for manual bank account creation (not Basiq), prepares bank account data for the next saving.
14970
+ * Form is using for single manual bank account creation (not Basiq)
14849
14971
  */
14850
14972
  var BankAccountAddManualForm = /** @class */ (function (_super) {
14851
14973
  __extends(BankAccountAddManualForm, _super);
14852
14974
  function BankAccountAddManualForm(connection) {
14853
- return _super.call(this, {
14975
+ var _this = _super.call(this, {
14854
14976
  type: new forms.FormControl(null, forms.Validators.required),
14855
14977
  accountName: new forms.FormControl(null, forms.Validators.required),
14856
14978
  currentBalance: new forms.FormControl(null, forms.Validators.required),
14857
14979
  accountNumber: new forms.FormControl(null, [forms.Validators.required, forms.Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]),
14858
- }, classTransformer.plainToClass(BankAccount, { bankConnection: connection })) || this;
14980
+ tankType: new forms.FormControl(null, forms.Validators.required),
14981
+ }) || this;
14982
+ _this.connection = connection;
14983
+ _this.listenEvents();
14984
+ return _this;
14859
14985
  }
14986
+ BankAccountAddManualForm.prototype.listenEvents = function () {
14987
+ this.listenTypeChanges();
14988
+ this.listenTankTypeChanges();
14989
+ };
14990
+ /**
14991
+ * Add/Remove loan form depends on selected bank account type
14992
+ */
14993
+ BankAccountAddManualForm.prototype.listenTypeChanges = function () {
14994
+ var _this = this;
14995
+ this.get('type').valueChanges.subscribe(function (type) {
14996
+ if (BankAccount.loanTypes.includes(type)) {
14997
+ _this.addControl('loan', new BankAccountLoanForm());
14998
+ // property percent allowed only for loan bank accounts
14999
+ if (_this.contains('bankAccountProperties')) {
15000
+ _this.get('bankAccountProperties').enablePercent();
15001
+ }
15002
+ }
15003
+ else {
15004
+ _this.removeControl('loan');
15005
+ // property percent allowed only for loan bank accounts
15006
+ if (_this.contains('bankAccountProperties')) {
15007
+ _this.get('bankAccountProperties').disablePercent();
15008
+ }
15009
+ }
15010
+ });
15011
+ };
15012
+ /**
15013
+ * Add/Remove bank account properties form depends on selected tank type
15014
+ */
15015
+ BankAccountAddManualForm.prototype.listenTankTypeChanges = function () {
15016
+ var _this = this;
15017
+ this.get('tankType').valueChanges.subscribe(function (tankType) {
15018
+ if (tankType === exports.TankTypeEnum.PROPERTY) {
15019
+ _this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
15020
+ // property percent allowed only for loan bank accounts
15021
+ if (_this.contains('loan')) {
15022
+ _this.get('bankAccountProperties').enablePercent();
15023
+ }
15024
+ else {
15025
+ _this.get('bankAccountProperties').disablePercent();
15026
+ }
15027
+ }
15028
+ else {
15029
+ _this.removeControl('bankAccountProperties');
15030
+ }
15031
+ });
15032
+ };
15033
+ /**
15034
+ * Attach bank connection to manual bank account
15035
+ */
15036
+ BankAccountAddManualForm.prototype.submit = function () {
15037
+ return _super.prototype.submit.call(this, { bankConnection: this.connection });
15038
+ };
14860
15039
  return BankAccountAddManualForm;
14861
15040
  }(AbstractForm));
14862
15041
  BankAccountAddManualForm.accountNumberPattern = '^[0-9]{6}[ ]{1}[0-9]{1,}$';
@@ -14883,18 +15062,74 @@
14883
15062
  };
14884
15063
  }
14885
15064
 
14886
- var BankAccountMigrateForm = /** @class */ (function (_super) {
14887
- __extends(BankAccountMigrateForm, _super);
14888
- function BankAccountMigrateForm() {
14889
- return _super.call(this, {
14890
- migrateFrom: new forms.FormControl(BankAccountMigrateForm.minDate, [forms.Validators.required, dateRangeValidator(BankAccountMigrateForm.minDate, BankAccountMigrateForm.maxDate)]),
14891
- migrateTo: new forms.FormControl(BankAccountMigrateForm.maxDate, [forms.Validators.required, dateRangeValidator(BankAccountMigrateForm.minDate, BankAccountMigrateForm.maxDate)])
15065
+ /**
15066
+ * Validator check if at least one control in formArray is enabled
15067
+ */
15068
+ function atLeastOneEnabledValidator(arrayName) {
15069
+ return function (formGroup) {
15070
+ return !!formGroup.get(arrayName).controls.find(function (control) { return control.enabled; })
15071
+ ? null
15072
+ : { arrayControlsDisabled: true };
15073
+ };
15074
+ }
15075
+
15076
+ /**
15077
+ * Form for import multiple basiq bank accounts
15078
+ */
15079
+ var BankAccountsImportForm = /** @class */ (function (_super) {
15080
+ __extends(BankAccountsImportForm, _super);
15081
+ function BankAccountsImportForm(bankAccounts) {
15082
+ var _this = _super.call(this, {
15083
+ migrateFrom: new forms.FormControl(BankAccountsImportForm.minDate, [forms.Validators.required, dateRangeValidator(BankAccountsImportForm.minDate, BankAccountsImportForm.maxDate)]),
15084
+ migrateTo: new forms.FormControl(BankAccountsImportForm.maxDate, [forms.Validators.required, dateRangeValidator(BankAccountsImportForm.minDate, BankAccountsImportForm.maxDate)]),
15085
+ bankAccounts: new forms.FormArray(bankAccounts.map(function (bankAccount) { return new BankAccountImportForm(bankAccount); }))
15086
+ }, [], {
15087
+ validators: [atLeastOneEnabledValidator('bankAccounts')]
14892
15088
  }) || this;
15089
+ _this.bankAccounts = bankAccounts;
15090
+ return _this;
14893
15091
  }
14894
- return BankAccountMigrateForm;
15092
+ BankAccountsImportForm.prototype.submit = function () {
15093
+ var e_1, _a;
15094
+ this.submitted = true;
15095
+ if (this.invalid) {
15096
+ return null;
15097
+ }
15098
+ var bankAccounts = [];
15099
+ try {
15100
+ // form is valid when all selected bank accounts forms are valid
15101
+ for (var _b = __values(this.get('bankAccounts').controls), _c = _b.next(); !_c.done; _c = _b.next()) {
15102
+ var bankAccountImportForm = _c.value;
15103
+ // skip disabled forms
15104
+ if (bankAccountImportForm.disabled) {
15105
+ continue;
15106
+ }
15107
+ var bankAccount = bankAccountImportForm.submit({
15108
+ migrateFrom: this.value.migrateFrom,
15109
+ migrateTo: this.value.migrateTo
15110
+ });
15111
+ if (!bankAccount) {
15112
+ return null;
15113
+ }
15114
+ bankAccounts.push(bankAccount);
15115
+ }
15116
+ }
15117
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
15118
+ finally {
15119
+ try {
15120
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15121
+ }
15122
+ finally { if (e_1) throw e_1.error; }
15123
+ }
15124
+ if (!bankAccounts.length) {
15125
+ return null;
15126
+ }
15127
+ return bankAccounts;
15128
+ };
15129
+ return BankAccountsImportForm;
14895
15130
  }(AbstractForm));
14896
- BankAccountMigrateForm.minDate = new FinancialYear().prevFinYear.startDate;
14897
- BankAccountMigrateForm.maxDate = new Date();
15131
+ BankAccountsImportForm.minDate = new FinancialYear().prevFinYear.startDate;
15132
+ BankAccountsImportForm.maxDate = new Date();
14898
15133
 
14899
15134
  /**
14900
15135
  * Form with basiq bank login fields.
@@ -14927,15 +15162,11 @@
14927
15162
 
14928
15163
  /**
14929
15164
  * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
15165
+ * @TODO Alex: create class AppValidators with static methods and move there all custom validators (line Angular Validators)
14930
15166
  */
14931
- function requireAutocomplete() {
15167
+ function autocompleteValidator() {
14932
15168
  return function (control) {
14933
- if (typeof control.value === 'string' && !!control.value) {
14934
- return { notFromList: true };
14935
- }
14936
- else {
14937
- return null;
14938
- }
15169
+ return (!control.value || (typeof control.value === 'object')) ? null : { notFromList: true };
14939
15170
  };
14940
15171
  }
14941
15172
 
@@ -14977,21 +15208,6 @@
14977
15208
  };
14978
15209
  }
14979
15210
 
14980
- /**
14981
- * Validation function, that checks that the user should select a value from a list rather than type in input field
14982
- */
14983
- function requireSelectValidator() {
14984
- return function (control) {
14985
- var selection = control.value;
14986
- if (typeof selection === 'string' && !!selection) {
14987
- return { notFromList: true };
14988
- }
14989
- else {
14990
- return null;
14991
- }
14992
- };
14993
- }
14994
-
14995
15211
  var ClientIncomeTypesForm = /** @class */ (function (_super) {
14996
15212
  __extends(ClientIncomeTypesForm, _super);
14997
15213
  function ClientIncomeTypesForm(clientIncomeTypes) {
@@ -15019,13 +15235,14 @@
15019
15235
  return LoginForm;
15020
15236
  }(AbstractForm));
15021
15237
 
15238
+ // @TODO Alex: Create a model and handle request fields via class-transformer
15022
15239
  var PasswordForm = /** @class */ (function (_super) {
15023
15240
  __extends(PasswordForm, _super);
15024
15241
  function PasswordForm() {
15025
15242
  return _super.call(this, {
15026
15243
  password: new forms.FormControl(null, [forms.Validators.required, passwordValidator()]),
15027
15244
  confirm: new forms.FormControl(null, forms.Validators.required),
15028
- }, {}, passwordMatchValidator('password', 'confirm')) || this;
15245
+ }, { password: null, confirm: null }, passwordMatchValidator('password', 'confirm')) || this;
15029
15246
  }
15030
15247
  return PasswordForm;
15031
15248
  }(AbstractForm));
@@ -15042,18 +15259,13 @@
15042
15259
  referenceCode: new forms.FormControl(referenceCode)
15043
15260
  }) || this;
15044
15261
  }
15045
- RegisterClientForm.prototype.submit = function () {
15262
+ RegisterClientForm.prototype.submit = function (data) {
15263
+ if (data === void 0) { data = {}; }
15264
+ return _super.prototype.submit.call(this, { password: this.get('password').submit().password });
15046
15265
  var formValue = _super.prototype.submit.call(this);
15047
15266
  if (!formValue) {
15048
15267
  return null;
15049
15268
  }
15050
- return {
15051
- firstName: this.value.firstName,
15052
- lastName: this.value.lastName,
15053
- email: this.value.email,
15054
- password: this.value.password.password,
15055
- referenceCode: this.value.referenceCode
15056
- };
15057
15269
  };
15058
15270
  return RegisterClientForm;
15059
15271
  }(AbstractForm));
@@ -15071,9 +15283,14 @@
15071
15283
  _this.firmType = firmType;
15072
15284
  return _this;
15073
15285
  }
15286
+ RegisterFirmForm.prototype.submit = function (data) {
15287
+ if (data === void 0) { data = {}; }
15288
+ return _super.prototype.submit.call(this, { owner: this.get('owner').submit() });
15289
+ };
15074
15290
  return RegisterFirmForm;
15075
15291
  }(AbstractForm));
15076
15292
 
15293
+ // @TODO Alex: Create a model and handle request fields via class-transformer
15077
15294
  var ResetPasswordForm = /** @class */ (function (_super) {
15078
15295
  __extends(ResetPasswordForm, _super);
15079
15296
  function ResetPasswordForm() {
@@ -15339,7 +15556,7 @@
15339
15556
  __extends(MyTaxIncomeStatementsForm, _super);
15340
15557
  function MyTaxIncomeStatementsForm(incomeStatements, user) {
15341
15558
  var _this = _super.call(this, {
15342
- occupation: new forms.FormControl(user.clientDetails.occupation, [forms.Validators.required, requireSelectValidator()]),
15559
+ occupation: new forms.FormControl(user.clientDetails.occupation, [forms.Validators.required, autocompleteValidator()]),
15343
15560
  allowanceTotalAmount: new forms.FormControl({
15344
15561
  value: incomeStatements.allowanceTotalAmount,
15345
15562
  disabled: true
@@ -15610,20 +15827,19 @@
15610
15827
  exports.AssetsService = AssetsService;
15611
15828
  exports.AuthService = AuthService;
15612
15829
  exports.BANK_ACCOUNT_TYPES = BANK_ACCOUNT_TYPES;
15830
+ exports.Badge = Badge;
15613
15831
  exports.Bank = Bank;
15614
15832
  exports.BankAccount = BankAccount;
15615
15833
  exports.BankAccountAddManualForm = BankAccountAddManualForm;
15616
15834
  exports.BankAccountCalculationService = BankAccountCalculationService;
15617
15835
  exports.BankAccountChartData = BankAccountChartData;
15618
15836
  exports.BankAccountCollection = BankAccountCollection;
15619
- exports.BankAccountForm = BankAccountForm;
15837
+ exports.BankAccountImportForm = BankAccountImportForm;
15620
15838
  exports.BankAccountLoanForm = BankAccountLoanForm;
15621
- exports.BankAccountMigrateForm = BankAccountMigrateForm;
15622
15839
  exports.BankAccountPropertiesForm = BankAccountPropertiesForm;
15623
15840
  exports.BankAccountProperty = BankAccountProperty;
15624
- exports.BankAccountPropertyForm = BankAccountPropertyForm;
15625
15841
  exports.BankAccountService = BankAccountService;
15626
- exports.BankCollection = BankCollection;
15842
+ exports.BankAccountsImportForm = BankAccountsImportForm;
15627
15843
  exports.BankConnection = BankConnection;
15628
15844
  exports.BankConnectionService = BankConnectionService;
15629
15845
  exports.BankLoginData = BankLoginData;
@@ -15692,6 +15908,7 @@
15692
15908
  exports.DepreciationReportItem = DepreciationReportItem;
15693
15909
  exports.DepreciationReportItemCollection = DepreciationReportItemCollection;
15694
15910
  exports.DepreciationService = DepreciationService;
15911
+ exports.Dictionary = Dictionary;
15695
15912
  exports.Document = Document;
15696
15913
  exports.DocumentFolder = DocumentFolder;
15697
15914
  exports.DocumentFolderService = DocumentFolderService;
@@ -15879,6 +16096,7 @@
15879
16096
  exports.XlsxService = XlsxService;
15880
16097
  exports.atLeastOneCheckedValidator = atLeastOneCheckedValidator;
15881
16098
  exports.atoLinks = atoLinks;
16099
+ exports.autocompleteValidator = autocompleteValidator;
15882
16100
  exports.cloneDeep = cloneDeep;
15883
16101
  exports.compare = compare;
15884
16102
  exports.compareMatOptions = compareMatOptions;
@@ -15889,8 +16107,6 @@
15889
16107
  exports.passwordMatchValidator = passwordMatchValidator;
15890
16108
  exports.passwordValidator = passwordValidator;
15891
16109
  exports.replace = replace;
15892
- exports.requireAutocomplete = requireAutocomplete;
15893
- exports.requireSelectValidator = requireSelectValidator;
15894
16110
  exports.roundTo = roundTo;
15895
16111
  exports.sort = sort;
15896
16112
  exports.sortDeep = sortDeep;