@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,73 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Confirmation } from '@abp/ng.theme.shared';
|
|
3
|
+
import { parentCodeLabels } from '../cost-parameter-category-l10n-helper';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@proxy/controllers";
|
|
6
|
+
import * as i2 from "@abp/ng.theme.shared";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@abp/ng.core";
|
|
9
|
+
import * as i5 from "@abp/ng.components/page";
|
|
10
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
11
|
+
import * as i7 from "devextreme-angular";
|
|
12
|
+
import * as i8 from "devextreme-angular/ui/nested";
|
|
13
|
+
import * as i9 from "devextreme-angular/core";
|
|
14
|
+
import * as i10 from "./cost-parameter-category-form.component";
|
|
15
|
+
export class CostParameterCategoriesComponent {
|
|
16
|
+
constructor(service, toaster, confirmation) {
|
|
17
|
+
this.service = service;
|
|
18
|
+
this.toaster = toaster;
|
|
19
|
+
this.confirmation = confirmation;
|
|
20
|
+
this.items = [];
|
|
21
|
+
this.selected = null;
|
|
22
|
+
this.formVisible = false;
|
|
23
|
+
this.formMode = 'create';
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.loadList();
|
|
27
|
+
}
|
|
28
|
+
getParentCodeLabel(value) {
|
|
29
|
+
return parentCodeLabels[value] ?? '';
|
|
30
|
+
}
|
|
31
|
+
loadList() {
|
|
32
|
+
this.service.getList().subscribe(data => {
|
|
33
|
+
this.items = data;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
openCreate() {
|
|
37
|
+
this.selected = null;
|
|
38
|
+
this.formMode = 'create';
|
|
39
|
+
this.formVisible = true;
|
|
40
|
+
}
|
|
41
|
+
openEdit(row) {
|
|
42
|
+
this.selected = row;
|
|
43
|
+
this.formMode = 'edit';
|
|
44
|
+
this.formVisible = true;
|
|
45
|
+
}
|
|
46
|
+
onSaved() {
|
|
47
|
+
this.formVisible = false;
|
|
48
|
+
this.selected = null;
|
|
49
|
+
this.toaster.success('AbpUi::SuccessfullySaved');
|
|
50
|
+
this.loadList();
|
|
51
|
+
}
|
|
52
|
+
remove(row) {
|
|
53
|
+
this.confirmation
|
|
54
|
+
.warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')
|
|
55
|
+
.subscribe(status => {
|
|
56
|
+
if (status === Confirmation.Status.confirm) {
|
|
57
|
+
this.service.delete(row.code).subscribe({
|
|
58
|
+
next: () => {
|
|
59
|
+
this.toaster.success('AbpUi::SuccessfullyDeleted');
|
|
60
|
+
this.loadList();
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
CostParameterCategoriesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoriesComponent, deps: [{ token: i1.CostParameterCategoryService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
CostParameterCategoriesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterCategoriesComponent, selector: "lib-cost-parameter-categories", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"parentCode\"\n cellTemplate=\"parentCodeTpl\"\n alignment=\"left\"\n caption=\"{{ 'Keops::CostParameterCategories:ParentCode' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'parentCodeTpl'\">\n {{ getParentCodeLabel(row.data.parentCode) | abpLocalization }}\n </div>\n </dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-category-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-category-form>\n", dependencies: [{ 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.CostParameterCategoryFormComponent, selector: "lib-cost-parameter-category-form", inputs: ["visible", "mode", "current"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoriesComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'lib-cost-parameter-categories', template: "<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"parentCode\"\n cellTemplate=\"parentCodeTpl\"\n alignment=\"left\"\n caption=\"{{ 'Keops::CostParameterCategories:ParentCode' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'parentCodeTpl'\">\n {{ getParentCodeLabel(row.data.parentCode) | abpLocalization }}\n </div>\n </dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-category-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-category-form>\n" }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.CostParameterCategoryService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLHNCQUFzQixDQUFDO0FBR3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFNMUUsTUFBTSxPQUFPLGdDQUFnQztJQU8zQyxZQUNtQixPQUFxQyxFQUNyQyxPQUF1QixFQUN2QixZQUFpQztRQUZqQyxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUNyQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFUcEQsVUFBSyxHQUErQixFQUFFLENBQUM7UUFFdkMsYUFBUSxHQUFvQyxJQUFJLENBQUM7UUFDakQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFzQixRQUFRLENBQUM7SUFNcEMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFzQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBNkI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQTZCO1FBQ2xDLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLG1CQUFtQixDQUFDO2FBQzVELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdkMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO3dCQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzZIQTNEVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyxxRUNWN0MsMm5JQStHQTsyRkRyR2EsZ0NBQWdDO2tCQUo1QyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29zdFBhcmFtZXRlckNhdGVnb3J5U2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8gfSBmcm9tICdAcHJveHkvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9kdG9zJztcbmltcG9ydCB7IHBhcmVudENvZGVMYWJlbHMgfSBmcm9tICcuLi9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1sMTBuLWhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGl0ZW1zOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG9bXSA9IFtdO1xuXG4gIHNlbGVjdGVkOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8gfCBudWxsID0gbnVsbDtcbiAgZm9ybVZpc2libGUgPSBmYWxzZTtcbiAgZm9ybU1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlcjogVG9hc3RlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRMaXN0KCk7XG4gIH1cblxuICBnZXRQYXJlbnRDb2RlTGFiZWwodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhcmVudENvZGVMYWJlbHNbdmFsdWUgYXMga2V5b2YgdHlwZW9mIHBhcmVudENvZGVMYWJlbHNdID8/ICcnO1xuICB9XG5cbiAgbG9hZExpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLml0ZW1zID0gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5DcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XG4gICAgdGhpcy5mb3JtTW9kZSA9ICdjcmVhdGUnO1xuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb3BlbkVkaXQocm93OiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gcm93O1xuICAgIHRoaXMuZm9ybU1vZGUgPSAnZWRpdCc7XG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBvblNhdmVkKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkID0gbnVsbDtcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnQWJwVWk6OlN1Y2Nlc3NmdWxseVNhdmVkJyk7XG4gICAgdGhpcy5sb2FkTGlzdCgpO1xuICB9XG5cbiAgcmVtb3ZlKHJvdzogQ29zdFBhcmFtZXRlckNhdGVnb3J5RHRvKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtYXRpb25cbiAgICAgIC53YXJuKCdBYnBVaTo6SXRlbVdpbGxCZURlbGV0ZWRNZXNzYWdlJywgJ0FicFVpOjpBcmVZb3VTdXJlJylcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShyb3cuY29kZSEpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKCdBYnBVaTo6U3VjY2Vzc2Z1bGx5RGVsZXRlZCcpO1xuICAgICAgICAgICAgICB0aGlzLmxvYWRMaXN0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOlRpdGxlJyB8IGFicExvY2FsaXphdGlvblwiPlxuICA8YWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXIgY2xhc3M9XCJjb2xcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiIGlkPVwiQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNUb29sYmFyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTIgcGUtMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKmFicFBlcm1pc3Npb249XCInS2VvcHNDb3N0LkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzLkNyZWF0ZSdcIlxuICAgICAgICAgIGlkPVwiY3JlYXRlXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5DcmVhdGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj57eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOk5ldycgfCBhYnBMb2NhbGl6YXRpb24gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XG5cbiAgPGRpdiBpZD1cIkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzV3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgIDxkeC1kYXRhLWdyaWRcbiAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcbiAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxuICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcbiAgICAgICAgICBbcm93QWx0ZXJuYXRpb25FbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcbiAgICAgICAgICBrZXlFeHByPVwiY29kZVwiXG4gICAgICAgICAgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cbiAgICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XG4gICAgICAgICAgPGR4by1zZWFyY2gtcGFuZWxcbiAgICAgICAgICAgIFt3aWR0aF09XCIyMDBcIlxuICAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpTZWFyY2gnIHwgYWJwTG9jYWxpemF0aW9uXCJcbiAgICAgICAgICA+PC9keG8tc2VhcmNoLXBhbmVsPlxuICAgICAgICAgIDxkeG8tcGFnZXJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxuICAgICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzEwLCAyMCwgNTBdXCJcbiAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvZHhvLXBhZ2VyPlxuICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cbiAgICAgICAgICA8ZHhpLWNvbHVtblxuICAgICAgICAgICAgW2ZpeGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd0hlYWRlckZpbHRlcmluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYWxsb3dSZW9yZGVyaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd0hpZGluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYWxsb3dHcm91cGluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICBbYWxsb3dTb3J0aW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cIm9wdFRwbFwiXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXG4gICAgICAgICAgICB3aWR0aD1cIjEyMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCByb3cgb2YgJ29wdFRwbCdcIj5cbiAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgbmdiRHJvcGRvd25Ub2dnbGU+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtZS0xXCI+PC9pPlxuICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuQ29zdFBhcmFtZXRlckNhdGVnb3JpZXMuVXBkYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkVkaXQocm93LmRhdGEpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5Db3N0UGFyYW1ldGVyQ2F0ZWdvcmllcy5EZWxldGUnXCJcbiAgICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmUocm93LmRhdGEpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpEZWxldGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XG4gICAgICAgICAgPGR4aS1jb2x1bW5cbiAgICAgICAgICAgIGRhdGFGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgPGR4aS1jb2x1bW5cbiAgICAgICAgICAgIGRhdGFGaWVsZD1cInBhcmVudENvZGVcIlxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwicGFyZW50Q29kZVRwbFwiXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJsZWZ0XCJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOlBhcmVudENvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAncGFyZW50Q29kZVRwbCdcIj5cbiAgICAgICAgICAgICAge3sgZ2V0UGFyZW50Q29kZUxhYmVsKHJvdy5kYXRhLnBhcmVudENvZGUpIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XG4gICAgICAgIDwvZHgtZGF0YS1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hYnAtcGFnZT5cblxuPGxpYi1jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtXG4gICpuZ0lmPVwiZm9ybVZpc2libGVcIlxuICBbKHZpc2libGUpXT1cImZvcm1WaXNpYmxlXCJcbiAgW21vZGVdPVwiZm9ybU1vZGVcIlxuICBbY3VycmVudF09XCJzZWxlY3RlZFwiXG4gIChzYXZlZCk9XCJvblNhdmVkKClcIlxuPjwvbGliLWNvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0+XG4iXX0=
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { costParameterCategoryParentCodeOptions, } from '@proxy/cost-parameter-categories';
|
|
4
|
+
import { parentCodeLabels } from '../cost-parameter-category-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 CostParameterCategoryFormComponent {
|
|
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.visibleChange = new EventEmitter();
|
|
19
|
+
this.saved = new EventEmitter();
|
|
20
|
+
this.parentCodeOptions = costParameterCategoryParentCodeOptions.map(option => ({
|
|
21
|
+
value: option.value,
|
|
22
|
+
label: parentCodeLabels[option.value] ?? option.key,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.buildForm();
|
|
27
|
+
}
|
|
28
|
+
ngOnChanges(changes) {
|
|
29
|
+
if (changes['visible']?.currentValue && this.form) {
|
|
30
|
+
this.resetForm();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
buildForm() {
|
|
34
|
+
this.form = this.fb.group({
|
|
35
|
+
name: ['', Validators.required],
|
|
36
|
+
parentCode: [null, Validators.required],
|
|
37
|
+
});
|
|
38
|
+
this.resetForm();
|
|
39
|
+
}
|
|
40
|
+
resetForm() {
|
|
41
|
+
if (!this.form)
|
|
42
|
+
return;
|
|
43
|
+
if (this.mode === 'edit' && this.current) {
|
|
44
|
+
this.form.patchValue({
|
|
45
|
+
name: this.current.name ?? '',
|
|
46
|
+
parentCode: this.current.parentCode ?? null,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.form.reset({ name: '', parentCode: null });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
close() {
|
|
54
|
+
this.visibleChange.emit(false);
|
|
55
|
+
}
|
|
56
|
+
save() {
|
|
57
|
+
if (this.form.invalid)
|
|
58
|
+
return;
|
|
59
|
+
if (this.mode === 'create') {
|
|
60
|
+
this.service
|
|
61
|
+
.create({
|
|
62
|
+
name: this.form.get('name')?.value,
|
|
63
|
+
parentCode: this.form.get('parentCode')?.value,
|
|
64
|
+
})
|
|
65
|
+
.subscribe({ next: () => this.saved.emit() });
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.service
|
|
69
|
+
.update(this.current.code, {
|
|
70
|
+
name: this.form.get('name')?.value,
|
|
71
|
+
parentCode: this.form.get('parentCode')?.value,
|
|
72
|
+
})
|
|
73
|
+
.subscribe({ next: () => this.saved.emit() });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
CostParameterCategoryFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoryFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CostParameterCategoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
CostParameterCategoryFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterCategoryFormComponent, selector: "lib-cost-parameter-category-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories: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::CostParameterCategories:ParentCode' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select class=\"form-select\" formControlName=\"parentCode\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let option of parentCodeOptions\" [ngValue]=\"option.value\">\r\n {{ option.label | abpLocalization }}\r\n </option>\r\n </select>\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 <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"form.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </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.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.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.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterCategoryFormComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'lib-cost-parameter-category-form', template: "<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories: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::CostParameterCategories:ParentCode' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select class=\"form-select\" formControlName=\"parentCode\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let option of parentCodeOptions\" [ngValue]=\"option.value\">\r\n {{ option.label | abpLocalization }}\r\n </option>\r\n </select>\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 <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"form.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CostParameterCategoryService }]; }, propDecorators: { visible: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], mode: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], current: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], visibleChange: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], saved: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}] } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3J5LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUVMLHNDQUFzQyxHQUN2QyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7O0FBTTFFLE1BQU0sT0FBTyxrQ0FBa0M7SUFlN0MsWUFDbUIsRUFBZSxFQUNmLE9BQXFDO1FBRHJDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQWhCL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixTQUFJLEdBQXNCLFFBQVEsQ0FBQztRQUNuQyxZQUFPLEdBQW9DLElBQUksQ0FBQztRQUUvQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFJbEMsc0JBQWlCLEdBQUcsc0NBQXNDLENB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QkFDRSxrQ0FBa0M7NklBSW5DLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29zdFBhcmFtZXRlckNhdGVnb3J5U2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8gfSBmcm9tICdAcHJveHkvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy9kdG9zJztcbmltcG9ydCB7XG4gIENvc3RQYXJhbWV0ZXJDYXRlZ29yeVBhcmVudENvZGUsXG4gIGNvc3RQYXJhbWV0ZXJDYXRlZ29yeVBhcmVudENvZGVPcHRpb25zLFxufSBmcm9tICdAcHJveHkvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcyc7XG5pbXBvcnQgeyBwYXJlbnRDb2RlTGFiZWxzIH0gZnJvbSAnLi4vY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktbDEwbi1oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29zdFBhcmFtZXRlckNhdGVnb3J5Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlOiAnY3JlYXRlJyB8ICdlZGl0JyA9ICdjcmVhdGUnO1xuICBASW5wdXQoKSBjdXJyZW50OiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8gfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgcmVhZG9ubHkgcGFyZW50Q29kZU9wdGlvbnMgPSBjb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlT3B0aW9ucy5tYXAob3B0aW9uID0+ICh7XG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBsYWJlbDogcGFyZW50Q29kZUxhYmVsc1tvcHRpb24udmFsdWUgYXMgQ29zdFBhcmFtZXRlckNhdGVnb3J5UGFyZW50Q29kZV0gPz8gb3B0aW9uLmtleSxcbiAgfSkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogQ29zdFBhcmFtZXRlckNhdGVnb3J5U2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3Zpc2libGUnXT8uY3VycmVudFZhbHVlICYmIHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwYXJlbnRDb2RlOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgfSk7XG4gICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRGb3JtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mb3JtKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdCcgJiYgdGhpcy5jdXJyZW50KSB7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIG5hbWU6IHRoaXMuY3VycmVudC5uYW1lID8/ICcnLFxuICAgICAgICBwYXJlbnRDb2RlOiB0aGlzLmN1cnJlbnQucGFyZW50Q29kZSA/PyBudWxsLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCh7IG5hbWU6ICcnLCBwYXJlbnRDb2RlOiBudWxsIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5tb2RlID09PSAnY3JlYXRlJykge1xuICAgICAgdGhpcy5zZXJ2aWNlXG4gICAgICAgIC5jcmVhdGUoe1xuICAgICAgICAgIG5hbWU6IHRoaXMuZm9ybS5nZXQoJ25hbWUnKT8udmFsdWUsXG4gICAgICAgICAgcGFyZW50Q29kZTogdGhpcy5mb3JtLmdldCgncGFyZW50Q29kZScpPy52YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSh7IG5leHQ6ICgpID0+IHRoaXMuc2F2ZWQuZW1pdCgpIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZSh0aGlzLmN1cnJlbnQhLmNvZGUhLCB7XG4gICAgICAgICAgbmFtZTogdGhpcy5mb3JtLmdldCgnbmFtZScpPy52YWx1ZSxcbiAgICAgICAgICBwYXJlbnRDb2RlOiB0aGlzLmZvcm0uZ2V0KCdwYXJlbnRDb2RlJyk/LnZhbHVlLFxuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKHsgbmV4dDogKCkgPT4gdGhpcy5zYXZlZC5lbWl0KCkgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8YWJwLW1vZGFsIFsodmlzaWJsZSldPVwidmlzaWJsZVwiIChkaXNhcHBlYXIpPVwiY2xvc2UoKVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm1vZGUgPT09ICdjcmVhdGUnXCI+e3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpDcmVhdGVUaXRsZScgfCBhYnBMb2NhbGl6YXRpb24gfX08L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwibW9kZSA9PT0gJ2VkaXQnXCI+e3sgJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpFZGl0VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgPC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBpZD1cImNvc3RQYXJhbWV0ZXJDYXRlZ29yeUZvcm1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOk5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOlBhcmVudENvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGZvcm1Db250cm9sTmFtZT1cInBhcmVudENvZGVcIj5cclxuICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIGRpc2FibGVkIGhpZGRlbj57eyAnS2VvcHM6OlNlbGVjdEFuT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHBhcmVudENvZGVPcHRpb25zXCIgW25nVmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XHJcbiAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIlxyXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcclxuICAgID5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CostParameterCategoryParentCode } from '@proxy/cost-parameter-categories';
|
|
2
|
+
export const parentCodeLabels = {
|
|
3
|
+
[CostParameterCategoryParentCode.Code1]: 'Keops::CostParameterCategories:ParentCode:Code1',
|
|
4
|
+
[CostParameterCategoryParentCode.Code2]: 'Keops::CostParameterCategories:ParentCode:Code2',
|
|
5
|
+
[CostParameterCategoryParentCode.Code3]: 'Keops::CostParameterCategories:ParentCode:Code3',
|
|
6
|
+
[CostParameterCategoryParentCode.Code4]: 'Keops::CostParameterCategories:ParentCode:Code4',
|
|
7
|
+
[CostParameterCategoryParentCode.Code5]: 'Keops::CostParameterCategories:ParentCode:Code5',
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktbDEwbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcnktbDEwbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbkYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQW9EO0lBQy9FLENBQUMsK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsaURBQWlEO0lBQzFGLENBQUMsK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsaURBQWlEO0lBQzFGLENBQUMsK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsaURBQWlEO0lBQzFGLENBQUMsK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsaURBQWlEO0lBQzFGLENBQUMsK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsaURBQWlEO0NBQzNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlIH0gZnJvbSAnQHByb3h5L2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IHBhcmVudENvZGVMYWJlbHM6IFJlY29yZDxDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlLCBzdHJpbmc+ID0ge1xyXG4gIFtDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlLkNvZGUxXTogJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpQYXJlbnRDb2RlOkNvZGUxJyxcclxuICBbQ29zdFBhcmFtZXRlckNhdGVnb3J5UGFyZW50Q29kZS5Db2RlMl06ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6UGFyZW50Q29kZTpDb2RlMicsXHJcbiAgW0Nvc3RQYXJhbWV0ZXJDYXRlZ29yeVBhcmVudENvZGUuQ29kZTNdOiAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzOlBhcmVudENvZGU6Q29kZTMnLFxyXG4gIFtDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlQYXJlbnRDb2RlLkNvZGU0XTogJ0tlb3BzOjpDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllczpQYXJlbnRDb2RlOkNvZGU0JyxcclxuICBbQ29zdFBhcmFtZXRlckNhdGVnb3J5UGFyZW50Q29kZS5Db2RlNV06ICdLZW9wczo6Q29zdFBhcmFtZXRlckNhdGVnb3JpZXM6UGFyZW50Q29kZTpDb2RlNScsXHJcbn07XHJcbiJdfQ==
|
|
@@ -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 { CostParameterCategoriesComponent } from './components/cost-parameter-categories.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
const routes = [
|
|
8
|
+
{
|
|
9
|
+
path: '',
|
|
10
|
+
component: CostParameterCategoriesComponent,
|
|
11
|
+
canActivate: [AuthGuard, PermissionGuard],
|
|
12
|
+
data: {
|
|
13
|
+
requiredPolicy: 'KeopsCost.CostParameterCategories',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
export class HitCostParameterCategoriesRoutingModule {
|
|
18
|
+
}
|
|
19
|
+
HitCostParameterCategoriesRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
HitCostParameterCategoriesRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
21
|
+
HitCostParameterCategoriesRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesRoutingModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [RouterModule.forChild(routes)],
|
|
26
|
+
exports: [RouterModule],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMvaGl0LWNvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7OztBQUVwRyxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGdDQUFnQztRQUMzQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSxtQ0FBbUM7U0FDcEQ7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sdUNBQXVDOztvSUFBdkMsdUNBQXVDO3FJQUF2Qyx1Q0FBdUMsd0NBRnhDLFlBQVk7cUlBRVgsdUNBQXVDLFlBSHhDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsdUNBQXVDO2tCQUpuRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aEd1YXJkLCBQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGNvbXBvbmVudDogQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmQsIFBlcm1pc3Npb25HdWFyZF0sXG4gICAgZGF0YToge1xuICAgICAgcmVxdWlyZWRQb2xpY3k6ICdLZW9wc0Nvc3QuQ29zdFBhcmFtZXRlckNhdGVnb3JpZXMnLFxuICAgIH0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSGl0Q29zdFBhcmFtZXRlckNhdGVnb3JpZXNSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
|
package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.mjs
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
9
|
+
import { CostParameterCategoriesComponent } from './components/cost-parameter-categories.component';
|
|
10
|
+
import { CostParameterCategoryFormComponent } from './components/cost-parameter-category-form.component';
|
|
11
|
+
import { HitCostParameterCategoriesRoutingModule } from './hit-cost-parameter-categories-routing.module';
|
|
12
|
+
import { DxDataGridModule } from 'devextreme-angular';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class HitCostParameterCategoriesModule {
|
|
15
|
+
}
|
|
16
|
+
HitCostParameterCategoriesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
HitCostParameterCategoriesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesModule, declarations: [CostParameterCategoriesComponent, CostParameterCategoryFormComponent], imports: [CommonModule,
|
|
18
|
+
FormsModule,
|
|
19
|
+
ReactiveFormsModule,
|
|
20
|
+
CoreModule,
|
|
21
|
+
ThemeSharedModule,
|
|
22
|
+
PageModule,
|
|
23
|
+
CommercialUiModule,
|
|
24
|
+
NgbDropdownModule,
|
|
25
|
+
HitCostParameterCategoriesRoutingModule,
|
|
26
|
+
DxDataGridModule] });
|
|
27
|
+
HitCostParameterCategoriesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesModule, imports: [CommonModule,
|
|
28
|
+
FormsModule,
|
|
29
|
+
ReactiveFormsModule,
|
|
30
|
+
CoreModule,
|
|
31
|
+
ThemeSharedModule,
|
|
32
|
+
PageModule,
|
|
33
|
+
CommercialUiModule,
|
|
34
|
+
NgbDropdownModule,
|
|
35
|
+
HitCostParameterCategoriesRoutingModule,
|
|
36
|
+
DxDataGridModule] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostParameterCategoriesModule, decorators: [{
|
|
38
|
+
type: NgModule,
|
|
39
|
+
args: [{
|
|
40
|
+
declarations: [CostParameterCategoriesComponent, CostParameterCategoryFormComponent],
|
|
41
|
+
imports: [
|
|
42
|
+
CommonModule,
|
|
43
|
+
FormsModule,
|
|
44
|
+
ReactiveFormsModule,
|
|
45
|
+
CoreModule,
|
|
46
|
+
ThemeSharedModule,
|
|
47
|
+
PageModule,
|
|
48
|
+
CommercialUiModule,
|
|
49
|
+
NgbDropdownModule,
|
|
50
|
+
HitCostParameterCategoriesRoutingModule,
|
|
51
|
+
DxDataGridModule,
|
|
52
|
+
],
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
export function loadHitCostParameterCategoriesModuleAsChild() {
|
|
56
|
+
return Promise.resolve(HitCostParameterCategoriesModule);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtcGFyYW1ldGVyLWNhdGVnb3JpZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzL2hpdC1jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDekcsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBaUJ0RCxNQUFNLE9BQU8sZ0NBQWdDOzs2SEFBaEMsZ0NBQWdDOzhIQUFoQyxnQ0FBZ0MsaUJBZDVCLGdDQUFnQyxFQUFFLGtDQUFrQyxhQUVqRixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLHVDQUF1QztRQUN2QyxnQkFBZ0I7OEhBR1AsZ0NBQWdDLFlBWnpDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsdUNBQXVDO1FBQ3ZDLGdCQUFnQjsyRkFHUCxnQ0FBZ0M7a0JBZjVDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsa0NBQWtDLENBQUM7b0JBQ3BGLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsdUNBQXVDO3dCQUN2QyxnQkFBZ0I7cUJBQ2pCO2lCQUNGOztBQUdELE1BQU0sVUFBVSwyQ0FBMkM7SUFDekQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgUGFnZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IENvbW1lcmNpYWxVaU1vZHVsZSB9IGZyb20gJ0B2b2xvL2FicC5jb21tZXJjaWFsLm5nLnVpJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ29zdFBhcmFtZXRlckNhdGVnb3JpZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29zdC1wYXJhbWV0ZXItY2F0ZWdvcmllcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29zdFBhcmFtZXRlckNhdGVnb3J5Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1jYXRlZ29yeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaXRDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2hpdC1jb3N0LXBhcmFtZXRlci1jYXRlZ29yaWVzLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IER4RGF0YUdyaWRNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc0NvbXBvbmVudCwgQ29zdFBhcmFtZXRlckNhdGVnb3J5Rm9ybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIFBhZ2VNb2R1bGUsXG4gICAgQ29tbWVyY2lhbFVpTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIEhpdENvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzUm91dGluZ01vZHVsZSxcbiAgICBEeERhdGFHcmlkTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIaXRDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc01vZHVsZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEhpdENvc3RQYXJhbWV0ZXJDYXRlZ29yaWVzTW9kdWxlQXNDaGlsZCgpIHtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShIaXRDb3N0UGFyYW1ldGVyQ2F0ZWdvcmllc01vZHVsZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { finalize } from 'rxjs/operators';
|
|
4
|
+
import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';
|
|
5
|
+
import { Currency } from '@proxy/currencies/currency.enum';
|
|
6
|
+
import { CostParameterStatus } from '@proxy/cost-parameters/cost-parameter-status.enum';
|
|
7
|
+
import { statusLabels } from '../cost-parameter-l10n-helper';
|
|
8
|
+
import { calculationTypeLabels } from '../../cost-items/cost-item-l10n-helper';
|
|
9
|
+
import { CURRENCY_OPTIONS } from '../../../utils/currency.utils';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
|
+
import * as i2 from "@proxy/controllers";
|
|
13
|
+
import * as i3 from "@angular/common";
|
|
14
|
+
import * as i4 from "@abp/ng.core";
|
|
15
|
+
import * as i5 from "@abp/ng.theme.shared";
|
|
16
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
17
|
+
const statusOptions = [
|
|
18
|
+
CostParameterStatus.InProgress,
|
|
19
|
+
CostParameterStatus.Active,
|
|
20
|
+
CostParameterStatus.Passive,
|
|
21
|
+
].map(value => ({ value, label: statusLabels[value] }));
|
|
22
|
+
export class CostParameterFormComponent {
|
|
23
|
+
constructor(fb, service, costItemService) {
|
|
24
|
+
this.fb = fb;
|
|
25
|
+
this.service = service;
|
|
26
|
+
this.costItemService = costItemService;
|
|
27
|
+
this.visible = false;
|
|
28
|
+
this.mode = 'create';
|
|
29
|
+
this.current = null;
|
|
30
|
+
this.productGroupOptions = [];
|
|
31
|
+
this.regionOptions = [];
|
|
32
|
+
this.visibleChange = new EventEmitter();
|
|
33
|
+
this.saved = new EventEmitter();
|
|
34
|
+
this.saving = false;
|
|
35
|
+
this.costItems = [];
|
|
36
|
+
this.statusOptions = statusOptions;
|
|
37
|
+
this.currencyOptions = CURRENCY_OPTIONS;
|
|
38
|
+
this.customLabel = calculationTypeLabels[CostItemCalculationType.Custom];
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.form = this.fb.group({
|
|
42
|
+
region: [this.current?.region ?? null, [Validators.required]],
|
|
43
|
+
productGroup: [this.current?.productGroup ?? null, [Validators.required]],
|
|
44
|
+
status: [this.current?.status ?? CostParameterStatus.InProgress, [Validators.required]],
|
|
45
|
+
description: [this.current?.description ?? '', [Validators.maxLength(512)]],
|
|
46
|
+
items: this.fb.array([]),
|
|
47
|
+
});
|
|
48
|
+
this.loadCostItems();
|
|
49
|
+
}
|
|
50
|
+
get itemsArray() {
|
|
51
|
+
return this.form.get('items');
|
|
52
|
+
}
|
|
53
|
+
get title() {
|
|
54
|
+
return this.mode === 'create'
|
|
55
|
+
? 'Keops::CostParameters:CreateTitle'
|
|
56
|
+
: 'Keops::CostParameters:EditTitle';
|
|
57
|
+
}
|
|
58
|
+
isRate(costItem) {
|
|
59
|
+
return costItem.calculationType === CostItemCalculationType.Rate;
|
|
60
|
+
}
|
|
61
|
+
isCustom(costItem) {
|
|
62
|
+
return costItem.calculationType === CostItemCalculationType.Custom;
|
|
63
|
+
}
|
|
64
|
+
onVisibleChange(value) {
|
|
65
|
+
this.visible = value;
|
|
66
|
+
this.visibleChange.emit(value);
|
|
67
|
+
}
|
|
68
|
+
save() {
|
|
69
|
+
if (this.form.invalid) {
|
|
70
|
+
this.form.markAllAsTouched();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this.saving = true;
|
|
74
|
+
const { items, ...rest } = this.form.value;
|
|
75
|
+
const input = {
|
|
76
|
+
...rest,
|
|
77
|
+
items: this.costItems.map((costItem, index) => ({
|
|
78
|
+
costItemCode: costItem.code,
|
|
79
|
+
value: items[index].value != null && items[index].value !== ''
|
|
80
|
+
? String(items[index].value)
|
|
81
|
+
: null,
|
|
82
|
+
currency: this.isRate(costItem) || this.isCustom(costItem) ? null : items[index].currency,
|
|
83
|
+
})),
|
|
84
|
+
};
|
|
85
|
+
const request$ = this.mode === 'create'
|
|
86
|
+
? this.service.create(input)
|
|
87
|
+
: this.service.update(this.current.code, input);
|
|
88
|
+
request$.pipe(finalize(() => (this.saving = false))).subscribe({
|
|
89
|
+
next: () => {
|
|
90
|
+
this.saved.emit();
|
|
91
|
+
this.visible = false;
|
|
92
|
+
this.visibleChange.emit(false);
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
loadCostItems() {
|
|
97
|
+
this.costItemService.getList().subscribe(data => {
|
|
98
|
+
this.costItems = [...data].sort((a, b) => (a.code ?? '').localeCompare(b.code ?? '', undefined, { numeric: true }));
|
|
99
|
+
const currentItemsByCode = new Map((this.current?.items ?? []).map(item => [item.costItemCode, item]));
|
|
100
|
+
this.itemsArray.clear();
|
|
101
|
+
this.costItems.forEach(costItem => {
|
|
102
|
+
const currentItem = currentItemsByCode.get(costItem.code);
|
|
103
|
+
this.itemsArray.push(this.fb.group({
|
|
104
|
+
value: [currentItem?.value ?? null],
|
|
105
|
+
currency: [currentItem?.currency ?? Currency.TRY],
|
|
106
|
+
}));
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
CostParameterFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CostParameterService }, { token: i2.CostItemService }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
CostParameterFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostParameterFormComponent, selector: "lib-cost-parameter-form", inputs: { visible: "visible", mode: "mode", current: "current", productGroupOptions: "productGroupOptions", regionOptions: "regionOptions" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, ngImport: i0, template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:Info' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"mb-3\">\r\n <label for=\"region\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Region' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"region\" class=\"form-select\" formControlName=\"region\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let region of regionOptions\" [ngValue]=\"region.code\">\r\n {{ region.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"productGroup\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:ProductGroup' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"productGroup\" class=\"form-select\" formControlName=\"productGroup\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let productGroup of productGroupOptions\" [ngValue]=\"productGroup.code\">\r\n {{ productGroup.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"status\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Status' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"status\" class=\"form-select\" formControlName=\"status\">\r\n <option *ngFor=\"let opt of statusOptions\" [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 for=\"description\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Description' | abpLocalization }}\r\n </label>\r\n <textarea\r\n id=\"description\"\r\n class=\"form-control\"\r\n formControlName=\"description\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:ItemValues' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <table class=\"table table-sm align-middle\">\r\n <colgroup>\r\n <col style=\"width: 50%\" />\r\n <col style=\"width: 30%\" />\r\n <col style=\"width: 20%\" />\r\n </colgroup>\r\n <tbody formArrayName=\"items\">\r\n <tr *ngFor=\"let costItem of costItems; let i = index\" [formGroupName]=\"i\">\r\n <td>\r\n {{ costItem.name }}\r\n <span class=\"badge bg-info ms-1\" *ngIf=\"isCustom(costItem)\">\r\n {{ customLabel | abpLocalization }}\r\n </span>\r\n </td>\r\n <td>\r\n <input\r\n *ngIf=\"isCustom(costItem); else valueInput\"\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n disabled\r\n [placeholder]=\"'Keops::CostParameters:AutoCalculated' | abpLocalization\"\r\n />\r\n <ng-template #valueInput>\r\n <div class=\"input-group input-group-sm\">\r\n <input type=\"number\" class=\"form-control\" formControlName=\"value\" />\r\n <span class=\"input-group-text px-3\" *ngIf=\"isRate(costItem)\">%</span>\r\n </div>\r\n </ng-template>\r\n </td>\r\n <td>\r\n <select\r\n *ngIf=\"!isRate(costItem) && !isCustom(costItem)\"\r\n class=\"form-select form-select-sm\"\r\n formControlName=\"currency\"\r\n >\r\n <option *ngFor=\"let currency of currencyOptions\" [ngValue]=\"currency.value\">\r\n {{ currency.label }}\r\n </option>\r\n </select>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\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.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i4.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i5.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i5.ModalCloseDirective, selector: "[abpClose]" }, { kind: "directive", type: i6.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i6.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i6.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i6.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "component", type: i6.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostParameterFormComponent, decorators: [{
|
|
114
|
+
type: Component,
|
|
115
|
+
args: [{ selector: 'lib-cost-parameter-form', template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:Info' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"mb-3\">\r\n <label for=\"region\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Region' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"region\" class=\"form-select\" formControlName=\"region\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let region of regionOptions\" [ngValue]=\"region.code\">\r\n {{ region.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"productGroup\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:ProductGroup' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"productGroup\" class=\"form-select\" formControlName=\"productGroup\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let productGroup of productGroupOptions\" [ngValue]=\"productGroup.code\">\r\n {{ productGroup.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"status\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Status' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"status\" class=\"form-select\" formControlName=\"status\">\r\n <option *ngFor=\"let opt of statusOptions\" [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 for=\"description\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Description' | abpLocalization }}\r\n </label>\r\n <textarea\r\n id=\"description\"\r\n class=\"form-control\"\r\n formControlName=\"description\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:ItemValues' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <table class=\"table table-sm align-middle\">\r\n <colgroup>\r\n <col style=\"width: 50%\" />\r\n <col style=\"width: 30%\" />\r\n <col style=\"width: 20%\" />\r\n </colgroup>\r\n <tbody formArrayName=\"items\">\r\n <tr *ngFor=\"let costItem of costItems; let i = index\" [formGroupName]=\"i\">\r\n <td>\r\n {{ costItem.name }}\r\n <span class=\"badge bg-info ms-1\" *ngIf=\"isCustom(costItem)\">\r\n {{ customLabel | abpLocalization }}\r\n </span>\r\n </td>\r\n <td>\r\n <input\r\n *ngIf=\"isCustom(costItem); else valueInput\"\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n disabled\r\n [placeholder]=\"'Keops::CostParameters:AutoCalculated' | abpLocalization\"\r\n />\r\n <ng-template #valueInput>\r\n <div class=\"input-group input-group-sm\">\r\n <input type=\"number\" class=\"form-control\" formControlName=\"value\" />\r\n <span class=\"input-group-text px-3\" *ngIf=\"isRate(costItem)\">%</span>\r\n </div>\r\n </ng-template>\r\n </td>\r\n <td>\r\n <select\r\n *ngIf=\"!isRate(costItem) && !isCustom(costItem)\"\r\n class=\"form-select form-select-sm\"\r\n formControlName=\"currency\"\r\n >\r\n <option *ngFor=\"let currency of currencyOptions\" [ngValue]=\"currency.value\">\r\n {{ currency.label }}\r\n </option>\r\n </select>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\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" }]
|
|
116
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CostParameterService }, { type: i2.CostItemService }]; }, propDecorators: { visible: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], mode: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], current: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], productGroupOptions: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], regionOptions: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], visibleChange: [{
|
|
127
|
+
type: Output
|
|
128
|
+
}], saved: [{
|
|
129
|
+
type: Output
|
|
130
|
+
}] } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1wYXJhbWV0ZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtcGFyYW1ldGVycy9jb21wb25lbnRzL2Nvc3QtcGFyYW1ldGVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LXBhcmFtZXRlcnMvY29tcG9uZW50cy9jb3N0LXBhcmFtZXRlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFFakUsTUFBTSxhQUFhLEdBQUc7SUFDcEIsbUJBQW1CLENBQUMsVUFBVTtJQUM5QixtQkFBbUIsQ0FBQyxNQUFNO0lBQzFCLG1CQUFtQixDQUFDLE9BQU87Q0FDNUIsQ0FBQyxHQUFHLENBQUMsS0FB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S0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7b0JBQ25DLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQztpQkFDbEQsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBdkhVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDBRQ3ZCdkMsa3ZMQXlJQTsyRkRsSGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHlCQUF5QjttS0FJMUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvc3RJdGVtU2VydmljZSwgQ29zdFBhcmFtZXRlclNlcnZpY2UgfSBmcm9tICdAcHJveHkvY29udHJvbGxlcnMnO1xyXG5pbXBvcnQgeyBDb3N0SXRlbUR0byB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2R0b3MnO1xyXG5pbXBvcnQgeyBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZSB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2Nvc3QtaXRlbS1jYWxjdWxhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBDdXJyZW5jeSB9IGZyb20gJ0Bwcm94eS9jdXJyZW5jaWVzL2N1cnJlbmN5LmVudW0nO1xyXG5pbXBvcnQgeyBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlMb29rdXBEdG8sIENvc3RQYXJhbWV0ZXJEdG8gfSBmcm9tICdAcHJveHkvY29zdC1wYXJhbWV0ZXJzL2R0b3MnO1xyXG5pbXBvcnQgeyBDb3N0UGFyYW1ldGVyU3RhdHVzIH0gZnJvbSAnQHByb3h5L2Nvc3QtcGFyYW1ldGVycy9jb3N0LXBhcmFtZXRlci1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7IHN0YXR1c0xhYmVscyB9IGZyb20gJy4uL2Nvc3QtcGFyYW1ldGVyLWwxMG4taGVscGVyJztcclxuaW1wb3J0IHsgY2FsY3VsYXRpb25UeXBlTGFiZWxzIH0gZnJvbSAnLi4vLi4vY29zdC1pdGVtcy9jb3N0LWl0ZW0tbDEwbi1oZWxwZXInO1xyXG5pbXBvcnQgeyBDVVJSRU5DWV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY3VycmVuY3kudXRpbHMnO1xyXG5cclxuY29uc3Qgc3RhdHVzT3B0aW9ucyA9IFtcclxuICBDb3N0UGFyYW1ldGVyU3RhdHVzLkluUHJvZ3Jlc3MsXHJcbiAgQ29zdFBhcmFtZXRlclN0YXR1cy5BY3RpdmUsXHJcbiAgQ29zdFBhcmFtZXRlclN0YXR1cy5QYXNzaXZlLFxyXG5dLm1hcCh2YWx1ZSA9PiAoeyB2YWx1ZSwgbGFiZWw6IHN0YXR1c0xhYmVsc1t2YWx1ZV0gfSkpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29zdC1wYXJhbWV0ZXItZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvc3QtcGFyYW1ldGVyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29zdFBhcmFtZXRlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBtb2RlOiAnY3JlYXRlJyB8ICdlZGl0JyA9ICdjcmVhdGUnO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnQ6IENvc3RQYXJhbWV0ZXJEdG8gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwcm9kdWN0R3JvdXBPcHRpb25zOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlMb29rdXBEdG9bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHJlZ2lvbk9wdGlvbnM6IENvc3RQYXJhbWV0ZXJDYXRlZ29yeUxvb2t1cER0b1tdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBzYXZpbmcgPSBmYWxzZTtcclxuICBjb3N0SXRlbXM6IENvc3RJdGVtRHRvW10gPSBbXTtcclxuXHJcbiAgcmVhZG9ubHkgc3RhdHVzT3B0aW9ucyA9IHN0YXR1c09wdGlvbnM7XHJcbiAgcmVhZG9ubHkgY3VycmVuY3lPcHRpb25zID0gQ1VSUkVOQ1lfT1BUSU9OUztcclxuICByZWFkb25seSBjdXN0b21MYWJlbCA9IGNhbGN1bGF0aW9uVHlwZUxhYmVsc1tDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZS5DdXN0b21dO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb3N0UGFyYW1ldGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29zdEl0ZW1TZXJ2aWNlOiBDb3N0SXRlbVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICByZWdpb246IFt0aGlzLmN1cnJlbnQ/LnJlZ2lvbiA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBwcm9kdWN0R3JvdXA6IFt0aGlzLmN1cnJlbnQ/LnByb2R1Y3RHcm91cCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBzdGF0dXM6IFt0aGlzLmN1cnJlbnQ/LnN0YXR1cyA/PyBDb3N0UGFyYW1ldGVyU3RhdHVzLkluUHJvZ3Jlc3MsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBbdGhpcy5jdXJyZW50Py5kZXNjcmlwdGlvbiA/PyAnJywgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUxMildXSxcclxuICAgICAgaXRlbXM6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkQ29zdEl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXNBcnJheSgpOiBGb3JtQXJyYXkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2l0ZW1zJykgYXMgRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xyXG4gICAgICA/ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6Q3JlYXRlVGl0bGUnXHJcbiAgICAgIDogJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpFZGl0VGl0bGUnO1xyXG4gIH1cclxuXHJcbiAgaXNSYXRlKGNvc3RJdGVtOiBDb3N0SXRlbUR0byk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvc3RJdGVtLmNhbGN1bGF0aW9uVHlwZSA9PT0gQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUuUmF0ZTtcclxuICB9XHJcblxyXG4gIGlzQ3VzdG9tKGNvc3RJdGVtOiBDb3N0SXRlbUR0byk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGNvc3RJdGVtLmNhbGN1bGF0aW9uVHlwZSA9PT0gQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUuQ3VzdG9tO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uVmlzaWJsZUNoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy52aXNpYmxlID0gdmFsdWU7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyBpdGVtcywgLi4ucmVzdCB9ID0gdGhpcy5mb3JtLnZhbHVlO1xyXG5cclxuICAgIGNvbnN0IGlucHV0ID0ge1xyXG4gICAgICAuLi5yZXN0LFxyXG4gICAgICBpdGVtczogdGhpcy5jb3N0SXRlbXMubWFwKChjb3N0SXRlbSwgaW5kZXgpID0+ICh7XHJcbiAgICAgICAgY29zdEl0ZW1Db2RlOiBjb3N0SXRlbS5jb2RlLFxyXG4gICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgaXRlbXNbaW5kZXhdLnZhbHVlICE9IG51bGwgJiYgaXRlbXNbaW5kZXhdLnZhbHVlICE9PSAnJ1xyXG4gICAgICAgICAgICA/IFN0cmluZyhpdGVtc1tpbmRleF0udmFsdWUpXHJcbiAgICAgICAgICAgIDogbnVsbCxcclxuICAgICAgICBjdXJyZW5jeTpcclxuICAgICAgICAgIHRoaXMuaXNSYXRlKGNvc3RJdGVtKSB8fCB0aGlzLmlzQ3VzdG9tKGNvc3RJdGVtKSA/IG51bGwgOiBpdGVtc1tpbmRleF0uY3VycmVuY3ksXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCQgPVxyXG4gICAgICB0aGlzLm1vZGUgPT09ICdjcmVhdGUnXHJcbiAgICAgICAgPyB0aGlzLnNlcnZpY2UuY3JlYXRlKGlucHV0KVxyXG4gICAgICAgIDogdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLmN1cnJlbnQhLmNvZGUhLCBpbnB1dCk7XHJcblxyXG4gICAgcmVxdWVzdCQucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZpbmcgPSBmYWxzZSkpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zYXZlZC5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDb3N0SXRlbXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvc3RJdGVtU2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLmNvc3RJdGVtcyA9IFsuLi5kYXRhXS5zb3J0KChhLCBiKSA9PlxyXG4gICAgICAgIChhLmNvZGUgPz8gJycpLmxvY2FsZUNvbXBhcmUoYi5jb2RlID8/ICcnLCB1bmRlZmluZWQsIHsgbnVtZXJpYzogdHJ1ZSB9KSxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGNvbnN0IGN1cnJlbnRJdGVtc0J5Q29kZSA9IG5ldyBNYXAoXHJcbiAgICAgICAgKHRoaXMuY3VycmVudD8uaXRlbXMgPz8gW10pLm1hcChpdGVtID0+IFtpdGVtLmNvc3RJdGVtQ29kZSwgaXRlbV0pLFxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5pdGVtc0FycmF5LmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuY29zdEl0ZW1zLmZvckVhY2goY29zdEl0ZW0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gY3VycmVudEl0ZW1zQnlDb2RlLmdldChjb3N0SXRlbS5jb2RlKTtcclxuXHJcbiAgICAgICAgdGhpcy5pdGVtc0FycmF5LnB1c2goXHJcbiAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgdmFsdWU6IFtjdXJyZW50SXRlbT8udmFsdWUgPz8gbnVsbF0sXHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiBbY3VycmVudEl0ZW0/LmN1cnJlbmN5ID8/IEN1cnJlbmN5LlRSWV0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLW1vZGFsXHJcbiAgWyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcclxuICAodmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW2J1c3ldPVwic2F2aW5nXCJcclxuICBbb3B0aW9uc109XCJ7IHNpemU6ICd4bCcgfVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz57eyB0aXRsZSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNhdmUoKVwiPlxyXG4gICAgICA8dWwgbmdiTmF2ICNuYXY9XCJuZ2JOYXZcIiBjbGFzcz1cIm5hdi10YWJzXCI+XHJcbiAgICAgICAgPGxpIG5nYk5hdkl0ZW0+XHJcbiAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6SW5mbycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2E+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVnaW9uXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOlJlZ2lvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInJlZ2lvblwiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJyZWdpb25cIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIGRpc2FibGVkIGhpZGRlbj57eyAnS2VvcHM6OlNlbGVjdEFuT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcmVnaW9uIG9mIHJlZ2lvbk9wdGlvbnNcIiBbbmdWYWx1ZV09XCJyZWdpb24uY29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyByZWdpb24ubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvZHVjdEdyb3VwXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOlByb2R1Y3RHcm91cCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInByb2R1Y3RHcm91cFwiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJwcm9kdWN0R3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIGRpc2FibGVkIGhpZGRlbj57eyAnS2VvcHM6OlNlbGVjdEFuT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcHJvZHVjdEdyb3VwIG9mIHByb2R1Y3RHcm91cE9wdGlvbnNcIiBbbmdWYWx1ZV09XCJwcm9kdWN0R3JvdXAuY29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBwcm9kdWN0R3JvdXAubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhdHVzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6OkNvc3RQYXJhbWV0ZXJzOlN0YXR1cycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInN0YXR1c1wiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdCBvZiBzdGF0dXNPcHRpb25zXCIgW25nVmFsdWVdPVwib3B0LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6RGVzY3JpcHRpb24nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgIGlkPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgcm93cz1cIjNcIlxyXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgPGxpIG5nYk5hdkl0ZW0+XHJcbiAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdLZW9wczo6Q29zdFBhcmFtZXRlcnM6SXRlbVZhbHVlcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2E+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc20gYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgPGNvbGdyb3VwPlxyXG4gICAgICAgICAgICAgICAgPGNvbCBzdHlsZT1cIndpZHRoOiA1MCVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGNvbCBzdHlsZT1cIndpZHRoOiAzMCVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGNvbCBzdHlsZT1cIndpZHRoOiAyMCVcIiAvPlxyXG4gICAgICAgICAgICAgIDwvY29sZ3JvdXA+XHJcbiAgICAgICAgICAgICAgPHRib2R5IGZvcm1BcnJheU5hbWU9XCJpdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBjb3N0SXRlbSBvZiBjb3N0SXRlbXM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICB7eyBjb3N0SXRlbS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1pbmZvIG1zLTFcIiAqbmdJZj1cImlzQ3VzdG9tKGNvc3RJdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgY3VzdG9tTGFiZWwgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNDdXN0b20oY29zdEl0ZW0pOyBlbHNlIHZhbHVlSW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0tlb3BzOjpDb3N0UGFyYW1ldGVyczpBdXRvQ2FsY3VsYXRlZCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2YWx1ZUlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCBweC0zXCIgKm5nSWY9XCJpc1JhdGUoY29zdEl0ZW0pXCI+JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc1JhdGUoY29zdEl0ZW0pICYmICFpc0N1c3RvbShjb3N0SXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY3VycmVuY3kgb2YgY3VycmVuY3lPcHRpb25zXCIgW25nVmFsdWVdPVwiY3VycmVuY3kudmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VycmVuY3kubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG5cclxuICAgICAgPGRpdiBbbmdiTmF2T3V0bGV0XT1cIm5hdlwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiBhYnBDbG9zZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGFicC1idXR0b25cclxuICAgICAgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIlxyXG4gICAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cInNhdmluZ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtPy5pbnZhbGlkXCJcclxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19
|