taxtank-core 0.33.69 → 0.33.71
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/esm2022/src/lib/services/data.service.mjs +4 -4
- package/esm2022/src/lib/services/http/bank/bank-account/bank-account.service.mjs +18 -2
- package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection.service.mjs +17 -5
- package/esm2022/src/lib/services/http/firm/client-movement/client-movement.service.mjs +4 -18
- package/esm2022/src/lib/services/http/holding/holding-type.service.mjs +9 -9
- package/esm2022/src/lib/services/http/rest/rest.service.mjs +13 -9
- package/esm2022/src/lib/services/xlsx/xlsx.service.mjs +18 -10
- package/fesm2022/taxtank-core.mjs +125 -100
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/services/data.service.d.ts +1 -1
- package/src/lib/services/http/bank/bank-account/bank-account.service.d.ts +1 -0
- package/src/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +1 -1
- package/src/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -1
- package/src/lib/services/http/holding/holding-type.service.d.ts +4 -0
- package/src/lib/services/http/rest/rest.service.d.ts +1 -1
- package/src/lib/services/xlsx/xlsx.service.d.ts +7 -0
@@ -39,15 +39,8 @@ export class XlsxService {
|
|
39
39
|
// add caption for the current table
|
40
40
|
xlsx.utils.sheet_add_aoa(worksheet, [[data.caption?.innerText]], { origin: -1 });
|
41
41
|
// Prepare to add table data to the worksheet, processing each cell
|
42
|
-
const rows = Array.from(data.rows)
|
43
|
-
|
44
|
-
// Convert currency strings like "$0.00" to numbers
|
45
|
-
if (/^-?\$/.test(cellValue)) {
|
46
|
-
// @TODO vik fix
|
47
|
-
// cellValue = parseFloat(cellValue.replace('$', ''));
|
48
|
-
}
|
49
|
-
return cellValue;
|
50
|
-
}));
|
42
|
+
const rows = Array.from(data.rows)
|
43
|
+
.map((row) => Array.from(row.cells).map(cell => this.htmlToXlsCell(cell)));
|
51
44
|
// Add the processed table data to the worksheet
|
52
45
|
xlsx.utils.sheet_add_aoa(worksheet, rows, { origin: -1 });
|
53
46
|
// set empty row after current table
|
@@ -56,6 +49,21 @@ export class XlsxService {
|
|
56
49
|
xlsx.utils.book_append_sheet(workbook, worksheet);
|
57
50
|
return xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
|
58
51
|
}
|
52
|
+
htmlToXlsCell(cell) {
|
53
|
+
const cellValue = cell.innerText;
|
54
|
+
// regex to check currency value
|
55
|
+
return /^-?\$/.test(cellValue) ? this.currencyToNumber(cellValue) : cellValue;
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* function which reconverts values from customCurrencyPipe
|
59
|
+
* @param cellValue - string with $ and possibly comma. $123,123.03
|
60
|
+
* @returns value without $ and comma. like 123123.03
|
61
|
+
*/
|
62
|
+
currencyToNumber(cellValue) {
|
63
|
+
// remove dollar sign and comma
|
64
|
+
cellValue = cellValue.replace(/[$,]/g, '');
|
65
|
+
return parseFloat(cellValue);
|
66
|
+
}
|
59
67
|
/**
|
60
68
|
* @TODO vik/artem work with ExportDataTable instead of ExportableCollection
|
61
69
|
* @TODO vik/artem why so much code? here is 6 rows solution https://stackoverflow.com/questions/64939994/how-to-export-array-of-objects-to-an-excel-in-angular-8
|
@@ -91,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
91
99
|
providedIn: 'root'
|
92
100
|
}]
|
93
101
|
}] });
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUFxREUsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDekMsTUFBTSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0FnQ0g7SUFwRkM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtB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QUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUV0RixNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQXBGVSxXQUFXO21IQUFYLFdBQVcsY0FOVixNQUFNOzs0RkFNUCxXQUFXO2tCQVB2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIHhsc3ggZnJvbSAneGxzeCc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBFeHBvcnRhYmxlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEV4cG9ydERhdGFUYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuXG5jb25zdCBFWENFTF9UWVBFOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggWExTWCAoZ2VuZXJhdGUsIGRvd25sb2FkLCBlLnQuYy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBYbHN4U2VydmljZSB7XG4gIC8qKlxuICAgKiBFeHBvcnQgZmlsZSBmb3JtIHByb3ZpZGVkIEhUTUwgdGFibGVzXG4gICAqL1xuICBleHBvcnRUYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHRoaXMuZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlcywgdGl0bGUpO1xuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBgJHtmaWxlTmFtZX0ueGxzeGApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUZyb21UYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZT86IHN0cmluZyk6IEJsb2JQYXJ0IHtcbiAgICAvLyBjcmVhdGUgbmV3IHdvcmtib29rXG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgdGFibGVzLmZvckVhY2goKGRhdGE6IEhUTUxUYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIC8vIGFkZCBjYXB0aW9uIGZvciB0aGUgY3VycmVudCB0YWJsZVxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW1tkYXRhLmNhcHRpb24/LmlubmVyVGV4dF1dLCB7IG9yaWdpbjogLTEgfSk7XG4gICAgICAvLyBQcmVwYXJlIHRvIGFkZCB0YWJsZSBkYXRhIHRvIHRoZSB3b3Jrc2hlZXQsIHByb2Nlc3NpbmcgZWFjaCBjZWxsXG4gICAgICBjb25zdCByb3dzID0gQXJyYXkuZnJvbShkYXRhLnJvd3MpLm1hcCgocm93OiBIVE1MVGFibGVSb3dFbGVtZW50KSA9PiBBcnJheS5mcm9tKHJvdy5jZWxscykubWFwKChjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBjZWxsVmFsdWU6IHN0cmluZyB8IG51bWJlciA9IGNlbGwuaW5uZXJUZXh0O1xuICAgICAgICAvLyBDb252ZXJ0IGN1cnJlbmN5IHN0cmluZ3MgbGlrZSBcIiQwLjAwXCIgdG8gbnVtYmVyc1xuICAgICAgICBpZiAoL14tP1xcJC8udGVzdChjZWxsVmFsdWUpKSB7XG4gICAgICAgICAgLy8gQFRPRE8gdmlrIGZpeFxuICAgICAgICAgIC8vIGNlbGxWYWx1ZSA9IHBhcnNlRmxvYXQoY2VsbFZhbHVlLnJlcGxhY2UoJyQnLCAnJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZTtcbiAgICAgIH0pKTtcbiAgICAgIC8vIEFkZCB0aGUgcHJvY2Vzc2VkIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgcm93cywgeyBvcmlnaW46IC0xIH0pO1xuICAgICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwgeyBvcmlnaW46IC0xIH0pO1xuICAgIH0pO1xuXG4gICAgeGxzeC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3b3JrYm9vaywgd29ya3NoZWV0KTtcbiAgICByZXR1cm4geGxzeC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xuICB9XG5cbiAgZ2V0RmlsZU5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgc2hlZXROYW1lID0gbmFtZSB8fCAnRXhwb3J0UmVzdWx0JztcbiAgICBjb25zdCBmaWxlTmFtZSA9IGAke3NoZWV0TmFtZX1gO1xuICAgIHJldHVybiB7XG4gICAgICBzaGVldE5hbWUsXG4gICAgICBmaWxlTmFtZVxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpay9hcnRlbSB3b3JrIHdpdGggRXhwb3J0RGF0YVRhYmxlIGluc3RlYWQgb2YgRXhwb3J0YWJsZUNvbGxlY3Rpb25cbiAgICogQFRPRE8gdmlrL2FydGVtIHdoeSBzbyBtdWNoIGNvZGU/IGhlcmUgaXMgNiByb3dzIHNvbHV0aW9uIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzY0OTM5OTk0L2hvdy10by1leHBvcnQtYXJyYXktb2Ytb2JqZWN0cy10by1hbi1leGNlbC1pbi1hbmd1bGFyLThcbiAgICovXG4gIGV4cG9ydEFycmF5VG9FeGNlbChleHBvcnRhYmxlQ29sbGVjdGlvbjogRXhwb3J0YWJsZUNvbGxlY3Rpb248YW55PiwgbmFtZT86IHN0cmluZywgcGFyYW1zPyA6IGFueSkge1xuICAgIGNvbnN0IHdvcmtib29rOiB4bHN4LldvcmtCb29rID0geGxzeC51dGlscy5ib29rX25ldygpO1xuICAgIC8vIGNyZWF0ZSBlbXB0eSB3b3Jrc2hlZXRcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IHhsc3guV29ya1NoZWV0ID0ge1xuICAgICAgU2hlZXROYW1lczogW10sXG4gICAgICBTaGVldHM6IHt9XG4gICAgfTtcblxuICAgIGNvbnN0IGV4cG9ydERhdGE6IEV4cG9ydERhdGFUYWJsZSA9IGV4cG9ydGFibGVDb2xsZWN0aW9uLmV4cG9ydChwYXJhbXMpXG4gICAgY29uc3QgZXhwb3J0QW9hID0gZXhwb3J0YWJsZUNvbGxlY3Rpb24uZ2V0Qm9keUFvYShleHBvcnREYXRhKTtcbiAgICBjb25zdCB7IHNoZWV0TmFtZSwgZmlsZU5hbWUgfSA9IHRoaXMuZ2V0RmlsZU5hbWUobmFtZSk7XG5cbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbZXhwb3J0RGF0YS5oZWFkZXJdLCB7IG9yaWdpbjogLTEgfSk7XG4gICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIGV4cG9ydEFvYSwgeyBvcmlnaW46IC0xIH0pO1xuICAgIC8vIHNldCBlbXB0eSByb3cgYWZ0ZXIgY3VycmVudCB0YWJsZVxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIFtdLCB7IG9yaWdpbjogLTEgfSk7XG5cbiAgICB4bHN4LnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdvcmtib29rLCB3b3Jrc2hlZXQpO1xuICAgIGNvbnN0IGV4Y2VsRmlsZTogQmxvYlBhcnQgPSB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG5cbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2V4Y2VsRmlsZV0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cbn1cbiJdfQ==
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUErREUsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDekMsTUFBTSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0FnQ0g7SUE5RkM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtB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QUUsQ0FBQyxDQUFDO1FBQ3pFLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRCxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEQsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXRGLE1BQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxFQUFFLFVBQVU7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBOUZVLFdBQVc7bUhBQVgsV0FBVyxjQU5WLE1BQU07OzRGQU1QLFdBQVc7a0JBUHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgeGxzeCBmcm9tICd4bHN4JztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRXhwb3J0RGF0YVRhYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZSc7XG5cbmNvbnN0IEVYQ0VMX1RZUEU6IHN0cmluZyA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04J1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCBYTFNYIChnZW5lcmF0ZSwgZG93bmxvYWQsIGUudC5jLilcbiAqL1xuZXhwb3J0IGNsYXNzIFhsc3hTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEV4cG9ydCBmaWxlIGZvcm0gcHJvdmlkZWQgSFRNTCB0YWJsZXNcbiAgICovXG4gIGV4cG9ydFRhYmxlcyh0YWJsZXM6IE5vZGVMaXN0T2Y8SFRNTFRhYmxlRWxlbWVudD4sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBleGNlbEZpbGU6IEJsb2JQYXJ0ID0gdGhpcy5nZW5lcmF0ZUZyb21UYWJsZXModGFibGVzLCB0aXRsZSk7XG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtleGNlbEZpbGVdLCB7XG4gICAgICB0eXBlOiBFWENFTF9UWVBFXG4gICAgfSk7XG5cbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRnJvbVRhYmxlcyh0YWJsZXM6IE5vZGVMaXN0T2Y8SFRNTFRhYmxlRWxlbWVudD4sIHRpdGxlPzogc3RyaW5nKTogQmxvYlBhcnQge1xuICAgIC8vIGNyZWF0ZSBuZXcgd29ya2Jvb2tcbiAgICBjb25zdCB3b3JrYm9vazogeGxzeC5Xb3JrQm9vayA9IHhsc3gudXRpbHMuYm9va19uZXcoKTtcbiAgICAvLyBjcmVhdGUgZW1wdHkgd29ya3NoZWV0XG4gICAgY29uc3Qgd29ya3NoZWV0OiB4bHN4LldvcmtTaGVldCA9IHtcbiAgICAgIFNoZWV0TmFtZXM6IFtdLFxuICAgICAgU2hlZXRzOiB7fVxuICAgIH07XG5cbiAgICB0YWJsZXMuZm9yRWFjaCgoZGF0YTogSFRNTFRhYmxlRWxlbWVudCkgPT4ge1xuICAgICAgLy8gYWRkIGNhcHRpb24gZm9yIHRoZSBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbW2RhdGEuY2FwdGlvbj8uaW5uZXJUZXh0XV0sIHsgb3JpZ2luOiAtMSB9KTtcbiAgICAgIC8vIFByZXBhcmUgdG8gYWRkIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldCwgcHJvY2Vzc2luZyBlYWNoIGNlbGxcbiAgICAgIGNvbnN0IHJvd3MgPSBBcnJheS5mcm9tKGRhdGEucm93cylcbiAgICAgICAgLm1hcCgocm93OiBIVE1MVGFibGVSb3dFbGVtZW50KSA9PiBBcnJheS5mcm9tKHJvdy5jZWxscykubWFwKGNlbGwgPT4gdGhpcy5odG1sVG9YbHNDZWxsKGNlbGwpKSk7XG4gICAgICAvLyBBZGQgdGhlIHByb2Nlc3NlZCB0YWJsZSBkYXRhIHRvIHRoZSB3b3Jrc2hlZXRcbiAgICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIHJvd3MsIHsgb3JpZ2luOiAtMSB9KTtcbiAgICAgIC8vIHNldCBlbXB0eSByb3cgYWZ0ZXIgY3VycmVudCB0YWJsZVxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW10sIHsgb3JpZ2luOiAtMSB9KTtcbiAgICB9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgcmV0dXJuIHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgfVxuXG4gIGh0bWxUb1hsc0NlbGwoY2VsbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIGNvbnN0IGNlbGxWYWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gY2VsbC5pbm5lclRleHQ7XG4gICAgLy8gcmVnZXggdG8gY2hlY2sgY3VycmVuY3kgdmFsdWVcbiAgICByZXR1cm4gL14tP1xcJC8udGVzdChjZWxsVmFsdWUpID8gdGhpcy5jdXJyZW5jeVRvTnVtYmVyKGNlbGxWYWx1ZSkgOiBjZWxsVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogZnVuY3Rpb24gd2hpY2ggcmVjb252ZXJ0cyB2YWx1ZXMgZnJvbSBjdXN0b21DdXJyZW5jeVBpcGVcbiAgICogQHBhcmFtIGNlbGxWYWx1ZSAtIHN0cmluZyB3aXRoICQgYW5kIHBvc3NpYmx5IGNvbW1hLiAgJDEyMywxMjMuMDNcbiAgICogQHJldHVybnMgdmFsdWUgd2l0aG91dCAkIGFuZCBjb21tYS4gbGlrZSAxMjMxMjMuMDNcbiAgICovXG4gIGN1cnJlbmN5VG9OdW1iZXIoY2VsbFZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIC8vIHJlbW92ZSBkb2xsYXIgc2lnbiBhbmQgY29tbWFcbiAgICBjZWxsVmFsdWUgPSBjZWxsVmFsdWUucmVwbGFjZSgvWyQsXS9nLCAnJyk7XG5cbiAgICByZXR1cm4gcGFyc2VGbG9hdChjZWxsVmFsdWUpO1xuICB9XG5cbiAgZ2V0RmlsZU5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgc2hlZXROYW1lID0gbmFtZSB8fCAnRXhwb3J0UmVzdWx0JztcbiAgICBjb25zdCBmaWxlTmFtZSA9IGAke3NoZWV0TmFtZX1gO1xuICAgIHJldHVybiB7XG4gICAgICBzaGVldE5hbWUsXG4gICAgICBmaWxlTmFtZVxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpay9hcnRlbSB3b3JrIHdpdGggRXhwb3J0RGF0YVRhYmxlIGluc3RlYWQgb2YgRXhwb3J0YWJsZUNvbGxlY3Rpb25cbiAgICogQFRPRE8gdmlrL2FydGVtIHdoeSBzbyBtdWNoIGNvZGU/IGhlcmUgaXMgNiByb3dzIHNvbHV0aW9uIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzY0OTM5OTk0L2hvdy10by1leHBvcnQtYXJyYXktb2Ytb2JqZWN0cy10by1hbi1leGNlbC1pbi1hbmd1bGFyLThcbiAgICovXG4gIGV4cG9ydEFycmF5VG9FeGNlbChleHBvcnRhYmxlQ29sbGVjdGlvbjogRXhwb3J0YWJsZUNvbGxlY3Rpb248YW55PiwgbmFtZT86IHN0cmluZywgcGFyYW1zPyA6IGFueSkge1xuICAgIGNvbnN0IHdvcmtib29rOiB4bHN4LldvcmtCb29rID0geGxzeC51dGlscy5ib29rX25ldygpO1xuICAgIC8vIGNyZWF0ZSBlbXB0eSB3b3Jrc2hlZXRcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IHhsc3guV29ya1NoZWV0ID0ge1xuICAgICAgU2hlZXROYW1lczogW10sXG4gICAgICBTaGVldHM6IHt9XG4gICAgfTtcblxuICAgIGNvbnN0IGV4cG9ydERhdGE6IEV4cG9ydERhdGFUYWJsZSA9IGV4cG9ydGFibGVDb2xsZWN0aW9uLmV4cG9ydChwYXJhbXMpXG4gICAgY29uc3QgZXhwb3J0QW9hID0gZXhwb3J0YWJsZUNvbGxlY3Rpb24uZ2V0Qm9keUFvYShleHBvcnREYXRhKTtcbiAgICBjb25zdCB7IHNoZWV0TmFtZSwgZmlsZU5hbWUgfSA9IHRoaXMuZ2V0RmlsZU5hbWUobmFtZSk7XG5cbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbZXhwb3J0RGF0YS5oZWFkZXJdLCB7IG9yaWdpbjogLTEgfSk7XG4gICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIGV4cG9ydEFvYSwgeyBvcmlnaW46IC0xIH0pO1xuICAgIC8vIHNldCBlbXB0eSByb3cgYWZ0ZXIgY3VycmVudCB0YWJsZVxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIFtdLCB7IG9yaWdpbjogLTEgfSk7XG5cbiAgICB4bHN4LnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdvcmtib29rLCB3b3Jrc2hlZXQpO1xuICAgIGNvbnN0IGV4Y2VsRmlsZTogQmxvYlBhcnQgPSB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG5cbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2V4Y2VsRmlsZV0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -11279,8 +11279,8 @@ class DataService {
|
|
11279
11279
|
createModelInstance(model) {
|
11280
11280
|
return plainToClass(this.modelClass, model);
|
11281
11281
|
}
|
11282
|
-
createCollectionInstance(collectionClass,
|
11283
|
-
return new collectionClass(
|
11282
|
+
createCollectionInstance(collectionClass, data) {
|
11283
|
+
return new collectionClass(data.map((item) => this.createModelInstance(item)));
|
11284
11284
|
}
|
11285
11285
|
/**
|
11286
11286
|
* never return cache directly to prevent update
|
@@ -11298,7 +11298,7 @@ class DataService {
|
|
11298
11298
|
* @TODO vik any[] because of problems with base models extending abstractModel
|
11299
11299
|
*/
|
11300
11300
|
setCache(data) {
|
11301
|
-
this.cache = this.createCollectionInstance(this.collectionClass, data
|
11301
|
+
this.cache = this.createCollectionInstance(this.collectionClass, data);
|
11302
11302
|
}
|
11303
11303
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11304
11304
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, providedIn: 'root' }); }
|
@@ -11388,13 +11388,17 @@ let RestService$1 = class RestService extends DataService {
|
|
11388
11388
|
/**
|
11389
11389
|
* Get data from backend and fill the cache
|
11390
11390
|
*/
|
11391
|
-
fetch(path = this.apiUrl, cache = true) {
|
11392
|
-
|
11393
|
-
|
11394
|
-
|
11391
|
+
fetch(path = this.apiUrl, cache = true, queryParams = {}) {
|
11392
|
+
if (cache) {
|
11393
|
+
// Set cache as empty collection to avoid multiple requests before cache filled
|
11394
|
+
this.setCache([]);
|
11395
|
+
}
|
11396
|
+
return this.http.get(path, queryParams)
|
11395
11397
|
.pipe(map((response) => Array.isArray(response) ? response : toArray(response)), map((response) => {
|
11396
|
-
|
11397
|
-
|
11398
|
+
if (cache) {
|
11399
|
+
this.setCache(response, true);
|
11400
|
+
}
|
11401
|
+
return this.createCollectionInstance(this.collectionClass, response);
|
11398
11402
|
}), catchError((error) => this.handleError(error)));
|
11399
11403
|
}
|
11400
11404
|
get(path = this.apiUrl) {
|
@@ -11555,8 +11559,8 @@ let RestService$1 = class RestService extends DataService {
|
|
11555
11559
|
case 'delete':
|
11556
11560
|
cache = this.cache.removeBy('id', items.map((item) => item.id));
|
11557
11561
|
break;
|
11558
|
-
case 'get':
|
11559
|
-
|
11562
|
+
// case 'get':
|
11563
|
+
// cache = this.createCollectionInstance(this.collectionClass, items);
|
11560
11564
|
}
|
11561
11565
|
this.setCache(cache.toArray(), true);
|
11562
11566
|
}
|
@@ -11637,6 +11641,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
11637
11641
|
args: ['environment']
|
11638
11642
|
}] }] });
|
11639
11643
|
|
11644
|
+
var UserEventTypeTypeEnum;
|
11645
|
+
(function (UserEventTypeTypeEnum) {
|
11646
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["REGISTERED"] = 1000] = "REGISTERED";
|
11647
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PASSWORD_RESET_REQUEST"] = 1001] = "PASSWORD_RESET_REQUEST";
|
11648
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["APP_FEATURES"] = 1010] = "APP_FEATURES";
|
11649
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIBED"] = 2000] = "SUBSCRIBED";
|
11650
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["UNSUBSCRIBED"] = 2001] = "UNSUBSCRIBED";
|
11651
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIPTION_UPDATE"] = 2004] = "SUBSCRIPTION_UPDATE";
|
11652
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIPTION_TRIAL_UPDATE"] = 2005] = "SUBSCRIPTION_TRIAL_UPDATE";
|
11653
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIPTION_PAYMENT_FAILED"] = 2006] = "SUBSCRIPTION_PAYMENT_FAILED";
|
11654
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE"] = 2010] = "CLIENT_INVITE";
|
11655
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_TO_REGISTER"] = 2011] = "CLIENT_INVITE_TO_REGISTER";
|
11656
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_ACCEPTED"] = 2012] = "FIRM_INVITE_ACCEPTED";
|
11657
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_REJECTED"] = 2013] = "FIRM_INVITE_REJECTED";
|
11658
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_REGISTERED"] = 2014] = "FIRM_INVITE_REGISTERED";
|
11659
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE"] = 2020] = "PROPERTY_SHARE_INVITE";
|
11660
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_TO_REGISTER"] = 2021] = "PROPERTY_SHARE_INVITE_TO_REGISTER";
|
11661
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_ACCEPTED"] = 2022] = "PROPERTY_SHARE_INVITE_ACCEPTED";
|
11662
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_REJECTED"] = 2023] = "PROPERTY_SHARE_INVITE_REJECTED";
|
11663
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_REGISTERED"] = 2024] = "PROPERTY_SHARE_INVITE_REGISTERED";
|
11664
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_CHANGE_REQUESTED"] = 2025] = "PROPERTY_SHARE_CHANGE_REQUESTED";
|
11665
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_CHANGE_ACCEPTED"] = 2026] = "PROPERTY_SHARE_CHANGE_ACCEPTED";
|
11666
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_CHANGE_REJECTED"] = 2027] = "PROPERTY_SHARE_CHANGE_REJECTED";
|
11667
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["OWNER_SUBSCRIBED"] = 2028] = "OWNER_SUBSCRIBED";
|
11668
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["OWNER_UNSUBSCRIBED"] = 2029] = "OWNER_UNSUBSCRIBED";
|
11669
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["BASIQ_NEW_ACCOUNTS"] = 2030] = "BASIQ_NEW_ACCOUNTS";
|
11670
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["BASIQ_FIRST_IMPORT_COMPLETE"] = 2031] = "BASIQ_FIRST_IMPORT_COMPLETE";
|
11671
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["BASIQ_AUTHORIZATION_FAIL"] = 2032] = "BASIQ_AUTHORIZATION_FAIL";
|
11672
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["TRANSACTION_ALLOCATE_REMINDER"] = 2033] = "TRANSACTION_ALLOCATE_REMINDER";
|
11673
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["INVOICE_AUTO_ALLOCATED"] = 2035] = "INVOICE_AUTO_ALLOCATED";
|
11674
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["INVOICE_AUTO_PART_ALLOCATED"] = 2036] = "INVOICE_AUTO_PART_ALLOCATED";
|
11675
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["RULES_AUTO_ALLOCATED"] = 2037] = "RULES_AUTO_ALLOCATED";
|
11676
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["REGISTRATION_INVITE"] = 2040] = "REGISTRATION_INVITE";
|
11677
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["REGISTRATION_INVITE_ACCEPTED"] = 2041] = "REGISTRATION_INVITE_ACCEPTED";
|
11678
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_EMAIL_CONFIRMED"] = 2050] = "CLIENT_EMAIL_CONFIRMED";
|
11679
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["TAX_REVIEW_REQUESTED"] = 2060] = "TAX_REVIEW_REQUESTED";
|
11680
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_TO_REGISTER"] = 3000] = "FIRM_INVITE_TO_REGISTER";
|
11681
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE"] = 3001] = "FIRM_INVITE";
|
11682
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_ACCEPTED"] = 3002] = "CLIENT_INVITE_ACCEPTED";
|
11683
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_REJECTED"] = 3003] = "CLIENT_INVITE_REJECTED";
|
11684
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_REGISTERED"] = 3004] = "CLIENT_INVITE_REGISTERED";
|
11685
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_NEW_CLIENT"] = 3005] = "FIRM_NEW_CLIENT";
|
11686
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_LOST_CLIENT"] = 3006] = "FIRM_LOST_CLIENT";
|
11687
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_INVITE"] = 3010] = "EMPLOYEE_INVITE";
|
11688
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_LOST_CLIENT"] = 3011] = "EMPLOYEE_LOST_CLIENT";
|
11689
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_NEW_CLIENT"] = 3012] = "EMPLOYEE_NEW_CLIENT";
|
11690
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_INVITE_ACCEPTED"] = 3013] = "EMPLOYEE_INVITE_ACCEPTED";
|
11691
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_EMAIL_CONFIRMED"] = 3020] = "EMPLOYEE_EMAIL_CONFIRMED";
|
11692
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["TAX_REVIEW_RECEIVED"] = 3030] = "TAX_REVIEW_RECEIVED";
|
11693
|
+
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SHARESIGHT_IMPORT"] = 2070] = "SHARESIGHT_IMPORT";
|
11694
|
+
})(UserEventTypeTypeEnum || (UserEventTypeTypeEnum = {}));
|
11695
|
+
|
11640
11696
|
/**
|
11641
11697
|
* Service that handling user's bank accounts logic
|
11642
11698
|
*/
|
@@ -11662,10 +11718,12 @@ class BankAccountService extends RestService$1 {
|
|
11662
11718
|
*/
|
11663
11719
|
listenEvents() {
|
11664
11720
|
this.listenToEventDispatcherChanges();
|
11721
|
+
// @TODO why?
|
11665
11722
|
this.listenCSE(BankTransaction, this.refreshCache, ['post', 'delete']);
|
11666
11723
|
this.listenCSE(PropertyShare, this.refreshCache, ['put']);
|
11667
11724
|
this.listenCSE(BankConnection, this.refreshCache, ['post']);
|
11668
|
-
this.
|
11725
|
+
this.listenNotifications();
|
11726
|
+
// this.listenConnections();
|
11669
11727
|
}
|
11670
11728
|
/**
|
11671
11729
|
* Update bank account current balance
|
@@ -11699,6 +11757,19 @@ class BankAccountService extends RestService$1 {
|
|
11699
11757
|
this.refreshCache();
|
11700
11758
|
});
|
11701
11759
|
}
|
11760
|
+
listenNotifications() {
|
11761
|
+
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
11762
|
+
const events = [
|
11763
|
+
UserEventTypeTypeEnum.BASIQ_NEW_ACCOUNTS,
|
11764
|
+
UserEventTypeTypeEnum.BASIQ_FIRST_IMPORT_COMPLETE,
|
11765
|
+
UserEventTypeTypeEnum.BASIQ_AUTHORIZATION_FAIL,
|
11766
|
+
];
|
11767
|
+
if (!notification.isRead && events.includes(notification.eventType)) {
|
11768
|
+
// @TODO TT-3826 move to unified mercure event
|
11769
|
+
this.refreshCache();
|
11770
|
+
}
|
11771
|
+
});
|
11772
|
+
}
|
11702
11773
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BankAccountService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11703
11774
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BankAccountService, providedIn: 'root' }); }
|
11704
11775
|
}
|
@@ -11750,12 +11821,10 @@ class BankConnectionService extends RestService$1 {
|
|
11750
11821
|
this.collectionClass = Collection;
|
11751
11822
|
this.endpointUri = 'bank-connections';
|
11752
11823
|
this.disabledMethods = ['postBatch', 'putBatch', 'delete', 'deleteBatch'];
|
11753
|
-
this.mercureTopic = 'bankConnections';
|
11754
11824
|
this.listenEvents();
|
11755
11825
|
}
|
11756
11826
|
listenEvents() {
|
11757
|
-
|
11758
|
-
this.listenSSE();
|
11827
|
+
this.listenNotifications();
|
11759
11828
|
}
|
11760
11829
|
/**
|
11761
11830
|
* there is no put BankConnection method, we have to post to update
|
@@ -11798,6 +11867,19 @@ class BankConnectionService extends RestService$1 {
|
|
11798
11867
|
deactivate(bankConnection) {
|
11799
11868
|
return this.put(bankConnection, `${this.apiUrl}/${bankConnection.id}/deactivate`);
|
11800
11869
|
}
|
11870
|
+
listenNotifications() {
|
11871
|
+
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
11872
|
+
const events = [
|
11873
|
+
UserEventTypeTypeEnum.BASIQ_NEW_ACCOUNTS,
|
11874
|
+
UserEventTypeTypeEnum.BASIQ_FIRST_IMPORT_COMPLETE,
|
11875
|
+
UserEventTypeTypeEnum.BASIQ_AUTHORIZATION_FAIL,
|
11876
|
+
];
|
11877
|
+
if (!notification.isRead && events.includes(notification.eventType)) {
|
11878
|
+
// @TODO TT-3826 move to unified mercure event
|
11879
|
+
this.refreshCache();
|
11880
|
+
}
|
11881
|
+
});
|
11882
|
+
}
|
11801
11883
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BankConnectionService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
11802
11884
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BankConnectionService, providedIn: 'root' }); }
|
11803
11885
|
}
|
@@ -11811,58 +11893,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
11811
11893
|
args: ['environment']
|
11812
11894
|
}] }] });
|
11813
11895
|
|
11814
|
-
var UserEventTypeTypeEnum;
|
11815
|
-
(function (UserEventTypeTypeEnum) {
|
11816
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["REGISTERED"] = 1000] = "REGISTERED";
|
11817
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PASSWORD_RESET_REQUEST"] = 1001] = "PASSWORD_RESET_REQUEST";
|
11818
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["APP_FEATURES"] = 1010] = "APP_FEATURES";
|
11819
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIBED"] = 2000] = "SUBSCRIBED";
|
11820
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["UNSUBSCRIBED"] = 2001] = "UNSUBSCRIBED";
|
11821
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIPTION_UPDATE"] = 2004] = "SUBSCRIPTION_UPDATE";
|
11822
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIPTION_TRIAL_UPDATE"] = 2005] = "SUBSCRIPTION_TRIAL_UPDATE";
|
11823
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SUBSCRIPTION_PAYMENT_FAILED"] = 2006] = "SUBSCRIPTION_PAYMENT_FAILED";
|
11824
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE"] = 2010] = "CLIENT_INVITE";
|
11825
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_TO_REGISTER"] = 2011] = "CLIENT_INVITE_TO_REGISTER";
|
11826
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_ACCEPTED"] = 2012] = "FIRM_INVITE_ACCEPTED";
|
11827
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_REJECTED"] = 2013] = "FIRM_INVITE_REJECTED";
|
11828
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_REGISTERED"] = 2014] = "FIRM_INVITE_REGISTERED";
|
11829
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE"] = 2020] = "PROPERTY_SHARE_INVITE";
|
11830
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_TO_REGISTER"] = 2021] = "PROPERTY_SHARE_INVITE_TO_REGISTER";
|
11831
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_ACCEPTED"] = 2022] = "PROPERTY_SHARE_INVITE_ACCEPTED";
|
11832
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_REJECTED"] = 2023] = "PROPERTY_SHARE_INVITE_REJECTED";
|
11833
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_INVITE_REGISTERED"] = 2024] = "PROPERTY_SHARE_INVITE_REGISTERED";
|
11834
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_CHANGE_REQUESTED"] = 2025] = "PROPERTY_SHARE_CHANGE_REQUESTED";
|
11835
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_CHANGE_ACCEPTED"] = 2026] = "PROPERTY_SHARE_CHANGE_ACCEPTED";
|
11836
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["PROPERTY_SHARE_CHANGE_REJECTED"] = 2027] = "PROPERTY_SHARE_CHANGE_REJECTED";
|
11837
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["OWNER_SUBSCRIBED"] = 2028] = "OWNER_SUBSCRIBED";
|
11838
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["OWNER_UNSUBSCRIBED"] = 2029] = "OWNER_UNSUBSCRIBED";
|
11839
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["BASIQ_NEW_ACCOUNTS"] = 2030] = "BASIQ_NEW_ACCOUNTS";
|
11840
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["BASIQ_FIRST_IMPORT_COMPLETE"] = 2031] = "BASIQ_FIRST_IMPORT_COMPLETE";
|
11841
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["BASIQ_AUTHORIZATION_FAIL"] = 2032] = "BASIQ_AUTHORIZATION_FAIL";
|
11842
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["TRANSACTION_ALLOCATE_REMINDER"] = 2033] = "TRANSACTION_ALLOCATE_REMINDER";
|
11843
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["INVOICE_AUTO_ALLOCATED"] = 2035] = "INVOICE_AUTO_ALLOCATED";
|
11844
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["INVOICE_AUTO_PART_ALLOCATED"] = 2036] = "INVOICE_AUTO_PART_ALLOCATED";
|
11845
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["RULES_AUTO_ALLOCATED"] = 2037] = "RULES_AUTO_ALLOCATED";
|
11846
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["REGISTRATION_INVITE"] = 2040] = "REGISTRATION_INVITE";
|
11847
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["REGISTRATION_INVITE_ACCEPTED"] = 2041] = "REGISTRATION_INVITE_ACCEPTED";
|
11848
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_EMAIL_CONFIRMED"] = 2050] = "CLIENT_EMAIL_CONFIRMED";
|
11849
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["TAX_REVIEW_REQUESTED"] = 2060] = "TAX_REVIEW_REQUESTED";
|
11850
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE_TO_REGISTER"] = 3000] = "FIRM_INVITE_TO_REGISTER";
|
11851
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_INVITE"] = 3001] = "FIRM_INVITE";
|
11852
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_ACCEPTED"] = 3002] = "CLIENT_INVITE_ACCEPTED";
|
11853
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_REJECTED"] = 3003] = "CLIENT_INVITE_REJECTED";
|
11854
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["CLIENT_INVITE_REGISTERED"] = 3004] = "CLIENT_INVITE_REGISTERED";
|
11855
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_NEW_CLIENT"] = 3005] = "FIRM_NEW_CLIENT";
|
11856
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["FIRM_LOST_CLIENT"] = 3006] = "FIRM_LOST_CLIENT";
|
11857
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_INVITE"] = 3010] = "EMPLOYEE_INVITE";
|
11858
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_LOST_CLIENT"] = 3011] = "EMPLOYEE_LOST_CLIENT";
|
11859
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_NEW_CLIENT"] = 3012] = "EMPLOYEE_NEW_CLIENT";
|
11860
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_INVITE_ACCEPTED"] = 3013] = "EMPLOYEE_INVITE_ACCEPTED";
|
11861
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["EMPLOYEE_EMAIL_CONFIRMED"] = 3020] = "EMPLOYEE_EMAIL_CONFIRMED";
|
11862
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["TAX_REVIEW_RECEIVED"] = 3030] = "TAX_REVIEW_RECEIVED";
|
11863
|
-
UserEventTypeTypeEnum[UserEventTypeTypeEnum["SHARESIGHT_IMPORT"] = 2070] = "SHARESIGHT_IMPORT";
|
11864
|
-
})(UserEventTypeTypeEnum || (UserEventTypeTypeEnum = {}));
|
11865
|
-
|
11866
11896
|
/**
|
11867
11897
|
* Service for bank transactions business logic
|
11868
11898
|
*/
|
@@ -12908,6 +12938,7 @@ class ClientMovementService extends RestService$1 {
|
|
12908
12938
|
this.collectionClass = ClientMovementCollection;
|
12909
12939
|
this.modelClass = ClientMovement;
|
12910
12940
|
this.disabledMethods = ['postBatch', 'delete', 'deleteBatch'];
|
12941
|
+
this.mercureTopic = 'clientMovements';
|
12911
12942
|
this.listenEvents();
|
12912
12943
|
}
|
12913
12944
|
listenEvents() {
|
@@ -12915,7 +12946,8 @@ class ClientMovementService extends RestService$1 {
|
|
12915
12946
|
this.eventDispatcherService.on([AppEventTypeEnum.CLIENT_INVITE_ACCEPTED]).subscribe(() => {
|
12916
12947
|
this.refreshCache();
|
12917
12948
|
});
|
12918
|
-
|
12949
|
+
// @TODO remove when TT-3826 is ready
|
12950
|
+
this.listenSSE();
|
12919
12951
|
}
|
12920
12952
|
getActive() {
|
12921
12953
|
return this.get().pipe(map((clientMovements) => clientMovements.active));
|
@@ -12963,21 +12995,6 @@ class ClientMovementService extends RestService$1 {
|
|
12963
12995
|
// this.updateCache([clientMovement], 'delete');
|
12964
12996
|
}));
|
12965
12997
|
}
|
12966
|
-
listenNotifications() {
|
12967
|
-
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
12968
|
-
const events = [
|
12969
|
-
UserEventTypeTypeEnum.FIRM_INVITE_ACCEPTED,
|
12970
|
-
UserEventTypeTypeEnum.FIRM_INVITE_REJECTED,
|
12971
|
-
UserEventTypeTypeEnum.CLIENT_INVITE_ACCEPTED,
|
12972
|
-
UserEventTypeTypeEnum.CLIENT_INVITE_REJECTED,
|
12973
|
-
UserEventTypeTypeEnum.CLIENT_INVITE_REGISTERED,
|
12974
|
-
];
|
12975
|
-
if (!notification.isRead && events.includes(notification.eventType)) {
|
12976
|
-
// @TODO TT-3826 move to unified mercure event
|
12977
|
-
this.refreshCache();
|
12978
|
-
}
|
12979
|
-
});
|
12980
|
-
}
|
12981
12998
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClientMovementService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
12982
12999
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ClientMovementService, providedIn: 'root' }); }
|
12983
13000
|
}
|
@@ -16436,15 +16453,15 @@ class HoldingTypeService extends RestService$1 {
|
|
16436
16453
|
this.endpointUri = 'holding-types';
|
16437
16454
|
this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
|
16438
16455
|
this.roles = [UserRolesEnum.HOLDING_TANK];
|
16439
|
-
|
16456
|
+
this.listenEvents();
|
16457
|
+
}
|
16458
|
+
search(query, category = null) {
|
16459
|
+
query = query.toLowerCase().trim();
|
16460
|
+
return this.fetch(`${this.apiUrl}`, false, { params: { query, category } });
|
16461
|
+
}
|
16462
|
+
getCurrent() {
|
16463
|
+
return this.get(`${this.apiUrl}/current`);
|
16440
16464
|
}
|
16441
|
-
// search(searchQuery: string, category: HoldingTypeCategoryEnum = null): Observable<HoldingType[]> {
|
16442
|
-
// searchQuery = searchQuery.toLowerCase().trim();
|
16443
|
-
//
|
16444
|
-
// return this.http.get(`${this.apiUrl}`, { params: { searchQuery, category } }).pipe(
|
16445
|
-
// map((userBase: UserBase) => this.createModelInstance(userBase))
|
16446
|
-
// );
|
16447
|
-
// }
|
16448
16465
|
listenEvents() {
|
16449
16466
|
this.listenCSE(BankTransaction, (trade) => this.hasInCache(trade.holdingType.id) ? this.updateCache([trade.holdingType], 'post') : '', ['post']);
|
16450
16467
|
}
|
@@ -19873,15 +19890,8 @@ class XlsxService {
|
|
19873
19890
|
// add caption for the current table
|
19874
19891
|
xlsx.utils.sheet_add_aoa(worksheet, [[data.caption?.innerText]], { origin: -1 });
|
19875
19892
|
// Prepare to add table data to the worksheet, processing each cell
|
19876
|
-
const rows = Array.from(data.rows)
|
19877
|
-
|
19878
|
-
// Convert currency strings like "$0.00" to numbers
|
19879
|
-
if (/^-?\$/.test(cellValue)) {
|
19880
|
-
// @TODO vik fix
|
19881
|
-
// cellValue = parseFloat(cellValue.replace('$', ''));
|
19882
|
-
}
|
19883
|
-
return cellValue;
|
19884
|
-
}));
|
19893
|
+
const rows = Array.from(data.rows)
|
19894
|
+
.map((row) => Array.from(row.cells).map(cell => this.htmlToXlsCell(cell)));
|
19885
19895
|
// Add the processed table data to the worksheet
|
19886
19896
|
xlsx.utils.sheet_add_aoa(worksheet, rows, { origin: -1 });
|
19887
19897
|
// set empty row after current table
|
@@ -19890,6 +19900,21 @@ class XlsxService {
|
|
19890
19900
|
xlsx.utils.book_append_sheet(workbook, worksheet);
|
19891
19901
|
return xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
|
19892
19902
|
}
|
19903
|
+
htmlToXlsCell(cell) {
|
19904
|
+
const cellValue = cell.innerText;
|
19905
|
+
// regex to check currency value
|
19906
|
+
return /^-?\$/.test(cellValue) ? this.currencyToNumber(cellValue) : cellValue;
|
19907
|
+
}
|
19908
|
+
/**
|
19909
|
+
* function which reconverts values from customCurrencyPipe
|
19910
|
+
* @param cellValue - string with $ and possibly comma. $123,123.03
|
19911
|
+
* @returns value without $ and comma. like 123123.03
|
19912
|
+
*/
|
19913
|
+
currencyToNumber(cellValue) {
|
19914
|
+
// remove dollar sign and comma
|
19915
|
+
cellValue = cellValue.replace(/[$,]/g, '');
|
19916
|
+
return parseFloat(cellValue);
|
19917
|
+
}
|
19893
19918
|
/**
|
19894
19919
|
* @TODO vik/artem work with ExportDataTable instead of ExportableCollection
|
19895
19920
|
* @TODO vik/artem why so much code? here is 6 rows solution https://stackoverflow.com/questions/64939994/how-to-export-array-of-objects-to-an-excel-in-angular-8
|