taxtank-core 0.33.115 → 0.33.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/esm2022/common/public-api.mjs +4 -0
- package/esm2022/common/src/common.module.mjs +38 -0
- package/esm2022/common/src/db/enums/index.mjs +2 -0
- package/esm2022/common/src/db/enums/user/index.mjs +2 -0
- package/esm2022/common/src/db/enums/user/user-roles.enum.mjs +18 -0
- package/esm2022/common/src/db/index.mjs +2 -0
- package/esm2022/common/src/interceptors/interceptors.module.mjs +28 -0
- package/esm2022/common/src/interceptors/jwt-interceptor.mjs +138 -0
- package/esm2022/common/src/services/auth/auth-messages.enum.mjs +5 -0
- package/esm2022/common/src/services/auth/auth-tokens.interface.mjs +2 -0
- package/esm2022/common/src/services/auth/auth.service.mjs +56 -0
- package/esm2022/common/src/services/auth/index.mjs +6 -0
- package/esm2022/common/src/services/auth/jwt-decoded.interface.mjs +2 -0
- package/esm2022/common/src/services/auth/jwt.service.mjs +52 -0
- package/esm2022/common/src/services/index.mjs +3 -0
- package/esm2022/common/src/services/mixpanel.service.mjs +60 -0
- package/esm2022/common/taxtank-core-common.mjs +5 -0
- package/esm2022/public-api.mjs +188 -0
- package/esm2022/src/lib/collections/account-setup-item.collection.mjs +12 -0
- package/esm2022/src/lib/collections/allocation-group.collection.mjs +9 -0
- package/esm2022/src/lib/collections/allocation-rule.collection.mjs +26 -0
- package/esm2022/src/lib/collections/asset-sale.collection.mjs +59 -0
- package/esm2022/src/lib/collections/bank-account.collection.mjs +120 -0
- package/esm2022/src/lib/collections/bank-transaction.collection.mjs +131 -0
- package/esm2022/src/lib/collections/chart-accounts/chart-accounts-value.collection.mjs +20 -0
- package/esm2022/src/lib/collections/chart-accounts/index.mjs +2 -0
- package/esm2022/src/lib/collections/chart-accounts.collection.mjs +26 -0
- package/esm2022/src/lib/collections/chat/chat.collection.mjs +8 -0
- package/esm2022/src/lib/collections/chat/index.mjs +4 -0
- package/esm2022/src/lib/collections/chat/message-document.collection.mjs +13 -0
- package/esm2022/src/lib/collections/chat/message.collection.mjs +31 -0
- package/esm2022/src/lib/collections/client-invite.collection.mjs +7 -0
- package/esm2022/src/lib/collections/client-movement.collection.mjs +48 -0
- package/esm2022/src/lib/collections/client-portfolio-report.collection.mjs +40 -0
- package/esm2022/src/lib/collections/client.collection.mjs +4 -0
- package/esm2022/src/lib/collections/collection-dictionary.mjs +124 -0
- package/esm2022/src/lib/collections/collection.mjs +176 -0
- package/esm2022/src/lib/collections/depreciation-forecast.collection.mjs +19 -0
- package/esm2022/src/lib/collections/depreciation.collection.mjs +112 -0
- package/esm2022/src/lib/collections/exportable.collection.mjs +19 -0
- package/esm2022/src/lib/collections/firm/employee-invite.collection.mjs +10 -0
- package/esm2022/src/lib/collections/firm/employee.collection.mjs +18 -0
- package/esm2022/src/lib/collections/firm/index.mjs +3 -0
- package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +41 -0
- package/esm2022/src/lib/collections/holding/holding-trade.collection.mjs +81 -0
- package/esm2022/src/lib/collections/holding/holding-type.collection.mjs +13 -0
- package/esm2022/src/lib/collections/holding/holding.collection.mjs +43 -0
- package/esm2022/src/lib/collections/holding/index.mjs +5 -0
- package/esm2022/src/lib/collections/home-office/home-office-claim.collection.mjs +7 -0
- package/esm2022/src/lib/collections/home-office/index.mjs +2 -0
- package/esm2022/src/lib/collections/income-source/income-source-forecast.collection.mjs +11 -0
- package/esm2022/src/lib/collections/income-source/income-source.collection.mjs +43 -0
- package/esm2022/src/lib/collections/income-source/index.mjs +3 -0
- package/esm2022/src/lib/collections/index.mjs +37 -0
- package/esm2022/src/lib/collections/loan/index.mjs +3 -0
- package/esm2022/src/lib/collections/loan/loan-payment.collection.mjs +40 -0
- package/esm2022/src/lib/collections/loan/loan.collection.mjs +46 -0
- package/esm2022/src/lib/collections/property/index.mjs +7 -0
- package/esm2022/src/lib/collections/property/property-category-movement.collection.mjs +23 -0
- package/esm2022/src/lib/collections/property/property-sale/index.mjs +3 -0
- package/esm2022/src/lib/collections/property/property-sale/property-sale-tax-exemption-meta-field.collection.mjs +17 -0
- package/esm2022/src/lib/collections/property/property-sale/property-sale.collection.mjs +13 -0
- package/esm2022/src/lib/collections/property/property-share.collection.mjs +20 -0
- package/esm2022/src/lib/collections/property/property-valuation.collection.mjs +14 -0
- package/esm2022/src/lib/collections/property/property.collection.mjs +113 -0
- package/esm2022/src/lib/collections/property/tax-exemption.collection.mjs +11 -0
- package/esm2022/src/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.mjs +12 -0
- package/esm2022/src/lib/collections/report/depreciation/depreciation-report-item.collection.mjs +12 -0
- package/esm2022/src/lib/collections/report/income-expense/transaction-report-item.collection.mjs +30 -0
- package/esm2022/src/lib/collections/report/index.mjs +8 -0
- package/esm2022/src/lib/collections/report/property/property-report-item-depreciation.collection.mjs +21 -0
- package/esm2022/src/lib/collections/report/property/property-report-item-transaction.collection.mjs +21 -0
- package/esm2022/src/lib/collections/report/property/property-report-item.collection.mjs +13 -0
- package/esm2022/src/lib/collections/report/vehicle-expense/vehicle-expense.collection.mjs +17 -0
- package/esm2022/src/lib/collections/sole/index.mjs +4 -0
- package/esm2022/src/lib/collections/sole/sole-business-loss.collection.mjs +41 -0
- package/esm2022/src/lib/collections/sole/sole-invoice-item.collection.mjs +10 -0
- package/esm2022/src/lib/collections/sole/sole-invoice.collection.mjs +40 -0
- package/esm2022/src/lib/collections/subscription/index.mjs +5 -0
- package/esm2022/src/lib/collections/subscription/service-price.collection.mjs +50 -0
- package/esm2022/src/lib/collections/subscription/service-product.collection.mjs +11 -0
- package/esm2022/src/lib/collections/subscription/service-subscription.collection.mjs +58 -0
- package/esm2022/src/lib/collections/subscription/subscription-item.collection.mjs +17 -0
- package/esm2022/src/lib/collections/tax-review.collection.mjs +47 -0
- package/esm2022/src/lib/collections/tax-summary/index.mjs +3 -0
- package/esm2022/src/lib/collections/tax-summary/report-item.collection.mjs +101 -0
- package/esm2022/src/lib/collections/tax-summary/tax-return-categories.const.mjs +113 -0
- package/esm2022/src/lib/collections/transaction/index.mjs +4 -0
- package/esm2022/src/lib/collections/transaction/transaction-allocation.collection.mjs +39 -0
- package/esm2022/src/lib/collections/transaction/transaction-base.collection.mjs +4 -0
- package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +235 -0
- package/esm2022/src/lib/collections/user/user.collection.mjs +4 -0
- package/esm2022/src/lib/collections/user-event-setting.collection.mjs +10 -0
- package/esm2022/src/lib/collections/user-event-type-collection.mjs +11 -0
- package/esm2022/src/lib/collections/vehicle/best-vehicle-logbook.collection.mjs +94 -0
- package/esm2022/src/lib/collections/vehicle/index.mjs +4 -0
- package/esm2022/src/lib/collections/vehicle/vehicle-claim.collection.mjs +25 -0
- package/esm2022/src/lib/collections/vehicle/vehicle-logbook.collection.mjs +43 -0
- package/esm2022/src/lib/core.module.mjs +25 -0
- package/esm2022/src/lib/db/Enums/address-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/annual-frequency.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-comparison-operator.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-field.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-operator.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/index.mjs +5 -0
- package/esm2022/src/lib/db/Enums/bank/bank-account-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +13 -0
- package/esm2022/src/lib/db/Enums/bank/bank-connection-status.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/bank/bank-popular.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/bank/bank-provider.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/bank/bank-transaction-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/index.mjs +8 -0
- package/esm2022/src/lib/db/Enums/bank/loan/index.mjs +11 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-bank-type.enum.mjs +12 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-frequency.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-interest-type-label.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-interest-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-payout-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-frequency.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-type-label.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-type.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-vehicle-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/business-chart-accounts.enum.mjs +48 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-adjustment-included-list.enum.mjs +19 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-category.enum.mjs +20 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-etp.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-list.enum.mjs +50 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-tax-deductible.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-taxable.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-vehicle-list.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-holding-untaxed-income-list.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-keep-sign.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-list.enum.mjs +62 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-meta-field-list.enum.mjs +19 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-meta-field-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-property-adjustments-list.enum.mjs +50 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-salary-adjustments-list.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/index.mjs +17 -0
- package/esm2022/src/lib/db/Enums/chat-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/client-details-medicare-exemption.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/client/client-details-work-depreciation-calculation.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/client-details-working-holiday-maker.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/client/client-invite-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/client-invite-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/index.mjs +7 -0
- package/esm2022/src/lib/db/Enums/client/timezone.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/depreciation-calculation-percent.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/depreciation-calculation.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/depreciation-type.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/depreciation-write-off-amount.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/document-type.enum.mjs +5 -0
- package/esm2022/src/lib/db/Enums/file-type.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/firm/employee-invite-role.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/firm/firm-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/firm/index.mjs +3 -0
- 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 +18 -0
- package/esm2022/src/lib/db/Enums/holding/holding-type-exchange-list.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/holding/index.mjs +4 -0
- package/esm2022/src/lib/db/Enums/home-office/home-office-claim-method.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/home-office/index.mjs +2 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-forecast-trust-type.enum.mjs +15 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-holding.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-other.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-sole.enum.mjs +5 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-work.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/income-source/index.mjs +7 -0
- package/esm2022/src/lib/db/Enums/index.mjs +13 -0
- package/esm2022/src/lib/db/Enums/invite-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/phone-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/property/property-category-list.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/property/property-depreciation-calculation.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/property/property-sale/tax-exemption-meta-field.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/property/property-sale/tax-exemption.enum.mjs +12 -0
- package/esm2022/src/lib/db/Enums/property/property-share-access.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/property/property-share-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/registration-invite-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/salary-forecast-frequency.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/service-notification-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/service-notification-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/setup-item-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/sole/index.mjs +6 -0
- package/esm2022/src/lib/db/Enums/sole/sole-depreciation-method.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-state.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-statuses.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-tax-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-template-tax-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/spare-document-spare-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/index.mjs +2 -0
- package/esm2022/src/lib/db/Enums/subscription/service-payment-method-card-brand.enum.mjs +12 -0
- package/esm2022/src/lib/db/Enums/subscription/service-payment-method-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/service-payment-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/service-price-list.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/subscription/service-price-recurring-interval.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/subscription/service-price-type.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/subscription/service-product-id.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/subscription/service-product-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/service-subscription-status.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/tank-type.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/tax-calculation-medicare-exemption.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/tax-calculation-type.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/tax-return/index.mjs +4 -0
- package/esm2022/src/lib/db/Enums/tax-return/tax-return-category-list.enum.mjs +66 -0
- package/esm2022/src/lib/db/Enums/tax-return/tax-return-category-section.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/tax-return/tax-return-item.enum.mjs +20 -0
- package/esm2022/src/lib/db/Enums/tax-review-status.enum.mjs +13 -0
- package/esm2022/src/lib/db/Enums/tax-summary-list.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/tax-summary-section.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/tax-summary-tax-summary.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/ticket-feedback.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/ticket-status.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/ticket-types.enum.mjs +5 -0
- package/esm2022/src/lib/db/Enums/transaction-operation.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/transaction-source.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/transaction-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/user/gender.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/user/index.mjs +2 -0
- package/esm2022/src/lib/db/Enums/user-event-status.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/user-event-type-client-type.enum.mjs +29 -0
- package/esm2022/src/lib/db/Enums/user-event-type-employee-type.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/user-event-type-frequency.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-event-type-type.enum.mjs +53 -0
- package/esm2022/src/lib/db/Enums/user-event-type-user-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-medicare-exemption.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-title.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/user-work-depreciation-calculation.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/user-working-holiday-maker.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/vehicle-claim-details-method.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/vehicle-logbook-purpose.enum.mjs +6 -0
- package/esm2022/src/lib/db/Json/chart-accounts/chart-accounts-value.json +530 -0
- package/esm2022/src/lib/db/Json/holding/holding-type-exchange.json +79 -0
- package/esm2022/src/lib/db/Json/income-source/income_source_type.json +62 -0
- package/esm2022/src/lib/db/Json/property/tax-exemption.json +47 -0
- package/esm2022/src/lib/db/Json/tax-return/tax-return-item.json +1778 -0
- package/esm2022/src/lib/db/Models/abstract-model.mjs +17 -0
- package/esm2022/src/lib/db/Models/address.mjs +4 -0
- package/esm2022/src/lib/db/Models/bank/bank-account-balance.mjs +9 -0
- package/esm2022/src/lib/db/Models/bank/bank-account-property.mjs +9 -0
- package/esm2022/src/lib/db/Models/bank/bank-account.mjs +10 -0
- package/esm2022/src/lib/db/Models/bank/bank-connection.mjs +5 -0
- package/esm2022/src/lib/db/Models/bank/bank-transaction-import.mjs +4 -0
- package/esm2022/src/lib/db/Models/bank/bank-transaction.mjs +5 -0
- package/esm2022/src/lib/db/Models/bank/bank.mjs +4 -0
- package/esm2022/src/lib/db/Models/bank/basiq-job-step.enum.mjs +8 -0
- package/esm2022/src/lib/db/Models/bank/basiq-job.mjs +4 -0
- package/esm2022/src/lib/db/Models/budget/budget-rule.mjs +4 -0
- package/esm2022/src/lib/db/Models/budget/budget.mjs +4 -0
- package/esm2022/src/lib/db/Models/budget/index.mjs +3 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-depreciation.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-heading.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-value.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts.mjs +4 -0
- package/esm2022/src/lib/db/Models/client/annual-client-details.mjs +3 -0
- package/esm2022/src/lib/db/Models/client/client-details.mjs +4 -0
- package/esm2022/src/lib/db/Models/client/index.mjs +4 -0
- package/esm2022/src/lib/db/Models/client/occupation.mjs +4 -0
- package/esm2022/src/lib/db/Models/country.mjs +4 -0
- package/esm2022/src/lib/db/Models/depreciation/depreciation-capital-project.mjs +4 -0
- package/esm2022/src/lib/db/Models/depreciation/depreciation-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/depreciation/depreciation.mjs +10 -0
- package/esm2022/src/lib/db/Models/document/document-folder.mjs +4 -0
- package/esm2022/src/lib/db/Models/document/folder-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/document/property-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/file.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/accountant/tax-review.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/accountant/ticket.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/chat.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/client-invite.mjs +5 -0
- package/esm2022/src/lib/db/Models/firm/client-movement.mjs +5 -0
- package/esm2022/src/lib/db/Models/firm/employee-invite.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/firm-invite.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/firm.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/message-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/message.mjs +5 -0
- package/esm2022/src/lib/db/Models/holding/holding-sale.mjs +3 -0
- 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/holding-type-exchange.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-type.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/index.mjs +5 -0
- package/esm2022/src/lib/db/Models/incomeSource/income-source-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/incomeSource/income-source-type.mjs +4 -0
- package/esm2022/src/lib/db/Models/incomeSource/income-source.mjs +4 -0
- package/esm2022/src/lib/db/Models/incomeSource/salary-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/index.mjs +96 -0
- package/esm2022/src/lib/db/Models/loan/borrowing-expense-loan.mjs +4 -0
- package/esm2022/src/lib/db/Models/loan/borrowing-expense.mjs +4 -0
- package/esm2022/src/lib/db/Models/loan/loan-payout.mjs +13 -0
- package/esm2022/src/lib/db/Models/loan/loan.mjs +22 -0
- package/esm2022/src/lib/db/Models/observable-model.mjs +14 -0
- package/esm2022/src/lib/db/Models/phone.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/borrowing-report.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-category-movement.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property-category.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-sale/property-sale.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-sale/tax-exemption.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-share.mjs +10 -0
- package/esm2022/src/lib/db/Models/property/property-subscription.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-valuation.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property.mjs +30 -0
- package/esm2022/src/lib/db/Models/service-notification.mjs +4 -0
- package/esm2022/src/lib/db/Models/setup-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/bas-report.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-activity.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-allocation.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-loss-offset-rule.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-loss.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business.mjs +5 -0
- package/esm2022/src/lib/db/Models/sole/sole-contact.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-depreciation-method.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-details.mjs +5 -0
- package/esm2022/src/lib/db/Models/sole/sole-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-invoice-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-invoice-template.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-invoice.mjs +4 -0
- package/esm2022/src/lib/db/Models/spare/spare-document-category.mjs +4 -0
- package/esm2022/src/lib/db/Models/spare/spare-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-payment-method.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-payment.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-price.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-product.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-subscription-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-subscription.mjs +5 -0
- package/esm2022/src/lib/db/Models/tax-calculation.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/index.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/tax-return-category.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/tax-return-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/tax-return.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule-condition.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule-transaction.mjs +5 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/transaction-allocation.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +88 -0
- package/esm2022/src/lib/db/Models/transaction/transaction-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/transaction.mjs +5 -0
- package/esm2022/src/lib/db/Models/user/employee-details.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/registration-invite.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event-setting.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event-type-category.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event-type.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user.mjs +5 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle-claim-details.mjs +4 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle-claim.mjs +5 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle-logbook.mjs +4 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle.mjs +4 -0
- package/esm2022/src/lib/db-static/chart-accounts/chart-accounts-values.mjs +9 -0
- package/esm2022/src/lib/forms/abstract.form.mjs +163 -0
- package/esm2022/src/lib/forms/address/address.form.mjs +188 -0
- package/esm2022/src/lib/forms/address/index.mjs +2 -0
- package/esm2022/src/lib/forms/aussie/aussie-appointment.form.mjs +19 -0
- package/esm2022/src/lib/forms/aussie/aussie-confirmation.form.mjs +12 -0
- package/esm2022/src/lib/forms/aussie/aussie-store.form.mjs +27 -0
- package/esm2022/src/lib/forms/aussie/index.mjs +4 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-add-manual.form.mjs +45 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-allocation.form.mjs +45 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-import.form.mjs +24 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-properties.form.mjs +63 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-accounts-import.form.mjs +50 -0
- package/esm2022/src/lib/forms/budget/budget.form.mjs +69 -0
- package/esm2022/src/lib/forms/budget/index.mjs +2 -0
- package/esm2022/src/lib/forms/chart-accounts/chart-accounts.form.mjs +14 -0
- package/esm2022/src/lib/forms/chart-accounts/index.mjs +2 -0
- package/esm2022/src/lib/forms/chat/chat-filter.form.mjs +36 -0
- package/esm2022/src/lib/forms/chat/index.mjs +2 -0
- package/esm2022/src/lib/forms/client/annual-client-details.form.mjs +38 -0
- package/esm2022/src/lib/forms/client/capital-loss.form.mjs +13 -0
- package/esm2022/src/lib/forms/client/index.mjs +3 -0
- package/esm2022/src/lib/forms/collection.form.mjs +29 -0
- package/esm2022/src/lib/forms/depreciation/depreciation.form.mjs +48 -0
- package/esm2022/src/lib/forms/depreciation/index.mjs +2 -0
- package/esm2022/src/lib/forms/document-folder/document-folder.form.mjs +11 -0
- package/esm2022/src/lib/forms/document-folder/document.form.mjs +11 -0
- package/esm2022/src/lib/forms/document-folder/index.mjs +3 -0
- package/esm2022/src/lib/forms/firm/client-invite-put.form.mjs +13 -0
- package/esm2022/src/lib/forms/firm/client-invite.form.mjs +18 -0
- package/esm2022/src/lib/forms/firm/client-movement.form.mjs +22 -0
- package/esm2022/src/lib/forms/firm/employee-details.form.mjs +21 -0
- package/esm2022/src/lib/forms/firm/employee-invite.form.mjs +24 -0
- package/esm2022/src/lib/forms/firm/firm-branch.form.mjs +13 -0
- package/esm2022/src/lib/forms/firm/firm-invite.form.mjs +18 -0
- package/esm2022/src/lib/forms/firm/firm.form.mjs +18 -0
- package/esm2022/src/lib/forms/firm/index.mjs +9 -0
- package/esm2022/src/lib/forms/form-validations.enum.mjs +12 -0
- package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +85 -0
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade-filter.form.mjs +44 -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/holding-type.form.mjs +16 -0
- package/esm2022/src/lib/forms/holding/index.mjs +5 -0
- package/esm2022/src/lib/forms/home-office/home-office-calculator.form.mjs +32 -0
- package/esm2022/src/lib/forms/home-office/home-office-claim.form.mjs +43 -0
- package/esm2022/src/lib/forms/home-office/home-office-log.form.mjs +15 -0
- package/esm2022/src/lib/forms/home-office/index.mjs +4 -0
- package/esm2022/src/lib/forms/index.mjs +32 -0
- package/esm2022/src/lib/forms/loan/index.mjs +2 -0
- package/esm2022/src/lib/forms/loan/loan.form.mjs +86 -0
- package/esm2022/src/lib/forms/login/login.form.mjs +11 -0
- package/esm2022/src/lib/forms/phone/index.mjs +2 -0
- package/esm2022/src/lib/forms/phone/phone.form.mjs +18 -0
- package/esm2022/src/lib/forms/property/borrowing-report.form.mjs +32 -0
- package/esm2022/src/lib/forms/property/index.mjs +10 -0
- package/esm2022/src/lib/forms/property/property-add.form.mjs +58 -0
- package/esm2022/src/lib/forms/property/property-category-movement-form.mjs +21 -0
- package/esm2022/src/lib/forms/property/property-document.form.mjs +14 -0
- package/esm2022/src/lib/forms/property/property-edit.form.mjs +17 -0
- package/esm2022/src/lib/forms/property/property-forecast.form.mjs +28 -0
- package/esm2022/src/lib/forms/property/property-sale/index.mjs +4 -0
- package/esm2022/src/lib/forms/property/property-sale/property-sale-cost-base.form.mjs +38 -0
- package/esm2022/src/lib/forms/property/property-sale/property-sale-cost-sale.form.mjs +66 -0
- package/esm2022/src/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +107 -0
- package/esm2022/src/lib/forms/property/property-share.form.mjs +16 -0
- package/esm2022/src/lib/forms/property/property-valuation.form.mjs +40 -0
- package/esm2022/src/lib/forms/register/register-client.form.mjs +22 -0
- package/esm2022/src/lib/forms/register/register-firm.form.mjs +22 -0
- package/esm2022/src/lib/forms/report/my-tax/index.mjs +17 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.mjs +31 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.mjs +81 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.mjs +14 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.mjs +79 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-cgt.form.mjs +30 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-deductions.form.mjs +85 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-dividends.form.mjs +23 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-income-statements.form.mjs +108 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-income-tests.form.mjs +10 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-interest.form.mjs +12 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-losses.form.mjs +11 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-medicare.form.mjs +38 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-offsets.form.mjs +10 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-other-income.form.mjs +43 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.mjs +37 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-rent.form.mjs +13 -0
- package/esm2022/src/lib/forms/sole/bas-report.form.mjs +63 -0
- package/esm2022/src/lib/forms/sole/index.mjs +12 -0
- package/esm2022/src/lib/forms/sole/invoice-payment.form.mjs +14 -0
- package/esm2022/src/lib/forms/sole/sole-business-allocations.form.mjs +64 -0
- package/esm2022/src/lib/forms/sole/sole-business-loss.form.mjs +24 -0
- package/esm2022/src/lib/forms/sole/sole-business.form.mjs +70 -0
- package/esm2022/src/lib/forms/sole/sole-contact.form.mjs +20 -0
- package/esm2022/src/lib/forms/sole/sole-depreciation-method.form.mjs +10 -0
- package/esm2022/src/lib/forms/sole/sole-details.form.mjs +12 -0
- package/esm2022/src/lib/forms/sole/sole-invoice-item.form.mjs +15 -0
- package/esm2022/src/lib/forms/sole/sole-invoice-template.form.mjs +15 -0
- package/esm2022/src/lib/forms/sole/sole-invoice.form.mjs +158 -0
- package/esm2022/src/lib/forms/tax-review/index.mjs +3 -0
- package/esm2022/src/lib/forms/tax-review/tax-review-filter-status.enum.mjs +6 -0
- package/esm2022/src/lib/forms/tax-review/tax-review-filter.form.mjs +49 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule-condition.form.mjs +16 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule-transaction-meta-field.form.mjs +12 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule-transaction.form.mjs +146 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule.form.mjs +188 -0
- package/esm2022/src/lib/forms/transaction/holding/holding-income.form.mjs +59 -0
- package/esm2022/src/lib/forms/transaction/index.mjs +9 -0
- package/esm2022/src/lib/forms/transaction/messages.enum.mjs +5 -0
- package/esm2022/src/lib/forms/transaction/sole/sole-income.form.mjs +17 -0
- package/esm2022/src/lib/forms/transaction/sole/sole-transaction.form.mjs +7 -0
- package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +48 -0
- package/esm2022/src/lib/forms/transaction/transaction-base.form.mjs +98 -0
- package/esm2022/src/lib/forms/transaction/transaction.form.mjs +62 -0
- package/esm2022/src/lib/forms/transaction/work/work-expense.form.mjs +46 -0
- package/esm2022/src/lib/forms/transaction/work/work-income.form.mjs +90 -0
- package/esm2022/src/lib/forms/transaction/work/work-transaction.form.mjs +38 -0
- package/esm2022/src/lib/forms/user/client-details.form.mjs +35 -0
- package/esm2022/src/lib/forms/user/index.mjs +6 -0
- package/esm2022/src/lib/forms/user/password.form.mjs +14 -0
- package/esm2022/src/lib/forms/user/reset-password.form.mjs +11 -0
- package/esm2022/src/lib/forms/user/user-invite.form.mjs +17 -0
- package/esm2022/src/lib/forms/user/user.form.mjs +18 -0
- package/esm2022/src/lib/forms/vehicle/index.mjs +5 -0
- package/esm2022/src/lib/forms/vehicle/vehicle-claim-details.form.mjs +17 -0
- package/esm2022/src/lib/forms/vehicle/vehicle-claim.form.mjs +28 -0
- package/esm2022/src/lib/forms/vehicle/vehicle-logbook.form.mjs +62 -0
- package/esm2022/src/lib/forms/vehicle/vehicle.form.mjs +17 -0
- package/esm2022/src/lib/functions/array/index.mjs +5 -0
- package/esm2022/src/lib/functions/array/replace.mjs +6 -0
- package/esm2022/src/lib/functions/array/sort-deep.mjs +22 -0
- package/esm2022/src/lib/functions/array/sort.mjs +13 -0
- package/esm2022/src/lib/functions/array/to-array.mjs +7 -0
- package/esm2022/src/lib/functions/clone-deep.mjs +5 -0
- package/esm2022/src/lib/functions/create-date.mjs +8 -0
- package/esm2022/src/lib/functions/enum-to-list.mjs +13 -0
- package/esm2022/src/lib/functions/get-doc-icon.mjs +18 -0
- package/esm2022/src/lib/functions/mat-options-functions.mjs +13 -0
- package/esm2022/src/lib/functions/mat-sort-options.mjs +10 -0
- package/esm2022/src/lib/interceptors/aussie.interceptor.mjs +35 -0
- package/esm2022/src/lib/interceptors/basiq-client-id.interceptor.mjs +31 -0
- package/esm2022/src/lib/interceptors/basiq-token.interceptor.mjs +33 -0
- package/esm2022/src/lib/interceptors/corelogic-interceptor.mjs +41 -0
- package/esm2022/src/lib/interceptors/financial-year-interceptor.mjs +42 -0
- package/esm2022/src/lib/interceptors/interceptors.module.mjs +107 -0
- package/esm2022/src/lib/interceptors/preloader.interceptor.mjs +32 -0
- package/esm2022/src/lib/interceptors/rewardful.interceptor.mjs +43 -0
- package/esm2022/src/lib/interceptors/user-switcher-interceptor.mjs +40 -0
- package/esm2022/src/lib/interfaces/asset-entity-type.enum.mjs +12 -0
- package/esm2022/src/lib/interfaces/asset-type.enum.mjs +13 -0
- package/esm2022/src/lib/interfaces/asset.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/chart-data.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/chart-serie.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/document.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/documentable.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/event-listener.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/expense.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/income-source-forecast.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/index.mjs +14 -0
- package/esm2022/src/lib/interfaces/option.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/tank.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/updatable.interface.mjs +2 -0
- package/esm2022/src/lib/messages/index.mjs +2 -0
- package/esm2022/src/lib/messages/messages.enum.mjs +16 -0
- package/esm2022/src/lib/models/account-setup/account-setup-item.mjs +38 -0
- package/esm2022/src/lib/models/account-setup/account-setup-items.enum.mjs +19 -0
- package/esm2022/src/lib/models/address/address.mjs +50 -0
- package/esm2022/src/lib/models/address/country.mjs +18 -0
- package/esm2022/src/lib/models/address/index.mjs +4 -0
- package/esm2022/src/lib/models/address/states.enum.mjs +12 -0
- package/esm2022/src/lib/models/asset-sale.mjs +10 -0
- package/esm2022/src/lib/models/aussie/aussie-appointment.mjs +14 -0
- package/esm2022/src/lib/models/aussie/aussie-broker.mjs +33 -0
- package/esm2022/src/lib/models/aussie/aussie-store.interface.mjs +2 -0
- package/esm2022/src/lib/models/aussie/aussie-store.mjs +10 -0
- package/esm2022/src/lib/models/aussie/index.mjs +5 -0
- package/esm2022/src/lib/models/badge/badge-color.enum.mjs +8 -0
- package/esm2022/src/lib/models/badge/badge.mjs +14 -0
- package/esm2022/src/lib/models/bank/allocation-group.mjs +64 -0
- package/esm2022/src/lib/models/bank/bank-account-chart-data.mjs +30 -0
- package/esm2022/src/lib/models/bank/bank-account-property.mjs +14 -0
- package/esm2022/src/lib/models/bank/bank-account.mjs +166 -0
- package/esm2022/src/lib/models/bank/bank-connection.mjs +76 -0
- package/esm2022/src/lib/models/bank/bank-external-stats.mjs +8 -0
- package/esm2022/src/lib/models/bank/bank-transaction-chart-data.mjs +99 -0
- package/esm2022/src/lib/models/bank/bank-transaction-summary-fields.enum.mjs +6 -0
- package/esm2022/src/lib/models/bank/bank-transaction.mjs +78 -0
- package/esm2022/src/lib/models/bank/bank.mjs +37 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-config.mjs +12 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-connection-data.interface.mjs +2 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-connections-response.interface.mjs +2 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-job-response.mjs +15 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-job-step.mjs +18 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-job.mjs +4 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-token-response.interface.mjs +2 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-token.mjs +15 -0
- package/esm2022/src/lib/models/bank/basiq/index.mjs +9 -0
- package/esm2022/src/lib/models/bank/index.mjs +13 -0
- package/esm2022/src/lib/models/bank/type-loan.const.mjs +6 -0
- package/esm2022/src/lib/models/borrowing-expense/borrowing-expense-loan.mjs +4 -0
- package/esm2022/src/lib/models/borrowing-expense/borrowing-expense.mjs +4 -0
- package/esm2022/src/lib/models/borrowing-expense/index.mjs +3 -0
- package/esm2022/src/lib/models/budget/budget-rule.mjs +14 -0
- package/esm2022/src/lib/models/budget/budget.mjs +18 -0
- package/esm2022/src/lib/models/budget/index.mjs +3 -0
- package/esm2022/src/lib/models/chart/chart-data.mjs +13 -0
- package/esm2022/src/lib/models/chart/chart-serie.mjs +7 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-categories.const.mjs +122 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-category.e-collection.mjs +48 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-depreciation.mjs +16 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-heading.mjs +4 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-meta-field.mjs +20 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-tax-labels.enum.mjs +7 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-value.mjs +4 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts.mjs +280 -0
- package/esm2022/src/lib/models/chart-accounts/index.mjs +9 -0
- package/esm2022/src/lib/models/chat/chat-view-type.enum.mjs +6 -0
- package/esm2022/src/lib/models/chat/chat.mjs +30 -0
- package/esm2022/src/lib/models/chat/index.mjs +5 -0
- package/esm2022/src/lib/models/chat/message-document.mjs +21 -0
- package/esm2022/src/lib/models/chat/message.mjs +43 -0
- package/esm2022/src/lib/models/client/annual-client-details.mjs +19 -0
- package/esm2022/src/lib/models/client/capital-loss.interface.mjs +2 -0
- package/esm2022/src/lib/models/client/capital-loss.mjs +15 -0
- package/esm2022/src/lib/models/client/client-details.mjs +30 -0
- package/esm2022/src/lib/models/client/client-invite.mjs +70 -0
- package/esm2022/src/lib/models/client/client-movement.mjs +26 -0
- package/esm2022/src/lib/models/client/client-portfolio-chart-data.mjs +55 -0
- package/esm2022/src/lib/models/client/client-portfolio-report.mjs +7 -0
- package/esm2022/src/lib/models/client/index.mjs +10 -0
- package/esm2022/src/lib/models/client/sharesight/index.mjs +4 -0
- package/esm2022/src/lib/models/client/sharesight/sharesight-details-messages.enum.mjs +9 -0
- package/esm2022/src/lib/models/client/sharesight/sharesight-details.interface.mjs +2 -0
- package/esm2022/src/lib/models/client/sharesight/sharesight-details.mjs +22 -0
- package/esm2022/src/lib/models/color/alphabet-colors.enum.mjs +30 -0
- package/esm2022/src/lib/models/date-range.mjs +10 -0
- package/esm2022/src/lib/models/depreciation/depreciation-capital-project.mjs +9 -0
- package/esm2022/src/lib/models/depreciation/depreciation-forecast.mjs +42 -0
- package/esm2022/src/lib/models/depreciation/depreciation-group-item.mjs +18 -0
- package/esm2022/src/lib/models/depreciation/depreciation-group.enum.mjs +10 -0
- package/esm2022/src/lib/models/depreciation/depreciation-group.mjs +20 -0
- package/esm2022/src/lib/models/depreciation/depreciation-groups.const.mjs +34 -0
- package/esm2022/src/lib/models/depreciation/depreciation-lvp-rate.enum.mjs +9 -0
- package/esm2022/src/lib/models/depreciation/depreciation.mjs +179 -0
- package/esm2022/src/lib/models/depreciation/index.mjs +9 -0
- package/esm2022/src/lib/models/dictionary/dictionary.mjs +50 -0
- package/esm2022/src/lib/models/dictionary/index.mjs +2 -0
- package/esm2022/src/lib/models/document/document-api-url-prefix.enum.mjs +9 -0
- package/esm2022/src/lib/models/document/document-file-types.const.mjs +23 -0
- package/esm2022/src/lib/models/document/document-folder.mjs +4 -0
- package/esm2022/src/lib/models/document/document.mjs +17 -0
- package/esm2022/src/lib/models/document/index.mjs +5 -0
- package/esm2022/src/lib/models/employee/employee-details.mjs +16 -0
- package/esm2022/src/lib/models/employee/employee-invite.mjs +30 -0
- package/esm2022/src/lib/models/endpoint/endpoint.mjs +23 -0
- package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +273 -0
- package/esm2022/src/lib/models/event/app-event-type.enum.mjs +60 -0
- package/esm2022/src/lib/models/event/app-event.mjs +21 -0
- package/esm2022/src/lib/models/event/index.mjs +3 -0
- package/esm2022/src/lib/models/export/export-cell-type.enum.mjs +11 -0
- package/esm2022/src/lib/models/export/export-cell.mjs +6 -0
- package/esm2022/src/lib/models/export/export-data-table.mjs +3 -0
- package/esm2022/src/lib/models/export/export-format.enum.mjs +6 -0
- package/esm2022/src/lib/models/file/file.mjs +15 -0
- package/esm2022/src/lib/models/file/icons-file.enum.mjs +7 -0
- package/esm2022/src/lib/models/file/index.mjs +2 -0
- package/esm2022/src/lib/models/financial-year/financial-year.mjs +54 -0
- package/esm2022/src/lib/models/financial-year/index.mjs +5 -0
- package/esm2022/src/lib/models/financial-year/month-name-short.enum.mjs +21 -0
- package/esm2022/src/lib/models/financial-year/month-number.enum.mjs +21 -0
- package/esm2022/src/lib/models/financial-year/months.const.mjs +2 -0
- package/esm2022/src/lib/models/firm/firm-branch.interface.mjs +2 -0
- package/esm2022/src/lib/models/firm/firm-branch.mjs +22 -0
- package/esm2022/src/lib/models/firm/firm.mjs +26 -0
- package/esm2022/src/lib/models/firm/index.mjs +3 -0
- package/esm2022/src/lib/models/holding/holding-reinvest.mjs +22 -0
- package/esm2022/src/lib/models/holding/holding-sale.mjs +39 -0
- package/esm2022/src/lib/models/holding/holding-trade-import.mjs +16 -0
- package/esm2022/src/lib/models/holding/holding-trade.mjs +90 -0
- package/esm2022/src/lib/models/holding/holding-type-exchange.mjs +16 -0
- package/esm2022/src/lib/models/holding/holding-type.mjs +67 -0
- package/esm2022/src/lib/models/holding/holding.mjs +54 -0
- package/esm2022/src/lib/models/holding/index.mjs +8 -0
- package/esm2022/src/lib/models/home-office/home-office-claim.interface.mjs +2 -0
- package/esm2022/src/lib/models/home-office/home-office-claim.mjs +46 -0
- package/esm2022/src/lib/models/home-office/home-office-log.interface.mjs +2 -0
- package/esm2022/src/lib/models/home-office/home-office-log.mjs +18 -0
- package/esm2022/src/lib/models/home-office/index.mjs +5 -0
- package/esm2022/src/lib/models/income-position/income-position.mjs +9 -0
- package/esm2022/src/lib/models/income-source/income-source-chart-data.mjs +45 -0
- package/esm2022/src/lib/models/income-source/income-source-forecast.mjs +34 -0
- package/esm2022/src/lib/models/income-source/income-source-type.mjs +20 -0
- package/esm2022/src/lib/models/income-source/income-source.mjs +58 -0
- package/esm2022/src/lib/models/income-source/index.mjs +7 -0
- package/esm2022/src/lib/models/income-source/salary-forecast.mjs +36 -0
- package/esm2022/src/lib/models/income-source/sole-forecast.mjs +13 -0
- package/esm2022/src/lib/models/index.mjs +30 -0
- package/esm2022/src/lib/models/loan/index.mjs +5 -0
- package/esm2022/src/lib/models/loan/loan-max-number-of-payments.enum.mjs +11 -0
- package/esm2022/src/lib/models/loan/loan-payment.mjs +13 -0
- package/esm2022/src/lib/models/loan/loan-payout.mjs +11 -0
- package/esm2022/src/lib/models/loan/loan.mjs +84 -0
- package/esm2022/src/lib/models/notification/index.mjs +2 -0
- package/esm2022/src/lib/models/notification/notification.mjs +39 -0
- package/esm2022/src/lib/models/pdf/pdf-orientation.enum.mjs +6 -0
- package/esm2022/src/lib/models/pdf/pdf-settings.mjs +17 -0
- package/esm2022/src/lib/models/phone/phone.mjs +19 -0
- package/esm2022/src/lib/models/property/borrowing-report.mjs +50 -0
- package/esm2022/src/lib/models/property/calculation-form-item.mjs +17 -0
- package/esm2022/src/lib/models/property/calculation-form-type.enum.mjs +9 -0
- package/esm2022/src/lib/models/property/capital-costs-itmes.const.mjs +57 -0
- package/esm2022/src/lib/models/property/corelogic-suggestion.mjs +7 -0
- package/esm2022/src/lib/models/property/index.mjs +19 -0
- package/esm2022/src/lib/models/property/property-category-movement.mjs +24 -0
- package/esm2022/src/lib/models/property/property-category.mjs +15 -0
- package/esm2022/src/lib/models/property/property-corelogic-stats.interface.mjs +2 -0
- package/esm2022/src/lib/models/property/property-document.mjs +17 -0
- package/esm2022/src/lib/models/property/property-equity-chart-data.mjs +168 -0
- package/esm2022/src/lib/models/property/property-equity-chart-item.mjs +24 -0
- package/esm2022/src/lib/models/property/property-equity-chart-type.enum.mjs +6 -0
- package/esm2022/src/lib/models/property/property-forecast.mjs +45 -0
- package/esm2022/src/lib/models/property/property-sale/index.mjs +6 -0
- package/esm2022/src/lib/models/property/property-sale/property-sale-cost-base.mjs +20 -0
- package/esm2022/src/lib/models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/models/property/property-sale/property-sale.mjs +55 -0
- package/esm2022/src/lib/models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/models/property/property-sale/tax-exemption.mjs +8 -0
- package/esm2022/src/lib/models/property/property-share.mjs +47 -0
- package/esm2022/src/lib/models/property/property-subscription.mjs +13 -0
- package/esm2022/src/lib/models/property/property-valuation.mjs +31 -0
- package/esm2022/src/lib/models/property/property.mjs +269 -0
- package/esm2022/src/lib/models/registration-invite/registration-invite.mjs +17 -0
- package/esm2022/src/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.mjs +10 -0
- package/esm2022/src/lib/models/report/depreciation/depreciation-lvp-report-item.mjs +21 -0
- package/esm2022/src/lib/models/report/depreciation/depreciation-report-item.mjs +25 -0
- package/esm2022/src/lib/models/report/depreciation/index.mjs +4 -0
- package/esm2022/src/lib/models/report/income-expense/transaction-report-item.mjs +16 -0
- package/esm2022/src/lib/models/report/index.mjs +9 -0
- package/esm2022/src/lib/models/report/my-tax/ato-links.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/index.mjs +26 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.mjs +27 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.mjs +16 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.mjs +15 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.mjs +74 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.mjs +70 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-cgt/cgt-exemption-and-rollover-code.enum.mjs +9 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.mjs +30 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-clothing-type.enum.mjs +13 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.mjs +62 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-self-education-type.enum.mjs +10 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.mjs +96 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.mjs +17 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.mjs +40 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +76 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-income-tests/my-tax-income-tests.mjs +8 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-interest/my-tax-interest.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-losses/my-tax-losses.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-offsets/my-tax-offsets.mjs +8 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.mjs +47 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.mjs +30 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-rent/my-tax-rent.mjs +43 -0
- package/esm2022/src/lib/models/report/property/index.mjs +4 -0
- package/esm2022/src/lib/models/report/property/property-report-item-depreciation.mjs +20 -0
- package/esm2022/src/lib/models/report/property/property-report-item-transaction.mjs +12 -0
- package/esm2022/src/lib/models/report/property/property-report-item.mjs +30 -0
- package/esm2022/src/lib/models/report/report.interface.mjs +2 -0
- package/esm2022/src/lib/models/report/reports.const.mjs +107 -0
- package/esm2022/src/lib/models/report/sole/index.mjs +2 -0
- package/esm2022/src/lib/models/report/sole/sole-business/sole-business-loss-report.mjs +17 -0
- package/esm2022/src/lib/models/report/vehicle-expense/vehicle-expense.mjs +15 -0
- package/esm2022/src/lib/models/service-subscription/index.mjs +10 -0
- package/esm2022/src/lib/models/service-subscription/module-url-list.const.mjs +12 -0
- package/esm2022/src/lib/models/service-subscription/payment-method-brand.enum.mjs +12 -0
- package/esm2022/src/lib/models/service-subscription/service-payment-method.mjs +31 -0
- package/esm2022/src/lib/models/service-subscription/service-payment.mjs +22 -0
- package/esm2022/src/lib/models/service-subscription/service-price.mjs +25 -0
- package/esm2022/src/lib/models/service-subscription/service-product-icons.enum.mjs +11 -0
- package/esm2022/src/lib/models/service-subscription/service-product-roles.const.mjs +11 -0
- package/esm2022/src/lib/models/service-subscription/service-product.mjs +27 -0
- package/esm2022/src/lib/models/service-subscription/service-promo-code-duration.enum.mjs +7 -0
- package/esm2022/src/lib/models/service-subscription/service-promo-code.mjs +30 -0
- package/esm2022/src/lib/models/service-subscription/service-subscription-item.mjs +24 -0
- package/esm2022/src/lib/models/service-subscription/service-subscription.mjs +161 -0
- package/esm2022/src/lib/models/sole/bas-report.mjs +42 -0
- package/esm2022/src/lib/models/sole/index.mjs +13 -0
- package/esm2022/src/lib/models/sole/sole-business-activity.mjs +4 -0
- package/esm2022/src/lib/models/sole/sole-business-allocation.mjs +18 -0
- package/esm2022/src/lib/models/sole/sole-business-loss-offset-rule.mjs +9 -0
- package/esm2022/src/lib/models/sole/sole-business-loss.mjs +27 -0
- package/esm2022/src/lib/models/sole/sole-business.mjs +57 -0
- package/esm2022/src/lib/models/sole/sole-contact.mjs +30 -0
- package/esm2022/src/lib/models/sole/sole-depreciation-method.mjs +8 -0
- package/esm2022/src/lib/models/sole/sole-details.mjs +10 -0
- package/esm2022/src/lib/models/sole/sole-invoice-item.mjs +70 -0
- package/esm2022/src/lib/models/sole/sole-invoice-template.mjs +31 -0
- package/esm2022/src/lib/models/sole/sole-invoice.mjs +139 -0
- package/esm2022/src/lib/models/tax-return/index.mjs +4 -0
- package/esm2022/src/lib/models/tax-return/tax-return-category.mjs +19 -0
- package/esm2022/src/lib/models/tax-return/tax-return-item.mjs +40 -0
- package/esm2022/src/lib/models/tax-return/tax-return.mjs +10 -0
- package/esm2022/src/lib/models/tax-review/tax-review.mjs +96 -0
- package/esm2022/src/lib/models/tax-summary/report-item-details.mjs +10 -0
- package/esm2022/src/lib/models/tax-summary/report-item.mjs +28 -0
- package/esm2022/src/lib/models/tax-summary/tax-summary-section.mjs +32 -0
- package/esm2022/src/lib/models/tax-summary/tax-summary-type.enum.mjs +9 -0
- package/esm2022/src/lib/models/tax-summary/tax-summary.mjs +153 -0
- package/esm2022/src/lib/models/toast/toast-type.enum.mjs +8 -0
- package/esm2022/src/lib/models/toast/toast.mjs +10 -0
- package/esm2022/src/lib/models/transaction/allocation-rule-condition.mjs +40 -0
- package/esm2022/src/lib/models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
- package/esm2022/src/lib/models/transaction/allocation-rule-transaction.mjs +110 -0
- package/esm2022/src/lib/models/transaction/allocation-rule.mjs +131 -0
- package/esm2022/src/lib/models/transaction/income-amount-type.enum.mjs +9 -0
- package/esm2022/src/lib/models/transaction/index.mjs +9 -0
- package/esm2022/src/lib/models/transaction/transaction-allocation.mjs +21 -0
- package/esm2022/src/lib/models/transaction/transaction-category.enum.mjs +8 -0
- package/esm2022/src/lib/models/transaction/transaction-meta-field.mjs +17 -0
- package/esm2022/src/lib/models/transaction/transaction.mjs +243 -0
- package/esm2022/src/lib/models/user/index.mjs +10 -0
- package/esm2022/src/lib/models/user/my-account-history-initiated-by.enum.mjs +6 -0
- package/esm2022/src/lib/models/user/my-account-history-status.enum.mjs +6 -0
- package/esm2022/src/lib/models/user/my-account-history-type.enum.mjs +7 -0
- package/esm2022/src/lib/models/user/my-account-history.mjs +3 -0
- package/esm2022/src/lib/models/user/occupation.mjs +4 -0
- package/esm2022/src/lib/models/user/user-roles.const.mjs +20 -0
- package/esm2022/src/lib/models/user/user-to-register.mjs +6 -0
- package/esm2022/src/lib/models/user/user-work-position.const.mjs +7 -0
- package/esm2022/src/lib/models/user/user.mjs +165 -0
- package/esm2022/src/lib/models/user-event/user-event-setting-field.enum.mjs +10 -0
- package/esm2022/src/lib/models/user-event/user-event-setting.mjs +18 -0
- package/esm2022/src/lib/models/user-event/user-event-type-category.mjs +4 -0
- package/esm2022/src/lib/models/user-event/user-event-type.mjs +23 -0
- package/esm2022/src/lib/models/vehicle/index.mjs +5 -0
- package/esm2022/src/lib/models/vehicle/vehicle-claim-details.mjs +26 -0
- package/esm2022/src/lib/models/vehicle/vehicle-claim.mjs +61 -0
- package/esm2022/src/lib/models/vehicle/vehicle-logbook.mjs +27 -0
- package/esm2022/src/lib/models/vehicle/vehicle.mjs +10 -0
- package/esm2022/src/lib/pipes/app-currency.pipe.mjs +23 -0
- package/esm2022/src/lib/pipes/app-percent.pipe.mjs +21 -0
- package/esm2022/src/lib/pipes/index.mjs +4 -0
- package/esm2022/src/lib/pipes/safe-url.pipe.mjs +21 -0
- package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +160 -0
- package/esm2022/src/lib/services/account-setup/index.mjs +2 -0
- package/esm2022/src/lib/services/adblock/adblock.service.mjs +48 -0
- package/esm2022/src/lib/services/adblock/index.mjs +2 -0
- package/esm2022/src/lib/services/asset/assets.service.mjs +51 -0
- package/esm2022/src/lib/services/asset/index.mjs +2 -0
- package/esm2022/src/lib/services/bank/bank-account-calculation.service.mjs +32 -0
- package/esm2022/src/lib/services/bank/index.mjs +2 -0
- package/esm2022/src/lib/services/data.service.mjs +44 -0
- package/esm2022/src/lib/services/event/event-dispatcher.service.mjs +41 -0
- package/esm2022/src/lib/services/event/index.mjs +3 -0
- package/esm2022/src/lib/services/event/sse.service.mjs +48 -0
- package/esm2022/src/lib/services/export/export-formatter.service.mjs +34 -0
- package/esm2022/src/lib/services/export/index.mjs +2 -0
- package/esm2022/src/lib/services/firm/current-firm-branch.service.mjs +26 -0
- package/esm2022/src/lib/services/firm/index.mjs +2 -0
- package/esm2022/src/lib/services/header-title/header-title.service.mjs +28 -0
- package/esm2022/src/lib/services/header-title/index.mjs +2 -0
- package/esm2022/src/lib/services/http/address/address.service.mjs +37 -0
- package/esm2022/src/lib/services/http/address/index.mjs +2 -0
- package/esm2022/src/lib/services/http/aussie/aussie.service.mjs +33 -0
- package/esm2022/src/lib/services/http/aussie/index.mjs +2 -0
- package/esm2022/src/lib/services/http/bank/bank-account/bank-account.service.mjs +102 -0
- package/esm2022/src/lib/services/http/bank/bank-account/index.mjs +2 -0
- package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection-messages.enum.mjs +26 -0
- package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection.service.mjs +91 -0
- package/esm2022/src/lib/services/http/bank/bank-connection/index.mjs +3 -0
- package/esm2022/src/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +77 -0
- package/esm2022/src/lib/services/http/bank/bank-transaction/index.mjs +2 -0
- package/esm2022/src/lib/services/http/bank/bank.service.mjs +26 -0
- package/esm2022/src/lib/services/http/bank/basiq/basiq-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/bank/basiq/basiq-token.service.mjs +39 -0
- package/esm2022/src/lib/services/http/bank/basiq/basiq.service.mjs +159 -0
- package/esm2022/src/lib/services/http/bank/basiq/index.mjs +4 -0
- package/esm2022/src/lib/services/http/bank/index.mjs +6 -0
- package/esm2022/src/lib/services/http/budget/budget-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/budget/budget.service.mjs +23 -0
- package/esm2022/src/lib/services/http/budget/index.mjs +3 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +26 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/index.mjs +2 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts.service.mjs +49 -0
- package/esm2022/src/lib/services/http/chart-accounts/index.mjs +4 -0
- package/esm2022/src/lib/services/http/chat/chat.service.mjs +88 -0
- package/esm2022/src/lib/services/http/chat/index.mjs +4 -0
- package/esm2022/src/lib/services/http/chat/message-document.service.mjs +80 -0
- package/esm2022/src/lib/services/http/chat/message.service.mjs +39 -0
- package/esm2022/src/lib/services/http/client/annual-client-details.service.mjs +23 -0
- package/esm2022/src/lib/services/http/client/capital-loss/capital-loss-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/client/capital-loss/capital-loss.service.mjs +23 -0
- package/esm2022/src/lib/services/http/client/capital-loss/index.mjs +3 -0
- package/esm2022/src/lib/services/http/client/client-coupon.service.mjs +27 -0
- package/esm2022/src/lib/services/http/client/index.mjs +6 -0
- package/esm2022/src/lib/services/http/client/occupation/occupation.service.mjs +43 -0
- package/esm2022/src/lib/services/http/client/sharesight-details.service.mjs +29 -0
- package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +27 -0
- package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/index.mjs +2 -0
- package/esm2022/src/lib/services/http/depreciation/depreciation.service.mjs +105 -0
- package/esm2022/src/lib/services/http/depreciation/index.mjs +3 -0
- package/esm2022/src/lib/services/http/document/document-folder/document-folder-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/document/document-folder/document-folder.service.mjs +26 -0
- package/esm2022/src/lib/services/http/document/document-folder/index.mjs +3 -0
- package/esm2022/src/lib/services/http/document/document-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/document/document.service.mjs +23 -0
- package/esm2022/src/lib/services/http/document/index.mjs +4 -0
- package/esm2022/src/lib/services/http/facebook/facebook-auth-options.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/facebook/facebook-auth-response.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/facebook/facebook-status-response.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/facebook/facebook.service.mjs +87 -0
- package/esm2022/src/lib/services/http/facebook/index.mjs +2 -0
- package/esm2022/src/lib/services/http/file/file.service.mjs +39 -0
- package/esm2022/src/lib/services/http/file/index.mjs +2 -0
- package/esm2022/src/lib/services/http/firm/client-invite/client-invite-messages.enum.mjs +15 -0
- package/esm2022/src/lib/services/http/firm/client-invite/client-invite.service.mjs +104 -0
- package/esm2022/src/lib/services/http/firm/client-invite/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/client-movement/client-movement-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/firm/client-movement/client-movement.service.mjs +86 -0
- package/esm2022/src/lib/services/http/firm/client-movement/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/employee/employee-messages.enum.mjs +14 -0
- package/esm2022/src/lib/services/http/firm/employee/employee.service.mjs +48 -0
- package/esm2022/src/lib/services/http/firm/employee/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/employee-invite/employee-invite.service.mjs +48 -0
- package/esm2022/src/lib/services/http/firm/employee-invite/index.mjs +2 -0
- package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch-messages.enum.mjs +9 -0
- package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch.service.mjs +23 -0
- package/esm2022/src/lib/services/http/firm/firm-branch/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/firm-messages.enum.mjs +6 -0
- package/esm2022/src/lib/services/http/firm/firm.service.mjs +63 -0
- package/esm2022/src/lib/services/http/firm/index.mjs +9 -0
- package/esm2022/src/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +37 -0
- package/esm2022/src/lib/services/http/firm/portfolio-report/index.mjs +2 -0
- package/esm2022/src/lib/services/http/google/google.service.mjs +77 -0
- package/esm2022/src/lib/services/http/google/index.mjs +2 -0
- package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +25 -0
- 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 +45 -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 +42 -0
- package/esm2022/src/lib/services/http/holding/holding-type-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/holding/holding-type.service.mjs +47 -0
- package/esm2022/src/lib/services/http/holding/index.mjs +9 -0
- package/esm2022/src/lib/services/http/home-office/home-office-claim-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/home-office/home-office-claim.service.mjs +25 -0
- package/esm2022/src/lib/services/http/home-office/home-office-log-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/home-office/home-office-log.service.mjs +31 -0
- package/esm2022/src/lib/services/http/home-office/index.mjs +5 -0
- package/esm2022/src/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +84 -0
- package/esm2022/src/lib/services/http/income-source/income-source-forecast/index.mjs +2 -0
- package/esm2022/src/lib/services/http/income-source/income-source-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/income-source/income-source.service.mjs +93 -0
- package/esm2022/src/lib/services/http/income-source/index.mjs +6 -0
- package/esm2022/src/lib/services/http/income-source/salary-forecast/index.mjs +2 -0
- package/esm2022/src/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +83 -0
- package/esm2022/src/lib/services/http/income-source/sole-forecast/index.mjs +2 -0
- package/esm2022/src/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +91 -0
- package/esm2022/src/lib/services/http/index.mjs +32 -0
- package/esm2022/src/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +74 -0
- package/esm2022/src/lib/services/http/loan/borrowing-expense/index.mjs +2 -0
- package/esm2022/src/lib/services/http/loan/index.mjs +4 -0
- package/esm2022/src/lib/services/http/loan/loan-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/loan/loan.service.mjs +94 -0
- package/esm2022/src/lib/services/http/pdf/pdf.service.mjs +30 -0
- package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +23 -0
- package/esm2022/src/lib/services/http/property/borrowing-report/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/index.mjs +10 -0
- package/esm2022/src/lib/services/http/property/property-category/index.mjs +2 -0
- package/esm2022/src/lib/services/http/property/property-category/property-category.service.mjs +26 -0
- package/esm2022/src/lib/services/http/property/property-category-movement/index.mjs +2 -0
- package/esm2022/src/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +33 -0
- package/esm2022/src/lib/services/http/property/property-document/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/property-document/property-document-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/property/property-document/property-document.service.mjs +26 -0
- package/esm2022/src/lib/services/http/property/property-messages.enum.mjs +11 -0
- package/esm2022/src/lib/services/http/property/property-sale/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +25 -0
- package/esm2022/src/lib/services/http/property/property-share/index.mjs +2 -0
- package/esm2022/src/lib/services/http/property/property-share/property-share.service.mjs +68 -0
- package/esm2022/src/lib/services/http/property/property-valuation/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/property-valuation/property-valuation-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/property/property-valuation/property-valuation.service.mjs +24 -0
- package/esm2022/src/lib/services/http/property/property.service.mjs +136 -0
- package/esm2022/src/lib/services/http/rest/http-error-messages.const.mjs +14 -0
- package/esm2022/src/lib/services/http/rest/http-method.type.mjs +2 -0
- package/esm2022/src/lib/services/http/rest/index.mjs +5 -0
- package/esm2022/src/lib/services/http/rest/rest-method.type.mjs +2 -0
- package/esm2022/src/lib/services/http/rest/rest-old.service.mjs +247 -0
- package/esm2022/src/lib/services/http/rest/rest.service.mjs +356 -0
- package/esm2022/src/lib/services/http/rest-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/service-notification/index.mjs +2 -0
- package/esm2022/src/lib/services/http/service-notification/service-notification.service.mjs +72 -0
- package/esm2022/src/lib/services/http/setup-item/setup-item.service.mjs +23 -0
- package/esm2022/src/lib/services/http/sole/bas-report/bas-report-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/sole/bas-report/bas-report.service.mjs +20 -0
- package/esm2022/src/lib/services/http/sole/bas-report/index.mjs +3 -0
- package/esm2022/src/lib/services/http/sole/index.mjs +11 -0
- package/esm2022/src/lib/services/http/sole/sole-business/index.mjs +3 -0
- package/esm2022/src/lib/services/http/sole/sole-business/sole-business-messages.enum.mjs +5 -0
- package/esm2022/src/lib/services/http/sole/sole-business/sole-business.service.mjs +24 -0
- package/esm2022/src/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +20 -0
- package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +23 -0
- package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +41 -0
- package/esm2022/src/lib/services/http/sole/sole-contact/sole-contact.service.mjs +20 -0
- package/esm2022/src/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +73 -0
- package/esm2022/src/lib/services/http/sole/sole-details/sole-details.service.mjs +33 -0
- package/esm2022/src/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +46 -0
- package/esm2022/src/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +20 -0
- package/esm2022/src/lib/services/http/subscription/index.mjs +7 -0
- package/esm2022/src/lib/services/http/subscription/service-payment/service-payment.service.mjs +33 -0
- package/esm2022/src/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +45 -0
- package/esm2022/src/lib/services/http/subscription/service-price/service-price.service.mjs +26 -0
- package/esm2022/src/lib/services/http/subscription/service-product/service-product.service.mjs +23 -0
- package/esm2022/src/lib/services/http/subscription/service-subscription/subscription-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/subscription/service-subscription/subscription.service.mjs +84 -0
- package/esm2022/src/lib/services/http/tax-review/index.mjs +4 -0
- package/esm2022/src/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +45 -0
- package/esm2022/src/lib/services/http/tax-review/tax-review-messages.enum.mjs +20 -0
- package/esm2022/src/lib/services/http/tax-review/tax-review.service.mjs +106 -0
- package/esm2022/src/lib/services/http/tax-summary/index.mjs +2 -0
- package/esm2022/src/lib/services/http/tax-summary/tax-summary.service.mjs +71 -0
- package/esm2022/src/lib/services/http/transaction/index.mjs +5 -0
- package/esm2022/src/lib/services/http/transaction/prior-transaction.service.mjs +33 -0
- package/esm2022/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +26 -0
- package/esm2022/src/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +117 -0
- package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +273 -0
- package/esm2022/src/lib/services/http/user/financial-year/financial-year.service.mjs +29 -0
- package/esm2022/src/lib/services/http/user/index.mjs +8 -0
- package/esm2022/src/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +23 -0
- package/esm2022/src/lib/services/http/user/user-event-type/user-event-type.service.mjs +23 -0
- package/esm2022/src/lib/services/http/user/user-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/user/user.service.mjs +112 -0
- package/esm2022/src/lib/services/http/user/users-invite/users-invite.service.mjs +23 -0
- package/esm2022/src/lib/services/http/vehicle/index.mjs +6 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-claim-details.service.mjs +74 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-claim.service.mjs +49 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/index.mjs +3 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook.service.mjs +26 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle.service.mjs +25 -0
- package/esm2022/src/lib/services/http/youtube/index.mjs +3 -0
- package/esm2022/src/lib/services/http/youtube/youtube-video.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/youtube/youtube.service.mjs +34 -0
- package/esm2022/src/lib/services/index.mjs +19 -0
- package/esm2022/src/lib/services/intercom/index.mjs +2 -0
- package/esm2022/src/lib/services/intercom/intercom.service.mjs +41 -0
- package/esm2022/src/lib/services/json/chart-accounts/chart-accounts-value.service.mjs +23 -0
- package/esm2022/src/lib/services/json/holding/holding-type-exchange.service.mjs +23 -0
- package/esm2022/src/lib/services/json/income-source/income-source-type.service.mjs +23 -0
- package/esm2022/src/lib/services/json/index.mjs +6 -0
- package/esm2022/src/lib/services/json/tax-exemption/tax-exemption.service.mjs +23 -0
- package/esm2022/src/lib/services/json/tax-return/tax-return-item.service.mjs +23 -0
- package/esm2022/src/lib/services/pdf/index.mjs +6 -0
- package/esm2022/src/lib/services/pdf/js-pdf.mjs +10 -0
- package/esm2022/src/lib/services/pdf/pdf-from-dom-element/file-settings.mjs +21 -0
- package/esm2022/src/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +47 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/file-settings.mjs +36 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +46 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +42 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +63 -0
- package/esm2022/src/lib/services/preloader/index.mjs +2 -0
- package/esm2022/src/lib/services/preloader/preloader.service.mjs +30 -0
- package/esm2022/src/lib/services/property/corelogic/corelogic-messages.enum.mjs +5 -0
- package/esm2022/src/lib/services/property/corelogic/corelogic.service.mjs +48 -0
- package/esm2022/src/lib/services/property/corelogic/index.mjs +3 -0
- package/esm2022/src/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +39 -0
- package/esm2022/src/lib/services/property/equity-position-chart/index.mjs +2 -0
- package/esm2022/src/lib/services/property/index.mjs +4 -0
- package/esm2022/src/lib/services/property/property-calculation/index.mjs +2 -0
- package/esm2022/src/lib/services/property/property-calculation/property-calculation.service.mjs +158 -0
- package/esm2022/src/lib/services/report/index.mjs +2 -0
- package/esm2022/src/lib/services/report/property/property-transaction-report.service.mjs +68 -0
- package/esm2022/src/lib/services/toast/index.mjs +2 -0
- package/esm2022/src/lib/services/toast/toast.service.mjs +59 -0
- package/esm2022/src/lib/services/user/index.mjs +2 -0
- package/esm2022/src/lib/services/user/user-switcher.service.mjs +37 -0
- package/esm2022/src/lib/services/xlsx/index.mjs +2 -0
- package/esm2022/src/lib/services/xlsx/xlsx.service.mjs +102 -0
- package/esm2022/src/lib/validators/at-least-one-enabled.validator.mjs +9 -0
- package/esm2022/src/lib/validators/at-least-one.validator.mjs +9 -0
- package/esm2022/src/lib/validators/autocomplete.validator.mjs +8 -0
- package/esm2022/src/lib/validators/conditional.validator.mjs +26 -0
- package/esm2022/src/lib/validators/current-fin-year.validator.mjs +15 -0
- package/esm2022/src/lib/validators/date/max-date.validator.mjs +17 -0
- package/esm2022/src/lib/validators/date/min-date.validator.mjs +17 -0
- package/esm2022/src/lib/validators/date-range.validator.mjs +22 -0
- package/esm2022/src/lib/validators/fields-sum.validator.mjs +24 -0
- package/esm2022/src/lib/validators/file.validator.mjs +36 -0
- package/esm2022/src/lib/validators/greater-than.validator.mjs +12 -0
- package/esm2022/src/lib/validators/group.validator.mjs +11 -0
- package/esm2022/src/lib/validators/index.mjs +15 -0
- package/esm2022/src/lib/validators/match-sum.validator.mjs +16 -0
- package/esm2022/src/lib/validators/password-match.validator.mjs +17 -0
- package/esm2022/src/lib/validators/password.validator.mjs +20 -0
- package/esm2022/src/lib/validators/phone-number.validator.mjs +9 -0
- package/esm2022/src/lib/validators/required-length.validator.mjs +12 -0
- package/esm2022/src/lib/validators/string/alpha-space.validator.mjs +10 -0
- package/esm2022/src/lib/validators/unique-email.validator.mjs +19 -0
- package/esm2022/taxtank-core.mjs +5 -0
- package/fesm2022/taxtank-core-common.mjs +20 -20
- package/fesm2022/taxtank-core-common.mjs.map +1 -1
- package/fesm2022/taxtank-core.mjs +445 -453
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +19 -15
- package/src/lib/db/Enums/holding/holding-type-category.enum.d.ts +3 -3
- package/src/lib/db/Models/setup-item.d.ts +0 -2
- package/src/lib/models/index.d.ts +0 -1
- package/src/lib/services/account-setup/account-setup.service.d.ts +2 -4
@@ -0,0 +1,146 @@
|
|
1
|
+
import { AbstractForm } from '../abstract.form';
|
2
|
+
import { AllocationRuleTransactionMetaField, IncomeSource } from '../../models';
|
3
|
+
import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
4
|
+
import { conditionalValidator } from '../../validators';
|
5
|
+
import { AllocationRuleTransactionMetaFieldForm } from './allocation-rule-transaction-meta-field.form';
|
6
|
+
import { plainToClass } from 'class-transformer';
|
7
|
+
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
8
|
+
/**
|
9
|
+
* @TODO Alex: extend transaction form(s) when transaction forms refactored
|
10
|
+
*/
|
11
|
+
export class AllocationRuleTransactionForm extends AbstractForm {
|
12
|
+
constructor(transaction,
|
13
|
+
// Flag to enable transaction GST field
|
14
|
+
isGST) {
|
15
|
+
super({
|
16
|
+
amount: new UntypedFormControl(transaction.amount),
|
17
|
+
amountPercent: new UntypedFormControl(transaction.amountPercent, Validators.required),
|
18
|
+
tax: new UntypedFormControl(transaction.tax, Validators.required),
|
19
|
+
claimPercent: new UntypedFormControl(transaction.claimPercent, [Validators.required, Validators.min(0), Validators.max(100)]),
|
20
|
+
chartAccounts: new UntypedFormControl(transaction.chartAccounts, Validators.required),
|
21
|
+
isGST: new UntypedFormControl({ value: transaction.isGST || false, disabled: !isGST }),
|
22
|
+
loan: new UntypedFormControl(transaction.loan),
|
23
|
+
incomeSource: new UntypedFormControl(transaction.incomeSource, conditionalValidator(() => transaction.chartAccounts?.isWorkIncome(), Validators.required)),
|
24
|
+
metaFields: new UntypedFormArray((transaction.metaFields || []).map((metaField) => new AllocationRuleTransactionMetaFieldForm(metaField))),
|
25
|
+
business: new UntypedFormControl(transaction.business, Validators.required),
|
26
|
+
property: new UntypedFormControl(transaction.property, Validators.required),
|
27
|
+
// Show null as default value for new transaction to avoid preselecting of not allowed tank types
|
28
|
+
tankType: new UntypedFormControl(transaction.id ? transaction.tankType : null, Validators.required),
|
29
|
+
childTransactions: new UntypedFormArray((transaction.childTransactions || []).map((childTransaction) => new UntypedFormGroup({
|
30
|
+
chartAccounts: new UntypedFormControl(childTransaction.chartAccounts, Validators.required),
|
31
|
+
amount: new UntypedFormControl(childTransaction.amount, Validators.required)
|
32
|
+
})))
|
33
|
+
}, transaction);
|
34
|
+
this.isGST = isGST;
|
35
|
+
this.listenEvents();
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* @TODO Alex: move to abstract form, universal method getArray(arrayName)
|
39
|
+
*/
|
40
|
+
get metaFieldsArray() {
|
41
|
+
return this.get('metaFields');
|
42
|
+
}
|
43
|
+
get childTransactionsArray() {
|
44
|
+
return this.get('childTransactions');
|
45
|
+
}
|
46
|
+
get isSplit() {
|
47
|
+
return this.get('amountPercent').enabled;
|
48
|
+
}
|
49
|
+
isPersonal() {
|
50
|
+
return this.get('tankType').value === TankTypeEnum.PERSONAL;
|
51
|
+
}
|
52
|
+
addChildTransactionForm() {
|
53
|
+
this.childTransactionsArray.push(new UntypedFormGroup({
|
54
|
+
chartAccounts: new UntypedFormControl(null, Validators.required),
|
55
|
+
amount: new UntypedFormControl(null, Validators.required)
|
56
|
+
}));
|
57
|
+
}
|
58
|
+
submit() {
|
59
|
+
const data = {
|
60
|
+
metaFields: this.metaFieldsArray.controls.map((metaFieldForm) => metaFieldForm.submit())
|
61
|
+
};
|
62
|
+
return super.submit(data, true);
|
63
|
+
}
|
64
|
+
listenEvents() {
|
65
|
+
this.listenChartAccountsChanges();
|
66
|
+
this.listenTankTypeChanges();
|
67
|
+
this.listenIncomeSourceChanges();
|
68
|
+
this.listenPropertyChanges();
|
69
|
+
}
|
70
|
+
listenChartAccountsChanges() {
|
71
|
+
this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
|
72
|
+
this.get('incomeSource').removeValidators(Validators.required);
|
73
|
+
if (!chartAccounts) {
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
this.updateClaimPercent();
|
77
|
+
// User have to select income source for work income
|
78
|
+
if (chartAccounts.isWorkIncome()) {
|
79
|
+
this.get('incomeSource').setValidators(Validators.required);
|
80
|
+
}
|
81
|
+
// Rebuild meta fields
|
82
|
+
this.metaFieldsArray.clear();
|
83
|
+
chartAccounts.metaFields.forEach((chartAccountsMetaField) => {
|
84
|
+
this.metaFieldsArray.push(new AllocationRuleTransactionMetaFieldForm(plainToClass(AllocationRuleTransactionMetaField, { chartAccountsMetaField })));
|
85
|
+
});
|
86
|
+
// sole trader registered and chartAccounts is eligible for gst
|
87
|
+
if (this.isGST && chartAccounts.isGST) {
|
88
|
+
this.get('isGST').enable();
|
89
|
+
this.get('isGST').setValue(true);
|
90
|
+
}
|
91
|
+
else {
|
92
|
+
this.get('isGST').disable();
|
93
|
+
this.get('isGST').setValue(false);
|
94
|
+
}
|
95
|
+
});
|
96
|
+
}
|
97
|
+
/**
|
98
|
+
* Child transaction allowance depends on tank type.
|
99
|
+
* Also chart accounts are different, so we just reset child transactions when tank type changed
|
100
|
+
*/
|
101
|
+
listenTankTypeChanges() {
|
102
|
+
this.get('tankType').valueChanges.subscribe(() => {
|
103
|
+
this.get('chartAccounts').reset();
|
104
|
+
this.get('property').reset();
|
105
|
+
this.get('business').reset();
|
106
|
+
this.childTransactionsArray.clear();
|
107
|
+
});
|
108
|
+
}
|
109
|
+
/**
|
110
|
+
* Set tax automatically when salary income source selected
|
111
|
+
*/
|
112
|
+
listenIncomeSourceChanges() {
|
113
|
+
this.get('incomeSource').valueChanges.subscribe((incomeSource) => {
|
114
|
+
if (!incomeSource) {
|
115
|
+
this.get('tax').setValue(0);
|
116
|
+
return;
|
117
|
+
}
|
118
|
+
// prefill salary tax with its income source forecast in case if we have at least 1 salaryForecasts
|
119
|
+
if (incomeSource instanceof IncomeSource && incomeSource.isWorkIncome() && !this.get('tax').value
|
120
|
+
&& incomeSource.salaryForecasts.length) {
|
121
|
+
this.get('tax').setValue(incomeSource.salaryForecasts[0].taxWithheld);
|
122
|
+
}
|
123
|
+
});
|
124
|
+
}
|
125
|
+
listenPropertyChanges() {
|
126
|
+
this.get('property').valueChanges.subscribe(() => {
|
127
|
+
this.updateClaimPercent();
|
128
|
+
});
|
129
|
+
}
|
130
|
+
/**
|
131
|
+
* Update claim percent value and state depends on business logic
|
132
|
+
*/
|
133
|
+
updateClaimPercent() {
|
134
|
+
const claimPercentControl = this.get('claimPercent');
|
135
|
+
// claim percent is changeable only for work and sole expenses except vehicle and personal
|
136
|
+
claimPercentControl.disable();
|
137
|
+
if (!this.currentValue.chartAccounts) {
|
138
|
+
return;
|
139
|
+
}
|
140
|
+
if (this.currentValue.chartAccounts.isClaimPercentEditable()) {
|
141
|
+
claimPercentControl.enable();
|
142
|
+
}
|
143
|
+
claimPercentControl.setValue(this.currentValue.calculateClaimPercent());
|
144
|
+
}
|
145
|
+
}
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxrQ0FBa0MsRUFHbEMsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFlBQXVDO0lBQ3hGLFlBQ0UsV0FBc0M7SUFDdEMsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRCxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzdILGFBQWEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNyRixLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxJQUFJLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0RixJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzlDLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUosVUFBVSxFQUFFLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQTZDLEVBQUUsRUFBRSxDQUFDLElBQUksc0NBQXNDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUM5SyxRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDM0UsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzNFLGlHQUFpRztZQUNqRyxRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRyxpQkFBaUIsRUFBRSxJQUFJLGdCQUFnQixDQUFDLENBQUMsV0FBVyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUEyQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDO2dCQUN0SixhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDMUYsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDN0UsQ0FBQyxDQUFDLENBQUM7U0FDTCxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBcEJSLFVBQUssR0FBTCxLQUFLLENBQVM7UUFzQnRCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBcUIsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFxQixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQzlELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FDOUIsSUFBSSxnQkFBZ0IsQ0FBQztZQUNuQixhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNoRSxNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUMxRCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxJQUFJLEdBQUc7WUFDWCxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBcUQsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pJLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFL0QsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDbEIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFMUIsb0RBQW9EO1lBQ3BELElBQUksYUFBYSxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0Q7WUFFRCxzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLHNCQUE4QyxFQUFFLEVBQUU7Z0JBQ2xGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN2QixJQUFJLHNDQUFzQyxDQUN4QyxZQUFZLENBQUMsa0NBQWtDLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLENBQzdFLENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsK0RBQStEO1lBQy9ELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNLLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLHlCQUF5QjtRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEyQixFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTVCLE9BQU87YUFDUjtZQUVELG1HQUFtRztZQUNuRyxJQUFJLFlBQVksWUFBWSxZQUFZLElBQUksWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLO21CQUM1RixZQUFZLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN2RTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9DLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLE1BQU0sbUJBQW1CLEdBQXVCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUF1QixDQUFDO1FBRS9GLDBGQUEwRjtRQUMxRixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUU7WUFDcEMsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO1lBQzVELG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzlCO1FBRUQsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgQ2hhcnRBY2NvdW50cyxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCxcbiAgSW5jb21lU291cmNlXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb25kaXRpb25hbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi1tZXRhLWZpZWxkLmZvcm0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcblxuLyoqXG4gKiBAVE9ETyBBbGV4OiBleHRlbmQgdHJhbnNhY3Rpb24gZm9ybShzKSB3aGVuIHRyYW5zYWN0aW9uIGZvcm1zIHJlZmFjdG9yZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgICAvLyBGbGFnIHRvIGVuYWJsZSB0cmFuc2FjdGlvbiBHU1QgZmllbGRcbiAgICBwcml2YXRlIGlzR1NUOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnQpLFxuICAgICAgYW1vdW50UGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnRQZXJjZW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHRheDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi50YXgsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2xhaW1QZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCgxMDApXSksXG4gICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgaXNHU1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdHJhbnNhY3Rpb24uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXNHU1QgfSksXG4gICAgICBsb2FuOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmxvYW4pLFxuICAgICAgaW5jb21lU291cmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSwgY29uZGl0aW9uYWxWYWxpZGF0b3IoKCkgPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNXb3JrSW5jb21lKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpKSxcbiAgICAgIG1ldGFGaWVsZHM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5tZXRhRmllbGRzIHx8IFtdKS5tYXAoKG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCkgPT4gbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKG1ldGFGaWVsZCkpKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmJ1c2luZXNzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnByb3BlcnR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIC8vIFNob3cgbnVsbCBhcyBkZWZhdWx0IHZhbHVlIGZvciBuZXcgdHJhbnNhY3Rpb24gdG8gYXZvaWQgcHJlc2VsZWN0aW5nIG9mIG5vdCBhbGxvd2VkIHRhbmsgdHlwZXNcbiAgICAgIHRhbmtUeXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkID8gdHJhbnNhY3Rpb24udGFua1R5cGUgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheSgodHJhbnNhY3Rpb24uY2hpbGRUcmFuc2FjdGlvbnMgfHwgW10pLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbikgPT4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjaGlsZFRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pKSlcbiAgICB9LCB0cmFuc2FjdGlvbik7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gYWJzdHJhY3QgZm9ybSwgdW5pdmVyc2FsIG1ldGhvZCBnZXRBcnJheShhcnJheU5hbWUpXG4gICAqL1xuICBnZXQgbWV0YUZpZWxkc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBpc1NwbGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW1vdW50UGVyY2VudCcpLmVuYWJsZWQ7XG4gIH1cblxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZSA9PT0gVGFua1R5cGVFbnVtLlBFUlNPTkFMO1xuICB9XG5cbiAgYWRkQ2hpbGRUcmFuc2FjdGlvbkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnB1c2goXG4gICAgICBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3VibWl0KCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHNBcnJheS5jb250cm9scy5tYXAoKG1ldGFGaWVsZEZvcm06IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKSA9PiBtZXRhRmllbGRGb3JtLnN1Ym1pdCgpKVxuICAgIH07XG5cbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEsIHRydWUpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuSW5jb21lU291cmNlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG5cbiAgICAgIGlmICghY2hhcnRBY2NvdW50cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG5cbiAgICAgIC8vIFVzZXIgaGF2ZSB0byBzZWxlY3QgaW5jb21lIHNvdXJjZSBmb3Igd29yayBpbmNvbWVcbiAgICAgIGlmIChjaGFydEFjY291bnRzLmlzV29ya0luY29tZSgpKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWJ1aWxkIG1ldGEgZmllbGRzXG4gICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5jbGVhcigpO1xuICAgICAgY2hhcnRBY2NvdW50cy5tZXRhRmllbGRzLmZvckVhY2goKGNoYXJ0QWNjb3VudHNNZXRhRmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhRmllbGQpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkucHVzaChcbiAgICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0oXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCwgeyBjaGFydEFjY291bnRzTWV0YUZpZWxkIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHNvbGUgdHJhZGVyIHJlZ2lzdGVyZWQgYW5kIGNoYXJ0QWNjb3VudHMgaXMgZWxpZ2libGUgZm9yIGdzdFxuICAgICAgaWYgKHRoaXMuaXNHU1QgJiYgY2hhcnRBY2NvdW50cy5pc0dTVCkge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENoaWxkIHRyYW5zYWN0aW9uIGFsbG93YW5jZSBkZXBlbmRzIG9uIHRhbmsgdHlwZS5cbiAgICogQWxzbyBjaGFydCBhY2NvdW50cyBhcmUgZGlmZmVyZW50LCBzbyB3ZSBqdXN0IHJlc2V0IGNoaWxkIHRyYW5zYWN0aW9ucyB3aGVuIHRhbmsgdHlwZSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRhbmtUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYnVzaW5lc3MnKS5yZXNldCgpO1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LmNsZWFyKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0IGluIGNhc2UgaWYgd2UgaGF2ZSBhdCBsZWFzdCAxIHNhbGFyeUZvcmVjYXN0c1xuICAgICAgaWYgKGluY29tZVNvdXJjZSBpbnN0YW5jZW9mIEluY29tZVNvdXJjZSAmJiBpbmNvbWVTb3VyY2UuaXNXb3JrSW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZVxuICAgICAgICAmJiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,188 @@
|
|
1
|
+
import { AbstractForm } from '../abstract.form';
|
2
|
+
import { AllocationRuleTransaction, CHART_ACCOUNTS_CATEGORIES } from '../../models';
|
3
|
+
import { plainToClass } from 'class-transformer';
|
4
|
+
import { FormArray, FormControl, Validators } from '@angular/forms';
|
5
|
+
import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
|
6
|
+
import { AllocationRuleConditionForm } from './allocation-rule-condition.form';
|
7
|
+
import { AllocationRuleTransactionForm } from './allocation-rule-transaction.form';
|
8
|
+
import { AllocationRuleTypeEnum } from '../../db/Enums';
|
9
|
+
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
10
|
+
import intersection from 'lodash/intersection';
|
11
|
+
import { RxwebValidators } from '@rxweb/reactive-form-validators';
|
12
|
+
/**
|
13
|
+
* @TODO move aux methods like isSplittable/isTaxFieldHidden/etc (used in view with ngIf) to properties to improve perf
|
14
|
+
*/
|
15
|
+
export class AllocationRuleForm extends AbstractForm {
|
16
|
+
constructor(rule, rules, isGST) {
|
17
|
+
super({
|
18
|
+
type: new FormControl(rule.type, Validators.required),
|
19
|
+
name: new FormControl(rule.name, [
|
20
|
+
Validators.required,
|
21
|
+
RxwebValidators.noneOf({ matchValues: rules.remove([rule]).mapBy('name') })
|
22
|
+
]),
|
23
|
+
conditionOperator: new FormControl(rule.conditionOperator, Validators.required),
|
24
|
+
conditions: new FormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
|
25
|
+
.map((condition) => new AllocationRuleConditionForm(condition))),
|
26
|
+
transaction: new AllocationRuleTransactionForm(rule.transaction || plainToClass(AllocationRuleTransaction, {}), isGST),
|
27
|
+
transferBankAccount: new FormControl(rule.transferBankAccount, Validators.required),
|
28
|
+
autoAllocate: new FormControl(rule.autoAllocate || false, Validators.required),
|
29
|
+
}, rule);
|
30
|
+
this.isGST = isGST;
|
31
|
+
this.listenEvents();
|
32
|
+
this.setupFieldsByType(rule.type);
|
33
|
+
this.setupFieldsByTankType(rule.transaction?.tankType);
|
34
|
+
this.updateChartAccountsCategories();
|
35
|
+
if (!this.transactionFormGroup.get('chartAccounts').value?.isClaimPercentEditable()) {
|
36
|
+
this.transactionFormGroup.get('claimPercent').disable();
|
37
|
+
}
|
38
|
+
// Disable transaction amount field when transaction has no amount (non-split)
|
39
|
+
if (!rule.transaction?.isSplit()) {
|
40
|
+
this.transactionFormGroup.get(['amountPercent']).disable();
|
41
|
+
}
|
42
|
+
}
|
43
|
+
get conditionsArray() {
|
44
|
+
return this.get('conditions');
|
45
|
+
}
|
46
|
+
get childTransactionsArray() {
|
47
|
+
return this.transactionFormGroup.get('childTransactions');
|
48
|
+
}
|
49
|
+
get transactionFormGroup() {
|
50
|
+
return this.get('transaction');
|
51
|
+
}
|
52
|
+
addConditionForm() {
|
53
|
+
this.conditionsArray.push(new AllocationRuleConditionForm());
|
54
|
+
}
|
55
|
+
isTaxFieldHidden() {
|
56
|
+
const chartAccounts = this.transactionFormGroup.get('chartAccounts').value;
|
57
|
+
return !chartAccounts || !chartAccounts.hasTaxField();
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* TODO Alex: disable sole tank in form control when income selected
|
61
|
+
*/
|
62
|
+
isTransactionFieldsHidden() {
|
63
|
+
return this.transactionFormGroup.get('tankType').value === null || this.currentValue.isSoleIncome();
|
64
|
+
}
|
65
|
+
submit() {
|
66
|
+
const data = {
|
67
|
+
conditions: this.conditionsArray.controls.map((conditionForm) => conditionForm.submit()),
|
68
|
+
transaction: null,
|
69
|
+
};
|
70
|
+
if (!this.currentValue.isTransfer()) {
|
71
|
+
data.transaction = this.transactionFormGroup.submit();
|
72
|
+
}
|
73
|
+
return super.submit(data);
|
74
|
+
}
|
75
|
+
isSplittable() {
|
76
|
+
return this.get('type').value === AllocationRuleTypeEnum.EXPENSE || this.transactionFormGroup.isPersonal();
|
77
|
+
}
|
78
|
+
listenEvents() {
|
79
|
+
this.listenTankTypeChanges();
|
80
|
+
this.listenTypeChanges();
|
81
|
+
}
|
82
|
+
listenTypeChanges() {
|
83
|
+
this.get('type').valueChanges.subscribe((type) => {
|
84
|
+
this.setupFieldsByType(type);
|
85
|
+
this.updateChartAccountsCategories();
|
86
|
+
// we have different fields for different types
|
87
|
+
// @TODO separated reinit method if we need it anywhere else
|
88
|
+
this.transactionFormGroup.setValue(new AllocationRuleTransactionForm(plainToClass(AllocationRuleTransaction, {}), this.isGST).getRawValue());
|
89
|
+
});
|
90
|
+
}
|
91
|
+
listenTankTypeChanges() {
|
92
|
+
this.transactionFormGroup.get('tankType').valueChanges.subscribe((tankType) => {
|
93
|
+
this.updateChartAccountsCategories();
|
94
|
+
this.setupFieldsByTankType(tankType);
|
95
|
+
});
|
96
|
+
}
|
97
|
+
/**
|
98
|
+
* Update list of chart accounts categories allowed for transaction
|
99
|
+
* Depends on transaction type and tank type
|
100
|
+
*/
|
101
|
+
updateChartAccountsCategories() {
|
102
|
+
// We use unique one Chart Accounts for transfer
|
103
|
+
if (this.currentValue.isTransfer()) {
|
104
|
+
this.chartAccountsCategories = null;
|
105
|
+
return;
|
106
|
+
}
|
107
|
+
const excludedCategories = [...CHART_ACCOUNTS_CATEGORIES.depreciation];
|
108
|
+
this.chartAccountsCategories = intersection(CHART_ACCOUNTS_CATEGORIES[this.currentValue.typeLabel], CHART_ACCOUNTS_CATEGORIES[this.tankTypeLabel])
|
109
|
+
.filter((category) => !excludedCategories.includes(category));
|
110
|
+
}
|
111
|
+
get tankTypeLabel() {
|
112
|
+
switch (this.transactionFormGroup.get('tankType').value) {
|
113
|
+
case TankTypeEnum.WORK:
|
114
|
+
return 'work';
|
115
|
+
case TankTypeEnum.PROPERTY:
|
116
|
+
return 'property';
|
117
|
+
case TankTypeEnum.SOLE:
|
118
|
+
return 'sole';
|
119
|
+
case TankTypeEnum.HOLDING:
|
120
|
+
return 'holding';
|
121
|
+
default:
|
122
|
+
return 'personal';
|
123
|
+
}
|
124
|
+
}
|
125
|
+
setupFieldsByType(type) {
|
126
|
+
switch (type) {
|
127
|
+
case AllocationRuleTypeEnum.EXPENSE:
|
128
|
+
case AllocationRuleTypeEnum.INCOME:
|
129
|
+
this.get('transaction').enable({ emitEvent: false });
|
130
|
+
this.get('transferBankAccount').disable({ emitEvent: false });
|
131
|
+
// disable transaction amount field when value is empty
|
132
|
+
// disable manually because code above enables this field
|
133
|
+
if (!this.transactionFormGroup.get(['amountPercent']).value) {
|
134
|
+
this.transactionFormGroup.get(['amountPercent']).disable();
|
135
|
+
}
|
136
|
+
break;
|
137
|
+
case AllocationRuleTypeEnum.TRANSFER:
|
138
|
+
this.get('transaction').disable({ emitEvent: false });
|
139
|
+
this.get('transferBankAccount').enable({ emitEvent: false });
|
140
|
+
return;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
setupFieldsByTankType(tankType) {
|
144
|
+
// First disable tankType-related fields, second enable for selected tank type
|
145
|
+
this.transactionFormGroup.get('property').disable({ emitEvent: false });
|
146
|
+
this.transactionFormGroup.get('business').disable({ emitEvent: false });
|
147
|
+
this.transactionFormGroup.get('incomeSource').disable({ emitEvent: false });
|
148
|
+
switch (tankType) {
|
149
|
+
case TankTypeEnum.WORK:
|
150
|
+
this.transactionFormGroup.get('incomeSource').enable({ emitEvent: false });
|
151
|
+
break;
|
152
|
+
case TankTypeEnum.PROPERTY:
|
153
|
+
this.transactionFormGroup.get('property').enable({ emitEvent: false });
|
154
|
+
break;
|
155
|
+
case TankTypeEnum.SOLE:
|
156
|
+
this.transactionFormGroup.get('business').enable({ emitEvent: false });
|
157
|
+
break;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
isIncome() {
|
161
|
+
return this.get('type').value === AllocationRuleTypeEnum.INCOME;
|
162
|
+
}
|
163
|
+
isExpense() {
|
164
|
+
return this.get('type').value === AllocationRuleTypeEnum.EXPENSE;
|
165
|
+
}
|
166
|
+
isTransfer() {
|
167
|
+
return this.get('type').value === AllocationRuleTypeEnum.TRANSFER;
|
168
|
+
}
|
169
|
+
isPropertyTank() {
|
170
|
+
return this.get('transaction').get('tankType').value === TankTypeEnum.PROPERTY;
|
171
|
+
}
|
172
|
+
isWorkTank() {
|
173
|
+
return this.get('transaction').get('tankType').value === TankTypeEnum.WORK;
|
174
|
+
}
|
175
|
+
isSoleTank() {
|
176
|
+
return this.get('transaction').get('tankType').value === TankTypeEnum.SOLE;
|
177
|
+
}
|
178
|
+
isPropertyIncome() {
|
179
|
+
return this.isIncome() && this.isPropertyTank();
|
180
|
+
}
|
181
|
+
isWorkIncome() {
|
182
|
+
return this.isIncome() && this.isWorkTank();
|
183
|
+
}
|
184
|
+
isSoleIncome() {
|
185
|
+
return this.isIncome() && this.isSoleTank();
|
186
|
+
}
|
187
|
+
}
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQTZCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE0QjtJQUdsRSxZQUFZLElBQW9CLEVBQUUsS0FBK0IsRUFBVSxLQUFjO1FBQ3ZGLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FB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LE9BQU8sQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsUUFBUSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNqRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZSwgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IHsgUnh3ZWJWYWxpZGF0b3JzIH0gZnJvbSAnQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogQFRPRE8gbW92ZSBhdXggbWV0aG9kcyBsaWtlIGlzU3BsaXR0YWJsZS9pc1RheEZpZWxkSGlkZGVuL2V0YyAodXNlZCBpbiB2aWV3IHdpdGggbmdJZikgdG8gcHJvcGVydGllcyB0byBpbXByb3ZlIHBlcmZcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW107XG5cbiAgY29uc3RydWN0b3IocnVsZTogQWxsb2NhdGlvblJ1bGUsIHJ1bGVzOiBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24sIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgRm9ybUNvbnRyb2wocnVsZS50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChydWxlLm5hbWUsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgUnh3ZWJWYWxpZGF0b3JzLm5vbmVPZih7IG1hdGNoVmFsdWVzOiBydWxlcy5yZW1vdmUoW3J1bGVdKS5tYXBCeSgnbmFtZScpIH0pXG4gICAgICBdKSxcbiAgICAgIGNvbmRpdGlvbk9wZXJhdG9yOiBuZXcgRm9ybUNvbnRyb2wocnVsZS5jb25kaXRpb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgRm9ybUNvbnRyb2wocnVsZS50cmFuc2ZlckJhbmtBY2NvdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGF1dG9BbGxvY2F0ZTogbmV3IEZvcm1Db250cm9sKHJ1bGUuYXV0b0FsbG9jYXRlIHx8IGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9LCBydWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZShydWxlLnR5cGUpO1xuICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHJ1bGUudHJhbnNhY3Rpb24/LnRhbmtUeXBlKTtcbiAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU/LmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRyYW5zYWN0aW9uIGFtb3VudCBmaWVsZCB3aGVuIHRyYW5zYWN0aW9uIGhhcyBubyBhbW91bnQgKG5vbi1zcGxpdClcbiAgICBpZiAoIXJ1bGUudHJhbnNhY3Rpb24/LmlzU3BsaXQoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZGl0aW9uc0FycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IGNoaWxkVHJhbnNhY3Rpb25zQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import { UntypedFormControl, Validators } from '@angular/forms';
|
2
|
+
import { autocompleteValidator, conditionalValidator, matchSumValidator } from '../../../validators';
|
3
|
+
import { TransactionOperationEnum } from '../../../db/Enums/transaction-operation.enum';
|
4
|
+
import { WorkTransactionForm } from '../work/work-transaction.form';
|
5
|
+
import { ChartAccountsMetaFieldListEnum } from '../../../db/Enums';
|
6
|
+
export class HoldingIncomeForm extends WorkTransactionForm {
|
7
|
+
/**
|
8
|
+
* @TODO vik partial copyPast from workIncomeForm
|
9
|
+
*/
|
10
|
+
constructor(transaction, registeredForGst, allocations) {
|
11
|
+
super(transaction, registeredForGst, allocations, {
|
12
|
+
tax: new UntypedFormControl(transaction.tax, Validators.required),
|
13
|
+
incomeSource: new UntypedFormControl(transaction.incomeSource, [Validators.required, autocompleteValidator()]),
|
14
|
+
});
|
15
|
+
// transactionAmount=frankedAmount + unfrankedAmount
|
16
|
+
this.get('amount').setValidators([Validators.required, conditionalValidator(() => this.get('chartAccounts').value && this.get('chartAccounts').value.isDividends(), matchSumValidator(this.getAmountComponents))]);
|
17
|
+
// forbid to edit some fields for allocated transaction
|
18
|
+
if (allocations.length) {
|
19
|
+
this.get('chartAccounts').disable();
|
20
|
+
}
|
21
|
+
this.get('transactions').disable();
|
22
|
+
// amount changes are not available for transactions with allocations or during allocate process
|
23
|
+
if (allocations.length || transaction.operation === TransactionOperationEnum.ALLOCATE) {
|
24
|
+
this.get('amount').disable();
|
25
|
+
}
|
26
|
+
}
|
27
|
+
/**
|
28
|
+
* metafields components of transactionAmount
|
29
|
+
*/
|
30
|
+
getAmountComponents() {
|
31
|
+
return this.metaFields.controls.filter((formGroup) => [ChartAccountsMetaFieldListEnum.FRANKED, ChartAccountsMetaFieldListEnum.UNFRANKED].includes(formGroup.get('chartAccountsMetaField').value.id)).map(formGroup => formGroup.get('value'));
|
32
|
+
}
|
33
|
+
listenEvents() {
|
34
|
+
this.listenChartAccountsChanges();
|
35
|
+
}
|
36
|
+
get metaFields() {
|
37
|
+
return this.get('metaFields');
|
38
|
+
}
|
39
|
+
get frankingCredit() {
|
40
|
+
return this.metaFields.controls.find((group) => group.get('chartAccountsMetaField').value.isFrankingCredit())?.get('value');
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* @TODO Alex/Vik: probably we need some database changes related to metafields.
|
44
|
+
* Now we have the following custom metafields behaviour:
|
45
|
+
* - % of share field should be 100 by default (now handled by WorkTransactionForm)
|
46
|
+
* - Franked and Unfranked sum should be equal to transaction amount
|
47
|
+
* - Franked field has custom message (mat-hint) (now handled by HoldingIncomeFormComponent)
|
48
|
+
* - some metafields required, but some not (now handled by HoldingIncomeForm)
|
49
|
+
*/
|
50
|
+
listenChartAccountsChanges() {
|
51
|
+
this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
|
52
|
+
if (!chartAccounts.isDividends()) {
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
this.frankingCredit.setValidators(Validators.required);
|
56
|
+
});
|
57
|
+
}
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1pbmNvbWUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9ob2xkaW5nL2hvbGRpbmctaW5jb21lLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF5QyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBQ3hEOztPQUVHO0lBQ0gsWUFBWSxXQUF3QixFQUFFLGdCQUF5QixFQUFFLFdBQW9DO1FBQ25HLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFO1lBQ2hELEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRSxZQUFZLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7U0FDL0csQ0FBQyxDQUFDO1FBRUgsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FDekUsR0FBWSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQy9GLGlCQUFpQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVKLHVEQUF1RDtRQUN2RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsZ0dBQWdHO1FBQ2hHLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsU0FBUyxLQUFLLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBb0IsRUFBRSxFQUFFLENBQzlELENBQUMsOEJBQThCLENBQUMsT0FBTyxFQUFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUM5SSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEMsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQ25GLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTRCLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNoQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydEFjY291bnRzLCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBhdXRvY29tcGxldGVWYWxpZGF0b3IsIGNvbmRpdGlvbmFsVmFsaWRhdG9yLCBtYXRjaFN1bVZhbGlkYXRvciB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgV29ya1RyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4uL3dvcmsvd29yay10cmFuc2FjdGlvbi5mb3JtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdJbmNvbWVGb3JtIGV4dGVuZHMgV29ya1RyYW5zYWN0aW9uRm9ybSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgLyoqXG4gICAqIEBUT0RPIHZpayBwYXJ0aWFsIGNvcHlQYXN0IGZyb20gd29ya0luY29tZUZvcm1cbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbiwgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdKSB7XG4gICAgc3VwZXIodHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIGFsbG9jYXRpb25zLCB7XG4gICAgICB0YXg6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24udGF4LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGluY29tZVNvdXJjZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBhdXRvY29tcGxldGVWYWxpZGF0b3IoKV0pLFxuICAgIH0pO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25BbW91bnQ9ZnJhbmtlZEFtb3VudCArIHVuZnJhbmtlZEFtb3VudFxuICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBjb25kaXRpb25hbFZhbGlkYXRvcihcbiAgICAgICgpOiBib29sZWFuID0+IHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUgJiYgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZS5pc0RpdmlkZW5kcygpLFxuICAgICAgbWF0Y2hTdW1WYWxpZGF0b3IodGhpcy5nZXRBbW91bnRDb21wb25lbnRzKVxuICAgICldKTtcblxuICAgIC8vIGZvcmJpZCB0byBlZGl0IHNvbWUgZmllbGRzIGZvciBhbGxvY2F0ZWQgdHJhbnNhY3Rpb25cbiAgICBpZiAoYWxsb2NhdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLmRpc2FibGUoKTtcbiAgICB9XG4gICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9ucycpLmRpc2FibGUoKTtcbiAgICAvLyBhbW91bnQgY2hhbmdlcyBhcmUgbm90IGF2YWlsYWJsZSBmb3IgdHJhbnNhY3Rpb25zIHdpdGggYWxsb2NhdGlvbnMgb3IgZHVyaW5nIGFsbG9jYXRlIHByb2Nlc3NcbiAgICBpZiAoYWxsb2NhdGlvbnMubGVuZ3RoIHx8IHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkFMTE9DQVRFKSB7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBtZXRhZmllbGRzIGNvbXBvbmVudHMgb2YgdHJhbnNhY3Rpb25BbW91bnRcbiAgICovXG4gIGdldEFtb3VudENvbXBvbmVudHMoKTogQWJzdHJhY3RDb250cm9sW10ge1xuICAgIHJldHVybiB0aGlzLm1ldGFGaWVsZHMuY29udHJvbHMuZmlsdGVyKChmb3JtR3JvdXA6IEZvcm1Hcm91cCkgPT5cbiAgICAgIFtDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRlJBTktFRCwgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlVORlJBTktFRF0uaW5jbHVkZXMoZm9ybUdyb3VwLmdldCgnY2hhcnRBY2NvdW50c01ldGFGaWVsZCcpLnZhbHVlLmlkKVxuICAgICkubWFwKGZvcm1Hcm91cCA9PiBmb3JtR3JvdXAuZ2V0KCd2YWx1ZScpKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgbWV0YUZpZWxkcygpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBmcmFua2luZ0NyZWRpdCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLm1ldGFGaWVsZHMuY29udHJvbHMuZmluZChcbiAgICAgIChncm91cDogRm9ybUdyb3VwKSA9PiBncm91cC5nZXQoJ2NoYXJ0QWNjb3VudHNNZXRhRmllbGQnKS52YWx1ZS5pc0ZyYW5raW5nQ3JlZGl0KClcbiAgICApPy5nZXQoJ3ZhbHVlJyk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleC9WaWs6IHByb2JhYmx5IHdlIG5lZWQgc29tZSBkYXRhYmFzZSBjaGFuZ2VzIHJlbGF0ZWQgdG8gbWV0YWZpZWxkcy5cbiAgICogTm93IHdlIGhhdmUgdGhlIGZvbGxvd2luZyBjdXN0b20gbWV0YWZpZWxkcyBiZWhhdmlvdXI6XG4gICAqIC0gJSBvZiBzaGFyZSBmaWVsZCBzaG91bGQgYmUgMTAwIGJ5IGRlZmF1bHQgKG5vdyBoYW5kbGVkIGJ5IFdvcmtUcmFuc2FjdGlvbkZvcm0pXG4gICAqIC0gRnJhbmtlZCBhbmQgVW5mcmFua2VkIHN1bSBzaG91bGQgYmUgZXF1YWwgdG8gdHJhbnNhY3Rpb24gYW1vdW50XG4gICAqIC0gRnJhbmtlZCBmaWVsZCBoYXMgY3VzdG9tIG1lc3NhZ2UgKG1hdC1oaW50KSAobm93IGhhbmRsZWQgYnkgSG9sZGluZ0luY29tZUZvcm1Db21wb25lbnQpXG4gICAqIC0gc29tZSBtZXRhZmllbGRzIHJlcXVpcmVkLCBidXQgc29tZSBub3QgKG5vdyBoYW5kbGVkIGJ5IEhvbGRpbmdJbmNvbWVGb3JtKVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5DaGFydEFjY291bnRzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIGlmICghY2hhcnRBY2NvdW50cy5pc0RpdmlkZW5kcygpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5mcmFua2luZ0NyZWRpdC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export * from './allocation-rule.form';
|
2
|
+
export * from './transaction-base.form';
|
3
|
+
export * from './transaction.form';
|
4
|
+
export * from './sole/sole-income.form';
|
5
|
+
export * from './work/work-income.form';
|
6
|
+
export * from './work/work-expense.form';
|
7
|
+
export * from './holding/holding-income.form';
|
8
|
+
export * from './transaction-base-filter.form';
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9zb2xlL3NvbGUtaW5jb21lLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrL3dvcmstaW5jb21lLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrL3dvcmstZXhwZW5zZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy9ob2xkaW5nLWluY29tZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS1maWx0ZXIuZm9ybSc7XG4iXX0=
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export var MessagesEnum;
|
2
|
+
(function (MessagesEnum) {
|
3
|
+
MessagesEnum["DATE_VALIDATION_ERROR"] = "The transaction date is before the ownership date, please update the date to confirm";
|
4
|
+
})(MessagesEnum || (MessagesEnum = {}));
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9tZXNzYWdlcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBRVg7QUFGRCxXQUFZLFlBQVk7SUFDdEIsOEhBQThHLENBQUE7QUFDaEgsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVzc2FnZXNFbnVtIHtcbiAgREFURV9WQUxJREFUSU9OX0VSUk9SID0gJ1RoZSB0cmFuc2FjdGlvbiBkYXRlIGlzIGJlZm9yZSB0aGUgb3duZXJzaGlwIGRhdGUsIHBsZWFzZSB1cGRhdGUgdGhlIGRhdGUgdG8gY29uZmlybSdcbn1cbiJdfQ==
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { TransactionOperationEnum } from '../../../db/Enums/transaction-operation.enum';
|
2
|
+
import { SoleTransactionForm } from './sole-transaction.form';
|
3
|
+
export class SoleIncomeForm extends SoleTransactionForm {
|
4
|
+
constructor(transaction, allocations, registeredForGst) {
|
5
|
+
super(transaction, registeredForGst, allocations, {});
|
6
|
+
// @TODO Alex: copypasted from work income form
|
7
|
+
// forbid to edit some fields for allocated transaction
|
8
|
+
if (allocations.length) {
|
9
|
+
this.get('chartAccounts').disable();
|
10
|
+
}
|
11
|
+
// amount changes are not available for transactions with allocations or during allocate process
|
12
|
+
if (allocations.length || transaction.operation === TransactionOperationEnum.ALLOCATE) {
|
13
|
+
this.get('amount').disable();
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbmNvbWUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9zb2xlL3NvbGUtaW5jb21lLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7SUFDckQsWUFBWSxXQUF3QixFQUFFLFdBQW9DLEVBQUUsZ0JBQXlCO1FBRW5HLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXRELCtDQUErQztRQUUvQyx1REFBdUQ7UUFDdkQsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDckM7UUFFRCxnR0FBZ0c7UUFDaEcsSUFBSSxXQUFXLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxTQUFTLEtBQUssd0JBQXdCLENBQUMsUUFBUSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IFNvbGVUcmFuc2FjdGlvbkZvcm0gfSBmcm9tICcuL3NvbGUtdHJhbnNhY3Rpb24uZm9ybSc7XG5cbmV4cG9ydCBjbGFzcyBTb2xlSW5jb21lRm9ybSBleHRlbmRzIFNvbGVUcmFuc2FjdGlvbkZvcm0ge1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSwgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbikge1xuXG4gICAgc3VwZXIodHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIGFsbG9jYXRpb25zLCB7fSk7XG5cbiAgICAvLyBAVE9ETyBBbGV4OiBjb3B5cGFzdGVkIGZyb20gd29yayBpbmNvbWUgZm9ybVxuXG4gICAgLy8gZm9yYmlkIHRvIGVkaXQgc29tZSBmaWVsZHMgZm9yIGFsbG9jYXRlZCB0cmFuc2FjdGlvblxuICAgIGlmIChhbGxvY2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIGFtb3VudCBjaGFuZ2VzIGFyZSBub3QgYXZhaWxhYmxlIGZvciB0cmFuc2FjdGlvbnMgd2l0aCBhbGxvY2F0aW9ucyBvciBkdXJpbmcgYWxsb2NhdGUgcHJvY2Vzc1xuICAgIGlmIChhbGxvY2F0aW9ucy5sZW5ndGggfHwgdHJhbnNhY3Rpb24ub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uQUxMT0NBVEUpIHtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { TransactionForm } from '../transaction.form';
|
2
|
+
export class SoleTransactionForm extends TransactionForm {
|
3
|
+
constructor(transaction, registeredForGst, allocations, controls = {}) {
|
4
|
+
super(transaction, registeredForGst, allocations, Object.assign(controls, {}));
|
5
|
+
}
|
6
|
+
}
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS10cmFuc2FjdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3NvbGUvc29sZS10cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQUN0RCxZQUNFLFdBQXdCLEVBQ3hCLGdCQUF5QixFQUN6QixXQUFvQyxFQUNwQyxXQUErQyxFQUFFO1FBRWpELEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkZvcm0gfSBmcm9tICcuLi90cmFuc2FjdGlvbi5mb3JtJztcblxuZXhwb3J0IGNsYXNzIFNvbGVUcmFuc2FjdGlvbkZvcm0gZXh0ZW5kcyBUcmFuc2FjdGlvbkZvcm0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sXG4gICAgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbixcbiAgICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10sXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gPSB7fVxuICApIHtcbiAgICBzdXBlcih0cmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdCwgYWxsb2NhdGlvbnMsIE9iamVjdC5hc3NpZ24oY29udHJvbHMsIHt9KSk7XG4gIH1cbn0iXX0=
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
2
|
+
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
3
|
+
export class TransactionBaseFilterForm extends FormGroup {
|
4
|
+
constructor(tankType, business, properties) {
|
5
|
+
super({
|
6
|
+
tankType: new FormControl(tankType),
|
7
|
+
business: new FormControl({ value: business, disabled: true }),
|
8
|
+
properties: new FormControl({ value: properties, disabled: true }),
|
9
|
+
dateFrom: new FormControl(),
|
10
|
+
dateTo: new FormControl(),
|
11
|
+
chartAccounts: new FormControl(),
|
12
|
+
});
|
13
|
+
this.listenEvents();
|
14
|
+
}
|
15
|
+
listenEvents() {
|
16
|
+
this.get('tankType').valueChanges.subscribe(tankType => {
|
17
|
+
tankType === TankTypeEnum.SOLE ? this.get('business').enable() : this.get('business').disable();
|
18
|
+
tankType === TankTypeEnum.PROPERTY ? this.get('properties').enable() : this.get('properties').disable();
|
19
|
+
});
|
20
|
+
}
|
21
|
+
filter(collection) {
|
22
|
+
if (!collection.length) {
|
23
|
+
return collection;
|
24
|
+
}
|
25
|
+
const value = this.value;
|
26
|
+
if (value.dateFrom) {
|
27
|
+
collection = collection.filter(transaction => transaction.date >= value.dateFrom);
|
28
|
+
}
|
29
|
+
if (value.dateTo) {
|
30
|
+
collection = collection.filter(transaction => transaction.date <= value.dateTo);
|
31
|
+
}
|
32
|
+
if (value.tankType) {
|
33
|
+
collection = collection.filterBy('tankType', value.tankType);
|
34
|
+
}
|
35
|
+
if (value.business) {
|
36
|
+
collection = collection.filterBy('business.id', value.business.id);
|
37
|
+
}
|
38
|
+
if (value.properties) {
|
39
|
+
collection = collection.filterBy('property.id', value.properties.map(property => property.id));
|
40
|
+
}
|
41
|
+
if (value.chartAccounts) {
|
42
|
+
const searchQuery = value.chartAccounts.toLowerCase().trim();
|
43
|
+
collection = collection.filter(transaction => transaction.chartAccounts.name.toLowerCase().includes(searchQuery));
|
44
|
+
}
|
45
|
+
return collection;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS1maWx0ZXIuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlLWZpbHRlci5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBYzdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUF5QztJQUN0RixZQUFZLFFBQXVCLEVBQUUsUUFBdUIsRUFBRSxVQUF1QjtRQUNuRixLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQ25DLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzlELFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xFLFFBQVEsRUFBRSxJQUFJLFdBQVcsRUFBRTtZQUMzQixNQUFNLEVBQUUsSUFBSSxXQUFXLEVBQUU7WUFDekIsYUFBYSxFQUFFLElBQUksV0FBVyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRCxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQXFGLFVBQTJCO1FBQ3BILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pGO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEc7UUFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxXQUFXLEdBQVcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ25IO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xzSW50ZXJmYWNlIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHksIFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcblxuaW50ZXJmYWNlIElUcmFuc2FjdGlvbkJhc2VGaWx0ZXJDb250cm9scyBleHRlbmRzIENvbnRyb2xzSW50ZXJmYWNlIHtcbiAgdGFua1R5cGU6IEZvcm1Db250cm9sPFRhbmtUeXBlRW51bT47XG4gIGJ1c2luZXNzOiBGb3JtQ29udHJvbDxTb2xlQnVzaW5lc3M+O1xuICBwcm9wZXJ0aWVzOiBGb3JtQ29udHJvbDxQcm9wZXJ0eVtdPlxuICBkYXRlRnJvbTogRm9ybUNvbnRyb2w8RGF0ZT47XG4gIGRhdGVUbzogRm9ybUNvbnRyb2w8RGF0ZT47XG4gIGNoYXJ0QWNjb3VudHM6IEZvcm1Db250cm9sPHN0cmluZz47XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJhc2VGaWx0ZXJGb3JtIGV4dGVuZHMgRm9ybUdyb3VwPElUcmFuc2FjdGlvbkJhc2VGaWx0ZXJDb250cm9scz4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKHRhbmtUeXBlPzogVGFua1R5cGVFbnVtLCBidXNpbmVzcz86IFNvbGVCdXNpbmVzcywgcHJvcGVydGllcz86IFByb3BlcnR5W10pIHtcbiAgICBzdXBlcih7XG4gICAgICB0YW5rVHlwZTogbmV3IEZvcm1Db250cm9sKHRhbmtUeXBlKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogYnVzaW5lc3MsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgICAgcHJvcGVydGllczogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHByb3BlcnRpZXMsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgICAgZGF0ZUZyb206IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgICAgZGF0ZVRvOiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRhbmtUeXBlID0+IHtcbiAgICAgIHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRSA/IHRoaXMuZ2V0KCdidXNpbmVzcycpLmVuYWJsZSgpIDogdGhpcy5nZXQoJ2J1c2luZXNzJykuZGlzYWJsZSgpO1xuICAgICAgdGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5QUk9QRVJUWSA/IHRoaXMuZ2V0KCdwcm9wZXJ0aWVzJykuZW5hYmxlKCkgOiB0aGlzLmdldCgncHJvcGVydGllcycpLmRpc2FibGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlcjxNb2RlbENsYXNzIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlLCBDb2xsZWN0aW9uQ2xhc3MgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsQ2xhc3M+Pihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ2xhc3MpOiBDb2xsZWN0aW9uQ2xhc3Mge1xuICAgIGlmICghY29sbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICBpZiAodmFsdWUuZGF0ZUZyb20pIHtcbiAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5kYXRlID49IHZhbHVlLmRhdGVGcm9tKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmRhdGVUbykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmRhdGUgPD0gdmFsdWUuZGF0ZVRvKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnRhbmtUeXBlKSB7XG4gICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5maWx0ZXJCeSgndGFua1R5cGUnLCB2YWx1ZS50YW5rVHlwZSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5idXNpbmVzcykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmFsdWUuYnVzaW5lc3MuaWQpO1xuICAgIH1cbiAgICBpZiAodmFsdWUucHJvcGVydGllcykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyQnkoJ3Byb3BlcnR5LmlkJywgdmFsdWUucHJvcGVydGllcy5tYXAocHJvcGVydHkgPT4gcHJvcGVydHkuaWQpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIGNvbnN0IHNlYXJjaFF1ZXJ5OiBzdHJpbmcgPSB2YWx1ZS5jaGFydEFjY291bnRzLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFF1ZXJ5KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH1cbn1cbiJdfQ==
|