taxtank-core 0.33.59 → 0.33.61
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/src/lib/collections/asset-sale.collection.mjs +4 -1
- package/esm2022/src/lib/collections/collection-dictionary.mjs +10 -1
- package/esm2022/src/lib/collections/collection.mjs +1 -1
- package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +3 -3
- package/esm2022/src/lib/collections/holding/holding-trade.collection.mjs +78 -0
- package/esm2022/src/lib/collections/holding/holding.collection.mjs +19 -54
- package/esm2022/src/lib/collections/holding/index.mjs +3 -2
- package/esm2022/src/lib/db/Enums/holding/holding-trade-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/holding/holding-type-category.enum.mjs +1 -1
- package/esm2022/src/lib/db/Enums/holding/index.mjs +2 -1
- package/esm2022/src/lib/db/Models/holding/holding-sale.mjs +1 -1
- package/esm2022/src/lib/db/Models/holding/holding-trade-import.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-trade.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/index.mjs +2 -2
- package/esm2022/src/lib/forms/abstract.form.mjs +12 -2
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-properties.form.mjs +3 -4
- package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +14 -14
- package/esm2022/src/lib/forms/holding/holding-sale.form.mjs +3 -2
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade-filter.form.mjs +25 -0
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade.form.mjs +30 -0
- package/esm2022/src/lib/forms/holding/holding-trade/index.mjs +3 -0
- package/esm2022/src/lib/forms/holding/holding-trade-import.form.mjs +25 -0
- package/esm2022/src/lib/forms/holding/index.mjs +3 -3
- package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +9 -9
- package/esm2022/src/lib/models/holding/holding-reinvest.mjs +4 -4
- package/esm2022/src/lib/models/holding/holding-sale.mjs +10 -1
- package/esm2022/src/lib/models/holding/holding-trade-import.mjs +16 -0
- package/esm2022/src/lib/models/holding/holding-trade.mjs +77 -0
- package/esm2022/src/lib/models/holding/holding-type-exchange.mjs +4 -1
- package/esm2022/src/lib/models/holding/holding-type.mjs +4 -1
- package/esm2022/src/lib/models/holding/holding.mjs +44 -71
- package/esm2022/src/lib/models/holding/index.mjs +4 -3
- package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +3 -3
- package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import-messages.enum.mjs +9 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.mjs +37 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/holding/holding-trade.service.mjs +44 -0
- package/esm2022/src/lib/services/http/holding/index.mjs +5 -6
- package/esm2022/src/lib/services/http/rest/rest.service.mjs +8 -6
- package/esm2022/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +5 -3
- package/fesm2022/taxtank-core.mjs +347 -193
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/collections/asset-sale.collection.d.ts +3 -0
- package/src/lib/collections/collection-dictionary.d.ts +1 -0
- package/src/lib/collections/holding/holding-sale.collection.d.ts +4 -4
- package/src/lib/collections/holding/holding-trade.collection.d.ts +21 -0
- package/src/lib/collections/holding/holding.collection.d.ts +7 -10
- package/src/lib/collections/holding/index.d.ts +2 -1
- package/src/lib/db/Enums/holding/holding-trade-type.enum.d.ts +4 -0
- package/src/lib/db/Enums/holding/index.d.ts +1 -0
- package/src/lib/db/Models/holding/holding-sale.d.ts +2 -2
- package/src/lib/db/Models/holding/holding-trade-import.d.ts +8 -0
- package/src/lib/db/Models/holding/{holding.d.ts → holding-trade.d.ts} +1 -1
- package/src/lib/db/Models/holding/index.d.ts +1 -1
- package/src/lib/forms/abstract.form.d.ts +3 -1
- package/src/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +1 -1
- package/src/lib/forms/holding/holding-reinvest.form.d.ts +5 -5
- package/src/lib/forms/holding/holding-sale.form.d.ts +2 -2
- package/src/lib/forms/holding/holding-trade/holding-trade-filter.form.d.ts +9 -0
- package/src/lib/forms/holding/holding-trade/holding-trade.form.d.ts +9 -0
- package/src/lib/forms/holding/holding-trade/index.d.ts +2 -0
- package/src/lib/forms/holding/holding-trade-import.form.d.ts +8 -0
- package/src/lib/forms/holding/index.d.ts +2 -2
- package/src/lib/models/holding/holding-reinvest.d.ts +2 -2
- package/src/lib/models/holding/holding-sale.d.ts +16 -4
- package/src/lib/models/holding/holding-trade-import.d.ts +8 -0
- package/src/lib/models/holding/holding-trade.d.ts +41 -0
- package/src/lib/models/holding/holding-type-exchange.d.ts +3 -0
- package/src/lib/models/holding/holding-type.d.ts +3 -0
- package/src/lib/models/holding/holding.d.ts +18 -34
- package/src/lib/models/holding/index.d.ts +3 -2
- package/src/lib/services/account-setup/account-setup.service.d.ts +2 -2
- package/src/lib/services/http/holding/{holding-import/holding-import-messages.enum.d.ts → holding-trade-import/holding-trade-import-messages.enum.d.ts} +1 -1
- package/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.d.ts +17 -0
- package/src/lib/services/http/holding/{holding-messages.enum.d.ts → holding-trade-messages.enum.d.ts} +1 -1
- package/src/lib/services/http/holding/holding-trade.service.d.ts +20 -0
- package/src/lib/services/http/holding/index.d.ts +4 -5
- package/src/lib/services/http/rest/rest.service.d.ts +4 -4
- package/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.d.ts +1 -3
- package/esm2022/src/lib/db/Models/holding/holding-import.mjs +0 -3
- package/esm2022/src/lib/db/Models/holding/holding.mjs +0 -3
- package/esm2022/src/lib/forms/holding/holding-import.form.mjs +0 -25
- package/esm2022/src/lib/forms/holding/holding.form.mjs +0 -28
- package/esm2022/src/lib/models/holding/holding-import.mjs +0 -16
- package/esm2022/src/lib/services/http/holding/holding-import/holding-import-messages.enum.mjs +0 -9
- package/esm2022/src/lib/services/http/holding/holding-import/holding-import.service.mjs +0 -37
- package/esm2022/src/lib/services/http/holding/holding-messages.enum.mjs +0 -10
- package/esm2022/src/lib/services/http/holding/holding-sale-messages.enum.mjs +0 -8
- package/esm2022/src/lib/services/http/holding/holding.service.mjs +0 -44
- package/src/lib/db/Models/holding/holding-import.d.ts +0 -8
- package/src/lib/forms/holding/holding-import.form.d.ts +0 -8
- package/src/lib/forms/holding/holding.form.d.ts +0 -8
- package/src/lib/models/holding/holding-import.d.ts +0 -8
- package/src/lib/services/http/holding/holding-import/holding-import.service.d.ts +0 -17
- package/src/lib/services/http/holding/holding-sale-messages.enum.d.ts +0 -6
- package/src/lib/services/http/holding/holding.service.d.ts +0 -20
@@ -2,6 +2,7 @@ import { FormGroup, Validators } from '@angular/forms';
|
|
2
2
|
import { EventEmitter } from '@angular/core';
|
3
3
|
import { plainToClass } from 'class-transformer';
|
4
4
|
import isEqual from 'lodash/isEqual';
|
5
|
+
import { combineLatest } from 'rxjs';
|
5
6
|
/**
|
6
7
|
* Abstract form class
|
7
8
|
* @TODO rename to AbstractFormGroup
|
@@ -37,7 +38,12 @@ export class AbstractForm extends FormGroup {
|
|
37
38
|
return this.createModelInstance(Object.assign({}, this.model, this.getRawValue()));
|
38
39
|
}
|
39
40
|
toggleEnabledState(control) {
|
40
|
-
|
41
|
+
if (control) {
|
42
|
+
control.enabled ? control.disable() : control.enable();
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
this.enabled ? this.disable() : this.enable();
|
46
|
+
}
|
41
47
|
}
|
42
48
|
/**
|
43
49
|
* Check validation and return a new instance of generic model.
|
@@ -144,5 +150,9 @@ export class AbstractForm extends FormGroup {
|
|
144
150
|
control.enable(opts);
|
145
151
|
});
|
146
152
|
}
|
153
|
+
controlsChanges(controlNames) {
|
154
|
+
const controls = controlNames.map(controlName => this.get(controlName));
|
155
|
+
return combineLatest(controls.map(control => control.valueChanges));
|
156
|
+
}
|
147
157
|
}
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9hYnN0cmFjdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBU3JDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixZQUE0RSxTQUFRLFNBQW1CO2FBQ3BILG1CQUFjLEdBQUcsRUFBRSxBQUFMLENBQU07SUFtQjNCLFlBQ0UsUUFBa0I7SUFDbEIsdURBQXVEO0lBQ3ZELEtBQWEsRUFDYixlQUE2RSxFQUM3RSxjQUE2RDtRQUU3RCxLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQXBCekMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBSzFDOzs7V0FHRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsYUFBUSxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVWpELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ2pELGdGQUFnRjtRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBOEIsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFL0IsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO1FBRUQs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SUFFRCxnQkFBZ0IsQ0FBQyxVQUF1QyxFQUFFLFdBQThCLEVBQUU7UUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDM0M7UUFFRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQW1ELEVBQUUsV0FBOEIsRUFBRTtRQUMzRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7UUFFRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQW1ELEVBQUUsV0FBOEIsRUFBRTtRQUMxRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFFRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBBYnN0cmFjdENvbnRyb2xPcHRpb25zLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuXG4vKipcbiAqIERlZmF1bHQgQ29udHJvbHMgSW50ZXJmYWNlIHdpdGggbG9vc2UgdHlwaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbHNJbnRlcmZhY2Uge1xuICBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGZvcm0gY2xhc3NcbiAqIEBUT0RPIHJlbmFtZSB0byBBYnN0cmFjdEZvcm1Hcm91cFxuICogQFRPRE8gQWxleCBUVC0yMTkwOiByZWZhY3RvcjogY2hlY2sgYW5kIGltcHJvdmUgbG9naWNcbiAqIEBUT0RPIE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGb3JtPE1vZGVsLCBDb250cm9scyBleHRlbmRzIENvbnRyb2xzSW50ZXJmYWNlID0gQ29udHJvbHNJbnRlcmZhY2U+IGV4dGVuZHMgRm9ybUdyb3VwPENvbnRyb2xzPiB7XG4gIHN0YXRpYyBpbnB1dE1heExlbmd0aCA9IDMwO1xuICAvKipcbiAgICogSW5pdGlhbCBmb3JtIHZhbHVlIGZvciBjb21wYXJpc29uIHdpdGggY2hhbmdlcyB0byBjaGVjayBzYXZlZC91bnNhdmVkIHN0YXRlXG4gICAqIEBUT0RPIHR5cGVoaW50IHRvIG1vZGVsIGludGVyZmFjZSB3aGVuIGFsbCBkYi9tb2RlbHMgbWlncmF0ZWQgdG8gaW50ZXJmYWNlc1xuICAgKi9cbiAgaW5pdGlhbFZhbHVlO1xuICBwcm90ZWN0ZWQgZXhjbHVkZUV4dHJhbmVvdXNWYWx1ZXMgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIG1vZGVsQ2xhc3M6IFR5cGU8TW9kZWw+O1xuICBtb2RlbDogTW9kZWw7XG4gIHN1Ym1pdHRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQFRPRE8gQWxleCBiYWQgbmFtZSwgaXQncyBhbHNvIGFib3V0IHVuY2hhbmdlZFxuICAgKiBGbGFnIGRpc3BsYXkgaWYgc29tZSBmb3JtIHZhbHVlcyBjaGFuZ2VkXG4gICAqL1xuICB1bnNhdmVkID0gZmFsc2U7XG5cbiAgb25TdWJtaXQ6IEV2ZW50RW1pdHRlcjxNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGNvbnRyb2xzOiBDb250cm9scyxcbiAgICAvLyBAVE9ETyB2aWsgcmVxdWlyZWQsIG90aGVyd2lzZSBtb2RlbENsYXNzIHdvbid0IGV4aXN0XG4gICAgbW9kZWw/OiBNb2RlbCxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgbnVsbCxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgICB0aGlzLm1vZGVsID0gbW9kZWwgfHwgdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKCk7XG4gICAgLy8gQFRPRE8gQWxleCBubyBpZGVhIGhvdyBpdCB3b3Jrcywgc2luY2UgbW9kZWxDbGFzcyB1c2VkIGluIGNyZWF0ZU1vZGVsSW5zdGFuY2VcbiAgICB0aGlzLm1vZGVsQ2xhc3MgPSB0aGlzLm1vZGVsLmNvbnN0cnVjdG9yIGFzIG5ldyAoKSA9PiBNb2RlbDtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICBpZiAobW9kZWwgJiYgIW1vZGVsWydpZCddKSB7XG4gICAgICB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlblZhbHVlQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IHNhdmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy51bnNhdmVkO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZShPYmplY3QuYXNzaWduKHt9LCB0aGlzLm1vZGVsLCB0aGlzLmdldFJhd1ZhbHVlKCkpKTtcbiAgfVxuXG4gIHRvZ2dsZUVuYWJsZWRTdGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBjb250cm9sLmVuYWJsZWQgPyBjb250cm9sLmRpc2FibGUoKSA6IGNvbnRyb2wuZW5hYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdmFsaWRhdGlvbiBhbmQgcmV0dXJuIGEgbmV3IGluc3RhbmNlIG9mIGdlbmVyaWMgbW9kZWwuXG4gICAqIE1lcmdlIGZvcm0gdmFsdWUgdG8gaW5pdGlhbCBvYmplY3RcbiAgICogQHBhcmFtIGRhdGEgQWRkaXRpb25hbCBkYXRhIG9iamVjdCB3aGljaCBiZSBtZXJnZWQgdG8gZm9ybSB2YWx1ZVxuICAgKiBAcGFyYW0gaW5jbHVkZURpc2FibGVkRmllbGRzIGlnbm9yZSBkaXNhYmxlZCBmaWVsZHNcbiAgICovXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSwgaW5jbHVkZURpc2FibGVkRmllbGRzID0gZmFsc2UpOiBNb2RlbCB7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgIHRoaXMubWFya0FsbEFzVG91Y2hlZCgpO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGluY2x1ZGVEaXNhYmxlZEZpZWxkcyA/IHRoaXMuZ2V0UmF3VmFsdWUoKSA6IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbW9kZWw6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKE9iamVjdC5hc3NpZ24oe30sIHRoaXMubW9kZWwsIHZhbHVlLCBkYXRhKSk7XG5cbiAgICB0aGlzLm9uU3VibWl0LmVtaXQobW9kZWwpO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIGFkZENvbnRyb2wobmFtZTogc3RyaW5nLCBjb250cm9sOiBDb250cm9sc1tzdHJpbmddLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiB0aGlzIHtcbiAgICAvLyBrZWVwIGZvcm0gc3RhdGUgKGVuYWJsZWQvZGlzYWJsZWQpLlxuICAgIC8vIGFkZENvbnRyb2wgZW5hYmxlcyBmb3JtIHdoZW4gYWRkZWQgZW5hYmxlZCBmb3JtIGNvbnRyb2xcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzIzNlxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICBzdXBlci5hZGRDb250cm9sKG5hbWUsIGNvbnRyb2wsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtYXJrQXNVbnNhdmVkKCk6IHZvaWQge1xuICAgIHRoaXMudW5zYXZlZCA9IHRydWU7XG4gIH1cblxuICBtYXJrQXNTYXZlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2F2ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB1c2UgZXhjbHVkZUV4dHJhbmVvdXNWYWx1ZXMgd2hlbiBhbGwgbW9kZWxzIHJlZmFjdG9yZWQgKGV4cG9zZWQgYWxsIG5lZWRlZCBwcm9wZXJ0aWVzKVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgY3JlYXRlTW9kZWxJbnN0YW5jZShkYXRhOiBvYmplY3QgPSB7fSk6IE1vZGVsIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKHRoaXMubW9kZWxDbGFzcywgZGF0YSwgeyBleGNsdWRlRXh0cmFuZW91c1ZhbHVlczogdGhpcy5leGNsdWRlRXh0cmFuZW91c1ZhbHVlcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBlbWl0IGN1cnJlbnQgZm9ybSB2YWx1ZXNcbiAgICovXG4gIGVtaXRWYWx1ZXMoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGlmIChbbnVsbCwgdW5kZWZpbmVkXS5pbmNsdWRlcyhjb250cm9sLnZhbHVlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiBmYWxzZSwgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICEhdGhpcy5tb2RlbCAmJiAhIXRoaXMubW9kZWxbJ2lkJ10gJiYgaXNFcXVhbCh0aGlzLnZhbHVlLCB0aGlzLmluaXRpYWxWYWx1ZSkgPyB0aGlzLm1hcmtBc1NhdmVkKCkgOiB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHVwZ3JhZGVkIHZlcnNpb24gb2YgcGF0Y2hWYWx1ZSB0byBza2lwIGR1cGxpY2F0ZWQgY2hhbmdlc1xuICAgKi9cbiAgcGF0Y2hGaWVsZChuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5nZXQobmFtZSk7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQFRPRE8gcmVtb3ZlIHdoZW4gYWxsIG51bWJlciBmaWVsZHMgcmVmYWN0b3JlZCB0byBwcmltZSBpbnB1dG51bWJlclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIG5hbWUgIT09ICdhbW91bnQnKSB7XG4gICAgICB2YWx1ZSA9ICt2YWx1ZS50b0ZpeGVkKDIpO1xuICAgIH1cblxuICAgIGNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBmaWVsZENoYW5nZWQobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG5hbWUpLnZhbHVlICE9PSB0aGlzLmluaXRpYWxWYWx1ZVtuYW1lXTtcbiAgfVxuXG4gIGFkZFZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdLCBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gPSBbXSk6IHZvaWQge1xuICAgIGlmICghY29udHJvbHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc3VwZXIuYWRkVmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10sIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdKTogdm9pZCB7XG4gICAgaWYgKCFjb250cm9scy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdXBlci5yZW1vdmVWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfSk7XG4gIH1cblxuICBkaXNhYmxlKG9wdHM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgfSwgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdID0gW10pOiB2b2lkIHtcbiAgICBpZiAoIWNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmRpc2FibGUob3B0cyk7XG4gICAgfVxuXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wuZGlzYWJsZShvcHRzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGVuYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW47IH0sIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdKTogdm9pZCB7XG4gICAgaWYgKCFjb250cm9scy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdXBlci5lbmFibGUob3B0cyk7XG4gICAgfVxuXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wuZW5hYmxlKG9wdHMpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9hYnN0cmFjdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVakQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFlBQTRFLFNBQVEsU0FBbUI7YUFDcEgsbUJBQWMsR0FBRyxFQUFFLEFBQUwsQ0FBTTtJQW1CM0IsWUFDRSxRQUFrQjtJQUNsQix1REFBdUQ7SUFDdkQsS0FBYSxFQUNiLGVBQTZFLEVBQzdFLGNBQTZEO1FBRTdELEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBcEJ6Qyw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFLMUM7OztXQUdHO1FBQ0gsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFVakQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDakQsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUE4QixDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUvQixJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZ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QUVELGVBQWUsQ0FBQyxZQUFzQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sYUFBYSxDQUNsQixRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQWJzdHJhY3RDb250cm9sT3B0aW9ucywgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBEZWZhdWx0IENvbnRyb2xzIEludGVyZmFjZSB3aXRoIGxvb3NlIHR5cGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xzSW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55Pjtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBmb3JtIGNsYXNzXG4gKiBAVE9ETyByZW5hbWUgdG8gQWJzdHJhY3RGb3JtR3JvdXBcbiAqIEBUT0RPIEFsZXggVFQtMjE5MDogcmVmYWN0b3I6IGNoZWNrIGFuZCBpbXByb3ZlIGxvZ2ljXG4gKiBAVE9ETyBNb2RlbCBleHRlbmRzIEFic3RyYWN0TW9kZWxcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybTxNb2RlbCwgQ29udHJvbHMgZXh0ZW5kcyBDb250cm9sc0ludGVyZmFjZSA9IENvbnRyb2xzSW50ZXJmYWNlPiBleHRlbmRzIEZvcm1Hcm91cDxDb250cm9scz4ge1xuICBzdGF0aWMgaW5wdXRNYXhMZW5ndGggPSAzMDtcbiAgLyoqXG4gICAqIEluaXRpYWwgZm9ybSB2YWx1ZSBmb3IgY29tcGFyaXNvbiB3aXRoIGNoYW5nZXMgdG8gY2hlY2sgc2F2ZWQvdW5zYXZlZCBzdGF0ZVxuICAgKiBAVE9ETyB0eXBlaGludCB0byBtb2RlbCBpbnRlcmZhY2Ugd2hlbiBhbGwgZGIvbW9kZWxzIG1pZ3JhdGVkIHRvIGludGVyZmFjZXNcbiAgICovXG4gIGluaXRpYWxWYWx1ZTtcbiAgcHJvdGVjdGVkIGV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzID0gZmFsc2U7XG4gIHByb3RlY3RlZCBtb2RlbENsYXNzOiBUeXBlPE1vZGVsPjtcbiAgbW9kZWw6IE1vZGVsO1xuICBzdWJtaXR0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXggYmFkIG5hbWUsIGl0J3MgYWxzbyBhYm91dCB1bmNoYW5nZWRcbiAgICogRmxhZyBkaXNwbGF5IGlmIHNvbWUgZm9ybSB2YWx1ZXMgY2hhbmdlZFxuICAgKi9cbiAgdW5zYXZlZCA9IGZhbHNlO1xuXG4gIG9uU3VibWl0OiBFdmVudEVtaXR0ZXI8TW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBjb250cm9sczogQ29udHJvbHMsXG4gICAgLy8gQFRPRE8gdmlrIHJlcXVpcmVkLCBvdGhlcndpc2UgbW9kZWxDbGFzcyB3b24ndCBleGlzdFxuICAgIG1vZGVsPzogTW9kZWwsXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsIHx8IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSgpO1xuICAgIC8vIEBUT0RPIEFsZXggbm8gaWRlYSBob3cgaXQgd29ya3MsIHNpbmNlIG1vZGVsQ2xhc3MgdXNlZCBpbiBjcmVhdGVNb2RlbEluc3RhbmNlXG4gICAgdGhpcy5tb2RlbENsYXNzID0gdGhpcy5tb2RlbC5jb25zdHJ1Y3RvciBhcyBuZXcgKCkgPT4gTW9kZWw7XG4gICAgdGhpcy5pbml0aWFsVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgaWYgKG1vZGVsICYmICFtb2RlbFsnaWQnXSkge1xuICAgICAgdGhpcy5tYXJrQXNVbnNhdmVkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBzYXZlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMudW5zYXZlZDtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgdGhpcy5nZXRSYXdWYWx1ZSgpKSk7XG4gIH1cblxuICB0b2dnbGVFbmFibGVkU3RhdGUoY29udHJvbD86IEFic3RyYWN0Q29udHJvbCk6IHZvaWQge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLmVuYWJsZWQgPyBjb250cm9sLmRpc2FibGUoKSA6IGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5hYmxlZCA/IHRoaXMuZGlzYWJsZSgpIDogdGhpcy5lbmFibGUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB2YWxpZGF0aW9uIGFuZCByZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgZ2VuZXJpYyBtb2RlbC5cbiAgICogTWVyZ2UgZm9ybSB2YWx1ZSB0byBpbml0aWFsIG9iamVjdFxuICAgKiBAcGFyYW0gZGF0YSBBZGRpdGlvbmFsIGRhdGEgb2JqZWN0IHdoaWNoIGJlIG1lcmdlZCB0byBmb3JtIHZhbHVlXG4gICAqIEBwYXJhbSBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgaWdub3JlIGRpc2FibGVkIGZpZWxkc1xuICAgKi9cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9LCBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgPSBmYWxzZSk6IE1vZGVsIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gaW5jbHVkZURpc2FibGVkRmllbGRzID8gdGhpcy5nZXRSYXdWYWx1ZSgpIDogdGhpcy52YWx1ZTtcbiAgICBjb25zdCBtb2RlbDogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgdmFsdWUsIGRhdGEpKTtcblxuICAgIHRoaXMub25TdWJtaXQuZW1pdChtb2RlbCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgYWRkQ29udHJvbChuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IENvbnRyb2xzW3N0cmluZ10sIG9wdGlvbnM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSk6IHRoaXMge1xuICAgIC8vIGtlZXAgZm9ybSBzdGF0ZSAoZW5hYmxlZC9kaXNhYmxlZCkuXG4gICAgLy8gYWRkQ29udHJvbCBlbmFibGVzIGZvcm0gd2hlbiBhZGRlZCBlbmFibGVkIGZvcm0gY29udHJvbFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIzMjM2XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIHN1cGVyLmFkZENvbnRyb2wobmFtZSwgY29udHJvbCwgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG1hcmtBc1Vuc2F2ZWQoKTogdm9pZCB7XG4gICAgdGhpcy51bnNhdmVkID0gdHJ1ZTtcbiAgfVxuXG4gIG1hcmtBc1NhdmVkKCk6IHZvaWQge1xuICAgIHRoaXMudW5zYXZlZCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHVzZSBleGNsdWRlRXh0cmFuZW91c1ZhbHVlcyB3aGVuIGFsbCBtb2RlbHMgcmVmYWN0b3JlZCAoZXhwb3NlZCBhbGwgbmVlZGVkIHByb3BlcnRpZXMpXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqL1xuICBjcmVhdGVNb2RlbEluc3RhbmNlKGRhdGE6IG9iamVjdCA9IHt9KTogTW9kZWwge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3ModGhpcy5tb2RlbENsYXNzLCBkYXRhLCB7IGV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzOiB0aGlzLmV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXQgY3VycmVudCBmb3JtIHZhbHVlc1xuICAgKi9cbiAgZW1pdFZhbHVlcygpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgaWYgKFtudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IGZhbHNlLCBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZhbHVlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgISF0aGlzLm1vZGVsICYmICEhdGhpcy5tb2RlbFsnaWQnXSAmJiBpc0VxdWFsKHRoaXMudmFsdWUsIHRoaXMuaW5pdGlhbFZhbHVlKSA/IHRoaXMubWFya0FzU2F2ZWQoKSA6IHRoaXMubWFya0FzVW5zYXZlZCgpO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdXBncmFkZWQgdmVyc2lvbiBvZiBwYXRjaFZhbHVlIHRvIHNraXAgZHVwbGljYXRlZCBjaGFuZ2VzXG4gICAqL1xuICBwYXRjaEZpZWxkKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmdldChuYW1lKTtcbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyByZW1vdmUgd2hlbiBhbGwgbnVtYmVyIGZpZWxkcyByZWZhY3RvcmVkIHRvIHByaW1lIGlucHV0bnVtYmVyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgbmFtZSAhPT0gJ2Ftb3VudCcpIHtcbiAgICAgIHZhbHVlID0gK3ZhbHVlLnRvRml4ZWQoMik7XG4gICAgfVxuXG4gICAgY29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGZpZWxkQ2hhbmdlZChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQobmFtZSkudmFsdWUgIT09IHRoaXMuaW5pdGlhbFZhbHVlW25hbWVdO1xuICB9XG5cbiAgYWRkVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10sIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdKTogdm9pZCB7XG4gICAgaWYgKCFjb250cm9scy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdXBlci5hZGRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSwgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdID0gW10pOiB2b2lkIHtcbiAgICBpZiAoIWNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHN1cGVyLnJlbW92ZVZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgfVxuXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRpc2FibGUob3B0cz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuOyB9LCBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gPSBbXSk6IHZvaWQge1xuICAgIGlmICghY29udHJvbHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc3VwZXIuZGlzYWJsZShvcHRzKTtcbiAgICB9XG5cbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgY29udHJvbC5kaXNhYmxlKG9wdHMpO1xuICAgIH0pO1xuICB9XG5cbiAgZW5hYmxlKG9wdHM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgfSwgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdID0gW10pOiB2b2lkIHtcbiAgICBpZiAoIWNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmVuYWJsZShvcHRzKTtcbiAgICB9XG5cbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgY29udHJvbC5lbmFibGUob3B0cyk7XG4gICAgfSk7XG4gIH1cblxuICBjb250cm9sc0NoYW5nZXMoY29udHJvbE5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgY29udHJvbHMgPSBjb250cm9sTmFtZXMubWFwKGNvbnRyb2xOYW1lID0+IHRoaXMuZ2V0KGNvbnRyb2xOYW1lKSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgIGNvbnRyb2xzLm1hcChjb250cm9sID0+IGNvbnRyb2wudmFsdWVDaGFuZ2VzKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
2
|
-
import { BankAccountProperty } from '../../../models
|
2
|
+
import { BankAccountProperty } from '../../../models';
|
3
3
|
import { plainToClass } from 'class-transformer';
|
4
4
|
import { TankTypeEnum } from '../../../db/Enums/tank-type.enum';
|
5
|
-
import { conditionalValidator } from '../../../validators';
|
6
|
-
import { fieldsSumValidator } from '../../../validators/fields-sum.validator';
|
5
|
+
import { conditionalValidator, fieldsSumValidator } from '../../../validators';
|
7
6
|
/**
|
8
7
|
* Form array with bank account properties
|
9
8
|
* @TODO create AbstractFormArray
|
@@ -61,4 +60,4 @@ export class BankAccountPropertiesForm extends UntypedFormArray {
|
|
61
60
|
return currentTotalPercent < 100 ? 100 - currentTotalPercent : 0;
|
62
61
|
}
|
63
62
|
}
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LXByb3BlcnRpZXMuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQtcHJvcGVydGllcy5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZ0JBQWdCO0lBQzdELFlBQVkscUJBQTZDO1FBQ3ZELEtBQUssQ0FDSCxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDOUYsR0FBRyxDQUFDLENBQUMsbUJBQXdDLEVBQUUsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUM7WUFDdEUsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDcEYsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDbEYsQ0FBQyxDQUFDLEVBQ0w7WUFDRSxvQkFBb0IsQ0FDbEIsQ0FBQyxPQUF3QixFQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsUUFBUSxFQUM5RixVQUFVLENBQUMsUUFBUSxDQUNwQjtZQUNELGtCQUFrQixDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDbkMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUM7WUFDN0IsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDM0QsMEJBQTBCO1lBQzFCLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixDQUM3QixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBc0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFDdEcsVUFBVSxDQUFDLFFBQVEsQ0FDcEI7WUFDRCx5QkFBeUI7WUFDekIsMkJBQTJCO1lBQzNCLGtGQUFrRjtZQUNsRixxRkFBcUY7WUFDckYsS0FBSztTQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELHlCQUF5QjtJQUN6QixNQUFNO0lBQ04sZ0hBQWdIO0lBQ2hILHNDQUFzQztJQUN0Qyx1RUFBdUU7SUFDdkUsTUFBTTtJQUNOLHlGQUF5RjtJQUN6RixrREFBa0Q7SUFDbEQsMkRBQTJEO0lBQzNELE9BQU87SUFDUCxJQUFJO0lBRUosYUFBYTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQW1DLEVBQUUsRUFBRTtZQUM1RCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQW1DLEVBQUUsRUFBRTtZQUM1RCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CO1FBQ3pCLE1BQU0sbUJBQW1CLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsT0FBeUIsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVJLE9BQU8sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhbmtBY2NvdW50UHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgY29uZGl0aW9uYWxWYWxpZGF0b3IsIGZpZWxkc1N1bVZhbGlkYXRvciB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvcnMnO1xuXG4vKipcbiAqIEZvcm0gYXJyYXkgd2l0aCBiYW5rIGFjY291bnQgcHJvcGVydGllc1xuICogQFRPRE8gY3JlYXRlIEFic3RyYWN0Rm9ybUFycmF5XG4gKi9cbmV4cG9ydCBjbGFzcyBCYW5rQWNjb3VudFByb3BlcnRpZXNGb3JtIGV4dGVuZHMgVW50eXBlZEZvcm1BcnJheSB7XG4gIGNvbnN0cnVjdG9yKGJhbmtBY2NvdW50UHJvcGVydGllcz86IEJhbmtBY2NvdW50UHJvcGVydHlbXSkge1xuICAgIHN1cGVyKFxuICAgICAgKGJhbmtBY2NvdW50UHJvcGVydGllcz8ubGVuZ3RoID8gYmFua0FjY291bnRQcm9wZXJ0aWVzIDogW3BsYWluVG9DbGFzcyhCYW5rQWNjb3VudFByb3BlcnR5LCB7fSldKVxuICAgICAgICAubWFwKChiYW5rQWNjb3VudFByb3BlcnR5OiBCYW5rQWNjb3VudFByb3BlcnR5KSA9PiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgICAgcHJvcGVydHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woYmFua0FjY291bnRQcm9wZXJ0eT8ucHJvcGVydHksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgIHBlcmNlbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woYmFua0FjY291bnRQcm9wZXJ0eS5wZXJjZW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgICB9KSksXG4gICAgICBbXG4gICAgICAgIGNvbmRpdGlvbmFsVmFsaWRhdG9yKFxuICAgICAgICAgIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBib29sZWFuID0+IGNvbnRyb2wuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFksXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICApLFxuICAgICAgICBmaWVsZHNTdW1WYWxpZGF0b3IoJ3BlcmNlbnQnLCAxMDApXG4gICAgICBdXG4gICAgKTtcbiAgfVxuXG4gIGFkZCgpOiB2b2lkIHtcbiAgICB0aGlzLnB1c2gobmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgcHJvcGVydHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAvLyBAVE9ETyBkaXNhYmxlIGZvciBsb2Fuc1xuICAgICAgcGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcbiAgICAgICAgeyB2YWx1ZTogdGhpcy5nZXRSZW1haW5pbmdQZXJjZW50KCksIGRpc2FibGVkOiAhKHRoaXMuYXQoMCkgYXMgVW50eXBlZEZvcm1Hcm91cCkuY29udGFpbnMoJ3BlcmNlbnQnKSB9LFxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICApLFxuICAgICAgLy8gQFRPRE8gZW5hYmxlIGZvciBsb2Fuc1xuICAgICAgLy8gYW1vdW50OiBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAvLyAgIHt2YWx1ZTogdGhpcy5iYW5rQWNjb3VudC5jdXJyZW50QmFsYW5jZSAqIGJhbmtBY2NvdW50UHJvcGVydHkucGVyY2VudCAvIDEwMH0sXG4gICAgICAvLyAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heChNYXRoLmFicyh0aGlzLmJhbmtBY2NvdW50LmN1cnJlbnRCYWxhbmNlKSldXG4gICAgICAvLyApLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8vIEBUT0RPIGVuYWJsZSBmb3IgbG9hbnNcbiAgLy8gLyoqXG4gIC8vICAqIFJlY2FsY3VsYXRlIHByb3BlcnR5IHBlcmNlbnRhZ2UgZm9yIGN1cnJlbnQgcHJvcGVydHkgZm9ybSBncm91cCBhbmQgcm91bmQgdG8gbm8gbW9yZSB0aGFuIDMgZGVjaW1hbCBwbGFjZXNcbiAgLy8gICogQHBhcmFtIGFtb3VudDogbmV3IGNvbnRyb2wgdmFsdWVcbiAgLy8gICogQHBhcmFtIGN1cnJlbnRQcm9wZXJ0eUdyb3VwIGZvciB3aGljaCBhbW91bnQgd2lsbCBiZSByZWNhbGN1bGF0ZWRcbiAgLy8gICovXG4gIC8vIHJlY2FsY3VsYXRlUHJvcGVydHlQZXJjZW50YWdlKGFtb3VudDogbnVtYmVyLCBjdXJyZW50UHJvcGVydHlHcm91cDogRm9ybUdyb3VwKTogdm9pZCB7XG4gIC8vICAgY3VycmVudFByb3BlcnR5R3JvdXAuZ2V0KCdwZXJjZW50Jykuc2V0VmFsdWUoXG4gIC8vICAgICByb3VuZFRvKGFtb3VudCAvIHRoaXMuYmFua0FjY291bnQuY3VycmVudEJhbGFuY2UsIDMpXG4gIC8vICAgKTtcbiAgLy8gfVxuXG4gIGVuYWJsZVBlcmNlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKChwcm9wZXJ0eUZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4ge1xuICAgICAgcHJvcGVydHlGb3JtR3JvdXAuZ2V0KCdwZXJjZW50JykuZW5hYmxlKCk7XG4gICAgfSk7XG4gIH1cblxuICBkaXNhYmxlUGVyY2VudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goKHByb3BlcnR5Rm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XG4gICAgICBwcm9wZXJ0eUZvcm1Hcm91cC5nZXQoJ3BlcmNlbnQnKS5kaXNhYmxlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVyY2VudGFnZSBhdmFpbGFibGUgZm9yIGFkZGluZyBhIG5ldyBiYW5rIGFjY291bnQgcHJvcGVydHkuXG4gICAqIFJlbWFpbmluZyBwZXJjZW50IGNhbid0IGJlIG1vcmUgdGhhbiAxMDAgYW5kIGxlc3MgdGhhbiAwXG4gICAqL1xuICBwcml2YXRlIGdldFJlbWFpbmluZ1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjdXJyZW50VG90YWxQZXJjZW50OiBudW1iZXIgPSB0aGlzLmNvbnRyb2xzLnJlZHVjZSgoc3VtOiBudW1iZXIsIGNvbnRyb2w6IFVudHlwZWRGb3JtR3JvdXApID0+IHN1bSArIGNvbnRyb2wuZ2V0KCdwZXJjZW50JykudmFsdWUsIDApO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRUb3RhbFBlcmNlbnQgPCAxMDAgPyAxMDAgLSBjdXJyZW50VG90YWxQZXJjZW50IDogMDtcbiAgfVxufVxuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { AbstractForm } from '../abstract.form';
|
2
|
-
import {
|
2
|
+
import { HoldingTradeForm } from './holding-trade';
|
3
3
|
import { HoldingIncomeForm } from '../transaction';
|
4
4
|
import { TransactionTypeEnum } from '../../db/Enums/transaction-type.enum';
|
5
5
|
import { FormControl, Validators } from '@angular/forms';
|
@@ -12,7 +12,7 @@ export class HoldingReinvestForm extends AbstractForm {
|
|
12
12
|
// the difference between dividends amount and given shares (shares=dividendsAmount/sharePrice)
|
13
13
|
cashVariance: new FormControl({ value: 0, disabled: true }, Validators.required),
|
14
14
|
transaction: new HoldingIncomeForm(reinvest.transaction, null, []),
|
15
|
-
|
15
|
+
trade: new HoldingTradeForm(reinvest.trade)
|
16
16
|
}, reinvest);
|
17
17
|
this.reinvest = reinvest;
|
18
18
|
this.listenEvents();
|
@@ -27,15 +27,15 @@ export class HoldingReinvestForm extends AbstractForm {
|
|
27
27
|
});
|
28
28
|
}
|
29
29
|
listenEvents() {
|
30
|
-
this.
|
30
|
+
this.listenTradeChanges();
|
31
31
|
this.listenDateChanges();
|
32
32
|
this.listenAmountChanges();
|
33
33
|
}
|
34
34
|
get transactionForm() {
|
35
35
|
return this.get('transaction');
|
36
36
|
}
|
37
|
-
get
|
38
|
-
return this.get('
|
37
|
+
get tradeForm() {
|
38
|
+
return this.get('trade');
|
39
39
|
}
|
40
40
|
/**
|
41
41
|
* calculated automatically as cashVariance=transactionAmount-frankedAmount-unfrankedAmount
|
@@ -47,11 +47,11 @@ export class HoldingReinvestForm extends AbstractForm {
|
|
47
47
|
});
|
48
48
|
}
|
49
49
|
/**
|
50
|
-
* Set transaction amount based on
|
50
|
+
* Set transaction amount based on trade quantity and price
|
51
51
|
*/
|
52
|
-
|
53
|
-
// we can watch the whole
|
54
|
-
this.get('
|
52
|
+
listenTradeChanges() {
|
53
|
+
// we can watch the whole trade form because we have only 2 fields in the form template
|
54
|
+
this.get('trade').valueChanges.subscribe((value) => {
|
55
55
|
if (!value.quantity || !value.price) {
|
56
56
|
this.get(['transaction', 'amount']).setValue(0);
|
57
57
|
return;
|
@@ -60,15 +60,15 @@ export class HoldingReinvestForm extends AbstractForm {
|
|
60
60
|
});
|
61
61
|
}
|
62
62
|
/**
|
63
|
-
* Set
|
63
|
+
* Set trade date the same as transaction date
|
64
64
|
*/
|
65
65
|
listenDateChanges() {
|
66
66
|
this.get(['transaction', 'date']).valueChanges.subscribe((date) => {
|
67
|
-
this.get(['
|
67
|
+
this.get(['trade', 'date']).setValue(date);
|
68
68
|
});
|
69
69
|
}
|
70
70
|
/**
|
71
|
-
* @TODO Alex (TT-2847): attach file to both (transaction and
|
71
|
+
* @TODO Alex (TT-2847): attach file to both (transaction and trade) when files system refactored
|
72
72
|
*/
|
73
73
|
submit() {
|
74
74
|
const value = this.transactionForm.getRawValue();
|
@@ -78,8 +78,8 @@ export class HoldingReinvestForm extends AbstractForm {
|
|
78
78
|
description: `Reinvestment - ${value.incomeSource?.name}`,
|
79
79
|
amount: value.amount - this.get('cashVariance').value
|
80
80
|
}),
|
81
|
-
|
81
|
+
trade: this.tradeForm.submit()
|
82
82
|
});
|
83
83
|
}
|
84
84
|
}
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1yZWludmVzdC5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2hvbGRpbmcvaG9sZGluZy1yZWludmVzdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQTZCO0lBQ3BFLFlBQW9CLFFBQXlCO1FBQzNDLEtBQUssQ0FBQztZQUNKLCtGQUErRjtZQUMvRixZQUFZLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2hGLFdBQVcsRUFBRSxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNsRSxLQUFLLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzVDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFOSyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVEzQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsc0VBQXNFO1FBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUF1QixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVELDBHQUEwRztR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LEVBQUUsa0JBQWtCLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFO2dCQUN6RCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUs7YUFDdEQsQ0FBQztZQUNGLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIb2xkaW5nUmVpbnZlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlRm9ybSB9IGZyb20gJy4vaG9sZGluZy10cmFkZSc7XG5pbXBvcnQgeyBIb2xkaW5nSW5jb21lRm9ybSB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQFRPRE8gdmlrIFRULTQwNDhcbiAqL1xuZXhwb3J0IGNsYXNzIEhvbGRpbmdSZWludmVzdEZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08SG9sZGluZ1JlaW52ZXN0PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWludmVzdDogSG9sZGluZ1JlaW52ZXN0KSB7XG4gICAgc3VwZXIoe1xuICAgICAgLy8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBkaXZpZGVuZHMgYW1vdW50IGFuZCBnaXZlbiBzaGFyZXMgKHNoYXJlcz1kaXZpZGVuZHNBbW91bnQvc2hhcmVQcmljZSlcbiAgICAgIGNhc2hWYXJpYW5jZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IDAsIGRpc2FibGVkOiB0cnVlIH0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgdHJhbnNhY3Rpb246IG5ldyBIb2xkaW5nSW5jb21lRm9ybShyZWludmVzdC50cmFuc2FjdGlvbiwgbnVsbCwgW10pLFxuICAgICAgdHJhZGU6IG5ldyBIb2xkaW5nVHJhZGVGb3JtKHJlaW52ZXN0LnRyYWRlKVxuICAgIH0sIHJlaW52ZXN0KTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG5cbiAgICAvLyBlbWl0IHZhbHVlcyB0byB0cmlnZ2VyIGNoYW5nZXMgYW5kIGNyZWF0ZSBjaGFydCBhY2NvdW50cyBtZXRhZmllbGRzXG4gICAgKHRoaXMuZ2V0KCd0cmFuc2FjdGlvbicpIGFzIEhvbGRpbmdJbmNvbWVGb3JtKS5lbWl0VmFsdWVzKCk7XG4gICAgLy8gZGlzYWJsZSBhbW91bnQgZmllbGQgYmVjYXVzZSB3ZSBjYWxjdWxhdGUgdGhlIHZhbHVlIGF1dG9tYXRpY2FsbHkgYW5kIHRoaXMgZmllbGQgaXMgdmlzaWJsZSBhcyBkaXNhYmxlZFxuICAgIHRoaXMuZ2V0KFsndHJhbnNhY3Rpb24nLCAnYW1vdW50J10pLmRpc2FibGUoKTtcbiAgICAvLyBmcmFua2VkL3VuZnJhbmtlZCBmaWVsZHMgYXJlIHJlcXVpcmVkXG4gICAgdGhpcy50cmFuc2FjdGlvbkZvcm0uZ2V0QW1vdW50Q29tcG9uZW50cygpLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICBjb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVHJhZGVDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5EYXRlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuQW1vdW50Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNhY3Rpb25Gb3JtKCk6IEhvbGRpbmdJbmNvbWVGb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgSG9sZGluZ0luY29tZUZvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCB0cmFkZUZvcm0oKTogSG9sZGluZ1RyYWRlRm9ybSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0cmFkZScpIGFzIEhvbGRpbmdUcmFkZUZvcm07XG4gIH1cblxuICAvKipcbiAgICogY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGFzIGNhc2hWYXJpYW5jZT10cmFuc2FjdGlvbkFtb3VudC1mcmFua2VkQW1vdW50LXVuZnJhbmtlZEFtb3VudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5BbW91bnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3Qgc3VtID0gdGhpcy50cmFuc2FjdGlvbkZvcm0uZ2V0QW1vdW50Q29tcG9uZW50cygpLnJlZHVjZSgoYWNjLCBjb250cm9sKSA9PiBhY2MgKyBjb250cm9sLnZhbHVlLCAwKTtcbiAgICAgIHRoaXMuZ2V0KCdjYXNoVmFyaWFuY2UnKS5zZXRWYWx1ZSh0aGlzLmdldChbJ3RyYW5zYWN0aW9uJywgJ2Ftb3VudCddKS52YWx1ZSAtIHN1bSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRyYW5zYWN0aW9uIGFtb3VudCBiYXNlZCBvbiB0cmFkZSBxdWFudGl0eSBhbmQgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVHJhZGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIC8vIHdlIGNhbiB3YXRjaCB0aGUgd2hvbGUgdHJhZGUgZm9ybSBiZWNhdXNlIHdlIGhhdmUgb25seSAyIGZpZWxkcyBpbiB0aGUgZm9ybSB0ZW1wbGF0ZVxuICAgIHRoaXMuZ2V0KCd0cmFkZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIXZhbHVlLnF1YW50aXR5IHx8ICF2YWx1ZS5wcmljZSkge1xuICAgICAgICB0aGlzLmdldChbJ3RyYW5zYWN0aW9uJywgJ2Ftb3VudCddKS5zZXRWYWx1ZSgwKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmdldChbJ3RyYW5zYWN0aW9uJywgJ2Ftb3VudCddKS5zZXRWYWx1ZSh2YWx1ZS5xdWFudGl0eSAqIHZhbHVlLnByaWNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdHJhZGUgZGF0ZSB0aGUgc2FtZSBhcyB0cmFuc2FjdGlvbiBkYXRlXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkRhdGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KFsndHJhbnNhY3Rpb24nLCAnZGF0ZSddKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICB0aGlzLmdldChbJ3RyYWRlJywgJ2RhdGUnXSkuc2V0VmFsdWUoZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleCAoVFQtMjg0Nyk6IGF0dGFjaCBmaWxlIHRvIGJvdGggKHRyYW5zYWN0aW9uIGFuZCB0cmFkZSkgd2hlbiBmaWxlcyBzeXN0ZW0gcmVmYWN0b3JlZFxuICAgKi9cbiAgc3VibWl0KCk6IEhvbGRpbmdSZWludmVzdCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zYWN0aW9uRm9ybS5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdCh7XG4gICAgICB0cmFuc2FjdGlvbjogdGhpcy50cmFuc2FjdGlvbkZvcm0uc3VibWl0KHtcbiAgICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgUmVpbnZlc3RtZW50IC0gJHt2YWx1ZS5pbmNvbWVTb3VyY2U/Lm5hbWV9YCxcbiAgICAgICAgYW1vdW50OiB2YWx1ZS5hbW91bnQgLSB0aGlzLmdldCgnY2FzaFZhcmlhbmNlJykudmFsdWVcbiAgICAgIH0pLFxuICAgICAgdHJhZGU6IHRoaXMudHJhZGVGb3JtLnN1Ym1pdCgpXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -6,7 +6,8 @@ import { greaterThanValidator } from '../../validators';
|
|
6
6
|
export class HoldingSaleForm extends AbstractForm {
|
7
7
|
constructor(sale, holding, type, isResident) {
|
8
8
|
super({
|
9
|
-
|
9
|
+
// @TODO Validators.max(holding.currentQuantity + sale.quantity)
|
10
|
+
quantity: new UntypedFormControl(sale.quantity, [Validators.required, greaterThanValidator(0)]),
|
10
11
|
price: new UntypedFormControl(sale.price || type.price, Validators.required),
|
11
12
|
fee: new UntypedFormControl(sale.fee, Validators.required),
|
12
13
|
date: new UntypedFormControl(sale.date, Validators.required),
|
@@ -49,4 +50,4 @@ export class HoldingSaleForm extends AbstractForm {
|
|
49
50
|
return this.isResident && netCapitalGain > 0 && moment(date).diff(moment(this.holding.date), 'year') > 0;
|
50
51
|
}
|
51
52
|
}
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9ob2xkaW5nLXNhbGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXhELE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQXlCO0lBQzVELFlBQVksSUFBaUIsRUFBVSxPQUFxQixFQUFFLElBQWlCLEVBQVUsVUFBbUI7UUFDMUcsS0FBSyxDQUFDO1lBQ0osaUVBQWlFO1lBQ2pFLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0YsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDNUUsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzFELElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM1RCxnQkFBZ0IsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFF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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEhvbGRpbmdTYWxlLCBIb2xkaW5nVHJhZGUsIEhvbGRpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgZ3JlYXRlclRoYW5WYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdTYWxlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxIb2xkaW5nU2FsZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKHNhbGU6IEhvbGRpbmdTYWxlLCBwcml2YXRlIGhvbGRpbmc6IEhvbGRpbmdUcmFkZSwgdHlwZTogSG9sZGluZ1R5cGUsIHByaXZhdGUgaXNSZXNpZGVudDogYm9vbGVhbikge1xuICAgIHN1cGVyKHtcbiAgICAgIC8vIEBUT0RPICBWYWxpZGF0b3JzLm1heChob2xkaW5nLmN1cnJlbnRRdWFudGl0eSArIHNhbGUucXVhbnRpdHkpXG4gICAgICBxdWFudGl0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLnF1YW50aXR5LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgZ3JlYXRlclRoYW5WYWxpZGF0b3IoMCldKSxcbiAgICAgIHByaWNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUucHJpY2UgfHwgdHlwZS5wcmljZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBmZWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc2FsZS5mZWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLmRhdGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZ3Jvc3NDYXBpdGFsR2FpbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4sIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgICAgbmV0Q2FwaXRhbEdhaW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogc2FsZS5uZXRDYXBpdGFsR2FpbiwgZGlzYWJsZWQ6IHRydWUgfSksXG4gICAgICBmaWxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZmlsZSlcbiAgICB9LCBzYWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5lbWl0VmFsdWVzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbJ2RhdGUnLCAncHJpY2UnLCAncXVhbnRpdHknLCAnZmVlJ10ubWFwKChmaWVsZCkgPT4gdGhpcy5nZXQoZmllbGQpLnZhbHVlQ2hhbmdlcykpXG4gICAgICAuc3Vic2NyaWJlKChbZGF0ZSwgcHJpY2UsIHF1YW50aXR5LCBmZWVdKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlR2FpbkZpZWxkcyhkYXRlLCBwcmljZSwgcXVhbnRpdHksIGZlZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBIb2xkaW5nU2FsZSB7XG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdCh7fSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUdhaW5GaWVsZHMoZGF0ZTogRGF0ZSwgcHJpY2U6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlciwgZmVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBncm9zc0NhcGl0YWxHYWluID0gdGhpcy5jYWxjdWxhdGVHcm9zc0NhcGl0YWxHYWluKHByaWNlLCBxdWFudGl0eSwgZmVlKTtcblxuICAgIHRoaXMuZ2V0KCdncm9zc0NhcGl0YWxHYWluJykuc2V0VmFsdWUoZ3Jvc3NDYXBpdGFsR2Fpbik7XG4gICAgdGhpcy5nZXQoJ25ldENhcGl0YWxHYWluJykuc2V0VmFsdWUodGhpcy5jYWxjdWxhdGVOZXRDYXBpdGFsR2Fpbihncm9zc0NhcGl0YWxHYWluLCBkYXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUdyb3NzQ2FwaXRhbEdhaW4ocHJpY2U6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlciwgZmVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGZlZXMgPSBxdWFudGl0eSAqIHRoaXMuaG9sZGluZy5mZWUgLyB0aGlzLmhvbGRpbmcucXVhbnRpdHkgKyBmZWU7XG4gICAgY29uc3QgdG90YWxDYXBpdGFsR2FpbiA9IChwcmljZSAtIHRoaXMuaG9sZGluZy5wcmljZSkgKiBxdWFudGl0eSAtIGZlZXM7XG5cbiAgICByZXR1cm4gdG90YWxDYXBpdGFsR2FpbiAqIHRoaXMuaG9sZGluZy5vd25lcnNoaXBQZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVOZXRDYXBpdGFsR2Fpbihncm9zc0NhcGl0YWxHYWluOiBudW1iZXIsIGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIGxldCBuZXRDYXBpdGFsR2FpbiA9IGdyb3NzQ2FwaXRhbEdhaW47XG5cbiAgICBpZiAodGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKG5ldENhcGl0YWxHYWluLCBkYXRlKSkge1xuICAgICAgbmV0Q2FwaXRhbEdhaW4gPSBuZXRDYXBpdGFsR2FpbiAvIDI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldENhcGl0YWxHYWluO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKG5ldENhcGl0YWxHYWluOiBudW1iZXIsIGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1Jlc2lkZW50ICYmIG5ldENhcGl0YWxHYWluID4gMCAmJiBtb21lbnQoZGF0ZSkuZGlmZihtb21lbnQodGhpcy5ob2xkaW5nLmRhdGUpLCAneWVhcicpID4gMDtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { UntypedFormControl } from '@angular/forms';
|
2
|
+
import { AbstractForm } from '../../abstract.form';
|
3
|
+
import { HoldingTypeCategoryEnum } from '../../../db/Enums';
|
4
|
+
export class HoldingTradeFilterForm extends AbstractForm {
|
5
|
+
constructor() {
|
6
|
+
super({
|
7
|
+
category: new UntypedFormControl(),
|
8
|
+
isTaxFree: new UntypedFormControl(false),
|
9
|
+
});
|
10
|
+
this.categories = [];
|
11
|
+
this.get('category').valueChanges.subscribe(category => {
|
12
|
+
this.categories = category === HoldingTypeCategoryEnum.OTHER
|
13
|
+
? [HoldingTypeCategoryEnum.OTHER, HoldingTypeCategoryEnum.COLLECTIBLE, HoldingTypeCategoryEnum.UNLISTED_STOCK, HoldingTypeCategoryEnum.UNLISTED_UNIT]
|
14
|
+
: [category];
|
15
|
+
});
|
16
|
+
}
|
17
|
+
filter(trades) {
|
18
|
+
let filteredTrades = trades.filterBy('isTaxFree', this.value.isTaxFree);
|
19
|
+
if (this.categories.length) {
|
20
|
+
filteredTrades = filteredTrades.filterBy('holdingType.category', this.categories);
|
21
|
+
}
|
22
|
+
return filteredTrades;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS1maWx0ZXIuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9ob2xkaW5nL2hvbGRpbmctdHJhZGUvaG9sZGluZy10cmFkZS1maWx0ZXIuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFlBQTBCO0lBRXBFO1FBQ0UsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLElBQUksa0JBQWtCLEVBQUU7WUFDbEMsU0FBUyxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUxMLGVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBT3pDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsS0FBSyx1QkFBdUIsQ0FBQyxLQUFLO2dCQUMxRCxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUMsV0FBVyxFQUFFLHVCQUF1QixDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxhQUFhLENBQUM7Z0JBQ3JKLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUE4QjtRQUNuQyxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsY0FBYyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1RyYWRlRmlsdGVyRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxIb2xkaW5nVHJhZGU+IHtcbiAgY2F0ZWdvcmllczogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW1bXSA9IFtdO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBjYXRlZ29yeTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgICAgaXNUYXhGcmVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICB9KTtcblxuICAgIHRoaXMuZ2V0KCdjYXRlZ29yeScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2F0ZWdvcnkgPT4ge1xuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gY2F0ZWdvcnkgPT09IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLk9USEVSXG4gICAgICAgID8gW0hvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLk9USEVSLCBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DT0xMRUNUSUJMRSwgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfU1RPQ0ssIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVRdXG4gICAgICAgIDogW2NhdGVnb3J5XTtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlcih0cmFkZXM6IEhvbGRpbmdUcmFkZUNvbGxlY3Rpb24pOiBIb2xkaW5nVHJhZGVDb2xsZWN0aW9uIHtcbiAgICBsZXQgZmlsdGVyZWRUcmFkZXMgPSB0cmFkZXMuZmlsdGVyQnkoJ2lzVGF4RnJlZScsIHRoaXMudmFsdWUuaXNUYXhGcmVlKTtcbiAgICBpZiAodGhpcy5jYXRlZ29yaWVzLmxlbmd0aCkge1xuICAgICAgZmlsdGVyZWRUcmFkZXMgPSBmaWx0ZXJlZFRyYWRlcy5maWx0ZXJCeSgnaG9sZGluZ1R5cGUuY2F0ZWdvcnknLCB0aGlzLmNhdGVnb3JpZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFRyYWRlcztcbiAgfVxufVxuIl19
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { UntypedFormControl, Validators } from '@angular/forms';
|
2
|
+
import { AbstractForm } from '../../abstract.form';
|
3
|
+
import { greaterThanValidator } from '../../../validators';
|
4
|
+
export class HoldingTradeForm extends AbstractForm {
|
5
|
+
constructor(holdingTrade) {
|
6
|
+
super({
|
7
|
+
category: new UntypedFormControl(holdingTrade.category),
|
8
|
+
isTaxFree: new UntypedFormControl(holdingTrade.isTaxFree, Validators.required),
|
9
|
+
type: new UntypedFormControl(holdingTrade.type, Validators.required),
|
10
|
+
quantity: new UntypedFormControl(holdingTrade.quantity, [Validators.required, greaterThanValidator(0)]),
|
11
|
+
price: new UntypedFormControl(holdingTrade.price, [Validators.required, Validators.min(0)]),
|
12
|
+
fee: new UntypedFormControl(holdingTrade.fee, [Validators.required, Validators.min(0)]),
|
13
|
+
date: new UntypedFormControl(holdingTrade.date, Validators.required),
|
14
|
+
holdingType: new UntypedFormControl(holdingTrade.holdingType, Validators.required),
|
15
|
+
ownershipPercent: new UntypedFormControl(holdingTrade.ownershipPercent || 100, Validators.required),
|
16
|
+
file: new UntypedFormControl(holdingTrade.file)
|
17
|
+
}, holdingTrade);
|
18
|
+
this.purchaseValue = 0;
|
19
|
+
this.listenEvents();
|
20
|
+
}
|
21
|
+
listenEvents() {
|
22
|
+
this.controlsChanges(['quantity', 'price', 'fee']).subscribe(([quantity, price, fee]) => {
|
23
|
+
this.purchaseValue = quantity * price + fee;
|
24
|
+
});
|
25
|
+
}
|
26
|
+
submit(data = {}, includeDisabledFields = false) {
|
27
|
+
return super.submit(data, includeDisabledFields);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2hvbGRpbmcvaG9sZGluZy10cmFkZS9ob2xkaW5nLXRyYWRlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsWUFBMEI7SUFFOUQsWUFBWSxZQUEwQjtRQUNwQyxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3ZELFNBQVMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM5RSxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDcEUsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RyxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0YsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRSxXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEYsZ0JBQWdCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkcsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztTQUNoRCxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBYm5CLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBZWhCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQTtRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZSxFQUFFLEVBQUUscUJBQXFCLEdBQUcsS0FBSztRQUNyRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdyZWF0ZXJUaGFuVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHJhZGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEhvbGRpbmdUcmFkZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIHB1cmNoYXNlVmFsdWUgPSAwO1xuICBjb25zdHJ1Y3Rvcihob2xkaW5nVHJhZGU6IEhvbGRpbmdUcmFkZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNhdGVnb3J5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmdUcmFkZS5jYXRlZ29yeSksXG4gICAgICBpc1RheEZyZWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaG9sZGluZ1RyYWRlLmlzVGF4RnJlZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB0eXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmdUcmFkZS50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHF1YW50aXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmdUcmFkZS5xdWFudGl0eSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGdyZWF0ZXJUaGFuVmFsaWRhdG9yKDApXSksXG4gICAgICBwcmljZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nVHJhZGUucHJpY2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKV0pLFxuICAgICAgZmVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGhvbGRpbmdUcmFkZS5mZWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKV0pLFxuICAgICAgZGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nVHJhZGUuZGF0ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBob2xkaW5nVHlwZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nVHJhZGUuaG9sZGluZ1R5cGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgb3duZXJzaGlwUGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nVHJhZGUub3duZXJzaGlwUGVyY2VudCB8fCAxMDAsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZmlsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChob2xkaW5nVHJhZGUuZmlsZSlcbiAgICB9LCBob2xkaW5nVHJhZGUpO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xzQ2hhbmdlcyhbJ3F1YW50aXR5JywgJ3ByaWNlJywgJ2ZlZSddKS5zdWJzY3JpYmUoKFtxdWFudGl0eSwgcHJpY2UsIGZlZV0pID0+IHtcbiAgICAgIHRoaXMucHVyY2hhc2VWYWx1ZSA9IHF1YW50aXR5ICogcHJpY2UgKyBmZWVcbiAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSwgaW5jbHVkZURpc2FibGVkRmllbGRzID0gZmFsc2UpOiBIb2xkaW5nVHJhZGUge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSwgaW5jbHVkZURpc2FibGVkRmllbGRzKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './holding-trade.form';
|
2
|
+
export * from './holding-trade-filter.form';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9ob2xkaW5nLXRyYWRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy10cmFkZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy10cmFkZS1maWx0ZXIuZm9ybSc7XG4iXX0=
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { UntypedFormControl, Validators } from '@angular/forms';
|
2
|
+
import { AbstractForm } from '../abstract.form';
|
3
|
+
import { HoldingTypeCategoryEnum } from '../../db/Enums';
|
4
|
+
import { HoldingTypeExchangeListEnum } from '../../db/Enums';
|
5
|
+
export class HoldingTradeImportForm extends AbstractForm {
|
6
|
+
constructor() {
|
7
|
+
super({
|
8
|
+
category: new UntypedFormControl(HoldingTypeCategoryEnum.STOCK, Validators.required),
|
9
|
+
exchangeId: new UntypedFormControl(HoldingTypeExchangeListEnum.AU, Validators.required),
|
10
|
+
isTaxFree: new UntypedFormControl(false, Validators.required),
|
11
|
+
file: new UntypedFormControl(null, Validators.required)
|
12
|
+
});
|
13
|
+
this.listenEvents();
|
14
|
+
}
|
15
|
+
listenEvents() {
|
16
|
+
this.get('category').valueChanges.subscribe((category) => {
|
17
|
+
this.get('exchangeId').setValue(category === HoldingTypeCategoryEnum.CRYPTO ? HoldingTypeExchangeListEnum.CC : HoldingTypeExchangeListEnum.AU);
|
18
|
+
});
|
19
|
+
}
|
20
|
+
submit() {
|
21
|
+
// @TODO TypeError: Failed to construct 'File': 2 arguments required, but only 0 present.
|
22
|
+
return super.submit({ file: null });
|
23
|
+
}
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS1pbXBvcnQuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9ob2xkaW5nL2hvbGRpbmctdHJhZGUtaW1wb3J0LmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsWUFBZ0M7SUFDMUU7UUFDRSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRixVQUFVLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN2RixTQUFTLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM3RCxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN4RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQzdCLFFBQVEsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUM5RyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLHlGQUF5RjtRQUN6RixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlRXhjaGFuZ2VMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IEhvbGRpbmdUcmFkZUltcG9ydCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHJhZGVJbXBvcnRGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEhvbGRpbmdUcmFkZUltcG9ydD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNhdGVnb3J5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGV4Y2hhbmdlSWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woSG9sZGluZ1R5cGVFeGNoYW5nZUxpc3RFbnVtLkFVLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGlzVGF4RnJlZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChmYWxzZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBmaWxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgfSk7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjYXRlZ29yeScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNhdGVnb3J5OiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSkgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2V4Y2hhbmdlSWQnKS5zZXRWYWx1ZShcbiAgICAgICAgY2F0ZWdvcnkgPT09IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTyA/IEhvbGRpbmdUeXBlRXhjaGFuZ2VMaXN0RW51bS5DQyA6IEhvbGRpbmdUeXBlRXhjaGFuZ2VMaXN0RW51bS5BVVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBIb2xkaW5nVHJhZGVJbXBvcnQge1xuICAgIC8vIEBUT0RPIFR5cGVFcnJvcjogRmFpbGVkIHRvIGNvbnN0cnVjdCAnRmlsZSc6IDIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAwIHByZXNlbnQuXG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdCh7IGZpbGU6IG51bGwgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
|
+
export * from './holding-trade';
|
1
2
|
export * from './holding-sale.form';
|
2
3
|
export * from './holding-type.form';
|
3
|
-
export * from './holding.form';
|
4
4
|
export * from './holding-reinvest.form';
|
5
|
-
export * from './holding-import.form';
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
5
|
+
export * from './holding-trade-import.form';
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hvbGRpbmctdHJhZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXNhbGUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctdHlwZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy1yZWludmVzdC5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy10cmFkZS1pbXBvcnQuZm9ybSc7XG4iXX0=
|