taxtank-core 0.19.2 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/bundles/taxtank-core.umd.js +646 -399
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +6 -3
  4. package/esm2015/lib/db/Enums/bank-popular.enum.js +14 -0
  5. package/esm2015/lib/forms/abstract.form.js +11 -4
  6. package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +75 -0
  7. package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +43 -0
  8. package/esm2015/lib/forms/bank/bank-account/bank-account-loan.form.js +23 -0
  9. package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +36 -0
  10. package/esm2015/lib/forms/bank/bank-account/bank-accounts-import.form.js +50 -0
  11. package/esm2015/lib/forms/index.js +6 -7
  12. package/esm2015/lib/forms/register/register-client.form.js +1 -2
  13. package/esm2015/lib/forms/report/my-tax/my-tax-income-statements.form.js +3 -3
  14. package/esm2015/lib/forms/user/password.form.js +3 -2
  15. package/esm2015/lib/forms/user/reset-password.form.js +2 -1
  16. package/esm2015/lib/interceptors/jwt-interceptor.js +6 -1
  17. package/esm2015/lib/interfaces/auth-tokens.interface.js +2 -0
  18. package/esm2015/lib/models/bank/bank.js +7 -2
  19. package/esm2015/lib/models/dictionary/dictionary.js +35 -0
  20. package/esm2015/lib/models/endpoint/endpoints.const.js +4 -2
  21. package/esm2015/lib/services/auth/auth.service.js +2 -2
  22. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +7 -1
  23. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +15 -45
  24. package/esm2015/lib/services/http/bank/bank.service.js +8 -1
  25. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +52 -14
  26. package/esm2015/lib/services/http/facebook/facebook-auth-options.interface.js +2 -0
  27. package/esm2015/lib/services/http/facebook/facebook-auth-response.interface.js +2 -0
  28. package/esm2015/lib/services/http/facebook/facebook-status-response.interface.js +2 -0
  29. package/esm2015/lib/services/http/facebook/facebook.service.js +90 -0
  30. package/esm2015/lib/services/http/user/user.service.js +4 -1
  31. package/esm2015/lib/validators/at-least-one-enabled.validator.js +11 -0
  32. package/esm2015/lib/validators/autocomplete.validator.js +10 -0
  33. package/esm2015/lib/validators/index.js +2 -3
  34. package/esm2015/public-api.js +3 -2
  35. package/fesm2015/taxtank-core.js +537 -308
  36. package/fesm2015/taxtank-core.js.map +1 -1
  37. package/lib/collections/collection.d.ts +2 -1
  38. package/lib/db/Enums/bank-popular.enum.d.ts +12 -0
  39. package/lib/forms/abstract.form.d.ts +5 -3
  40. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +25 -0
  41. package/lib/forms/bank/bank-account/bank-account-import.form.d.ts +15 -0
  42. package/lib/forms/bank/bank-account/bank-account-loan.form.d.ts +8 -0
  43. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +11 -0
  44. package/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts +12 -0
  45. package/lib/forms/index.d.ts +5 -6
  46. package/lib/interfaces/auth-tokens.interface.d.ts +7 -0
  47. package/lib/models/bank/bank.d.ts +1 -0
  48. package/lib/models/dictionary/dictionary.d.ts +12 -0
  49. package/lib/services/auth/auth.service.d.ts +2 -1
  50. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +3 -0
  51. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +0 -8
  52. package/lib/services/http/bank/bank.service.d.ts +2 -0
  53. package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -3
  54. package/lib/services/http/facebook/facebook-auth-options.interface.d.ts +11 -0
  55. package/lib/services/http/facebook/facebook-auth-response.interface.d.ts +11 -0
  56. package/lib/services/http/facebook/facebook-status-response.interface.d.ts +9 -0
  57. package/lib/services/http/facebook/facebook.service.d.ts +38 -0
  58. package/lib/services/http/user/user.service.d.ts +1 -0
  59. package/lib/validators/at-least-one-enabled.validator.d.ts +5 -0
  60. package/lib/validators/{require-autocomplete.d.ts → autocomplete.validator.d.ts} +2 -1
  61. package/lib/validators/index.d.ts +1 -2
  62. package/package.json +1 -1
  63. package/public-api.d.ts +2 -1
  64. package/esm2015/lib/collections/bank.collection.js +0 -15
  65. package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +0 -19
  66. package/esm2015/lib/forms/bank/bank-account-loan.form.js +0 -20
  67. package/esm2015/lib/forms/bank/bank-account-migrate.form.js +0 -15
  68. package/esm2015/lib/forms/bank/bank-account-properties.form.js +0 -15
  69. package/esm2015/lib/forms/bank/bank-account-property.form.js +0 -13
  70. package/esm2015/lib/forms/bank/bank-account.form.js +0 -66
  71. package/esm2015/lib/validators/require-autocomplete.js +0 -14
  72. package/esm2015/lib/validators/require-select.validator.js +0 -15
  73. package/lib/collections/bank.collection.d.ts +0 -7
  74. package/lib/forms/bank/bank-account-add-manual.form.d.ts +0 -10
  75. package/lib/forms/bank/bank-account-loan.form.d.ts +0 -5
  76. package/lib/forms/bank/bank-account-migrate.form.d.ts +0 -9
  77. package/lib/forms/bank/bank-account-properties.form.d.ts +0 -8
  78. package/lib/forms/bank/bank-account-property.form.d.ts +0 -5
  79. package/lib/forms/bank/bank-account.form.d.ts +0 -28
  80. package/lib/validators/require-select.validator.d.ts +0 -5
@@ -16,6 +16,7 @@ export declare class Collection<Model extends AbstractModel> implements Iterable
16
16
  get first(): Model;
17
17
  get last(): Model;
18
18
  getIds(): number[];
19
+ mapBy(path: string): any[];
19
20
  sortBy(field?: string, isDesc?: boolean): this;
20
21
  /**
21
22
  * Get total sum of items by field
@@ -32,5 +33,5 @@ export declare class Collection<Model extends AbstractModel> implements Iterable
32
33
  push(...items: Model[]): this;
33
34
  replaceBy(path: string, value: any, item: Model): this;
34
35
  remove(items: Model[]): this;
35
- removeBy(path: string, value: any): this;
36
+ removeBy(path: string, values: any): this;
36
37
  }
@@ -0,0 +1,12 @@
1
+ export declare enum BankPopularEnum {
2
+ BANKWEST = "Bank of Western Australia trading as BankWest",
3
+ ANZ = "Australia and New Zealand Banking Group Limited",
4
+ CBA = "Commonwealth Bank Australia",
5
+ WESTPAC = "Westpac Banking Corporation",
6
+ BENDIGO = "Bendigo and Adelaide Bank Limited",
7
+ ING_DIRECT = "ING Bank (Australia) Limited (trading as ING Direct)",
8
+ ST_GEORGE = "St. George Bank (a subsidiary of Westpac)",
9
+ SUNCORP = "Suncorp-Metway Limited",
10
+ CITIBANK = "Citibank",
11
+ BOQ = "Bank of Queensland Limited"
12
+ }
@@ -1,19 +1,21 @@
1
1
  import { AbstractControl, AbstractControlOptions, AsyncValidatorFn, FormGroup, ValidatorFn } from '@angular/forms';
2
- import { Type } from '@angular/core';
2
+ import { EventEmitter, Type } from '@angular/core';
3
3
  /**
4
4
  * Abstract form class
5
5
  */
6
6
  export declare abstract class AbstractForm<Model> extends FormGroup {
7
7
  protected modelClass: Type<Model>;
8
- model: Model | object;
8
+ model: Model;
9
9
  submitted: boolean;
10
+ onSubmit: EventEmitter<Model>;
10
11
  protected constructor(controls: {
11
12
  [key: string]: AbstractControl;
12
- }, model?: Model | object, validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
13
+ }, model?: Model, validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
13
14
  /**
14
15
  * Check validation and return a new instance of generic model.
15
16
  * Merge form value to initial object
16
17
  * @param data Additional data object which be merged to form value
17
18
  */
18
19
  submit(data?: object): Model;
20
+ private createModelInstance;
19
21
  }
@@ -0,0 +1,25 @@
1
+ import { AbstractForm } from '../../abstract.form';
2
+ import { BankAccount } from '../../../models/bank/bank-account';
3
+ import { BankConnection } from '../../../models/bank/bank-connection';
4
+ import { IEventListener } from '../../../interfaces/event-listener.interface';
5
+ /**
6
+ * Form is using for single manual bank account creation (not Basiq)
7
+ */
8
+ export declare class BankAccountAddManualForm extends AbstractForm<BankAccount> implements IEventListener {
9
+ private connection;
10
+ static accountNumberPattern: string;
11
+ constructor(connection: BankConnection);
12
+ listenEvents(): void;
13
+ /**
14
+ * Add/Remove loan form depends on selected bank account type
15
+ */
16
+ private listenTypeChanges;
17
+ /**
18
+ * Add/Remove bank account properties form depends on selected tank type
19
+ */
20
+ private listenTankTypeChanges;
21
+ /**
22
+ * Attach bank connection to manual bank account
23
+ */
24
+ submit(): BankAccount;
25
+ }
@@ -0,0 +1,15 @@
1
+ import { AbstractForm } from '../../abstract.form';
2
+ import { BankAccount } from '../../../models/bank/bank-account';
3
+ import { IEventListener } from '../../../interfaces/event-listener.interface';
4
+ /**
5
+ * Form is using for import basiq bank accounts.
6
+ * Basiq accounts has all data except tank type, properties and loan partially
7
+ */
8
+ export declare class BankAccountImportForm extends AbstractForm<BankAccount> implements IEventListener {
9
+ constructor(bankAccount: BankAccount);
10
+ listenEvents(): void;
11
+ /**
12
+ * Add/Remove bank account properties form depends on selected tank type
13
+ */
14
+ private listenTankTypeChanges;
15
+ }
@@ -0,0 +1,8 @@
1
+ import { AbstractForm } from '../../abstract.form';
2
+ import { Loan } from '../../../models/loan/loan';
3
+ /**
4
+ * Form with bank account loan details
5
+ */
6
+ export declare class BankAccountLoanForm extends AbstractForm<Loan> {
7
+ constructor(loan?: Loan);
8
+ }
@@ -0,0 +1,11 @@
1
+ import { FormArray } from '@angular/forms';
2
+ import { BankAccountProperty } from '../../../models/bank/bank-account-property';
3
+ /**
4
+ * Form array with bank account properties
5
+ */
6
+ export declare class BankAccountPropertiesForm extends FormArray {
7
+ constructor(bankAccountProperties?: BankAccountProperty[]);
8
+ add(): void;
9
+ enablePercent(): void;
10
+ disablePercent(): void;
11
+ }
@@ -0,0 +1,12 @@
1
+ import { BankAccount } from '../../../models/bank/bank-account';
2
+ import { AbstractForm } from '../../abstract.form';
3
+ /**
4
+ * Form for import multiple basiq bank accounts
5
+ */
6
+ export declare class BankAccountsImportForm extends AbstractForm<BankAccount[]> {
7
+ protected bankAccounts: BankAccount[];
8
+ static minDate: Date;
9
+ static maxDate: Date;
10
+ constructor(bankAccounts: BankAccount[]);
11
+ submit(): BankAccount[];
12
+ }
@@ -1,10 +1,9 @@
1
1
  export * from './abstract.form';
2
- export * from './bank/bank-account.form';
3
- export * from './bank/bank-account-loan.form';
4
- export * from './bank/bank-account-add-manual.form';
5
- export * from './bank/bank-account-migrate.form';
6
- export * from './bank/bank-account-property.form';
7
- export * from './bank/bank-account-properties.form';
2
+ export * from './bank/bank-account/bank-account-import.form';
3
+ export * from './bank/bank-account/bank-account-loan.form';
4
+ export * from './bank/bank-account/bank-account-add-manual.form';
5
+ export * from './bank/bank-account/bank-account-properties.form';
6
+ export * from './bank/bank-account/bank-accounts-import.form';
8
7
  export * from './bank/bank-login.form';
9
8
  export * from './client/client-income-types.form';
10
9
  export * from './login/login.form';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * interface contains user's auth tokens
3
+ */
4
+ export interface AuthTokens {
5
+ token: string;
6
+ refreshToken: string;
7
+ }
@@ -2,6 +2,7 @@ import { Bank as BankBase } from '../../db/Models/bank/bank';
2
2
  import { Photoable } from '../../interfaces/photoable';
3
3
  export declare class Bank extends BankBase implements Photoable {
4
4
  logo: string;
5
+ isPopular: boolean;
5
6
  getInitials(): string;
6
7
  getPhoto(): string;
7
8
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * List of objects grouped by passed property
3
+ */
4
+ export declare class Dictionary<Model> {
5
+ items: {
6
+ [key: string]: Model;
7
+ };
8
+ constructor(items: Model[], path?: string);
9
+ add(key: string | number, value: Model): void;
10
+ get(key: string | number): Model;
11
+ private groupItems;
12
+ }
@@ -3,6 +3,7 @@ import { HttpClient } from '@angular/common/http';
3
3
  import { JwtService } from './jwt.service';
4
4
  import { IEventListener } from "../../interfaces/event-listener.interface";
5
5
  import { EventDispatcherService } from "../event/event-dispatcher.service";
6
+ import { AuthTokens } from "../../interfaces/auth-tokens.interface";
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class AuthService implements IEventListener {
8
9
  private http;
@@ -19,7 +20,7 @@ export declare class AuthService implements IEventListener {
19
20
  * User logout if failed current user get
20
21
  */
21
22
  listenUserGetFailed(): void;
22
- setAuth(response: any): void;
23
+ setAuth(response: AuthTokens): void;
23
24
  login(username: string, password: string): import("rxjs").Observable<any>;
24
25
  refresh(refreshToken: string): import("rxjs").Observable<any>;
25
26
  logoutFront(url?: string): void;
@@ -3,6 +3,8 @@ import { BankAccount as BankAccountBase } from '../../../../db/Models/bank/bank-
3
3
  import { RestService } from '../../rest/rest.service';
4
4
  import { BankAccount } from '../../../../models/bank/bank-account';
5
5
  import { IEventListener } from '../../../../interfaces/event-listener.interface';
6
+ import { BankConnection } from '../../../../models/bank/bank-connection';
7
+ import { BankAccountCollection } from '../../../../collections/bank-account.collection';
6
8
  import * as i0 from "@angular/core";
7
9
  /**
8
10
  * Service that handling user's bank accounts logic
@@ -34,6 +36,7 @@ export declare class BankAccountService extends RestService<BankAccountBase, Ban
34
36
  */
35
37
  updateCurrentBalance(bankAccount: BankAccount): Observable<BankAccount>;
36
38
  getOwn(): Observable<BankAccount[]>;
39
+ getByConnection(connection: BankConnection): Observable<BankAccountCollection>;
37
40
  /**
38
41
  * Listen to EventDispatcherService events
39
42
  */
@@ -14,14 +14,6 @@ export declare class BankConnectionService extends RestService<BankConnectionBas
14
14
  listenEvents(): void;
15
15
  add(bankConnection: BankConnection): Observable<BankConnection>;
16
16
  listenToAddedBankAccounts(): void;
17
- /**
18
- * When user log in to bank, basiq create a job. We create a bank connection with based on this job
19
- */
20
- listenBasiqJobCreated(): void;
21
- /**
22
- * When basiq connection disconnected we create a basiq job and update this connection
23
- */
24
- listenConnectionUpdated(): void;
25
17
  /**
26
18
  * Update cache when basiq login failed to get actual connections statuses
27
19
  */
@@ -1,6 +1,7 @@
1
1
  import { Bank as BankBase } from '../../../db/Models/bank/bank';
2
2
  import { Bank } from '../../../models/bank/bank';
3
3
  import { RestService } from '../rest/rest.service';
4
+ import { Observable } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * Service that handling banks logic
@@ -9,6 +10,7 @@ export declare class BankService extends RestService<BankBase, Bank> {
9
10
  modelClass: typeof Bank;
10
11
  url: string;
11
12
  isHydra: boolean;
13
+ get(): Observable<Bank[]>;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<BankService, never>;
13
15
  static ɵprov: i0.ɵɵInjectableDeclaration<BankService>;
14
16
  }
@@ -9,6 +9,7 @@ import { EventDispatcherService } from '../../../event/event-dispatcher.service'
9
9
  import { BankConnectionService } from '../bank-connection/bank-connection.service';
10
10
  import { ToastService } from '../../../toast/toast.service';
11
11
  import { BankLoginData } from '../../../../models/bank/bank-login-data';
12
+ import { BankAccountCollection } from '../../../../collections/bank-account.collection';
12
13
  import * as i0 from "@angular/core";
13
14
  /**
14
15
  * basiq is a middleman between bank and user
@@ -29,13 +30,21 @@ export declare class BasiqService extends RestService<BankAccountBase, BankAccou
29
30
  */
30
31
  listenEvents(): void;
31
32
  /**
32
- * Create Basiq job for the new bank connection creation
33
+ * Create a new Bank connection based on Basiq job.
34
+ * Here we have nested requests because we need to get a job id before we create a bank connection.
35
+ * There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
36
+ * we interact with basiq service.
33
37
  */
34
- createConnection(data: BankLoginData, userId: string, connection: BankConnection): Observable<string>;
38
+ createConnection(loginData: BankLoginData, userId: string): Observable<BankConnection>;
35
39
  /**
36
40
  * Update disconnected bank connection
41
+ * Here we have nested requests because we need to get a job id before we create a bank connection.
42
+ * There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
43
+ * we interact with basiq service.
37
44
  */
38
- updateConnection(data: object, userId: string, connection: BankConnection): Observable<string>;
45
+ updateConnection(data: BankLoginData, userId: string, connection: BankConnection): Observable<BankConnection>;
46
+ getByConnection(connection: BankConnection): Observable<BankAccountCollection>;
47
+ getNotImportedByConnection(savedAccounts: BankAccountCollection, connection: BankConnection): Observable<BankAccountCollection>;
39
48
  /**
40
49
  * listen to notifications to update basiq accounts list
41
50
  */
@@ -0,0 +1,11 @@
1
+ /**
2
+ * auth options for facebook api
3
+ * more here https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/facebook-js-sdk/index.d.ts
4
+ */
5
+ export interface FacebookAuthOptions {
6
+ auth_type?: string;
7
+ scope?: string;
8
+ return_scopes?: boolean;
9
+ enable_profile_selector?: boolean;
10
+ profile_selector_ids?: string;
11
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * auth response from facebook api
3
+ * more here https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/facebook-js-sdk/index.d.ts
4
+ */
5
+ export interface FacebookAuthResponse {
6
+ accessToken: string;
7
+ expiresIn: number;
8
+ signedRequest: string;
9
+ userID: string;
10
+ grantedScopes?: string;
11
+ }
@@ -0,0 +1,9 @@
1
+ import { FacebookAuthResponse } from './facebook-auth-response.interface';
2
+ /**
3
+ * response from facebook api login.
4
+ * more here https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/facebook-js-sdk/index.d.ts
5
+ */
6
+ export interface FacebookStatusResponse {
7
+ authResponse: FacebookAuthResponse;
8
+ status: string;
9
+ }
@@ -0,0 +1,38 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { ToastService } from '../../toast/toast.service';
4
+ import { JwtService } from '../../auth/jwt.service';
5
+ import { FacebookAuthOptions } from "./facebook-auth-options.interface";
6
+ import { Router } from "@angular/router";
7
+ import * as i0 from "@angular/core";
8
+ export declare class FacebookService {
9
+ private http;
10
+ private toastService;
11
+ private jwtService;
12
+ private router;
13
+ private environment;
14
+ isLoggedInSubject: BehaviorSubject<boolean>;
15
+ isFacebookEnabled: boolean;
16
+ static authOptions: FacebookAuthOptions;
17
+ /**
18
+ * @TODO when google login will be done, it needs to be moved to an abstract class
19
+ */
20
+ constructor(http: HttpClient, toastService: ToastService, jwtService: JwtService, router: Router, environment: any);
21
+ login(redirectUrl?: string): Promise<any>;
22
+ /**
23
+ * save user's auth tokens
24
+ * @TODO move to abstract class
25
+ */
26
+ private setAuth;
27
+ /**
28
+ * get facebook auth access token
29
+ */
30
+ private getAccessToken;
31
+ /**
32
+ * logout user from facebook.
33
+ * Need to logout when user is trying to login with facebook with manually registered email
34
+ */
35
+ private logout;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<FacebookService, never>;
37
+ static ɵprov: i0.ɵɵInjectableDeclaration<FacebookService>;
38
+ }
@@ -44,6 +44,7 @@ export declare class UserService implements IEventListener {
44
44
  * Reset user password
45
45
  */
46
46
  resetPassword(newPassword: string, resetToken: string): Observable<object>;
47
+ resendConfirmationEmail(email: string): Observable<object>;
47
48
  /**
48
49
  * Confirm registered user
49
50
  */
@@ -0,0 +1,5 @@
1
+ import { ValidatorFn } from '@angular/forms';
2
+ /**
3
+ * Validator check if at least one control in formArray is enabled
4
+ */
5
+ export declare function atLeastOneEnabledValidator(arrayName: string): ValidatorFn;
@@ -1,5 +1,6 @@
1
1
  import { ValidatorFn } from '@angular/forms';
2
2
  /**
3
3
  * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
4
+ * @TODO Alex: create class AppValidators with static methods and move there all custom validators (line Angular Validators)
4
5
  */
5
- export declare function requireAutocomplete(): ValidatorFn;
6
+ export declare function autocompleteValidator(): ValidatorFn;
@@ -1,5 +1,4 @@
1
1
  export * from './at-least-one.validator';
2
- export * from './require-autocomplete';
2
+ export * from './autocomplete.validator';
3
3
  export * from './password.validator';
4
4
  export * from './password-match.validator';
5
- export * from './require-select.validator';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taxtank-core",
3
- "version": "0.19.2",
3
+ "version": "0.21.0",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^12.2.3 || ~13.0.0",
package/public-api.d.ts CHANGED
@@ -7,7 +7,6 @@ export * from './lib/tt-core.module';
7
7
  */
8
8
  export * from './lib/collections/collection';
9
9
  export * from './lib/collections/account-setup-item.collection';
10
- export * from './lib/collections/bank.collection';
11
10
  export * from './lib/collections/bank-account.collection';
12
11
  export * from './lib/collections/bank-transaction.collection';
13
12
  export * from './lib/collections/client.collection';
@@ -183,6 +182,7 @@ export * from './lib/models/depreciation/depreciation-group';
183
182
  export * from './lib/models/depreciation/depreciation-group-item';
184
183
  export * from './lib/models/depreciation/depreciation-groups.const';
185
184
  export * from './lib/models/depreciation/depreciation-receipt';
185
+ export * from './lib/models/dictionary/dictionary';
186
186
  export * from './lib/models/document/document';
187
187
  export * from './lib/models/document/document-api-url-prefix.enum';
188
188
  export * from './lib/models/document/document-file-types.const';
@@ -377,6 +377,7 @@ export * from './lib/services/http/vehicle/vehicle-claim.service';
377
377
  export * from './lib/services/http/vehicle/vehicle-logbook.service';
378
378
  export * from './lib/services/xlsx/xlsx.service';
379
379
  export * from './lib/services/http/property/property-sale/tax-exemption/tax-exemption.service';
380
+ export * from './lib/services/http/facebook/facebook.service';
380
381
  /**
381
382
  * Interfaces
382
383
  */
@@ -1,15 +0,0 @@
1
- import { Collection } from './collection';
2
- export class BankCollection extends Collection {
3
- constructor(banks) {
4
- super(banks);
5
- this.sortByPopularity();
6
- }
7
- sortByPopularity() {
8
- this.items.sort((bank1, bank2) => {
9
- // Banks already sorted on backend by name, so we just need to up top-10 banks
10
- return (BankCollection.tobBanksIds.includes(bank1.id) && !BankCollection.tobBanksIds.includes(bank2.id)) ? -1 : 1;
11
- });
12
- }
13
- }
14
- BankCollection.tobBanksIds = [124, 13, 134, 172, 126, 142, 135, 137, 138, 128];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmsuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBZ0I7SUFHbEQsWUFBWSxLQUFhO1FBQ3ZCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVcsRUFBRSxLQUFXLEVBQVUsRUFBRTtZQUNuRCw4RUFBOEU7WUFDOUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFaTSwwQkFBVyxHQUFhLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IEJhbmsgfSBmcm9tICcuLi9tb2RlbHMvYmFuay9iYW5rJztcblxuZXhwb3J0IGNsYXNzIEJhbmtDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxCYW5rPiB7XG4gIHN0YXRpYyB0b2JCYW5rc0lkczogbnVtYmVyW10gPSBbMTI0LCAxMywgMTM0LCAxNzIsIDEyNiwgMTQyLCAxMzUsIDEzNywgMTM4LCAxMjhdO1xuXG4gIGNvbnN0cnVjdG9yKGJhbmtzOiBCYW5rW10pIHtcbiAgICBzdXBlcihiYW5rcyk7XG4gICAgdGhpcy5zb3J0QnlQb3B1bGFyaXR5KCk7XG4gIH1cblxuICBzb3J0QnlQb3B1bGFyaXR5KCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMuc29ydCgoYmFuazE6IEJhbmssIGJhbmsyOiBCYW5rKTogbnVtYmVyID0+IHtcbiAgICAgIC8vIEJhbmtzIGFscmVhZHkgc29ydGVkIG9uIGJhY2tlbmQgYnkgbmFtZSwgc28gd2UganVzdCBuZWVkIHRvIHVwIHRvcC0xMCBiYW5rc1xuICAgICAgcmV0dXJuIChCYW5rQ29sbGVjdGlvbi50b2JCYW5rc0lkcy5pbmNsdWRlcyhiYW5rMS5pZCkgJiYgIUJhbmtDb2xsZWN0aW9uLnRvYkJhbmtzSWRzLmluY2x1ZGVzKGJhbmsyLmlkKSkgPyAtMSA6IDE7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { AbstractForm } from '../abstract.form';
2
- import { BankAccount } from '../../models/bank/bank-account';
3
- import { FormControl, Validators } from '@angular/forms';
4
- import { plainToClass } from 'class-transformer';
5
- /**
6
- * Form is using for manual bank account creation (not Basiq), prepares bank account data for the next saving.
7
- */
8
- export class BankAccountAddManualForm extends AbstractForm {
9
- constructor(connection) {
10
- super({
11
- type: new FormControl(null, Validators.required),
12
- accountName: new FormControl(null, Validators.required),
13
- currentBalance: new FormControl(null, Validators.required),
14
- accountNumber: new FormControl(null, [Validators.required, Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]),
15
- }, plainToClass(BankAccount, { bankConnection: connection }));
16
- }
17
- }
18
- BankAccountAddManualForm.accountNumberPattern = '^[0-9]{6}[ ]{1}[0-9]{1,}$';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LWFkZC1tYW51YWwuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9iYW5rL2JhbmstYWNjb3VudC1hZGQtbWFudWFsLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxZQUF5QjtJQUdyRSxZQUFZLFVBQTBCO1FBQ3BDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNoRCxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdkQsY0FBYyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzFELGFBQWEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1NBQy9ILEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7QUFUTSw2Q0FBb0IsR0FBVywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5cbi8qKlxuICogRm9ybSBpcyB1c2luZyBmb3IgbWFudWFsIGJhbmsgYWNjb3VudCBjcmVhdGlvbiAobm90IEJhc2lxKSwgcHJlcGFyZXMgYmFuayBhY2NvdW50IGRhdGEgZm9yIHRoZSBuZXh0IHNhdmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50QWRkTWFudWFsRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxCYW5rQWNjb3VudD4ge1xuICBzdGF0aWMgYWNjb3VudE51bWJlclBhdHRlcm46IHN0cmluZyA9ICdeWzAtOV17Nn1bIF17MX1bMC05XXsxLH0kJztcblxuICBjb25zdHJ1Y3Rvcihjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbikge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGFjY291bnROYW1lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjdXJyZW50QmFsYW5jZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgYWNjb3VudE51bWJlcjogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oQmFua0FjY291bnRBZGRNYW51YWxGb3JtLmFjY291bnROdW1iZXJQYXR0ZXJuKV0pLFxuICAgIH0sIHBsYWluVG9DbGFzcyhCYW5rQWNjb3VudCwge2JhbmtDb25uZWN0aW9uOiBjb25uZWN0aW9ufSkpO1xuICB9XG59XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { AbstractForm } from '../abstract.form';
2
- import { FormControl, Validators } from '@angular/forms';
3
- import { Loan } from '../../models/loan/loan';
4
- import { plainToClass } from 'class-transformer';
5
- export class BankAccountLoanForm extends AbstractForm {
6
- constructor(loan = plainToClass(Loan, {})) {
7
- super({
8
- type: new FormControl(loan.type, Validators.required),
9
- amount: new FormControl(loan.amount, Validators.required),
10
- repaymentType: new FormControl(loan.repaymentType, Validators.required),
11
- interestRate: new FormControl(loan.interestRate, [Validators.required, Validators.min(0), Validators.max(100)]),
12
- interestType: new FormControl(loan.interestType, Validators.required),
13
- availableRedraw: new FormControl(loan.availableRedraw, Validators.required),
14
- commencementDate: new FormControl(loan.commencementDate, Validators.required),
15
- repaymentAmount: new FormControl(loan.repaymentAmount, Validators.required),
16
- repaymentFrequency: new FormControl(loan.repaymentFrequency, Validators.required)
17
- }, loan);
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LWxvYW4uZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9iYW5rL2JhbmstYWNjb3VudC1sb2FuLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBa0I7SUFDekQsWUFBWSxPQUFhLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzdDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN6RCxhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3ZFLFlBQVksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRyxZQUFZLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3JFLGVBQWUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDM0UsZ0JBQWdCLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDN0UsZUFBZSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMzRSxrQkFBa0IsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNsRixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9hbi9sb2FuJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50TG9hbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08TG9hbj4ge1xuICBjb25zdHJ1Y3Rvcihsb2FuOiBMb2FuID0gcGxhaW5Ub0NsYXNzKExvYW4sIHt9KSkge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6IG5ldyBGb3JtQ29udHJvbChsb2FuLnR5cGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2wobG9hbi5hbW91bnQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcmVwYXltZW50VHlwZTogbmV3IEZvcm1Db250cm9sKGxvYW4ucmVwYXltZW50VHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpbnRlcmVzdFJhdGU6IG5ldyBGb3JtQ29udHJvbChsb2FuLmludGVyZXN0UmF0ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCgxMDApXSksXG4gICAgICBpbnRlcmVzdFR5cGU6IG5ldyBGb3JtQ29udHJvbChsb2FuLmludGVyZXN0VHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBhdmFpbGFibGVSZWRyYXc6IG5ldyBGb3JtQ29udHJvbChsb2FuLmF2YWlsYWJsZVJlZHJhdywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb21tZW5jZW1lbnREYXRlOiBuZXcgRm9ybUNvbnRyb2wobG9hbi5jb21tZW5jZW1lbnREYXRlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHJlcGF5bWVudEFtb3VudDogbmV3IEZvcm1Db250cm9sKGxvYW4ucmVwYXltZW50QW1vdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHJlcGF5bWVudEZyZXF1ZW5jeTogbmV3IEZvcm1Db250cm9sKGxvYW4ucmVwYXltZW50RnJlcXVlbmN5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH0sIGxvYW4pO1xuICB9XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { AbstractForm } from '../abstract.form';
2
- import { FormControl, Validators } from '@angular/forms';
3
- import { FinancialYear } from '../../models/financial-year/financial-year';
4
- import { dateRangeValidator } from '../../validators/date-range.validator';
5
- export class BankAccountMigrateForm extends AbstractForm {
6
- constructor() {
7
- super({
8
- migrateFrom: new FormControl(BankAccountMigrateForm.minDate, [Validators.required, dateRangeValidator(BankAccountMigrateForm.minDate, BankAccountMigrateForm.maxDate)]),
9
- migrateTo: new FormControl(BankAccountMigrateForm.maxDate, [Validators.required, dateRangeValidator(BankAccountMigrateForm.minDate, BankAccountMigrateForm.maxDate)])
10
- });
11
- }
12
- }
13
- BankAccountMigrateForm.minDate = new FinancialYear().prevFinYear.startDate;
14
- BankAccountMigrateForm.maxDate = new Date();
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LW1pZ3JhdGUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9iYW5rL2JhbmstYWNjb3VudC1taWdyYXRlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxZQUFrRDtJQUk1RjtRQUNFLEtBQUssQ0FBQztZQUNKLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3ZLLFNBQVMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3RLLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBUk0sOEJBQU8sR0FBUyxJQUFJLGFBQWEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7QUFDMUQsOEJBQU8sR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgZGF0ZVJhbmdlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9kYXRlLXJhbmdlLnZhbGlkYXRvcic7XG5cbmV4cG9ydCBjbGFzcyBCYW5rQWNjb3VudE1pZ3JhdGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPHttaWdyYXRlRnJvbTogRGF0ZSwgbWlncmF0ZVRvOiBEYXRlfT4ge1xuICBzdGF0aWMgbWluRGF0ZTogRGF0ZSA9IG5ldyBGaW5hbmNpYWxZZWFyKCkucHJldkZpblllYXIuc3RhcnREYXRlO1xuICBzdGF0aWMgbWF4RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgbWlncmF0ZUZyb206IG5ldyBGb3JtQ29udHJvbChCYW5rQWNjb3VudE1pZ3JhdGVGb3JtLm1pbkRhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBkYXRlUmFuZ2VWYWxpZGF0b3IoQmFua0FjY291bnRNaWdyYXRlRm9ybS5taW5EYXRlLCBCYW5rQWNjb3VudE1pZ3JhdGVGb3JtLm1heERhdGUpXSksXG4gICAgICBtaWdyYXRlVG86IG5ldyBGb3JtQ29udHJvbChCYW5rQWNjb3VudE1pZ3JhdGVGb3JtLm1heERhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBkYXRlUmFuZ2VWYWxpZGF0b3IoQmFua0FjY291bnRNaWdyYXRlRm9ybS5taW5EYXRlLCBCYW5rQWNjb3VudE1pZ3JhdGVGb3JtLm1heERhdGUpXSlcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,15 +0,0 @@
1
- import { FormArray } from '@angular/forms';
2
- import { BankAccountPropertyForm } from './bank-account-property.form';
3
- export class BankAccountPropertiesForm extends FormArray {
4
- constructor(isLoan, bankAccountProperties = []) {
5
- super(bankAccountProperties.length
6
- ? bankAccountProperties.map((bankAccountProperty) => new BankAccountPropertyForm(isLoan, bankAccountProperty))
7
- : [new BankAccountPropertyForm(isLoan)]);
8
- this.isLoan = isLoan;
9
- this.bankAccountProperties = bankAccountProperties;
10
- }
11
- add() {
12
- this.push(new BankAccountPropertyForm(this.isLoan));
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LXByb3BlcnRpZXMuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9iYW5rL2JhbmstYWNjb3VudC1wcm9wZXJ0aWVzLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3ZFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUFTO0lBQ3RELFlBQ1UsTUFBZSxFQUNmLHdCQUErQyxFQUFFO1FBRXpELEtBQUssQ0FDSCxxQkFBcUIsQ0FBQyxNQUFNO1lBQzFCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxtQkFBd0MsRUFBRSxFQUFFLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUNuSSxDQUFDLENBQUMsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQzFDLENBQUM7UUFQTSxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE0QjtJQU8zRCxDQUFDO0lBRUQsR0FBRztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5Rm9ybSB9IGZyb20gJy4vYmFuay1hY2NvdW50LXByb3BlcnR5LmZvcm0nO1xuaW1wb3J0IHsgQmFua0FjY291bnRQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1wcm9wZXJ0eSc7XG5cbmV4cG9ydCBjbGFzcyBCYW5rQWNjb3VudFByb3BlcnRpZXNGb3JtIGV4dGVuZHMgRm9ybUFycmF5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpc0xvYW46IGJvb2xlYW4sXG4gICAgcHJpdmF0ZSBiYW5rQWNjb3VudFByb3BlcnRpZXM6IEJhbmtBY2NvdW50UHJvcGVydHlbXSA9IFtdXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgYmFua0FjY291bnRQcm9wZXJ0aWVzLmxlbmd0aFxuICAgICAgICA/IGJhbmtBY2NvdW50UHJvcGVydGllcy5tYXAoKGJhbmtBY2NvdW50UHJvcGVydHk6IEJhbmtBY2NvdW50UHJvcGVydHkpID0+IG5ldyBCYW5rQWNjb3VudFByb3BlcnR5Rm9ybShpc0xvYW4sIGJhbmtBY2NvdW50UHJvcGVydHkpKVxuICAgICAgICA6IFtuZXcgQmFua0FjY291bnRQcm9wZXJ0eUZvcm0oaXNMb2FuKV1cbiAgICApO1xuICB9XG5cbiAgYWRkKCk6IHZvaWQge1xuICAgIHRoaXMucHVzaChuZXcgQmFua0FjY291bnRQcm9wZXJ0eUZvcm0odGhpcy5pc0xvYW4pKTtcbiAgfVxufVxuIl19
@@ -1,13 +0,0 @@
1
- import { AbstractForm } from '../abstract.form';
2
- import { FormControl, Validators } from '@angular/forms';
3
- import { BankAccountProperty } from '../../models/bank/bank-account-property';
4
- import { plainToClass } from 'class-transformer';
5
- export class BankAccountPropertyForm extends AbstractForm {
6
- constructor(isLoan, bankAccountProperty = plainToClass(BankAccountProperty, {})) {
7
- super({
8
- property: new FormControl(bankAccountProperty.property, Validators.required),
9
- percent: new FormControl({ value: bankAccountProperty.percent, disabled: !isLoan }, Validators.required)
10
- }, bankAccountProperty);
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LXByb3BlcnR5LmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvYmFuay9iYW5rLWFjY291bnQtcHJvcGVydHkuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFlBQWlDO0lBQzVFLFlBQ0UsTUFBZSxFQUNmLHNCQUEyQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1FBRWhGLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM1RSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdkcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50LXByb3BlcnR5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50UHJvcGVydHlGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEJhbmtBY2NvdW50UHJvcGVydHk+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgaXNMb2FuOiBib29sZWFuLFxuICAgIGJhbmtBY2NvdW50UHJvcGVydHk6IEJhbmtBY2NvdW50UHJvcGVydHkgPSBwbGFpblRvQ2xhc3MoQmFua0FjY291bnRQcm9wZXJ0eSwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIHByb3BlcnR5OiBuZXcgRm9ybUNvbnRyb2woYmFua0FjY291bnRQcm9wZXJ0eS5wcm9wZXJ0eSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBwZXJjZW50OiBuZXcgRm9ybUNvbnRyb2woe3ZhbHVlOiBiYW5rQWNjb3VudFByb3BlcnR5LnBlcmNlbnQsIGRpc2FibGVkOiAhaXNMb2FufSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICB9LCBiYW5rQWNjb3VudFByb3BlcnR5KTtcbiAgfVxufVxuIl19