taxtank-core 0.30.46 → 0.30.48
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/esm2020/lib/collections/exportable.collection.mjs +1 -1
- package/esm2020/lib/collections/holding/holding-sale.collection.mjs +35 -3
- package/esm2020/lib/collections/holding/holding.collection.mjs +6 -2
- package/esm2020/lib/collections/loan/loan-payment.collection.mjs +2 -2
- package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-category.enum.mjs +3 -3
- package/esm2020/lib/forms/holding/holding-sale.form.mjs +3 -2
- package/esm2020/lib/services/account-setup/account-setup.service.mjs +13 -10
- package/esm2020/lib/services/xlsx/xlsx.service.mjs +5 -1
- package/fesm2015/taxtank-core.mjs +54 -13
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +53 -13
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/exportable.collection.d.ts +1 -1
- package/lib/collections/holding/holding-sale.collection.d.ts +9 -3
- package/lib/collections/loan/loan-payment.collection.d.ts +1 -2
- package/lib/db/Enums/chart-accounts/chart-accounts-category.enum.d.ts +2 -2
- package/lib/services/account-setup/account-setup.service.d.ts +3 -2
- package/lib/services/xlsx/xlsx.service.d.ts +4 -0
- package/package.json +1 -1
|
@@ -20,4 +20,4 @@ export class ExportableCollection extends Collection {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0YWJsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2V4cG9ydGFibGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckUsTUFBTSxPQUFnQixvQkFBa0QsU0FBUSxVQUFpQjtJQUsvRixlQUFlLENBQUMsSUFBYTtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBVTtRQUNuQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWE7UUFDbEIsT0FBTyxZQUFZLENBQUMsZUFBZSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydERhdGFUYWJsZSB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwnO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi9kYi9Nb2RlbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhwb3J0YWJsZUNvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBleHRlbmRzIENvbGxlY3Rpb248TW9kZWw+IHtcbiAgYWJzdHJhY3QgZ2V0RXhwb3J0SGVhZGVyKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICBhYnN0cmFjdCBnZXRFeHBvcnRCb2R5KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnRDZWxsW11bXTtcblxuICBnZXRFeHBvcnRGb290ZXIodHlwZT86IHN0cmluZyk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZ2V0Qm9keUFvYShleHBvcnREYXRhKTogYW55IHtcbiAgICByZXR1cm4gZXhwb3J0RGF0YS5ib2R5Lm1hcChyb3cgPT4ge1xuICAgICAgcmV0dXJuIHJvdy5tYXAoY2VsbCA9PiB7XG4gICAgICAgIHJldHVybiBjZWxsLnZhbHVlO1xuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgZXhwb3J0KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnREYXRhVGFibGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRXhwb3J0RGF0YVRhYmxlLCB7XG4gICAgICBoZWFkZXI6IHRoaXMuZ2V0RXhwb3J0SGVhZGVyKHR5cGUpLFxuICAgICAgYm9keTogdGhpcy5nZXRFeHBvcnRCb2R5KHR5cGUpLFxuICAgICAgZm9vdGVyOiBbdGhpcy5nZXRFeHBvcnRGb290ZXIodHlwZSldXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ExportableCollection } from "../exportable.collection";
|
|
2
|
+
import { ExportCell } from "../../models/export/export-cell";
|
|
3
|
+
import { ExportCellTypeEnum } from "../../models/export/export-cell-type.enum";
|
|
4
|
+
import { plainToClass } from 'class-transformer';
|
|
5
|
+
export class HoldingSaleCollection extends ExportableCollection {
|
|
3
6
|
/**
|
|
4
7
|
* @TODO vik remove?
|
|
5
8
|
*/
|
|
@@ -16,5 +19,34 @@ export class HoldingSaleCollection extends Collection {
|
|
|
16
19
|
get noExemptionGrossCapitalGain() {
|
|
17
20
|
return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain === sale.grossCapitalGain).grossCapitalGain;
|
|
18
21
|
}
|
|
22
|
+
getExportHeader() {
|
|
23
|
+
return ['Ticker', 'Asset type', 'Date of buy', 'Date of sale', 'My Capital Gain/(Loss)', 'Exempt or Concession'];
|
|
24
|
+
}
|
|
25
|
+
getExportFooter() {
|
|
26
|
+
return [
|
|
27
|
+
plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
getExportBody() {
|
|
31
|
+
return this.items.map((sale) => {
|
|
32
|
+
return [
|
|
33
|
+
plainToClass(ExportCell, {
|
|
34
|
+
value: this.holdingTypesById.get(this.holdingsById.get(sale.holding.id).type.id).ticker,
|
|
35
|
+
type: ExportCellTypeEnum.STRING
|
|
36
|
+
}),
|
|
37
|
+
plainToClass(ExportCell, {
|
|
38
|
+
value: this.holdingsById.get(sale.holding.id).type.categoryLabel,
|
|
39
|
+
type: ExportCellTypeEnum.STRING
|
|
40
|
+
}),
|
|
41
|
+
plainToClass(ExportCell, { value: this.holdingsById.get(sale.holding.id)?.date, type: ExportCellTypeEnum.DATE }),
|
|
42
|
+
plainToClass(ExportCell, { value: sale.date, type: ExportCellTypeEnum.DATE }),
|
|
43
|
+
plainToClass(ExportCell, { value: sale.grossCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
|
|
44
|
+
plainToClass(ExportCell, {
|
|
45
|
+
value: sale.isOneYearExemptionApplicable() ? '50% (1 year rule)' : 'None',
|
|
46
|
+
type: ExportCellTypeEnum.STRING
|
|
47
|
+
}),
|
|
48
|
+
];
|
|
49
|
+
});
|
|
50
|
+
}
|
|
19
51
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9ob2xkaW5nLXNhbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyxxQkFBdUIsU0FBUSxvQkFBaUM7SUFHM0U7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7YUFDcEQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELElBQUksNkJBQTZCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSwyQkFBMkI7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQzFILENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztTQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQzFDLE9BQU87Z0JBQ0wsWUFBWSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTTtvQkFDdkYsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07aUJBQ2hDLENBQUM7Z0JBQ0YsWUFBWSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWE7b0JBQ2hFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO2lCQUNoQyxDQUFDO2dCQUNGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBQyxDQUFDO2dCQUM5RyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBQyxDQUFDO2dCQUMzRSxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFDLENBQUM7Z0JBQzNGLFlBQVksQ0FBQyxVQUFVLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU07b0JBQ3hFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO2lCQUNoQyxDQUFDO2FBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSwgSG9sZGluZywgSG9sZGluZ1NhbGUsIEhvbGRpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSBcIi4uL2V4cG9ydGFibGUuY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsXCI7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbC10eXBlLmVudW1cIjtcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdTYWxlQ29sbGVjdGlvbiAgZXh0ZW5kcyBFeHBvcnRhYmxlQ29sbGVjdGlvbjxIb2xkaW5nU2FsZT4ge1xuICBob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPlxuICBob2xkaW5nc0J5SWQ6IERpY3Rpb25hcnk8SG9sZGluZz47XG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgcmVtb3ZlP1xuICAgKi9cbiAgZ2V0IGdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiA+IDApXG4gICAgICAuc3VtQnkoJ2dyb3NzQ2FwaXRhbEdhaW4nKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhckNhcGl0YWxMb3NzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuZmlsdGVyQnlGaW5hbmNpYWxZZWFyKCdkYXRlJykuZmlsdGVyKChzYWxlKSA9PiBzYWxlLm5ldENhcGl0YWxHYWluIDwgMCkuc3VtQnkoJ2dyb3NzQ2FwaXRhbEdhaW4nKSk7XG4gIH1cblxuICBnZXQgaGFsZkV4ZW1wdGlvbkdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUubmV0Q2FwaXRhbEdhaW4gPiAwICYmIHNhbGUubmV0Q2FwaXRhbEdhaW4gIT09IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbikuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIGdldCBub0V4ZW1wdGlvbkdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUubmV0Q2FwaXRhbEdhaW4gPiAwICYmIHNhbGUubmV0Q2FwaXRhbEdhaW4gPT09IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbikuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnVGlja2VyJywgJ0Fzc2V0IHR5cGUnLCAnRGF0ZSBvZiBidXknLCAnRGF0ZSBvZiBzYWxlJywgJ015IENhcGl0YWwgR2Fpbi8oTG9zcyknLCAnRXhlbXB0IG9yIENvbmNlc3Npb24nXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHNhbGU6IEhvbGRpbmdTYWxlKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KHRoaXMuaG9sZGluZ3NCeUlkLmdldChzYWxlLmhvbGRpbmcuaWQpLnR5cGUuaWQpLnRpY2tlcixcbiAgICAgICAgICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdzQnlJZC5nZXQoc2FsZS5ob2xkaW5nLmlkKS50eXBlLmNhdGVnb3J5TGFiZWwsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogdGhpcy5ob2xkaW5nc0J5SWQuZ2V0KHNhbGUuaG9sZGluZy5pZCk/LmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHNhbGUuZGF0ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkRBVEV9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogc2FsZS5ncm9zc0NhcGl0YWxHYWluLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogc2FsZS5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKCk/ICc1MCUgKDEgeWVhciBydWxlKScgOiAnTm9uZScsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgIF07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ import { ExportCellTypeEnum } from "../../models/export/export-cell-type.enum";
|
|
|
5
5
|
import { HoldingTypeCategoryEnum } from '../../db/Enums';
|
|
6
6
|
export class HoldingCollection extends ExportableCollection {
|
|
7
7
|
getExportHeader() {
|
|
8
|
-
return ['Date', 'Ticker', 'Asset type', 'Qty bought', 'Qty current', 'Buy price/Unit', 'Current price/Unit', 'Total MV', 'Profit/Loss'];
|
|
8
|
+
return ['Date', 'Ticker', 'Name', 'Asset type', 'Qty bought', 'Qty current', 'Buy price/Unit', 'Current price/Unit', 'Total MV', 'Profit/Loss'];
|
|
9
9
|
}
|
|
10
10
|
getExportFooter() {
|
|
11
11
|
return [
|
|
@@ -16,6 +16,10 @@ export class HoldingCollection extends ExportableCollection {
|
|
|
16
16
|
return this.items.map((holding) => {
|
|
17
17
|
return [
|
|
18
18
|
plainToClass(ExportCell, { value: holding.date, type: ExportCellTypeEnum.DATE }),
|
|
19
|
+
plainToClass(ExportCell, {
|
|
20
|
+
value: this.holdingTypesById.get(holding.type.id).ticker,
|
|
21
|
+
type: ExportCellTypeEnum.STRING
|
|
22
|
+
}),
|
|
19
23
|
plainToClass(ExportCell, {
|
|
20
24
|
value: this.holdingTypesById.get(holding.type.id).name,
|
|
21
25
|
type: ExportCellTypeEnum.STRING
|
|
@@ -66,4 +70,4 @@ export class HoldingCollection extends ExportableCollection {
|
|
|
66
70
|
return this.removeBy('currentQuantity', 0);
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2hvbGRpbmcvaG9sZGluZy5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUE2QjtJQUlsRSxlQUFlO1FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsSixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU87WUFDTCxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxFQUFDLENBQUM7U0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUN6QyxPQUFPO2dCQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxFQUFDLENBQUM7Z0JBQzlFLFlBQVksQ0FBQyxVQUFVLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTTtvQkFDeEQsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07aUJBQ2hDLENBQUM7Z0JBQ0YsWUFBWSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUN0RCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtpQkFDaEMsQ0FBQztnQkFDRixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztnQkFDOUYsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztnQkFDcEYsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztnQkFDM0YsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUMsQ0FBQztnQkFDbkYsWUFBWSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUN2RCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtpQkFDbEMsQ0FBQztnQkFDRixZQUFZLENBQUMsVUFBVSxFQUFFO29CQUN2QixLQUFLLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3pFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2lCQUNsQyxDQUFDO2dCQUNGLFlBQVksQ0FBQyxVQUFVLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMvRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsT0FBTztpQkFDakMsQ0FBQzthQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQ3BDLHVCQUF1QixDQUFDLFdBQVc7WUFDbkMsdUJBQXVCLENBQUMsY0FBYztZQUN0Qyx1QkFBdUIsQ0FBQyxhQUFhO1lBQ3JDLHVCQUF1QixDQUFDLEtBQUs7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYyxDQUFDLGdCQUF5QztRQUN0RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEksQ0FBQztJQUVELG9CQUFvQixDQUFDLGdCQUF5QztRQUM1RCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXhwb3J0YWJsZUNvbGxlY3Rpb24gfSBmcm9tIFwiLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBIb2xkaW5nLCBIb2xkaW5nVHlwZSB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbFwiO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdDb2xsZWN0aW9uIGV4dGVuZHMgRXhwb3J0YWJsZUNvbGxlY3Rpb248SG9sZGluZz4ge1xuICAvLyBkaWN0aW9uYXJ5IGhvbGRpbmcgdHlwZVxuICBob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPlxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdUaWNrZXInLCAnTmFtZScsICdBc3NldCB0eXBlJywgJ1F0eSBib3VnaHQnLCAnUXR5IGN1cnJlbnQnLCAnQnV5IHByaWNlL1VuaXQnLCAnQ3VycmVudCBwcmljZS9Vbml0JywgJ1RvdGFsIE1WJywgJ1Byb2ZpdC9Mb3NzJ107XG4gIH1cblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogJycsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkd9KSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChob2xkaW5nOiBIb2xkaW5nKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuaG9sZGluZ1R5cGVzQnlJZC5nZXQoaG9sZGluZy50eXBlLmlkKS50aWNrZXIsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5ob2xkaW5nVHlwZXNCeUlkLmdldChob2xkaW5nLnR5cGUuaWQpLm5hbWUsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogaG9sZGluZy50eXBlLmNhdGVnb3J5TGFiZWwsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkd9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogaG9sZGluZy5xdWFudGl0eSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLmN1cnJlbnRRdWFudGl0eSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLnByaWNlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5ob2xkaW5nVHlwZXNCeUlkLmdldChob2xkaW5nLnR5cGUuaWQpLnByaWNlLFxuICAgICAgICAgIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWVxuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogaG9sZGluZy5nZXRNYXJrZXRWYWx1ZSh0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkpLFxuICAgICAgICAgIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWVxuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogaG9sZGluZy5nZXRHcm93dGhDb2VmZmljaWVudCh0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkpLFxuICAgICAgICAgIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5QRVJDRU5UXG4gICAgICAgIH0pLFxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFNoYXJlcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndHlwZS5jYXRlZ29yeScsIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLKTtcbiAgfVxuXG4gIGdldENyeXB0b3MoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUuY2F0ZWdvcnknLCBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DUllQVE8pO1xuICB9XG5cbiAgZ2V0T3RoZXJzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0eXBlLmNhdGVnb3J5JywgW1xuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgIF0pO1xuICB9XG5cbiAgZ2V0UHVyY2hhc2VWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdwdXJjaGFzZVZhbHVlJyk7XG4gIH1cblxuICBnZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgaG9sZGluZzogSG9sZGluZykgPT4gc3VtICsgaG9sZGluZy5nZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZXNCeUlkLmdldChob2xkaW5nLnR5cGUuaWQpKSwgMCk7XG4gIH1cblxuICBnZXRHcm93dGhDb2VmZmljaWVudChob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWFya2V0VmFsdWUoaG9sZGluZ1R5cGVzQnlJZCkgLyB0aGlzLmdldFB1cmNoYXNlVmFsdWUoKSAtIDE7XG4gIH1cblxuICBnZXRVbnNvbGQoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQnkoJ2N1cnJlbnRRdWFudGl0eScsIDApO1xuICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { ExportableCollection } from '../exportable.collection';
|
|
|
2
2
|
import { ExportCell } from '../../models/export/export-cell';
|
|
3
3
|
import { plainToClass } from 'class-transformer';
|
|
4
4
|
import { ExportCellTypeEnum } from '../../models/export/export-cell-type.enum';
|
|
5
|
-
import { FinancialYear } from '../../models
|
|
5
|
+
import { FinancialYear } from '../../models';
|
|
6
6
|
export class LoanPaymentCollection extends ExportableCollection {
|
|
7
7
|
getExportHeader() {
|
|
8
8
|
return [
|
|
@@ -37,4 +37,4 @@ export class LoanPaymentCollection extends ExportableCollection {
|
|
|
37
37
|
return this.getByFinYear(new FinancialYear());
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1wYXltZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvbG9hbi9sb2FuLXBheW1lbnQuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFpQztJQUMxRSxlQUFlO1FBQ2IsT0FBTztZQUNMLFNBQVM7WUFDVCxNQUFNO1lBQ04sYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztZQUNsRixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBQyxDQUFDO1lBQzlFLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDeEYsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUM3RixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQzNGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUM5RixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO1NBQ3JGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUF5QixJQUFJLGFBQWEsRUFBRTtRQUN2RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVM7WUFDcEYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvcnRhYmxlQ29sbGVjdGlvbiB9IGZyb20gJy4uL2V4cG9ydGFibGUuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBMb2FuUGF5bWVudCwgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBMb2FuUGF5bWVudENvbGxlY3Rpb24gZXh0ZW5kcyBFeHBvcnRhYmxlQ29sbGVjdGlvbjxMb2FuUGF5bWVudD4ge1xuICBnZXRFeHBvcnRIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnUG10IE5vLicsXG4gICAgICAnRGF0ZScsXG4gICAgICAnUGF5bWVudCBEdWUnLFxuICAgICAgJ0ludGVyZXN0IEFjY3J1ZWQnLFxuICAgICAgJ1ByaW5jaXBhbCBQYWlkJyxcbiAgICAgICdQcmluY2lwYWwgQmFsYW5jZScsXG4gICAgICAnUGF5b3V0J1xuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHBheW1lbnQ6IExvYW5QYXltZW50KSA9PiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBwYXltZW50Lm51bWJlciwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURX0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5wYXltZW50RHVlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQuaW50ZXJlc3RBY2NydWVkLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQucHJpbmNpcGFsUGFpZCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBwYXltZW50LnByaW5jaXBhbEJhbGFuY2UsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5wYXlvdXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgIF0pO1xuICB9XG5cbiAgZ2V0IHBheW1lbnREdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgncGF5bWVudER1ZScpO1xuICB9XG5cbiAgZ2V0QnlGaW5ZZWFyKGZpblllYXI6IEZpbmFuY2lhbFllYXIgPSBuZXcgRmluYW5jaWFsWWVhcigpKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChwYXltZW50OiBMb2FuUGF5bWVudCkgPT4gbmV3IERhdGUocGF5bWVudC5kYXRlKSA+PSBmaW5ZZWFyLnN0YXJ0RGF0ZSAmJlxuICAgICAgICBuZXcgRGF0ZShwYXltZW50LmRhdGUpIDw9IGZpblllYXIuZW5kRGF0ZSlcbiAgfVxuXG4gIGdldEZvckN1cnJlbnRZZWFyKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmdldEJ5RmluWWVhcihuZXcgRmluYW5jaWFsWWVhcigpKTtcbiAgfVxufVxuIl19
|
|
@@ -14,7 +14,7 @@ export var ChartAccountsCategoryEnum;
|
|
|
14
14
|
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_INCOME"] = 12] = "SOLE_INCOME";
|
|
15
15
|
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_EXPENSE"] = 13] = "SOLE_EXPENSE";
|
|
16
16
|
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_DEPRECIATION"] = 14] = "SOLE_DEPRECIATION";
|
|
17
|
-
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["
|
|
18
|
-
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["
|
|
17
|
+
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_INCOME"] = 15] = "HOLDING_INCOME";
|
|
18
|
+
ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_EXPENSE"] = 16] = "HOLDING_EXPENSE";
|
|
19
19
|
})(ChartAccountsCategoryEnum || (ChartAccountsCategoryEnum = {}));
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHlCQWlCWDtBQWpCRCxXQUFZLHlCQUF5QjtJQUNuQywrRkFBbUIsQ0FBQTtJQUNuQixpR0FBb0IsQ0FBQTtJQUNwQiwyR0FBeUIsQ0FBQTtJQUN6Qiw2R0FBMEIsQ0FBQTtJQUMxQixtR0FBcUIsQ0FBQTtJQUNyQix1RkFBZSxDQUFBO0lBQ2YseUZBQWdCLENBQUE7SUFDaEIseUZBQWdCLENBQUE7SUFDaEIsMkZBQWlCLENBQUE7SUFDakIsZ0dBQW9CLENBQUE7SUFDcEIsa0dBQXFCLENBQUE7SUFDckIsd0ZBQWdCLENBQUE7SUFDaEIsMEZBQWlCLENBQUE7SUFDakIsb0dBQXNCLENBQUE7SUFDdEIsOEZBQW1CLENBQUE7SUFDbkIsZ0dBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQWpCVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBaUJwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0ge1xuICBQUk9QRVJUWV9JTkNPTUUgPSAxLFxuICBQUk9QRVJUWV9FWFBFTlNFID0gMixcbiAgUFJPUEVSVFlfREVQUkVDSUFUSU9OID0gMyxcbiAgUFJPUEVSVFlfQ0FQSVRBTF9XT1JLUyA9IDQsXG4gIFdPUktfREVQUkVDSUFUSU9OID0gNSxcbiAgV09SS19JTkNPTUUgPSA2LFxuICBXT1JLX0VYUEVOU0UgPSA3LFxuICBPVEhFUl9JTkNPTUUgPSA4LFxuICBPVEhFUl9FWFBFTlNFID0gOSxcbiAgUEVSU09OQUxfSU5DT01FID0gMTAsXG4gIFBFUlNPTkFMX0VYUEVOU0UgPSAxMSxcbiAgU09MRV9JTkNPTUUgPSAxMixcbiAgU09MRV9FWFBFTlNFID0gMTMsXG4gIFNPTEVfREVQUkVDSUFUSU9OID0gMTQsXG4gIEhPTERJTkdfSU5DT01FID0gMTUsXG4gIEhPTERJTkdfRVhQRU5TRSA9IDE2LFxufVxuIl19
|
|
@@ -34,7 +34,8 @@ export class HoldingSaleForm extends AbstractForm {
|
|
|
34
34
|
this.get('netCapitalGain').setValue(this.calculateNetCapitalGain(totalCapitalGain, date));
|
|
35
35
|
}
|
|
36
36
|
calculateTotalCapitalGain(price, quantity, fee) {
|
|
37
|
-
|
|
37
|
+
const fees = quantity * this.holding.fee / this.holding.quantity + fee;
|
|
38
|
+
return round((price - this.holding.price) * quantity - fees, 2);
|
|
38
39
|
}
|
|
39
40
|
calculateNetCapitalGain(totalCapitalGain, date) {
|
|
40
41
|
let netCapitalGain = (totalCapitalGain * this.holding.ownershipPercent) / 100;
|
|
@@ -47,4 +48,4 @@ export class HoldingSaleForm extends AbstractForm {
|
|
|
47
48
|
return netCapitalGain > 0 && moment(date).diff(moment(this.holding.date), 'year') > 0;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9ob2xkaW5nLXNhbGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUFZLElBQWlCLEVBQVUsT0FBZ0IsRUFBRSxJQUFpQjtRQUN4RSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hJLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVFLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMxRCxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDNUQsZ0JBQWdCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO1lBQ3hGLGNBQWMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO1lBQ3BGLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDeEMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVQ0QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBV3JELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVk7UUFDVixhQUFhLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0YsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBVSxFQUFFLEtBQWEsRUFBRSxRQUFnQixFQUFFLEdBQVc7UUFDL0UsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU8seUJBQXlCLENBQUMsS0FBYSxFQUFFLFFBQWdCLEVBQUUsR0FBVztRQUM1RSxNQUFNLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3ZFLE9BQU8sS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sdUJBQXVCLENBQUMsZ0JBQXdCLEVBQUUsSUFBVTtRQUNsRSxJQUFJLGNBQWMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFOUUsSUFBSSxJQUFJLENBQUMsNEJBQTRCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQzNELGNBQWMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxjQUFzQixFQUFFLElBQVU7UUFDckUsT0FBTyxjQUFjLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBIb2xkaW5nLCBIb2xkaW5nU2FsZSwgSG9sZGluZ1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgcm91bmQgZnJvbSAnbG9kYXNoL3JvdW5kJztcbmltcG9ydCB7IGdyZWF0ZXJUaGFuVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nU2FsZUZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08SG9sZGluZ1NhbGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihzYWxlOiBIb2xkaW5nU2FsZSwgcHJpdmF0ZSBob2xkaW5nOiBIb2xkaW5nLCB0eXBlOiBIb2xkaW5nVHlwZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIHF1YW50aXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUucXVhbnRpdHksIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heChob2xkaW5nLmN1cnJlbnRRdWFudGl0eSksIGdyZWF0ZXJUaGFuVmFsaWRhdG9yKDApXSksXG4gICAgICBwcmljZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLnByaWNlIHx8IHR5cGUucHJpY2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZmVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZmVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGRhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc2FsZS5kYXRlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHRvdGFsQ2FwaXRhbEdhaW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBzYWxlLnRvdGFsQ2FwaXRhbEdhaW4sIGRpc2FibGVkOiB0cnVlfSksXG4gICAgICBuZXRDYXBpdGFsR2FpbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IHNhbGUubmV0Q2FwaXRhbEdhaW4sIGRpc2FibGVkOiB0cnVlfSksXG4gICAgICBmaWxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZmlsZSlcbiAgICB9LCBzYWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5lbWl0VmFsdWVzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbJ2RhdGUnLCAncHJpY2UnLCAncXVhbnRpdHknLCAnZmVlJ10ubWFwKChmaWVsZCkgPT4gdGhpcy5nZXQoZmllbGQpLnZhbHVlQ2hhbmdlcykpXG4gICAgICAuc3Vic2NyaWJlKChbZGF0ZSwgcHJpY2UsIHF1YW50aXR5LCBmZWVdKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlR2FpbkZpZWxkcyhkYXRlLCBwcmljZSwgcXVhbnRpdHksIGZlZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBIb2xkaW5nU2FsZSB7XG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdCh7fSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUdhaW5GaWVsZHMoZGF0ZTogRGF0ZSwgcHJpY2U6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlciwgZmVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0b3RhbENhcGl0YWxHYWluID0gdGhpcy5jYWxjdWxhdGVUb3RhbENhcGl0YWxHYWluKHByaWNlLCBxdWFudGl0eSwgZmVlKTtcblxuICAgIHRoaXMuZ2V0KCd0b3RhbENhcGl0YWxHYWluJykuc2V0VmFsdWUodG90YWxDYXBpdGFsR2Fpbik7XG4gICAgdGhpcy5nZXQoJ25ldENhcGl0YWxHYWluJykuc2V0VmFsdWUodGhpcy5jYWxjdWxhdGVOZXRDYXBpdGFsR2Fpbih0b3RhbENhcGl0YWxHYWluLCBkYXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVRvdGFsQ2FwaXRhbEdhaW4ocHJpY2U6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlciwgZmVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGZlZXMgPSBxdWFudGl0eSAqIHRoaXMuaG9sZGluZy5mZWUgLyB0aGlzLmhvbGRpbmcucXVhbnRpdHkgKyBmZWU7XG4gICAgcmV0dXJuIHJvdW5kKChwcmljZSAtIHRoaXMuaG9sZGluZy5wcmljZSkgKiBxdWFudGl0eSAtIGZlZXMsIDIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVOZXRDYXBpdGFsR2Fpbih0b3RhbENhcGl0YWxHYWluOiBudW1iZXIsIGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIGxldCBuZXRDYXBpdGFsR2FpbiA9ICh0b3RhbENhcGl0YWxHYWluICogdGhpcy5ob2xkaW5nLm93bmVyc2hpcFBlcmNlbnQpIC8gMTAwO1xuXG4gICAgaWYgKHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShuZXRDYXBpdGFsR2FpbiwgZGF0ZSkpIHtcbiAgICAgIG5ldENhcGl0YWxHYWluID0gbmV0Q2FwaXRhbEdhaW4gLyAyO1xuICAgIH1cblxuICAgIHJldHVybiByb3VuZChuZXRDYXBpdGFsR2FpbiwgMik7XG4gIH1cblxuICBwcml2YXRlIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUobmV0Q2FwaXRhbEdhaW46IG51bWJlciwgZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuZXRDYXBpdGFsR2FpbiA+IDAgJiYgbW9tZW50KGRhdGUpLmRpZmYobW9tZW50KHRoaXMuaG9sZGluZy5kYXRlKSwgJ3llYXInKSA+IDA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,13 +3,14 @@ import { ACCOUNT_SETUP_ITEMS } from '../../models/account-setup/account-setup-it
|
|
|
3
3
|
import { AccountSetupItemsEnum } from '../../models/account-setup/account-setup-items.enum';
|
|
4
4
|
import { ClientIncomeTypes } from '../../models/client/client-income-types';
|
|
5
5
|
import { IncomeSourceCollection } from '../../collections/income-source.collection';
|
|
6
|
-
import {
|
|
6
|
+
import { combineLatest, of, ReplaySubject } from 'rxjs';
|
|
7
7
|
import { map, mergeMap } from 'rxjs/operators';
|
|
8
8
|
import { AccountSetupItemCollection } from '../../collections/account-setup-item.collection';
|
|
9
9
|
import fromPairs from 'lodash/fromPairs';
|
|
10
10
|
import cloneDeep from 'lodash/cloneDeep';
|
|
11
11
|
import { plainToClass } from 'class-transformer';
|
|
12
12
|
import { TransactionCollection } from '../../collections/transaction/transaction.collection';
|
|
13
|
+
import { UserRolesEnum } from '../../db/Enums/user-roles.enum';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
import * as i1 from "../http/firm/client-income/client-income-types.service";
|
|
15
16
|
import * as i2 from "../http/property/property.service";
|
|
@@ -24,7 +25,7 @@ import * as i8 from "../http";
|
|
|
24
25
|
* Checks required steps and their completion
|
|
25
26
|
*/
|
|
26
27
|
export class AccountSetupService {
|
|
27
|
-
constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService) {
|
|
28
|
+
constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService, userService) {
|
|
28
29
|
this.clientIncomeTypesService = clientIncomeTypesService;
|
|
29
30
|
this.propertyService = propertyService;
|
|
30
31
|
this.incomeSourceService = incomeSourceService;
|
|
@@ -34,6 +35,7 @@ export class AccountSetupService {
|
|
|
34
35
|
this.transactionService = transactionService;
|
|
35
36
|
this.soleBusinessService = soleBusinessService;
|
|
36
37
|
this.holdingService = holdingService;
|
|
38
|
+
this.userService = userService;
|
|
37
39
|
this.cacheSubject = new ReplaySubject(1);
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
@@ -86,25 +88,26 @@ export class AccountSetupService {
|
|
|
86
88
|
*/
|
|
87
89
|
createBatch(incomeTypes) {
|
|
88
90
|
const batch = [];
|
|
91
|
+
const user = this.userService.getCache();
|
|
89
92
|
// Salary item is completed when user added salary income source
|
|
90
|
-
if (incomeTypes.work) {
|
|
93
|
+
if (incomeTypes.work && user.hasRoles(UserRolesEnum.WORK_TANK)) {
|
|
91
94
|
batch.push(this.create(AccountSetupItemsEnum.SALARY, this.getIncomeSources(true)),
|
|
92
95
|
// Other income is a part of work tank, completed when user added at least one other income source
|
|
93
96
|
this.create(AccountSetupItemsEnum.OTHER_INCOME, this.getIncomeSources()));
|
|
94
97
|
}
|
|
95
98
|
// Rental income item is completed when user added at least one property
|
|
96
|
-
if (incomeTypes.property) {
|
|
99
|
+
if (incomeTypes.property && user.hasRoles(UserRolesEnum.PROPERTY_TANK)) {
|
|
97
100
|
batch.push(this.create(AccountSetupItemsEnum.PROPERTY, this.propertyService.getArray()));
|
|
98
101
|
}
|
|
99
102
|
// Sole business item is completed when user added at least one business
|
|
100
|
-
if (incomeTypes.sole) {
|
|
103
|
+
if (incomeTypes.sole && user.hasRoles(UserRolesEnum.SOLE_TANK)) {
|
|
101
104
|
batch.push(this.create(AccountSetupItemsEnum.SOLE_BUSINESS, this.soleBusinessService.get()));
|
|
102
105
|
}
|
|
103
106
|
// holdings item is completed when user added at least one holding
|
|
104
|
-
if (incomeTypes.holdings) {
|
|
107
|
+
if (incomeTypes.holdings && user.hasRoles(UserRolesEnum.HOLDING_TANK)) {
|
|
105
108
|
batch.push(this.create(AccountSetupItemsEnum.HOLDINGS, this.holdingService.getArray()));
|
|
106
109
|
}
|
|
107
|
-
if (incomeTypes.sole || incomeTypes.property || incomeTypes.work) {
|
|
110
|
+
if (incomeTypes.sole || incomeTypes.property || incomeTypes.work || incomeTypes.holdings) {
|
|
108
111
|
// Bank feeds item is completed when user added at least one bank account (basiq or manual)
|
|
109
112
|
batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray()));
|
|
110
113
|
// Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
|
|
@@ -142,12 +145,12 @@ export class AccountSetupService {
|
|
|
142
145
|
}));
|
|
143
146
|
}
|
|
144
147
|
}
|
|
145
|
-
AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
148
|
+
AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }, { token: i8.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
146
149
|
AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
|
|
147
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, decorators: [{
|
|
148
151
|
type: Injectable,
|
|
149
152
|
args: [{
|
|
150
153
|
providedIn: 'root'
|
|
151
154
|
}]
|
|
152
|
-
}], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }, { type: i8.SoleBusinessService }, { type: i8.HoldingService }]; } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFJcEYsT0FBTyxFQUFjLGFBQWEsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBVSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFN0YsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7Ozs7O0FBRzdGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFDVSx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLG1CQUF1QyxFQUN2Qyw0QkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMsY0FBOEI7UUFSOUIsNkJBQXdC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QUUsRUFBRSxDQUFDLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsRUFDN0UsUUFBUSxDQUFDLENBQUMsWUFBbUMsRUFBRSxFQUFFO1lBQy9DLElBQUksWUFBWSxDQUFDLHNCQUFzQixFQUFFLENBQUMsTUFBTSxFQUFFO2dCQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3hGO1lBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7O2dIQWhLVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBQ0NPVU5UX1NFVFVQX0lURU1TIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtcy5jb25zdCc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW1zRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuZW51bSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9odHRwL2JhbmsvYmFuay1hY2NvdW50L2JhbmstYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtaW5jb21lLXR5cGVzJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzU2VydmljZSB9IGZyb20gJy4uL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IEluY29tZVNvdXJjZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9pbmNvbWUtc291cmNlLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgSW5jb21lU291cmNlU2VydmljZSB9IGZyb20gJy4uL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2FjY291bnQtc2V0dXAtaXRlbS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3ZlaGljbGUvdmVoaWNsZS1jbGFpbS5zZXJ2aWNlJztcbmltcG9ydCBmcm9tUGFpcnMgZnJvbSAnbG9kYXNoL2Zyb21QYWlycyc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHtIb2xkaW5nU2VydmljZSwgU29sZUJ1c2luZXNzU2VydmljZX0gZnJvbSAnLi4vaHR0cCc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBjYWNoZTogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4oMSk7XG4gIGNsaWVudEluY29tZVR5cGVzSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNsaWVudEluY29tZVR5cGVzU2VydmljZTogQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xkaW5nU2VydmljZTogSG9sZGluZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlclxuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUgPSBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oW10pO1xuXG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXRTaW5nbGUoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzSWQgPSBpbmNvbWVUeXBlcy5pZDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQmF0Y2goaW5jb21lVHlwZXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlICF0aGlzLmNhY2hlOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmZpbHRlckJ5KCdpc0NvbXBsZXRlZCcsIHRydWUpLmxlbmd0aCAhPT0gaXRlbXMuZmlsdGVyQnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoOlxuICAgICAgICAgICAgICB0aGlzLmNhY2hlID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGNsaWVudCBpbmNvbWUgdHlwZXMgdG8gdXBkYXRlIHRvIGhpZGUgZGVwZW5kZWQgYWNjb3VudCBzZXR1cCBpdGVtc1xuICAgKi9cbiAgcHJlcGFyZUluY29tZVR5cGVzKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBDbGllbnRJbmNvbWVUeXBlcyB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIENsaWVudEluY29tZVR5cGVzLFxuICAgICAgT2JqZWN0LmFzc2lnbih7aWQ6IHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZH0sIGZyb21QYWlycyhpdGVtLmNsaWVudEluY29tZVR5cGVzLm1hcCgodHlwZTogc3RyaW5nKSA9PiBbdHlwZSwgZmFsc2VdKSkpXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBBY2NvdW50U2V0dXBJdGVtIGFuZCBjaGVjayBpdCdzIGNvbXBsZXRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlKGl0ZW1UeXBlOiBBY2NvdW50U2V0dXBJdGVtc0VudW0sIHJlcXVlc3Q6IE9ic2VydmFibGU8b2JqZWN0W10+KTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBvYmplY3RbXSk6IEFjY291bnRTZXR1cEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBpdGVtOiBBY2NvdW50U2V0dXBJdGVtID0gQUNDT1VOVF9TRVRVUF9JVEVNU1tpdGVtVHlwZV07XG5cbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmF0Y2ggb2YgcmVxdWVzdHMgdG8gZ2V0IGxpc3Qgb2YgcmVxdWlyZWQgQWNjb3VudFNldHVwSXRlbSdzLlxuICAgKiBTb21lIGl0ZW1zIGFyZSBvcHRpb25hbCBhbmQgZGVwZW5kcyBvZiB1c2VyJ3MgY2xpZW50IGluY29tZSB0eXBlc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYXRjaChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT5bXSA9IFtdO1xuXG4gICAgLy8gU2FsYXJ5IGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBzYWxhcnkgaW5jb21lIHNvdXJjZVxuICAgIGlmIChpbmNvbWVUeXBlcy53b3JrKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uU0FMQVJZLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcyh0cnVlKVxuICAgICAgICApLFxuICAgICAgICAvLyBPdGhlciBpbmNvbWUgaXMgYSBwYXJ0IG9mIHdvcmsgdGFuaywgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgb3RoZXIgaW5jb21lIHNvdXJjZVxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uT1RIRVJfSU5DT01FLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcygpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUmVudGFsIGluY29tZSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHByb3BlcnR5XG4gICAgaWYgKGluY29tZVR5cGVzLnByb3BlcnR5KSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWSwgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuICAgIH1cblxuICAgIC8vIFNvbGUgYnVzaW5lc3MgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBidXNpbmVzc1xuICAgIGlmIChpbmNvbWVUeXBlcy5zb2xlKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5TT0xFX0JVU0lORVNTLCB0aGlzLnNvbGVCdXNpbmVzc1NlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICAvLyBob2xkaW5ncyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGhvbGRpbmdcbiAgICBpZiAoaW5jb21lVHlwZXMuaG9sZGluZ3MpIHtcbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLkhPTERJTkdTLCB0aGlzLmhvbGRpbmdTZXJ2aWNlLmdldEFycmF5KCkpKTtcbiAgICB9XG5cbiAgICBpZiAoaW5jb21lVHlwZXMuc29sZSB8fCBpbmNvbWVUeXBlcy5wcm9wZXJ0eSB8fCBpbmNvbWVUeXBlcy53b3JrKSB7XG4gICAgICAvLyBCYW5rIGZlZWRzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgYmFuayBhY2NvdW50IChiYXNpcSBvciBtYW51YWwpXG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5CQU5LX0ZFRURTLCB0aGlzLmJhbmtBY2NvdW50c1NlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuXG4gICAgICAvLyBMb2dib29rIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBoYXMgYXQgbGVhc3Qgb25lIHZlaGljbGUgY2xhaW0gd2l0aCBhbnkgbWV0aG9kIChrbXMgb3IgbG9nYm9vaylcbiAgICAgIGJhdGNoLnB1c2godGhpcy5nZXRMb2dib29rSXRlbSgpKTtcblxuICAgICAgLy8gQWxsb2NhdGlvbiBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25cbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLlRSQU5TQUNUSU9OLCB0aGlzLnRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiB3b3JrIHdpdGggY29sbGVjdGlvbiB3aGVuIHNlcnZpY2VzIHJlZmFjdG9yZWRcbiAgICogQFRPRE8gVmlrOiB3YWl0aW5nIGZvciBpbmNvbWUgc291cmNlcyByZWZhY3RvcmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbmNvbWVTb3VyY2VzKGlzU2FsYXJ5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogSW5jb21lU291cmNlQ29sbGVjdGlvbiA9IG5ldyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoaXNTYWxhcnkpIHtcbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5nZXRTYWxhcnkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLml0ZW1zLmZpbHRlcigoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+ICFpbmNvbWVTb3VyY2UuaXNTYWxhcnlJbmNvbWUoKSAmJiAhaW5jb21lU291cmNlLmlzU29sZUluY29tZSgpKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9nYm9vayBpdGVtIHdoZW4gdXNlciBoYXMgYXQgbGVhc3QgMSB2ZWhpY2xlIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGdldExvZ2Jvb2tJdGVtKCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIEBUT0RPIEFsZXg6IHJlbW92ZSBtYXAgd2hlbiBzZXJ2aWNlcyBzdGFydCB3b3JrIHdpdGggY29sbGVjdGlvbnNcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pID0+IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odHJhbnNhY3Rpb25zKSksXG4gICAgICAgIG1lcmdlTWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbnMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5XT1JLX0xPR0JPT0ssIHRoaXMudmVoaWNsZUNsYWltU2VydmljZS5nZXQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
155
|
+
}], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }, { type: i8.SoleBusinessService }, { type: i8.HoldingService }, { type: i8.UserService }]; } });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFFekYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFFMUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFHMUUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFJbEYsT0FBTyxFQUFDLGFBQWEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFM0YsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRTNGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztBQUU3RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ1Usd0JBQWtELEVBQ2xELGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxtQkFBdUMsRUFDdkMsNEJBQTBELEVBQzFELG1CQUF3QyxFQUN4Qyxr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QUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQy9CO1lBRUQsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDakksQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFO2FBQ2pDLElBQUk7UUFDSCxtRUFBbUU7UUFDbkUsR0FBRyxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUM3RSxRQUFRLENBQUMsQ0FBQyxZQUFtQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7Z0hBbEtVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FDQ09VTlRfU0VUVVBfSVRFTVN9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuY29uc3QnO1xuaW1wb3J0IHtBY2NvdW50U2V0dXBJdGVtfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHtBY2NvdW50U2V0dXBJdGVtc0VudW19IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuZW51bSc7XG5pbXBvcnQge0JhbmtBY2NvdW50U2VydmljZX0gZnJvbSAnLi4vaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XG5pbXBvcnQge0NsaWVudEluY29tZVR5cGVzfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuaW1wb3J0IHtDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2V9IGZyb20gJy4uL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZSc7XG5pbXBvcnQge0luY29tZVNvdXJjZX0gZnJvbSAnLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQge0luY29tZVNvdXJjZUNvbGxlY3Rpb259IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2luY29tZS1zb3VyY2UuY29sbGVjdGlvbic7XG5pbXBvcnQge0luY29tZVNvdXJjZVNlcnZpY2V9IGZyb20gJy4uL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9wZXJ0eVNlcnZpY2V9IGZyb20gJy4uL2h0dHAvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2V9IGZyb20gJy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb259IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2FjY291bnQtc2V0dXAtaXRlbS5jb2xsZWN0aW9uJztcbmltcG9ydCB7VmVoaWNsZUNsYWltU2VydmljZX0gZnJvbSAnLi4vaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0uc2VydmljZSc7XG5pbXBvcnQgZnJvbVBhaXJzIGZyb20gJ2xvZGFzaC9mcm9tUGFpcnMnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNhY3Rpb259IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1RyYW5zYWN0aW9uQ29sbGVjdGlvbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQge0hvbGRpbmdTZXJ2aWNlLCBTb2xlQnVzaW5lc3NTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnLi4vaHR0cCc7XG5pbXBvcnQge1VzZXJSb2xlc0VudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBjYWNoZTogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4oMSk7XG4gIGNsaWVudEluY29tZVR5cGVzSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNsaWVudEluY29tZVR5cGVzU2VydmljZTogQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xkaW5nU2VydmljZTogSG9sZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlclxuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUgPSBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oW10pO1xuXG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXRTaW5nbGUoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzSWQgPSBpbmNvbWVUeXBlcy5pZDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQmF0Y2goaW5jb21lVHlwZXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlICF0aGlzLmNhY2hlOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmZpbHRlckJ5KCdpc0NvbXBsZXRlZCcsIHRydWUpLmxlbmd0aCAhPT0gaXRlbXMuZmlsdGVyQnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoOlxuICAgICAgICAgICAgICB0aGlzLmNhY2hlID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGNsaWVudCBpbmNvbWUgdHlwZXMgdG8gdXBkYXRlIHRvIGhpZGUgZGVwZW5kZWQgYWNjb3VudCBzZXR1cCBpdGVtc1xuICAgKi9cbiAgcHJlcGFyZUluY29tZVR5cGVzKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBDbGllbnRJbmNvbWVUeXBlcyB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIENsaWVudEluY29tZVR5cGVzLFxuICAgICAgT2JqZWN0LmFzc2lnbih7aWQ6IHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZH0sIGZyb21QYWlycyhpdGVtLmNsaWVudEluY29tZVR5cGVzLm1hcCgodHlwZTogc3RyaW5nKSA9PiBbdHlwZSwgZmFsc2VdKSkpXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBBY2NvdW50U2V0dXBJdGVtIGFuZCBjaGVjayBpdCdzIGNvbXBsZXRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlKGl0ZW1UeXBlOiBBY2NvdW50U2V0dXBJdGVtc0VudW0sIHJlcXVlc3Q6IE9ic2VydmFibGU8b2JqZWN0W10+KTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBvYmplY3RbXSk6IEFjY291bnRTZXR1cEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBpdGVtOiBBY2NvdW50U2V0dXBJdGVtID0gQUNDT1VOVF9TRVRVUF9JVEVNU1tpdGVtVHlwZV07XG5cbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmF0Y2ggb2YgcmVxdWVzdHMgdG8gZ2V0IGxpc3Qgb2YgcmVxdWlyZWQgQWNjb3VudFNldHVwSXRlbSdzLlxuICAgKiBTb21lIGl0ZW1zIGFyZSBvcHRpb25hbCBhbmQgZGVwZW5kcyBvZiB1c2VyJ3MgY2xpZW50IGluY29tZSB0eXBlc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYXRjaChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT5bXSA9IFtdO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmdldENhY2hlKCk7XG5cbiAgICAvLyBTYWxhcnkgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIHNhbGFyeSBpbmNvbWUgc291cmNlXG4gICAgaWYgKGluY29tZVR5cGVzLndvcmsgJiYgdXNlci5oYXNSb2xlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSykpIHtcbiAgICAgIGJhdGNoLnB1c2goXG4gICAgICAgIHRoaXMuY3JlYXRlKFxuICAgICAgICAgIEFjY291bnRTZXR1cEl0ZW1zRW51bS5TQUxBUlksXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKHRydWUpXG4gICAgICAgICksXG4gICAgICAgIC8vIE90aGVyIGluY29tZSBpcyBhIHBhcnQgb2Ygd29yayB0YW5rLCBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBvdGhlciBpbmNvbWUgc291cmNlXG4gICAgICAgIHRoaXMuY3JlYXRlKFxuICAgICAgICAgIEFjY291bnRTZXR1cEl0ZW1zRW51bS5PVEhFUl9JTkNPTUUsXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSZW50YWwgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgcHJvcGVydHlcbiAgICBpZiAoaW5jb21lVHlwZXMucHJvcGVydHkgJiYgdXNlci5oYXNSb2xlcyhVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWSwgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuICAgIH1cblxuICAgIC8vIFNvbGUgYnVzaW5lc3MgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBidXNpbmVzc1xuICAgIGlmIChpbmNvbWVUeXBlcy5zb2xlICYmIHVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5TT0xFX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5TT0xFX0JVU0lORVNTLCB0aGlzLnNvbGVCdXNpbmVzc1NlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICAvLyBob2xkaW5ncyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGhvbGRpbmdcbiAgICBpZiAoaW5jb21lVHlwZXMuaG9sZGluZ3MgICYmIHVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5IT0xESU5HUywgdGhpcy5ob2xkaW5nU2VydmljZS5nZXRBcnJheSgpKSk7XG4gICAgfVxuXG4gICAgaWYgKGluY29tZVR5cGVzLnNvbGUgfHwgaW5jb21lVHlwZXMucHJvcGVydHkgfHwgaW5jb21lVHlwZXMud29yayB8fCBpbmNvbWVUeXBlcy5ob2xkaW5ncykge1xuICAgICAgLy8gQmFuayBmZWVkcyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGJhbmsgYWNjb3VudCAoYmFzaXEgb3IgbWFudWFsKVxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uQkFOS19GRUVEUywgdGhpcy5iYW5rQWNjb3VudHNTZXJ2aWNlLmdldEFycmF5KCkpKTtcblxuICAgICAgLy8gTG9nYm9vayBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IG9uZSB2ZWhpY2xlIGNsYWltIHdpdGggYW55IG1ldGhvZCAoa21zIG9yIGxvZ2Jvb2spXG4gICAgICBiYXRjaC5wdXNoKHRoaXMuZ2V0TG9nYm9va0l0ZW0oKSk7XG5cbiAgICAgIC8vIEFsbG9jYXRpb24gaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSB0cmFuc2FjdGlvbiBhbGxvY2F0aW9uXG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5UUkFOU0FDVElPTiwgdGhpcy50cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLmdldCgpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoYmF0Y2gpLnBpcGUobWFwKChpdGVtczogQWNjb3VudFNldHVwSXRlbVtdKSA9PiBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oaXRlbXMpKSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogd29yayB3aXRoIGNvbGxlY3Rpb24gd2hlbiBzZXJ2aWNlcyByZWZhY3RvcmVkXG4gICAqIEBUT0RPIFZpazogd2FpdGluZyBmb3IgaW5jb21lIHNvdXJjZXMgcmVmYWN0b3JpbmdcbiAgICovXG4gIHByaXZhdGUgZ2V0SW5jb21lU291cmNlcyhpc1NhbGFyeSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxJbmNvbWVTb3VyY2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmluY29tZVNvdXJjZVNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiBJbmNvbWVTb3VyY2VbXSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IEluY29tZVNvdXJjZUNvbGxlY3Rpb24gPSBuZXcgSW5jb21lU291cmNlQ29sbGVjdGlvbihpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKGlzU2FsYXJ5KSB7XG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZ2V0U2FsYXJ5KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5pdGVtcy5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiAhaW5jb21lU291cmNlLmlzU2FsYXJ5SW5jb21lKCkgJiYgIWluY29tZVNvdXJjZS5pc1NvbGVJbmNvbWUoKSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IGxvZ2Jvb2sgaXRlbSB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IDEgdmVoaWNsZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMb2dib29rSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBAVE9ETyBBbGV4OiByZW1vdmUgbWFwIHdoZW4gc2VydmljZXMgc3RhcnQgd29yayB3aXRoIGNvbGxlY3Rpb25zXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucykpLFxuICAgICAgICBtZXJnZU1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uV09SS19MT0dCT09LLCB0aGlzLnZlaGljbGVDbGFpbVNlcnZpY2UuZ2V0KCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -46,6 +46,10 @@ export class XlsxService {
|
|
|
46
46
|
xlsx.utils.book_append_sheet(workbook, worksheet);
|
|
47
47
|
return xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* @TODO vik/artem work with ExportDataTable instead of ExportableCollection
|
|
51
|
+
* @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
|
|
52
|
+
*/
|
|
49
53
|
exportArrayToExcel(exportableCollection, name) {
|
|
50
54
|
const workbook = xlsx.utils.book_new();
|
|
51
55
|
// create empty worksheet
|
|
@@ -77,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
77
81
|
providedIn: 'root'
|
|
78
82
|
}]
|
|
79
83
|
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUEwQ0UsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLElBQUksU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDdkMsSUFBSSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0FnQ0g7SUF6RUM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtBQUss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OzJGQU1QLFdBQVc7a0JBUHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgeGxzeCBmcm9tICd4bHN4JztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQgeyBFeHBvcnREYXRhVGFibGUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZVwiO1xuXG5jb25zdCBFWENFTF9UWVBFOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggWExTWCAoZ2VuZXJhdGUsIGRvd25sb2FkLCBlLnQuYy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBYbHN4U2VydmljZSB7XG4gIC8qKlxuICAgKiBFeHBvcnQgZmlsZSBmb3JtIHByb3ZpZGVkIEhUTUwgdGFibGVzXG4gICAqL1xuICBleHBvcnRUYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHRoaXMuZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlcywgdGl0bGUpO1xuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBgJHtmaWxlTmFtZX0ueGxzeGApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUZyb21UYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZT86IHN0cmluZyk6IEJsb2JQYXJ0IHtcbiAgICAvLyBjcmVhdGUgbmV3IHdvcmtib29rXG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgdGFibGVzLmZvckVhY2goKGRhdGE6IEhUTUxUYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIC8vIGFkZCBjYXB0aW9uIGZvciB0aGUgY3VycmVudCB0YWJsZVxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW1tkYXRhLmNhcHRpb24/LmlubmVyVGV4dF1dLCB7b3JpZ2luOiAtMX0pO1xuICAgICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfZG9tKHdvcmtzaGVldCwgZGF0YSwge29yaWdpbjogLTEsIHJhdzogdHJ1ZX0pO1xuICAgICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwge29yaWdpbjogLTF9KTtcbiAgICB9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgcmV0dXJuIHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgfVxuXG4gIGdldEZpbGVOYW1lID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBzaGVldE5hbWUgPSBuYW1lIHx8IFwiRXhwb3J0UmVzdWx0XCI7XG4gICAgbGV0IGZpbGVOYW1lID0gYCR7c2hlZXROYW1lfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNoZWV0TmFtZSxcbiAgICAgIGZpbGVOYW1lXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogQFRPRE8gdmlrL2FydGVtIHdvcmsgd2l0aCBFeHBvcnREYXRhVGFibGUgaW5zdGVhZCBvZiBFeHBvcnRhYmxlQ29sbGVjdGlvblxuICAgKiBAVE9ETyB2aWsvYXJ0ZW0gd2h5IHNvIG11Y2ggY29kZT8gaGVyZSBpcyA2IHJvd3Mgc29sdXRpb24gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjQ5Mzk5OTQvaG93LXRvLWV4cG9ydC1hcnJheS1vZi1vYmplY3RzLXRvLWFuLWV4Y2VsLWluLWFuZ3VsYXItOFxuICAgKi9cbiAgZXhwb3J0QXJyYXlUb0V4Y2VsKGV4cG9ydGFibGVDb2xsZWN0aW9uOiBFeHBvcnRhYmxlQ29sbGVjdGlvbjxhbnk+LCBuYW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgY29uc3QgZXhwb3J0RGF0YTogRXhwb3J0RGF0YVRhYmxlID0gZXhwb3J0YWJsZUNvbGxlY3Rpb24uZXhwb3J0KClcbiAgICBjb25zdCBleHBvcnRBb2EgPSBleHBvcnRhYmxlQ29sbGVjdGlvbi5nZXRCb2R5QW9hKGV4cG9ydERhdGEpO1xuICAgIGxldCB7IHNoZWV0TmFtZSwgZmlsZU5hbWUgfSA9IHRoaXMuZ2V0RmlsZU5hbWUobmFtZSk7XG5cbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbZXhwb3J0RGF0YS5oZWFkZXJdLCB7b3JpZ2luOiAtMX0pO1xuICAgIC8vIGFkZCB0YWJsZSB0YWJsZSBkYXRhIHRvIHRoZSB3b3Jrc2hlZXRcbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBleHBvcnRBb2EsIHtvcmlnaW46IC0xfSk7XG4gICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW10sIHtvcmlnaW46IC0xfSk7XG5cbiAgICB4bHN4LnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdvcmtib29rLCB3b3Jrc2hlZXQpO1xuICAgIGNvbnN0IGV4Y2VsRmlsZTogQmxvYlBhcnQgPSB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG5cbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2V4Y2VsRmlsZV0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cbn1cbiJdfQ==
|