taxtank-core 0.33.60 → 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 +6 -1
- 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/fesm2022/taxtank-core.mjs +330 -185
- 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 +2 -0
- 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/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
|
@@ -149,5 +150,9 @@ export class AbstractForm extends FormGroup {
|
|
149
150
|
control.enable(opts);
|
150
151
|
});
|
151
152
|
}
|
153
|
+
controlsChanges(controlNames) {
|
154
|
+
const controls = controlNames.map(controlName => this.get(controlName));
|
155
|
+
return combineLatest(controls.map(control => control.valueChanges));
|
156
|
+
}
|
152
157
|
}
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9hYnN0cmFjdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBU3JDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixZQUE0RSxTQUFRLFNBQW1CO2FBQ3BILG1CQUFjLEdBQUcsRUFBRSxBQUFMLENBQU07SUFtQjNCLFlBQ0UsUUFBa0I7SUFDbEIsdURBQXVEO0lBQ3ZELEtBQWEsRUFDYixlQUE2RSxFQUM3RSxjQUE2RDtRQUU3RCxLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQXBCekMsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBSzFDOzs7V0FHRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsYUFBUSxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVWpELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ2pELGdGQUFnRjtRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBOEIsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFL0IsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO1FBRUQs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b2wsIEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbi8qKlxuICogRGVmYXVsdCBDb250cm9scyBJbnRlcmZhY2Ugd2l0aCBsb29zZSB0eXBpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cm9sc0ludGVyZmFjZSB7XG4gIFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG59XG5cbi8qKlxuICogQWJzdHJhY3QgZm9ybSBjbGFzc1xuICogQFRPRE8gcmVuYW1lIHRvIEFic3RyYWN0Rm9ybUdyb3VwXG4gKiBAVE9ETyBBbGV4IFRULTIxOTA6IHJlZmFjdG9yOiBjaGVjayBhbmQgaW1wcm92ZSBsb2dpY1xuICogQFRPRE8gTW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvcm08TW9kZWwsIENvbnRyb2xzIGV4dGVuZHMgQ29udHJvbHNJbnRlcmZhY2UgPSBDb250cm9sc0ludGVyZmFjZT4gZXh0ZW5kcyBGb3JtR3JvdXA8Q29udHJvbHM+IHtcbiAgc3RhdGljIGlucHV0TWF4TGVuZ3RoID0gMzA7XG4gIC8qKlxuICAgKiBJbml0aWFsIGZvcm0gdmFsdWUgZm9yIGNvbXBhcmlzb24gd2l0aCBjaGFuZ2VzIHRvIGNoZWNrIHNhdmVkL3Vuc2F2ZWQgc3RhdGVcbiAgICogQFRPRE8gdHlwZWhpbnQgdG8gbW9kZWwgaW50ZXJmYWNlIHdoZW4gYWxsIGRiL21vZGVscyBtaWdyYXRlZCB0byBpbnRlcmZhY2VzXG4gICAqL1xuICBpbml0aWFsVmFsdWU7XG4gIHByb3RlY3RlZCBleGNsdWRlRXh0cmFuZW91c1ZhbHVlcyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgbW9kZWxDbGFzczogVHlwZTxNb2RlbD47XG4gIG1vZGVsOiBNb2RlbDtcbiAgc3VibWl0dGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4IGJhZCBuYW1lLCBpdCdzIGFsc28gYWJvdXQgdW5jaGFuZ2VkXG4gICAqIEZsYWcgZGlzcGxheSBpZiBzb21lIGZvcm0gdmFsdWVzIGNoYW5nZWRcbiAgICovXG4gIHVuc2F2ZWQgPSBmYWxzZTtcblxuICBvblN1Ym1pdDogRXZlbnRFbWl0dGVyPE1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgY29udHJvbHM6IENvbnRyb2xzLFxuICAgIC8vIEBUT0RPIHZpayByZXF1aXJlZCwgb3RoZXJ3aXNlIG1vZGVsQ2xhc3Mgd29uJ3QgZXhpc3RcbiAgICBtb2RlbD86IE1vZGVsLFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICAgIHRoaXMubW9kZWwgPSBtb2RlbCB8fCB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoKTtcbiAgICAvLyBAVE9ETyBBbGV4IG5vIGlkZWEgaG93IGl0IHdvcmtzLCBzaW5jZSBtb2RlbENsYXNzIHVzZWQgaW4gY3JlYXRlTW9kZWxJbnN0YW5jZVxuICAgIHRoaXMubW9kZWxDbGFzcyA9IHRoaXMubW9kZWwuY29uc3RydWN0b3IgYXMgbmV3ICgpID0+IE1vZGVsO1xuICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgIGlmIChtb2RlbCAmJiAhbW9kZWxbJ2lkJ10pIHtcbiAgICAgIHRoaXMubWFya0FzVW5zYXZlZCgpO1xuICAgIH1cblxuICAgIHRoaXMubGlzdGVuVmFsdWVDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgc2F2ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnVuc2F2ZWQ7XG4gIH1cblxuICBnZXQgY3VycmVudFZhbHVlKCk6IE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKE9iamVjdC5hc3NpZ24oe30sIHRoaXMubW9kZWwsIHRoaXMuZ2V0UmF3VmFsdWUoKSkpO1xuICB9XG5cbiAgdG9nZ2xlRW5hYmxlZFN0YXRlKGNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgY29udHJvbC5lbmFibGVkID8gY29udHJvbC5kaXNhYmxlKCkgOiBjb250cm9sLmVuYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuYWJsZWQgPyB0aGlzLmRpc2FibGUoKSA6IHRoaXMuZW5hYmxlKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdmFsaWRhdGlvbiBhbmQgcmV0dXJuIGEgbmV3IGluc3RhbmNlIG9mIGdlbmVyaWMgbW9kZWwuXG4gICAqIE1lcmdlIGZvcm0gdmFsdWUgdG8gaW5pdGlhbCBvYmplY3RcbiAgICogQHBhcmFtIGRhdGEgQWRkaXRpb25hbCBkYXRhIG9iamVjdCB3aGljaCBiZSBtZXJnZWQgdG8gZm9ybSB2YWx1ZVxuICAgKiBAcGFyYW0gaW5jbHVkZURpc2FibGVkRmllbGRzIGlnbm9yZSBkaXNhYmxlZCBmaWVsZHNcbiAgICovXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSwgaW5jbHVkZURpc2FibGVkRmllbGRzID0gZmFsc2UpOiBNb2RlbCB7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgIHRoaXMubWFya0FsbEFzVG91Y2hlZCgpO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnZhbGlkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGluY2x1ZGVEaXNhYmxlZEZpZWxkcyA/IHRoaXMuZ2V0UmF3VmFsdWUoKSA6IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbW9kZWw6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKE9iamVjdC5hc3NpZ24oe30sIHRoaXMubW9kZWwsIHZhbHVlLCBkYXRhKSk7XG5cbiAgICB0aGlzLm9uU3VibWl0LmVtaXQobW9kZWwpO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIGFkZENvbnRyb2wobmFtZTogc3RyaW5nLCBjb250cm9sOiBDb250cm9sc1tzdHJpbmddLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiB0aGlzIHtcbiAgICAvLyBrZWVwIGZvcm0gc3RhdGUgKGVuYWJsZWQvZGlzYWJsZWQpLlxuICAgIC8vIGFkZENvbnRyb2wgZW5hYmxlcyBmb3JtIHdoZW4gYWRkZWQgZW5hYmxlZCBmb3JtIGNvbnRyb2xcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzIzNlxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICBzdXBlci5hZGRDb250cm9sKG5hbWUsIGNvbnRyb2wsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtYXJrQXNVbnNhdmVkKCk6IHZvaWQge1xuICAgIHRoaXMudW5zYXZlZCA9IHRydWU7XG4gIH1cblxuICBtYXJrQXNTYXZlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2F2ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB1c2UgZXhjbHVkZUV4dHJhbmVvdXNWYWx1ZXMgd2hlbiBhbGwgbW9kZWxzIHJlZmFjdG9yZWQgKGV4cG9zZWQgYWxsIG5lZWRlZCBwcm9wZXJ0aWVzKVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgY3JlYXRlTW9kZWxJbnN0YW5jZShkYXRhOiBvYmplY3QgPSB7fSk6IE1vZGVsIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKHRoaXMubW9kZWxDbGFzcywgZGF0YSwgeyBleGNsdWRlRXh0cmFuZW91c1ZhbHVlczogdGhpcy5leGNsdWRlRXh0cmFuZW91c1ZhbHVlcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBlbWl0IGN1cnJlbnQgZm9ybSB2YWx1ZXNcbiAgICovXG4gIGVtaXRWYWx1ZXMoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGlmIChbbnVsbCwgdW5kZWZpbmVkXS5pbmNsdWRlcyhjb250cm9sLnZhbHVlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiBmYWxzZSwgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICEhdGhpcy5tb2RlbCAmJiAhIXRoaXMubW9kZWxbJ2lkJ10gJiYgaXNFcXVhbCh0aGlzLnZhbHVlLCB0aGlzLmluaXRpYWxWYWx1ZSkgPyB0aGlzLm1hcmtBc1NhdmVkKCkgOiB0aGlzLm1hcmtBc1Vuc2F2ZWQoKTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHVwZ3JhZGVkIHZlcnNpb24gb2YgcGF0Y2hWYWx1ZSB0byBza2lwIGR1cGxpY2F0ZWQgY2hhbmdlc1xuICAgKi9cbiAgcGF0Y2hGaWVsZChuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5nZXQobmFtZSk7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQFRPRE8gcmVtb3ZlIHdoZW4gYWxsIG51bWJlciBmaWVsZHMgcmVmYWN0b3JlZCB0byBwcmltZSBpbnB1dG51bWJlclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIG5hbWUgIT09ICdhbW91bnQnKSB7XG4gICAgICB2YWx1ZSA9ICt2YWx1ZS50b0ZpeGVkKDIpO1xuICAgIH1cblxuICAgIGNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBmaWVsZENoYW5nZWQobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG5hbWUpLnZhbHVlICE9PSB0aGlzLmluaXRpYWxWYWx1ZVtuYW1lXTtcbiAgfVxuXG4gIGFkZFZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdLCBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gPSBbXSk6IHZvaWQge1xuICAgIGlmICghY29udHJvbHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc3VwZXIuYWRkVmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10sIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdKTogdm9pZCB7XG4gICAgaWYgKCFjb250cm9scy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdXBlci5yZW1vdmVWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfSk7XG4gIH1cblxuICBkaXNhYmxlKG9wdHM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgfSwgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdID0gW10pOiB2b2lkIHtcbiAgICBpZiAoIWNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmRpc2FibGUob3B0cyk7XG4gICAgfVxuXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wuZGlzYWJsZShvcHRzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGVuYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW47IH0sIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdKTogdm9pZCB7XG4gICAgaWYgKCFjb250cm9scy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdXBlci5lbmFibGUob3B0cyk7XG4gICAgfVxuXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wuZW5hYmxlKG9wdHMpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9hYnN0cmFjdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEUsU0FBUyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVakQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQWdCLFlBQTRFLFNBQVEsU0FBbUI7YUFDcEgsbUJBQWMsR0FBRyxFQUFFLEFBQUwsQ0FBTTtJQW1CM0IsWUFDRSxRQUFrQjtJQUNsQix1REFBdUQ7SUFDdkQsS0FBYSxFQUNiLGVBQTZFLEVBQzdFLGNBQTZEO1FBRTdELEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBcEJ6Qyw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFLMUM7OztXQUdHO1FBQ0gsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFVakQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDakQsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUE4QixDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUvQixJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBeUI7UUFDMUMsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN4RDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7U0FDOUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBZSxFQUFFLEVBQUUscUJBQXFCLEdBQUcsS0FBSztRQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEUsTUFBTSxLQUFLLEdBQVUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFMUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxPQUF5QixFQUFFLE9BQWlDO1FBQ25GLHNDQUFzQztRQUN0QywwREFBMEQ7UUFDMUQsa0RBQWtEO1FBQ2xELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbkI7UUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE9BQWUsRUFBRTtRQUNuQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzdDLE9BQU87YUFDUjtZQUVELE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFFRCxzRUFBc0U7UUFDdEUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsRCxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxhQUFhLENBQUMsVUFBdUMsRUFBRSxXQUE4QixFQUFFO1FBQ3JGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3BCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4QztRQUVELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBdUMsRUFBRSxXQUE4QixFQUFFO1FBQ3hGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3BCLE9BQU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFtRCxFQUFFLFdBQThCLEVBQUU7UUFDM0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVCO1FBRUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFtRCxFQUFFLFdBQThCLEVBQUU7UUFDMUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO1FBRUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFzQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sYUFBYSxDQUNsQixRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQWJzdHJhY3RDb250cm9sT3B0aW9ucywgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBEZWZhdWx0IENvbnRyb2xzIEludGVyZmFjZSB3aXRoIGxvb3NlIHR5cGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xzSW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55Pjtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBmb3JtIGNsYXNzXG4gKiBAVE9ETyByZW5hbWUgdG8gQWJzdHJhY3RGb3JtR3JvdXBcbiAqIEBUT0RPIEFsZXggVFQtMjE5MDogcmVmYWN0b3I6IGNoZWNrIGFuZCBpbXByb3ZlIGxvZ2ljXG4gKiBAVE9ETyBNb2RlbCBleHRlbmRzIEFic3RyYWN0TW9kZWxcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Rm9ybTxNb2RlbCwgQ29udHJvbHMgZXh0ZW5kcyBDb250cm9sc0ludGVyZmFjZSA9IENvbnRyb2xzSW50ZXJmYWNlPiBleHRlbmRzIEZvcm1Hcm91cDxDb250cm9scz4ge1xuICBzdGF0aWMgaW5wdXRNYXhMZW5ndGggPSAzMDtcbiAgLyoqXG4gICAqIEluaXRpYWwgZm9ybSB2YWx1ZSBmb3IgY29tcGFyaXNvbiB3aXRoIGNoYW5nZXMgdG8gY2hlY2sgc2F2ZWQvdW5zYXZlZCBzdGF0ZVxuICAgKiBAVE9ETyB0eXBlaGludCB0byBtb2RlbCBpbnRlcmZhY2Ugd2hlbiBhbGwgZGIvbW9kZWxzIG1pZ3JhdGVkIHRvIGludGVyZmFjZXNcbiAgICovXG4gIGluaXRpYWxWYWx1ZTtcbiAgcHJvdGVjdGVkIGV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzID0gZmFsc2U7XG4gIHByb3RlY3RlZCBtb2RlbENsYXNzOiBUeXBlPE1vZGVsPjtcbiAgbW9kZWw6IE1vZGVsO1xuICBzdWJtaXR0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXggYmFkIG5hbWUsIGl0J3MgYWxzbyBhYm91dCB1bmNoYW5nZWRcbiAgICogRmxhZyBkaXNwbGF5IGlmIHNvbWUgZm9ybSB2YWx1ZXMgY2hhbmdlZFxuICAgKi9cbiAgdW5zYXZlZCA9IGZhbHNlO1xuXG4gIG9uU3VibWl0OiBFdmVudEVtaXR0ZXI8TW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBjb250cm9sczogQ29udHJvbHMsXG4gICAgLy8gQFRPRE8gdmlrIHJlcXVpcmVkLCBvdGhlcndpc2UgbW9kZWxDbGFzcyB3b24ndCBleGlzdFxuICAgIG1vZGVsPzogTW9kZWwsXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsIHx8IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSgpO1xuICAgIC8vIEBUT0RPIEFsZXggbm8gaWRlYSBob3cgaXQgd29ya3MsIHNpbmNlIG1vZGVsQ2xhc3MgdXNlZCBpbiBjcmVhdGVNb2RlbEluc3RhbmNlXG4gICAgdGhpcy5tb2RlbENsYXNzID0gdGhpcy5tb2RlbC5jb25zdHJ1Y3RvciBhcyBuZXcgKCkgPT4gTW9kZWw7XG4gICAgdGhpcy5pbml0aWFsVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgaWYgKG1vZGVsICYmICFtb2RlbFsnaWQnXSkge1xuICAgICAgdGhpcy5tYXJrQXNVbnNhdmVkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBzYXZlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMudW5zYXZlZDtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgdGhpcy5nZXRSYXdWYWx1ZSgpKSk7XG4gIH1cblxuICB0b2dnbGVFbmFibGVkU3RhdGUoY29udHJvbD86IEFic3RyYWN0Q29udHJvbCk6IHZvaWQge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLmVuYWJsZWQgPyBjb250cm9sLmRpc2FibGUoKSA6IGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5hYmxlZCA/IHRoaXMuZGlzYWJsZSgpIDogdGhpcy5lbmFibGUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB2YWxpZGF0aW9uIGFuZCByZXR1cm4gYSBuZXcgaW5zdGFuY2Ugb2YgZ2VuZXJpYyBtb2RlbC5cbiAgICogTWVyZ2UgZm9ybSB2YWx1ZSB0byBpbml0aWFsIG9iamVjdFxuICAgKiBAcGFyYW0gZGF0YSBBZGRpdGlvbmFsIGRhdGEgb2JqZWN0IHdoaWNoIGJlIG1lcmdlZCB0byBmb3JtIHZhbHVlXG4gICAqIEBwYXJhbSBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgaWdub3JlIGRpc2FibGVkIGZpZWxkc1xuICAgKi9cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9LCBpbmNsdWRlRGlzYWJsZWRGaWVsZHMgPSBmYWxzZSk6IE1vZGVsIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gaW5jbHVkZURpc2FibGVkRmllbGRzID8gdGhpcy5nZXRSYXdWYWx1ZSgpIDogdGhpcy52YWx1ZTtcbiAgICBjb25zdCBtb2RlbDogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgdmFsdWUsIGRhdGEpKTtcblxuICAgIHRoaXMub25TdWJtaXQuZW1pdChtb2RlbCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgYWRkQ29udHJvbChuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IENvbnRyb2xzW3N0cmluZ10sIG9wdGlvbnM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSk6IHRoaXMge1xuICAgIC8vIGtlZXAgZm9ybSBzdGF0ZSAoZW5hYmxlZC9kaXNhYmxlZCkuXG4gICAgLy8gYWRkQ29udHJvbCBlbmFibGVzIGZvcm0gd2hlbiBhZGRlZCBlbmFibGVkIGZvcm0gY29udHJvbFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIzMjM2XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIHN1cGVyLmFkZENvbnRyb2wobmFtZSwgY29udHJvbCwgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG1hcmtBc1Vuc2F2ZWQoKTogdm9pZCB7XG4gICAgdGhpcy51bnNhdmVkID0gdHJ1ZTtcbiAgfVxuXG4gIG1hcmtBc1NhdmVkKCk6IHZvaWQge1xuICAgIHRoaXMudW5zYXZlZCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHVzZSBleGNsdWRlRXh0cmFuZW91c1ZhbHVlcyB3aGVuIGFsbCBtb2RlbHMgcmVmYWN0b3JlZCAoZXhwb3NlZCBhbGwgbmVlZGVkIHByb3BlcnRpZXMpXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqL1xuICBjcmVhdGVNb2RlbEluc3RhbmNlKGRhdGE6IG9iamVjdCA9IHt9KTogTW9kZWwge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3ModGhpcy5tb2RlbENsYXNzLCBkYXRhLCB7IGV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzOiB0aGlzLmV4Y2x1ZGVFeHRyYW5lb3VzVmFsdWVzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXQgY3VycmVudCBmb3JtIHZhbHVlc1xuICAgKi9cbiAgZW1pdFZhbHVlcygpOiB2b2lkIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgaWYgKFtudWxsLCB1bmRlZmluZWRdLmluY2x1ZGVzKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IGZhbHNlLCBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZhbHVlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgISF0aGlzLm1vZGVsICYmICEhdGhpcy5tb2RlbFsnaWQnXSAmJiBpc0VxdWFsKHRoaXMudmFsdWUsIHRoaXMuaW5pdGlhbFZhbHVlKSA/IHRoaXMubWFya0FzU2F2ZWQoKSA6IHRoaXMubWFya0FzVW5zYXZlZCgpO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdXBncmFkZWQgdmVyc2lvbiBvZiBwYXRjaFZhbHVlIHRvIHNraXAgZHVwbGljYXRlZCBjaGFuZ2VzXG4gICAqL1xuICBwYXRjaEZpZWxkKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmdldChuYW1lKTtcbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyByZW1vdmUgd2hlbiBhbGwgbnVtYmVyIGZpZWxkcyByZWZhY3RvcmVkIHRvIHByaW1lIGlucHV0bnVtYmVyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgbmFtZSAhPT0gJ2Ftb3VudCcpIHtcbiAgICAgIHZhbHVlID0gK3ZhbHVlLnRvRml4ZWQoMik7XG4gICAgfVxuXG4gICAgY29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGZpZWxkQ2hhbmdlZChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQobmFtZSkudmFsdWUgIT09IHRoaXMuaW5pdGlhbFZhbHVlW25hbWVdO1xuICB9XG5cbiAgYWRkVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10sIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSA9IFtdKTogdm9pZCB7XG4gICAgaWYgKCFjb250cm9scy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdXBlci5hZGRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSwgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdID0gW10pOiB2b2lkIHtcbiAgICBpZiAoIWNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHN1cGVyLnJlbW92ZVZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgfVxuXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRpc2FibGUob3B0cz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuOyB9LCBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gPSBbXSk6IHZvaWQge1xuICAgIGlmICghY29udHJvbHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc3VwZXIuZGlzYWJsZShvcHRzKTtcbiAgICB9XG5cbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgY29udHJvbC5kaXNhYmxlKG9wdHMpO1xuICAgIH0pO1xuICB9XG5cbiAgZW5hYmxlKG9wdHM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbjsgfSwgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdID0gW10pOiB2b2lkIHtcbiAgICBpZiAoIWNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmVuYWJsZShvcHRzKTtcbiAgICB9XG5cbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgY29udHJvbC5lbmFibGUob3B0cyk7XG4gICAgfSk7XG4gIH1cblxuICBjb250cm9sc0NoYW5nZXMoY29udHJvbE5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgY29udHJvbHMgPSBjb250cm9sTmFtZXMubWFwKGNvbnRyb2xOYW1lID0+IHRoaXMuZ2V0KGNvbnRyb2xOYW1lKSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgIGNvbnRyb2xzLm1hcChjb250cm9sID0+IGNvbnRyb2wudmFsdWVDaGFuZ2VzKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -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=
|