@myrtex-org/form 1.0.0
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 +15 -0
- package/esm2022/lib/modules/core/enums/component-size.enum.mjs +7 -0
- package/esm2022/lib/modules/core/enums/component-type.enum.mjs +46 -0
- package/esm2022/lib/modules/core/enums/condition-operator-type.enum.mjs +15 -0
- package/esm2022/lib/modules/core/enums/date-format.enum.mjs +12 -0
- package/esm2022/lib/modules/core/enums/date-type.enum.mjs +10 -0
- package/esm2022/lib/modules/core/enums/dependence-action-type.enum.mjs +12 -0
- package/esm2022/lib/modules/core/enums/index.mjs +13 -0
- package/esm2022/lib/modules/core/enums/inn-type.enum.mjs +12 -0
- package/esm2022/lib/modules/core/enums/input-state.enum.mjs +18 -0
- package/esm2022/lib/modules/core/enums/logical-operator-type.enum.mjs +7 -0
- package/esm2022/lib/modules/core/enums/template-components-group-type.enum.mjs +10 -0
- package/esm2022/lib/modules/core/enums/template-status.enum.mjs +15 -0
- package/esm2022/lib/modules/core/enums/value-type.enum.mjs +18 -0
- package/esm2022/lib/modules/core/helpers/common.helpers.mjs +11 -0
- package/esm2022/lib/modules/core/helpers/index.mjs +2 -0
- package/esm2022/lib/modules/core/interceptors/concurrency.interceptor.mjs +32 -0
- package/esm2022/lib/modules/core/interceptors/index.mjs +2 -0
- package/esm2022/lib/modules/core/models/component-model-base.model.mjs +2 -0
- package/esm2022/lib/modules/core/models/concurrency-info.model.mjs +2 -0
- package/esm2022/lib/modules/core/models/file.model.mjs +2 -0
- package/esm2022/lib/modules/core/models/index.mjs +8 -0
- package/esm2022/lib/modules/core/models/navigation-tabs.model.mjs +2 -0
- package/esm2022/lib/modules/core/models/options-base.model.mjs +2 -0
- package/esm2022/lib/modules/core/models/select-list-item.model.mjs +2 -0
- package/esm2022/lib/modules/core/models/user/index.mjs +3 -0
- package/esm2022/lib/modules/core/models/user/policy.type.mjs +2 -0
- package/esm2022/lib/modules/core/models/user/route-data-model.mjs +2 -0
- package/esm2022/lib/modules/core/services/concurrency-store.service.mjs +63 -0
- package/esm2022/lib/modules/core/services/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/base/base-element/base-element.component.mjs +35 -0
- package/esm2022/lib/modules/object-form/components/elements/base/base-field/base-field.component.mjs +128 -0
- package/esm2022/lib/modules/object-form/components/elements/base/index.mjs +3 -0
- package/esm2022/lib/modules/object-form/components/elements/content/divider/content-divider.component.mjs +20 -0
- package/esm2022/lib/modules/object-form/components/elements/content/divider/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/content/file/content-file.component.mjs +20 -0
- package/esm2022/lib/modules/object-form/components/elements/content/file/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/content/text/content-text.component.mjs +17 -0
- package/esm2022/lib/modules/object-form/components/elements/content/text/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/content/title/content-title.component.mjs +20 -0
- package/esm2022/lib/modules/object-form/components/elements/content/title/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/content/tooltip/content-tooltip.component.mjs +18 -0
- package/esm2022/lib/modules/object-form/components/elements/content/tooltip/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/index.mjs +19 -0
- package/esm2022/lib/modules/object-form/components/elements/input/checkbox-group/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/checkbox-group/input-checkbox-group.component.mjs +49 -0
- package/esm2022/lib/modules/object-form/components/elements/input/date/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/date/input-date.component.mjs +100 -0
- package/esm2022/lib/modules/object-form/components/elements/input/file/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/file/input-file.component.mjs +85 -0
- package/esm2022/lib/modules/object-form/components/elements/input/inn/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/inn/input-inn.component.mjs +34 -0
- package/esm2022/lib/modules/object-form/components/elements/input/link/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/link/input-link.component.mjs +19 -0
- package/esm2022/lib/modules/object-form/components/elements/input/number/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/number/input-number.component.mjs +22 -0
- package/esm2022/lib/modules/object-form/components/elements/input/phone/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/phone/input-phone.component.mjs +35 -0
- package/esm2022/lib/modules/object-form/components/elements/input/radio-group/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/radio-group/input-radio-group.component.mjs +48 -0
- package/esm2022/lib/modules/object-form/components/elements/input/select/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/select/input-select.component.mjs +60 -0
- package/esm2022/lib/modules/object-form/components/elements/input/switch/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/switch/input-switch.component.mjs +19 -0
- package/esm2022/lib/modules/object-form/components/elements/input/table/components/index.mjs +3 -0
- package/esm2022/lib/modules/object-form/components/elements/input/table/components/input-table-modal/form-dispenser-modal/form-dispenser-modal.component.mjs +69 -0
- package/esm2022/lib/modules/object-form/components/elements/input/table/components/input-table-modal/input-table-modal.component.mjs +61 -0
- package/esm2022/lib/modules/object-form/components/elements/input/table/helpers/get-row-model.helper.mjs +19 -0
- package/esm2022/lib/modules/object-form/components/elements/input/table/index.mjs +3 -0
- package/esm2022/lib/modules/object-form/components/elements/input/table/input-table.component.mjs +158 -0
- package/esm2022/lib/modules/object-form/components/elements/input/text/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/text/input-text.component.mjs +19 -0
- package/esm2022/lib/modules/object-form/components/elements/input/textarea/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/components/elements/input/textarea/input-textarea.component.mjs +45 -0
- package/esm2022/lib/modules/object-form/components/form-dispenser/form-dispenser.component.mjs +69 -0
- package/esm2022/lib/modules/object-form/components/object-form-content/object-form-content.component.mjs +33 -0
- package/esm2022/lib/modules/object-form/constants.mjs +2 -0
- package/esm2022/lib/modules/object-form/factories/component-factory/component-factory.directive.mjs +79 -0
- package/esm2022/lib/modules/object-form/factories/component-factory/enums/component.enum.mjs +23 -0
- package/esm2022/lib/modules/object-form/factories/component-factory/index.mjs +4 -0
- package/esm2022/lib/modules/object-form/factories/component-factory/models/component.model.mjs +8 -0
- package/esm2022/lib/modules/object-form/helpers/check-dependence-rule.helper.mjs +92 -0
- package/esm2022/lib/modules/object-form/helpers/get-menu-model.mjs +27 -0
- package/esm2022/lib/modules/object-form/helpers/get-percent-for-section.helper.mjs +4 -0
- package/esm2022/lib/modules/object-form/helpers/get-updated-values.mjs +25 -0
- package/esm2022/lib/modules/object-form/helpers/get-value-model.helper.mjs +39 -0
- package/esm2022/lib/modules/object-form/helpers/index.mjs +6 -0
- package/esm2022/lib/modules/object-form/models/dependence-rules/dependence-condition.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/dependence-rules/field-dependence-check-result.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/dependence-rules/field-dependence.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/dependence-rules/index.mjs +5 -0
- package/esm2022/lib/modules/object-form/models/dependence-rules/template-field-simple.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/dropdown-button.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/group-options.model.mjs +30 -0
- package/esm2022/lib/modules/object-form/models/elemets/index.mjs +3 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/content-divider.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/content-file.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/content-text.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/content-title.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/content-tooltip.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/index.mjs +19 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-checkbox-group.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-date.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-file.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-inn.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-link.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-number.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-phone.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-radio-group.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-select.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-switch.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-table.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-text.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/inputs/input-textarea.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/elemets/section-options.model.mjs +26 -0
- package/esm2022/lib/modules/object-form/models/index.mjs +10 -0
- package/esm2022/lib/modules/object-form/models/object-property.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/object-values-dto.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/object-values.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/section-fillness.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/template-component.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/template.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/update-value.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/models/value.model.mjs +2 -0
- package/esm2022/lib/modules/object-form/object-form-routing.module.mjs +41 -0
- package/esm2022/lib/modules/object-form/object-form.component.mjs +43 -0
- package/esm2022/lib/modules/object-form/object-form.module.mjs +194 -0
- package/esm2022/lib/modules/object-form/services/index.mjs +2 -0
- package/esm2022/lib/modules/object-form/services/object-form.service.mjs +57 -0
- package/esm2022/lib/modules/object-form/store/index.mjs +7 -0
- package/esm2022/lib/modules/object-form/store/object-form.actions.mjs +59 -0
- package/esm2022/lib/modules/object-form/store/object-form.effects.mjs +133 -0
- package/esm2022/lib/modules/object-form/store/object-form.reducers.mjs +82 -0
- package/esm2022/lib/modules/object-form/store/object-form.selector.mjs +20 -0
- package/esm2022/lib/modules/object-form/store/object-form.state.mjs +15 -0
- package/esm2022/lib/modules/shared-store/constants/index.mjs +2 -0
- package/esm2022/lib/modules/shared-store/shared-store.module.mjs +27 -0
- package/esm2022/lib/modules/shared-store/store/index.mjs +5 -0
- package/esm2022/lib/modules/shared-store/store/shared-store.effects.mjs +2 -0
- package/esm2022/lib/modules/shared-store/store/shared-store.reducer.mjs +6 -0
- package/esm2022/lib/modules/shared-store/store/shared-store.selector.mjs +27 -0
- package/esm2022/lib/modules/shared-store/store/shared-store.state.mjs +3 -0
- package/esm2022/myrtex-org-form.mjs +5 -0
- package/esm2022/public-api.mjs +14 -0
- package/fesm2022/myrtex-org-form.mjs +891 -0
- package/fesm2022/myrtex-org-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/modules/core/enums/component-size.enum.d.ts +5 -0
- package/lib/modules/core/enums/component-type.enum.d.ts +23 -0
- package/lib/modules/core/enums/condition-operator-type.enum.d.ts +9 -0
- package/lib/modules/core/enums/date-format.enum.d.ts +6 -0
- package/lib/modules/core/enums/date-type.enum.d.ts +5 -0
- package/lib/modules/core/enums/dependence-action-type.enum.d.ts +8 -0
- package/lib/modules/core/enums/index.d.ts +12 -0
- package/lib/modules/core/enums/inn-type.enum.d.ts +6 -0
- package/lib/modules/core/enums/input-state.enum.d.ts +11 -0
- package/lib/modules/core/enums/logical-operator-type.enum.d.ts +5 -0
- package/lib/modules/core/enums/template-components-group-type.enum.d.ts +5 -0
- package/lib/modules/core/enums/template-status.enum.d.ts +6 -0
- package/lib/modules/core/enums/value-type.enum.d.ts +16 -0
- package/lib/modules/core/helpers/common.helpers.d.ts +2 -0
- package/lib/modules/core/helpers/index.d.ts +1 -0
- package/lib/modules/core/interceptors/concurrency.interceptor.d.ts +12 -0
- package/lib/modules/core/interceptors/index.d.ts +1 -0
- package/lib/modules/core/models/component-model-base.model.d.ts +12 -0
- package/lib/modules/core/models/concurrency-info.model.d.ts +4 -0
- package/lib/modules/core/models/file.model.d.ts +7 -0
- package/lib/modules/core/models/index.d.ts +7 -0
- package/lib/modules/core/models/navigation-tabs.model.d.ts +7 -0
- package/lib/modules/core/models/options-base.model.d.ts +15 -0
- package/lib/modules/core/models/select-list-item.model.d.ts +5 -0
- package/lib/modules/core/models/user/index.d.ts +2 -0
- package/lib/modules/core/models/user/policy.type.d.ts +1 -0
- package/lib/modules/core/models/user/route-data-model.d.ts +4 -0
- package/lib/modules/core/services/concurrency-store.service.d.ts +18 -0
- package/lib/modules/core/services/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/base/base-element/base-element.component.d.ts +18 -0
- package/lib/modules/object-form/components/elements/base/base-field/base-field.component.d.ts +39 -0
- package/lib/modules/object-form/components/elements/base/index.d.ts +2 -0
- package/lib/modules/object-form/components/elements/content/divider/content-divider.component.d.ts +10 -0
- package/lib/modules/object-form/components/elements/content/divider/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/content/file/content-file.component.d.ts +11 -0
- package/lib/modules/object-form/components/elements/content/file/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/content/text/content-text.component.d.ts +9 -0
- package/lib/modules/object-form/components/elements/content/text/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/content/title/content-title.component.d.ts +10 -0
- package/lib/modules/object-form/components/elements/content/title/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/content/tooltip/content-tooltip.component.d.ts +9 -0
- package/lib/modules/object-form/components/elements/content/tooltip/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/index.d.ts +18 -0
- package/lib/modules/object-form/components/elements/input/checkbox-group/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/checkbox-group/input-checkbox-group.component.d.ts +26 -0
- package/lib/modules/object-form/components/elements/input/date/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/date/input-date.component.d.ts +22 -0
- package/lib/modules/object-form/components/elements/input/file/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/file/input-file.component.d.ts +30 -0
- package/lib/modules/object-form/components/elements/input/inn/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/inn/input-inn.component.d.ts +13 -0
- package/lib/modules/object-form/components/elements/input/link/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/link/input-link.component.d.ts +11 -0
- package/lib/modules/object-form/components/elements/input/number/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/number/input-number.component.d.ts +12 -0
- package/lib/modules/object-form/components/elements/input/phone/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/phone/input-phone.component.d.ts +14 -0
- package/lib/modules/object-form/components/elements/input/radio-group/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/radio-group/input-radio-group.component.d.ts +17 -0
- package/lib/modules/object-form/components/elements/input/select/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/select/input-select.component.d.ts +17 -0
- package/lib/modules/object-form/components/elements/input/switch/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/switch/input-switch.component.d.ts +11 -0
- package/lib/modules/object-form/components/elements/input/table/components/index.d.ts +2 -0
- package/lib/modules/object-form/components/elements/input/table/components/input-table-modal/form-dispenser-modal/form-dispenser-modal.component.d.ts +22 -0
- package/lib/modules/object-form/components/elements/input/table/components/input-table-modal/input-table-modal.component.d.ts +26 -0
- package/lib/modules/object-form/components/elements/input/table/helpers/get-row-model.helper.d.ts +3 -0
- package/lib/modules/object-form/components/elements/input/table/index.d.ts +2 -0
- package/lib/modules/object-form/components/elements/input/table/input-table.component.d.ts +38 -0
- package/lib/modules/object-form/components/elements/input/text/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/text/input-text.component.d.ts +11 -0
- package/lib/modules/object-form/components/elements/input/textarea/index.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/textarea/input-textarea.component.d.ts +13 -0
- package/lib/modules/object-form/components/form-dispenser/form-dispenser.component.d.ts +21 -0
- package/lib/modules/object-form/components/object-form-content/object-form-content.component.d.ts +15 -0
- package/lib/modules/object-form/constants.d.ts +1 -0
- package/lib/modules/object-form/factories/component-factory/component-factory.directive.d.ts +25 -0
- package/lib/modules/object-form/factories/component-factory/enums/component.enum.d.ts +4 -0
- package/lib/modules/object-form/factories/component-factory/index.d.ts +3 -0
- package/lib/modules/object-form/factories/component-factory/models/component.model.d.ts +17 -0
- package/lib/modules/object-form/helpers/check-dependence-rule.helper.d.ts +4 -0
- package/lib/modules/object-form/helpers/get-menu-model.d.ts +5 -0
- package/lib/modules/object-form/helpers/get-percent-for-section.helper.d.ts +3 -0
- package/lib/modules/object-form/helpers/get-updated-values.d.ts +3 -0
- package/lib/modules/object-form/helpers/get-value-model.helper.d.ts +11 -0
- package/lib/modules/object-form/helpers/index.d.ts +5 -0
- package/lib/modules/object-form/models/dependence-rules/dependence-condition.model.d.ts +12 -0
- package/lib/modules/object-form/models/dependence-rules/field-dependence-check-result.model.d.ts +6 -0
- package/lib/modules/object-form/models/dependence-rules/field-dependence.model.d.ts +8 -0
- package/lib/modules/object-form/models/dependence-rules/index.d.ts +4 -0
- package/lib/modules/object-form/models/dependence-rules/template-field-simple.model.d.ts +6 -0
- package/lib/modules/object-form/models/dropdown-button.model.d.ts +6 -0
- package/lib/modules/object-form/models/elemets/group-options.model.d.ts +13 -0
- package/lib/modules/object-form/models/elemets/index.d.ts +2 -0
- package/lib/modules/object-form/models/elemets/inputs/content-divider.model.d.ts +10 -0
- package/lib/modules/object-form/models/elemets/inputs/content-file.model.d.ts +11 -0
- package/lib/modules/object-form/models/elemets/inputs/content-text.model.d.ts +9 -0
- package/lib/modules/object-form/models/elemets/inputs/content-title.model.d.ts +11 -0
- package/lib/modules/object-form/models/elemets/inputs/content-tooltip.model.d.ts +12 -0
- package/lib/modules/object-form/models/elemets/inputs/index.d.ts +18 -0
- package/lib/modules/object-form/models/elemets/inputs/input-checkbox-group.model.d.ts +17 -0
- package/lib/modules/object-form/models/elemets/inputs/input-date.model.d.ts +15 -0
- package/lib/modules/object-form/models/elemets/inputs/input-file.model.d.ts +13 -0
- package/lib/modules/object-form/models/elemets/inputs/input-inn.model.d.ts +11 -0
- package/lib/modules/object-form/models/elemets/inputs/input-link.model.d.ts +10 -0
- package/lib/modules/object-form/models/elemets/inputs/input-number.model.d.ts +13 -0
- package/lib/modules/object-form/models/elemets/inputs/input-phone.model.d.ts +11 -0
- package/lib/modules/object-form/models/elemets/inputs/input-radio-group.model.d.ts +17 -0
- package/lib/modules/object-form/models/elemets/inputs/input-select.model.d.ts +17 -0
- package/lib/modules/object-form/models/elemets/inputs/input-switch.model.d.ts +11 -0
- package/lib/modules/object-form/models/elemets/inputs/input-table.model.d.ts +13 -0
- package/lib/modules/object-form/models/elemets/inputs/input-text.model.d.ts +13 -0
- package/lib/modules/object-form/models/elemets/inputs/input-textarea.model.d.ts +29 -0
- package/lib/modules/object-form/models/elemets/section-options.model.d.ts +20 -0
- package/lib/modules/object-form/models/index.d.ts +9 -0
- package/lib/modules/object-form/models/object-property.model.d.ts +6 -0
- package/lib/modules/object-form/models/object-values-dto.model.d.ts +5 -0
- package/lib/modules/object-form/models/object-values.model.d.ts +4 -0
- package/lib/modules/object-form/models/section-fillness.model.d.ts +4 -0
- package/lib/modules/object-form/models/template-component.model.d.ts +12 -0
- package/lib/modules/object-form/models/template.model.d.ts +12 -0
- package/lib/modules/object-form/models/update-value.model.d.ts +7 -0
- package/lib/modules/object-form/models/value.model.d.ts +26 -0
- package/lib/modules/object-form/object-form-routing.module.d.ts +7 -0
- package/lib/modules/object-form/object-form.component.d.ts +16 -0
- package/lib/modules/object-form/object-form.module.d.ts +19 -0
- package/lib/modules/object-form/services/index.d.ts +1 -0
- package/lib/modules/object-form/services/object-form.service.d.ts +29 -0
- package/lib/modules/object-form/store/index.d.ts +6 -0
- package/lib/modules/object-form/store/object-form.actions.d.ts +115 -0
- package/lib/modules/object-form/store/object-form.effects.d.ts +50 -0
- package/lib/modules/object-form/store/object-form.reducers.d.ts +3 -0
- package/lib/modules/object-form/store/object-form.selector.d.ts +14 -0
- package/lib/modules/object-form/store/object-form.state.d.ts +17 -0
- package/lib/modules/shared-store/constants/index.d.ts +1 -0
- package/lib/modules/shared-store/shared-store.module.d.ts +9 -0
- package/lib/modules/shared-store/store/index.d.ts +4 -0
- package/lib/modules/shared-store/store/shared-store.effects.d.ts +1 -0
- package/lib/modules/shared-store/store/shared-store.reducer.d.ts +3 -0
- package/lib/modules/shared-store/store/shared-store.selector.d.ts +6 -0
- package/lib/modules/shared-store/store/shared-store.state.d.ts +6 -0
- package/package.json +25 -0
- package/public-api.d.ts +10 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import { DependenceActionType } from '@core/enums';
|
|
4
|
+
import { ComponentFactoryDirective, contentComponentsMap } from '@object-form/factories/component-factory';
|
|
5
|
+
import { objectFormSelectors } from '@object-form/store';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { LabelModule } from '@myrtex-org/ui';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "@myrtex-org/ui";
|
|
11
|
+
export class FormDispenserModal {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._store = inject(Store);
|
|
14
|
+
this._detector = inject(ChangeDetectorRef);
|
|
15
|
+
this._subscriptions$ = [];
|
|
16
|
+
this._fieldDependencyRulesCheckResults = [];
|
|
17
|
+
this.mapper = contentComponentsMap;
|
|
18
|
+
this.values = [];
|
|
19
|
+
this.valueMode = 'auto';
|
|
20
|
+
this.changed = new EventEmitter();
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this._subscriptions$.push(this._store.select(objectFormSelectors.selectDependencyRulesResults)
|
|
24
|
+
.subscribe(results => {
|
|
25
|
+
this._fieldDependencyRulesCheckResults = results;
|
|
26
|
+
this._detector.detectChanges();
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this._subscriptions$.forEach((subscription) => subscription.unsubscribe());
|
|
31
|
+
}
|
|
32
|
+
componentValueChanged(event) {
|
|
33
|
+
this.changed.emit(event);
|
|
34
|
+
}
|
|
35
|
+
isComponentVisible(sysName) {
|
|
36
|
+
const result = this._fieldDependencyRulesCheckResults.find(x => x.sysName === sysName);
|
|
37
|
+
if (!result) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
let visible = true;
|
|
41
|
+
switch (result.actionType) {
|
|
42
|
+
case DependenceActionType.show:
|
|
43
|
+
visible = result.conditionResult;
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
return visible;
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDispenserModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FormDispenserModal, isStandalone: true, selector: "app-form-dispenser-modal", inputs: { sectionSettings: "sectionSettings", values: "values", valueMode: "valueMode" }, outputs: { changed: "changed" }, ngImport: i0, template: "@if (sectionSettings?.components?.length) {\r\n <div class=\"row application-form__content\">\r\n @for (component of sectionSettings?.components; track component.id) {\r\n @switch (component.type) {\r\n @case ('group') {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragGroup\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n @default {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragInput\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n\r\n\r\n<ng-template #dragGroup let-component='component'>\r\n <div class=\"col col-{{component.options.width}}\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n @if (component.options.label) {\r\n <mrx-label>{{ component.options.label }}</mrx-label>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"application-form__group p-2\">\r\n @if (component.components.length) {\r\n <div class=\"row\">\r\n @for (component of component.components; track component.id) {\r\n @switch (component.type) {\r\n @case ('group') {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragGroup\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n @default {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragInput\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"p-2\">\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0433\u0440\u0443\u043F\u043F\u044B \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442</p>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dragInput let-component='component'>\r\n @if (isComponentVisible(component.sysName)) {\r\n <div class=\"col col-{{component.options.width}}\">\r\n <div class=\"application-form__input\">\r\n <ng-template\r\n appComponentFactory\r\n [type]=\"component.type\"\r\n [data]=\"component\"\r\n [map]=\"mapper\"\r\n [values]=\"values\"\r\n [valueMode]=\"valueMode\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".application-form__group{border-radius:4px;border:1px solid var(--neutral-bg-stroke-default, #DBDFE5)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: LabelModule }, { kind: "component", type: i2.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: ComponentFactoryDirective, selector: "[appComponentFactory]", inputs: ["type", "data", "values", "valueMode", "map"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDispenserModal, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'app-form-dispenser-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
56
|
+
CommonModule,
|
|
57
|
+
LabelModule,
|
|
58
|
+
ComponentFactoryDirective
|
|
59
|
+
], template: "@if (sectionSettings?.components?.length) {\r\n <div class=\"row application-form__content\">\r\n @for (component of sectionSettings?.components; track component.id) {\r\n @switch (component.type) {\r\n @case ('group') {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragGroup\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n @default {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragInput\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n\r\n\r\n<ng-template #dragGroup let-component='component'>\r\n <div class=\"col col-{{component.options.width}}\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n @if (component.options.label) {\r\n <mrx-label>{{ component.options.label }}</mrx-label>\r\n }\r\n </div>\r\n </div>\r\n\r\n <div class=\"application-form__group p-2\">\r\n @if (component.components.length) {\r\n <div class=\"row\">\r\n @for (component of component.components; track component.id) {\r\n @switch (component.type) {\r\n @case ('group') {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragGroup\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n @default {\r\n <ng-container\r\n [ngTemplateOutlet]=\"dragInput\"\r\n [ngTemplateOutletContext]=\"{component: component}\"\r\n ></ng-container>\r\n }\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"p-2\">\u042D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0433\u0440\u0443\u043F\u043F\u044B \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442</p>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dragInput let-component='component'>\r\n @if (isComponentVisible(component.sysName)) {\r\n <div class=\"col col-{{component.options.width}}\">\r\n <div class=\"application-form__input\">\r\n <ng-template\r\n appComponentFactory\r\n [type]=\"component.type\"\r\n [data]=\"component\"\r\n [map]=\"mapper\"\r\n [values]=\"values\"\r\n [valueMode]=\"valueMode\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: [".application-form__group{border-radius:4px;border:1px solid var(--neutral-bg-stroke-default, #DBDFE5)}\n"] }]
|
|
60
|
+
}], propDecorators: { sectionSettings: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], values: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], valueMode: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], changed: [{
|
|
67
|
+
type: Output
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaXNwZW5zZXItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGFibGUvY29tcG9uZW50cy9pbnB1dC10YWJsZS1tb2RhbC9mb3JtLWRpc3BlbnNlci1tb2RhbC9mb3JtLWRpc3BlbnNlci1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9jb21wb25lbnRzL2lucHV0LXRhYmxlLW1vZGFsL2Zvcm0tZGlzcGVuc2VyLW1vZGFsL2Zvcm0tZGlzcGVuc2VyLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQUUsTUFBTSxFQUNwQixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTNHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFjN0MsTUFBTSxPQUFPLGtCQUFrQjtJQVovQjtRQWFZLFdBQU0sR0FBVSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUzRCxvQkFBZSxHQUFtQixFQUFFLENBQUM7UUFDckMsc0NBQWlDLEdBQXNDLEVBQUUsQ0FBQztRQUUzRSxXQUFNLEdBQUcsb0JBQW9CLENBQUM7UUFHckIsV0FBTSxHQUFpQixFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFzQixNQUFNLENBQUM7UUFFNUMsWUFBTyxHQUE4RCxJQUFJLFlBQVksRUFBK0MsQ0FBQztLQXFDaEo7SUFuQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLDRCQUE0QixDQUFDO2FBQzNGLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsaUNBQWlDLEdBQUcsT0FBTyxDQUFDO1lBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFrRDtRQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sa0JBQWtCLENBQUMsT0FBZTtRQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQztRQUV2RixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFbkIsUUFBUSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUIsS0FBSyxvQkFBb0IsQ0FBQyxJQUFJO2dCQUM1QixPQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztnQkFDakMsTUFBTTtZQUVSO2dCQUNFLE1BQU07UUFDVixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzsrR0FqRFUsa0JBQWtCO21HQUFsQixrQkFBa0IsK01DaEMvQixxbEZBNkVBLGlLRGxESSxZQUFZLHFNQUNaLFdBQVcsOGpCQUNYLHlCQUF5Qjs7NEZBR2hCLGtCQUFrQjtrQkFaOUIsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCx5QkFBeUI7cUJBQzFCOzhCQVdlLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUVJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsIGluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERlcGVuZGVuY2VBY3Rpb25UeXBlIH0gZnJvbSAnQGNvcmUvZW51bXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRWYWx1ZU1vZGVsLCBGaWVsZERlcGVuZGVuY3lDaGVja1Jlc3VsdE1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQG9iamVjdC1mb3JtL21vZGVscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlEaXJlY3RpdmUsIGNvbnRlbnRDb21wb25lbnRzTWFwIH0gZnJvbSAnQG9iamVjdC1mb3JtL2ZhY3Rvcmllcy9jb21wb25lbnQtZmFjdG9yeSc7XHJcbmltcG9ydCB7IFNlY3Rpb25Nb2RlbCB9IGZyb20gJ0BvYmplY3QtZm9ybS9tb2RlbHMvZWxlbWV0cyc7XHJcbmltcG9ydCB7IG9iamVjdEZvcm1TZWxlY3RvcnMgfSBmcm9tICdAb2JqZWN0LWZvcm0vc3RvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMYWJlbE1vZHVsZSB9IGZyb20gJ0BteXJ0ZXgtb3JnL3VpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZvcm0tZGlzcGVuc2VyLW1vZGFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1kaXNwZW5zZXItbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZGlzcGVuc2VyLW1vZGFsLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIENvbXBvbmVudEZhY3RvcnlEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRGlzcGVuc2VyTW9kYWwgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJvdGVjdGVkIF9zdG9yZTogU3RvcmUgPSBpbmplY3QoU3RvcmUpO1xyXG4gIHByb3RlY3RlZCBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfZmllbGREZXBlbmRlbmN5UnVsZXNDaGVja1Jlc3VsdHM6IEZpZWxkRGVwZW5kZW5jeUNoZWNrUmVzdWx0TW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgbWFwcGVyID0gY29udGVudENvbXBvbmVudHNNYXA7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWN0aW9uU2V0dGluZ3MhOiBTZWN0aW9uTW9kZWwgfCBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZXM6IFZhbHVlTW9kZWxbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZU1vZGU6ICdhdXRvJyB8ICdtYW51YWwnID0gJ2F1dG8nO1xyXG5cclxuICBAT3V0cHV0KCkgY2hhbmdlZDogRXZlbnRFbWl0dGVyPENvbXBvbmVudFZhbHVlTW9kZWwgfCBDb21wb25lbnRWYWx1ZU1vZGVsW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wb25lbnRWYWx1ZU1vZGVsIHwgQ29tcG9uZW50VmFsdWVNb2RlbFtdPigpO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMkLnB1c2godGhpcy5fc3RvcmUuc2VsZWN0KG9iamVjdEZvcm1TZWxlY3RvcnMuc2VsZWN0RGVwZW5kZW5jeVJ1bGVzUmVzdWx0cylcclxuICAgICAgLnN1YnNjcmliZShyZXN1bHRzID0+IHtcclxuICAgICAgICB0aGlzLl9maWVsZERlcGVuZGVuY3lSdWxlc0NoZWNrUmVzdWx0cyA9IHJlc3VsdHM7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMkLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbXBvbmVudFZhbHVlQ2hhbmdlZChldmVudDogQ29tcG9uZW50VmFsdWVNb2RlbCB8IENvbXBvbmVudFZhbHVlTW9kZWxbXSkge1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQ29tcG9uZW50VmlzaWJsZShzeXNOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpZWxkRGVwZW5kZW5jeVJ1bGVzQ2hlY2tSZXN1bHRzLmZpbmQoeCA9PiB4LnN5c05hbWUgPT09IHN5c05hbWUpO1xyXG5cclxuICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB2aXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICBzd2l0Y2ggKHJlc3VsdC5hY3Rpb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgRGVwZW5kZW5jZUFjdGlvblR5cGUuc2hvdzpcclxuICAgICAgICB2aXNpYmxlID0gcmVzdWx0LmNvbmRpdGlvblJlc3VsdDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmlzaWJsZTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChzZWN0aW9uU2V0dGluZ3M/LmNvbXBvbmVudHM/Lmxlbmd0aCkge1xyXG4gIDxkaXYgY2xhc3M9XCJyb3cgYXBwbGljYXRpb24tZm9ybV9fY29udGVudFwiPlxyXG4gICAgQGZvciAoY29tcG9uZW50IG9mIHNlY3Rpb25TZXR0aW5ncz8uY29tcG9uZW50czsgdHJhY2sgY29tcG9uZW50LmlkKSB7XHJcbiAgICAgIEBzd2l0Y2ggKGNvbXBvbmVudC50eXBlKSB7XHJcbiAgICAgICAgQGNhc2UgKCdncm91cCcpIHtcclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhZ0dyb3VwXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntjb21wb25lbnQ6IGNvbXBvbmVudH1cIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAZGVmYXVsdCB7XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYWdJbnB1dFwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7Y29tcG9uZW50OiBjb21wb25lbnR9XCJcclxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L2Rpdj5cclxufVxyXG5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI2RyYWdHcm91cCBsZXQtY29tcG9uZW50PSdjb21wb25lbnQnPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wgY29sLXt7Y29tcG9uZW50Lm9wdGlvbnMud2lkdGh9fVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgQGlmIChjb21wb25lbnQub3B0aW9ucy5sYWJlbCkge1xyXG4gICAgICAgICAgPG1yeC1sYWJlbD57eyBjb21wb25lbnQub3B0aW9ucy5sYWJlbCB9fTwvbXJ4LWxhYmVsPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tZm9ybV9fZ3JvdXAgcC0yXCI+XHJcbiAgICAgIEBpZiAoY29tcG9uZW50LmNvbXBvbmVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgQGZvciAoY29tcG9uZW50IG9mIGNvbXBvbmVudC5jb21wb25lbnRzOyB0cmFjayBjb21wb25lbnQuaWQpIHtcclxuICAgICAgICAgICAgQHN3aXRjaCAoY29tcG9uZW50LnR5cGUpIHtcclxuICAgICAgICAgICAgICBAY2FzZSAoJ2dyb3VwJykge1xyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcmFnR3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2NvbXBvbmVudDogY29tcG9uZW50fVwiXHJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBkZWZhdWx0IHtcclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhZ0lucHV0XCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntjb21wb25lbnQ6IGNvbXBvbmVudH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8cCBjbGFzcz1cInAtMlwiPtCt0LvQtdC80LXQvdGC0Ysg0LPRgNGD0L/Qv9GLINC+0YLRgdGD0YLRgdGC0LLRg9GO0YI8L3A+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkcmFnSW5wdXQgbGV0LWNvbXBvbmVudD0nY29tcG9uZW50Jz5cclxuICBAaWYgKGlzQ29tcG9uZW50VmlzaWJsZShjb21wb25lbnQuc3lzTmFtZSkpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXt7Y29tcG9uZW50Lm9wdGlvbnMud2lkdGh9fVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tZm9ybV9faW5wdXRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgIGFwcENvbXBvbmVudEZhY3RvcnlcclxuICAgICAgICAgIFt0eXBlXT1cImNvbXBvbmVudC50eXBlXCJcclxuICAgICAgICAgIFtkYXRhXT1cImNvbXBvbmVudFwiXHJcbiAgICAgICAgICBbbWFwXT1cIm1hcHBlclwiXHJcbiAgICAgICAgICBbdmFsdWVzXT1cInZhbHVlc1wiXHJcbiAgICAgICAgICBbdmFsdWVNb2RlXT1cInZhbHVlTW9kZVwiXHJcbiAgICAgICAgICAoY2hhbmdlZCk9XCJjb21wb25lbnRWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
2
|
+
import { cloneDeep, isArray } from 'lodash-es';
|
|
3
|
+
import { ButtonModule, MODAL_DATA, ModalModule, ModalServiceComponent } from '@myrtex-org/ui';
|
|
4
|
+
import { FormDispenserModal } from '@object-form/components/elements/input/table/components';
|
|
5
|
+
import { provideNgxMask } from 'ngx-mask';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@myrtex-org/ui";
|
|
8
|
+
export class InputTableModalComponent extends ModalServiceComponent {
|
|
9
|
+
constructor(dialogRef, data) {
|
|
10
|
+
super();
|
|
11
|
+
this.dialogRef = dialogRef;
|
|
12
|
+
this.title = data.title;
|
|
13
|
+
this.settings = data.settings;
|
|
14
|
+
this.rowModel = data.rowModel;
|
|
15
|
+
this.result = { result: false, rowModel: this.rowModel };
|
|
16
|
+
}
|
|
17
|
+
componentValueChanged(valueModel) {
|
|
18
|
+
if (isArray(valueModel)) {
|
|
19
|
+
valueModel.forEach(model => {
|
|
20
|
+
this._transformValues(model);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this._transformValues(valueModel);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
ok() {
|
|
28
|
+
this.result = { result: true, rowModel: this.rowModel };
|
|
29
|
+
this.dialogRef.close(this.result);
|
|
30
|
+
}
|
|
31
|
+
close() {
|
|
32
|
+
this.result = { result: false, rowModel: this.rowModel };
|
|
33
|
+
this.dialogRef.close(this.result);
|
|
34
|
+
}
|
|
35
|
+
_transformValues(value) {
|
|
36
|
+
const cloneRowModel = cloneDeep(this.rowModel);
|
|
37
|
+
const findValue = cloneRowModel.data.find((c) => c.sysName === value.sysName);
|
|
38
|
+
if (findValue) {
|
|
39
|
+
findValue.value = value.value;
|
|
40
|
+
}
|
|
41
|
+
this.rowModel = cloneRowModel;
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableModalComponent, deps: [{ token: i1.ModalRef }, { token: MODAL_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputTableModalComponent, isStandalone: true, selector: "app-input-table-modal", providers: [
|
|
45
|
+
provideNgxMask()
|
|
46
|
+
], usesInheritance: true, ngImport: i0, template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >\u0421\u043E\u0437\u0434\u0430\u0442\u044C\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ModalModule }, { kind: "component", type: i1.ModalComponent, selector: "mrx-modal", inputs: ["title", "message", "alert", "okText", "closeText", "size", "color", "customClasses", "expandable", "isEmbed", "isClose", "isBack", "backText", "enableFooter", "alignButtons", "isLoading", "iconPosition"], outputs: ["ok", "close", "back"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: FormDispenserModal, selector: "app-form-dispenser-modal", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableModalComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'app-input-table-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
51
|
+
ModalModule,
|
|
52
|
+
ButtonModule,
|
|
53
|
+
FormDispenserModal,
|
|
54
|
+
], providers: [
|
|
55
|
+
provideNgxMask()
|
|
56
|
+
], template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >\u0421\u043E\u0437\u0434\u0430\u0442\u044C\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n" }]
|
|
57
|
+
}], ctorParameters: () => [{ type: i1.ModalRef }, { type: undefined, decorators: [{
|
|
58
|
+
type: Inject,
|
|
59
|
+
args: [MODAL_DATA]
|
|
60
|
+
}] }] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFibGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGFibGUvY29tcG9uZW50cy9pbnB1dC10YWJsZS1tb2RhbC9pbnB1dC10YWJsZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9jb21wb25lbnRzL2lucHV0LXRhYmxlLW1vZGFsL2lucHV0LXRhYmxlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBWSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQTZCMUMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHFCQUFtRTtJQUsvRyxZQUNVLFNBQTBDLEVBQzlCLElBQTJCO1FBRS9DLEtBQUssRUFBRSxDQUFDO1FBSEEsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFLbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsVUFBdUQ7UUFDbEYsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLEVBQUU7UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUEwQjtRQUNqRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFvQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO0lBQ2hDLENBQUM7K0dBL0NVLHdCQUF3QiwwQ0FPekIsVUFBVTttR0FQVCx3QkFBd0Isb0VBSnhCO1lBQ1QsY0FBYyxFQUFFO1NBQ2pCLGlEQ2pDSCxxeEJBNkJBLHlEREhJLFdBQVcsOFZBQ1gsWUFBWSw2VUFDWixrQkFBa0I7OzRGQU9ULHdCQUF3QjtrQkFoQnBDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUVuQixhQUNVO3dCQUNULGNBQWMsRUFBRTtxQkFDakI7OzBCQVNFLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIE1PREFMX0RBVEEsIE1vZGFsTW9kdWxlLCBNb2RhbFJlZiwgTW9kYWxTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnQG15cnRleC1vcmcvdWknO1xyXG5pbXBvcnQgeyBJbnB1dFRhYmxlTW9kZWwgfSBmcm9tICdAb2JqZWN0LWZvcm0vbW9kZWxzL2VsZW1ldHMvaW5wdXRzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VmFsdWVNb2RlbCwgVGFibGVSb3dNb2RlbCB9IGZyb20gJ0BvYmplY3QtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGb3JtRGlzcGVuc2VyTW9kYWwgfSBmcm9tICdAb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgcHJvdmlkZU5neE1hc2sgfSBmcm9tICduZ3gtbWFzayc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElucHV0VGFibGVNb2RhbFBhcmFtcyB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBzZXR0aW5nczogSW5wdXRUYWJsZU1vZGVsO1xyXG4gIHJvd01vZGVsOiBUYWJsZVJvd01vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElucHV0VGFibGVNb2RhbFJlc3VsdCB7XHJcbiAgcmVzdWx0OiBib29sZWFuO1xyXG4gIHJvd01vZGVsOiBUYWJsZVJvd01vZGVsO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC10YWJsZS1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRhYmxlLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC10YWJsZS1tb2RhbC5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTW9kYWxNb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBGb3JtRGlzcGVuc2VyTW9kYWwsXHJcblxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBwcm92aWRlTmd4TWFzaygpXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUYWJsZU1vZGFsQ29tcG9uZW50IGV4dGVuZHMgTW9kYWxTZXJ2aWNlQ29tcG9uZW50PElucHV0VGFibGVNb2RhbFBhcmFtcywgSW5wdXRUYWJsZU1vZGFsUmVzdWx0PiB7XHJcbiAgcHVibGljIHRpdGxlITogc3RyaW5nO1xyXG4gIHB1YmxpYyBzZXR0aW5ncyE6IElucHV0VGFibGVNb2RlbDtcclxuICBwdWJsaWMgcm93TW9kZWwhOiBUYWJsZVJvd01vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNb2RhbFJlZjxJbnB1dFRhYmxlTW9kYWxSZXN1bHQ+LFxyXG4gICAgQEluamVjdChNT0RBTF9EQVRBKSBkYXRhOiBJbnB1dFRhYmxlTW9kYWxQYXJhbXMsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlO1xyXG4gICAgdGhpcy5zZXR0aW5ncyA9IGRhdGEuc2V0dGluZ3M7XHJcbiAgICB0aGlzLnJvd01vZGVsID0gZGF0YS5yb3dNb2RlbDtcclxuXHJcbiAgICB0aGlzLnJlc3VsdCA9IHtyZXN1bHQ6IGZhbHNlLCByb3dNb2RlbDogdGhpcy5yb3dNb2RlbH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tcG9uZW50VmFsdWVDaGFuZ2VkKHZhbHVlTW9kZWw6IENvbXBvbmVudFZhbHVlTW9kZWwgfCBDb21wb25lbnRWYWx1ZU1vZGVsW10pIHtcclxuICAgIGlmIChpc0FycmF5KHZhbHVlTW9kZWwpKSB7XHJcbiAgICAgIHZhbHVlTW9kZWwuZm9yRWFjaChtb2RlbCA9PiB7XHJcbiAgICAgICAgdGhpcy5fdHJhbnNmb3JtVmFsdWVzKG1vZGVsKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl90cmFuc2Zvcm1WYWx1ZXModmFsdWVNb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb2soKSB7XHJcbiAgICB0aGlzLnJlc3VsdCA9IHtyZXN1bHQ6IHRydWUsIHJvd01vZGVsOiB0aGlzLnJvd01vZGVsfTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZSgpIHtcclxuICAgIHRoaXMucmVzdWx0ID0ge3Jlc3VsdDogZmFsc2UsIHJvd01vZGVsOiB0aGlzLnJvd01vZGVsfTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zZm9ybVZhbHVlcyh2YWx1ZTogQ29tcG9uZW50VmFsdWVNb2RlbCkge1xyXG4gICAgY29uc3QgY2xvbmVSb3dNb2RlbCA9IGNsb25lRGVlcCh0aGlzLnJvd01vZGVsKTtcclxuICAgIGNvbnN0IGZpbmRWYWx1ZTogQ29tcG9uZW50VmFsdWVNb2RlbCB8IHVuZGVmaW5lZCA9IGNsb25lUm93TW9kZWwuZGF0YS5maW5kKChjOiBDb21wb25lbnRWYWx1ZU1vZGVsKSA9PiBjLnN5c05hbWUgPT09IHZhbHVlLnN5c05hbWUpO1xyXG5cclxuICAgIGlmIChmaW5kVmFsdWUpIHtcclxuICAgICAgZmluZFZhbHVlLnZhbHVlID0gdmFsdWUudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dNb2RlbCA9IGNsb25lUm93TW9kZWw7XHJcbiAgfVxyXG59XHJcbiIsIjxtcngtbW9kYWxcclxuICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gIHNpemU9XCJsYXJnZVwiXHJcbiAgKGNsb3NlKT1cImNsb3NlKClcIlxyXG4gIChvayk9XCJvaygpXCJcclxuPlxyXG4gIDxhcHAtZm9ybS1kaXNwZW5zZXItbW9kYWxcclxuICAgIFtzZWN0aW9uU2V0dGluZ3NdPVwic2V0dGluZ3NcIlxyXG4gICAgW3ZhbHVlc109XCJyb3dNb2RlbC5kYXRhXCJcclxuICAgIFt2YWx1ZU1vZGVdPVwiJ21hbnVhbCdcIlxyXG4gICAgKGNoYW5nZWQpPVwiY29tcG9uZW50VmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gID48L2FwcC1mb3JtLWRpc3BlbnNlci1tb2RhbD5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNmb290ZXJDb250ZW50PlxyXG4gICAgPG1yeC1idXR0b25cclxuICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ21yLTMnXCJcclxuICAgICAgW3R5cGVdPVwiJ3NlY29uZGFyeSdcIlxyXG4gICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcclxuICAgID7QntGC0LzQtdC90LBcclxuICAgIDwvbXJ4LWJ1dHRvbj5cclxuICAgIDxtcngtYnV0dG9uXHJcbiAgICAgIFt0eXBlXT1cIidwcmltYXJ5J1wiXHJcbiAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgKGNsaWNrKT1cIm9rKClcIlxyXG4gICAgPtCh0L7Qt9C00LDRgtGMXHJcbiAgICA8L21yeC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9tcngtbW9kYWw+XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { ComponentType } from '@core/enums';
|
|
3
|
+
import { defaultValueModel } from '@object-form/helpers';
|
|
4
|
+
export const getRowModel = (model) => {
|
|
5
|
+
const getValuesFromModel = (model) => {
|
|
6
|
+
let values = [];
|
|
7
|
+
model.components.forEach((c) => {
|
|
8
|
+
if (c.type === ComponentType.Group) {
|
|
9
|
+
values = values.concat(getValuesFromModel(c));
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
values = values.concat(defaultValueModel(c));
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return values;
|
|
16
|
+
};
|
|
17
|
+
return { id: uuidv4(), data: getValuesFromModel(model) };
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJvdy1tb2RlbC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9oZWxwZXJzL2dldC1yb3ctbW9kZWwuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBeUIsRUFBaUIsRUFBRTtJQUN0RSxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBeUIsRUFBeUIsRUFBRTtRQUM5RSxJQUFJLE1BQU0sR0FBMEIsRUFBRSxDQUFDO1FBRXZDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBcUIsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRNb2RlbEJhc2UgfSBmcm9tICdAY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bjb3JlL2VudW1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VmFsdWVNb2RlbCwgVGFibGVSb3dNb2RlbCB9IGZyb20gJ0BvYmplY3QtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBkZWZhdWx0VmFsdWVNb2RlbCB9IGZyb20gJ0BvYmplY3QtZm9ybS9oZWxwZXJzJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRSb3dNb2RlbCA9IChtb2RlbDogQ29tcG9uZW50TW9kZWxCYXNlKTogVGFibGVSb3dNb2RlbCA9PiB7XHJcbiAgY29uc3QgZ2V0VmFsdWVzRnJvbU1vZGVsID0gKG1vZGVsOiBDb21wb25lbnRNb2RlbEJhc2UpOiBDb21wb25lbnRWYWx1ZU1vZGVsW10gPT4ge1xyXG4gICAgbGV0IHZhbHVlczogQ29tcG9uZW50VmFsdWVNb2RlbFtdID0gW107XHJcblxyXG4gICAgbW9kZWwuY29tcG9uZW50cy5mb3JFYWNoKChjOiBDb21wb25lbnRNb2RlbEJhc2UpID0+IHtcclxuICAgICAgaWYgKGMudHlwZSA9PT0gQ29tcG9uZW50VHlwZS5Hcm91cCkge1xyXG4gICAgICAgIHZhbHVlcyA9IHZhbHVlcy5jb25jYXQoZ2V0VmFsdWVzRnJvbU1vZGVsKGMpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB2YWx1ZXMgPSB2YWx1ZXMuY29uY2F0KGRlZmF1bHRWYWx1ZU1vZGVsKGMpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlcztcclxuICB9O1xyXG5cclxuICByZXR1cm4ge2lkOiB1dWlkdjQoKSwgZGF0YTogZ2V0VmFsdWVzRnJvbU1vZGVsKG1vZGVsKX07XHJcbn07XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './input-table.component';
|
|
2
|
+
export * from './components/input-table-modal/input-table-modal.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsNERBQTRELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0LXRhYmxlLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXRhYmxlLW1vZGFsL2lucHV0LXRhYmxlLW1vZGFsLmNvbXBvbmVudCdcclxuIl19
|
package/esm2022/lib/modules/object-form/components/elements/input/table/input-table.component.mjs
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { ComponentType } from '@core/enums';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import { debounceTime } from 'rxjs/operators';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { cloneDeep } from 'lodash-es';
|
|
7
|
+
import { objectFormActions, objectFormSelectors } from '@object-form/store';
|
|
8
|
+
import { ModalService } from '@myrtex-org/ui';
|
|
9
|
+
import { InputTableModalComponent } from '@object-form/components/elements';
|
|
10
|
+
import { getRowModel } from '../../../../components/elements/input/table/helpers/get-row-model.helper';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@myrtex-org/ui";
|
|
13
|
+
import * as i2 from "devextreme-angular";
|
|
14
|
+
import * as i3 from "devextreme-angular/ui/nested";
|
|
15
|
+
import * as i4 from "devextreme-angular/core";
|
|
16
|
+
export class InputTableComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.type = ComponentType.InputTable;
|
|
19
|
+
this._store = inject(Store);
|
|
20
|
+
this._detector = inject(ChangeDetectorRef);
|
|
21
|
+
this._modalService = inject(ModalService);
|
|
22
|
+
this._changeSubject$ = new Subject();
|
|
23
|
+
this._subscriptions$ = [];
|
|
24
|
+
this._isCheckRequired = false;
|
|
25
|
+
this.dataSource = [];
|
|
26
|
+
this.values = [];
|
|
27
|
+
this.changed = new EventEmitter();
|
|
28
|
+
}
|
|
29
|
+
set data(settings) {
|
|
30
|
+
this.settings = settings;
|
|
31
|
+
this.model = { sysName: settings.sysName, type: settings.type, data: [], totals: [] };
|
|
32
|
+
this._detector.detectChanges();
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this._initModel();
|
|
36
|
+
this._changeSubject$.pipe(debounceTime(700)).subscribe(model => {
|
|
37
|
+
this._store.dispatch(objectFormActions.updateValues({ value: model }));
|
|
38
|
+
});
|
|
39
|
+
this._subscriptions$.push(this._store.select(objectFormSelectors.selectIsCheckRequired).subscribe(result => {
|
|
40
|
+
this._isCheckRequired = result;
|
|
41
|
+
this._detector.detectChanges();
|
|
42
|
+
}));
|
|
43
|
+
this._subscriptions$.push(this._store.select(objectFormSelectors.selectValueModel(this.settings))
|
|
44
|
+
.subscribe((result) => {
|
|
45
|
+
const cloneResult = cloneDeep(result);
|
|
46
|
+
if (cloneResult && !Array.isArray(cloneResult) && this.model.data !== cloneResult.data) {
|
|
47
|
+
this.model = cloneResult;
|
|
48
|
+
this._initDataSource(this.model.data);
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this._changeSubject$.unsubscribe();
|
|
54
|
+
this._subscriptions$.forEach((subscription) => subscription.unsubscribe());
|
|
55
|
+
}
|
|
56
|
+
createRow() {
|
|
57
|
+
this._modalService.open(InputTableModalComponent, {
|
|
58
|
+
title: 'Создание строки',
|
|
59
|
+
settings: this.settings,
|
|
60
|
+
rowModel: getRowModel(this.settings)
|
|
61
|
+
}).afterClosed().subscribe(resolve => {
|
|
62
|
+
if (resolve.result) {
|
|
63
|
+
this.model.data = [...this.model.data, resolve.rowModel];
|
|
64
|
+
this._initDataSource(this.model.data);
|
|
65
|
+
this._changeSubject$.next(this.model);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
deleteRow(event) {
|
|
70
|
+
const findRow = this.model.data.find(item => item.id === event.row.data.id);
|
|
71
|
+
if (findRow) {
|
|
72
|
+
this.model.data = this.model.data.filter(item => item.id !== event.row.data.id);
|
|
73
|
+
this._initDataSource(this.model.data);
|
|
74
|
+
this._changeSubject$.next(this.model);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
editRow(event) {
|
|
78
|
+
const findRow = this.model.data.find(item => item.id === event.row.data.id);
|
|
79
|
+
if (findRow) {
|
|
80
|
+
this._modalService.open(InputTableModalComponent, {
|
|
81
|
+
title: 'Редактирование строки',
|
|
82
|
+
settings: this.settings,
|
|
83
|
+
rowModel: findRow
|
|
84
|
+
}).afterClosed().subscribe(resolve => {
|
|
85
|
+
if (resolve.result) {
|
|
86
|
+
const cloneModel = cloneDeep(this.model);
|
|
87
|
+
const findRow = cloneModel.data.find(row => row.id === resolve.rowModel.id);
|
|
88
|
+
if (findRow) {
|
|
89
|
+
findRow.data = resolve.rowModel.data;
|
|
90
|
+
this._changeSubject$.next(cloneModel);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
getFormat(component) {
|
|
97
|
+
switch (component.type) {
|
|
98
|
+
case ComponentType.InputDate:
|
|
99
|
+
return 'dd.MM.yyyy';
|
|
100
|
+
default:
|
|
101
|
+
return '';
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
getDataType(component) {
|
|
105
|
+
switch (component.type) {
|
|
106
|
+
case ComponentType.InputDate:
|
|
107
|
+
return 'date';
|
|
108
|
+
default:
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
showTotal(component) {
|
|
113
|
+
if (component.type === ComponentType.InputNumber) {
|
|
114
|
+
const element = component;
|
|
115
|
+
return element.options.inTotals;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
isTotalColumn(component) {
|
|
120
|
+
return component.options['inTotals'];
|
|
121
|
+
}
|
|
122
|
+
_initModel() {
|
|
123
|
+
this.model = {
|
|
124
|
+
sysName: this.settings.sysName,
|
|
125
|
+
type: this.settings.type,
|
|
126
|
+
data: [],
|
|
127
|
+
totals: []
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
_initDataSource(data) {
|
|
131
|
+
this.dataSource = data.map((item) => {
|
|
132
|
+
const newDataItem = {};
|
|
133
|
+
for (let i in item.data) {
|
|
134
|
+
newDataItem[item.data[i].sysName] = item.data[i].value;
|
|
135
|
+
}
|
|
136
|
+
newDataItem.id = item.id;
|
|
137
|
+
return newDataItem;
|
|
138
|
+
});
|
|
139
|
+
this._detector.detectChanges();
|
|
140
|
+
this.dataGrid.instance.refresh();
|
|
141
|
+
}
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTableComponent, selector: "app-input-table", inputs: { values: "values", data: "data" }, outputs: { changed: "changed" }, viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["dataGrid"], descendants: true }], ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-table-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"dataSource\"\r\n noDataText=\"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445\"\r\n >\r\n <dxo-toolbar>\r\n <dxi-item location=\"after\">\r\n <div *dxTemplate class=\"add-row\">\r\n <mrx-button\r\n [size]=\"'medium'\"\r\n [type]=\"'tertiary'\"\r\n [customClasses]=\"'px-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\r\n </mrx-button>\r\n </div>\r\n </dxi-item>\r\n </dxo-toolbar>\r\n\r\n @for (component of settings.components; track component.id) {\r\n <dxi-column\r\n [caption]=\"component.options.label\"\r\n [dataField]=\"component.sysName\"\r\n [format]=\"getFormat(component)\"\r\n [dataType]=\"getDataType(component)\"\r\n >\r\n @for (component of component.components; track component.id) {\r\n <dxi-column\r\n [caption]=\"component.options.label\"\r\n [dataField]=\"component.sysName\"\r\n [format]=\"getFormat(component)\"\r\n [dataType]=\"getDataType(component)\"\r\n >\r\n @for (component of component.components; track component.id) {\r\n <dxi-column\r\n [caption]=\"component.options.label\"\r\n [dataField]=\"component.sysName\"\r\n [format]=\"getFormat(component)\"\r\n [dataType]=\"getDataType(component)\"\r\n ></dxi-column>\r\n }\r\n </dxi-column>\r\n }\r\n </dxi-column>\r\n }\r\n\r\n <dxi-column\r\n [width]=\"60\"\r\n [allowFiltering]=\"false\"\r\n [allowSorting]=\"false\"\r\n [visible]=\"true\"\r\n cellTemplate=\"editCellTemplate\"\r\n >\r\n <div *dxTemplate=\"let cellInfo of 'editCellTemplate'\">\r\n <div class=\"d-flex align-items-center justify-content-center\" style=\"gap: 4px\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(cellInfo)\"></span>\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(cellInfo)\"></span>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n @if (dataSource.length) {\r\n <dxo-summary>\r\n @for (component of settings.components; track component.id; let first = $first) {\r\n @if (!first) {\r\n @if (showTotal(component)) {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (isTotalColumn(component)) {\r\n <dxi-total-item [column]=\"component.sysName\" [displayFormat]=\"'{0}'\"></dxi-total-item>\r\n } @else {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"'\u0418\u0422\u041E\u0413\u041E'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n </dxo-summary>\r\n }\r\n </dx-data-grid>\r\n </div>\r\n}\r\n\r\n\r\n", styles: [":host::ng-deep .input-table-content .dx-datagrid{padding:0}:host::ng-deep .input-table-content .dx-datagrid-header-panel{display:flex;align-items:center;min-height:40px;padding:0}:host::ng-deep .input-table-content .dx-datagrid-rowsview{border-bottom:none}:host::ng-deep .input-table-content .dx-datagrid-rowsview.dx-empty{border-bottom:1px solid #ddd;height:48px}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer{border-top:none;border-left:none;border-right:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content{padding:0}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content th,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content td{border:1px solid #ddd;border-top:none;border-collapse:collapse}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table{border-top:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content .dx-datagrid-summary-item{font-weight:400}\n"], dependencies: [{ kind: "component", type: i1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: i2.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: i3.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: i3.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { kind: "component", type: i3.DxoSummaryComponent, selector: "dxo-summary", inputs: ["calculateCustomSummary", "groupItems", "recalculateWhileEditing", "skipEmptyValues", "texts", "totalItems"] }, { kind: "component", type: i3.DxiTotalItemComponent, selector: "dxi-total-item", inputs: ["alignment", "column", "cssClass", "customizeText", "displayFormat", "name", "showInColumn", "skipEmptyValues", "summaryType", "valueFormat"] }, { kind: "component", type: i3.DxoToolbarComponent, selector: "dxo-toolbar", inputs: ["disabled", "items", "visible", "fileSelectionItems", "container", "multiline"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
144
|
+
}
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableComponent, decorators: [{
|
|
146
|
+
type: Component,
|
|
147
|
+
args: [{ selector: 'app-input-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-table-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"dataSource\"\r\n noDataText=\"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445\"\r\n >\r\n <dxo-toolbar>\r\n <dxi-item location=\"after\">\r\n <div *dxTemplate class=\"add-row\">\r\n <mrx-button\r\n [size]=\"'medium'\"\r\n [type]=\"'tertiary'\"\r\n [customClasses]=\"'px-3'\"\r\n (mrxClick)=\"createRow()\"\r\n >\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\r\n </mrx-button>\r\n </div>\r\n </dxi-item>\r\n </dxo-toolbar>\r\n\r\n @for (component of settings.components; track component.id) {\r\n <dxi-column\r\n [caption]=\"component.options.label\"\r\n [dataField]=\"component.sysName\"\r\n [format]=\"getFormat(component)\"\r\n [dataType]=\"getDataType(component)\"\r\n >\r\n @for (component of component.components; track component.id) {\r\n <dxi-column\r\n [caption]=\"component.options.label\"\r\n [dataField]=\"component.sysName\"\r\n [format]=\"getFormat(component)\"\r\n [dataType]=\"getDataType(component)\"\r\n >\r\n @for (component of component.components; track component.id) {\r\n <dxi-column\r\n [caption]=\"component.options.label\"\r\n [dataField]=\"component.sysName\"\r\n [format]=\"getFormat(component)\"\r\n [dataType]=\"getDataType(component)\"\r\n ></dxi-column>\r\n }\r\n </dxi-column>\r\n }\r\n </dxi-column>\r\n }\r\n\r\n <dxi-column\r\n [width]=\"60\"\r\n [allowFiltering]=\"false\"\r\n [allowSorting]=\"false\"\r\n [visible]=\"true\"\r\n cellTemplate=\"editCellTemplate\"\r\n >\r\n <div *dxTemplate=\"let cellInfo of 'editCellTemplate'\">\r\n <div class=\"d-flex align-items-center justify-content-center\" style=\"gap: 4px\">\r\n <span class=\"mrx-icon icon-edit icon-font-16 cursor-pointer\" (click)=\"editRow(cellInfo)\"></span>\r\n <span class=\"mrx-icon icon-delete icon-font-16 cursor-pointer\" (click)=\"deleteRow(cellInfo)\"></span>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n @if (dataSource.length) {\r\n <dxo-summary>\r\n @for (component of settings.components; track component.id; let first = $first) {\r\n @if (!first) {\r\n @if (showTotal(component)) {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n\r\n @for (component of component.components; track component.id) {\r\n @if (showTotal(component)) {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [summaryType]=\"'sum'\"\r\n [displayFormat]=\"'{0}'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n } @else {\r\n @if (isTotalColumn(component)) {\r\n <dxi-total-item [column]=\"component.sysName\" [displayFormat]=\"'{0}'\"></dxi-total-item>\r\n } @else {\r\n <dxi-total-item\r\n [column]=\"component.sysName\"\r\n [cssClass]=\"'text-bold'\"\r\n [displayFormat]=\"'\u0418\u0422\u041E\u0413\u041E'\"\r\n ></dxi-total-item>\r\n }\r\n }\r\n }\r\n </dxo-summary>\r\n }\r\n </dx-data-grid>\r\n </div>\r\n}\r\n\r\n\r\n", styles: [":host::ng-deep .input-table-content .dx-datagrid{padding:0}:host::ng-deep .input-table-content .dx-datagrid-header-panel{display:flex;align-items:center;min-height:40px;padding:0}:host::ng-deep .input-table-content .dx-datagrid-rowsview{border-bottom:none}:host::ng-deep .input-table-content .dx-datagrid-rowsview.dx-empty{border-bottom:1px solid #ddd;height:48px}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer{border-top:none;border-left:none;border-right:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content{padding:0}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content th,:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content td{border:1px solid #ddd;border-top:none;border-collapse:collapse}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content table{border-top:none}:host::ng-deep .input-table-content .dx-datagrid .dx-datagrid-total-footer .dx-datagrid-content .dx-datagrid-summary-item{font-weight:400}\n"] }]
|
|
148
|
+
}], propDecorators: { values: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], data: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], dataGrid: [{
|
|
153
|
+
type: ViewChild,
|
|
154
|
+
args: ['dataGrid', { static: false }]
|
|
155
|
+
}], changed: [{
|
|
156
|
+
type: Output
|
|
157
|
+
}] } });
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGFibGUvaW5wdXQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGFibGUvaW5wdXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7QUFRdkcs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QUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN6RCxDQUFDO1lBRUQsV0FBVyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBRXpCLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxDQUFDOytHQXZLVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwwT0MvQmhDLDJpSkEySEE7OzRGRDVGYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OEJBa0J0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBRU8sSUFBSTtzQkFBaEIsS0FBSztnQkFRa0MsUUFBUTtzQkFBL0MsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUVyQixPQUFPO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLCBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAY29yZS9lbnVtcyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRNb2RlbEJhc2UgfSBmcm9tICdAY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEeERhdGFHcmlkQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VmFsdWVNb2RlbCwgU2VjdGlvblZhbHVlTW9kZWwsIFRhYmxlUm93TW9kZWwsIFRhYmxlVmFsdWVNb2RlbCB9IGZyb20gJ0BvYmplY3QtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJbnB1dE51bWJlck1vZGVsLCBJbnB1dFRhYmxlTW9kZWwgfSBmcm9tICdAb2JqZWN0LWZvcm0vbW9kZWxzL2VsZW1ldHMvaW5wdXRzJztcclxuaW1wb3J0IHsgb2JqZWN0Rm9ybUFjdGlvbnMsIG9iamVjdEZvcm1TZWxlY3RvcnMgfSBmcm9tICdAb2JqZWN0LWZvcm0vc3RvcmUnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICdAbXlydGV4LW9yZy91aSc7XHJcbmltcG9ydCB7IElucHV0VGFibGVNb2RhbENvbXBvbmVudCB9IGZyb20gJ0BvYmplY3QtZm9ybS9jb21wb25lbnRzL2VsZW1lbnRzJztcclxuaW1wb3J0IHsgZ2V0Um93TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2VsZW1lbnRzL2lucHV0L3RhYmxlL2hlbHBlcnMvZ2V0LXJvdy1tb2RlbC5oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGFibGUuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICB0eXBlID0gQ29tcG9uZW50VHlwZS5JbnB1dFRhYmxlO1xyXG5cclxuICBwcml2YXRlIF9zdG9yZTogU3RvcmUgPSBpbmplY3QoU3RvcmUpXHJcbiAgcHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxyXG4gIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlID0gaW5qZWN0KE1vZGFsU2VydmljZSlcclxuXHJcbiAgcHJpdmF0ZSBfY2hhbmdlU3ViamVjdCQ6IFN1YmplY3Q8VGFibGVWYWx1ZU1vZGVsPiA9IG5ldyBTdWJqZWN0PFRhYmxlVmFsdWVNb2RlbD4oKTtcclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNDaGVja1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBtb2RlbCE6IFRhYmxlVmFsdWVNb2RlbDtcclxuICBwdWJsaWMgc2V0dGluZ3MhOiBJbnB1dFRhYmxlTW9kZWw7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSB2YWx1ZXM6IFNlY3Rpb25WYWx1ZU1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGRhdGEoc2V0dGluZ3M6IENvbXBvbmVudE1vZGVsQmFzZSkge1xyXG4gICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzIGFzIElucHV0VGFibGVNb2RlbDtcclxuXHJcbiAgICB0aGlzLm1vZGVsID0ge3N5c05hbWU6IHNldHRpbmdzLnN5c05hbWUsIHR5cGU6IHNldHRpbmdzLnR5cGUsIGRhdGE6IFtdLCB0b3RhbHM6IFtdfTtcclxuXHJcbiAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdkYXRhR3JpZCcsIHtzdGF0aWM6IGZhbHNlfSkgZGF0YUdyaWQhOiBEeERhdGFHcmlkQ29tcG9uZW50O1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDb21wb25lbnRWYWx1ZU1vZGVsIHwgQ29tcG9uZW50VmFsdWVNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcG9uZW50VmFsdWVNb2RlbCB8IENvbXBvbmVudFZhbHVlTW9kZWxbXT4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pbml0TW9kZWwoKTtcclxuXHJcbiAgICB0aGlzLl9jaGFuZ2VTdWJqZWN0JC5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoNzAwKSxcclxuICAgICkuc3Vic2NyaWJlKG1vZGVsID0+IHtcclxuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2gob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlVmFsdWVzKHt2YWx1ZTogbW9kZWx9KSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zJC5wdXNoKHRoaXMuX3N0b3JlLnNlbGVjdChvYmplY3RGb3JtU2VsZWN0b3JzLnNlbGVjdElzQ2hlY2tSZXF1aXJlZCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuX2lzQ2hlY2tSZXF1aXJlZCA9IHJlc3VsdDtcclxuICAgICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMkLnB1c2godGhpcy5fc3RvcmUuc2VsZWN0KG9iamVjdEZvcm1TZWxlY3RvcnMuc2VsZWN0VmFsdWVNb2RlbCh0aGlzLnNldHRpbmdzKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBDb21wb25lbnRWYWx1ZU1vZGVsIHwgbnVsbCB8IChDb21wb25lbnRWYWx1ZU1vZGVsIHwgbnVsbClbXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNsb25lUmVzdWx0ID0gY2xvbmVEZWVwKHJlc3VsdCBhcyBUYWJsZVZhbHVlTW9kZWwgfCBudWxsKTtcclxuXHJcbiAgICAgICAgaWYgKGNsb25lUmVzdWx0ICYmICFBcnJheS5pc0FycmF5KGNsb25lUmVzdWx0KSAmJiB0aGlzLm1vZGVsLmRhdGEgIT09IGNsb25lUmVzdWx0LmRhdGEpIHtcclxuICAgICAgICAgIHRoaXMubW9kZWwgPSBjbG9uZVJlc3VsdDtcclxuICAgICAgICAgIHRoaXMuX2luaXREYXRhU291cmNlKHRoaXMubW9kZWwuZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NoYW5nZVN1YmplY3QkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zJC5mb3JFYWNoKChzdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVSb3coKSB7XHJcbiAgICB0aGlzLl9tb2RhbFNlcnZpY2Uub3BlbihJbnB1dFRhYmxlTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgdGl0bGU6ICfQodC+0LfQtNCw0L3QuNC1INGB0YLRgNC+0LrQuCcsXHJcbiAgICAgIHNldHRpbmdzOiB0aGlzLnNldHRpbmdzLFxyXG4gICAgICByb3dNb2RlbDogZ2V0Um93TW9kZWwodGhpcy5zZXR0aW5ncylcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc29sdmUgPT4ge1xyXG4gICAgICBpZiAocmVzb2x2ZS5yZXN1bHQpIHtcclxuICAgICAgICB0aGlzLm1vZGVsLmRhdGEgPSBbLi4udGhpcy5tb2RlbC5kYXRhLCByZXNvbHZlLnJvd01vZGVsXTtcclxuXHJcbiAgICAgICAgdGhpcy5faW5pdERhdGFTb3VyY2UodGhpcy5tb2RlbC5kYXRhKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlU3ViamVjdCQubmV4dCh0aGlzLm1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVSb3coZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmluZFJvdyA9IHRoaXMubW9kZWwuZGF0YS5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gZXZlbnQucm93LmRhdGEuaWQpO1xyXG5cclxuICAgIGlmIChmaW5kUm93KSB7XHJcbiAgICAgIHRoaXMubW9kZWwuZGF0YSA9IHRoaXMubW9kZWwuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBldmVudC5yb3cuZGF0YS5pZCk7XHJcblxyXG4gICAgICB0aGlzLl9pbml0RGF0YVNvdXJjZSh0aGlzLm1vZGVsLmRhdGEpO1xyXG5cclxuICAgICAgdGhpcy5fY2hhbmdlU3ViamVjdCQubmV4dCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlZGl0Um93KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGZpbmRSb3c6IFRhYmxlUm93TW9kZWwgfCB1bmRlZmluZWQgPSB0aGlzLm1vZGVsLmRhdGEuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGV2ZW50LnJvdy5kYXRhLmlkKTtcclxuXHJcbiAgICBpZiAoZmluZFJvdykge1xyXG4gICAgICB0aGlzLl9tb2RhbFNlcnZpY2Uub3BlbihJbnB1dFRhYmxlTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgICB0aXRsZTogJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUg0YHRgtGA0L7QutC4JyxcclxuICAgICAgICBzZXR0aW5nczogdGhpcy5zZXR0aW5ncyxcclxuICAgICAgICByb3dNb2RlbDogZmluZFJvd1xyXG4gICAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXNvbHZlID0+IHtcclxuICAgICAgICBpZiAocmVzb2x2ZS5yZXN1bHQpIHtcclxuICAgICAgICAgIGNvbnN0IGNsb25lTW9kZWwgPSBjbG9uZURlZXAodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgICBjb25zdCBmaW5kUm93ID0gY2xvbmVNb2RlbC5kYXRhLmZpbmQocm93ID0+IHJvdy5pZCA9PT0gcmVzb2x2ZS5yb3dNb2RlbC5pZCk7XHJcblxyXG4gICAgICAgICAgaWYgKGZpbmRSb3cpIHtcclxuICAgICAgICAgICAgZmluZFJvdy5kYXRhID0gcmVzb2x2ZS5yb3dNb2RlbC5kYXRhO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlU3ViamVjdCQubmV4dChjbG9uZU1vZGVsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Rm9ybWF0KGNvbXBvbmVudDogQ29tcG9uZW50TW9kZWxCYXNlKSB7XHJcbiAgICBzd2l0Y2ggKGNvbXBvbmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5JbnB1dERhdGU6XHJcbiAgICAgICAgcmV0dXJuICdkZC5NTS55eXl5JztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGF0YVR5cGUoY29tcG9uZW50OiBDb21wb25lbnRNb2RlbEJhc2UpIHtcclxuICAgIHN3aXRjaCAoY29tcG9uZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSBDb21wb25lbnRUeXBlLklucHV0RGF0ZTpcclxuICAgICAgICByZXR1cm4gJ2RhdGUnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1RvdGFsKGNvbXBvbmVudDogQ29tcG9uZW50TW9kZWxCYXNlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoY29tcG9uZW50LnR5cGUgPT09IENvbXBvbmVudFR5cGUuSW5wdXROdW1iZXIpIHtcclxuICAgICAgY29uc3QgZWxlbWVudDogSW5wdXROdW1iZXJNb2RlbCA9IGNvbXBvbmVudCBhcyBJbnB1dE51bWJlck1vZGVsO1xyXG5cclxuICAgICAgcmV0dXJuIGVsZW1lbnQub3B0aW9ucy5pblRvdGFscztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNUb3RhbENvbHVtbihjb21wb25lbnQ6IENvbXBvbmVudE1vZGVsQmFzZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChjb21wb25lbnQgYXMgSW5wdXROdW1iZXJNb2RlbCkub3B0aW9uc1snaW5Ub3RhbHMnXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRNb2RlbCgpIHtcclxuICAgIHRoaXMubW9kZWwgPSB7XHJcbiAgICAgIHN5c05hbWU6IHRoaXMuc2V0dGluZ3Muc3lzTmFtZSxcclxuICAgICAgdHlwZTogdGhpcy5zZXR0aW5ncy50eXBlLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgICAgdG90YWxzOiBbXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREYXRhU291cmNlKGRhdGE6IFRhYmxlUm93TW9kZWxbXSkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YS5tYXAoKGl0ZW06IFRhYmxlUm93TW9kZWwpID0+IHtcclxuICAgICAgY29uc3QgbmV3RGF0YUl0ZW06IGFueSA9IHt9O1xyXG5cclxuICAgICAgZm9yIChsZXQgaSBpbiBpdGVtLmRhdGEpIHtcclxuICAgICAgICBuZXdEYXRhSXRlbVtpdGVtLmRhdGFbaV0uc3lzTmFtZV0gPSBpdGVtLmRhdGFbaV0udmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG5ld0RhdGFJdGVtLmlkID0gaXRlbS5pZDtcclxuXHJcbiAgICAgIHJldHVybiBuZXdEYXRhSXRlbTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuZGF0YUdyaWQuaW5zdGFuY2UucmVmcmVzaCgpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKHNldHRpbmdzKSB7XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LXRhYmxlLWNvbnRlbnRcIj5cclxuICAgIEBpZiAoc2V0dGluZ3Mub3B0aW9ucy5sYWJlbCkge1xyXG4gICAgICA8bXJ4LWxhYmVsXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cInNldHRpbmdzLm9wdGlvbnMucmVxdWlyZWRcIlxyXG4gICAgICAgIFt0b29sdGlwXT1cInNldHRpbmdzLm9wdGlvbnMudG9vbHRpcCB8fCAnJ1wiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ210LTInXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHNldHRpbmdzLm9wdGlvbnMubGFiZWwgfX1cclxuICAgICAgPC9tcngtbGFiZWw+XHJcbiAgICB9XHJcblxyXG4gICAgPGR4LWRhdGEtZ3JpZFxyXG4gICAgICAjZGF0YUdyaWRcclxuICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcbiAgICAgIG5vRGF0YVRleHQ9XCLQndC10YIg0LTQsNC90L3Ri9GFXCJcclxuICAgID5cclxuICAgICAgPGR4by10b29sYmFyPlxyXG4gICAgICAgIDxkeGktaXRlbSBsb2NhdGlvbj1cImFmdGVyXCI+XHJcbiAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlIGNsYXNzPVwiYWRkLXJvd1wiPlxyXG4gICAgICAgICAgICA8bXJ4LWJ1dHRvblxyXG4gICAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgICBbdHlwZV09XCIndGVydGlhcnknXCJcclxuICAgICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHgtMydcIlxyXG4gICAgICAgICAgICAgIChtcnhDbGljayk9XCJjcmVhdGVSb3coKVwiXHJcbiAgICAgICAgICAgID7QlNC+0LHQsNCy0LjRgtGMXHJcbiAgICAgICAgICAgIDwvbXJ4LWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgIDwvZHhvLXRvb2xiYXI+XHJcblxyXG4gICAgICBAZm9yIChjb21wb25lbnQgb2Ygc2V0dGluZ3MuY29tcG9uZW50czsgdHJhY2sgY29tcG9uZW50LmlkKSB7XHJcbiAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgIFtjYXB0aW9uXT1cImNvbXBvbmVudC5vcHRpb25zLmxhYmVsXCJcclxuICAgICAgICAgIFtkYXRhRmllbGRdPVwiY29tcG9uZW50LnN5c05hbWVcIlxyXG4gICAgICAgICAgW2Zvcm1hdF09XCJnZXRGb3JtYXQoY29tcG9uZW50KVwiXHJcbiAgICAgICAgICBbZGF0YVR5cGVdPVwiZ2V0RGF0YVR5cGUoY29tcG9uZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgQGZvciAoY29tcG9uZW50IG9mIGNvbXBvbmVudC5jb21wb25lbnRzOyB0cmFjayBjb21wb25lbnQuaWQpIHtcclxuICAgICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgICBbY2FwdGlvbl09XCJjb21wb25lbnQub3B0aW9ucy5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgW2RhdGFGaWVsZF09XCJjb21wb25lbnQuc3lzTmFtZVwiXHJcbiAgICAgICAgICAgICAgW2Zvcm1hdF09XCJnZXRGb3JtYXQoY29tcG9uZW50KVwiXHJcbiAgICAgICAgICAgICAgW2RhdGFUeXBlXT1cImdldERhdGFUeXBlKGNvbXBvbmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgQGZvciAoY29tcG9uZW50IG9mIGNvbXBvbmVudC5jb21wb25lbnRzOyB0cmFjayBjb21wb25lbnQuaWQpIHtcclxuICAgICAgICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cImNvbXBvbmVudC5vcHRpb25zLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgW2RhdGFGaWVsZF09XCJjb21wb25lbnQuc3lzTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiZ2V0Rm9ybWF0KGNvbXBvbmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbZGF0YVR5cGVdPVwiZ2V0RGF0YVR5cGUoY29tcG9uZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICBbd2lkdGhdPVwiNjBcIlxyXG4gICAgICAgIFthbGxvd0ZpbHRlcmluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgW2FsbG93U29ydGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgY2VsbFRlbXBsYXRlPVwiZWRpdENlbGxUZW1wbGF0ZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvICBvZiAnZWRpdENlbGxUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiBzdHlsZT1cImdhcDogNHB4XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1lZGl0IGljb24tZm9udC0xNiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJlZGl0Um93KGNlbGxJbmZvKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTYgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZGVsZXRlUm93KGNlbGxJbmZvKVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICBAaWYgKGRhdGFTb3VyY2UubGVuZ3RoKSB7XHJcbiAgICAgICAgPGR4by1zdW1tYXJ5PlxyXG4gICAgICAgICAgQGZvciAoY29tcG9uZW50IG9mIHNldHRpbmdzLmNvbXBvbmVudHM7IHRyYWNrIGNvbXBvbmVudC5pZDsgbGV0IGZpcnN0ID0gJGZpcnN0KSB7XHJcbiAgICAgICAgICAgIEBpZiAoIWZpcnN0KSB7XHJcbiAgICAgICAgICAgICAgQGlmIChzaG93VG90YWwoY29tcG9uZW50KSkge1xyXG4gICAgICAgICAgICAgICAgPGR4aS10b3RhbC1pdGVtXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29tcG9uZW50LnN5c05hbWVcIlxyXG4gICAgICAgICAgICAgICAgICBbc3VtbWFyeVR5cGVdPVwiJ3N1bSdcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheUZvcm1hdF09XCInezB9J1wiXHJcbiAgICAgICAgICAgICAgICA+PC9keGktdG90YWwtaXRlbT5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIEBmb3IgKGNvbXBvbmVudCBvZiBjb21wb25lbnQuY29tcG9uZW50czsgdHJhY2sgY29tcG9uZW50LmlkKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNob3dUb3RhbChjb21wb25lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkeGktdG90YWwtaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29tcG9uZW50LnN5c05hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdW1tYXJ5VHlwZV09XCInc3VtJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGb3JtYXRdPVwiJ3swfSdcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9keGktdG90YWwtaXRlbT5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAZm9yIChjb21wb25lbnQgb2YgY29tcG9uZW50LmNvbXBvbmVudHM7IHRyYWNrIGNvbXBvbmVudC5pZCkge1xyXG4gICAgICAgICAgICAgICAgICBAaWYgKHNob3dUb3RhbChjb21wb25lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4aS10b3RhbC1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbXBvbmVudC5zeXNOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdW1tYXJ5VHlwZV09XCInc3VtJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZvcm1hdF09XCInezB9J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZHhpLXRvdGFsLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgIEBpZiAoaXNUb3RhbENvbHVtbihjb21wb25lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICA8ZHhpLXRvdGFsLWl0ZW0gW2NvbHVtbl09XCJjb21wb25lbnQuc3lzTmFtZVwiIFtkaXNwbGF5Rm9ybWF0XT1cIid7MH0nXCI+PC9keGktdG90YWwtaXRlbT5cclxuICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIDxkeGktdG90YWwtaXRlbVxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbXBvbmVudC5zeXNOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgW2Nzc0NsYXNzXT1cIid0ZXh0LWJvbGQnXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGb3JtYXRdPVwiJ9CY0KLQntCT0J4nXCJcclxuICAgICAgICAgICAgICAgID48L2R4aS10b3RhbC1pdGVtPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZHhvLXN1bW1hcnk+XHJcbiAgICAgIH1cclxuICAgIDwvZHgtZGF0YS1ncmlkPlxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './input-text.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90ZXh0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0LXRleHQuY29tcG9uZW50J1xyXG4iXX0=
|
package/esm2022/lib/modules/object-form/components/elements/input/text/input-text.component.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { ComponentType } from '@core/enums';
|
|
3
|
+
import { BaseFieldComponent } from '@object-form/components/elements/base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@myrtex-org/ui";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
export class InputTextComponent extends BaseFieldComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.type = ComponentType.InputText;
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTextComponent, selector: "app-input-text", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-text-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [showMaskTyped]=\"true\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'app-input-text', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-text-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-text\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [showMaskTyped]=\"true\"\r\n [minlength]=\"settings.options.minLength || 0\"\r\n [maxlength]=\"settings.options.maxLength || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-text>\r\n </div>\r\n}\r\n" }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90ZXh0L2lucHV0LXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFVM0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUF3RDtJQU5oRzs7UUFPRSxTQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztLQUNoQzsrR0FGWSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw2RUNaL0IsZzVCQTJCQTs7NEZEZmEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bjb3JlL2VudW1zJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQG9iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvYmFzZSc7XHJcbmltcG9ydCB7IElucHV0VGV4dE1vZGVsIH0gZnJvbSAnQG9iamVjdC1mb3JtL21vZGVscy9lbGVtZXRzL2lucHV0cyc7XHJcbmltcG9ydCB7IElucHV0VGV4dFZhbHVlV2l0aElkIH0gZnJvbSAnQG15cnRleC1vcmcvdWknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHQuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUZpZWxkQ29tcG9uZW50PElucHV0VGV4dE1vZGVsLCBJbnB1dFRleHRWYWx1ZVdpdGhJZD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgdHlwZSA9IENvbXBvbmVudFR5cGUuSW5wdXRUZXh0O1xyXG59XHJcbiIsIkBpZiAoc2V0dGluZ3MpIHtcclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGV4dC1jb250ZW50XCI+XHJcbiAgICBAaWYgKHNldHRpbmdzLm9wdGlvbnMubGFiZWwpIHtcclxuICAgICAgPG1yeC1sYWJlbFxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJzZXR0aW5ncy5vcHRpb25zLnJlcXVpcmVkXCJcclxuICAgICAgICBbdG9vbHRpcF09XCJzZXR0aW5ncy5vcHRpb25zLnRvb2x0aXAgfHwgJydcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidtdC0yJ1wiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBzZXR0aW5ncy5vcHRpb25zLmxhYmVsIH19XHJcbiAgICAgIDwvbXJ4LWxhYmVsPlxyXG4gICAgfVxyXG5cclxuICAgIDxtcngtaW5wdXQtdGV4dFxyXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnZhbHVlXCJcclxuICAgICAgW2ZpZWxkc109XCJhdXRvc2F2ZUZpZWxkc1wiXHJcbiAgICAgIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJzZXR0aW5ncy5vcHRpb25zLnBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgW21hc2tdPVwic2V0dGluZ3Mub3B0aW9ucy5tYXNrIHx8ICcnXCJcclxuICAgICAgW3Nob3dNYXNrVHlwZWRdPVwidHJ1ZVwiXHJcbiAgICAgIFttaW5sZW5ndGhdPVwic2V0dGluZ3Mub3B0aW9ucy5taW5MZW5ndGggfHwgMFwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwic2V0dGluZ3Mub3B0aW9ucy5tYXhMZW5ndGggfHwgMFwiXHJcbiAgICAgIFtpbnZhbGlkXT1cImdldEludmFsaWRcIlxyXG4gICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZ2V0SW52YWxpZE1lc3NhZ2VcIlxyXG4gICAgICAobW9kZWxDaGFuZ2UpPVwiZGlzcGF0Y2hNb2RpZnkoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtaW5wdXQtdGV4dD5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './input-textarea.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90ZXh0YXJlYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQnXHJcbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { ComponentType } from '@core/enums';
|
|
3
|
+
import { BaseFieldComponent } from '@object-form/components/elements/base';
|
|
4
|
+
import { defaultValueModel } from '@object-form/helpers';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@myrtex-org/ui";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
export class InputTextareaComponent extends BaseFieldComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.type = ComponentType.InputTextarea;
|
|
12
|
+
this.config = {
|
|
13
|
+
buttons: []
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
_customInit() {
|
|
17
|
+
this.model = this.model || defaultValueModel(this.settings);
|
|
18
|
+
this.config = {
|
|
19
|
+
buttons: [
|
|
20
|
+
...this.settings?.options.textType ? ['paragraph'] : [],
|
|
21
|
+
...this.settings?.options.textFamily ? ['font'] : [],
|
|
22
|
+
...this.settings?.options.textSize ? ['fontsize'] : [],
|
|
23
|
+
...this.settings?.options.textColor ? ['brush'] : [],
|
|
24
|
+
...this.settings?.options.textStyle ? ['bold', 'italic', 'underline', 'strikethrough'] : [],
|
|
25
|
+
...this.settings?.options.textAlign ? [{ name: 'left', list: ['left', 'right', 'center', 'justify'] }] : [],
|
|
26
|
+
...this.settings?.options.textHeight ? ['lineHeight'] : [],
|
|
27
|
+
...this.settings?.options.textMargin ? ['indent', 'outdent'] : [],
|
|
28
|
+
...this.settings?.options.textList ? ['ol', 'ul'] : [],
|
|
29
|
+
...this.settings?.options.textLink ? ['link'] : [],
|
|
30
|
+
// ...this.model.options.textQuote ? ['blockquote'] : [],
|
|
31
|
+
...this.settings?.options.textImage ? ['image'] : [],
|
|
32
|
+
...this.settings?.options.textTable ? ['table'] : [],
|
|
33
|
+
...this.settings?.options.textVideo ? ['video'] : [],
|
|
34
|
+
...this.settings?.options.textSource ? ['source'] : [],
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputTextareaComponent, selector: "app-input-textarea", usesInheritance: true, ngImport: i0, template: "@if (settings) {\r\n <div class=\"input-textarea-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n @if (!settings.options.editor) {\r\n <mrx-input-textarea\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [rows]=\"2\"\r\n [autosize]=\"true\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.min || 0\"\r\n [maxlength]=\"settings.options.max || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-textarea>\r\n } @else {\r\n <mrx-editor\r\n [(ngModel)]=\"model.value\"\r\n [readonly]=\"false\"\r\n [fields]=\"autosaveFields\"\r\n [toolbar]=\"config\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-editor>\r\n }\r\n </div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }, { kind: "component", type: i1.EditorComponent, selector: "mrx-editor", inputs: ["fields", "toolbar", "maxLength", "minHeight", "customClasses", "placeholder", "disabled", "readonly", "iframe", "defaultInlineStyle", "config", "editHTMLDocumentMode", "defaultMode", "invalid", "invalidMessage", "checkInvalid"], outputs: ["changed", "modelChange"] }, { kind: "component", type: i1.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTextareaComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{ selector: 'app-input-textarea', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-textarea-content\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n [customClasses]=\"'mt-2'\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n @if (!settings.options.editor) {\r\n <mrx-input-textarea\r\n [(ngModel)]=\"model.value\"\r\n [fields]=\"autosaveFields\"\r\n [rows]=\"2\"\r\n [autosize]=\"true\"\r\n [readonly]=\"false\"\r\n [placeholder]=\"settings.options.placeholder || ''\"\r\n [mask]=\"settings.options.mask || ''\"\r\n [minlength]=\"settings.options.min || 0\"\r\n [maxlength]=\"settings.options.max || 0\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-input-textarea>\r\n } @else {\r\n <mrx-editor\r\n [(ngModel)]=\"model.value\"\r\n [readonly]=\"false\"\r\n [fields]=\"autosaveFields\"\r\n [toolbar]=\"config\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n (modelChange)=\"dispatchModify($event)\"\r\n ></mrx-editor>\r\n }\r\n </div>\r\n}\r\n" }]
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGV4dGFyZWEvaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGV4dGFyZWEvaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUXpELE1BQU0sT0FBTyxzQkFDWCxTQUFRLGtCQUF5RjtJQVBuRzs7UUFVRSxTQUFJLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUU1QixXQUFNLEdBQVE7WUFDbkIsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO0tBeUJIO0lBdkJVLFdBQVc7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2RCxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEQsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RELEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwRCxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDM0YsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFELEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0RCxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEQseURBQXlEO2dCQUN6RCxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDcEQsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwRCxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUN2RDtTQUNGLENBQUM7SUFDSixDQUFDOytHQWhDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpRkNibkMsbzBDQXdDQTs7NEZEM0JhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGNvcmUvZW51bXMnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICdAb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9iYXNlJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0YXJlYU1vZGVsIH0gZnJvbSAnQG9iamVjdC1mb3JtL21vZGVscy9lbGVtZXRzL2lucHV0cyc7XHJcbmltcG9ydCB7IElucHV0RWRpdG9yVmFsdWVXaXRoSWQsIElucHV0VGV4dGFyZWFWYWx1ZVdpdGhJZCB9IGZyb20gJ0BteXJ0ZXgtb3JnL3VpJztcclxuaW1wb3J0IHsgZGVmYXVsdFZhbHVlTW9kZWwgfSBmcm9tICdAb2JqZWN0LWZvcm0vaGVscGVycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC10ZXh0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRhcmVhQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBCYXNlRmllbGRDb21wb25lbnQ8SW5wdXRUZXh0YXJlYU1vZGVsLCBJbnB1dEVkaXRvclZhbHVlV2l0aElkIHwgSW5wdXRUZXh0YXJlYVZhbHVlV2l0aElkPlxyXG4gIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICB0eXBlID0gQ29tcG9uZW50VHlwZS5JbnB1dFRleHRhcmVhO1xyXG5cclxuICBwdWJsaWMgY29uZmlnOiBhbnkgPSB7XHJcbiAgICBidXR0b25zOiBbXVxyXG4gIH07XHJcblxyXG4gIG92ZXJyaWRlIF9jdXN0b21Jbml0KCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IHRoaXMubW9kZWwgfHwgZGVmYXVsdFZhbHVlTW9kZWwodGhpcy5zZXR0aW5ncyk7XHJcblxyXG4gICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAuLi50aGlzLnNldHRpbmdzPy5vcHRpb25zLnRleHRUeXBlID8gWydwYXJhZ3JhcGgnXSA6IFtdLFxyXG4gICAgICAgIC4uLnRoaXMuc2V0dGluZ3M/Lm9wdGlvbnMudGV4dEZhbWlseSA/IFsnZm9udCddIDogW10sXHJcbiAgICAgICAgLi4udGhpcy5zZXR0aW5ncz8ub3B0aW9ucy50ZXh0U2l6ZSA/IFsnZm9udHNpemUnXSA6IFtdLFxyXG4gICAgICAgIC4uLnRoaXMuc2V0dGluZ3M/Lm9wdGlvbnMudGV4dENvbG9yID8gWydicnVzaCddIDogW10sXHJcbiAgICAgICAgLi4udGhpcy5zZXR0aW5ncz8ub3B0aW9ucy50ZXh0U3R5bGUgPyBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZScsICdzdHJpa2V0aHJvdWdoJ10gOiBbXSxcclxuICAgICAgICAuLi50aGlzLnNldHRpbmdzPy5vcHRpb25zLnRleHRBbGlnbiA/IFt7bmFtZTogJ2xlZnQnLCBsaXN0OiBbJ2xlZnQnLCAncmlnaHQnLCAnY2VudGVyJywgJ2p1c3RpZnknXX1dIDogW10sXHJcbiAgICAgICAgLi4udGhpcy5zZXR0aW5ncz8ub3B0aW9ucy50ZXh0SGVpZ2h0ID8gWydsaW5lSGVpZ2h0J10gOiBbXSxcclxuICAgICAgICAuLi50aGlzLnNldHRpbmdzPy5vcHRpb25zLnRleHRNYXJnaW4gPyBbJ2luZGVudCcsICdvdXRkZW50J10gOiBbXSxcclxuICAgICAgICAuLi50aGlzLnNldHRpbmdzPy5vcHRpb25zLnRleHRMaXN0ID8gWydvbCcsICd1bCddIDogW10sXHJcbiAgICAgICAgLi4udGhpcy5zZXR0aW5ncz8ub3B0aW9ucy50ZXh0TGluayA/IFsnbGluayddIDogW10sXHJcbiAgICAgICAgLy8gLi4udGhpcy5tb2RlbC5vcHRpb25zLnRleHRRdW90ZSA/IFsnYmxvY2txdW90ZSddIDogW10sXHJcbiAgICAgICAgLi4udGhpcy5zZXR0aW5ncz8ub3B0aW9ucy50ZXh0SW1hZ2UgPyBbJ2ltYWdlJ10gOiBbXSxcclxuICAgICAgICAuLi50aGlzLnNldHRpbmdzPy5vcHRpb25zLnRleHRUYWJsZSA/IFsndGFibGUnXSA6IFtdLFxyXG4gICAgICAgIC4uLnRoaXMuc2V0dGluZ3M/Lm9wdGlvbnMudGV4dFZpZGVvID8gWyd2aWRlbyddIDogW10sXHJcbiAgICAgICAgLi4udGhpcy5zZXR0aW5ncz8ub3B0aW9ucy50ZXh0U291cmNlID8gWydzb3VyY2UnXSA6IFtdLFxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKHNldHRpbmdzKSB7XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LXRleHRhcmVhLWNvbnRlbnRcIj5cclxuICAgIEBpZiAoc2V0dGluZ3Mub3B0aW9ucy5sYWJlbCkge1xyXG4gICAgICA8bXJ4LWxhYmVsXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cInNldHRpbmdzLm9wdGlvbnMucmVxdWlyZWRcIlxyXG4gICAgICAgIFt0b29sdGlwXT1cInNldHRpbmdzLm9wdGlvbnMudG9vbHRpcCB8fCAnJ1wiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ210LTInXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHNldHRpbmdzLm9wdGlvbnMubGFiZWwgfX1cclxuICAgICAgPC9tcngtbGFiZWw+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICghc2V0dGluZ3Mub3B0aW9ucy5lZGl0b3IpIHtcclxuICAgICAgPG1yeC1pbnB1dC10ZXh0YXJlYVxyXG4gICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwudmFsdWVcIlxyXG4gICAgICAgIFtmaWVsZHNdPVwiYXV0b3NhdmVGaWVsZHNcIlxyXG4gICAgICAgIFtyb3dzXT1cIjJcIlxyXG4gICAgICAgIFthdXRvc2l6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZXR0aW5ncy5vcHRpb25zLnBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgICBbbWFza109XCJzZXR0aW5ncy5vcHRpb25zLm1hc2sgfHwgJydcIlxyXG4gICAgICAgIFttaW5sZW5ndGhdPVwic2V0dGluZ3Mub3B0aW9ucy5taW4gfHwgMFwiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJzZXR0aW5ncy5vcHRpb25zLm1heCB8fCAwXCJcclxuICAgICAgICBbaW52YWxpZF09XCJnZXRJbnZhbGlkXCJcclxuICAgICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZ2V0SW52YWxpZE1lc3NhZ2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkaXNwYXRjaE1vZGlmeSgkZXZlbnQpXCJcclxuICAgICAgPjwvbXJ4LWlucHV0LXRleHRhcmVhPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxtcngtZWRpdG9yXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC52YWx1ZVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICBbZmllbGRzXT1cImF1dG9zYXZlRmllbGRzXCJcclxuICAgICAgICBbdG9vbGJhcl09XCJjb25maWdcIlxyXG4gICAgICAgIFtpbnZhbGlkXT1cImdldEludmFsaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkTWVzc2FnZV09XCJnZXRJbnZhbGlkTWVzc2FnZVwiXHJcbiAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImRpc3BhdGNoTW9kaWZ5KCRldmVudClcIlxyXG4gICAgICA+PC9tcngtZWRpdG9yPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|