@hitsoft/kadooglu-keops 0.0.1
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 +24 -0
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +23 -0
- package/config/index.d.ts +5 -0
- package/config/kadooglu-keops-config.module.d.ts +8 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/route.provider.d.ts +8 -0
- package/config/public-api.d.ts +3 -0
- package/esm2020/config/enums/index.mjs +2 -0
- package/esm2020/config/enums/route-names.mjs +2 -0
- package/esm2020/config/hitsoft-kadooglu-keops-config.mjs +5 -0
- package/esm2020/config/kadooglu-keops-config.module.mjs +18 -0
- package/esm2020/config/providers/index.mjs +2 -0
- package/esm2020/config/providers/route.provider.mjs +212 -0
- package/esm2020/config/public-api.mjs +4 -0
- package/esm2020/hitsoft-kadooglu-keops.mjs +5 -0
- package/esm2020/lib/features/container-definitions/components/container-definition-form.component.mjs +81 -0
- package/esm2020/lib/features/container-definitions/components/container-definitions.component.mjs +69 -0
- package/esm2020/lib/features/container-definitions/hit-container-definitions-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-definitions/hit-container-definitions.module.mjs +58 -0
- package/esm2020/lib/features/container-loading-counts/components/container-loading-counts.component.mjs +104 -0
- package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts.module.mjs +49 -0
- package/esm2020/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.mjs +106 -0
- package/esm2020/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.mjs +10 -0
- package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.mjs +49 -0
- package/esm2020/lib/features/container-mix-types/components/container-mix-type-form.component.mjs +78 -0
- package/esm2020/lib/features/container-mix-types/components/container-mix-types.component.mjs +69 -0
- package/esm2020/lib/features/container-mix-types/hit-container-mix-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-mix-types/hit-container-mix-types.module.mjs +58 -0
- package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.mjs +95 -0
- package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.mjs +91 -0
- package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.mjs +58 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +103 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-result-sum.component.mjs +36 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +32 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +167 -0
- package/esm2020/lib/features/cost-calculation/cost-calculation.models.mjs +2 -0
- package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +21 -0
- package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +55 -0
- package/esm2020/lib/features/cost-calculation/engine/index.mjs +4 -0
- package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +38 -0
- package/esm2020/lib/features/cost-calculation/engine/models.mjs +20 -0
- package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +56 -0
- package/esm2020/lib/features/cost-calculation/hit-cost-calculation-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-calculation/hit-cost-calculation.module.mjs +64 -0
- package/esm2020/lib/features/cost-groups/components/cost-group-form.component.mjs +121 -0
- package/esm2020/lib/features/cost-groups/components/cost-groups.component.mjs +92 -0
- package/esm2020/lib/features/cost-groups/cost-group-role-l10n-helper.mjs +20 -0
- package/esm2020/lib/features/cost-groups/hit-cost-groups-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-groups/hit-cost-groups.module.mjs +58 -0
- package/esm2020/lib/features/cost-items/components/cost-item-form.component.mjs +88 -0
- package/esm2020/lib/features/cost-items/components/cost-items.component.mjs +73 -0
- package/esm2020/lib/features/cost-items/cost-item-l10n-helper.mjs +7 -0
- package/esm2020/lib/features/cost-items/hit-cost-items-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-items/hit-cost-items.module.mjs +58 -0
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +73 -0
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +93 -0
- package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +9 -0
- package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.mjs +58 -0
- package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +131 -0
- package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +93 -0
- package/esm2020/lib/features/cost-parameters/cost-parameter-l10n-helper.mjs +7 -0
- package/esm2020/lib/features/cost-parameters/hit-cost-parameters-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-parameters/hit-cost-parameters.module.mjs +61 -0
- package/esm2020/lib/features/exchange-rates/components/central-bank-rates.component.mjs +17 -0
- package/esm2020/lib/features/exchange-rates/components/exchange-rates.component.mjs +30 -0
- package/esm2020/lib/features/exchange-rates/components/fixed-rates-form.component.mjs +84 -0
- package/esm2020/lib/features/exchange-rates/hit-exchange-rates-routing.module.mjs +29 -0
- package/esm2020/lib/features/exchange-rates/hit-exchange-rates.module.mjs +65 -0
- package/esm2020/lib/features/index.mjs +15 -0
- package/esm2020/lib/features/packaging-materials/components/packaging-material-form.component.mjs +87 -0
- package/esm2020/lib/features/packaging-materials/components/packaging-materials.component.mjs +69 -0
- package/esm2020/lib/features/packaging-materials/hit-packaging-materials-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-materials/hit-packaging-materials.module.mjs +58 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-price-form.component.mjs +154 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-price-lines.component.mjs +89 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-prices.component.mjs +86 -0
- package/esm2020/lib/features/packaging-prices/hit-packaging-prices-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-prices/hit-packaging-prices.module.mjs +71 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-calculator.mjs +36 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-excel.service.mjs +32 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-form.factory.mjs +31 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-lines.builder.mjs +49 -0
- package/esm2020/lib/features/packaging-types/components/packaging-type-form.component.mjs +78 -0
- package/esm2020/lib/features/packaging-types/components/packaging-types.component.mjs +69 -0
- package/esm2020/lib/features/packaging-types/hit-packaging-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-types/hit-packaging-types.module.mjs +58 -0
- package/esm2020/lib/features/pallet-definitions/components/pallet-definition-form.component.mjs +80 -0
- package/esm2020/lib/features/pallet-definitions/components/pallet-definitions.component.mjs +69 -0
- package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.mjs +29 -0
- package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions.module.mjs +58 -0
- package/esm2020/lib/features/price-parameter-types/components/price-parameter-type-form.component.mjs +79 -0
- package/esm2020/lib/features/price-parameter-types/components/price-parameter-types.component.mjs +69 -0
- package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types.module.mjs +58 -0
- package/esm2020/lib/features/sap-sales-persons/components/sap-sales-person-form.component.mjs +69 -0
- package/esm2020/lib/features/sap-sales-persons/components/sap-sales-persons.component.mjs +53 -0
- package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.mjs +29 -0
- package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons.module.mjs +61 -0
- package/esm2020/lib/features/settings/components/cost-settings.component.mjs +48 -0
- package/esm2020/lib/kadooglu-keops-routing.module.mjs +53 -0
- package/esm2020/lib/kadooglu-keops.module.mjs +53 -0
- package/esm2020/lib/proxy/container-definitions/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-definitions/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-definitions/index.mjs +3 -0
- package/esm2020/lib/proxy/container-loading-counts/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-counts/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-counts/index.mjs +4 -0
- package/esm2020/lib/proxy/container-loading-counts/loading-target-kind.enum.mjs +8 -0
- package/esm2020/lib/proxy/container-loading-scenarios/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-scenarios/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-scenarios/index.mjs +4 -0
- package/esm2020/lib/proxy/container-loading-scenarios/pallet-status.enum.mjs +8 -0
- package/esm2020/lib/proxy/container-mix-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-mix-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-mix-types/index.mjs +3 -0
- package/esm2020/lib/proxy/container-pallet-capacities/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-pallet-capacities/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-pallet-capacities/index.mjs +3 -0
- package/esm2020/lib/proxy/controllers/container-definition.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/container-loading-count.service.mjs +31 -0
- package/esm2020/lib/proxy/controllers/container-loading-scenario.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/container-mix-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/container-pallet-capacity.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-group.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-item.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-parameter-category.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-parameter.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-settings.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/exchange-rate.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/index.mjs +19 -0
- package/esm2020/lib/proxy/controllers/item.service.mjs +23 -0
- package/esm2020/lib/proxy/controllers/packaging-material.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/packaging-price.service.mjs +55 -0
- package/esm2020/lib/proxy/controllers/packaging-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/pallet-definition.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/price-parameter-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/sap-sales-person.service.mjs +27 -0
- package/esm2020/lib/proxy/cost-groups/cost-group-role.enum.mjs +10 -0
- package/esm2020/lib/proxy/cost-groups/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-groups/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-groups/index.mjs +4 -0
- package/esm2020/lib/proxy/cost-items/cost-item-calculation-type.enum.mjs +9 -0
- package/esm2020/lib/proxy/cost-items/cost-item-system-code.enum.mjs +20 -0
- package/esm2020/lib/proxy/cost-items/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-items/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-items/index.mjs +5 -0
- package/esm2020/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +11 -0
- package/esm2020/lib/proxy/cost-parameter-categories/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameter-categories/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameter-categories/index.mjs +4 -0
- package/esm2020/lib/proxy/cost-parameters/cost-parameter-status.enum.mjs +9 -0
- package/esm2020/lib/proxy/cost-parameters/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameters/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameters/index.mjs +4 -0
- package/esm2020/lib/proxy/currencies/currency.enum.mjs +9 -0
- package/esm2020/lib/proxy/currencies/index.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/exchange-rate-source.enum.mjs +8 -0
- package/esm2020/lib/proxy/exchange-rates/index.mjs +4 -0
- package/esm2020/lib/proxy/index.mjs +22 -0
- package/esm2020/lib/proxy/items/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/items/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/items/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-materials/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-materials/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-materials/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-prices/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-prices/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-prices/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-types/index.mjs +3 -0
- package/esm2020/lib/proxy/pallet-definitions/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/pallet-definitions/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/pallet-definitions/index.mjs +3 -0
- package/esm2020/lib/proxy/price-parameter-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/price-parameter-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/price-parameter-types/index.mjs +3 -0
- package/esm2020/lib/proxy/sales-persons/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/sales-persons/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/sales-persons/index.mjs +3 -0
- package/esm2020/lib/proxy/settings/index.mjs +2 -0
- package/esm2020/lib/proxy/settings/models.mjs +2 -0
- package/esm2020/lib/utils/currency.utils.mjs +8 -0
- package/esm2020/lib/utils/date.utils.mjs +12 -0
- package/esm2020/lib/utils/number.utils.mjs +9 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs +235 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -0
- package/fesm2015/hitsoft-kadooglu-keops.mjs +5243 -0
- package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs +235 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu-keops.mjs +5196 -0
- package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/features/container-definitions/components/container-definition-form.component.d.ts +25 -0
- package/lib/features/container-definitions/components/container-definitions.component.d.ts +23 -0
- package/lib/features/container-definitions/hit-container-definitions-routing.module.d.ts +7 -0
- package/lib/features/container-definitions/hit-container-definitions.module.d.ts +18 -0
- package/lib/features/container-loading-counts/components/container-loading-counts.component.d.ts +29 -0
- package/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.d.ts +7 -0
- package/lib/features/container-loading-counts/hit-container-loading-counts.module.d.ts +15 -0
- package/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.d.ts +40 -0
- package/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.d.ts +3 -0
- package/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.d.ts +7 -0
- package/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.d.ts +15 -0
- package/lib/features/container-mix-types/components/container-mix-type-form.component.d.ts +25 -0
- package/lib/features/container-mix-types/components/container-mix-types.component.d.ts +23 -0
- package/lib/features/container-mix-types/hit-container-mix-types-routing.module.d.ts +7 -0
- package/lib/features/container-mix-types/hit-container-mix-types.module.d.ts +18 -0
- package/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.d.ts +33 -0
- package/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.d.ts +29 -0
- package/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.d.ts +7 -0
- package/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.d.ts +18 -0
- package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +43 -0
- package/lib/features/cost-calculation/components/cost-calculation-result-sum.component.d.ts +16 -0
- package/lib/features/cost-calculation/components/cost-calculation-results.component.d.ts +12 -0
- package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +51 -0
- package/lib/features/cost-calculation/cost-calculation.models.d.ts +18 -0
- package/lib/features/cost-calculation/engine/currency.utils.d.ts +4 -0
- package/lib/features/cost-calculation/engine/formulas.d.ts +7 -0
- package/lib/features/cost-calculation/engine/index.d.ts +3 -0
- package/lib/features/cost-calculation/engine/item-resolver.d.ts +4 -0
- package/lib/features/cost-calculation/engine/models.d.ts +64 -0
- package/lib/features/cost-calculation/engine/stage-builder.d.ts +4 -0
- package/lib/features/cost-calculation/hit-cost-calculation-routing.module.d.ts +7 -0
- package/lib/features/cost-calculation/hit-cost-calculation.module.d.ts +19 -0
- package/lib/features/cost-groups/components/cost-group-form.component.d.ts +33 -0
- package/lib/features/cost-groups/components/cost-groups.component.d.ts +31 -0
- package/lib/features/cost-groups/cost-group-role-l10n-helper.d.ts +7 -0
- package/lib/features/cost-groups/hit-cost-groups-routing.module.d.ts +7 -0
- package/lib/features/cost-groups/hit-cost-groups.module.d.ts +18 -0
- package/lib/features/cost-items/components/cost-item-form.component.d.ts +30 -0
- package/lib/features/cost-items/components/cost-items.component.d.ts +24 -0
- package/lib/features/cost-items/cost-item-l10n-helper.d.ts +2 -0
- package/lib/features/cost-items/hit-cost-items-routing.module.d.ts +7 -0
- package/lib/features/cost-items/hit-cost-items.module.d.ts +18 -0
- package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +24 -0
- package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +29 -0
- package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +2 -0
- package/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.d.ts +7 -0
- package/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.d.ts +18 -0
- package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +39 -0
- package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +30 -0
- package/lib/features/cost-parameters/cost-parameter-l10n-helper.d.ts +2 -0
- package/lib/features/cost-parameters/hit-cost-parameters-routing.module.d.ts +7 -0
- package/lib/features/cost-parameters/hit-cost-parameters.module.d.ts +18 -0
- package/lib/features/exchange-rates/components/central-bank-rates.component.d.ts +7 -0
- package/lib/features/exchange-rates/components/exchange-rates.component.d.ts +13 -0
- package/lib/features/exchange-rates/components/fixed-rates-form.component.d.ts +26 -0
- package/lib/features/exchange-rates/hit-exchange-rates-routing.module.d.ts +7 -0
- package/lib/features/exchange-rates/hit-exchange-rates.module.d.ts +19 -0
- package/lib/features/index.d.ts +10 -0
- package/lib/features/packaging-materials/components/packaging-material-form.component.d.ts +29 -0
- package/lib/features/packaging-materials/components/packaging-materials.component.d.ts +23 -0
- package/lib/features/packaging-materials/hit-packaging-materials-routing.module.d.ts +7 -0
- package/lib/features/packaging-materials/hit-packaging-materials.module.d.ts +18 -0
- package/lib/features/packaging-prices/components/packaging-price-form.component.d.ts +44 -0
- package/lib/features/packaging-prices/components/packaging-price-lines.component.d.ts +26 -0
- package/lib/features/packaging-prices/components/packaging-prices.component.d.ts +27 -0
- package/lib/features/packaging-prices/hit-packaging-prices-routing.module.d.ts +7 -0
- package/lib/features/packaging-prices/hit-packaging-prices.module.d.ts +19 -0
- package/lib/features/packaging-prices/packaging-price-calculator.d.ts +8 -0
- package/lib/features/packaging-prices/packaging-price-excel.service.d.ts +15 -0
- package/lib/features/packaging-prices/packaging-price-form.factory.d.ts +5 -0
- package/lib/features/packaging-prices/packaging-price-lines.builder.d.ts +21 -0
- package/lib/features/packaging-types/components/packaging-type-form.component.d.ts +25 -0
- package/lib/features/packaging-types/components/packaging-types.component.d.ts +23 -0
- package/lib/features/packaging-types/hit-packaging-types-routing.module.d.ts +7 -0
- package/lib/features/packaging-types/hit-packaging-types.module.d.ts +18 -0
- package/lib/features/pallet-definitions/components/pallet-definition-form.component.d.ts +25 -0
- package/lib/features/pallet-definitions/components/pallet-definitions.component.d.ts +23 -0
- package/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.d.ts +7 -0
- package/lib/features/pallet-definitions/hit-pallet-definitions.module.d.ts +18 -0
- package/lib/features/price-parameter-types/components/price-parameter-type-form.component.d.ts +25 -0
- package/lib/features/price-parameter-types/components/price-parameter-types.component.d.ts +23 -0
- package/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.d.ts +7 -0
- package/lib/features/price-parameter-types/hit-price-parameter-types.module.d.ts +18 -0
- package/lib/features/sap-sales-persons/components/sap-sales-person-form.component.d.ts +26 -0
- package/lib/features/sap-sales-persons/components/sap-sales-persons.component.d.ts +24 -0
- package/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.d.ts +7 -0
- package/lib/features/sap-sales-persons/hit-sap-sales-persons.module.d.ts +18 -0
- package/lib/features/settings/components/cost-settings.component.d.ts +17 -0
- package/lib/kadooglu-keops-routing.module.d.ts +7 -0
- package/lib/kadooglu-keops.module.d.ts +18 -0
- package/lib/proxy/container-definitions/dtos/index.d.ts +1 -0
- package/lib/proxy/container-definitions/dtos/models.d.ts +22 -0
- package/lib/proxy/container-definitions/index.d.ts +2 -0
- package/lib/proxy/container-loading-counts/dtos/index.d.ts +1 -0
- package/lib/proxy/container-loading-counts/dtos/models.d.ts +23 -0
- package/lib/proxy/container-loading-counts/index.d.ts +3 -0
- package/lib/proxy/container-loading-counts/loading-target-kind.enum.d.ts +5 -0
- package/lib/proxy/container-loading-scenarios/dtos/index.d.ts +1 -0
- package/lib/proxy/container-loading-scenarios/dtos/models.d.ts +22 -0
- package/lib/proxy/container-loading-scenarios/index.d.ts +3 -0
- package/lib/proxy/container-loading-scenarios/pallet-status.enum.d.ts +5 -0
- package/lib/proxy/container-mix-types/dtos/index.d.ts +1 -0
- package/lib/proxy/container-mix-types/dtos/models.d.ts +13 -0
- package/lib/proxy/container-mix-types/index.d.ts +2 -0
- package/lib/proxy/container-pallet-capacities/dtos/index.d.ts +1 -0
- package/lib/proxy/container-pallet-capacities/dtos/models.d.ts +22 -0
- package/lib/proxy/container-pallet-capacities/index.d.ts +2 -0
- package/lib/proxy/controllers/container-definition.service.d.ts +15 -0
- package/lib/proxy/controllers/container-loading-count.service.d.ts +13 -0
- package/lib/proxy/controllers/container-loading-scenario.service.d.ts +12 -0
- package/lib/proxy/controllers/container-mix-type.service.d.ts +15 -0
- package/lib/proxy/controllers/container-pallet-capacity.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-group.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-item.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-parameter-category.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-parameter.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-settings.service.d.ts +12 -0
- package/lib/proxy/controllers/exchange-rate.service.d.ts +12 -0
- package/lib/proxy/controllers/index.d.ts +18 -0
- package/lib/proxy/controllers/item.service.d.ts +11 -0
- package/lib/proxy/controllers/packaging-material.service.d.ts +15 -0
- package/lib/proxy/controllers/packaging-price.service.d.ts +18 -0
- package/lib/proxy/controllers/packaging-type.service.d.ts +15 -0
- package/lib/proxy/controllers/pallet-definition.service.d.ts +15 -0
- package/lib/proxy/controllers/price-parameter-type.service.d.ts +15 -0
- package/lib/proxy/controllers/sap-sales-person.service.d.ts +12 -0
- package/lib/proxy/cost-groups/cost-group-role.enum.d.ts +7 -0
- package/lib/proxy/cost-groups/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-groups/dtos/models.d.ts +21 -0
- package/lib/proxy/cost-groups/index.d.ts +3 -0
- package/lib/proxy/cost-items/cost-item-calculation-type.enum.d.ts +6 -0
- package/lib/proxy/cost-items/cost-item-system-code.enum.d.ts +17 -0
- package/lib/proxy/cost-items/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-items/dtos/models.d.ts +20 -0
- package/lib/proxy/cost-items/index.d.ts +4 -0
- package/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +8 -0
- package/lib/proxy/cost-parameter-categories/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-parameter-categories/dtos/models.d.ts +14 -0
- package/lib/proxy/cost-parameter-categories/index.d.ts +3 -0
- package/lib/proxy/cost-parameters/cost-parameter-status.enum.d.ts +6 -0
- package/lib/proxy/cost-parameters/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-parameters/dtos/models.d.ts +44 -0
- package/lib/proxy/cost-parameters/index.d.ts +3 -0
- package/lib/proxy/currencies/currency.enum.d.ts +6 -0
- package/lib/proxy/currencies/index.d.ts +1 -0
- package/lib/proxy/exchange-rates/dtos/index.d.ts +1 -0
- package/lib/proxy/exchange-rates/dtos/models.d.ts +17 -0
- package/lib/proxy/exchange-rates/exchange-rate-source.enum.d.ts +5 -0
- package/lib/proxy/exchange-rates/index.d.ts +3 -0
- package/lib/proxy/index.d.ts +21 -0
- package/lib/proxy/items/dtos/index.d.ts +1 -0
- package/lib/proxy/items/dtos/models.d.ts +4 -0
- package/lib/proxy/items/index.d.ts +2 -0
- package/lib/proxy/packaging-materials/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-materials/dtos/models.d.ts +14 -0
- package/lib/proxy/packaging-materials/index.d.ts +2 -0
- package/lib/proxy/packaging-prices/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-prices/dtos/models.d.ts +54 -0
- package/lib/proxy/packaging-prices/index.d.ts +2 -0
- package/lib/proxy/packaging-types/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-types/dtos/models.d.ts +13 -0
- package/lib/proxy/packaging-types/index.d.ts +2 -0
- package/lib/proxy/pallet-definitions/dtos/index.d.ts +1 -0
- package/lib/proxy/pallet-definitions/dtos/models.d.ts +19 -0
- package/lib/proxy/pallet-definitions/index.d.ts +2 -0
- package/lib/proxy/price-parameter-types/dtos/index.d.ts +1 -0
- package/lib/proxy/price-parameter-types/dtos/models.d.ts +19 -0
- package/lib/proxy/price-parameter-types/index.d.ts +2 -0
- package/lib/proxy/sales-persons/dtos/index.d.ts +1 -0
- package/lib/proxy/sales-persons/dtos/models.d.ts +10 -0
- package/lib/proxy/sales-persons/index.d.ts +2 -0
- package/lib/proxy/settings/index.d.ts +1 -0
- package/lib/proxy/settings/models.d.ts +3 -0
- package/lib/utils/currency.utils.d.ts +6 -0
- package/lib/utils/date.utils.d.ts +9 -0
- package/lib/utils/number.utils.d.ts +1 -0
- package/package.json +41 -0
- package/public-api.d.ts +3 -0
- package/src/lib/proxy/README.md +17 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './models';
|
|
2
|
+
export { calculateCost } from './formulas';
|
|
3
|
+
export { buildRoleGroups } from './models';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vZW5naW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0IHsgY2FsY3VsYXRlQ29zdCB9IGZyb20gJy4vZm9ybXVsYXMnO1xyXG5leHBvcnQgeyBidWlsZFJvbGVHcm91cHMgfSBmcm9tICcuL21vZGVscyc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CostItemSystemCode } from '@proxy/cost-items/cost-item-system-code.enum';
|
|
2
|
+
import { parseDecimal } from '../../../utils/number.utils';
|
|
3
|
+
import { toBaseUsd } from './currency.utils';
|
|
4
|
+
export function indexItemsBySystemCode(stages) {
|
|
5
|
+
const map = new Map();
|
|
6
|
+
for (const stage of stages) {
|
|
7
|
+
for (const item of stage.items) {
|
|
8
|
+
if (item.systemCode != null) {
|
|
9
|
+
map.set(item.systemCode, item);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return map;
|
|
14
|
+
}
|
|
15
|
+
export function resolveItems(itemsByCode, rateUsd, rateEur) {
|
|
16
|
+
const baseUsd = (code) => {
|
|
17
|
+
const item = itemsByCode.get(code);
|
|
18
|
+
return item ? toBaseUsd(parseDecimal(item.value), item.currency, rateUsd, rateEur) : 0;
|
|
19
|
+
};
|
|
20
|
+
const ratePercent = (code) => parseDecimal(itemsByCode.get(code)?.value ?? 0);
|
|
21
|
+
return {
|
|
22
|
+
port: baseUsd(CostItemSystemCode.Port),
|
|
23
|
+
inspectionCustoms: baseUsd(CostItemSystemCode.InspectionCustoms),
|
|
24
|
+
freight: baseUsd(CostItemSystemCode.Freight),
|
|
25
|
+
lossRate: ratePercent(CostItemSystemCode.Loss),
|
|
26
|
+
refineryOverhead: baseUsd(CostItemSystemCode.RefineryOverhead),
|
|
27
|
+
refineryAuxMaterials: baseUsd(CostItemSystemCode.RefineryAuxMaterials),
|
|
28
|
+
fillingPackagingOverhead: baseUsd(CostItemSystemCode.FillingPackagingOverhead),
|
|
29
|
+
packaging: baseUsd(CostItemSystemCode.Packaging),
|
|
30
|
+
salesMarketing: baseUsd(CostItemSystemCode.SalesMarketing),
|
|
31
|
+
generalAdmin: baseUsd(CostItemSystemCode.GeneralAdmin),
|
|
32
|
+
finance: baseUsd(CostItemSystemCode.Finance),
|
|
33
|
+
contingency: baseUsd(CostItemSystemCode.Contingency),
|
|
34
|
+
variableDepreciation: baseUsd(CostItemSystemCode.VariableDepreciation),
|
|
35
|
+
profitRate: ratePercent(CostItemSystemCode.ProfitRate),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1jYWxjdWxhdGlvbi9lbmdpbmUvaXRlbS1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzdDLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBOEI7SUFFOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFDbkQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNoQztTQUNGO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixXQUE2QyxFQUM3QyxPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBd0IsRUFBVSxFQUFFO1FBQ25ELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUF3QixFQUFVLEVBQUUsQ0FDdkQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWxELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7UUFDaEUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDNUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDOUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FBQzlELG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUN0RSx3QkFBd0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7UUFDOUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFDaEQsY0FBYyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDMUQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDdEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDcEQsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1FBQ3RFLFVBQVUsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0tBQ3ZELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zdEl0ZW1TeXN0ZW1Db2RlIH0gZnJvbSAnQHByb3h5L2Nvc3QtaXRlbXMvY29zdC1pdGVtLXN5c3RlbS1jb2RlLmVudW0nO1xyXG5pbXBvcnQgeyBwYXJzZURlY2ltYWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9udW1iZXIudXRpbHMnO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25JdGVtLCBDb3N0Q2FsY3VsYXRpb25TdGFnZSB9IGZyb20gJy4uL2Nvc3QtY2FsY3VsYXRpb24ubW9kZWxzJztcclxuaW1wb3J0IHsgdG9CYXNlVXNkIH0gZnJvbSAnLi9jdXJyZW5jeS51dGlscyc7XHJcbmltcG9ydCB7IFJlc29sdmVkSXRlbXMgfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhJdGVtc0J5U3lzdGVtQ29kZShcclxuICBzdGFnZXM6IENvc3RDYWxjdWxhdGlvblN0YWdlW10sXHJcbik6IE1hcDxudW1iZXIsIENvc3RDYWxjdWxhdGlvbkl0ZW0+IHtcclxuICBjb25zdCBtYXAgPSBuZXcgTWFwPG51bWJlciwgQ29zdENhbGN1bGF0aW9uSXRlbT4oKTtcclxuICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHN0YWdlLml0ZW1zKSB7XHJcbiAgICAgIGlmIChpdGVtLnN5c3RlbUNvZGUgIT0gbnVsbCkge1xyXG4gICAgICAgIG1hcC5zZXQoaXRlbS5zeXN0ZW1Db2RlLCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gbWFwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUl0ZW1zKFxyXG4gIGl0ZW1zQnlDb2RlOiBNYXA8bnVtYmVyLCBDb3N0Q2FsY3VsYXRpb25JdGVtPixcclxuICByYXRlVXNkOiBudW1iZXIsXHJcbiAgcmF0ZUV1cjogbnVtYmVyLFxyXG4pOiBSZXNvbHZlZEl0ZW1zIHtcclxuICBjb25zdCBiYXNlVXNkID0gKGNvZGU6IENvc3RJdGVtU3lzdGVtQ29kZSk6IG51bWJlciA9PiB7XHJcbiAgICBjb25zdCBpdGVtID0gaXRlbXNCeUNvZGUuZ2V0KGNvZGUpO1xyXG4gICAgcmV0dXJuIGl0ZW0gPyB0b0Jhc2VVc2QocGFyc2VEZWNpbWFsKGl0ZW0udmFsdWUpLCBpdGVtLmN1cnJlbmN5LCByYXRlVXNkLCByYXRlRXVyKSA6IDA7XHJcbiAgfTtcclxuICBjb25zdCByYXRlUGVyY2VudCA9IChjb2RlOiBDb3N0SXRlbVN5c3RlbUNvZGUpOiBudW1iZXIgPT5cclxuICAgIHBhcnNlRGVjaW1hbChpdGVtc0J5Q29kZS5nZXQoY29kZSk/LnZhbHVlID8/IDApO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgcG9ydDogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuUG9ydCksXHJcbiAgICBpbnNwZWN0aW9uQ3VzdG9tczogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuSW5zcGVjdGlvbkN1c3RvbXMpLFxyXG4gICAgZnJlaWdodDogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuRnJlaWdodCksXHJcbiAgICBsb3NzUmF0ZTogcmF0ZVBlcmNlbnQoQ29zdEl0ZW1TeXN0ZW1Db2RlLkxvc3MpLFxyXG4gICAgcmVmaW5lcnlPdmVyaGVhZDogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuUmVmaW5lcnlPdmVyaGVhZCksXHJcbiAgICByZWZpbmVyeUF1eE1hdGVyaWFsczogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuUmVmaW5lcnlBdXhNYXRlcmlhbHMpLFxyXG4gICAgZmlsbGluZ1BhY2thZ2luZ092ZXJoZWFkOiBiYXNlVXNkKENvc3RJdGVtU3lzdGVtQ29kZS5GaWxsaW5nUGFja2FnaW5nT3ZlcmhlYWQpLFxyXG4gICAgcGFja2FnaW5nOiBiYXNlVXNkKENvc3RJdGVtU3lzdGVtQ29kZS5QYWNrYWdpbmcpLFxyXG4gICAgc2FsZXNNYXJrZXRpbmc6IGJhc2VVc2QoQ29zdEl0ZW1TeXN0ZW1Db2RlLlNhbGVzTWFya2V0aW5nKSxcclxuICAgIGdlbmVyYWxBZG1pbjogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuR2VuZXJhbEFkbWluKSxcclxuICAgIGZpbmFuY2U6IGJhc2VVc2QoQ29zdEl0ZW1TeXN0ZW1Db2RlLkZpbmFuY2UpLFxyXG4gICAgY29udGluZ2VuY3k6IGJhc2VVc2QoQ29zdEl0ZW1TeXN0ZW1Db2RlLkNvbnRpbmdlbmN5KSxcclxuICAgIHZhcmlhYmxlRGVwcmVjaWF0aW9uOiBiYXNlVXNkKENvc3RJdGVtU3lzdGVtQ29kZS5WYXJpYWJsZURlcHJlY2lhdGlvbiksXHJcbiAgICBwcm9maXRSYXRlOiByYXRlUGVyY2VudChDb3N0SXRlbVN5c3RlbUNvZGUuUHJvZml0UmF0ZSksXHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';
|
|
2
|
+
export function addAmounts(...amounts) {
|
|
3
|
+
return amounts.reduce((acc, a) => ({ try: acc.try + a.try, usd: acc.usd + a.usd, eur: acc.eur + a.eur }), { try: 0, usd: 0, eur: 0 });
|
|
4
|
+
}
|
|
5
|
+
export function buildRoleGroups(rawOil, stages) {
|
|
6
|
+
const ORDER = [CostGroupRole.Production, CostGroupRole.Operating, CostGroupRole.Profit, CostGroupRole.None];
|
|
7
|
+
const map = new Map();
|
|
8
|
+
for (const stage of stages) {
|
|
9
|
+
const list = map.get(stage.groupRole) ?? [];
|
|
10
|
+
list.push(stage);
|
|
11
|
+
map.set(stage.groupRole, list);
|
|
12
|
+
}
|
|
13
|
+
return ORDER.filter(role => map.has(role)).map(role => {
|
|
14
|
+
const roleStages = map.get(role);
|
|
15
|
+
const base = role === CostGroupRole.Production ? rawOil : { try: 0, usd: 0, eur: 0 };
|
|
16
|
+
const roleTotal = addAmounts(base, ...roleStages.map(st => st.subtotal));
|
|
17
|
+
return { role, stages: roleStages, roleTotal };
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWNhbGN1bGF0aW9uL2VuZ2luZS9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBbUR4RSxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQUcsT0FBcUI7SUFDakQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUNuQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQ2xGLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FDM0IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWtCLEVBQUUsTUFBbUI7SUFDckUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUcsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7SUFDbEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ2hDO0lBQ0QsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNwRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyRixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZSB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2Nvc3QtaXRlbS1jYWxjdWxhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBDdXJyZW5jeSB9IGZyb20gJ0Bwcm94eS9jdXJyZW5jaWVzL2N1cnJlbmN5LmVudW0nO1xyXG5pbXBvcnQgeyBDb3N0R3JvdXBSb2xlIH0gZnJvbSAnQHByb3h5L2Nvc3QtZ3JvdXBzL2Nvc3QtZ3JvdXAtcm9sZS5lbnVtJztcclxuaW1wb3J0IHsgQ29zdENhbGN1bGF0aW9uU3RhZ2UgfSBmcm9tICcuLi9jb3N0LWNhbGN1bGF0aW9uLm1vZGVscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvc3RBbW91bnQge1xyXG4gIHRyeTogbnVtYmVyO1xyXG4gIHVzZDogbnVtYmVyO1xyXG4gIGV1cjogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVuZ2luZVJlcXVlc3Qge1xyXG4gIHJhd09pbFByaWNlOiBudW1iZXI7XHJcbiAgcmF3T2lsQ3VycmVuY3k6IEN1cnJlbmN5O1xyXG4gIHJhdGVVc2Q6IG51bWJlcjtcclxuICByYXRlRXVyOiBudW1iZXI7XHJcbiAgc3RhZ2VzOiBDb3N0Q2FsY3VsYXRpb25TdGFnZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvc3RMaW5lIHtcclxuICBjb3N0SXRlbUNvZGU6IHN0cmluZztcclxuICBjb3N0SXRlbU5hbWU6IHN0cmluZztcclxuICBjYWxjdWxhdGlvblR5cGU6IENvc3RJdGVtQ2FsY3VsYXRpb25UeXBlO1xyXG4gIHN5c3RlbUNvZGU/OiBudW1iZXI7XHJcbiAgY3VycmVuY3k/OiBDdXJyZW5jeTtcclxuICByYXRlUGVyY2VudD86IG51bWJlcjtcclxuICBhbW91bnQ6IENvc3RBbW91bnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29zdFN0YWdlIHtcclxuICBncm91cENvZGU/OiBzdHJpbmc7XHJcbiAgZ3JvdXBOYW1lPzogc3RyaW5nO1xyXG4gIGRpc3BsYXlPcmRlcjogbnVtYmVyO1xyXG4gIGdyb3VwUm9sZTogQ29zdEdyb3VwUm9sZTtcclxuICBsaW5lczogQ29zdExpbmVbXTtcclxuICBzdWJ0b3RhbDogQ29zdEFtb3VudDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3N0UmVzdWx0IHtcclxuICByYXdPaWw6IENvc3RBbW91bnQ7XHJcbiAgc3RhZ2VzOiBDb3N0U3RhZ2VbXTtcclxuICBwcm9kdWN0aW9uQ29zdDogQ29zdEFtb3VudDtcclxuICB0b3RhbENvc3Q6IENvc3RBbW91bnQ7XHJcbiAgcHJvZml0OiBDb3N0QW1vdW50O1xyXG4gIHRvdGFsU2FsZVByaWNlOiBDb3N0QW1vdW50O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVHcm91cCB7XHJcbiAgcm9sZTogQ29zdEdyb3VwUm9sZTtcclxuICBzdGFnZXM6IENvc3RTdGFnZVtdO1xyXG4gIHJvbGVUb3RhbDogQ29zdEFtb3VudDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZEFtb3VudHMoLi4uYW1vdW50czogQ29zdEFtb3VudFtdKTogQ29zdEFtb3VudCB7XHJcbiAgcmV0dXJuIGFtb3VudHMucmVkdWNlKFxyXG4gICAgKGFjYywgYSkgPT4gKHsgdHJ5OiBhY2MudHJ5ICsgYS50cnksIHVzZDogYWNjLnVzZCArIGEudXNkLCBldXI6IGFjYy5ldXIgKyBhLmV1ciB9KSxcclxuICAgIHsgdHJ5OiAwLCB1c2Q6IDAsIGV1cjogMCB9LFxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJvbGVHcm91cHMocmF3T2lsOiBDb3N0QW1vdW50LCBzdGFnZXM6IENvc3RTdGFnZVtdKTogUm9sZUdyb3VwW10ge1xyXG4gIGNvbnN0IE9SREVSID0gW0Nvc3RHcm91cFJvbGUuUHJvZHVjdGlvbiwgQ29zdEdyb3VwUm9sZS5PcGVyYXRpbmcsIENvc3RHcm91cFJvbGUuUHJvZml0LCBDb3N0R3JvdXBSb2xlLk5vbmVdO1xyXG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8Q29zdEdyb3VwUm9sZSwgQ29zdFN0YWdlW10+KCk7XHJcbiAgZm9yIChjb25zdCBzdGFnZSBvZiBzdGFnZXMpIHtcclxuICAgIGNvbnN0IGxpc3QgPSBtYXAuZ2V0KHN0YWdlLmdyb3VwUm9sZSkgPz8gW107XHJcbiAgICBsaXN0LnB1c2goc3RhZ2UpO1xyXG4gICAgbWFwLnNldChzdGFnZS5ncm91cFJvbGUsIGxpc3QpO1xyXG4gIH1cclxuICByZXR1cm4gT1JERVIuZmlsdGVyKHJvbGUgPT4gbWFwLmhhcyhyb2xlKSkubWFwKHJvbGUgPT4ge1xyXG4gICAgY29uc3Qgcm9sZVN0YWdlcyA9IG1hcC5nZXQocm9sZSkhO1xyXG4gICAgY29uc3QgYmFzZSA9IHJvbGUgPT09IENvc3RHcm91cFJvbGUuUHJvZHVjdGlvbiA/IHJhd09pbCA6IHsgdHJ5OiAwLCB1c2Q6IDAsIGV1cjogMCB9O1xyXG4gICAgY29uc3Qgcm9sZVRvdGFsID0gYWRkQW1vdW50cyhiYXNlLCAuLi5yb2xlU3RhZ2VzLm1hcChzdCA9PiBzdC5zdWJ0b3RhbCkpO1xyXG4gICAgcmV0dXJuIHsgcm9sZSwgc3RhZ2VzOiByb2xlU3RhZ2VzLCByb2xlVG90YWwgfTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZEl0ZW1zIHtcclxuICBwb3J0OiBudW1iZXI7XHJcbiAgaW5zcGVjdGlvbkN1c3RvbXM6IG51bWJlcjtcclxuICBmcmVpZ2h0OiBudW1iZXI7XHJcbiAgbG9zc1JhdGU6IG51bWJlcjtcclxuICByZWZpbmVyeU92ZXJoZWFkOiBudW1iZXI7XHJcbiAgcmVmaW5lcnlBdXhNYXRlcmlhbHM6IG51bWJlcjtcclxuICBmaWxsaW5nUGFja2FnaW5nT3ZlcmhlYWQ6IG51bWJlcjtcclxuICBwYWNrYWdpbmc6IG51bWJlcjtcclxuICBzYWxlc01hcmtldGluZzogbnVtYmVyO1xyXG4gIGdlbmVyYWxBZG1pbjogbnVtYmVyO1xyXG4gIGZpbmFuY2U6IG51bWJlcjtcclxuICBjb250aW5nZW5jeTogbnVtYmVyO1xyXG4gIHZhcmlhYmxlRGVwcmVjaWF0aW9uOiBudW1iZXI7XHJcbiAgcHJvZml0UmF0ZTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';
|
|
2
|
+
import { CostItemSystemCode } from '@proxy/cost-items/cost-item-system-code.enum';
|
|
3
|
+
import { parseDecimal } from '../../../utils/number.utils';
|
|
4
|
+
import { toAmount, toBaseUsd } from './currency.utils';
|
|
5
|
+
export function buildComputedBaseByCode(resolvedItems, loss, profit) {
|
|
6
|
+
return new Map([
|
|
7
|
+
[CostItemSystemCode.Port, resolvedItems.port],
|
|
8
|
+
[CostItemSystemCode.InspectionCustoms, resolvedItems.inspectionCustoms],
|
|
9
|
+
[CostItemSystemCode.Freight, resolvedItems.freight],
|
|
10
|
+
[CostItemSystemCode.Loss, loss],
|
|
11
|
+
[CostItemSystemCode.RefineryOverhead, resolvedItems.refineryOverhead],
|
|
12
|
+
[CostItemSystemCode.RefineryAuxMaterials, resolvedItems.refineryAuxMaterials],
|
|
13
|
+
[CostItemSystemCode.FillingPackagingOverhead, resolvedItems.fillingPackagingOverhead],
|
|
14
|
+
[CostItemSystemCode.Packaging, resolvedItems.packaging],
|
|
15
|
+
[CostItemSystemCode.SalesMarketing, resolvedItems.salesMarketing],
|
|
16
|
+
[CostItemSystemCode.GeneralAdmin, resolvedItems.generalAdmin],
|
|
17
|
+
[CostItemSystemCode.Finance, resolvedItems.finance],
|
|
18
|
+
[CostItemSystemCode.Contingency, resolvedItems.contingency],
|
|
19
|
+
[CostItemSystemCode.VariableDepreciation, resolvedItems.variableDepreciation],
|
|
20
|
+
[CostItemSystemCode.ProfitRate, profit],
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
export function buildCostStages(stages, computedBaseByCode, itemsByCode, rateUsd, rateEur) {
|
|
24
|
+
return stages
|
|
25
|
+
.slice()
|
|
26
|
+
.sort((a, b) => a.displayOrder - b.displayOrder)
|
|
27
|
+
.map(stage => {
|
|
28
|
+
let stageTotalUsd = 0;
|
|
29
|
+
const lines = stage.items.map(item => {
|
|
30
|
+
const itemUsd = item.systemCode != null
|
|
31
|
+
? (computedBaseByCode.get(item.systemCode) ?? 0)
|
|
32
|
+
: toBaseUsd(parseDecimal(item.value), item.currency, rateUsd, rateEur);
|
|
33
|
+
stageTotalUsd += itemUsd;
|
|
34
|
+
return {
|
|
35
|
+
costItemCode: item.costItemCode,
|
|
36
|
+
costItemName: item.costItemName,
|
|
37
|
+
calculationType: item.calculationType,
|
|
38
|
+
systemCode: item.systemCode,
|
|
39
|
+
currency: item.currency,
|
|
40
|
+
ratePercent: item.calculationType === CostItemCalculationType.Rate
|
|
41
|
+
? parseDecimal(itemsByCode.get(item.systemCode)?.value ?? 0)
|
|
42
|
+
: undefined,
|
|
43
|
+
amount: toAmount(itemUsd, rateUsd, rateEur),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
groupCode: stage.groupCode,
|
|
48
|
+
groupName: stage.groupName,
|
|
49
|
+
displayOrder: stage.displayOrder,
|
|
50
|
+
groupRole: stage.groupRole,
|
|
51
|
+
lines,
|
|
52
|
+
subtotal: toAmount(stageTotalUsd, rateUsd, rateEur),
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhZ2UtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1jYWxjdWxhdGlvbi9lbmdpbmUvc3RhZ2UtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLGFBQTRCLEVBQzVCLElBQVksRUFDWixNQUFjO0lBRWQsT0FBTyxJQUFJLEdBQUcsQ0FBQztRQUNiLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDN0MsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsaUJBQWlCLENBQUM7UUFDdkUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNuRCxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDL0IsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFDckUsQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsb0JBQW9CLENBQUM7UUFDN0UsQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsd0JBQXdCLENBQUM7UUFDckYsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUN2RCxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYyxDQUFDO1FBQ2pFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDN0QsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNuRCxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQzNELENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLG9CQUFvQixDQUFDO1FBQzdFLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztLQUN4QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsTUFBOEIsRUFDOUIsa0JBQXVDLEVBQ3ZDLFdBQTZDLEVBQzdDLE9BQWUsRUFDZixPQUFlO0lBRWYsT0FBTyxNQUFNO1NBQ1YsS0FBSyxFQUFFO1NBQ1AsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQy9DLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNYLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLEtBQUssR0FBZSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQyxNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUk7Z0JBQ3JCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0UsYUFBYSxJQUFJLE9BQU8sQ0FBQztZQUN6QixPQUFPO2dCQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQ3JDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixXQUFXLEVBQ1QsSUFBSSxDQUFDLGVBQWUsS0FBSyx1QkFBdUIsQ0FBQyxJQUFJO29CQUNuRCxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQzdELENBQUMsQ0FBQyxTQUFTO2dCQUNmLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7YUFDNUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMxQixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMxQixLQUFLO1lBQ0wsUUFBUSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztTQUNwRCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUgfSBmcm9tICdAcHJveHkvY29zdC1pdGVtcy9jb3N0LWl0ZW0tY2FsY3VsYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQ29zdEl0ZW1TeXN0ZW1Db2RlIH0gZnJvbSAnQHByb3h5L2Nvc3QtaXRlbXMvY29zdC1pdGVtLXN5c3RlbS1jb2RlLmVudW0nO1xyXG5pbXBvcnQgeyBwYXJzZURlY2ltYWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9udW1iZXIudXRpbHMnO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25JdGVtLCBDb3N0Q2FsY3VsYXRpb25TdGFnZSB9IGZyb20gJy4uL2Nvc3QtY2FsY3VsYXRpb24ubW9kZWxzJztcclxuaW1wb3J0IHsgdG9BbW91bnQsIHRvQmFzZVVzZCB9IGZyb20gJy4vY3VycmVuY3kudXRpbHMnO1xyXG5pbXBvcnQgeyBDb3N0TGluZSwgQ29zdFN0YWdlLCBSZXNvbHZlZEl0ZW1zIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29tcHV0ZWRCYXNlQnlDb2RlKFxyXG4gIHJlc29sdmVkSXRlbXM6IFJlc29sdmVkSXRlbXMsXHJcbiAgbG9zczogbnVtYmVyLFxyXG4gIHByb2ZpdDogbnVtYmVyLFxyXG4pOiBNYXA8bnVtYmVyLCBudW1iZXI+IHtcclxuICByZXR1cm4gbmV3IE1hcChbXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLlBvcnQsIHJlc29sdmVkSXRlbXMucG9ydF0sXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLkluc3BlY3Rpb25DdXN0b21zLCByZXNvbHZlZEl0ZW1zLmluc3BlY3Rpb25DdXN0b21zXSxcclxuICAgIFtDb3N0SXRlbVN5c3RlbUNvZGUuRnJlaWdodCwgcmVzb2x2ZWRJdGVtcy5mcmVpZ2h0XSxcclxuICAgIFtDb3N0SXRlbVN5c3RlbUNvZGUuTG9zcywgbG9zc10sXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLlJlZmluZXJ5T3ZlcmhlYWQsIHJlc29sdmVkSXRlbXMucmVmaW5lcnlPdmVyaGVhZF0sXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLlJlZmluZXJ5QXV4TWF0ZXJpYWxzLCByZXNvbHZlZEl0ZW1zLnJlZmluZXJ5QXV4TWF0ZXJpYWxzXSxcclxuICAgIFtDb3N0SXRlbVN5c3RlbUNvZGUuRmlsbGluZ1BhY2thZ2luZ092ZXJoZWFkLCByZXNvbHZlZEl0ZW1zLmZpbGxpbmdQYWNrYWdpbmdPdmVyaGVhZF0sXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLlBhY2thZ2luZywgcmVzb2x2ZWRJdGVtcy5wYWNrYWdpbmddLFxyXG4gICAgW0Nvc3RJdGVtU3lzdGVtQ29kZS5TYWxlc01hcmtldGluZywgcmVzb2x2ZWRJdGVtcy5zYWxlc01hcmtldGluZ10sXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLkdlbmVyYWxBZG1pbiwgcmVzb2x2ZWRJdGVtcy5nZW5lcmFsQWRtaW5dLFxyXG4gICAgW0Nvc3RJdGVtU3lzdGVtQ29kZS5GaW5hbmNlLCByZXNvbHZlZEl0ZW1zLmZpbmFuY2VdLFxyXG4gICAgW0Nvc3RJdGVtU3lzdGVtQ29kZS5Db250aW5nZW5jeSwgcmVzb2x2ZWRJdGVtcy5jb250aW5nZW5jeV0sXHJcbiAgICBbQ29zdEl0ZW1TeXN0ZW1Db2RlLlZhcmlhYmxlRGVwcmVjaWF0aW9uLCByZXNvbHZlZEl0ZW1zLnZhcmlhYmxlRGVwcmVjaWF0aW9uXSxcclxuICAgIFtDb3N0SXRlbVN5c3RlbUNvZGUuUHJvZml0UmF0ZSwgcHJvZml0XSxcclxuICBdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29zdFN0YWdlcyhcclxuICBzdGFnZXM6IENvc3RDYWxjdWxhdGlvblN0YWdlW10sXHJcbiAgY29tcHV0ZWRCYXNlQnlDb2RlOiBNYXA8bnVtYmVyLCBudW1iZXI+LFxyXG4gIGl0ZW1zQnlDb2RlOiBNYXA8bnVtYmVyLCBDb3N0Q2FsY3VsYXRpb25JdGVtPixcclxuICByYXRlVXNkOiBudW1iZXIsXHJcbiAgcmF0ZUV1cjogbnVtYmVyLFxyXG4pOiBDb3N0U3RhZ2VbXSB7XHJcbiAgcmV0dXJuIHN0YWdlc1xyXG4gICAgLnNsaWNlKClcclxuICAgIC5zb3J0KChhLCBiKSA9PiBhLmRpc3BsYXlPcmRlciAtIGIuZGlzcGxheU9yZGVyKVxyXG4gICAgLm1hcChzdGFnZSA9PiB7XHJcbiAgICAgIGxldCBzdGFnZVRvdGFsVXNkID0gMDtcclxuICAgICAgY29uc3QgbGluZXM6IENvc3RMaW5lW10gPSBzdGFnZS5pdGVtcy5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXRlbVVzZCA9XHJcbiAgICAgICAgICBpdGVtLnN5c3RlbUNvZGUgIT0gbnVsbFxyXG4gICAgICAgICAgICA/IChjb21wdXRlZEJhc2VCeUNvZGUuZ2V0KGl0ZW0uc3lzdGVtQ29kZSkgPz8gMClcclxuICAgICAgICAgICAgOiB0b0Jhc2VVc2QocGFyc2VEZWNpbWFsKGl0ZW0udmFsdWUpLCBpdGVtLmN1cnJlbmN5LCByYXRlVXNkLCByYXRlRXVyKTtcclxuICAgICAgICBzdGFnZVRvdGFsVXNkICs9IGl0ZW1Vc2Q7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNvc3RJdGVtQ29kZTogaXRlbS5jb3N0SXRlbUNvZGUsXHJcbiAgICAgICAgICBjb3N0SXRlbU5hbWU6IGl0ZW0uY29zdEl0ZW1OYW1lLFxyXG4gICAgICAgICAgY2FsY3VsYXRpb25UeXBlOiBpdGVtLmNhbGN1bGF0aW9uVHlwZSxcclxuICAgICAgICAgIHN5c3RlbUNvZGU6IGl0ZW0uc3lzdGVtQ29kZSxcclxuICAgICAgICAgIGN1cnJlbmN5OiBpdGVtLmN1cnJlbmN5LFxyXG4gICAgICAgICAgcmF0ZVBlcmNlbnQ6XHJcbiAgICAgICAgICAgIGl0ZW0uY2FsY3VsYXRpb25UeXBlID09PSBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZS5SYXRlXHJcbiAgICAgICAgICAgICAgPyBwYXJzZURlY2ltYWwoaXRlbXNCeUNvZGUuZ2V0KGl0ZW0uc3lzdGVtQ29kZSEpPy52YWx1ZSA/PyAwKVxyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgYW1vdW50OiB0b0Ftb3VudChpdGVtVXNkLCByYXRlVXNkLCByYXRlRXVyKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBncm91cENvZGU6IHN0YWdlLmdyb3VwQ29kZSxcclxuICAgICAgICBncm91cE5hbWU6IHN0YWdlLmdyb3VwTmFtZSxcclxuICAgICAgICBkaXNwbGF5T3JkZXI6IHN0YWdlLmRpc3BsYXlPcmRlcixcclxuICAgICAgICBncm91cFJvbGU6IHN0YWdlLmdyb3VwUm9sZSxcclxuICAgICAgICBsaW5lcyxcclxuICAgICAgICBzdWJ0b3RhbDogdG9BbW91bnQoc3RhZ2VUb3RhbFVzZCwgcmF0ZVVzZCwgcmF0ZUV1ciksXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
import { AuthGuard, PermissionGuard } from '@abp/ng.core';
|
|
4
|
+
import { CostCalculationComponent } from './components/cost-calculation.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
const routes = [
|
|
8
|
+
{
|
|
9
|
+
path: '',
|
|
10
|
+
component: CostCalculationComponent,
|
|
11
|
+
canActivate: [AuthGuard, PermissionGuard],
|
|
12
|
+
data: {
|
|
13
|
+
requiredPolicy: 'KeopsCost.CostCalculations',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
export class HitCostCalculationRoutingModule {
|
|
18
|
+
}
|
|
19
|
+
HitCostCalculationRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
HitCostCalculationRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
21
|
+
HitCostCalculationRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationRoutingModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [RouterModule.forChild(routes)],
|
|
26
|
+
exports: [RouterModule],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtY2FsY3VsYXRpb24tcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vaGl0LWNvc3QtY2FsY3VsYXRpb24tcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUVuRixNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHdCQUF3QjtRQUNuQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSw0QkFBNEI7U0FDN0M7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sK0JBQStCOzs0SEFBL0IsK0JBQStCOzZIQUEvQiwrQkFBK0Isd0NBRmhDLFlBQVk7NkhBRVgsK0JBQStCLFlBSGhDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsK0JBQStCO2tCQUozQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29zdENhbGN1bGF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvc3QtY2FsY3VsYXRpb24uY29tcG9uZW50JztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBDb3N0Q2FsY3VsYXRpb25Db21wb25lbnQsXHJcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcclxuICAgIGRhdGE6IHtcclxuICAgICAgcmVxdWlyZWRQb2xpY3k6ICdLZW9wc0Nvc3QuQ29zdENhbGN1bGF0aW9ucycsXHJcbiAgICB9LFxyXG4gIH0sXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRDb3N0Q2FsY3VsYXRpb25Sb3V0aW5nTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { CoreModule } from '@abp/ng.core';
|
|
5
|
+
import { ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
6
|
+
import { PageModule } from '@abp/ng.components/page';
|
|
7
|
+
import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
|
|
8
|
+
import { DxSelectBoxModule } from 'devextreme-angular';
|
|
9
|
+
import { CostCalculationComponent } from './components/cost-calculation.component';
|
|
10
|
+
import { CostCalculationInputsComponent } from './components/cost-calculation-inputs.component';
|
|
11
|
+
import { CostCalculationResultsComponent } from './components/cost-calculation-results.component';
|
|
12
|
+
import { CostCalculationResultSumComponent } from './components/cost-calculation-result-sum.component';
|
|
13
|
+
import { HitCostCalculationRoutingModule } from './hit-cost-calculation-routing.module';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
export class HitCostCalculationModule {
|
|
16
|
+
}
|
|
17
|
+
HitCostCalculationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
HitCostCalculationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationModule, declarations: [CostCalculationComponent,
|
|
19
|
+
CostCalculationInputsComponent,
|
|
20
|
+
CostCalculationResultsComponent,
|
|
21
|
+
CostCalculationResultSumComponent], imports: [CommonModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
ReactiveFormsModule,
|
|
24
|
+
CoreModule,
|
|
25
|
+
ThemeSharedModule,
|
|
26
|
+
PageModule,
|
|
27
|
+
CommercialUiModule,
|
|
28
|
+
HitCostCalculationRoutingModule,
|
|
29
|
+
DxSelectBoxModule] });
|
|
30
|
+
HitCostCalculationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationModule, imports: [CommonModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
ReactiveFormsModule,
|
|
33
|
+
CoreModule,
|
|
34
|
+
ThemeSharedModule,
|
|
35
|
+
PageModule,
|
|
36
|
+
CommercialUiModule,
|
|
37
|
+
HitCostCalculationRoutingModule,
|
|
38
|
+
DxSelectBoxModule] });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostCalculationModule, decorators: [{
|
|
40
|
+
type: NgModule,
|
|
41
|
+
args: [{
|
|
42
|
+
declarations: [
|
|
43
|
+
CostCalculationComponent,
|
|
44
|
+
CostCalculationInputsComponent,
|
|
45
|
+
CostCalculationResultsComponent,
|
|
46
|
+
CostCalculationResultSumComponent,
|
|
47
|
+
],
|
|
48
|
+
imports: [
|
|
49
|
+
CommonModule,
|
|
50
|
+
FormsModule,
|
|
51
|
+
ReactiveFormsModule,
|
|
52
|
+
CoreModule,
|
|
53
|
+
ThemeSharedModule,
|
|
54
|
+
PageModule,
|
|
55
|
+
CommercialUiModule,
|
|
56
|
+
HitCostCalculationRoutingModule,
|
|
57
|
+
DxSelectBoxModule,
|
|
58
|
+
],
|
|
59
|
+
}]
|
|
60
|
+
}] });
|
|
61
|
+
export function loadHitCostCalculationModuleAsChild() {
|
|
62
|
+
return Promise.resolve(HitCostCalculationModule);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtY2FsY3VsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWNhbGN1bGF0aW9uL2hpdC1jb3N0LWNhbGN1bGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdkcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBcUJ4RixNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3NIQUF4Qix3QkFBd0IsaUJBakJqQyx3QkFBd0I7UUFDeEIsOEJBQThCO1FBQzlCLCtCQUErQjtRQUMvQixpQ0FBaUMsYUFHakMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLCtCQUErQjtRQUMvQixpQkFBaUI7c0hBR1Isd0JBQXdCLFlBWGpDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQiwrQkFBK0I7UUFDL0IsaUJBQWlCOzJGQUdSLHdCQUF3QjtrQkFuQnBDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsK0JBQStCO3dCQUMvQixpQkFBaUI7cUJBQ2xCO2lCQUNGOztBQUdELE1BQU0sVUFBVSxtQ0FBbUM7SUFDakQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvcGFnZSc7XHJcbmltcG9ydCB7IENvbW1lcmNpYWxVaU1vZHVsZSB9IGZyb20gJ0B2b2xvL2FicC5jb21tZXJjaWFsLm5nLnVpJztcclxuaW1wb3J0IHsgRHhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25JbnB1dHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29zdC1jYWxjdWxhdGlvbi1pbnB1dHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29zdENhbGN1bGF0aW9uUmVzdWx0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3N0LWNhbGN1bGF0aW9uLXJlc3VsdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29zdENhbGN1bGF0aW9uUmVzdWx0U3VtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvc3QtY2FsY3VsYXRpb24tcmVzdWx0LXN1bS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIaXRDb3N0Q2FsY3VsYXRpb25Sb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9oaXQtY29zdC1jYWxjdWxhdGlvbi1yb3V0aW5nLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ29zdENhbGN1bGF0aW9uQ29tcG9uZW50LFxyXG4gICAgQ29zdENhbGN1bGF0aW9uSW5wdXRzQ29tcG9uZW50LFxyXG4gICAgQ29zdENhbGN1bGF0aW9uUmVzdWx0c0NvbXBvbmVudCxcclxuICAgIENvc3RDYWxjdWxhdGlvblJlc3VsdFN1bUNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgIFBhZ2VNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBIaXRDb3N0Q2FsY3VsYXRpb25Sb3V0aW5nTW9kdWxlLFxyXG4gICAgRHhTZWxlY3RCb3hNb2R1bGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpdENvc3RDYWxjdWxhdGlvbk1vZHVsZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRIaXRDb3N0Q2FsY3VsYXRpb25Nb2R1bGVBc0NoaWxkKCkge1xyXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoSGl0Q29zdENhbGN1bGF0aW9uTW9kdWxlKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { finalize } from 'rxjs/operators';
|
|
4
|
+
import { costGroupRoleOptions } from '../cost-group-role-l10n-helper';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@proxy/controllers";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@abp/ng.theme.shared";
|
|
10
|
+
import * as i5 from "@abp/ng.core";
|
|
11
|
+
export class CostGroupFormComponent {
|
|
12
|
+
constructor(fb, service) {
|
|
13
|
+
this.fb = fb;
|
|
14
|
+
this.service = service;
|
|
15
|
+
this.visible = false;
|
|
16
|
+
this.mode = 'create';
|
|
17
|
+
this.current = null;
|
|
18
|
+
this.allCostItems = [];
|
|
19
|
+
this.visibleChange = new EventEmitter();
|
|
20
|
+
this.saved = new EventEmitter();
|
|
21
|
+
this.groupRoleOptions = costGroupRoleOptions;
|
|
22
|
+
this.saving = false;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.buildForm();
|
|
26
|
+
}
|
|
27
|
+
ngOnChanges(changes) {
|
|
28
|
+
if (changes['visible']?.currentValue && this.form) {
|
|
29
|
+
this.resetForm();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
buildForm() {
|
|
33
|
+
this.form = this.fb.group({
|
|
34
|
+
code: ['', Validators.required],
|
|
35
|
+
name: ['', Validators.required],
|
|
36
|
+
displayOrder: [0, Validators.required],
|
|
37
|
+
groupRole: [null, Validators.required],
|
|
38
|
+
itemCodes: [[]],
|
|
39
|
+
});
|
|
40
|
+
this.resetForm();
|
|
41
|
+
}
|
|
42
|
+
resetForm() {
|
|
43
|
+
if (!this.form)
|
|
44
|
+
return;
|
|
45
|
+
if (this.mode === 'edit' && this.current) {
|
|
46
|
+
this.form.patchValue({
|
|
47
|
+
code: this.current.code ?? '',
|
|
48
|
+
name: this.current.name ?? '',
|
|
49
|
+
displayOrder: this.current.displayOrder ?? 0,
|
|
50
|
+
groupRole: this.current.groupRole ?? null,
|
|
51
|
+
itemCodes: this.current.itemCodes ?? [],
|
|
52
|
+
});
|
|
53
|
+
this.form.get('code')?.disable();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.form.reset({ code: '', name: '', displayOrder: 0, groupRole: null, itemCodes: [] });
|
|
57
|
+
this.form.get('code')?.enable();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
isItemSelected(code) {
|
|
61
|
+
const selected = this.form.get('itemCodes')?.value ?? [];
|
|
62
|
+
return selected.includes(code);
|
|
63
|
+
}
|
|
64
|
+
toggleItem(code) {
|
|
65
|
+
const control = this.form.get('itemCodes');
|
|
66
|
+
const current = [...(control?.value ?? [])];
|
|
67
|
+
const idx = current.indexOf(code);
|
|
68
|
+
if (idx >= 0) {
|
|
69
|
+
current.splice(idx, 1);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
current.push(code);
|
|
73
|
+
}
|
|
74
|
+
control?.setValue(current);
|
|
75
|
+
}
|
|
76
|
+
close() {
|
|
77
|
+
this.visibleChange.emit(false);
|
|
78
|
+
}
|
|
79
|
+
save() {
|
|
80
|
+
if (this.form.invalid)
|
|
81
|
+
return;
|
|
82
|
+
const itemCodes = this.form.get('itemCodes')?.value ?? [];
|
|
83
|
+
this.saving = true;
|
|
84
|
+
const request$ = this.mode === 'create'
|
|
85
|
+
? this.service.create({
|
|
86
|
+
code: this.form.get('code')?.value,
|
|
87
|
+
name: this.form.get('name')?.value,
|
|
88
|
+
displayOrder: this.form.get('displayOrder')?.value,
|
|
89
|
+
groupRole: this.form.get('groupRole')?.value,
|
|
90
|
+
itemCodes,
|
|
91
|
+
})
|
|
92
|
+
: this.service.update(this.current.code, {
|
|
93
|
+
name: this.form.get('name')?.value,
|
|
94
|
+
displayOrder: this.form.get('displayOrder')?.value,
|
|
95
|
+
groupRole: this.form.get('groupRole')?.value,
|
|
96
|
+
itemCodes,
|
|
97
|
+
});
|
|
98
|
+
request$.pipe(finalize(() => (this.saving = false))).subscribe({
|
|
99
|
+
next: () => this.saved.emit(),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
CostGroupFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostGroupFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CostGroupService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
+
CostGroupFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostGroupFormComponent, selector: "lib-cost-group-form", inputs: { visible: "visible", mode: "mode", current: "current", allCostItems: "allCostItems" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\" [busy]=\"saving\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostGroups:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostGroups:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costGroupForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:Code' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"code\"\r\n [readOnly]=\"mode === 'edit'\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"number\" min=\"0\" class=\"form-control\" formControlName=\"displayOrder\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:GroupRole' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select class=\"form-select\" formControlName=\"groupRole\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let opt of groupRoleOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:ItemCodes' | abpLocalization }}\r\n </label>\r\n <div class=\"border rounded p-2\" style=\"max-height: 300px; overflow-y: auto;\">\r\n <div\r\n *ngFor=\"let item of allCostItems\"\r\n class=\"form-check\"\r\n >\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n [id]=\"'item-' + item.code\"\r\n [checked]=\"isItemSelected(item.code!)\"\r\n (change)=\"toggleItem(item.code!)\"\r\n />\r\n <label class=\"form-check-label\" [for]=\"'item-' + item.code\">\r\n {{ item.displayOrder }} \u2013 {{ item.name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"close()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostGroupFormComponent, decorators: [{
|
|
106
|
+
type: Component,
|
|
107
|
+
args: [{ selector: 'lib-cost-group-form', template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\" [busy]=\"saving\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostGroups:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostGroups:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costGroupForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:Code' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"code\"\r\n [readOnly]=\"mode === 'edit'\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"number\" min=\"0\" class=\"form-control\" formControlName=\"displayOrder\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:GroupRole' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select class=\"form-select\" formControlName=\"groupRole\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let opt of groupRoleOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:ItemCodes' | abpLocalization }}\r\n </label>\r\n <div class=\"border rounded p-2\" style=\"max-height: 300px; overflow-y: auto;\">\r\n <div\r\n *ngFor=\"let item of allCostItems\"\r\n class=\"form-check\"\r\n >\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n [id]=\"'item-' + item.code\"\r\n [checked]=\"isItemSelected(item.code!)\"\r\n (change)=\"toggleItem(item.code!)\"\r\n />\r\n <label class=\"form-check-label\" [for]=\"'item-' + item.code\">\r\n {{ item.displayOrder }} \u2013 {{ item.name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"close()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CostGroupService }]; }, propDecorators: { visible: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], mode: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], current: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], allCostItems: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], visibleChange: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}], saved: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}] } });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1ncm91cC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1ncm91cHMvY29tcG9uZW50cy9jb3N0LWdyb3VwLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWdyb3Vwcy9jb21wb25lbnRzL2Nvc3QtZ3JvdXAtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFNdEUsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUNtQixFQUFlLEVBQ2YsT0FBeUI7UUFEekIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBZm5DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsU0FBSSxHQUFzQixRQUFRLENBQUM7UUFDbkMsWUFBTyxHQUF3QixJQUFJLENBQUM7UUFDcEMsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBRWhDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVsQyxxQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztRQUdqRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBS1osQ0FBQztJQUVK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Q0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUs7Z0JBQzVDLFNBQVM7YUFDVixDQUFDLENBQUM7UUFFVCxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBekdVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDZPQ1puQyw0NEdBNEZBOzJGRGhGYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UscUJBQXFCO2lJQUl0QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3N0R3JvdXBTZXJ2aWNlIH0gZnJvbSAnQHByb3h5L2NvbnRyb2xsZXJzJztcclxuaW1wb3J0IHsgQ29zdEdyb3VwRHRvIH0gZnJvbSAnQHByb3h5L2Nvc3QtZ3JvdXBzL2R0b3MnO1xyXG5pbXBvcnQgeyBDb3N0SXRlbUR0byB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2R0b3MnO1xyXG5pbXBvcnQgeyBjb3N0R3JvdXBSb2xlT3B0aW9ucyB9IGZyb20gJy4uL2Nvc3QtZ3JvdXAtcm9sZS1sMTBuLWhlbHBlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb3N0LWdyb3VwLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3N0LWdyb3VwLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29zdEdyb3VwRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBjdXJyZW50OiBDb3N0R3JvdXBEdG8gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBhbGxDb3N0SXRlbXM6IENvc3RJdGVtRHRvW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICByZWFkb25seSBncm91cFJvbGVPcHRpb25zID0gY29zdEdyb3VwUm9sZU9wdGlvbnM7XHJcblxyXG4gIGZvcm0hOiBGb3JtR3JvdXA7XHJcbiAgc2F2aW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvc3RHcm91cFNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndmlzaWJsZSddPy5jdXJyZW50VmFsdWUgJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIHRoaXMucmVzZXRGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBjb2RlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBkaXNwbGF5T3JkZXI6IFswLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgZ3JvdXBSb2xlOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIGl0ZW1Db2RlczogW1tdIGFzIHN0cmluZ1tdXSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNldEZvcm0oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0pIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdCcgJiYgdGhpcy5jdXJyZW50KSB7XHJcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICBjb2RlOiB0aGlzLmN1cnJlbnQuY29kZSA/PyAnJyxcclxuICAgICAgICBuYW1lOiB0aGlzLmN1cnJlbnQubmFtZSA/PyAnJyxcclxuICAgICAgICBkaXNwbGF5T3JkZXI6IHRoaXMuY3VycmVudC5kaXNwbGF5T3JkZXIgPz8gMCxcclxuICAgICAgICBncm91cFJvbGU6IHRoaXMuY3VycmVudC5ncm91cFJvbGUgPz8gbnVsbCxcclxuICAgICAgICBpdGVtQ29kZXM6IHRoaXMuY3VycmVudC5pdGVtQ29kZXMgPz8gW10sXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm0uZ2V0KCdjb2RlJyk/LmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybS5yZXNldCh7IGNvZGU6ICcnLCBuYW1lOiAnJywgZGlzcGxheU9yZGVyOiAwLCBncm91cFJvbGU6IG51bGwsIGl0ZW1Db2RlczogW10gfSk7XHJcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2NvZGUnKT8uZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0l0ZW1TZWxlY3RlZChjb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkOiBzdHJpbmdbXSA9IHRoaXMuZm9ybS5nZXQoJ2l0ZW1Db2RlcycpPy52YWx1ZSA/PyBbXTtcclxuICAgIHJldHVybiBzZWxlY3RlZC5pbmNsdWRlcyhjb2RlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUl0ZW0oY29kZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCgnaXRlbUNvZGVzJyk7XHJcbiAgICBjb25zdCBjdXJyZW50OiBzdHJpbmdbXSA9IFsuLi4oY29udHJvbD8udmFsdWUgPz8gW10pXTtcclxuICAgIGNvbnN0IGlkeCA9IGN1cnJlbnQuaW5kZXhPZihjb2RlKTtcclxuICAgIGlmIChpZHggPj0gMCkge1xyXG4gICAgICBjdXJyZW50LnNwbGljZShpZHgsIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY3VycmVudC5wdXNoKGNvZGUpO1xyXG4gICAgfVxyXG4gICAgY29udHJvbD8uc2V0VmFsdWUoY3VycmVudCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBpdGVtQ29kZXM6IHN0cmluZ1tdID0gdGhpcy5mb3JtLmdldCgnaXRlbUNvZGVzJyk/LnZhbHVlID8/IFtdO1xyXG5cclxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0JCA9XHJcbiAgICAgIHRoaXMubW9kZSA9PT0gJ2NyZWF0ZSdcclxuICAgICAgICA/IHRoaXMuc2VydmljZS5jcmVhdGUoe1xyXG4gICAgICAgICAgICBjb2RlOiB0aGlzLmZvcm0uZ2V0KCdjb2RlJyk/LnZhbHVlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmZvcm0uZ2V0KCduYW1lJyk/LnZhbHVlLFxyXG4gICAgICAgICAgICBkaXNwbGF5T3JkZXI6IHRoaXMuZm9ybS5nZXQoJ2Rpc3BsYXlPcmRlcicpPy52YWx1ZSxcclxuICAgICAgICAgICAgZ3JvdXBSb2xlOiB0aGlzLmZvcm0uZ2V0KCdncm91cFJvbGUnKT8udmFsdWUsXHJcbiAgICAgICAgICAgIGl0ZW1Db2RlcyxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgOiB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuY3VycmVudCEuY29kZSEsIHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtLmdldCgnbmFtZScpPy52YWx1ZSxcclxuICAgICAgICAgICAgZGlzcGxheU9yZGVyOiB0aGlzLmZvcm0uZ2V0KCdkaXNwbGF5T3JkZXInKT8udmFsdWUsXHJcbiAgICAgICAgICAgIGdyb3VwUm9sZTogdGhpcy5mb3JtLmdldCgnZ3JvdXBSb2xlJyk/LnZhbHVlLFxyXG4gICAgICAgICAgICBpdGVtQ29kZXMsXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICByZXF1ZXN0JC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLnNhdmluZyA9IGZhbHNlKSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHRoaXMuc2F2ZWQuZW1pdCgpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJ2aXNpYmxlXCIgKGRpc2FwcGVhcik9XCJjbG9zZSgpXCIgW2J1c3ldPVwic2F2aW5nXCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwibW9kZSA9PT0gJ2NyZWF0ZSdcIj57eyAnS2VvcHM6OkNvc3RHcm91cHM6Q3JlYXRlVGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm1vZGUgPT09ICdlZGl0J1wiPnt7ICdLZW9wczo6Q29zdEdyb3VwczpFZGl0VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgPC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBpZD1cImNvc3RHcm91cEZvcm1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RHcm91cHM6Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2RlXCJcclxuICAgICAgICAgIFtyZWFkT25seV09XCJtb2RlID09PSAnZWRpdCdcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RHcm91cHM6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6Q29zdEdyb3VwczpEaXNwbGF5T3JkZXInIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGlzcGxheU9yZGVyXCIgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6Q29zdEdyb3VwczpHcm91cFJvbGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGZvcm1Db250cm9sTmFtZT1cImdyb3VwUm9sZVwiPlxyXG4gICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCIgZGlzYWJsZWQgaGlkZGVuPnt7ICdLZW9wczo6U2VsZWN0QW5PcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9vcHRpb24+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHQgb2YgZ3JvdXBSb2xlT3B0aW9uc1wiIFtuZ1ZhbHVlXT1cIm9wdC52YWx1ZVwiPlxyXG4gICAgICAgICAgICB7eyBvcHQubGFiZWwgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpDb3N0R3JvdXBzOkl0ZW1Db2RlcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgcm91bmRlZCBwLTJcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxDb3N0SXRlbXNcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2tcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIidpdGVtLScgKyBpdGVtLmNvZGVcIlxyXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0uY29kZSEpXCJcclxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUl0ZW0oaXRlbS5jb2RlISlcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgW2Zvcl09XCInaXRlbS0nICsgaXRlbS5jb2RlXCI+XHJcbiAgICAgICAgICAgICAge3sgaXRlbS5kaXNwbGF5T3JkZXIgfX0g4oCTIHt7IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YWJwLWJ1dHRvblxyXG4gICAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICAgIGJ1dHRvbkNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgW2xvYWRpbmddPVwic2F2aW5nXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcclxuICAgID5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9hYnAtYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Confirmation } from '@abp/ng.theme.shared';
|
|
3
|
+
import { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';
|
|
4
|
+
import { forkJoin } from 'rxjs';
|
|
5
|
+
import { costGroupRoleLabels } from '../cost-group-role-l10n-helper';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@proxy/controllers";
|
|
8
|
+
import * as i2 from "@abp/ng.theme.shared";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "@abp/ng.core";
|
|
11
|
+
import * as i5 from "@abp/ng.components/page";
|
|
12
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
13
|
+
import * as i7 from "devextreme-angular";
|
|
14
|
+
import * as i8 from "devextreme-angular/ui/nested";
|
|
15
|
+
import * as i9 from "devextreme-angular/core";
|
|
16
|
+
import * as i10 from "./cost-group-form.component";
|
|
17
|
+
export class CostGroupsComponent {
|
|
18
|
+
constructor(service, costItemService, toaster, confirmation) {
|
|
19
|
+
this.service = service;
|
|
20
|
+
this.costItemService = costItemService;
|
|
21
|
+
this.toaster = toaster;
|
|
22
|
+
this.confirmation = confirmation;
|
|
23
|
+
this.items = [];
|
|
24
|
+
this.costItems = [];
|
|
25
|
+
this.selected = null;
|
|
26
|
+
this.formVisible = false;
|
|
27
|
+
this.formMode = 'create';
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
forkJoin({
|
|
31
|
+
groups: this.service.getList(),
|
|
32
|
+
items: this.costItemService.getList(),
|
|
33
|
+
}).subscribe(({ groups, items }) => {
|
|
34
|
+
this.items = groups;
|
|
35
|
+
this.costItems = items;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
loadList() {
|
|
39
|
+
this.service.getList().subscribe(data => {
|
|
40
|
+
this.items = data;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
getItemLabel(code) {
|
|
44
|
+
const item = this.costItems.find(x => x.code === code);
|
|
45
|
+
return item ? `${item.displayOrder}-${item.name}` : code;
|
|
46
|
+
}
|
|
47
|
+
getItemsLabels(codes) {
|
|
48
|
+
if (!codes || codes.length === 0)
|
|
49
|
+
return [];
|
|
50
|
+
return codes.map(c => this.getItemLabel(c));
|
|
51
|
+
}
|
|
52
|
+
roleLabel(role) {
|
|
53
|
+
return costGroupRoleLabels[role ?? CostGroupRole.None];
|
|
54
|
+
}
|
|
55
|
+
openCreate() {
|
|
56
|
+
this.selected = null;
|
|
57
|
+
this.formMode = 'create';
|
|
58
|
+
this.formVisible = true;
|
|
59
|
+
}
|
|
60
|
+
openEdit(row) {
|
|
61
|
+
this.selected = row;
|
|
62
|
+
this.formMode = 'edit';
|
|
63
|
+
this.formVisible = true;
|
|
64
|
+
}
|
|
65
|
+
onSaved() {
|
|
66
|
+
this.formVisible = false;
|
|
67
|
+
this.selected = null;
|
|
68
|
+
this.toaster.success('AbpUi::SuccessfullySaved');
|
|
69
|
+
this.loadList();
|
|
70
|
+
}
|
|
71
|
+
remove(row) {
|
|
72
|
+
this.confirmation
|
|
73
|
+
.warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')
|
|
74
|
+
.subscribe(status => {
|
|
75
|
+
if (status === Confirmation.Status.confirm) {
|
|
76
|
+
this.service.delete(row.code).subscribe({
|
|
77
|
+
next: () => {
|
|
78
|
+
this.toaster.success('AbpUi::SuccessfullyDeleted');
|
|
79
|
+
this.loadList();
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
CostGroupsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostGroupsComponent, deps: [{ token: i1.CostGroupService }, { token: i1.CostItemService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
CostGroupsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostGroupsComponent, selector: "lib-cost-groups", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostGroups:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"CostGroupsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::CostGroups:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"CostGroupsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"100\"\r\n caption=\"{{ 'Keops::CostGroups:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"code\"\r\n width=\"160\"\r\n caption=\"{{ 'Keops::CostGroups:Code' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n width=\"200\"\r\n caption=\"{{ 'Keops::CostGroups:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupRole\"\r\n width=\"150\"\r\n cellTemplate=\"groupRoleTpl\"\r\n caption=\"{{ 'Keops::CostGroups:GroupRole' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'groupRoleTpl'\">\r\n {{ roleLabel(row.data.groupRole) | abpLocalization }}\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"itemCodes\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"itemCodesTpl\"\r\n caption=\"{{ 'Keops::CostGroups:ItemCodes' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'itemCodesTpl'\">\r\n <div *ngFor=\"let label of getItemsLabels(row.data.itemCodes)\">{{ label }}</div>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-cost-group-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [allCostItems]=\"costItems\"\r\n (saved)=\"onSaved()\"\r\n></lib-cost-group-form>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i5.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i5.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i6.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i6.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i6.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i6.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i10.CostGroupFormComponent, selector: "lib-cost-group-form", inputs: ["visible", "mode", "current", "allCostItems"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostGroupsComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'lib-cost-groups', template: "<abp-page [title]=\"'Keops::CostGroups:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"CostGroupsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::CostGroups:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"CostGroupsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"100\"\r\n caption=\"{{ 'Keops::CostGroups:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"code\"\r\n width=\"160\"\r\n caption=\"{{ 'Keops::CostGroups:Code' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n width=\"200\"\r\n caption=\"{{ 'Keops::CostGroups:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupRole\"\r\n width=\"150\"\r\n cellTemplate=\"groupRoleTpl\"\r\n caption=\"{{ 'Keops::CostGroups:GroupRole' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'groupRoleTpl'\">\r\n {{ roleLabel(row.data.groupRole) | abpLocalization }}\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"itemCodes\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"itemCodesTpl\"\r\n caption=\"{{ 'Keops::CostGroups:ItemCodes' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'itemCodesTpl'\">\r\n <div *ngFor=\"let label of getItemsLabels(row.data.itemCodes)\">{{ label }}</div>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-cost-group-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [allCostItems]=\"costItems\"\r\n (saved)=\"onSaved()\"\r\n></lib-cost-group-form>\r\n" }]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.CostGroupService }, { type: i1.CostItemService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1ncm91cHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWdyb3Vwcy9jb21wb25lbnRzL2Nvc3QtZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1ncm91cHMvY29tcG9uZW50cy9jb3N0LWdyb3Vwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQXVDLE1BQU0sc0JBQXNCLENBQUM7QUFHekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sbUJBQW1CO0lBUTlCLFlBQ21CLE9BQXlCLEVBQ3pCLGVBQWdDLEVBQ2hDLE9BQXVCLEVBQ3ZCLFlBQWlDO1FBSGpDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ3pCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFYcEQsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFDM0IsY0FBUyxHQUFrQixFQUFFLENBQUM7UUFFOUIsYUFBUSxHQUF3QixJQUFJLENBQUM7UUFDckMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFzQixRQUFRLENBQUM7SUFPcEMsQ0FBQztJQUVKLFFBQVE7UUFDTixRQUFR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R0FBbkIsbUJBQW1CLHVEQ2RoQyxpbktBc0lBOzJGRHhIYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29zdEdyb3VwU2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XHJcbmltcG9ydCB7IENvc3RHcm91cER0byB9IGZyb20gJ0Bwcm94eS9jb3N0LWdyb3Vwcy9kdG9zJztcclxuaW1wb3J0IHsgQ29zdEdyb3VwUm9sZSB9IGZyb20gJ0Bwcm94eS9jb3N0LWdyb3Vwcy9jb3N0LWdyb3VwLXJvbGUuZW51bSc7XHJcbmltcG9ydCB7IENvc3RJdGVtU2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XHJcbmltcG9ydCB7IENvc3RJdGVtRHRvIH0gZnJvbSAnQHByb3h5L2Nvc3QtaXRlbXMvZHRvcyc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNvc3RHcm91cFJvbGVMYWJlbHMgfSBmcm9tICcuLi9jb3N0LWdyb3VwLXJvbGUtbDEwbi1oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29zdC1ncm91cHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3N0LWdyb3Vwcy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3N0R3JvdXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpdGVtczogQ29zdEdyb3VwRHRvW10gPSBbXTtcclxuICBjb3N0SXRlbXM6IENvc3RJdGVtRHRvW10gPSBbXTtcclxuXHJcbiAgc2VsZWN0ZWQ6IENvc3RHcm91cER0byB8IG51bGwgPSBudWxsO1xyXG4gIGZvcm1WaXNpYmxlID0gZmFsc2U7XHJcbiAgZm9ybU1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb3N0R3JvdXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3N0SXRlbVNlcnZpY2U6IENvc3RJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlcjogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgZm9ya0pvaW4oe1xyXG4gICAgICBncm91cHM6IHRoaXMuc2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIGl0ZW1zOiB0aGlzLmNvc3RJdGVtU2VydmljZS5nZXRMaXN0KCksXHJcbiAgICB9KS5zdWJzY3JpYmUoKHsgZ3JvdXBzLCBpdGVtcyB9KSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBncm91cHM7XHJcbiAgICAgIHRoaXMuY29zdEl0ZW1zID0gaXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvYWRMaXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBkYXRhO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtTGFiZWwoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNvc3RJdGVtcy5maW5kKHggPT4geC5jb2RlID09PSBjb2RlKTtcclxuICAgIHJldHVybiBpdGVtID8gYCR7aXRlbS5kaXNwbGF5T3JkZXJ9LSR7aXRlbS5uYW1lfWAgOiBjb2RlO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbXNMYWJlbHMoY29kZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKCFjb2RlcyB8fCBjb2Rlcy5sZW5ndGggPT09IDApIHJldHVybiBbXTtcclxuICAgIHJldHVybiBjb2Rlcy5tYXAoYyA9PiB0aGlzLmdldEl0ZW1MYWJlbChjKSk7XHJcbiAgfVxyXG5cclxuICByb2xlTGFiZWwocm9sZTogQ29zdEdyb3VwUm9sZSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gY29zdEdyb3VwUm9sZUxhYmVsc1tyb2xlID8/IENvc3RHcm91cFJvbGUuTm9uZV07XHJcbiAgfVxyXG5cclxuICBvcGVuQ3JlYXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XHJcbiAgICB0aGlzLmZvcm1Nb2RlID0gJ2NyZWF0ZSc7XHJcbiAgICB0aGlzLmZvcm1WaXNpYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9wZW5FZGl0KHJvdzogQ29zdEdyb3VwRHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gcm93O1xyXG4gICAgdGhpcy5mb3JtTW9kZSA9ICdlZGl0JztcclxuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25TYXZlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybVZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlTYXZlZCcpO1xyXG4gICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHJvdzogQ29zdEdyb3VwRHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAud2FybignQWJwVWk6Okl0ZW1XaWxsQmVEZWxldGVkTWVzc2FnZScsICdBYnBVaTo6QXJlWW91U3VyZScpXHJcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmNvZGUhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkNvc3RHcm91cHM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiIGlkPVwiQ29zdEdyb3Vwc1Rvb2xiYXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIHB4LTEgcHQtMCBwdC1tZC0yIHBlLTBcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuQ29zdEdyb3Vwcy5DcmVhdGUnXCJcclxuICAgICAgICAgIGlkPVwiY3JlYXRlXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5DcmVhdGUoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICA8c3Bhbj57eyAnS2VvcHM6OkNvc3RHcm91cHM6TmV3JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGlkPVwiQ29zdEdyb3Vwc1dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZHgtZGF0YS1ncmlkXHJcbiAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcclxuICAgICAgICAgIGtleUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gICAgICAgICAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gICAgICAgICAgPGR4by1zZWFyY2gtcGFuZWxcclxuICAgICAgICAgICAgW3dpZHRoXT1cIjIwMFwiXHJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpTZWFyY2gnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgID48L2R4by1zZWFyY2gtcGFuZWw+XHJcbiAgICAgICAgICA8ZHhvLXBhZ2VyXHJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxMCwgMjAsIDUwXVwiXHJcbiAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgID48L2R4by1wYWdlcj5cclxuICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIFtmaXhlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93UmVvcmRlcmluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0hpZGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0dyb3VwaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93U29ydGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cIm9wdFRwbFwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMjBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnb3B0VHBsJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgbmdiRHJvcGRvd25Ub2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29nIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuQ29zdEdyb3Vwcy5VcGRhdGUnXCJcclxuICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkVkaXQocm93LmRhdGEpXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6RWRpdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuQ29zdEdyb3Vwcy5EZWxldGUnXCJcclxuICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlKHJvdy5kYXRhKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJkaXNwbGF5T3JkZXJcIlxyXG4gICAgICAgICAgICBkYXRhVHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6Q29zdEdyb3VwczpEaXNwbGF5T3JkZXInIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJjb2RlXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxNjBcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb3N0R3JvdXBzOkNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJuYW1lXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIyMDBcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb3N0R3JvdXBzOk5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJncm91cFJvbGVcIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjE1MFwiXHJcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cImdyb3VwUm9sZVRwbFwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OkNvc3RHcm91cHM6R3JvdXBSb2xlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgcm93IG9mICdncm91cFJvbGVUcGwnXCI+XHJcbiAgICAgICAgICAgICAge3sgcm9sZUxhYmVsKHJvdy5kYXRhLmdyb3VwUm9sZSkgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJpdGVtQ29kZXNcIlxyXG4gICAgICAgICAgICBbYWxsb3dTb3J0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwiaXRlbUNvZGVzVHBsXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6Q29zdEdyb3VwczpJdGVtQ29kZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCByb3cgb2YgJ2l0ZW1Db2Rlc1RwbCdcIj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBnZXRJdGVtc0xhYmVscyhyb3cuZGF0YS5pdGVtQ29kZXMpXCI+e3sgbGFiZWwgfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48bGliLWNvc3QtZ3JvdXAtZm9ybVxyXG4gICpuZ0lmPVwiZm9ybVZpc2libGVcIlxyXG4gIFsodmlzaWJsZSldPVwiZm9ybVZpc2libGVcIlxyXG4gIFttb2RlXT1cImZvcm1Nb2RlXCJcclxuICBbY3VycmVudF09XCJzZWxlY3RlZFwiXHJcbiAgW2FsbENvc3RJdGVtc109XCJjb3N0SXRlbXNcIlxyXG4gIChzYXZlZCk9XCJvblNhdmVkKClcIlxyXG4+PC9saWItY29zdC1ncm91cC1mb3JtPlxyXG4iXX0=
|