taxtank-core 0.33.16 → 0.33.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. package/esm2022/src/lib/collections/sole/index.mjs +2 -2
  2. package/esm2022/src/lib/collections/sole/sole-business-loss.collection.mjs +41 -0
  3. package/esm2022/src/lib/db/Models/sole/sole-details.mjs +3 -3
  4. package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +2 -2
  5. package/esm2022/src/lib/forms/property/property-add.form.mjs +7 -3
  6. package/esm2022/src/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.mjs +1 -1
  7. package/esm2022/src/lib/models/event/app-event-type.enum.mjs +15 -17
  8. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.mjs +1 -1
  9. package/esm2022/src/lib/models/report/my-tax/my-tax-losses/my-tax-losses.mjs +1 -1
  10. package/esm2022/src/lib/models/transaction/allocation-rule-transaction.mjs +1 -1
  11. package/esm2022/src/lib/services/http/bank/basiq/basiq.service.mjs +2 -1
  12. package/esm2022/src/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +1 -1
  13. package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +8 -3
  14. package/esm2022/src/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
  15. package/esm2022/src/lib/services/http/sole/sole-details/sole-details.service.mjs +16 -47
  16. package/esm2022/src/lib/validators/date/max-date.validator.mjs +17 -0
  17. package/esm2022/src/lib/validators/date/min-date.validator.mjs +17 -0
  18. package/esm2022/src/lib/validators/index.mjs +3 -2
  19. package/fesm2022/taxtank-core.mjs +57 -71
  20. package/fesm2022/taxtank-core.mjs.map +1 -1
  21. package/package.json +1 -1
  22. package/src/lib/collections/sole/index.d.ts +1 -1
  23. package/src/lib/collections/sole/{sole-business-losses.collection.d.ts → sole-business-loss.collection.d.ts} +1 -1
  24. package/src/lib/db/Models/sole/sole-details.d.ts +2 -2
  25. package/src/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.d.ts +1 -1
  26. package/src/lib/models/event/app-event-type.enum.d.ts +14 -16
  27. package/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.d.ts +2 -2
  28. package/src/lib/models/report/my-tax/my-tax-losses/my-tax-losses.d.ts +2 -2
  29. package/src/lib/services/http/bank/basiq/basiq.service.d.ts +1 -0
  30. package/src/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts +8 -3
  31. package/src/lib/services/http/sole/sole-details/sole-details.service.d.ts +12 -13
  32. package/src/lib/validators/date/max-date.validator.d.ts +5 -0
  33. package/src/lib/validators/index.d.ts +2 -1
  34. package/esm2022/src/lib/collections/sole/sole-business-losses.collection.mjs +0 -41
  35. package/esm2022/src/lib/validators/min-date/messages.enum.mjs +0 -5
  36. package/esm2022/src/lib/validators/min-date/min-date.validator.mjs +0 -18
  37. package/src/lib/validators/min-date/messages.enum.d.ts +0 -3
  38. /package/src/lib/validators/{min-date → date}/min-date.validator.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { SoleDepreciationMethod } from '../../../../models';
2
+ import { SoleDepreciationMethod, SoleDetails } from '../../../../models';
3
3
  import { ReplaySubject } from 'rxjs';
4
4
  import { catchError, map } from 'rxjs/operators';
5
5
  import { plainToClass } from 'class-transformer';
@@ -52,7 +52,7 @@ export class SoleDepreciationMethodService {
52
52
  }));
53
53
  }
54
54
  listenSoleDetailsChanges() {
55
- this.eventDispatcherService.on([AppEventTypeEnum.SOLE_DETAILS_CREATED, AppEventTypeEnum.SOLE_DETAILS_UPDATED])
55
+ this.eventDispatcherService.on2(...SoleDetails.getEventNames('post', 'put'))
56
56
  .subscribe(() => {
57
57
  this.cache = null;
58
58
  this.get().subscribe();
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
70
70
  type: Inject,
71
71
  args: ['environment']
72
72
  }] }, { type: i2.EventDispatcherService }, { type: i3.ToastService }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1kZXByZWNpYXRpb24tbWV0aG9kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZC9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQUkxRDs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBNkI7SUFLeEMsWUFDVSxJQUFnQixFQUNPLFdBQWdCLEVBQ3ZDLHNCQUE4QyxFQUM5QyxZQUEwQjtRQUgxQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ08sZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDdkMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVBwQyxpQkFBWSxHQUEwQyxJQUFJLGFBQWEsQ0FBeUIsQ0FBQyxDQUFDLENBQUM7UUFDbkcsUUFBRyxHQUFHLDJCQUEyQixDQUFDO1FBUWhDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDbkQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQTBCLEVBQUUsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdkc7aUJBQ0EsU0FBUyxDQUFDLENBQUMsc0JBQThDLEVBQTBCLEVBQUU7Z0JBQ3BGLElBQUksQ0FBQyxLQUFLLEdBQUcsc0JBQXNCLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFbkMsT0FBTyxzQkFBc0IsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQThDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxFQUFFLHNCQUFzQixDQUFDO2FBQy9HLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQywwQkFBc0QsRUFBMEIsRUFBRTtZQUNyRixNQUFNLE1BQU0sR0FBMkIsWUFBWSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDLENBQUM7WUFFeEcsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRW5DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUU5RyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLGFBQWE7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFFL0MsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUMzRyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0EvRFUsNkJBQTZCLDRDQU85QixhQUFhO21IQVBaLDZCQUE2QixjQUY1QixNQUFNOzs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU29sZURlcHJlY2lhdGlvbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kIGFzIFNvbGVEZXByZWNpYXRpb25NZXRob2RCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b2FzdCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGV4dGVuZCByZXN0IHNlcnZpY2Ugd2hlbiByZWZhY3RvcmVkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvbGVEZXByZWNpYXRpb25NZXRob2RTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogU29sZURlcHJlY2lhdGlvbk1ldGhvZDtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNvbGVEZXByZWNpYXRpb25NZXRob2Q+ID0gbmV3IFJlcGxheVN1YmplY3Q8U29sZURlcHJlY2lhdGlvbk1ldGhvZD4oMSk7XG4gIHVybCA9ICdzb2xlLWRlcHJlY2lhdGlvbi1tZXRob2RzJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblNvbGVEZXRhaWxzQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8U29sZURlcHJlY2lhdGlvbk1ldGhvZD4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdFtdKTogU29sZURlcHJlY2lhdGlvbk1ldGhvZCA9PiBwbGFpblRvQ2xhc3MoU29sZURlcHJlY2lhdGlvbk1ldGhvZCwgcmVzcG9uc2VbMF0pKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHNvbGVEZXByZWNpYXRpb25NZXRob2Q6IFNvbGVEZXByZWNpYXRpb25NZXRob2QpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gc29sZURlcHJlY2lhdGlvbk1ldGhvZDtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHNvbGVEZXByZWNpYXRpb25NZXRob2Q7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHVwZGF0ZShzb2xlRGVwcmVjaWF0aW9uTWV0aG9kOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kKTogT2JzZXJ2YWJsZTxTb2xlRGVwcmVjaWF0aW9uTWV0aG9kPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtzb2xlRGVwcmVjaWF0aW9uTWV0aG9kLmlkfWAsIHNvbGVEZXByZWNpYXRpb25NZXRob2QpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChzb2xlRGVwcmVjaWF0aW9uTWV0aG9kQmFzZTogU29sZURlcHJlY2lhdGlvbk1ldGhvZEJhc2UpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRob2Q6IFNvbGVEZXByZWNpYXRpb25NZXRob2QgPSBwbGFpblRvQ2xhc3MoU29sZURlcHJlY2lhdGlvbk1ldGhvZCwgc29sZURlcHJlY2lhdGlvbk1ldGhvZEJhc2UpO1xuXG4gICAgICAgICAgdGhpcy5jYWNoZSA9IG1ldGhvZDtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlNPTEVfREVQUkVDSUFUSU9OX01FVEhPRF9VUERBVEVELCBtZXRob2QpKTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gdGVzdFxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKGVycm9yLmVycm9yWydkZXRhaWwnXSk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuU29sZURldGFpbHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5TT0xFX0RFVEFJTFNfQ1JFQVRFRCwgQXBwRXZlbnRUeXBlRW51bS5TT0xFX0RFVEFJTFNfVVBEQVRFRF0pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jYWNoZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1kZXByZWNpYXRpb24tbWV0aG9kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZC9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFekUsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJMUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBS3hDLFlBQ1UsSUFBZ0IsRUFDTyxXQUFnQixFQUN2QyxzQkFBOEMsRUFDOUMsWUFBMEI7UUFIMUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNPLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3ZDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFQcEMsaUJBQVksR0FBMEMsSUFBSSxhQUFhLENBQXlCLENBQUMsQ0FBQyxDQUFDO1FBQ25HLFFBQUcsR0FBRywyQkFBMkIsQ0FBQztRQVFoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsR0FBRztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQ25ELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFrQixFQUEwQixFQUFFLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZHO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLHNCQUE4QyxFQUEwQixFQUFFO2dCQUNwRixJQUFJLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDO2dCQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRW5DLE9BQU8sc0JBQXNCLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUE4QztRQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQzthQUMvRyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsMEJBQXNELEVBQTBCLEVBQUU7WUFDckYsTUFBTSxNQUFNLEdBQTJCLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1lBRXhHLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFOUcsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxhQUFhO1lBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3pFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQS9EVSw2QkFBNkIsNENBTzlCLGFBQWE7bUhBUFosNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kLCBTb2xlRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kIGFzIFNvbGVEZXByZWNpYXRpb25NZXRob2RCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b2FzdCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEBUT0RPIEFsZXg6IGV4dGVuZCByZXN0IHNlcnZpY2Ugd2hlbiByZWZhY3RvcmVkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvbGVEZXByZWNpYXRpb25NZXRob2RTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogU29sZURlcHJlY2lhdGlvbk1ldGhvZDtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNvbGVEZXByZWNpYXRpb25NZXRob2Q+ID0gbmV3IFJlcGxheVN1YmplY3Q8U29sZURlcHJlY2lhdGlvbk1ldGhvZD4oMSk7XG4gIHVybCA9ICdzb2xlLWRlcHJlY2lhdGlvbi1tZXRob2RzJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblNvbGVEZXRhaWxzQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8U29sZURlcHJlY2lhdGlvbk1ldGhvZD4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdFtdKTogU29sZURlcHJlY2lhdGlvbk1ldGhvZCA9PiBwbGFpblRvQ2xhc3MoU29sZURlcHJlY2lhdGlvbk1ldGhvZCwgcmVzcG9uc2VbMF0pKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHNvbGVEZXByZWNpYXRpb25NZXRob2Q6IFNvbGVEZXByZWNpYXRpb25NZXRob2QpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gc29sZURlcHJlY2lhdGlvbk1ldGhvZDtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHNvbGVEZXByZWNpYXRpb25NZXRob2Q7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHVwZGF0ZShzb2xlRGVwcmVjaWF0aW9uTWV0aG9kOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kKTogT2JzZXJ2YWJsZTxTb2xlRGVwcmVjaWF0aW9uTWV0aG9kPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtzb2xlRGVwcmVjaWF0aW9uTWV0aG9kLmlkfWAsIHNvbGVEZXByZWNpYXRpb25NZXRob2QpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChzb2xlRGVwcmVjaWF0aW9uTWV0aG9kQmFzZTogU29sZURlcHJlY2lhdGlvbk1ldGhvZEJhc2UpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRob2Q6IFNvbGVEZXByZWNpYXRpb25NZXRob2QgPSBwbGFpblRvQ2xhc3MoU29sZURlcHJlY2lhdGlvbk1ldGhvZCwgc29sZURlcHJlY2lhdGlvbk1ldGhvZEJhc2UpO1xuXG4gICAgICAgICAgdGhpcy5jYWNoZSA9IG1ldGhvZDtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlNPTEVfREVQUkVDSUFUSU9OX01FVEhPRF9VUERBVEVELCBtZXRob2QpKTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gdGVzdFxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKGVycm9yLmVycm9yWydkZXRhaWwnXSk7XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuU29sZURldGFpbHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbjIoLi4uU29sZURldGFpbHMuZ2V0RXZlbnROYW1lcygncG9zdCcsICdwdXQnKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,55 +1,27 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
2
  import { SoleDetails } from '../../../../models';
3
- import { ReplaySubject } from 'rxjs';
3
+ import { RestService } from '../../rest';
4
+ import { Collection } from '../../../../collections';
5
+ import { UserRolesEnum } from 'taxtank-core/common';
4
6
  import { map } from 'rxjs/operators';
5
7
  import { plainToClass } from 'class-transformer';
6
- import { AppEvent, AppEventTypeEnum } from '../../../../models';
7
8
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "../../../event";
10
9
  /**
11
10
  * @TODO TT-1777 Alex: extend from rest service when it refactored
12
11
  */
13
- export class SoleDetailsService {
14
- constructor(http, environment, eventDispatcherService) {
15
- this.http = http;
16
- this.environment = environment;
17
- this.eventDispatcherService = eventDispatcherService;
18
- this.cacheSubject = new ReplaySubject(1);
12
+ export class SoleDetailsService extends RestService {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.modelClass = SoleDetails;
16
+ this.collectionClass = Collection;
17
+ this.endpointUri = 'sole-details';
18
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
19
+ this.roles = [UserRolesEnum.SOLE_TANK];
19
20
  }
20
21
  get() {
21
- if (!this.cache) {
22
- this.http.get(`${this.environment.apiV2}/sole-details`)
23
- .pipe(map((response) => plainToClass(SoleDetails, response[0])))
24
- .subscribe((soleDetails) => {
25
- // undefined when user not created sole details
26
- if (!soleDetails) {
27
- soleDetails = plainToClass(SoleDetails, {});
28
- }
29
- this.cache = soleDetails;
30
- this.cacheSubject.next(this.cache);
31
- return soleDetails;
32
- });
33
- }
34
- return this.cacheSubject.asObservable();
22
+ return super.get().pipe(map(soleDetails => soleDetails.length ? soleDetails : new Collection([plainToClass(SoleDetails, {})])));
35
23
  }
36
- add(soleDetails) {
37
- return this.http.post(`${this.environment.apiV2}/sole-details`, soleDetails).pipe(map((soleDetailsBase) => {
38
- this.cache = plainToClass(SoleDetails, soleDetailsBase);
39
- this.cacheSubject.next(this.cache);
40
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_DETAILS_CREATED, soleDetails));
41
- return this.cache;
42
- }));
43
- }
44
- update(soleDetails) {
45
- return this.http.put(`${this.environment.apiV2}/sole-details/${soleDetails.id}`, soleDetails).pipe(map((soleDetailsBase) => {
46
- this.cache = plainToClass(SoleDetails, soleDetailsBase);
47
- this.cacheSubject.next(this.cache);
48
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_DETAILS_UPDATED, soleDetails));
49
- return this.cache;
50
- }));
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: i2.EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
53
25
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, providedIn: 'root' }); }
54
26
  }
55
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, decorators: [{
@@ -57,8 +29,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
57
29
  args: [{
58
30
  providedIn: 'root'
59
31
  }]
60
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
61
- type: Inject,
62
- args: ['environment']
63
- }] }, { type: i2.EventDispatcherService }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtZGV0YWlscy9zb2xlLWRldGFpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUVoRTs7R0FFRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDVSxJQUFnQixFQUNTLFdBQWdCLEVBQ3pDLHNCQUE4QztRQUY5QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ1MsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUx4RCxpQkFBWSxHQUErQixJQUFJLGFBQWEsQ0FBYyxDQUFDLENBQUMsQ0FBQztJQU83RSxDQUFDO0lBRUQsR0FBRztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZUFBZSxDQUFDO2lCQUNwRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBZSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRjtpQkFDQSxTQUFTLENBQUMsQ0FBQyxXQUF3QixFQUFlLEVBQUU7Z0JBQ25ELCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDaEIsV0FBVyxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQzdDO2dCQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO2dCQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRW5DLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELEdBQUcsQ0FBQyxXQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQy9FLEdBQUcsQ0FBQyxDQUFDLGVBQWdDLEVBQWUsRUFBRTtZQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRW5DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUV2RyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxpQkFBaUIsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDaEcsR0FBRyxDQUFDLENBQUMsZUFBZ0MsRUFBZSxFQUFFO1lBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBRXZHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F6RFUsa0JBQWtCLDRDQU1uQixhQUFhO21IQU5aLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIGFzIFNvbGVEZXRhaWxzQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtZGV0YWlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50LCBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBAVE9ETyBUVC0xNzc3IEFsZXg6IGV4dGVuZCBmcm9tIHJlc3Qgc2VydmljZSB3aGVuIGl0IHJlZmFjdG9yZWRcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZURldGFpbHNTZXJ2aWNlIHtcbiAgY2FjaGU6IFNvbGVEZXRhaWxzO1xuICBjYWNoZVN1YmplY3Q6IFJlcGxheVN1YmplY3Q8U29sZURldGFpbHM+ID0gbmV3IFJlcGxheVN1YmplY3Q8U29sZURldGFpbHM+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZVxuICApIHtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFNvbGVEZXRhaWxzPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3NvbGUtZGV0YWlsc2ApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdFtdKTogU29sZURldGFpbHMgPT4gcGxhaW5Ub0NsYXNzKFNvbGVEZXRhaWxzLCByZXNwb25zZVswXSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoc29sZURldGFpbHM6IFNvbGVEZXRhaWxzKTogU29sZURldGFpbHMgPT4ge1xuICAgICAgICAgIC8vIHVuZGVmaW5lZCB3aGVuIHVzZXIgbm90IGNyZWF0ZWQgc29sZSBkZXRhaWxzXG4gICAgICAgICAgaWYgKCFzb2xlRGV0YWlscykge1xuICAgICAgICAgICAgc29sZURldGFpbHMgPSBwbGFpblRvQ2xhc3MoU29sZURldGFpbHMsIHt9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmNhY2hlID0gc29sZURldGFpbHM7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcblxuICAgICAgICAgIHJldHVybiBzb2xlRGV0YWlscztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYWRkKHNvbGVEZXRhaWxzOiBTb2xlRGV0YWlscyk6IE9ic2VydmFibGU8U29sZURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc29sZS1kZXRhaWxzYCwgc29sZURldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKHNvbGVEZXRhaWxzQmFzZTogU29sZURldGFpbHNCYXNlKTogU29sZURldGFpbHMgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFNvbGVEZXRhaWxzLCBzb2xlRGV0YWlsc0Jhc2UpO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5TT0xFX0RFVEFJTFNfQ1JFQVRFRCwgc29sZURldGFpbHMpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZShzb2xlRGV0YWlsczogU29sZURldGFpbHMpOiBPYnNlcnZhYmxlPFNvbGVEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc29sZS1kZXRhaWxzLyR7c29sZURldGFpbHMuaWR9YCwgc29sZURldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKHNvbGVEZXRhaWxzQmFzZTogU29sZURldGFpbHNCYXNlKTogU29sZURldGFpbHMgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFNvbGVEZXRhaWxzLCBzb2xlRGV0YWlsc0Jhc2UpO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5TT0xFX0RFVEFJTFNfVVBEQVRFRCwgc29sZURldGFpbHMpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtZGV0YWlscy9zb2xlLWRldGFpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFakQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBa0U7SUFIMUc7O1FBSUUsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixvQkFBZSxHQUFHLFVBQVUsQ0FBQztRQUM3QixnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUM3QixvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekUsVUFBSyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBS25DO0lBSEMsR0FBRztRQUNELE9BQU8sS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xJLENBQUM7K0dBVFUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNvbGVEZXRhaWxzIGFzIFNvbGVEZXRhaWxzQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtZGV0YWlscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFVzZXJSb2xlc0VudW0gfSBmcm9tICd0YXh0YW5rLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBAVE9ETyBUVC0xNzc3IEFsZXg6IGV4dGVuZCBmcm9tIHJlc3Qgc2VydmljZSB3aGVuIGl0IHJlZmFjdG9yZWRcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZURldGFpbHNTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8U29sZURldGFpbHNCYXNlLCBTb2xlRGV0YWlscywgQ29sbGVjdGlvbjxTb2xlRGV0YWlscz4+IHtcbiAgbW9kZWxDbGFzcyA9IFNvbGVEZXRhaWxzO1xuICBjb2xsZWN0aW9uQ2xhc3MgPSBDb2xsZWN0aW9uO1xuICBlbmRwb2ludFVyaSA9ICdzb2xlLWRldGFpbHMnO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdEJhdGNoJywgJ3B1dEJhdGNoJywgJ2RlbGV0ZUJhdGNoJ107XG4gIHJvbGVzID0gW1VzZXJSb2xlc0VudW0uU09MRV9UQU5LXTtcblxuICBnZXQoKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uPFNvbGVEZXRhaWxzPj4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoKS5waXBlKG1hcChzb2xlRGV0YWlscyA9PiBzb2xlRGV0YWlscy5sZW5ndGggPyBzb2xlRGV0YWlscyA6IG5ldyBDb2xsZWN0aW9uKFtwbGFpblRvQ2xhc3MoU29sZURldGFpbHMsIHt9KV0pKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { DatePipe } from '@angular/common';
2
+ /**
3
+ * Validation function, that checks If date form value is more than provided date
4
+ */
5
+ export function maxDateValidator(date, message = `The date should not be after ${new DatePipe('en-US').transform(date)}`) {
6
+ return (control) => {
7
+ if (!control.value) {
8
+ return null;
9
+ }
10
+ // form control value can be as a Moment object - we wrap it in "new Date()" to work with it like with JS Date
11
+ if (new Date(control.value) <= new Date(date)) {
12
+ return null;
13
+ }
14
+ return { minDate: message };
15
+ };
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWRhdGUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvZGF0ZS9tYXgtZGF0ZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixJQUFVLEVBQ1YsVUFBa0IsZ0NBQWdDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUV6RixPQUFPLENBQUMsT0FBd0IsRUFBb0IsRUFBRTtRQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsOEdBQThHO1FBQzlHLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIFZhbGlkYXRpb24gZnVuY3Rpb24sIHRoYXQgY2hlY2tzIElmIGRhdGUgZm9ybSB2YWx1ZSBpcyBtb3JlIHRoYW4gcHJvdmlkZWQgZGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF4RGF0ZVZhbGlkYXRvcihcbiAgZGF0ZTogRGF0ZSxcbiAgbWVzc2FnZTogc3RyaW5nID0gYFRoZSBkYXRlIHNob3VsZCBub3QgYmUgYWZ0ZXIgJHtuZXcgRGF0ZVBpcGUoJ2VuLVVTJykudHJhbnNmb3JtKGRhdGUpfWBcbik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzID0+IHtcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIGZvcm0gY29udHJvbCB2YWx1ZSBjYW4gYmUgYXMgYSBNb21lbnQgb2JqZWN0IC0gd2Ugd3JhcCBpdCBpbiBcIm5ldyBEYXRlKClcIiB0byB3b3JrIHdpdGggaXQgbGlrZSB3aXRoIEpTIERhdGVcbiAgICBpZiAobmV3IERhdGUoY29udHJvbC52YWx1ZSkgPD0gbmV3IERhdGUoZGF0ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7IG1pbkRhdGU6IG1lc3NhZ2UgfTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { DatePipe } from '@angular/common';
2
+ /**
3
+ * Validation function, that checks If date form value is more than provided date
4
+ */
5
+ export function minDateValidator(date, message = `The date should not be before ${new DatePipe('en-US').transform(date)}`) {
6
+ return (control) => {
7
+ if (!control.value) {
8
+ return null;
9
+ }
10
+ // form control value can be as a Moment object - we wrap it in "new Date()" to work with it like with JS Date
11
+ if (new Date(control.value) >= new Date(date)) {
12
+ return null;
13
+ }
14
+ return { minDate: message };
15
+ };
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLWRhdGUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvZGF0ZS9taW4tZGF0ZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixJQUFVLEVBQ1YsVUFBa0IsaUNBQWlDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUUxRixPQUFPLENBQUMsT0FBd0IsRUFBb0IsRUFBRTtRQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsOEdBQThHO1FBQzlHLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIFZhbGlkYXRpb24gZnVuY3Rpb24sIHRoYXQgY2hlY2tzIElmIGRhdGUgZm9ybSB2YWx1ZSBpcyBtb3JlIHRoYW4gcHJvdmlkZWQgZGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWluRGF0ZVZhbGlkYXRvcihcbiAgZGF0ZTogRGF0ZSxcbiAgbWVzc2FnZTogc3RyaW5nID0gYFRoZSBkYXRlIHNob3VsZCBub3QgYmUgYmVmb3JlICR7bmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybShkYXRlKX1gXG4pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBmb3JtIGNvbnRyb2wgdmFsdWUgY2FuIGJlIGFzIGEgTW9tZW50IG9iamVjdCAtIHdlIHdyYXAgaXQgaW4gXCJuZXcgRGF0ZSgpXCIgdG8gd29yayB3aXRoIGl0IGxpa2Ugd2l0aCBKUyBEYXRlXG4gICAgaWYgKG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpID49IG5ldyBEYXRlKGRhdGUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4geyBtaW5EYXRlOiBtZXNzYWdlIH07XG4gIH07XG59XG4iXX0=
@@ -3,7 +3,8 @@ export * from './autocomplete.validator';
3
3
  export * from './conditional.validator';
4
4
  export * from './password.validator';
5
5
  export * from './password-match.validator';
6
- export * from './min-date/min-date.validator';
6
+ export * from './date/min-date.validator';
7
+ export * from './date/max-date.validator';
7
8
  export * from './fields-sum.validator';
8
9
  export * from './current-fin-year.validator';
9
10
  export * from './file.validator';
@@ -11,4 +12,4 @@ export * from './greater-than.validator';
11
12
  export * from './unique-email.validator';
12
13
  export * from './string/alpha-space.validator';
13
14
  export * from './match-sum.validator';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdC1sZWFzdC1vbmUudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2NvbXBsZXRlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmRpdGlvbmFsLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkLW1hdGNoLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21pbi1kYXRlL21pbi1kYXRlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkcy1zdW0udmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVudC1maW4teWVhci52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2dyZWF0ZXItdGhhbi52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi91bmlxdWUtZW1haWwudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nL2FscGhhLXNwYWNlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21hdGNoLXN1bS52YWxpZGF0b3InO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F0LWxlYXN0LW9uZS52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZGl0aW9uYWwudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcGFzc3dvcmQudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcGFzc3dvcmQtbWF0Y2gudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS9taW4tZGF0ZS52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlL21heC1kYXRlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkcy1zdW0udmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVudC1maW4teWVhci52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2dyZWF0ZXItdGhhbi52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi91bmlxdWUtZW1haWwudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nL2FscGhhLXNwYWNlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21hdGNoLXN1bS52YWxpZGF0b3InO1xuIl19
@@ -695,7 +695,7 @@ let SoleContact$1 = class SoleContact extends AbstractModel {
695
695
  let SoleDepreciationMethod$1 = class SoleDepreciationMethod extends AbstractModel {
696
696
  };
697
697
 
698
- let SoleDetails$1 = class SoleDetails extends AbstractModel {
698
+ let SoleDetails$1 = class SoleDetails extends ObservableModel {
699
699
  };
700
700
 
701
701
  let SoleForecast$1 = class SoleForecast extends AbstractModel {
@@ -8324,7 +8324,7 @@ class VehicleExpenseCollection extends Collection {
8324
8324
  }
8325
8325
  }
8326
8326
 
8327
- class SoleBusinessLossesCollection extends Collection {
8327
+ class SoleBusinessLossCollection extends Collection {
8328
8328
  /**
8329
8329
  * Business loss applied in current year, includes previous year losses and current year losses for businesses matching offset rule
8330
8330
  */
@@ -10369,22 +10369,20 @@ var AppEventTypeEnum;
10369
10369
  AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 37] = "PROPERTY_SUBSCRIPTION_DELETED";
10370
10370
  AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 38] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
10371
10371
  AppEventTypeEnum[AppEventTypeEnum["SOLE_DEPRECIATION_METHOD_UPDATED"] = 39] = "SOLE_DEPRECIATION_METHOD_UPDATED";
10372
- AppEventTypeEnum[AppEventTypeEnum["SOLE_DETAILS_CREATED"] = 40] = "SOLE_DETAILS_CREATED";
10373
- AppEventTypeEnum[AppEventTypeEnum["SOLE_DETAILS_UPDATED"] = 41] = "SOLE_DETAILS_UPDATED";
10374
- AppEventTypeEnum[AppEventTypeEnum["SOLE_INVOICE_PUBLISHED"] = 42] = "SOLE_INVOICE_PUBLISHED";
10375
- AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 43] = "TAX_REVIEW_UPDATED";
10376
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_CREATED"] = 44] = "TRANSACTION_ALLOCATION_CREATED";
10377
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_DELETED"] = 45] = "TRANSACTION_ALLOCATION_DELETED";
10378
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 46] = "TRANSACTION_CREATED";
10379
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 47] = "TRANSACTION_DELETED";
10380
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 48] = "TRANSACTION_UPDATED";
10381
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 49] = "TRANSACTIONS_CREATED";
10382
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_UPDATED"] = 50] = "VEHICLE_CLAIM_DETAILS_UPDATED";
10383
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_CREATED"] = 51] = "VEHICLE_CLAIM_DETAILS_CREATED";
10384
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 52] = "VEHICLE_LOGBOOK_CREATED";
10385
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 53] = "VEHICLE_LOGBOOK_UPDATED";
10386
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 54] = "VEHICLE_LOGBOOK_DELETED";
10387
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED"] = 55] = "VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED";
10372
+ AppEventTypeEnum[AppEventTypeEnum["SOLE_INVOICE_PUBLISHED"] = 40] = "SOLE_INVOICE_PUBLISHED";
10373
+ AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 41] = "TAX_REVIEW_UPDATED";
10374
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_CREATED"] = 42] = "TRANSACTION_ALLOCATION_CREATED";
10375
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_DELETED"] = 43] = "TRANSACTION_ALLOCATION_DELETED";
10376
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 44] = "TRANSACTION_CREATED";
10377
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 45] = "TRANSACTION_DELETED";
10378
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 46] = "TRANSACTION_UPDATED";
10379
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 47] = "TRANSACTIONS_CREATED";
10380
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_UPDATED"] = 48] = "VEHICLE_CLAIM_DETAILS_UPDATED";
10381
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_CREATED"] = 49] = "VEHICLE_CLAIM_DETAILS_CREATED";
10382
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 50] = "VEHICLE_LOGBOOK_CREATED";
10383
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 51] = "VEHICLE_LOGBOOK_UPDATED";
10384
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 52] = "VEHICLE_LOGBOOK_DELETED";
10385
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED"] = 53] = "VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED";
10388
10386
  })(AppEventTypeEnum || (AppEventTypeEnum = {}));
10389
10387
 
10390
10388
  /**
@@ -11709,6 +11707,7 @@ class BasiqService extends RestService$1 {
11709
11707
  .pipe(map((response) => plainToClass(BasiqJobResponse, response)));
11710
11708
  }
11711
11709
  /**
11710
+ * @TODO not used, remove?
11712
11711
  * Recoursive method, watch basiq job retrieve accounts status
11713
11712
  * @param jobId id of basiq job to check
11714
11713
  * @returns observable boolean. True - accounts retrieved, false - accounts not retrieved (time is out)
@@ -14053,12 +14052,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
14053
14052
  }]
14054
14053
  }] });
14055
14054
 
14056
- class SoleBusinessLossService extends RestService {
14055
+ class SoleBusinessLossService extends RestService$1 {
14057
14056
  constructor(environment) {
14058
14057
  super(environment);
14059
14058
  this.environment = environment;
14060
14059
  this.modelClass = SoleBusinessLoss;
14061
- this.url = 'sole-business-losses';
14060
+ this.collectionClass = SoleBusinessLossCollection;
14061
+ this.endpointUri = 'sole-business-losses';
14062
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch', 'delete'];
14063
+ this.roles = [UserRolesEnum.SOLE_TANK];
14062
14064
  this.listenEvents();
14063
14065
  }
14064
14066
  listenEvents() {
@@ -14163,7 +14165,7 @@ class SoleDepreciationMethodService {
14163
14165
  }));
14164
14166
  }
14165
14167
  listenSoleDetailsChanges() {
14166
- this.eventDispatcherService.on([AppEventTypeEnum.SOLE_DETAILS_CREATED, AppEventTypeEnum.SOLE_DETAILS_UPDATED])
14168
+ this.eventDispatcherService.on2(...SoleDetails.getEventNames('post', 'put'))
14167
14169
  .subscribe(() => {
14168
14170
  this.cache = null;
14169
14171
  this.get().subscribe();
@@ -14185,46 +14187,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
14185
14187
  /**
14186
14188
  * @TODO TT-1777 Alex: extend from rest service when it refactored
14187
14189
  */
14188
- class SoleDetailsService {
14189
- constructor(http, environment, eventDispatcherService) {
14190
- this.http = http;
14191
- this.environment = environment;
14192
- this.eventDispatcherService = eventDispatcherService;
14193
- this.cacheSubject = new ReplaySubject(1);
14190
+ class SoleDetailsService extends RestService$1 {
14191
+ constructor() {
14192
+ super(...arguments);
14193
+ this.modelClass = SoleDetails;
14194
+ this.collectionClass = Collection;
14195
+ this.endpointUri = 'sole-details';
14196
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14197
+ this.roles = [UserRolesEnum.SOLE_TANK];
14194
14198
  }
14195
14199
  get() {
14196
- if (!this.cache) {
14197
- this.http.get(`${this.environment.apiV2}/sole-details`)
14198
- .pipe(map((response) => plainToClass(SoleDetails, response[0])))
14199
- .subscribe((soleDetails) => {
14200
- // undefined when user not created sole details
14201
- if (!soleDetails) {
14202
- soleDetails = plainToClass(SoleDetails, {});
14203
- }
14204
- this.cache = soleDetails;
14205
- this.cacheSubject.next(this.cache);
14206
- return soleDetails;
14207
- });
14208
- }
14209
- return this.cacheSubject.asObservable();
14210
- }
14211
- add(soleDetails) {
14212
- return this.http.post(`${this.environment.apiV2}/sole-details`, soleDetails).pipe(map((soleDetailsBase) => {
14213
- this.cache = plainToClass(SoleDetails, soleDetailsBase);
14214
- this.cacheSubject.next(this.cache);
14215
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_DETAILS_CREATED, soleDetails));
14216
- return this.cache;
14217
- }));
14218
- }
14219
- update(soleDetails) {
14220
- return this.http.put(`${this.environment.apiV2}/sole-details/${soleDetails.id}`, soleDetails).pipe(map((soleDetailsBase) => {
14221
- this.cache = plainToClass(SoleDetails, soleDetailsBase);
14222
- this.cacheSubject.next(this.cache);
14223
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_DETAILS_UPDATED, soleDetails));
14224
- return this.cache;
14225
- }));
14200
+ return super.get().pipe(map(soleDetails => soleDetails.length ? soleDetails : new Collection([plainToClass(SoleDetails, {})])));
14226
14201
  }
14227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable }); }
14202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
14228
14203
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, providedIn: 'root' }); }
14229
14204
  }
14230
14205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SoleDetailsService, decorators: [{
@@ -14232,10 +14207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
14232
14207
  args: [{
14233
14208
  providedIn: 'root'
14234
14209
  }]
14235
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
14236
- type: Inject,
14237
- args: ['environment']
14238
- }] }, { type: EventDispatcherService }] });
14210
+ }] });
14239
14211
 
14240
14212
  class SoleInvoiceService extends RestService$1 {
14241
14213
  constructor(environment) {
@@ -20939,15 +20911,10 @@ function passwordMatchValidator(newPassControlName, confirmPassControlName) {
20939
20911
  };
20940
20912
  }
20941
20913
 
20942
- var MessagesEnum$2;
20943
- (function (MessagesEnum) {
20944
- MessagesEnum["INVALID_DATE"] = "The date should not be before $1";
20945
- })(MessagesEnum$2 || (MessagesEnum$2 = {}));
20946
-
20947
20914
  /**
20948
20915
  * Validation function, that checks If date form value is more than provided date
20949
20916
  */
20950
- function minDateValidator(date, message = MessagesEnum$2.INVALID_DATE.replace('$1', new DatePipe('en-US').transform(date))) {
20917
+ function minDateValidator(date, message = `The date should not be before ${new DatePipe('en-US').transform(date)}`) {
20951
20918
  return (control) => {
20952
20919
  if (!control.value) {
20953
20920
  return null;
@@ -20960,6 +20927,22 @@ function minDateValidator(date, message = MessagesEnum$2.INVALID_DATE.replace('$
20960
20927
  };
20961
20928
  }
20962
20929
 
20930
+ /**
20931
+ * Validation function, that checks If date form value is more than provided date
20932
+ */
20933
+ function maxDateValidator(date, message = `The date should not be after ${new DatePipe('en-US').transform(date)}`) {
20934
+ return (control) => {
20935
+ if (!control.value) {
20936
+ return null;
20937
+ }
20938
+ // form control value can be as a Moment object - we wrap it in "new Date()" to work with it like with JS Date
20939
+ if (new Date(control.value) <= new Date(date)) {
20940
+ return null;
20941
+ }
20942
+ return { minDate: message };
20943
+ };
20944
+ }
20945
+
20963
20946
  /**
20964
20947
  * Validator that check if sum amount of provided fields is greater than provided sum
20965
20948
  * @param field to check in each formArray element
@@ -22370,7 +22353,10 @@ class PropertyAddForm extends AbstractForm {
22370
22353
  super({
22371
22354
  address: new UntypedFormControl(null, Validators.required),
22372
22355
  purchasePrice: new UntypedFormControl(null, Validators.required),
22373
- contractDate: new UntypedFormControl(null, Validators.required),
22356
+ contractDate: new UntypedFormControl(null, [
22357
+ Validators.required,
22358
+ maxDateValidator(new FinancialYear().endDate, 'You cannot add a property with a contract date in future financial years.')
22359
+ ]),
22374
22360
  settlementDate: new UntypedFormControl(null, Validators.required),
22375
22361
  forecasts: new UntypedFormArray([
22376
22362
  new PropertyForecastForm()
@@ -24076,7 +24062,7 @@ class HoldingReinvestForm extends AbstractForm {
24076
24062
  return super.submit({
24077
24063
  transaction: this.transactionForm.submit({
24078
24064
  type: TransactionTypeEnum.CREDIT,
24079
- description: `Reinvestment - ${value.incomeSource.name}`,
24065
+ description: `Reinvestment - ${value.incomeSource?.name}`,
24080
24066
  amount: value.amount - this.get('cashVariance').value
24081
24067
  }),
24082
24068
  holding: this.holdingForm.submit()
@@ -24224,5 +24210,5 @@ var MessagesEnum;
24224
24210
  * Generated bundle index. Do not edit.
24225
24211
  */
24226
24212
 
24227
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CapitalLoss, CapitalLossForm, CapitalLossMessagesEnum, CapitalLossService, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsUnallocatableListEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatFilterForm, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementMessagesEnum, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CoreModule, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingImport, HoldingImportForm, HoldingImportMessagesEnum, HoldingImportService, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyForecastForm, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareForm, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationCollection, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, REPORTS, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceListEnum, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionCollection, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewFilterForm, TaxReviewFilterStatusEnum, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, TimezoneEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseCollection, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserCollection, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, alphaSpaceValidator, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
24213
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CapitalLoss, CapitalLossForm, CapitalLossMessagesEnum, CapitalLossService, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsUnallocatableListEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatFilterForm, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementMessagesEnum, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CoreModule, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingImport, HoldingImportForm, HoldingImportMessagesEnum, HoldingImportService, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyForecastForm, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareForm, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationCollection, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, REPORTS, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceListEnum, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionCollection, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewFilterForm, TaxReviewFilterStatusEnum, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, TimezoneEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseCollection, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserCollection, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, alphaSpaceValidator, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
24228
24214
  //# sourceMappingURL=taxtank-core.mjs.map