taxtank-core 2.0.25 → 2.0.27
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.
- package/fesm2022/taxtank-core-common.mjs.map +1 -1
- package/fesm2022/taxtank-core.mjs +433 -393
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/index.d.ts +21 -25
- package/package.json +1 -1
@@ -1,15 +1,15 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { Inject, Injectable, inject, EventEmitter, NgModule, InjectionToken, Pipe } from '@angular/core';
|
3
3
|
import * as i1$1 from '@angular/common';
|
4
4
|
import { formatDate, CommonModule as CommonModule$1, CurrencyPipe, DatePipe } from '@angular/common';
|
5
5
|
import * as i1 from '@angular/common/http';
|
6
|
-
import {
|
7
|
-
import { map,
|
8
|
-
import { ReplaySubject,
|
6
|
+
import { HttpClient, HttpErrorResponse, HttpParams, HTTP_INTERCEPTORS } from '@angular/common/http';
|
7
|
+
import { map, filter, catchError, finalize, switchMap, first as first$1, take, mergeMap, startWith, debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
8
|
+
import { ReplaySubject, Subject, Observable, shareReplay, of, forkJoin, throwError, combineLatest, BehaviorSubject, from, merge as merge$1 } from 'rxjs';
|
9
9
|
import { plainToClass, Type, Transform, Exclude, Expose, classToPlain } from 'class-transformer';
|
10
|
+
import get from 'lodash/get';
|
10
11
|
import 'reflect-metadata';
|
11
12
|
import { __decorate } from 'tslib';
|
12
|
-
import get from 'lodash/get';
|
13
13
|
import flatten from 'lodash/flatten';
|
14
14
|
import hasIn from 'lodash/hasIn';
|
15
15
|
import intersection from 'lodash/intersection';
|
@@ -64,9 +64,6 @@ class AbstractModel {
|
|
64
64
|
}
|
65
65
|
}
|
66
66
|
|
67
|
-
let Address$1 = class Address extends AbstractModel {
|
68
|
-
};
|
69
|
-
|
70
67
|
let Country$1 = class Country extends AbstractModel {
|
71
68
|
};
|
72
69
|
|
@@ -86,6 +83,66 @@ class Country extends Country$1 {
|
|
86
83
|
}
|
87
84
|
}
|
88
85
|
|
86
|
+
class AddressService {
|
87
|
+
constructor(http, environment) {
|
88
|
+
this.http = http;
|
89
|
+
this.environment = environment;
|
90
|
+
this.countriesSubject = new ReplaySubject(1);
|
91
|
+
}
|
92
|
+
getCountries() {
|
93
|
+
if (!this._countries) {
|
94
|
+
this.http.get(`${this.environment.apiV2}/countries`)
|
95
|
+
.pipe(map((response) => response.map((item) => plainToClass(Country, item))))
|
96
|
+
.subscribe((countries) => {
|
97
|
+
this._countries = countries;
|
98
|
+
this.countriesSubject.next(countries);
|
99
|
+
});
|
100
|
+
}
|
101
|
+
return this.countriesSubject.asObservable();
|
102
|
+
}
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
104
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AddressService, providedIn: 'root' }); }
|
105
|
+
}
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AddressService, decorators: [{
|
107
|
+
type: Injectable,
|
108
|
+
args: [{
|
109
|
+
providedIn: 'root'
|
110
|
+
}]
|
111
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
112
|
+
type: Inject,
|
113
|
+
args: ['environment']
|
114
|
+
}] }] });
|
115
|
+
|
116
|
+
/**
|
117
|
+
* @TODO TT-3846 upgrade
|
118
|
+
*/
|
119
|
+
class PdfService {
|
120
|
+
constructor(http, environment) {
|
121
|
+
this.http = http;
|
122
|
+
this.environment = environment;
|
123
|
+
}
|
124
|
+
fromHTMLElements(elements, landscape) {
|
125
|
+
const formData = new FormData();
|
126
|
+
formData.append('file', new Blob([...Array.from(elements).map(element => element.outerHTML)], { type: 'text/html' }));
|
127
|
+
formData.append('landscape', landscape ? '1' : '0');
|
128
|
+
return this.http.post(`${this.environment.apiV2}/pdf/html`, formData, { responseType: 'blob' });
|
129
|
+
}
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PdfService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
131
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PdfService, providedIn: 'root' }); }
|
132
|
+
}
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PdfService, decorators: [{
|
134
|
+
type: Injectable,
|
135
|
+
args: [{
|
136
|
+
providedIn: 'root'
|
137
|
+
}]
|
138
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
139
|
+
type: Inject,
|
140
|
+
args: ['environment']
|
141
|
+
}] }] });
|
142
|
+
|
143
|
+
let Address$1 = class Address extends AbstractModel {
|
144
|
+
};
|
145
|
+
|
89
146
|
var AddressTypeEnum;
|
90
147
|
(function (AddressTypeEnum) {
|
91
148
|
AddressTypeEnum[AddressTypeEnum["STREET"] = 1] = "STREET";
|
@@ -10510,14 +10567,17 @@ var BankTransactionSummaryFieldsEnum;
|
|
10510
10567
|
class BankTransactionComment extends AbstractModel {
|
10511
10568
|
}
|
10512
10569
|
__decorate([
|
10513
|
-
Type(() =>
|
10514
|
-
], BankTransactionComment.prototype, "
|
10570
|
+
Type(() => BankTransaction)
|
10571
|
+
], BankTransactionComment.prototype, "bankTransaction", void 0);
|
10572
|
+
__decorate([
|
10573
|
+
Type(() => User)
|
10574
|
+
], BankTransactionComment.prototype, "createdBy", void 0);
|
10515
10575
|
__decorate([
|
10516
10576
|
Type(() => Date)
|
10517
10577
|
], BankTransactionComment.prototype, "createdAt", void 0);
|
10518
10578
|
__decorate([
|
10519
|
-
Type(() =>
|
10520
|
-
], BankTransactionComment.prototype, "
|
10579
|
+
Type(() => Date)
|
10580
|
+
], BankTransactionComment.prototype, "updatedAt", void 0);
|
10521
10581
|
|
10522
10582
|
class BorrowingExpenseLoan extends BorrowingExpenseLoan$1 {
|
10523
10583
|
}
|
@@ -11380,10 +11440,171 @@ __decorate([
|
|
11380
11440
|
Type(() => AussieStore)
|
11381
11441
|
], AussieAppointment.prototype, "store", void 0);
|
11382
11442
|
|
11383
|
-
|
11384
|
-
|
11385
|
-
|
11386
|
-
|
11443
|
+
/**
|
11444
|
+
* @TODO Alex (TT-1777): replace old logic with the new when all services ready
|
11445
|
+
* @TODO Alex (TT-1777): rename old logic and keep it for custom events
|
11446
|
+
*/
|
11447
|
+
class EventDispatcherService {
|
11448
|
+
constructor() {
|
11449
|
+
this.eventSubject = new Subject();
|
11450
|
+
this.eventSubject2 = new Subject();
|
11451
|
+
}
|
11452
|
+
/**
|
11453
|
+
* subscription to specific event type
|
11454
|
+
*/
|
11455
|
+
on(eventType) {
|
11456
|
+
return this.eventSubject.pipe(filter((event) => [].concat(eventType).includes(event.type)), map((event) => event.payload));
|
11457
|
+
}
|
11458
|
+
on2(...names) {
|
11459
|
+
return this.eventSubject2.pipe(filter((event) => [].concat(names).includes(event.name)), map((event) => event.items));
|
11460
|
+
}
|
11461
|
+
/**
|
11462
|
+
* deliver new event
|
11463
|
+
*/
|
11464
|
+
dispatch(event) {
|
11465
|
+
this.eventSubject.next(event);
|
11466
|
+
}
|
11467
|
+
dispatch2(event) {
|
11468
|
+
this.eventSubject2.next(event);
|
11469
|
+
}
|
11470
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11471
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EventDispatcherService, providedIn: 'root' }); }
|
11472
|
+
}
|
11473
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EventDispatcherService, decorators: [{
|
11474
|
+
type: Injectable,
|
11475
|
+
args: [{
|
11476
|
+
providedIn: 'root'
|
11477
|
+
}]
|
11478
|
+
}] });
|
11479
|
+
|
11480
|
+
/**
|
11481
|
+
* server sent events service
|
11482
|
+
* https://symfony.com/doc/current/mercure.html
|
11483
|
+
*/
|
11484
|
+
class SseService {
|
11485
|
+
constructor(zone, jwtService, environment) {
|
11486
|
+
this.zone = zone;
|
11487
|
+
this.jwtService = jwtService;
|
11488
|
+
this.environment = environment;
|
11489
|
+
}
|
11490
|
+
/**
|
11491
|
+
* list to url for server events
|
11492
|
+
*/
|
11493
|
+
on(topic) {
|
11494
|
+
const url = new URL(this.environment.mercureUrl);
|
11495
|
+
url.searchParams.append('topic', this.jwtService.decodeToken().mercure.subscribe[0].replace('{+path}', topic));
|
11496
|
+
return new Observable((observer) => {
|
11497
|
+
const es = new EventSourcePolyfill(url, {
|
11498
|
+
headers: {
|
11499
|
+
Authorization: 'Bearer ' + this.jwtService.getToken(),
|
11500
|
+
}
|
11501
|
+
});
|
11502
|
+
es.onmessage = (event) => {
|
11503
|
+
this.zone.run(() => observer.next(event));
|
11504
|
+
};
|
11505
|
+
})
|
11506
|
+
.pipe(map((messageEvent) => JSON.parse(messageEvent.data)));
|
11507
|
+
}
|
11508
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: i3.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11509
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SseService, providedIn: 'root' }); }
|
11510
|
+
}
|
11511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SseService, decorators: [{
|
11512
|
+
type: Injectable,
|
11513
|
+
args: [{
|
11514
|
+
providedIn: 'root'
|
11515
|
+
}]
|
11516
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i3.JwtService }, { type: undefined, decorators: [{
|
11517
|
+
type: Inject,
|
11518
|
+
args: ['environment']
|
11519
|
+
}] }] });
|
11520
|
+
|
11521
|
+
// replace array element with the new one (only arrays of objects)
|
11522
|
+
function replace(array, item, matchField = 'id') {
|
11523
|
+
const index = array.findIndex((i) => i[matchField] === item[matchField]);
|
11524
|
+
array.splice(index, 1, item);
|
11525
|
+
}
|
11526
|
+
|
11527
|
+
// sort array of objects by field
|
11528
|
+
function sort(array, field = 'id', isDesc = true) {
|
11529
|
+
array.sort((a, b) => {
|
11530
|
+
if (a[field] > b[field]) {
|
11531
|
+
return !isDesc ? 1 : -1;
|
11532
|
+
}
|
11533
|
+
if (a[field] < b[field]) {
|
11534
|
+
return !isDesc ? -1 : 1;
|
11535
|
+
}
|
11536
|
+
return 0;
|
11537
|
+
});
|
11538
|
+
}
|
11539
|
+
|
11540
|
+
// sort array of objects by field
|
11541
|
+
function sortDeep(array, fieldsQueue = ['id'], isDesc = true) {
|
11542
|
+
array.sort((a, b) => {
|
11543
|
+
const aValue = getValue(a, fieldsQueue);
|
11544
|
+
const bValue = getValue(b, fieldsQueue);
|
11545
|
+
if (aValue > bValue) {
|
11546
|
+
return !isDesc ? 1 : -1;
|
11547
|
+
}
|
11548
|
+
if (aValue < bValue) {
|
11549
|
+
return !isDesc ? -1 : 1;
|
11550
|
+
}
|
11551
|
+
return 0;
|
11552
|
+
});
|
11553
|
+
}
|
11554
|
+
function getValue(obj, fields) {
|
11555
|
+
let value = obj;
|
11556
|
+
fields.forEach((field) => {
|
11557
|
+
value = value[field];
|
11558
|
+
});
|
11559
|
+
return value;
|
11560
|
+
}
|
11561
|
+
|
11562
|
+
/**
|
11563
|
+
* Convert single object or array into array
|
11564
|
+
*/
|
11565
|
+
function toArray(data) {
|
11566
|
+
return Array.isArray(data) ? data : [data];
|
11567
|
+
}
|
11568
|
+
|
11569
|
+
class DataService {
|
11570
|
+
/**
|
11571
|
+
* @TODO use excludeExtraneousValues when all models refactored (exposed all needed properties)
|
11572
|
+
* Create new instance of class
|
11573
|
+
* @param model Single object or array from which will be created model instance(s)
|
11574
|
+
*/
|
11575
|
+
createModelInstance(model) {
|
11576
|
+
return plainToClass(this.modelClass, model);
|
11577
|
+
}
|
11578
|
+
createCollectionInstance(collectionClass, data) {
|
11579
|
+
return new collectionClass(data.map((item) => this.createModelInstance(item)));
|
11580
|
+
}
|
11581
|
+
/**
|
11582
|
+
* never return cache directly to prevent update
|
11583
|
+
*/
|
11584
|
+
getCache() {
|
11585
|
+
return clone(this.cache);
|
11586
|
+
}
|
11587
|
+
/**
|
11588
|
+
* never return cache directly to prevent update
|
11589
|
+
*/
|
11590
|
+
getCacheFirst() {
|
11591
|
+
return this.getCache()?.first;
|
11592
|
+
}
|
11593
|
+
/**
|
11594
|
+
* @TODO vik any[] because of problems with base models extending abstractModel
|
11595
|
+
*/
|
11596
|
+
setCache(data) {
|
11597
|
+
this.cache = this.createCollectionInstance(this.collectionClass, data);
|
11598
|
+
}
|
11599
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11600
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DataService, providedIn: 'root' }); }
|
11601
|
+
}
|
11602
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DataService, decorators: [{
|
11603
|
+
type: Injectable,
|
11604
|
+
args: [{
|
11605
|
+
providedIn: 'root'
|
11606
|
+
}]
|
11607
|
+
}] });
|
11387
11608
|
|
11388
11609
|
/**
|
11389
11610
|
* Common toast message class
|
@@ -11456,344 +11677,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
11456
11677
|
}]
|
11457
11678
|
}] });
|
11458
11679
|
|
11459
|
-
class CorelogicService {
|
11460
|
-
constructor(http, toastService, environment) {
|
11461
|
-
this.http = http;
|
11462
|
-
this.toastService = toastService;
|
11463
|
-
this.environment = environment;
|
11464
|
-
this.accessTokenSubject = new ReplaySubject(1);
|
11465
|
-
}
|
11466
|
-
getAccessToken(force = false) {
|
11467
|
-
if (!this._accessToken || force) {
|
11468
|
-
this.http.get(`${this.environment.apiV2}/corelogic/tokens`)
|
11469
|
-
.pipe(map((response) => response.access_token))
|
11470
|
-
.subscribe((token) => {
|
11471
|
-
this._accessToken = token;
|
11472
|
-
this.accessTokenSubject.next(this._accessToken);
|
11473
|
-
});
|
11474
|
-
}
|
11475
|
-
return this.accessTokenSubject.asObservable();
|
11476
|
-
}
|
11477
|
-
getSuggestions(query, country = 'au') {
|
11478
|
-
// @TODO handle different countries in future
|
11479
|
-
return this.http.get(`${this.environment.coreLogicUrl}/property/${country}/v2/suggest.json?q=${query}`)
|
11480
|
-
.pipe(map((response) => response.suggestions.map((item) => plainToClass(CorelogicSuggestion, item))), catchError((error) => {
|
11481
|
-
this.toastService.error(CorelogicMessagesEnum.SERVICE_UNAVAILABLE);
|
11482
|
-
return throwError(() => error);
|
11483
|
-
}));
|
11484
|
-
}
|
11485
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11486
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicService, providedIn: 'root' }); }
|
11487
|
-
}
|
11488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicService, decorators: [{
|
11489
|
-
type: Injectable,
|
11490
|
-
args: [{
|
11491
|
-
providedIn: 'root'
|
11492
|
-
}]
|
11493
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: ToastService }, { type: undefined, decorators: [{
|
11494
|
-
type: Inject,
|
11495
|
-
args: ['environment']
|
11496
|
-
}] }] });
|
11497
|
-
|
11498
|
-
/**
|
11499
|
-
* Corelogic interceptor add Core Logic access token for each search requests related with Core Logic API
|
11500
|
-
*/
|
11501
|
-
class CorelogicInterceptor {
|
11502
|
-
constructor(corelogicService, environment) {
|
11503
|
-
this.corelogicService = corelogicService;
|
11504
|
-
this.environment = environment;
|
11505
|
-
}
|
11506
|
-
intercept(request, next) {
|
11507
|
-
// skip non-corelogic requests
|
11508
|
-
if (!request.url.includes(this.environment.coreLogicUrl)) {
|
11509
|
-
return next.handle(request);
|
11510
|
-
}
|
11511
|
-
// don't need token for this endpoint
|
11512
|
-
if (request.url.includes(`${this.environment.coreLogicUrl}/access/oauth/token`)) {
|
11513
|
-
return next.handle(request);
|
11514
|
-
}
|
11515
|
-
return this.corelogicService.getAccessToken()
|
11516
|
-
.pipe(mergeMap((token) => next.handle(this.addToken(request, token))));
|
11517
|
-
}
|
11518
|
-
addToken(request, token) {
|
11519
|
-
return request.clone({
|
11520
|
-
setHeaders: {
|
11521
|
-
Authorization: 'Bearer ' + token
|
11522
|
-
}
|
11523
|
-
});
|
11524
|
-
}
|
11525
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11526
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicInterceptor }); }
|
11527
|
-
}
|
11528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicInterceptor, decorators: [{
|
11529
|
-
type: Injectable
|
11530
|
-
}], ctorParameters: () => [{ type: CorelogicService }, { type: undefined, decorators: [{
|
11531
|
-
type: Inject,
|
11532
|
-
args: ['environment']
|
11533
|
-
}] }] });
|
11534
|
-
|
11535
|
-
/**
|
11536
|
-
* Financial Year interceptor add financialYear parameter to requests because a lot of POST and GET requests require this parameter
|
11537
|
-
* @TODO now we can get current fin year from user on backend. So we can remove this interceptor
|
11538
|
-
*/
|
11539
|
-
class FinancialYearInterceptor {
|
11540
|
-
constructor(environment) {
|
11541
|
-
this.environment = environment;
|
11542
|
-
}
|
11543
|
-
intercept(request, next) {
|
11544
|
-
// skip third party requests
|
11545
|
-
// @TODO Alex: Also check and ignore requests we don't need financial year
|
11546
|
-
if (!request.url.includes(this.environment.api_uri)) {
|
11547
|
-
return next.handle(request);
|
11548
|
-
}
|
11549
|
-
// Set financial year parameter to requests
|
11550
|
-
let params = new HttpParams({
|
11551
|
-
fromString: request.params.toString()
|
11552
|
-
});
|
11553
|
-
// clone request to add new parameters
|
11554
|
-
let clonedReq = request.clone();
|
11555
|
-
// @TODO query params should be passed using second param of get request and HttpParams object
|
11556
|
-
if (!params.get('financialYear') && !request.urlWithParams.includes('?financialYear') && !request.urlWithParams.includes('&financialYear')) {
|
11557
|
-
params = params.set('financialYear', localStorage.getItem('financialYear'));
|
11558
|
-
clonedReq = request.clone({
|
11559
|
-
params: params
|
11560
|
-
});
|
11561
|
-
}
|
11562
|
-
return next.handle(clonedReq);
|
11563
|
-
}
|
11564
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11565
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: FinancialYearInterceptor }); }
|
11566
|
-
}
|
11567
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
|
11568
|
-
type: Injectable
|
11569
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
11570
|
-
type: Inject,
|
11571
|
-
args: ['environment']
|
11572
|
-
}] }] });
|
11573
|
-
|
11574
|
-
class AddressService {
|
11575
|
-
constructor(http, environment) {
|
11576
|
-
this.http = http;
|
11577
|
-
this.environment = environment;
|
11578
|
-
this.countriesSubject = new ReplaySubject(1);
|
11579
|
-
}
|
11580
|
-
getCountries() {
|
11581
|
-
if (!this._countries) {
|
11582
|
-
this.http.get(`${this.environment.apiV2}/countries`)
|
11583
|
-
.pipe(map((response) => response.map((item) => plainToClass(Country, item))))
|
11584
|
-
.subscribe((countries) => {
|
11585
|
-
this._countries = countries;
|
11586
|
-
this.countriesSubject.next(countries);
|
11587
|
-
});
|
11588
|
-
}
|
11589
|
-
return this.countriesSubject.asObservable();
|
11590
|
-
}
|
11591
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11592
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AddressService, providedIn: 'root' }); }
|
11593
|
-
}
|
11594
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AddressService, decorators: [{
|
11595
|
-
type: Injectable,
|
11596
|
-
args: [{
|
11597
|
-
providedIn: 'root'
|
11598
|
-
}]
|
11599
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
11600
|
-
type: Inject,
|
11601
|
-
args: ['environment']
|
11602
|
-
}] }] });
|
11603
|
-
|
11604
|
-
/**
|
11605
|
-
* @TODO TT-3846 upgrade
|
11606
|
-
*/
|
11607
|
-
class PdfService {
|
11608
|
-
constructor(http, environment) {
|
11609
|
-
this.http = http;
|
11610
|
-
this.environment = environment;
|
11611
|
-
}
|
11612
|
-
fromHTMLElements(elements, landscape) {
|
11613
|
-
const formData = new FormData();
|
11614
|
-
formData.append('file', new Blob([...Array.from(elements).map(element => element.outerHTML)], { type: 'text/html' }));
|
11615
|
-
formData.append('landscape', landscape ? '1' : '0');
|
11616
|
-
return this.http.post(`${this.environment.apiV2}/pdf/html`, formData, { responseType: 'blob' });
|
11617
|
-
}
|
11618
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PdfService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11619
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PdfService, providedIn: 'root' }); }
|
11620
|
-
}
|
11621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PdfService, decorators: [{
|
11622
|
-
type: Injectable,
|
11623
|
-
args: [{
|
11624
|
-
providedIn: 'root'
|
11625
|
-
}]
|
11626
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
11627
|
-
type: Inject,
|
11628
|
-
args: ['environment']
|
11629
|
-
}] }] });
|
11630
|
-
|
11631
|
-
/**
|
11632
|
-
* @TODO Alex (TT-1777): replace old logic with the new when all services ready
|
11633
|
-
* @TODO Alex (TT-1777): rename old logic and keep it for custom events
|
11634
|
-
*/
|
11635
|
-
class EventDispatcherService {
|
11636
|
-
constructor() {
|
11637
|
-
this.eventSubject = new Subject();
|
11638
|
-
this.eventSubject2 = new Subject();
|
11639
|
-
}
|
11640
|
-
/**
|
11641
|
-
* subscription to specific event type
|
11642
|
-
*/
|
11643
|
-
on(eventType) {
|
11644
|
-
return this.eventSubject.pipe(filter((event) => [].concat(eventType).includes(event.type)), map((event) => event.payload));
|
11645
|
-
}
|
11646
|
-
on2(...names) {
|
11647
|
-
return this.eventSubject2.pipe(filter((event) => [].concat(names).includes(event.name)), map((event) => event.items));
|
11648
|
-
}
|
11649
|
-
/**
|
11650
|
-
* deliver new event
|
11651
|
-
*/
|
11652
|
-
dispatch(event) {
|
11653
|
-
this.eventSubject.next(event);
|
11654
|
-
}
|
11655
|
-
dispatch2(event) {
|
11656
|
-
this.eventSubject2.next(event);
|
11657
|
-
}
|
11658
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11659
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EventDispatcherService, providedIn: 'root' }); }
|
11660
|
-
}
|
11661
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: EventDispatcherService, decorators: [{
|
11662
|
-
type: Injectable,
|
11663
|
-
args: [{
|
11664
|
-
providedIn: 'root'
|
11665
|
-
}]
|
11666
|
-
}] });
|
11667
|
-
|
11668
|
-
/**
|
11669
|
-
* server sent events service
|
11670
|
-
* https://symfony.com/doc/current/mercure.html
|
11671
|
-
*/
|
11672
|
-
class SseService {
|
11673
|
-
constructor(zone, jwtService, environment) {
|
11674
|
-
this.zone = zone;
|
11675
|
-
this.jwtService = jwtService;
|
11676
|
-
this.environment = environment;
|
11677
|
-
}
|
11678
|
-
/**
|
11679
|
-
* list to url for server events
|
11680
|
-
*/
|
11681
|
-
on(topic) {
|
11682
|
-
const url = new URL(this.environment.mercureUrl);
|
11683
|
-
url.searchParams.append('topic', this.jwtService.decodeToken().mercure.subscribe[0].replace('{+path}', topic));
|
11684
|
-
return new Observable((observer) => {
|
11685
|
-
const es = new EventSourcePolyfill(url, {
|
11686
|
-
headers: {
|
11687
|
-
Authorization: 'Bearer ' + this.jwtService.getToken(),
|
11688
|
-
}
|
11689
|
-
});
|
11690
|
-
es.onmessage = (event) => {
|
11691
|
-
this.zone.run(() => observer.next(event));
|
11692
|
-
};
|
11693
|
-
})
|
11694
|
-
.pipe(map((messageEvent) => JSON.parse(messageEvent.data)));
|
11695
|
-
}
|
11696
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: i3.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11697
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SseService, providedIn: 'root' }); }
|
11698
|
-
}
|
11699
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SseService, decorators: [{
|
11700
|
-
type: Injectable,
|
11701
|
-
args: [{
|
11702
|
-
providedIn: 'root'
|
11703
|
-
}]
|
11704
|
-
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i3.JwtService }, { type: undefined, decorators: [{
|
11705
|
-
type: Inject,
|
11706
|
-
args: ['environment']
|
11707
|
-
}] }] });
|
11708
|
-
|
11709
|
-
// replace array element with the new one (only arrays of objects)
|
11710
|
-
function replace(array, item, matchField = 'id') {
|
11711
|
-
const index = array.findIndex((i) => i[matchField] === item[matchField]);
|
11712
|
-
array.splice(index, 1, item);
|
11713
|
-
}
|
11714
|
-
|
11715
|
-
// sort array of objects by field
|
11716
|
-
function sort(array, field = 'id', isDesc = true) {
|
11717
|
-
array.sort((a, b) => {
|
11718
|
-
if (a[field] > b[field]) {
|
11719
|
-
return !isDesc ? 1 : -1;
|
11720
|
-
}
|
11721
|
-
if (a[field] < b[field]) {
|
11722
|
-
return !isDesc ? -1 : 1;
|
11723
|
-
}
|
11724
|
-
return 0;
|
11725
|
-
});
|
11726
|
-
}
|
11727
|
-
|
11728
|
-
// sort array of objects by field
|
11729
|
-
function sortDeep(array, fieldsQueue = ['id'], isDesc = true) {
|
11730
|
-
array.sort((a, b) => {
|
11731
|
-
const aValue = getValue(a, fieldsQueue);
|
11732
|
-
const bValue = getValue(b, fieldsQueue);
|
11733
|
-
if (aValue > bValue) {
|
11734
|
-
return !isDesc ? 1 : -1;
|
11735
|
-
}
|
11736
|
-
if (aValue < bValue) {
|
11737
|
-
return !isDesc ? -1 : 1;
|
11738
|
-
}
|
11739
|
-
return 0;
|
11740
|
-
});
|
11741
|
-
}
|
11742
|
-
function getValue(obj, fields) {
|
11743
|
-
let value = obj;
|
11744
|
-
fields.forEach((field) => {
|
11745
|
-
value = value[field];
|
11746
|
-
});
|
11747
|
-
return value;
|
11748
|
-
}
|
11749
|
-
|
11750
|
-
/**
|
11751
|
-
* Convert single object or array into array
|
11752
|
-
*/
|
11753
|
-
function toArray(data) {
|
11754
|
-
return Array.isArray(data) ? data : [data];
|
11755
|
-
}
|
11756
|
-
|
11757
|
-
class DataService {
|
11758
|
-
/**
|
11759
|
-
* @TODO use excludeExtraneousValues when all models refactored (exposed all needed properties)
|
11760
|
-
* Create new instance of class
|
11761
|
-
* @param model Single object or array from which will be created model instance(s)
|
11762
|
-
*/
|
11763
|
-
createModelInstance(model) {
|
11764
|
-
return plainToClass(this.modelClass, model);
|
11765
|
-
}
|
11766
|
-
createCollectionInstance(collectionClass, data) {
|
11767
|
-
return new collectionClass(data.map((item) => this.createModelInstance(item)));
|
11768
|
-
}
|
11769
|
-
/**
|
11770
|
-
* never return cache directly to prevent update
|
11771
|
-
*/
|
11772
|
-
getCache() {
|
11773
|
-
return clone(this.cache);
|
11774
|
-
}
|
11775
|
-
/**
|
11776
|
-
* never return cache directly to prevent update
|
11777
|
-
*/
|
11778
|
-
getCacheFirst() {
|
11779
|
-
return this.getCache()?.first;
|
11780
|
-
}
|
11781
|
-
/**
|
11782
|
-
* @TODO vik any[] because of problems with base models extending abstractModel
|
11783
|
-
*/
|
11784
|
-
setCache(data) {
|
11785
|
-
this.cache = this.createCollectionInstance(this.collectionClass, data);
|
11786
|
-
}
|
11787
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11788
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DataService, providedIn: 'root' }); }
|
11789
|
-
}
|
11790
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: DataService, decorators: [{
|
11791
|
-
type: Injectable,
|
11792
|
-
args: [{
|
11793
|
-
providedIn: 'root'
|
11794
|
-
}]
|
11795
|
-
}] });
|
11796
|
-
|
11797
11680
|
const HTTP_ERROR_MESSAGES = {
|
11798
11681
|
400: 'Bad Request – The request was invalid. Please check your data.',
|
11799
11682
|
401: 'Unauthorized – Authentication is required. Please log in.',
|
@@ -19744,44 +19627,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
19744
19627
|
}]
|
19745
19628
|
}], ctorParameters: () => [{ type: SetupItemService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankConnectionService }, { type: BankAccountService }, { type: BankTransactionService }, { type: LoanService }, { type: AllocationRuleService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: HomeOfficeClaimService }, { type: TransactionService }, { type: DepreciationService }, { type: SoleBusinessService }, { type: HoldingTradeService }, { type: UserService }, { type: ClientMovementService }, { type: ClientInviteService }, { type: EmployeeService }, { type: EmployeeInviteService }, { type: FirmService }, { type: SharesightDetailsService }, { type: PropertyShareService }] });
|
19746
19629
|
|
19747
|
-
|
19630
|
+
/**
|
19631
|
+
* service that checks adblock once we started application and saves this information
|
19632
|
+
* to unbound from promise of adblock-checker
|
19633
|
+
*/
|
19634
|
+
class AdblockDetectorService {
|
19748
19635
|
constructor() {
|
19749
|
-
|
19750
|
-
/**
|
19751
|
-
* do we need to show initial or recurrent notification
|
19752
|
-
*/
|
19753
|
-
this.isNotificationShown = signal(true, ...(ngDevMode ? [{ debugName: "isNotificationShown" }] : []));
|
19754
|
-
/**
|
19755
|
-
* checkAdBlock is promise based, so we need to know when service is ready
|
19756
|
-
*/
|
19757
|
-
this.serviceInitSubject = new Subject();
|
19758
|
-
this.isInitialModalClosed = signal(false, ...(ngDevMode ? [{ debugName: "isInitialModalClosed" }] : []));
|
19759
|
-
checkAdBlock().then((isWorking) => {
|
19760
|
-
this.isAdBlockDetected.set(isWorking);
|
19761
|
-
this.setNotificationShown(this.getNotificationShown());
|
19762
|
-
this.setInitialModalClosed(this.getInitialModalClosed());
|
19763
|
-
this.serviceInitSubject.next(true);
|
19764
|
-
this.serviceInitSubject.complete();
|
19765
|
-
});
|
19766
|
-
}
|
19767
|
-
getNotificationShown() {
|
19768
|
-
return JSON.parse(localStorage.getItem('isNotificationShown')) || false;
|
19769
|
-
}
|
19770
|
-
setNotificationShown(isShown) {
|
19771
|
-
localStorage.setItem('isNotificationShown', `${isShown}`);
|
19772
|
-
this.isNotificationShown.set(isShown);
|
19773
|
-
}
|
19774
|
-
setInitialModalClosed(isClosed) {
|
19775
|
-
localStorage.setItem('isInitialModalClosed', `${isClosed}`);
|
19776
|
-
this.isInitialModalClosed.set(isClosed);
|
19777
|
-
}
|
19778
|
-
getInitialModalClosed() {
|
19779
|
-
return JSON.parse(localStorage.getItem('isInitialModalClosed')) || false;
|
19636
|
+
checkAdBlock().then((isDetected) => this.isDetected = isDetected);
|
19780
19637
|
}
|
19781
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type:
|
19782
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type:
|
19638
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AdblockDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
19639
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AdblockDetectorService, providedIn: 'root' }); }
|
19783
19640
|
}
|
19784
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type:
|
19641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AdblockDetectorService, decorators: [{
|
19785
19642
|
type: Injectable,
|
19786
19643
|
args: [{
|
19787
19644
|
providedIn: 'root'
|
@@ -20701,6 +20558,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
20701
20558
|
}]
|
20702
20559
|
}], ctorParameters: () => [] });
|
20703
20560
|
|
20561
|
+
var CorelogicMessagesEnum;
|
20562
|
+
(function (CorelogicMessagesEnum) {
|
20563
|
+
CorelogicMessagesEnum["SERVICE_UNAVAILABLE"] = "Corelogic service is temporary unavailable, please try again in a few minutes.";
|
20564
|
+
})(CorelogicMessagesEnum || (CorelogicMessagesEnum = {}));
|
20565
|
+
|
20566
|
+
class CorelogicService {
|
20567
|
+
constructor(http, toastService, environment) {
|
20568
|
+
this.http = http;
|
20569
|
+
this.toastService = toastService;
|
20570
|
+
this.environment = environment;
|
20571
|
+
this.accessTokenSubject = new ReplaySubject(1);
|
20572
|
+
}
|
20573
|
+
getAccessToken(force = false) {
|
20574
|
+
if (!this._accessToken || force) {
|
20575
|
+
this.http.get(`${this.environment.apiV2}/corelogic/tokens`)
|
20576
|
+
.pipe(map((response) => response.access_token))
|
20577
|
+
.subscribe((token) => {
|
20578
|
+
this._accessToken = token;
|
20579
|
+
this.accessTokenSubject.next(this._accessToken);
|
20580
|
+
});
|
20581
|
+
}
|
20582
|
+
return this.accessTokenSubject.asObservable();
|
20583
|
+
}
|
20584
|
+
getSuggestions(query, country = 'au') {
|
20585
|
+
// @TODO handle different countries in future
|
20586
|
+
return this.http.get(`${this.environment.coreLogicUrl}/property/${country}/v2/suggest.json?q=${query}`)
|
20587
|
+
.pipe(map((response) => response.suggestions.map((item) => plainToClass(CorelogicSuggestion, item))), catchError((error) => {
|
20588
|
+
this.toastService.error(CorelogicMessagesEnum.SERVICE_UNAVAILABLE);
|
20589
|
+
return throwError(() => error);
|
20590
|
+
}));
|
20591
|
+
}
|
20592
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
20593
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicService, providedIn: 'root' }); }
|
20594
|
+
}
|
20595
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicService, decorators: [{
|
20596
|
+
type: Injectable,
|
20597
|
+
args: [{
|
20598
|
+
providedIn: 'root'
|
20599
|
+
}]
|
20600
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: ToastService }, { type: undefined, decorators: [{
|
20601
|
+
type: Inject,
|
20602
|
+
args: ['environment']
|
20603
|
+
}] }] });
|
20604
|
+
|
20704
20605
|
/**
|
20705
20606
|
* Service for get property equity position half-year history chart data
|
20706
20607
|
*/
|
@@ -21089,6 +20990,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
21089
20990
|
}]
|
21090
20991
|
}] });
|
21091
20992
|
|
20993
|
+
/**
|
20994
|
+
* Corelogic interceptor add Core Logic access token for each search requests related with Core Logic API
|
20995
|
+
*/
|
20996
|
+
class CorelogicInterceptor {
|
20997
|
+
constructor(corelogicService, environment) {
|
20998
|
+
this.corelogicService = corelogicService;
|
20999
|
+
this.environment = environment;
|
21000
|
+
}
|
21001
|
+
intercept(request, next) {
|
21002
|
+
// skip non-corelogic requests
|
21003
|
+
if (!request.url.includes(this.environment.coreLogicUrl)) {
|
21004
|
+
return next.handle(request);
|
21005
|
+
}
|
21006
|
+
// don't need token for this endpoint
|
21007
|
+
if (request.url.includes(`${this.environment.coreLogicUrl}/access/oauth/token`)) {
|
21008
|
+
return next.handle(request);
|
21009
|
+
}
|
21010
|
+
return this.corelogicService.getAccessToken()
|
21011
|
+
.pipe(mergeMap((token) => next.handle(this.addToken(request, token))));
|
21012
|
+
}
|
21013
|
+
addToken(request, token) {
|
21014
|
+
return request.clone({
|
21015
|
+
setHeaders: {
|
21016
|
+
Authorization: 'Bearer ' + token
|
21017
|
+
}
|
21018
|
+
});
|
21019
|
+
}
|
21020
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21021
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicInterceptor }); }
|
21022
|
+
}
|
21023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: CorelogicInterceptor, decorators: [{
|
21024
|
+
type: Injectable
|
21025
|
+
}], ctorParameters: () => [{ type: CorelogicService }, { type: undefined, decorators: [{
|
21026
|
+
type: Inject,
|
21027
|
+
args: ['environment']
|
21028
|
+
}] }] });
|
21029
|
+
|
21030
|
+
/**
|
21031
|
+
* Financial Year interceptor add financialYear parameter to requests because a lot of POST and GET requests require this parameter
|
21032
|
+
* @TODO now we can get current fin year from user on backend. So we can remove this interceptor
|
21033
|
+
*/
|
21034
|
+
class FinancialYearInterceptor {
|
21035
|
+
constructor(environment) {
|
21036
|
+
this.environment = environment;
|
21037
|
+
}
|
21038
|
+
intercept(request, next) {
|
21039
|
+
// skip third party requests
|
21040
|
+
// @TODO Alex: Also check and ignore requests we don't need financial year
|
21041
|
+
if (!request.url.includes(this.environment.api_uri)) {
|
21042
|
+
return next.handle(request);
|
21043
|
+
}
|
21044
|
+
// Set financial year parameter to requests
|
21045
|
+
let params = new HttpParams({
|
21046
|
+
fromString: request.params.toString()
|
21047
|
+
});
|
21048
|
+
// clone request to add new parameters
|
21049
|
+
let clonedReq = request.clone();
|
21050
|
+
// @TODO query params should be passed using second param of get request and HttpParams object
|
21051
|
+
if (!params.get('financialYear') && !request.urlWithParams.includes('?financialYear') && !request.urlWithParams.includes('&financialYear')) {
|
21052
|
+
params = params.set('financialYear', localStorage.getItem('financialYear'));
|
21053
|
+
clonedReq = request.clone({
|
21054
|
+
params: params
|
21055
|
+
});
|
21056
|
+
}
|
21057
|
+
return next.handle(clonedReq);
|
21058
|
+
}
|
21059
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21060
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: FinancialYearInterceptor }); }
|
21061
|
+
}
|
21062
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
|
21063
|
+
type: Injectable
|
21064
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
21065
|
+
type: Inject,
|
21066
|
+
args: ['environment']
|
21067
|
+
}] }] });
|
21068
|
+
|
21092
21069
|
/**
|
21093
21070
|
* Impersonate current's user (manager) to client experience with help of special header
|
21094
21071
|
*/
|
@@ -21596,6 +21573,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
21596
21573
|
args: ['environment']
|
21597
21574
|
}] }] });
|
21598
21575
|
|
21576
|
+
const ADBLOCK_ERROR_HTML = new InjectionToken('ADBLOCK_ERROR_HTML');
|
21577
|
+
const ADBLOCK_ERROR_HTML_VALUE = `
|
21578
|
+
<div class="text-center">
|
21579
|
+
<strong>Action needed - Your adblocker is blocking CoreLogic</strong>
|
21580
|
+
To add a property in TaxTank we need to fetch data from CoreLogic — but your ad blocker is getting in the way.
|
21581
|
+
Please disable your adblocker or whitelist TaxTank to continue.
|
21582
|
+
<a class="btn" target="_blank" href="https://support.taxtank.com.au/en/articles/10505609-how-to-ensure-seamless-functionality-while-using-ad-blockers-with-taxtank">Learn more</a>
|
21583
|
+
</div>
|
21584
|
+
`;
|
21585
|
+
|
21586
|
+
/**
|
21587
|
+
* interceptor for handling errors which occurs because of adBlocker
|
21588
|
+
*/
|
21589
|
+
class AdBlockErrorInterceptor {
|
21590
|
+
constructor(environment, adblockDetectService, toastService, adblockHtml) {
|
21591
|
+
this.environment = environment;
|
21592
|
+
this.adblockDetectService = adblockDetectService;
|
21593
|
+
this.toastService = toastService;
|
21594
|
+
this.adblockHtml = adblockHtml;
|
21595
|
+
}
|
21596
|
+
intercept(request, next) {
|
21597
|
+
if (!(request.url.includes(this.environment.api_uri) || request.url.includes(this.environment.apiV2))) {
|
21598
|
+
return next.handle(request).pipe(catchError((error) => {
|
21599
|
+
if (error.status === 0 && this.adblockDetectService.isDetected) {
|
21600
|
+
this.toastService.error(this.adblockHtml);
|
21601
|
+
return [];
|
21602
|
+
}
|
21603
|
+
return throwError(() => error);
|
21604
|
+
}));
|
21605
|
+
}
|
21606
|
+
return next.handle(request);
|
21607
|
+
}
|
21608
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AdBlockErrorInterceptor, deps: [{ token: 'environment' }, { token: AdblockDetectorService }, { token: ToastService }, { token: ADBLOCK_ERROR_HTML }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21609
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AdBlockErrorInterceptor }); }
|
21610
|
+
}
|
21611
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AdBlockErrorInterceptor, decorators: [{
|
21612
|
+
type: Injectable
|
21613
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
21614
|
+
type: Inject,
|
21615
|
+
args: ['environment']
|
21616
|
+
}] }, { type: AdblockDetectorService }, { type: ToastService }, { type: undefined, decorators: [{
|
21617
|
+
type: Inject,
|
21618
|
+
args: [ADBLOCK_ERROR_HTML]
|
21619
|
+
}] }] });
|
21620
|
+
|
21599
21621
|
class InterceptorsModule {
|
21600
21622
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
21601
21623
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: InterceptorsModule }); }
|
@@ -21640,6 +21662,15 @@ class InterceptorsModule {
|
|
21640
21662
|
provide: HTTP_INTERCEPTORS,
|
21641
21663
|
useClass: BasiqClientIdInterceptor,
|
21642
21664
|
multi: true
|
21665
|
+
},
|
21666
|
+
{
|
21667
|
+
provide: HTTP_INTERCEPTORS,
|
21668
|
+
useClass: AdBlockErrorInterceptor,
|
21669
|
+
multi: true
|
21670
|
+
},
|
21671
|
+
{
|
21672
|
+
provide: ADBLOCK_ERROR_HTML,
|
21673
|
+
useValue: ADBLOCK_ERROR_HTML_VALUE
|
21643
21674
|
}
|
21644
21675
|
] }); }
|
21645
21676
|
}
|
@@ -21687,6 +21718,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
21687
21718
|
provide: HTTP_INTERCEPTORS,
|
21688
21719
|
useClass: BasiqClientIdInterceptor,
|
21689
21720
|
multi: true
|
21721
|
+
},
|
21722
|
+
{
|
21723
|
+
provide: HTTP_INTERCEPTORS,
|
21724
|
+
useClass: AdBlockErrorInterceptor,
|
21725
|
+
multi: true
|
21726
|
+
},
|
21727
|
+
{
|
21728
|
+
provide: ADBLOCK_ERROR_HTML,
|
21729
|
+
useValue: ADBLOCK_ERROR_HTML_VALUE
|
21690
21730
|
}
|
21691
21731
|
]
|
21692
21732
|
}]
|
@@ -22976,7 +23016,7 @@ function nameValidator() {
|
|
22976
23016
|
* @param controlsFn function to get controls from target parent
|
22977
23017
|
* it's easier to pass controls instead of function, but it won't work with dynamic fields
|
22978
23018
|
*/
|
22979
|
-
function matchSumValidator(controlsFn) {
|
23019
|
+
function matchSumValidator(controlsFn, error) {
|
22980
23020
|
return (targetControl) => {
|
22981
23021
|
const controls = controlsFn.bind(targetControl.parent)();
|
22982
23022
|
if (controls.find(control => control.value === null) || targetControl.value === null) {
|
@@ -22984,7 +23024,7 @@ function matchSumValidator(controlsFn) {
|
|
22984
23024
|
}
|
22985
23025
|
const sum = controls.reduce((acc, control) => acc + control.value, 0);
|
22986
23026
|
const targetValue = targetControl.value;
|
22987
|
-
return sum.toFixed(2) === targetValue.toFixed(2) ? null : { matchSum:
|
23027
|
+
return sum.toFixed(2) === targetValue.toFixed(2) ? null : { matchSum: error };
|
22988
23028
|
};
|
22989
23029
|
}
|
22990
23030
|
|
@@ -25771,7 +25811,7 @@ class HoldingIncomeForm extends WorkTransactionForm {
|
|
25771
25811
|
incomeSource: new UntypedFormControl(transaction.incomeSource, [Validators.required, autocompleteValidator()]),
|
25772
25812
|
});
|
25773
25813
|
// transactionAmount=frankedAmount + unfrankedAmount
|
25774
|
-
this.get('amount').setValidators([Validators.required, conditionalValidator(() => this.get('chartAccounts').value && this.get('chartAccounts').value.isDividends(), matchSumValidator(this.getAmountComponents))]);
|
25814
|
+
this.get('amount').setValidators([Validators.required, conditionalValidator(() => this.get('chartAccounts').value && this.get('chartAccounts').value.isDividends(), matchSumValidator(this.getAmountComponents, 'The Franked and Unfranked amounts entered do not equal the total Amount received. Please check and try again.'))]);
|
25775
25815
|
// forbid to edit some fields for allocated transaction
|
25776
25816
|
if (allocations.length) {
|
25777
25817
|
this.get('chartAccounts').disable();
|
@@ -26340,5 +26380,5 @@ var MessagesEnum;
|
|
26340
26380
|
* Generated bundle index. Do not edit.
|
26341
26381
|
*/
|
26342
26382
|
|
26343
|
-
export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockService, 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, AppPercentPipe, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AussieAppointment, AussieAppointmentForm, AussieBroker, AussieConfirmationForm, AussieService, AussieStore, AussieStoreForm, 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, BankTransactionComment, BankTransactionCommentForm, BankTransactionCommentMessagesEnum, BankTransactionCommentService, 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, BusinessChartAccountsEnum, BusinessResolver, 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, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueCollection, 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, CorelogicMessagesEnum, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DateFormatsEnum, DateRange, 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, DocumentFolderCollection, 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, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingExpenseForm, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, InvoiceTransactionsService, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MfaDetails, MfaDetailsForm, MfaDetailsMessagesEnum, MfaDetailsService, 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, PriorTransactionService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, 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, RestMessagesEnum, 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, SharesightDetails, SharesightDetailsMessagesEnum, SharesightDetailsService, SharesightPortfolio, SharesightPortfolioMessages, SharesightPortfolioService, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsResolver, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStateEnum, 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, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TreeNodeData, 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, YoutubeVideosEnum, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, nameValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
|
26383
|
+
export { ADBLOCK_ERROR_HTML, ADBLOCK_ERROR_HTML_VALUE, AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockDetectorService, 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, AppPercentPipe, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AussieAppointment, AussieAppointmentForm, AussieBroker, AussieConfirmationForm, AussieService, AussieStore, AussieStoreForm, 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, BankTransactionComment, BankTransactionCommentForm, BankTransactionCommentMessagesEnum, BankTransactionCommentService, 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, BusinessChartAccountsEnum, BusinessResolver, 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, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueCollection, 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, CorelogicMessagesEnum, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DateFormatsEnum, DateRange, 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, DocumentFolderCollection, 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, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingExpenseForm, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, InvoiceTransactionsService, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MfaDetails, MfaDetailsForm, MfaDetailsMessagesEnum, MfaDetailsService, 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, PriorTransactionService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, 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, RestMessagesEnum, 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, SharesightDetails, SharesightDetailsMessagesEnum, SharesightDetailsService, SharesightPortfolio, SharesightPortfolioMessages, SharesightPortfolioService, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsResolver, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStateEnum, 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, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TreeNodeData, 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, YoutubeVideosEnum, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, nameValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
|
26344
26384
|
//# sourceMappingURL=taxtank-core.mjs.map
|