@beinformed/ui 1.63.2 → 1.63.4
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/CHANGELOG.md +15 -0
- package/esm/constants/Settings.js +3 -14
- package/esm/constants/Settings.js.map +1 -1
- package/esm/exceptions/NotFoundException.js +1 -2
- package/esm/exceptions/NotFoundException.js.map +1 -1
- package/esm/hooks/useI18n.js +1 -6
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js +3 -4
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js +10 -30
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModularUI.js +4 -5
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js +7 -8
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/i18n/Locale.js +2 -5
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js +2 -5
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js +9 -10
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/withMessage.js +1 -6
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/models/actions/ActionCollection.js +3 -6
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js +1 -4
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +2 -2
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js +4 -14
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js +1 -2
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js +1 -5
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/CaptchaAttributeModel.js +2 -2
- package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +1 -3
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js +3 -9
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js +2 -8
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js +2 -2
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js +2 -2
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js +1 -2
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js +1 -2
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -4
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -6
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -4
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -2
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/base/BaseCollection.js +1 -2
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js +6 -9
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js +1 -2
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +2 -2
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js +1 -2
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js +1 -3
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js +1 -4
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js +1 -3
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js +1 -4
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js +7 -3
- package/esm/models/concepts/SourceReferenceModel.js.flow +6 -0
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +1 -3
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js +2 -2
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js +1 -2
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/error/ErrorModel.js +1 -3
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js +1 -4
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/form/FormModel.js +3 -9
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +2 -4
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/href/Href.js +3 -6
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/href/ListHref.js +1 -2
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js +3 -10
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js +6 -15
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/list/ListModel.js +2 -2
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCategoryCollection.js +1 -2
- package/esm/models/modelcatalog/ModelCategoryCollection.js.map +1 -1
- package/esm/models/parameter/Parameter.js +2 -4
- package/esm/models/parameter/Parameter.js.map +1 -1
- package/esm/models/resolveModel.js +1 -2
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js +1 -2
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/user/UserServicesModel.js +2 -2
- package/esm/models/user/UserServicesModel.js.map +1 -1
- package/esm/modularui/Authenticate.js +4 -6
- package/esm/modularui/Authenticate.js.flow +6 -6
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +1 -2
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/react/ErrorBoundary.js +2 -2
- package/esm/react/ErrorBoundary.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.js +13 -16
- package/esm/react/ErrorBoundaryFallback.js.map +1 -1
- package/esm/react/utils.js +1 -3
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/Init.js +20 -23
- package/esm/react-client/Init.js.map +1 -1
- package/esm/react-client/client.js +9 -13
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +9 -10
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js +7 -8
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/serverNoSSR.js +11 -12
- package/esm/react-server/serverNoSSR.js.map +1 -1
- package/esm/react-server/serverSSR.js +11 -12
- package/esm/react-server/serverSSR.js.map +1 -1
- package/esm/react-server/serverUtil.js +1 -3
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/ThemeProvider.js +7 -11
- package/esm/react-theme/ThemeProvider.js.map +1 -1
- package/esm/react-theme/createTheme.js +3 -10
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/utils/background.js +3 -4
- package/esm/react-theme/utils/background.js.map +1 -1
- package/esm/react-theme/utils/colors.js +7 -16
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js +11 -19
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js +10 -16
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js +15 -38
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js +7 -22
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js +5 -8
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js +19 -23
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js +4 -5
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js +14 -19
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js +1 -2
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js +1 -2
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/RouterReducer.js +1 -3
- package/esm/redux/_router/RouterReducer.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js +34 -37
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js +1 -2
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/Preferences.js +8 -15
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/connectors/CaseView.js +3 -6
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js +4 -7
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js +3 -6
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js +4 -7
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js +5 -8
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js +4 -5
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js +5 -8
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js +3 -6
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js +3 -6
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js +5 -6
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js +3 -6
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/Tab.js +3 -6
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js +1 -3
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js +1 -3
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js +1 -3
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/ModelCatalogReducer.js +1 -3
- package/esm/redux/reducers/ModelCatalogReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js +1 -3
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js +1 -3
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js +1 -3
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js +1 -3
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/utils/browser/Cache.js +1 -5
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js +45 -91
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/xhr.js +1 -2
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/repositoryResource.js +1 -3
- package/esm/utils/helpers/repositoryResource.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js +3 -4
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/number/DecimalFormat.js +1 -2
- package/esm/utils/number/DecimalFormat.js.map +1 -1
- package/esm/utils/number/formatValue.js +1 -4
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js +2 -6
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/constants/Settings.js +3 -14
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/NotFoundException.js +1 -2
- package/lib/exceptions/NotFoundException.js.map +1 -1
- package/lib/hooks/useI18n.js +1 -6
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js +3 -4
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js +10 -30
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModularUI.js +4 -5
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js +7 -8
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/i18n/Locale.js +2 -5
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js +2 -5
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js +9 -10
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/withMessage.js +1 -6
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/models/actions/ActionCollection.js +3 -6
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js +1 -4
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +2 -2
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js +4 -14
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js +1 -2
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js +1 -5
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js +2 -2
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +1 -3
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js +3 -9
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js +2 -8
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js +2 -2
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js +2 -2
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js +1 -2
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js +1 -2
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -4
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -6
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -4
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -2
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/base/BaseCollection.js +1 -2
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js +6 -9
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js +1 -2
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +2 -2
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +1 -2
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js +1 -3
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js +1 -4
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js +1 -3
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js +1 -4
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js +7 -3
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +1 -3
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js +2 -2
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js +1 -2
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/error/ErrorModel.js +1 -3
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js +1 -4
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/form/FormModel.js +3 -9
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +2 -4
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/href/Href.js +3 -6
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js +1 -2
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js +3 -10
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js +6 -15
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/list/ListModel.js +2 -2
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCategoryCollection.js +1 -2
- package/lib/models/modelcatalog/ModelCategoryCollection.js.map +1 -1
- package/lib/models/parameter/Parameter.js +2 -4
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/resolveModel.js +1 -2
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js +1 -2
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js +2 -2
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js +4 -6
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +1 -2
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/react/ErrorBoundary.js +2 -2
- package/lib/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js +13 -16
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react/utils.js +1 -3
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/Init.js +20 -23
- package/lib/react-client/Init.js.map +1 -1
- package/lib/react-client/client.js +9 -13
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js +9 -10
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js +7 -8
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/serverNoSSR.js +11 -12
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js +11 -12
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js +1 -3
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js +7 -11
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js +3 -10
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js +3 -4
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js +7 -16
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js +11 -19
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js +10 -16
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js +15 -38
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js +7 -22
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js +5 -8
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUIActions.js +19 -23
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js +4 -5
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js +14 -19
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js +1 -2
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js +1 -2
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/RouterReducer.js +1 -3
- package/lib/redux/_router/RouterReducer.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js +34 -37
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js +1 -2
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/Preferences.js +8 -15
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/connectors/CaseView.js +3 -6
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js +4 -7
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js +3 -6
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js +4 -7
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js +5 -8
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js +4 -5
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js +5 -8
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js +3 -6
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js +3 -6
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js +5 -6
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js +3 -6
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/Tab.js +3 -6
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js +1 -3
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js +1 -3
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js +1 -3
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/ModelCatalogReducer.js +1 -3
- package/lib/redux/reducers/ModelCatalogReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js +1 -3
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js +1 -3
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js +1 -3
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/store/beforeRenderHooks.js +1 -3
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/utils/browser/Cache.js +1 -5
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js +45 -91
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/xhr.js +1 -2
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/repositoryResource.js +1 -3
- package/lib/utils/helpers/repositoryResource.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js +3 -4
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js +1 -2
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/formatValue.js +1 -4
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js +2 -6
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +23 -23
- package/src/models/concepts/SourceReferenceModel.js +6 -0
- package/src/modularui/Authenticate.js +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionModel.js","names":["_objects","require","_ProcessStatusSettingsModel","_interopRequireDefault","_AttributeCollection","_BaseModel","_Href","_constants","ActionModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_fieldCollection","AttributeCollection","fields","isReadonly","createFromHref","name","href","label","type","
|
|
1
|
+
{"version":3,"file":"ActionModel.js","names":["_objects","require","_ProcessStatusSettingsModel","_interopRequireDefault","_AttributeCollection","_BaseModel","_Href","_constants","ActionModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_fieldCollection","AttributeCollection","fields","isReadonly","createFromHref","name","href","label","type","origin","contextPath","isDisabled","selfhref","_href","Href","querystring","method","getData","HTTP_METHODS","POST","layouthint","has","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","getContribution","all","fieldCollection","_context","_context2","_map","_filter","call","attribute","value","join","getFieldByKey","key","getAttributeByKey","hasFieldByKey","isProcessTask","processStatus","ProcessStatusSettingsModel","icon","_icon","exports"],"sources":["../../../src/models/actions/ActionModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\n\nimport {\n HTTP_METHODS,\n CREATE_ACTION,\n UPDATE_ACTION,\n DELETE_ACTION,\n} from \"../../constants\";\n\nimport type { AttributeType, ModelOptions } from \"../types\";\n\n/**\n * Defines an Action. For instance an action on the tab 'books', which leads to a form\n */\nexport default class ActionModel extends BaseModel {\n _fieldCollection: AttributeCollection;\n _href: Href;\n _icon: string;\n\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._fieldCollection = new AttributeCollection(\n this.data.fields,\n this.contributions.fields,\n { ...modelOptions, isReadonly: false },\n );\n }\n\n /**\n */\n static createFromHref(\n name: string,\n href: string,\n label: string,\n type: string = \"form\",\n origin?: string,\n contextPath?: string,\n ): ActionModel {\n const data = { name, href };\n const contributions = { name, label: label ?? name, type };\n return new ActionModel(data, contributions, { origin, contextPath });\n }\n\n /**\n */\n get isDisabled(): boolean {\n return this.data.href == null;\n }\n\n /**\n * retrieve href of action\n */\n get selfhref(): Href {\n return (\n this._href ??\n new Href(\n `${this.data.href}?${this.querystring}`,\n \"Form\",\n this.modelOptions,\n )\n );\n }\n\n /**\n */\n set selfhref(href: Href) {\n this._href = href;\n }\n\n /**\n * retrieve request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.getData(\"method\", HTTP_METHODS.POST);\n }\n\n /**\n * Retrieve type of method\n */\n get type(): string {\n if (this.layouthint.has(CREATE_ACTION)) {\n return \"create\";\n }\n if (this.layouthint.has(UPDATE_ACTION)) {\n return \"update\";\n }\n if (this.layouthint.has(DELETE_ACTION)) {\n return \"delete\";\n }\n\n return this.getContribution(\"type\", \"general\");\n }\n\n /**\n * Retrieve name of action\n */\n get name(): string {\n return this.getData(\"name\", \"unknown\");\n }\n\n /**\n * retrieve the collection of field attributes as an array\n */\n get fields(): Array<AttributeType> {\n return this._fieldCollection.all;\n }\n\n /**\n * Retrieve the field collection\n */\n get fieldCollection(): AttributeCollection {\n return this._fieldCollection;\n }\n\n /**\n */\n set fieldCollection(fieldCollection: AttributeCollection) {\n this._fieldCollection = fieldCollection;\n }\n\n /**\n * Retrieve querystring of action\n */\n get querystring(): string {\n return this.fields\n .filter((attribute) => attribute.value != null && attribute.value !== \"\")\n .map((attribute) => {\n const { value } = attribute;\n if (value !== null) {\n return `${attribute.name}=${value}`;\n }\n return attribute.name;\n })\n .join(\"&\");\n }\n\n /**\n * Retrieve a field by it's key\n */\n getFieldByKey(key: string): AttributeType | null {\n return this._fieldCollection.getAttributeByKey(key);\n }\n\n /**\n * Indicates if field exists by the given key\n */\n hasFieldByKey(key: string): boolean {\n return this.getFieldByKey(key) !== null;\n }\n\n /**\n * Getting the key/name of this action\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Getting the label of the action\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n */\n get isProcessTask(): boolean {\n return has(this.contributions, \"processTask\");\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.isProcessTask) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processTask\", {}),\n this.modelOptions,\n );\n }\n\n return null;\n }\n\n /**\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,8 +17,8 @@ var _constants = require("../../constants");
|
|
|
17
17
|
* The Application model
|
|
18
18
|
*/
|
|
19
19
|
class ApplicationModel extends _ResourceModel.default {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...
|
|
20
|
+
constructor(...args) {
|
|
21
|
+
super(...args);
|
|
22
22
|
(0, _defineProperty2.default)(this, "_userServices", void 0);
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationModel.js","names":["_ResourceModel","_interopRequireDefault","require","_LinkModel","_UserServicesModel","_exceptions","_constants","ApplicationModel","ResourceModel","constructor","
|
|
1
|
+
{"version":3,"file":"ApplicationModel.js","names":["_ResourceModel","_interopRequireDefault","require","_LinkModel","_UserServicesModel","_exceptions","_constants","ApplicationModel","ResourceModel","constructor","args","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userService","links","getLinkByKey","href","path","NotAllowedUriException","setChildModels","models","userServiceModel","_find","call","model","userServices","label","getContribution","authenticationTypes","DEFAULT_AUTHENTICATION_TYPE","_context","Function","bind","_sort","a","b","isPrimary","tabs","getLinksByGroup","modelcatalog","LinkModel","create","modelOptions","_userServices","UserServicesModel","isLoggedIn","userHref","userLink","userMustChangePassword","mustChangePassword","exports"],"sources":["../../../src/models/application/ApplicationModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport UserServicesModel from \"../user/UserServicesModel\";\n\nimport { NotAllowedUriException } from \"../../exceptions\";\n\nimport { DEFAULT_AUTHENTICATION_TYPE } from \"../../constants\";\n\nimport type { ModularUIModel, AuthenticationType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type Href from \"../href/Href\";\n\n/**\n * The Application model\n */\nexport default class ApplicationModel extends ResourceModel {\n _userServices: ?UserServicesModel;\n\n /**\n * Retrieve type of model\n */\n get type(): string {\n return \"Application\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ApplicationModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"Application\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userService = this.links.getLinkByKey(\"UserServices\");\n if (userService && userService.href.path === \"/login\") {\n throw new NotAllowedUriException(\n \"The user service (Login panel) should not have the uri '/login', use a different URI because this uri matches the login service.\",\n );\n }\n\n return userService ? [userService] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const userServiceModel = models.find(\n (model) => model.type === \"UserServices\",\n );\n\n if (userServiceModel) {\n this.userServices = userServiceModel;\n }\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the authentication types of the application\n */\n get authenticationTypes(): Array<AuthenticationType> {\n const authenticationTypes = this.getContribution(\"security\", [\n DEFAULT_AUTHENTICATION_TYPE,\n ]);\n\n if (authenticationTypes) {\n //put primary first\n return authenticationTypes?.sort(\n (a: AuthenticationType, b: AuthenticationType) =>\n a.isPrimary === b.isPrimary ? 0 : a.isPrimary ? -1 : 1,\n );\n }\n\n return [DEFAULT_AUTHENTICATION_TYPE];\n }\n\n /**\n * Getting the tab links\n */\n get tabs(): LinkCollection {\n return this.links.getLinksByGroup(\"tab\");\n }\n\n /**\n * Get modelcatalog link\n */\n get modelcatalog(): LinkModel {\n return LinkModel.create(\n \"modelcatalog\",\n \"/modelcatalog\",\n \"Model catalog\",\n this.modelOptions,\n );\n }\n\n /**\n * Set the userservices for this application\n */\n set userServices(model: ?ModularUIModel) {\n this._userServices = model instanceof UserServicesModel ? model : null;\n }\n\n /**\n * returns the userservices configured for this application\n */\n get userServices(): ?UserServicesModel {\n return this._userServices ? this._userServices : null;\n }\n\n /**\n * Indicates if the user is logged in\n */\n get isLoggedIn(): boolean {\n return this.userServices?.isLoggedIn ?? false;\n }\n\n /**\n * Retrieve link to the user information,\n * only available when the user services are available\n */\n get userHref(): Href | null {\n if (this.userServices?.userLink) {\n return this.userServices.userLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get userMustChangePassword(): boolean {\n return this.userServices?.mustChangePassword ?? false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,10 +21,7 @@ var _exceptions = require("../../exceptions");
|
|
|
21
21
|
* Collection of attributes
|
|
22
22
|
*/
|
|
23
23
|
class AttributeCollection extends _ResourceCollection.default {
|
|
24
|
-
constructor() {
|
|
25
|
-
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
26
|
-
let contributions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
27
|
-
let modelOptions = arguments.length > 2 ? arguments[2] : undefined;
|
|
24
|
+
constructor(data = {}, contributions = [], modelOptions) {
|
|
28
25
|
super();
|
|
29
26
|
if (contributions) {
|
|
30
27
|
contributions.forEach(contribution => {
|
|
@@ -135,11 +132,8 @@ class AttributeCollection extends _ResourceCollection.default {
|
|
|
135
132
|
/**
|
|
136
133
|
* Getting the first attribute having the supplied layout hint
|
|
137
134
|
*/
|
|
138
|
-
getAttributeByLayoutHint() {
|
|
135
|
+
getAttributeByLayoutHint(...hints) {
|
|
139
136
|
var _context6;
|
|
140
|
-
for (var _len = arguments.length, hints = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
141
|
-
hints[_key] = arguments[_key];
|
|
142
|
-
}
|
|
143
137
|
return (0, _find.default)(_context6 = this).call(_context6, attribute => attribute.layouthint.has(...hints)) || null;
|
|
144
138
|
}
|
|
145
139
|
|
|
@@ -154,11 +148,8 @@ class AttributeCollection extends _ResourceCollection.default {
|
|
|
154
148
|
/**
|
|
155
149
|
* Getting all attributes having the supplied layout hint
|
|
156
150
|
*/
|
|
157
|
-
getAttributesByLayoutHint() {
|
|
151
|
+
getAttributesByLayoutHint(...hints) {
|
|
158
152
|
var _context7;
|
|
159
|
-
for (var _len2 = arguments.length, hints = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
160
|
-
hints[_key2] = arguments[_key2];
|
|
161
|
-
}
|
|
162
153
|
return (0, _filter.default)(_context7 = this).call(_context7, attribute => attribute.layouthint.has(...hints));
|
|
163
154
|
}
|
|
164
155
|
|
|
@@ -256,9 +247,8 @@ class AttributeCollection extends _ResourceCollection.default {
|
|
|
256
247
|
|
|
257
248
|
/**
|
|
258
249
|
*/
|
|
259
|
-
getFormData() {
|
|
250
|
+
getFormData(validationData = false) {
|
|
260
251
|
var _context9, _context0;
|
|
261
|
-
let validationData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
262
252
|
const attributesFormData = (0, _map.default)(_context9 = (0, _filter.default)(_context0 = this.attributes).call(_context0, attribute => attribute.formdata !== null && !attribute.readonly && (!validationData || attribute.hasDynamicValidationData))).call(_context9, attribute => {
|
|
263
253
|
// make attribute empty when it is not (or no longer) visible
|
|
264
254
|
if (attribute.isVisible) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeCollection.js","names":["_objects","require","_ResourceCollection","_interopRequireDefault","_createAttribute","_ChoiceAttributeModel","_CompositeAttributeModel","_ContentConfiguration","_exceptions","AttributeCollection","ResourceCollection","constructor","data","arguments","length","undefined","contributions","modelOptions","forEach","contribution","key","_keys","default","attribute","createAttribute","origin","contextPath","isReadonly","has","readonly","collection","push","processLayoutHintRules","attributes","all","visible","_context","_filter","call","isHidden","questions","_context2","isResult","results","_context3","getAttributeByAttribute","_context4","_find","attr","equals","CompositeAttributeModel","getChildByAttribute","getAttributeByKey","_context5","getChildByKey","hasAttributeByKey","getAttributeByLayoutHint","_context6","_len","hints","Array","_key","layouthint","getChoiceAttributeByLayoutHint","layoutHint","ChoiceAttributeModel","getAttributesByLayoutHint","_context7","_len2","_key2","replace","oldAttribute","newAttribute","replaceByKey","index","setReferenceDate","date","clone","referenceDate","hasServerErrors","some","addServerError","error","elementid","anchor","ConfigurationException","hasErrors","updateValidations","errors","_context8","hasDynamicValidationData","attributeErrors","compositeChildErrors","elementId","_startsWith","children","indicateContentConfiguration","contentConfiguration","formdata","getFormData","_context9","_context0","validationData","attributesFormData","_map","isVisible","getEmptyFormData","attributeFormData","_default","exports"],"sources":["../../../src/models/attributes/AttributeCollection.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceCollection from \"../base/ResourceCollection\";\n\nimport createAttribute from \"./_createAttribute\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\n\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\n\nimport { ConfigurationException } from \"../../exceptions\";\n\nimport type { AttributeType, FormErrorAnchor, ModelOptions } from \"../types\";\n\ntype AttributeCollectionOptions = {\n ...ModelOptions,\n isReadonly: boolean,\n};\n\n/**\n * Collection of attributes\n */\nclass AttributeCollection extends ResourceCollection<AttributeType> {\n constructor(\n data: Object | Array<Object> = {},\n contributions: Array<Object> = [],\n modelOptions?: AttributeCollectionOptions,\n ) {\n super();\n\n if (contributions) {\n contributions.forEach((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attribute = createAttribute(key, data, contribution[key], {\n origin: modelOptions?.origin,\n contextPath: modelOptions?.contextPath,\n });\n\n if (attribute !== null) {\n // when readonly is not explicitly set in the contributions, follow argument\n if (modelOptions?.isReadonly && !has(contribution[key], \"readonly\")) {\n attribute.readonly = true;\n }\n\n this.collection.push(attribute);\n }\n });\n\n this.processLayoutHintRules();\n }\n }\n\n /**\n * Retrieve all attributes in this collection<br>\n * This getter processes layout hints, this is different from the standard {@link BaseCollection#all} property\n * @returns {Array<AttributeType>}\n */\n get attributes(): Array<AttributeType> {\n this.processLayoutHintRules();\n return this.all;\n }\n\n /**\n * Replace attributes with a new array of attributes\n */\n set attributes(attributes: Array<AttributeType>) {\n this.collection = attributes;\n }\n\n /**\n */\n processLayoutHintRules(): void {\n this.all.forEach((attribute) => {\n attribute.processLayoutHintRules(this);\n });\n }\n\n /**\n * Retrieve only visible attributes from the collection\n */\n get visible(): Array<AttributeType> {\n // Let flow know that this is a AttributeCollection\n if (this instanceof AttributeCollection) {\n return this.attributes.filter((attribute) => !attribute.isHidden);\n }\n\n return [];\n }\n\n /**\n */\n get questions(): Array<AttributeType> {\n return this.visible.filter((attribute) => !attribute.isResult);\n }\n\n /**\n */\n get results(): Array<AttributeType> {\n return this.visible.filter((attribute) => attribute.isResult);\n }\n\n /**\n */\n getAttributeByAttribute(attribute: AttributeType): AttributeType | null {\n return this.find((attr) => {\n if (attr.equals(attribute)) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n * Get a single attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this.find((attribute) => {\n if (attribute.key === key) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByKey(key);\n }\n\n return false;\n });\n }\n\n /**\n * Indicates if attribute with key exists in collection\n */\n hasAttributeByKey(key: string): boolean {\n return this.getAttributeByKey(key) !== null;\n }\n\n /**\n * Getting the first attribute having the supplied layout hint\n */\n getAttributeByLayoutHint(...hints: Array<string>): AttributeType | null {\n return this.find((attribute) => attribute.layouthint.has(...hints)) || null;\n }\n\n /**\n * Getting a choice attribute by layouthint, returns null when not found or not a choice attribute\n */\n getChoiceAttributeByLayoutHint(\n layoutHint: string,\n ): ChoiceAttributeModel | null {\n const attribute = this.getAttributeByLayoutHint(layoutHint);\n\n return attribute instanceof ChoiceAttributeModel ? attribute : null;\n }\n\n /**\n * Getting all attributes having the supplied layout hint\n */\n getAttributesByLayoutHint(...hints: Array<string>): Array<AttributeType> {\n return this.filter((attribute) => attribute.layouthint.has(...hints));\n }\n\n /**\n * Replace an attribute instance in the collection with a new attribute instance\n */\n replace(oldAttribute: AttributeType, newAttribute: AttributeType): void {\n this.replaceByKey(oldAttribute.key, newAttribute);\n }\n\n /**\n * Replace an attribute by the key of the attribute\n */\n replaceByKey(key: string, newAttribute: AttributeType): void {\n this.forEach((attribute, index) => {\n if (attribute.key === key) {\n this.collection[index] = newAttribute;\n }\n });\n }\n\n /**\n * Set reference date by replacing an old attribute with a new attribute with a reference Date\n * Date is a string in ISO format yyyy-MM-dd\n */\n setReferenceDate(date: string): void {\n this.forEach((attribute) => {\n const newAttribute = attribute.clone();\n\n newAttribute.referenceDate = date;\n\n this.replace(attribute, newAttribute);\n });\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.collection.some((attribute) => attribute.hasServerErrors());\n }\n\n /**\n */\n addServerError(error: FormErrorAnchor): void {\n const elementid = error?.anchor?.elementid;\n\n if (elementid) {\n const attribute = this.getAttributeByKey(elementid);\n if (attribute) {\n attribute.addServerError(error);\n } else {\n throw new ConfigurationException(\n `Could not add error to missing attribute with id ${elementid}`,\n );\n }\n }\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.visible.some((attribute) => attribute.hasErrors());\n }\n\n /**\n */\n updateValidations(errors: Array<Object>): AttributeCollection {\n this.all\n .filter((attribute) => attribute.hasDynamicValidationData)\n .forEach((attribute) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === attribute.key,\n );\n attribute.updateValidations(attributeErrors);\n\n if (attribute instanceof CompositeAttributeModel) {\n const compositeChildErrors = errors.filter((error) => {\n const elementId = error.anchor?.elementid;\n return elementId && elementId.startsWith(`${attribute.key}.`);\n });\n\n attribute.children.updateValidations(\n `${attribute.key}.`,\n compositeChildErrors,\n );\n }\n });\n\n return this;\n }\n\n /**\n */\n indicateContentConfiguration(\n contentConfiguration: ContentConfiguration,\n ): void {\n if (contentConfiguration) {\n this.all.forEach((attribute) => {\n attribute.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n * Generate formdata object for current collection based on formdata of attributes\n * Skip attributes that are readonly, the confirmation password or null\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData(false);\n }\n\n /**\n */\n getFormData(validationData: boolean = false): { [string]: any } | null {\n const attributesFormData = this.attributes\n .filter(\n (attribute) =>\n attribute.formdata !== null &&\n !attribute.readonly &&\n (!validationData || attribute.hasDynamicValidationData),\n )\n .map((attribute) => {\n // make attribute empty when it is not (or no longer) visible\n if (attribute.isVisible) {\n return attribute.formdata;\n }\n\n return attribute.getEmptyFormData();\n });\n\n let data = {};\n attributesFormData.forEach((attributeFormData) => {\n // $FlowIgnore[cannot-spread-indexer]\n // $FlowIgnore[exponential-spread]\n data = {\n ...data,\n ...attributeFormData,\n };\n });\n\n return data;\n }\n}\n\nexport default AttributeCollection;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"AttributeCollection.js","names":["_objects","require","_ResourceCollection","_interopRequireDefault","_createAttribute","_ChoiceAttributeModel","_CompositeAttributeModel","_ContentConfiguration","_exceptions","AttributeCollection","ResourceCollection","constructor","data","contributions","modelOptions","forEach","contribution","key","_keys","default","attribute","createAttribute","origin","contextPath","isReadonly","has","readonly","collection","push","processLayoutHintRules","attributes","all","visible","_context","_filter","call","isHidden","questions","_context2","isResult","results","_context3","getAttributeByAttribute","_context4","_find","attr","equals","CompositeAttributeModel","getChildByAttribute","getAttributeByKey","_context5","getChildByKey","hasAttributeByKey","getAttributeByLayoutHint","hints","_context6","layouthint","getChoiceAttributeByLayoutHint","layoutHint","ChoiceAttributeModel","getAttributesByLayoutHint","_context7","replace","oldAttribute","newAttribute","replaceByKey","index","setReferenceDate","date","clone","referenceDate","hasServerErrors","some","addServerError","error","elementid","anchor","ConfigurationException","hasErrors","updateValidations","errors","_context8","hasDynamicValidationData","attributeErrors","compositeChildErrors","elementId","_startsWith","children","indicateContentConfiguration","contentConfiguration","formdata","getFormData","validationData","_context9","_context0","attributesFormData","_map","isVisible","getEmptyFormData","attributeFormData","_default","exports"],"sources":["../../../src/models/attributes/AttributeCollection.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceCollection from \"../base/ResourceCollection\";\n\nimport createAttribute from \"./_createAttribute\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\n\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\n\nimport { ConfigurationException } from \"../../exceptions\";\n\nimport type { AttributeType, FormErrorAnchor, ModelOptions } from \"../types\";\n\ntype AttributeCollectionOptions = {\n ...ModelOptions,\n isReadonly: boolean,\n};\n\n/**\n * Collection of attributes\n */\nclass AttributeCollection extends ResourceCollection<AttributeType> {\n constructor(\n data: Object | Array<Object> = {},\n contributions: Array<Object> = [],\n modelOptions?: AttributeCollectionOptions,\n ) {\n super();\n\n if (contributions) {\n contributions.forEach((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attribute = createAttribute(key, data, contribution[key], {\n origin: modelOptions?.origin,\n contextPath: modelOptions?.contextPath,\n });\n\n if (attribute !== null) {\n // when readonly is not explicitly set in the contributions, follow argument\n if (modelOptions?.isReadonly && !has(contribution[key], \"readonly\")) {\n attribute.readonly = true;\n }\n\n this.collection.push(attribute);\n }\n });\n\n this.processLayoutHintRules();\n }\n }\n\n /**\n * Retrieve all attributes in this collection<br>\n * This getter processes layout hints, this is different from the standard {@link BaseCollection#all} property\n * @returns {Array<AttributeType>}\n */\n get attributes(): Array<AttributeType> {\n this.processLayoutHintRules();\n return this.all;\n }\n\n /**\n * Replace attributes with a new array of attributes\n */\n set attributes(attributes: Array<AttributeType>) {\n this.collection = attributes;\n }\n\n /**\n */\n processLayoutHintRules(): void {\n this.all.forEach((attribute) => {\n attribute.processLayoutHintRules(this);\n });\n }\n\n /**\n * Retrieve only visible attributes from the collection\n */\n get visible(): Array<AttributeType> {\n // Let flow know that this is a AttributeCollection\n if (this instanceof AttributeCollection) {\n return this.attributes.filter((attribute) => !attribute.isHidden);\n }\n\n return [];\n }\n\n /**\n */\n get questions(): Array<AttributeType> {\n return this.visible.filter((attribute) => !attribute.isResult);\n }\n\n /**\n */\n get results(): Array<AttributeType> {\n return this.visible.filter((attribute) => attribute.isResult);\n }\n\n /**\n */\n getAttributeByAttribute(attribute: AttributeType): AttributeType | null {\n return this.find((attr) => {\n if (attr.equals(attribute)) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n * Get a single attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this.find((attribute) => {\n if (attribute.key === key) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByKey(key);\n }\n\n return false;\n });\n }\n\n /**\n * Indicates if attribute with key exists in collection\n */\n hasAttributeByKey(key: string): boolean {\n return this.getAttributeByKey(key) !== null;\n }\n\n /**\n * Getting the first attribute having the supplied layout hint\n */\n getAttributeByLayoutHint(...hints: Array<string>): AttributeType | null {\n return this.find((attribute) => attribute.layouthint.has(...hints)) || null;\n }\n\n /**\n * Getting a choice attribute by layouthint, returns null when not found or not a choice attribute\n */\n getChoiceAttributeByLayoutHint(\n layoutHint: string,\n ): ChoiceAttributeModel | null {\n const attribute = this.getAttributeByLayoutHint(layoutHint);\n\n return attribute instanceof ChoiceAttributeModel ? attribute : null;\n }\n\n /**\n * Getting all attributes having the supplied layout hint\n */\n getAttributesByLayoutHint(...hints: Array<string>): Array<AttributeType> {\n return this.filter((attribute) => attribute.layouthint.has(...hints));\n }\n\n /**\n * Replace an attribute instance in the collection with a new attribute instance\n */\n replace(oldAttribute: AttributeType, newAttribute: AttributeType): void {\n this.replaceByKey(oldAttribute.key, newAttribute);\n }\n\n /**\n * Replace an attribute by the key of the attribute\n */\n replaceByKey(key: string, newAttribute: AttributeType): void {\n this.forEach((attribute, index) => {\n if (attribute.key === key) {\n this.collection[index] = newAttribute;\n }\n });\n }\n\n /**\n * Set reference date by replacing an old attribute with a new attribute with a reference Date\n * Date is a string in ISO format yyyy-MM-dd\n */\n setReferenceDate(date: string): void {\n this.forEach((attribute) => {\n const newAttribute = attribute.clone();\n\n newAttribute.referenceDate = date;\n\n this.replace(attribute, newAttribute);\n });\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.collection.some((attribute) => attribute.hasServerErrors());\n }\n\n /**\n */\n addServerError(error: FormErrorAnchor): void {\n const elementid = error?.anchor?.elementid;\n\n if (elementid) {\n const attribute = this.getAttributeByKey(elementid);\n if (attribute) {\n attribute.addServerError(error);\n } else {\n throw new ConfigurationException(\n `Could not add error to missing attribute with id ${elementid}`,\n );\n }\n }\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.visible.some((attribute) => attribute.hasErrors());\n }\n\n /**\n */\n updateValidations(errors: Array<Object>): AttributeCollection {\n this.all\n .filter((attribute) => attribute.hasDynamicValidationData)\n .forEach((attribute) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === attribute.key,\n );\n attribute.updateValidations(attributeErrors);\n\n if (attribute instanceof CompositeAttributeModel) {\n const compositeChildErrors = errors.filter((error) => {\n const elementId = error.anchor?.elementid;\n return elementId && elementId.startsWith(`${attribute.key}.`);\n });\n\n attribute.children.updateValidations(\n `${attribute.key}.`,\n compositeChildErrors,\n );\n }\n });\n\n return this;\n }\n\n /**\n */\n indicateContentConfiguration(\n contentConfiguration: ContentConfiguration,\n ): void {\n if (contentConfiguration) {\n this.all.forEach((attribute) => {\n attribute.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n * Generate formdata object for current collection based on formdata of attributes\n * Skip attributes that are readonly, the confirmation password or null\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData(false);\n }\n\n /**\n */\n getFormData(validationData: boolean = false): { [string]: any } | null {\n const attributesFormData = this.attributes\n .filter(\n (attribute) =>\n attribute.formdata !== null &&\n !attribute.readonly &&\n (!validationData || attribute.hasDynamicValidationData),\n )\n .map((attribute) => {\n // make attribute empty when it is not (or no longer) visible\n if (attribute.isVisible) {\n return attribute.formdata;\n }\n\n return attribute.getEmptyFormData();\n });\n\n let data = {};\n attributesFormData.forEach((attributeFormData) => {\n // $FlowIgnore[cannot-spread-indexer]\n // $FlowIgnore[exponential-spread]\n data = {\n ...data,\n ...attributeFormData,\n };\n });\n\n return data;\n }\n}\n\nexport default AttributeCollection;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -90,8 +90,7 @@ class AttributeDataHelper {
|
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
*/
|
|
93
|
-
createChildren(data) {
|
|
94
|
-
let childrenKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
93
|
+
createChildren(data, childrenKeys = []) {
|
|
95
94
|
// Check if the original data explicitly contains the key and is explicitly null.
|
|
96
95
|
const keyExplicitlyNull = this.value === null;
|
|
97
96
|
if (keyExplicitlyNull) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeDataHelper.js","names":["_full","require","_pick","_interopRequireDefault","_objects","AttributeDataHelper","constructor","data","key","childrenKeys","_defineProperty2","default","_key","Array","isArray","_attribute","_find","call","attr","elementid","name","param","_value","getValue","attributeData","klona","_links","pick","undefined","_children","createChildren","childData","parentKey","childKey","elements","_context","element","has","isPlainObject","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","arguments","length","keyExplicitlyNull","value","_map","childrenIsArray","_context2","attribute","_values","suggestions","suggestion","options","_context3","_context4","_filter","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","_keys","getData","_context5","child","subChild","_default","exports"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>,\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key,\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = klona(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string,\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey,\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object,\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children,\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = [],\n ): Array<AttributeDataHelper> {\n // Check if the original data explicitly contains the key and is explicitly null.\n const keyExplicitlyNull = this.value === null;\n\n if (keyExplicitlyNull) {\n // Handling for when the value is explicitly null: set childData to null.\n return childrenKeys.map((keyObject) => {\n const childData = null;\n return this.createChild(data, childData, keyObject);\n });\n }\n\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n }),\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return undefined;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n const value = this.value === undefined ? null : this.value;\n return {\n key: this.key,\n value: value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData(),\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"AttributeDataHelper.js","names":["_full","require","_pick","_interopRequireDefault","_objects","AttributeDataHelper","constructor","data","key","childrenKeys","_defineProperty2","default","_key","Array","isArray","_attribute","_find","call","attr","elementid","name","param","_value","getValue","attributeData","klona","_links","pick","undefined","_children","createChildren","childData","parentKey","childKey","elements","_context","element","has","isPlainObject","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","keyExplicitlyNull","value","_map","childrenIsArray","_context2","attribute","_values","suggestions","suggestion","options","_context3","_context4","_filter","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","_keys","length","getData","_context5","child","subChild","_default","exports"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>,\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key,\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = klona(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string,\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey,\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object,\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children,\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = [],\n ): Array<AttributeDataHelper> {\n // Check if the original data explicitly contains the key and is explicitly null.\n const keyExplicitlyNull = this.value === null;\n\n if (keyExplicitlyNull) {\n // Handling for when the value is explicitly null: set childData to null.\n return childrenKeys.map((keyObject) => {\n const childData = null;\n return this.createChild(data, childData, keyObject);\n });\n }\n\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n }),\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return undefined;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n const value = this.value === undefined ? null : this.value;\n return {\n key: this.key,\n value: value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData(),\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":";;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,mBAAmB,CAAC;EAMxB;AACF;EACEC,WAAWA,CACTC,IAA4B,EAC5BC,GAAW,EACXC,YAA2B,EAC3B;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACA,IAAI,CAACC,IAAI,GAAGJ,GAAG;IAEf,IAAIK,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;MACvB,IAAI,CAACQ,UAAU,GACb,IAAAC,KAAA,CAAAL,OAAA,EAAAJ,IAAI,EAAAU,IAAA,CAAJV,IAAI,EACDW,IAAI,IACHA,IAAI,CAACC,SAAS,KAAKX,GAAG,IAAIU,IAAI,CAACE,IAAI,KAAKZ,GAAG,IAAIU,IAAI,CAACG,KAAK,KAAKb,GAClE,CAAC,IAAI,CAAC,CAAC;MACT,IAAI,CAACc,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACR,UAAU,CAAC;IAC9C,CAAC,MAAM;MACL,MAAMS,aAAa,GAAG,IAAAC,WAAK,EAAClB,IAAI,CAAC;MACjCiB,aAAa,CAACE,MAAM,GAAG,IAAAC,aAAI,EAACpB,IAAI,CAACmB,MAAM,EAAE,CACvC,SAAS,EACT,UAAU,EACV,eAAe,EACf,YAAY,CACb,CAAC;MAEF,IAAI,CAACX,UAAU,GAAGS,aAAa;MAE/B,IAAIjB,IAAI,CAACC,GAAG,CAAC,KAAKoB,SAAS,IAAK,MAAM,IAAIrB,IAAI,IAAI,OAAO,IAAIA,IAAK,EAAE;QAClE,IAAI,CAACe,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAChB,IAAI,CAAC;MACnC,CAAC,MAAM;QACL,IAAI,CAACe,MAAM,GAAGf,IAAI,CAACC,GAAG,CAAC;MACzB;IACF;IAEA,IAAI,CAACqB,SAAS,GAAG,IAAI,CAACC,cAAc,CAACvB,IAAI,EAAEE,YAAY,CAAC;EAC1D;;EAEA;AACF;EACEsB,SAASA,CACPxB,IAA4B,EAC5ByB,SAAiB,EACjBC,QAAgB,EACR;IACR,IAAIpB,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,EAAE;MACvB,IAAIM,KAAK,CAACC,OAAO,CAAC,IAAI,CAACC,UAAU,CAACmB,QAAQ,CAAC,EAAE;QAAA,IAAAC,QAAA;QAC3C,OAAO,IAAAnB,KAAA,CAAAL,OAAA,EAAAwB,QAAA,OAAI,CAACpB,UAAU,CAACmB,QAAQ,EAAAjB,IAAA,CAAAkB,QAAA,EAC5BC,OAAO,IAAKA,OAAO,CAACjB,SAAS,KAAKc,QACrC,CAAC;MACH;IACF,CAAC,MAAM,IAAI,IAAAI,YAAG,EAAC9B,IAAI,EAAEyB,SAAS,CAAC,IAAI,IAAAM,sBAAa,EAAC/B,IAAI,CAACyB,SAAS,CAAC,CAAC,EAAE;MACjE,MAAMO,UAAU,GAAGhC,IAAI,CAACyB,SAAS,CAAC;MAClC,IAAI,IAAAM,sBAAa,EAACC,UAAU,CAAC,IAAIhC,IAAI,CAACiC,OAAO,GAAGP,QAAQ,CAAC,EAAE;QACzD,OAAO;UAAE,GAAGM,UAAU;UAAEC,OAAO,EAAEjC,IAAI,CAACiC,OAAO,CAACP,QAAQ;QAAE,CAAC;MAC3D;MACA,OAAOM,UAAU;IACnB,CAAC,MAAM,IAAI,IAAAF,YAAG,EAAC9B,IAAI,EAAE0B,QAAQ,CAAC,IAAI,IAAAK,sBAAa,EAAC/B,IAAI,CAAC0B,QAAQ,CAAC,CAAC,EAAE;MAC/D,OAAO1B,IAAI,CAAC0B,QAAQ,CAAC;IACvB;IAEA,IAAI,IAAAK,sBAAa,EAAC/B,IAAI,CAAC,EAAE;MACvB,OAAOA,IAAI;IACb;IAEA,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEkC,WAAWA,CACTlC,IAA4B,EAC5BwB,SAAiB,EACjBW,SAAiB,EACI;IACrB,MAAMC,aAAa,GACjB,IAAAL,sBAAa,EAAC/B,IAAI,CAAC,IAAI,CAACM,KAAK,CAACC,OAAO,CAACP,IAAI,CAAC,GACvCA,IAAI,CAACoC,aAAa,GAClBf,SAAS;IAEf,IAAIgB,eAAe,GAAG,IAAI;IAC1B,IAAIF,SAAS,CAACE,eAAe,EAAE;MAC7BA,eAAe,GAAGF,SAAS,CAACE,eAAe;IAC7C,CAAC,MAAM,IACL,IAAAN,sBAAa,EAAC/B,IAAI,CAAC,IACnB,OAAOA,IAAI,CAACC,GAAG,KAAK,QAAQ,IAC5BkC,SAAS,CAAClC,GAAG,EACb;MACAoC,eAAe,GAAG,GAAGrC,IAAI,CAACC,GAAG,IAAIkC,SAAS,CAAClC,GAAG,EAAE;IAClD;IAEA,OAAO,IAAIH,mBAAmB,CAC5B;MACE,GAAG0B,SAAS;MACZY,aAAa;MACbC;IACF,CAAC,EACDF,SAAS,CAAClC,GAAG,EACbkC,SAAS,CAACG,QACZ,CAAC;EACH;;EAEA;AACF;EACEf,cAAcA,CACZvB,IAA4B,EAC5BE,YAA2B,GAAG,EAAE,EACJ;IAC5B;IACA,MAAMqC,iBAAiB,GAAG,IAAI,CAACC,KAAK,KAAK,IAAI;IAE7C,IAAID,iBAAiB,EAAE;MACrB;MACA,OAAO,IAAAE,IAAA,CAAArC,OAAA,EAAAF,YAAY,EAAAQ,IAAA,CAAZR,YAAY,EAAMiC,SAAS,IAAK;QACrC,MAAMX,SAAS,GAAG,IAAI;QACtB,OAAO,IAAI,CAACU,WAAW,CAAClC,IAAI,EAAEwB,SAAS,EAAEW,SAAS,CAAC;MACrD,CAAC,CAAC;IACJ;IAEA,MAAMO,eAAe,GAAGpC,KAAK,CAACC,OAAO,CAAC,IAAI,CAACiC,KAAK,CAAC;IAEjD,IAAIE,eAAe,EAAE;MAAA,IAAAC,SAAA;MACnB,OAAO,IAAAF,IAAA,CAAArC,OAAA,EAAAuC,SAAA,OAAI,CAACH,KAAK,EAAA9B,IAAA,CAAAiC,SAAA,EAAMH,KAAK,IAC1B,IAAAC,IAAA,CAAArC,OAAA,EAAAF,YAAY,EAAAQ,IAAA,CAAZR,YAAY,EAAMiC,SAAS,IAAK;QAC9B,MAAMX,SAAS,GAAG,IAAI,CAACA,SAAS,CAACgB,KAAK,EAAE,IAAI,CAACvC,GAAG,EAAEkC,SAAS,CAAClC,GAAG,CAAC;QAEhE,OAAO,IAAI,CAACiC,WAAW,CAAClC,IAAI,EAAEwB,SAAS,EAAEW,SAAS,CAAC;MACrD,CAAC,CACH,CAAC;IACH;IAEA,OAAO,IAAAM,IAAA,CAAArC,OAAA,EAAAF,YAAY,EAAAQ,IAAA,CAAZR,YAAY,EAAMiC,SAAS,IAAK;MACrC,MAAMX,SAAS,GAAG,IAAI,CAACA,SAAS,CAACxB,IAAI,EAAE,IAAI,CAACC,GAAG,EAAEkC,SAAS,CAAClC,GAAG,CAAC;MAE/D,OAAO,IAAI,CAACiC,WAAW,CAAClC,IAAI,EAAEwB,SAAS,EAAEW,SAAS,CAAC;IACrD,CAAC,CAAC;EACJ;;EAEA;AACF;EACEnB,QAAQA,CAAC4B,SAAiB,EAAO;IAC/B,IAAI,QAAQ,IAAIA,SAAS,EAAE;MACzB,WAAAC,OAAA,CAAAzC,OAAA,EAAOwC,SAAS;IAClB;IAEA,IAAI,OAAO,IAAIA,SAAS,EAAE;MACxB,OAAOA,SAAS,CAACJ,KAAK;IACxB;IAEA,IAAI,aAAa,IAAII,SAAS,EAAE;MAC9B,OAAOA,SAAS,CAACE,WAAW;IAC9B;IAEA,IAAI,YAAY,IAAIF,SAAS,EAAE;MAC7B,OAAOA,SAAS,CAACG,UAAU;IAC7B;IAEA,IAAIzC,KAAK,CAACC,OAAO,CAACqC,SAAS,CAACI,OAAO,CAAC,EAAE;MAAA,IAAAC,SAAA,EAAAC,SAAA;MACpC,OAAO,IAAAT,IAAA,CAAArC,OAAA,EAAA6C,SAAA,OAAAE,OAAA,CAAA/C,OAAA,EAAA8C,SAAA,GAAAN,SAAS,CAACI,OAAO,EAAAtC,IAAA,CAAAwC,SAAA,EACbE,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAAC,EAAA3C,IAAA,CAAAuC,SAAA,EAC9BG,MAAM,IAAKA,MAAM,CAACE,IAAI,IAAIF,MAAM,CAACnD,GAAG,CAAC;IAC/C;IAEA,OAAOoB,SAAS;EAClB;;EAEA;AACF;EACE,IAAIpB,GAAGA,CAAA,EAAW;IAChB,OAAO,IAAI,CAACI,IAAI;EAClB;;EAEA;AACF;EACE,IAAImC,KAAKA,CAAA,EAAQ;IACf,OAAO,IAAI,CAACzB,MAAM;EACpB;;EAEA;AACF;EACE,IAAIwC,MAAMA,CAAA,EAAY;IACpB,OAAO,IAAI,CAAC/C,UAAU,CAAC+C,MAAM,IAAI,KAAK;EACxC;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAQ;IACf,OAAO,IAAI,CAAChD,UAAU,CAACW,MAAM,IAAI,KAAK,CAAC;EACzC;;EAEA;AACF;EACE,IAAIkB,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAAC7B,UAAU,CAAC6B,eAAe,IAAI,IAAI,CAACpC,GAAG;EACpD;;EAEA;AACF;AACA;AACA;EACE;AACF;EACE,IAAImC,aAAaA,CAAA,EAAQ;IACvB,MAAM;MAAEA;IAAc,CAAC,GAAG,IAAI,CAAC5B,UAAU;IACzC,IAAI,CAAC4B,aAAa,EAAE;MAClB,OAAO,KAAK,CAAC;IACf;IAEA,IAAI9B,KAAK,CAACC,OAAO,CAAC6B,aAAa,CAAC,EAAE;MAChC,OAAOA,aAAa;IACtB,CAAC,MAAM,IAAIA,aAAa,CAAC,IAAI,CAACC,eAAe,CAAC,EAAE;MAC9C,MAAMoB,MAAM,GAAGrB,aAAa,CAAC,IAAI,CAACC,eAAe,CAAC;MAClD,OAAO,IAAAI,IAAA,CAAArC,OAAA,EAAAqD,MAAM,EAAA/C,IAAA,CAAN+C,MAAM,EAAM9C,IAAI,IAAK;QAC1B,IAAIA,IAAI,CAACgB,QAAQ,EAAE;UACjB,OAAO;YACL,GAAGhB,IAAI;YACPgB,QAAQ,EAAE;cACR,GAAGhB,IAAI,CAACgB,QAAQ;cAChBS;YACF;UACF,CAAC;QACH;QAEA,OAAOzB,IAAI;MACb,CAAC,CAAC;IACJ;IAEA,OAAO,KAAK,CAAC;EACf;;EAEA;AACF;EACE,IAAIqC,OAAOA,CAAA,EAAQ;IACjB,OAAO,IAAI,CAACxC,UAAU,CAACwC,OAAO,IAAI,KAAK,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIU,OAAOA,CAAA,EAAQ;IACjB,OAAO,IAAI,CAAClD,UAAU,CAACkD,OAAO,IAAI,KAAK,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAO,IAAI,CAACnD,UAAU,CAACmD,QAAQ,IAAI,KAAK;EAC1C;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAQ;IACvB,OAAO,IAAI,CAACpD,UAAU,CAACoD,aAAa,IAAI,KAAK,CAAC;EAChD;;EAEA;AACF;EACE,IAAItB,QAAQA,CAAA,EAA+B;IACzC,OAAO,IAAI,CAAChB,SAAS,IAAI,EAAE;EAC7B;;EAEA;AACF;EACE,IAAIW,OAAOA,CAAA,EAAW;IACpB,IAAI,IAAI,CAACzB,UAAU,CAACyB,OAAO,EAAE;MAC3B,MAAM4B,aAAa,GAAG,IAAAzC,aAAI,EAAC,IAAI,CAACZ,UAAU,CAACyB,OAAO,EAAE,CAClD,QAAQ,EACR,OAAO,EACP,UAAU,EACV,YAAY,EACZ,MAAM,CACP,CAAC;MAEF,IAAI,IAAA6B,KAAA,CAAA1D,OAAA,EAAYyD,aAAa,CAAC,CAACE,MAAM,GAAG,CAAC,EAAE;QACzC,OAAOF,aAAa;MACtB;IACF;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACEG,OAAOA,CAAA,EAAW;IAAA,IAAAC,SAAA;IAChB,MAAMzB,KAAK,GAAG,IAAI,CAACA,KAAK,KAAKnB,SAAS,GAAG,IAAI,GAAG,IAAI,CAACmB,KAAK;IAC1D,OAAO;MACLvC,GAAG,EAAE,IAAI,CAACA,GAAG;MACbuC,KAAK,EAAEA,KAAK;MACZe,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBpC,MAAM,EAAE,IAAI,CAACqC,KAAK;MAClBpB,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCW,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBU,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCtB,QAAQ,EAAE,IAAAG,IAAA,CAAArC,OAAA,EAAA6D,SAAA,OAAI,CAAC3B,QAAQ,EAAA5B,IAAA,CAAAuD,SAAA,EAAMC,KAAK,IAChC5D,KAAK,CAACC,OAAO,CAAC2D,KAAK,CAAC,GAChB,IAAAzB,IAAA,CAAArC,OAAA,EAAA8D,KAAK,EAAAxD,IAAA,CAALwD,KAAK,EAAMC,QAAQ,IAAKA,QAAQ,CAACH,OAAO,CAAC,CAAC,CAAC,GAC3CE,KAAK,CAACF,OAAO,CAAC,CACpB,CAAC;MACD/B,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC;EACH;AACF;AAAC,IAAAmC,QAAA,GAAAC,OAAA,CAAAjE,OAAA,GAEcN,mBAAmB","ignoreList":[]}
|
|
@@ -17,12 +17,8 @@ var _AttributeCollection = _interopRequireDefault(require("./AttributeCollection
|
|
|
17
17
|
class AttributeSetModel extends _BaseModel.default {
|
|
18
18
|
/**
|
|
19
19
|
*/
|
|
20
|
-
constructor() {
|
|
20
|
+
constructor(key = "", data = {}, contributions = {}, modelOptions) {
|
|
21
21
|
var _context;
|
|
22
|
-
let key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
23
|
-
let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
24
|
-
let contributions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
25
|
-
let modelOptions = arguments.length > 3 ? arguments[3] : undefined;
|
|
26
22
|
super(data, contributions, modelOptions);
|
|
27
23
|
(0, _defineProperty2.default)(this, "_key", void 0);
|
|
28
24
|
(0, _defineProperty2.default)(this, "_attributeCollection", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeSetModel.js","names":["_objects","require","_BaseModel","_interopRequireDefault","_AttributeCollection","AttributeSetModel","BaseModel","constructor","
|
|
1
|
+
{"version":3,"file":"AttributeSetModel.js","names":["_objects","require","_BaseModel","_interopRequireDefault","_AttributeCollection","AttributeSetModel","BaseModel","constructor","key","data","contributions","modelOptions","_context","_defineProperty2","default","attributeContributions","attributes","_filter","call","contribution","contributionKey","_keys","has","_attributeCollection","AttributeCollection","isReadonly","_key","label","attributeCollection","collection","createChildAttributeSetModel","dataObject","index","dynamicschema","objects","getChildAttributeSets","childAttributeSets","Array","isArray","i","_entries","_context2","push","exports"],"sources":["../../../src/models/attributes/AttributeSetModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport AttributeCollection from \"./AttributeCollection\";\n\nimport type { ModelOptions } from \"../types\";\n\n/**\n */\nexport default class AttributeSetModel extends BaseModel {\n _key: string;\n _attributeCollection: AttributeCollection;\n\n /**\n */\n constructor(\n key: string = \"\",\n data: Object = {},\n contributions: Object = {},\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n const attributeContributions = this.contributions.attributes\n ? this.contributions.attributes.filter((contribution) => {\n const [contributionKey] = Object.keys(contribution);\n return has(this.data, contributionKey);\n })\n : [];\n\n this._attributeCollection = new AttributeCollection(\n this.data,\n attributeContributions,\n { ...modelOptions, isReadonly: true },\n );\n\n this._key = key;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n set key(key: string) {\n this._key = key;\n }\n\n /**\n */\n get label(): ?string {\n return this.contributions.label;\n }\n\n /**\n * Retrieve attribute collection\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n * Set the attributes with a new AttributeCollection\n */\n set attributeCollection(collection: AttributeCollection) {\n this._attributeCollection = collection;\n }\n\n /**\n */\n createChildAttributeSetModel(\n key: string,\n dataObject: Object,\n index?: number,\n ): AttributeSetModel {\n return new AttributeSetModel(\n index ? `${key}-${index + 1}` : key,\n {\n ...dataObject,\n dynamicschema: this.data.dynamicschema,\n },\n this.contributions.objects[key],\n this.modelOptions,\n );\n }\n\n /**\n * Retrieve child {@code AttributeSetModel}s\n */\n getChildAttributeSets(): Array<AttributeSetModel> {\n if (!this.contributions.objects) {\n return [];\n }\n\n const childAttributeSets = [];\n for (const key of Object.keys(this.contributions.objects)) {\n if (key in this.data) {\n if (Array.isArray(this.data[key])) {\n for (const [i, dataObject] of this.data[key].entries()) {\n childAttributeSets.push(\n this.createChildAttributeSetModel(key, dataObject, i),\n );\n }\n } else {\n childAttributeSets.push(\n this.createChildAttributeSetModel(key, this.data[key]),\n );\n }\n }\n }\n return childAttributeSets;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@ var _AttributeModel = _interopRequireDefault(require("./AttributeModel"));
|
|
|
11
11
|
* Password attribute
|
|
12
12
|
*/
|
|
13
13
|
class CaptchaAttributeModel extends _AttributeModel.default {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...
|
|
14
|
+
constructor(...args) {
|
|
15
|
+
super(...args);
|
|
16
16
|
(0, _defineProperty2.default)(this, "_answer", "");
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptchaAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","CaptchaAttributeModel","AttributeModel","constructor","
|
|
1
|
+
{"version":3,"file":"CaptchaAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","CaptchaAttributeModel","AttributeModel","constructor","args","_defineProperty2","default","isApplicableModel","contributions","type","update","value","updateLastModification","inputvalue","setAnswer","answer","_answer","getAnswer","hasDynamicValidationData","exports"],"sources":["../../../src/models/attributes/CaptchaAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\n/**\n * Password attribute\n */\nexport default class CaptchaAttributeModel extends AttributeModel {\n _answer: string = \"\";\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"captcha\";\n }\n\n /**\n */\n get type(): string {\n return \"captcha\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): this {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n setAnswer(answer: string) {\n this._answer = answer;\n }\n\n /**\n * Retrieve the given answer for the captcha\n * The value of this attribute is the token id of the captcha\n */\n getAnswer(): string {\n return this._answer;\n }\n\n /**\n */\n get hasDynamicValidationData(): boolean {\n return false;\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACe,MAAMC,qBAAqB,SAASC,uBAAc,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,mBAC9C,EAAE;EAAA;EAEpB;AACF;EACE,OAAOC,iBAAiBA,CAACC,aAAqB,EAAW;IACvD,OAAOA,aAAa,CAACC,IAAI,KAAK,SAAS;EACzC;;EAEA;AACF;EACE,IAAIA,IAAIA,CAAA,EAAW;IACjB,OAAO,SAAS;EAClB;;EAEA;AACF;AACA;EACEC,MAAMA,CAACC,KAAa,EAAQ;IAC1B,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC7B,IAAI,CAACC,UAAU,GAAGF,KAAK;IAEvB,OAAO,IAAI;EACb;;EAEA;AACF;EACEG,SAASA,CAACC,MAAc,EAAE;IACxB,IAAI,CAACC,OAAO,GAAGD,MAAM;EACvB;;EAEA;AACF;AACA;AACA;EACEE,SAASA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACD,OAAO;EACrB;;EAEA;AACF;EACE,IAAIE,wBAAwBA,CAAA,EAAY;IACtC,OAAO,KAAK;EACd;AACF;AAACC,OAAA,CAAAb,OAAA,GAAAL,qBAAA","ignoreList":[]}
|
|
@@ -256,9 +256,7 @@ class ChoiceAttributeModel extends _AttributeModel.default {
|
|
|
256
256
|
|
|
257
257
|
/**
|
|
258
258
|
*/
|
|
259
|
-
mergeAttribute(oldAttribute) {
|
|
260
|
-
let addNotExistingOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
261
|
-
let removeNotExistingOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
259
|
+
mergeAttribute(oldAttribute, addNotExistingOptions = false, removeNotExistingOptions = false) {
|
|
262
260
|
// when attribute is readonly, don't merge the options no modifications necessary
|
|
263
261
|
if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {
|
|
264
262
|
this.concept = oldAttribute.concept;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeModel.js","names":["_full","require","_objects","_AttributeModel","_interopRequireDefault","_ChoiceAttributeOptionCollection","_ChoiceAttributeOptionModel","_CompositeAttributeModel","_ContentConfigurationElements","_LayoutHints","_constants","ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","modelOptions","_defineProperty2","default","_referenceDate","getData","Date","toISOString","split","_options","ChoiceAttributeOptionCollection","create","referenceDate","layouthint","has","SORT_OPTIONS","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","optionType","isUser","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","errors","conceptLinkHref","href","concept","_find","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_map","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includes","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","addNotExistingOptions","arguments","undefined","removeNotExistingOptions","readonly","mergeOptions","isValid","update","value","updateLastModification","values","forEach","val","isChoiceAttributeOptionModel","equals","newVal","klona","add","toString","updateByAttribute","otherAttribute","CompositeAttributeModel","otherValue","getChildrenIds","console","error","addMissingError","receivedAttribute","isChangedSince","_errorCollection","addServerError","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","readonlyWidth","ATTRIBUTE_WIDTH","MEDIUM","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has } from \"../../utils/helpers/objects\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\n\nimport {\n RENDER_SECTION_LABEL,\n SORT_OPTIONS,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type {\n ModularUIModel,\n AttributeType,\n FormErrorAnchor,\n ModelOptions,\n} from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for a choice attribute\n */\nexport default class ChoiceAttributeModel extends AttributeModel {\n _referenceDate: ISO_DATE;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean;\n\n /**\n * Constructs a choice attribute\n */\n constructor(\n attribute: Object,\n attributeContributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(attribute, attributeContributions, modelOptions);\n\n this._referenceDate = this.getData(\n \"referenceDate\",\n new Date().toISOString().split(\"T\")[0],\n );\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n { ...modelOptions, referenceDate: this.referenceDate },\n );\n\n if (this.layouthint.has(SORT_OPTIONS)) {\n this._options.sortOptions = true;\n }\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type !== \"composite\" &&\n contributions.type !== \"boolean\" &&\n (contributions.type === \"choice\" ||\n contributions.type === \"array\" ||\n has(contributions, \"enumerated\") ||\n has(contributions, \"options\"))\n );\n }\n\n /**\n */\n get type(): string {\n const optionMode = this.getContribution(\"optionMode\", \"\");\n const hasLookupLink = this.lookupLink || this.lookupListLink;\n\n if (\n optionMode === \"lookup\" ||\n (optionMode === \"dynamicWithThreshold\" && hasLookupLink)\n ) {\n return \"lookup\";\n }\n\n return \"choice\";\n }\n\n /**\n */\n get optionType(): string {\n return this.contributions?.optionType ?? \"generic\";\n }\n\n /**\n */\n get isUser(): boolean {\n return this.optionType === \"user\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n const conceptLinkHref = this.conceptLink?.href;\n if (conceptLinkHref) {\n this.concept = models.find(\n (model) =>\n model.type === \"ConceptDetail\" &&\n model.selfhref.equalsWithParameters(conceptLinkHref),\n );\n }\n\n this.options.setChildModels(models, errors);\n }\n\n /**\n * Retrieve lookup service link\n */\n get lookupLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupOptions\");\n }\n\n /**\n * Retrieve lookup service as list link\n */\n get lookupListLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupList\");\n }\n\n /**\n */\n get lookupListLabel(): string {\n return this.contributions.lookupList?.label ?? \"\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code,\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Add a new option to the collection of lookup options\n */\n addOption(option: Object) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n if (this.options.find((opt) => opt.code === option.code) === null) {\n this.options.addOption(option.code, option);\n }\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype():\n | \"checkbox\"\n | \"radiobutton\"\n | \"combobox\"\n | \"list\"\n | \"listview\"\n | \"table\"\n | \"longlist\"\n | \"toggle\" {\n return (\n [\n \"checkbox\",\n \"radiobutton\",\n \"combobox\",\n \"list\",\n \"listview\",\n \"table\",\n \"longlist\",\n \"toggle\",\n ].find((hint) => this.layouthint.has(hint)) || \"checkbox\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return this.contributions.multiplechoice || this.choicetype === \"checkbox\";\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return (\n has(this.contributions, \"options\") &&\n this.contributions.options.some((option) => has(option, \"children\"))\n );\n }\n\n /**\n * Reset choice attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(\n oldAttribute: AttributeType,\n addNotExistingOptions: boolean = false,\n removeNotExistingOptions: boolean = false,\n ) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.mergeOptions(\n oldAttribute.options,\n addNotExistingOptions ?? this.type === \"lookup\",\n removeNotExistingOptions,\n );\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): ChoiceAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values = [];\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else if (value != null) {\n values = [value];\n }\n values.forEach((val) => {\n if (typeof val === \"object\" && val.isChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n const newVal = klona(val);\n newVal.selected = false;\n this.options.add(newVal);\n }\n this.toggleOption(val.code);\n } else if (\n (typeof val === \"number\" ||\n typeof val === \"string\" ||\n typeof val === \"boolean\") &&\n this.options.some((option) => option.code.toString() === val.toString())\n ) {\n this.toggleOption(val.toString());\n }\n });\n\n return this;\n }\n\n /**\n */\n updateByAttribute(otherAttribute: AttributeType): void {\n this.reset();\n if (\n otherAttribute instanceof ChoiceAttributeModel ||\n otherAttribute instanceof CompositeAttributeModel\n ) {\n let otherValue;\n if (otherAttribute instanceof ChoiceAttributeModel) {\n otherValue = otherAttribute.options.selected;\n } else if (otherAttribute instanceof CompositeAttributeModel) {\n otherValue = otherAttribute.getChildrenIds();\n }\n if (otherValue !== null) {\n this.update(otherValue);\n }\n } else {\n console.error(\n `update of choice attribute with ${otherAttribute.type} not supported`,\n );\n }\n }\n\n /**\n * Registers a missing error that was received from the server\n */\n addMissingError(receivedAttribute?: AttributeType): void {\n if (this.isChangedSince(0)) {\n this._errorCollection.addServerError(\"Constraint.Missing\");\n }\n // update choice options\n if (receivedAttribute instanceof ChoiceAttributeModel) {\n this.mergeAttribute(receivedAttribute, true, true);\n }\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n },\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n\n const ANSWER_OPTION_KEY = \"answer-option-key\";\n\n if (properties && has(properties, ANSWER_OPTION_KEY)) {\n const optionKey = properties[ANSWER_OPTION_KEY];\n const foundOption = this.options.find(\n (option) => option.code === optionKey,\n );\n if (foundOption) {\n properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(\n this.contentConfiguration,\n );\n }\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,gCAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,2BAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,wBAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,6BAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AAIA,IAAAS,UAAA,GAAAT,OAAA;AAWA;AACA;AACA;AACe,MAAMU,oBAAoB,SAASC,uBAAc,CAAC;EAK/D;AACF;AACA;EACEC,WAAWA,CACTC,SAAiB,EACjBC,sBAA8B,EAC9BC,YAA2B,EAC3B;IACA,KAAK,CAACF,SAAS,EAAEC,sBAAsB,EAAEC,YAAY,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEvD,IAAI,CAACC,cAAc,GAAG,IAAI,CAACC,OAAO,CAChC,eAAe,EACf,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACvC,CAAC;IACD,IAAI,CAACC,QAAQ,GAAGC,wCAA+B,CAACC,MAAM,CACpDZ,SAAS,EACTC,sBAAsB,EACtB;MAAE,GAAGC,YAAY;MAAEW,aAAa,EAAE,IAAI,CAACA;IAAc,CACvD,CAAC;IAED,IAAI,IAAI,CAACC,UAAU,CAACC,GAAG,CAACC,yBAAY,CAAC,EAAE;MACrC,IAAI,CAACN,QAAQ,CAACO,WAAW,GAAG,IAAI;IAClC;EACF;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,aAAqB,EAAW;IACvD,OACEA,aAAa,CAACC,IAAI,KAAK,WAAW,IAClCD,aAAa,CAACC,IAAI,KAAK,SAAS,KAC/BD,aAAa,CAACC,IAAI,KAAK,QAAQ,IAC9BD,aAAa,CAACC,IAAI,KAAK,OAAO,IAC9B,IAAAL,YAAG,EAACI,aAAa,EAAE,YAAY,CAAC,IAChC,IAAAJ,YAAG,EAACI,aAAa,EAAE,SAAS,CAAC,CAAC;EAEpC;;EAEA;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,MAAMC,UAAU,GAAG,IAAI,CAACC,eAAe,CAAC,YAAY,EAAE,EAAE,CAAC;IACzD,MAAMC,aAAa,GAAG,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,cAAc;IAE5D,IACEJ,UAAU,KAAK,QAAQ,IACtBA,UAAU,KAAK,sBAAsB,IAAIE,aAAc,EACxD;MACA,OAAO,QAAQ;IACjB;IAEA,OAAO,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIG,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACP,aAAa,EAAEO,UAAU,IAAI,SAAS;EACpD;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAAY;IACpB,OAAO,IAAI,CAACD,UAAU,KAAK,MAAM;EACnC;;EAEA;AACF;EACEE,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,KAAK,GAAG,EAAE;IAEhB,IAAI,IAAI,CAACC,uBAAuB,EAAE;MAChC,IAAI,CAAC,IAAI,CAACC,kBAAkB,IAAI,IAAI,CAACC,WAAW,EAAE;QAChDH,KAAK,CAACI,IAAI,CAAC,IAAI,CAACD,WAAW,CAAC;MAC9B;MAEAH,KAAK,CAACI,IAAI,CAAC,GAAG,IAAI,CAACC,OAAO,CAACN,yBAAyB,CAAC,CAAC,CAAC;IACzD;IAEA,OAAOC,KAAK;EACd;;EAEA;AACF;EACEM,cAAcA,CAACC,MAA6B,EAAEC,MAA4B,EAAE;IAC1E,MAAMC,eAAe,GAAG,IAAI,CAACN,WAAW,EAAEO,IAAI;IAC9C,IAAID,eAAe,EAAE;MACnB,IAAI,CAACE,OAAO,GAAG,IAAAC,KAAA,CAAArC,OAAA,EAAAgC,MAAM,EAAAM,IAAA,CAANN,MAAM,EAClBO,KAAK,IACJA,KAAK,CAACvB,IAAI,KAAK,eAAe,IAC9BuB,KAAK,CAACC,QAAQ,CAACC,oBAAoB,CAACP,eAAe,CACvD,CAAC;IACH;IAEA,IAAI,CAACJ,OAAO,CAACC,cAAc,CAACC,MAAM,EAAEC,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;EACE,IAAIb,UAAUA,CAAA,EAAqB;IACjC,OAAO,IAAI,CAACK,KAAK,CAACiB,YAAY,CAAC,eAAe,CAAC;EACjD;;EAEA;AACF;AACA;EACE,IAAIrB,cAAcA,CAAA,EAAqB;IACrC,OAAO,IAAI,CAACI,KAAK,CAACiB,YAAY,CAAC,YAAY,CAAC;EAC9C;;EAEA;AACF;EACE,IAAIC,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAAC5B,aAAa,CAAC6B,UAAU,EAAEC,KAAK,IAAI,EAAE;EACnD;;EAEA;AACF;AACA;EACE,IAAIpC,aAAaA,CAAA,EAAa;IAC5B,OAAO,IAAI,CAACR,cAAc;EAC5B;;EAEA;AACF;AACA;EACE,IAAIQ,aAAaA,CAACqC,IAAY,EAAE;IAC9B,IAAI,CAAC7C,cAAc,GAAG6C,IAAI;IAE1B,IAAI,CAAChB,OAAO,CAACrB,aAAa,GAAGqC,IAAI;EACnC;;EAEA;AACF;AACA;EACE,IAAIhB,OAAOA,CAAA,EAAoC;IAC7C,OAAO,IAAI,CAACxB,QAAQ;EACtB;;EAEA;AACF;AACA;EACE,IAAIyC,QAAQA,CAAA,EAAkB;IAAA,IAAAC,QAAA;IAC5B;IACA,OAAO,IAAAC,IAAA,CAAAjD,OAAA,EAAAgD,QAAA,OAAI,CAAClB,OAAO,CAACiB,QAAQ,EAAAT,IAAA,CAAAU,QAAA,EACzBE,MAAkC,IAAKA,MAAM,CAACC,IACjD,CAAC;EACH;;EAEA;AACF;AACA;EACE,IAAIC,aAAaA,CAAA,EAAW;IAAA,IAAAC,SAAA;IAC1B,OAAO,IAAAJ,IAAA,CAAAjD,OAAA,EAAAqD,SAAA,OAAI,CAACvB,OAAO,CAACiB,QAAQ,EAAAT,IAAA,CAAAe,SAAA,EAAMH,MAAM,IAAKA,MAAM,CAACL,KAAK,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;EACvE;;EAEA;AACF;EACE,IAAIC,SAASA,CAAA,EAAQ;IACnB,IAAIC,KAAK,CAACC,OAAO,CAAC,IAAI,CAACC,UAAU,CAAC,IAAI,IAAI,CAACA,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;MAClE,OAAO,IAAI;IACb;IAEA,OAAO,IAAI,CAACD,UAAU;EACxB;;EAEA;AACF;AACA;EACEE,QAAQA,CAAA,EAAkB;IAAA,IAAAC,SAAA;IACxB,OAAO,IAAI,CAAC/B,OAAO,CAACiB,QAAQ,CAACY,MAAM,GAAG,CAAC,GACnC,IAAAV,IAAA,CAAAjD,OAAA,EAAA6D,SAAA,OAAI,CAAC/B,OAAO,CAACiB,QAAQ,EAAAT,IAAA,CAAAuB,SAAA,EAAMX,MAAM,IAAKA,MAAM,CAACC,IAAI,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC,GAC5D,IAAI;EACV;;EAEA;AACF;EACEQ,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAAChC,OAAO,CAACiB,QAAQ,CAACY,MAAM,GAAG,CAAC;EACzC;;EAEA;AACF;AACA;EACEI,aAAaA,CAAA,EAAW;IACtB,OAAO,IAAI,CAAChB,QAAQ,CAACO,IAAI,CAAC,GAAG,CAAC;EAChC;;EAEA;AACF;AACA;EACEU,YAAYA,CAACb,IAAY,EAAE;IAAA,IAAAc,SAAA;IACzB,IAAI,IAAAC,SAAA,CAAAlE,OAAA,EAAAiE,SAAA,OAAI,CAAClB,QAAQ,EAAAT,IAAA,CAAA2B,SAAA,EAAUd,IAAI,CAAC,EAAE;MAChC,IAAI,CAACgB,aAAa,CAAChB,IAAI,CAAC;IAC1B,CAAC,MAAM;MACL,IAAI,CAACiB,YAAY,CAACjB,IAAI,CAAC;IACzB;EACF;;EAEA;AACF;AACA;EACEiB,YAAYA,CAACjB,IAAY,EAAE;IACzB,IAAI,CAAC,IAAI,CAACkB,UAAU,EAAE;MACpB,IAAI,CAACvC,OAAO,CAACwC,WAAW,CAAC,CAAC;IAC5B;IAEA,IAAI,CAACxC,OAAO,CAACyC,MAAM,CAACpB,IAAI,CAAC;IACzB,IAAI,CAACqB,UAAU,GAAG,IAAI,CAACT,aAAa,CAAC,CAAC;EACxC;;EAEA;AACF;AACA;EACEI,aAAaA,CAAChB,IAAY,EAAE;IAC1B,IAAI,CAACrB,OAAO,CAAC2C,QAAQ,CAACtB,IAAI,CAAC;IAC3B,IAAI,CAACqB,UAAU,GAAG,IAAI,CAACT,aAAa,CAAC,CAAC;EACxC;;EAEA;AACF;AACA;EACEW,SAASA,CAACxB,MAAc,EAAE;IAAA,IAAAyB,SAAA;IACxB,IAAI,CAAC,IAAI,CAACN,UAAU,EAAE;MACpB,IAAI,CAACvC,OAAO,CAACwC,WAAW,CAAC,CAAC;IAC5B;IAEA,IAAI,IAAAjC,KAAA,CAAArC,OAAA,EAAA2E,SAAA,OAAI,CAAC7C,OAAO,EAAAQ,IAAA,CAAAqC,SAAA,EAAOC,GAAG,IAAKA,GAAG,CAACzB,IAAI,KAAKD,MAAM,CAACC,IAAI,CAAC,KAAK,IAAI,EAAE;MACjE,IAAI,CAACrB,OAAO,CAAC4C,SAAS,CAACxB,MAAM,CAACC,IAAI,EAAED,MAAM,CAAC;IAC7C;EACF;;EAEA;AACF;AACA;EACE,IAAI2B,UAAUA,CAAA,EAQD;IAAA,IAAAC,SAAA;IACX,OACE,IAAAzC,KAAA,CAAArC,OAAA,EAAA8E,SAAA,IACE,UAAU,EACV,aAAa,EACb,UAAU,EACV,MAAM,EACN,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,CACT,EAAAxC,IAAA,CAAAwC,SAAA,EAAOC,IAAI,IAAK,IAAI,CAACrE,UAAU,CAACC,GAAG,CAACoE,IAAI,CAAC,CAAC,IAAI,UAAU;EAE7D;;EAEA;AACF;AACA;EACE,IAAIV,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACtD,aAAa,CAACiE,cAAc,IAAI,IAAI,CAACH,UAAU,KAAK,UAAU;EAC5E;;EAEA;AACF;AACA;EACE,IAAII,MAAMA,CAAA,EAAY;IACpB,OACE,IAAAtE,YAAG,EAAC,IAAI,CAACI,aAAa,EAAE,SAAS,CAAC,IAClC,IAAI,CAACA,aAAa,CAACe,OAAO,CAACoD,IAAI,CAAEhC,MAAM,IAAK,IAAAvC,YAAG,EAACuC,MAAM,EAAE,UAAU,CAAC,CAAC;EAExE;;EAEA;AACF;AACA;EACEiC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACrD,OAAO,CAACwC,WAAW,CAAC,CAAC;EAC5B;;EAEA;AACF;EACEc,cAAcA,CACZC,YAA2B,EAG3B;IAAA,IAFAC,qBAA8B,GAAAC,SAAA,CAAA5B,MAAA,QAAA4B,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;IAAA,IACtCE,wBAAiC,GAAAF,SAAA,CAAA5B,MAAA,QAAA4B,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;IAEzC;IACA,IAAI,CAAC,IAAI,CAACG,QAAQ,IAAIL,YAAY,YAAY5F,oBAAoB,EAAE;MAClE,IAAI,CAAC2C,OAAO,GAAGiD,YAAY,CAACjD,OAAO;MACnC,IAAI,CAACN,OAAO,CAAC6D,YAAY,CACvBN,YAAY,CAACvD,OAAO,EACpBwD,qBAAqB,IAAI,IAAI,CAACtE,IAAI,KAAK,QAAQ,EAC/CyE,wBACF,CAAC;MACD,IAAI,CAAC3D,OAAO,CAACwC,WAAW,CAAC,CAAC;MAE1B,IAAIe,YAAY,CAACO,OAAO,IAAIP,YAAY,CAACb,UAAU,KAAK,IAAI,EAAE;QAC5D,IAAI,CAACqB,MAAM,CAACR,YAAY,CAACb,UAAU,CAAC;MACtC;IACF;EACF;;EAEA;AACF;AACA;EACEqB,MAAMA,CAACC,KAAU,EAAwB;IACvC,IAAI,IAAI,CAACJ,QAAQ,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,CAACK,sBAAsB,CAAC,CAAC;IAE7B,IAAIC,MAAM,GAAG,EAAE;IAEf,IAAIxC,KAAK,CAACC,OAAO,CAACqC,KAAK,CAAC,EAAE;MACxBE,MAAM,GAAGF,KAAK;IAChB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,IAAI,CAACzB,UAAU,EAAE;MACvD2B,MAAM,GAAGF,KAAK,CAACzF,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC,MAAM,IAAIyF,KAAK,IAAI,IAAI,EAAE;MACxBE,MAAM,GAAG,CAACF,KAAK,CAAC;IAClB;IACAE,MAAM,CAACC,OAAO,CAAEC,GAAG,IAAK;MACtB,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACC,4BAA4B,EAAE;QAC/D;QACA,IAAI,CAAC,IAAI,CAACrE,OAAO,CAACoD,IAAI,CAAEhC,MAAM,IAAKA,MAAM,CAACkD,MAAM,CAACF,GAAG,CAAC,CAAC,EAAE;UACtD,MAAMG,MAAM,GAAG,IAAAC,WAAK,EAACJ,GAAG,CAAC;UACzBG,MAAM,CAACtD,QAAQ,GAAG,KAAK;UACvB,IAAI,CAACjB,OAAO,CAACyE,GAAG,CAACF,MAAM,CAAC;QAC1B;QACA,IAAI,CAACrC,YAAY,CAACkC,GAAG,CAAC/C,IAAI,CAAC;MAC7B,CAAC,MAAM,IACL,CAAC,OAAO+C,GAAG,KAAK,QAAQ,IACtB,OAAOA,GAAG,KAAK,QAAQ,IACvB,OAAOA,GAAG,KAAK,SAAS,KAC1B,IAAI,CAACpE,OAAO,CAACoD,IAAI,CAAEhC,MAAM,IAAKA,MAAM,CAACC,IAAI,CAACqD,QAAQ,CAAC,CAAC,KAAKN,GAAG,CAACM,QAAQ,CAAC,CAAC,CAAC,EACxE;QACA,IAAI,CAACxC,YAAY,CAACkC,GAAG,CAACM,QAAQ,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,CAAC;IAEF,OAAO,IAAI;EACb;;EAEA;AACF;EACEC,iBAAiBA,CAACC,cAA6B,EAAQ;IACrD,IAAI,CAACvB,KAAK,CAAC,CAAC;IACZ,IACEuB,cAAc,YAAYjH,oBAAoB,IAC9CiH,cAAc,YAAYC,gCAAuB,EACjD;MACA,IAAIC,UAAU;MACd,IAAIF,cAAc,YAAYjH,oBAAoB,EAAE;QAClDmH,UAAU,GAAGF,cAAc,CAAC5E,OAAO,CAACiB,QAAQ;MAC9C,CAAC,MAAM,IAAI2D,cAAc,YAAYC,gCAAuB,EAAE;QAC5DC,UAAU,GAAGF,cAAc,CAACG,cAAc,CAAC,CAAC;MAC9C;MACA,IAAID,UAAU,KAAK,IAAI,EAAE;QACvB,IAAI,CAACf,MAAM,CAACe,UAAU,CAAC;MACzB;IACF,CAAC,MAAM;MACLE,OAAO,CAACC,KAAK,CACX,mCAAmCL,cAAc,CAAC1F,IAAI,gBACxD,CAAC;IACH;EACF;;EAEA;AACF;AACA;EACEgG,eAAeA,CAACC,iBAAiC,EAAQ;IACvD,IAAI,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC,EAAE;MAC1B,IAAI,CAACC,gBAAgB,CAACC,cAAc,CAAC,oBAAoB,CAAC;IAC5D;IACA;IACA,IAAIH,iBAAiB,YAAYxH,oBAAoB,EAAE;MACrD,IAAI,CAAC2F,cAAc,CAAC6B,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;IACpD;EACF;;EAEA;AACF;EACE,IAAIvF,uBAAuBA,CAACA,uBAAgC,EAAE;IAC5D,IAAI,CAAC2F,wBAAwB,GAC3B,IAAI,CAACC,oBAAoB,KAAK,IAAI,IAAI5F,uBAAuB;EACjE;;EAEA;AACF;EACE,IAAIA,uBAAuBA,CAAA,EAAY;IACrC,OAAO,IAAI,CAAC2F,wBAAwB;EACtC;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,oBAAoBA,CAAA,EAAwC;IAAA,IAAAC,SAAA;IAC9D,IACE,CAAC,IAAI,CAACxG,aAAa,CAACyG,OAAO,IAC3B,CAAC,IAAI,CAACzG,aAAa,CAACyG,OAAO,CAACC,cAAc,EAC1C;MACA,OAAO,IAAI;IACb;;IAEA;IACA,MAAMC,mBAAmB,GAAG,IAAAzE,IAAA,CAAAjD,OAAA,EAAAuH,SAAA,OAAI,CAACxG,aAAa,CAACyG,OAAO,CAACC,cAAc,EAAAnF,IAAA,CAAAiF,SAAA,EAClEI,aAAa,IAAK;MACjB,IAAI,gBAAgB,IAAIA,aAAa,EAAE;QACrC,OAAO;UACLC,cAAc,EAAE;YACd,GAAGD,aAAa,CAACC,cAAc;YAC/BlH,UAAU,EAAE,CAACmH,iCAAoB;UACnC;QACF,CAAC;MACH;MAEA,OAAOF,aAAa;IACtB,CACF,CAAC;IAED,OAAO,IAAIG,qCAA4B,CAACJ,mBAAmB,CAAC;EAC9D;;EAEA;AACF;AACA;EACE,IAAIK,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAAC7G,eAAe,CAAC,aAAa,EAAE,EAAE,CAAC;EAChD;;EAEA;AACF;AACA;EACEkG,cAAcA,CAACL,KAAsB,EAAE;IACrC,MAAM;MAAEiB,EAAE;MAAEC,OAAO;MAAEC,UAAU;MAAExH;IAAW,CAAC,GAAGqG,KAAK;IAErD,MAAMoB,iBAAiB,GAAG,mBAAmB;IAE7C,IAAID,UAAU,IAAI,IAAAvH,YAAG,EAACuH,UAAU,EAAEC,iBAAiB,CAAC,EAAE;MAAA,IAAAC,SAAA;MACpD,MAAMC,SAAS,GAAGH,UAAU,CAACC,iBAAiB,CAAC;MAC/C,MAAMG,WAAW,GAAG,IAAAjG,KAAA,CAAArC,OAAA,EAAAoI,SAAA,OAAI,CAACtG,OAAO,EAAAQ,IAAA,CAAA8F,SAAA,EAC7BlF,MAAM,IAAKA,MAAM,CAACC,IAAI,KAAKkF,SAC9B,CAAC;MACD,IAAIC,WAAW,EAAE;QACfJ,UAAU,CAACC,iBAAiB,CAAC,GAAGG,WAAW,CAACC,yBAAyB,CACnE,IAAI,CAACjB,oBACP,CAAC;MACH;IACF;IAEA,IAAI,CAACH,gBAAgB,CAACC,cAAc,CAACY,EAAE,EAAEC,OAAO,EAAEC,UAAU,EAAExH,UAAU,CAAC;EAC3E;;EAEA;AACF;EACE,IAAI8H,aAAaA,CAAA,EAAkC;IACjD,OAAOC,0BAAe,CAACC,MAAM;EAC/B;AACF;AAACC,OAAA,CAAA3I,OAAA,GAAAP,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeModel.js","names":["_full","require","_objects","_AttributeModel","_interopRequireDefault","_ChoiceAttributeOptionCollection","_ChoiceAttributeOptionModel","_CompositeAttributeModel","_ContentConfigurationElements","_LayoutHints","_constants","ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","modelOptions","_defineProperty2","default","_referenceDate","getData","Date","toISOString","split","_options","ChoiceAttributeOptionCollection","create","referenceDate","layouthint","has","SORT_OPTIONS","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","optionType","isUser","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","errors","conceptLinkHref","href","concept","_find","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_map","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includes","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","addNotExistingOptions","removeNotExistingOptions","readonly","mergeOptions","isValid","update","value","updateLastModification","values","forEach","val","isChoiceAttributeOptionModel","equals","newVal","klona","add","toString","updateByAttribute","otherAttribute","CompositeAttributeModel","otherValue","getChildrenIds","console","error","addMissingError","receivedAttribute","isChangedSince","_errorCollection","addServerError","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","readonlyWidth","ATTRIBUTE_WIDTH","MEDIUM","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has } from \"../../utils/helpers/objects\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\n\nimport {\n RENDER_SECTION_LABEL,\n SORT_OPTIONS,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type {\n ModularUIModel,\n AttributeType,\n FormErrorAnchor,\n ModelOptions,\n} from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for a choice attribute\n */\nexport default class ChoiceAttributeModel extends AttributeModel {\n _referenceDate: ISO_DATE;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean;\n\n /**\n * Constructs a choice attribute\n */\n constructor(\n attribute: Object,\n attributeContributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(attribute, attributeContributions, modelOptions);\n\n this._referenceDate = this.getData(\n \"referenceDate\",\n new Date().toISOString().split(\"T\")[0],\n );\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n { ...modelOptions, referenceDate: this.referenceDate },\n );\n\n if (this.layouthint.has(SORT_OPTIONS)) {\n this._options.sortOptions = true;\n }\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type !== \"composite\" &&\n contributions.type !== \"boolean\" &&\n (contributions.type === \"choice\" ||\n contributions.type === \"array\" ||\n has(contributions, \"enumerated\") ||\n has(contributions, \"options\"))\n );\n }\n\n /**\n */\n get type(): string {\n const optionMode = this.getContribution(\"optionMode\", \"\");\n const hasLookupLink = this.lookupLink || this.lookupListLink;\n\n if (\n optionMode === \"lookup\" ||\n (optionMode === \"dynamicWithThreshold\" && hasLookupLink)\n ) {\n return \"lookup\";\n }\n\n return \"choice\";\n }\n\n /**\n */\n get optionType(): string {\n return this.contributions?.optionType ?? \"generic\";\n }\n\n /**\n */\n get isUser(): boolean {\n return this.optionType === \"user\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n const conceptLinkHref = this.conceptLink?.href;\n if (conceptLinkHref) {\n this.concept = models.find(\n (model) =>\n model.type === \"ConceptDetail\" &&\n model.selfhref.equalsWithParameters(conceptLinkHref),\n );\n }\n\n this.options.setChildModels(models, errors);\n }\n\n /**\n * Retrieve lookup service link\n */\n get lookupLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupOptions\");\n }\n\n /**\n * Retrieve lookup service as list link\n */\n get lookupListLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupList\");\n }\n\n /**\n */\n get lookupListLabel(): string {\n return this.contributions.lookupList?.label ?? \"\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code,\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Add a new option to the collection of lookup options\n */\n addOption(option: Object) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n if (this.options.find((opt) => opt.code === option.code) === null) {\n this.options.addOption(option.code, option);\n }\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype():\n | \"checkbox\"\n | \"radiobutton\"\n | \"combobox\"\n | \"list\"\n | \"listview\"\n | \"table\"\n | \"longlist\"\n | \"toggle\" {\n return (\n [\n \"checkbox\",\n \"radiobutton\",\n \"combobox\",\n \"list\",\n \"listview\",\n \"table\",\n \"longlist\",\n \"toggle\",\n ].find((hint) => this.layouthint.has(hint)) || \"checkbox\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return this.contributions.multiplechoice || this.choicetype === \"checkbox\";\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return (\n has(this.contributions, \"options\") &&\n this.contributions.options.some((option) => has(option, \"children\"))\n );\n }\n\n /**\n * Reset choice attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(\n oldAttribute: AttributeType,\n addNotExistingOptions: boolean = false,\n removeNotExistingOptions: boolean = false,\n ) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.mergeOptions(\n oldAttribute.options,\n addNotExistingOptions ?? this.type === \"lookup\",\n removeNotExistingOptions,\n );\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): ChoiceAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values = [];\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else if (value != null) {\n values = [value];\n }\n values.forEach((val) => {\n if (typeof val === \"object\" && val.isChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n const newVal = klona(val);\n newVal.selected = false;\n this.options.add(newVal);\n }\n this.toggleOption(val.code);\n } else if (\n (typeof val === \"number\" ||\n typeof val === \"string\" ||\n typeof val === \"boolean\") &&\n this.options.some((option) => option.code.toString() === val.toString())\n ) {\n this.toggleOption(val.toString());\n }\n });\n\n return this;\n }\n\n /**\n */\n updateByAttribute(otherAttribute: AttributeType): void {\n this.reset();\n if (\n otherAttribute instanceof ChoiceAttributeModel ||\n otherAttribute instanceof CompositeAttributeModel\n ) {\n let otherValue;\n if (otherAttribute instanceof ChoiceAttributeModel) {\n otherValue = otherAttribute.options.selected;\n } else if (otherAttribute instanceof CompositeAttributeModel) {\n otherValue = otherAttribute.getChildrenIds();\n }\n if (otherValue !== null) {\n this.update(otherValue);\n }\n } else {\n console.error(\n `update of choice attribute with ${otherAttribute.type} not supported`,\n );\n }\n }\n\n /**\n * Registers a missing error that was received from the server\n */\n addMissingError(receivedAttribute?: AttributeType): void {\n if (this.isChangedSince(0)) {\n this._errorCollection.addServerError(\"Constraint.Missing\");\n }\n // update choice options\n if (receivedAttribute instanceof ChoiceAttributeModel) {\n this.mergeAttribute(receivedAttribute, true, true);\n }\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n },\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n\n const ANSWER_OPTION_KEY = \"answer-option-key\";\n\n if (properties && has(properties, ANSWER_OPTION_KEY)) {\n const optionKey = properties[ANSWER_OPTION_KEY];\n const foundOption = this.options.find(\n (option) => option.code === optionKey,\n );\n if (foundOption) {\n properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(\n this.contentConfiguration,\n );\n }\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,10 +48,7 @@ class ChoiceAttributeOptionCollection extends _ResourceCollection.default {
|
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
*/
|
|
51
|
-
static create() {
|
|
52
|
-
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
53
|
-
let contributions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
54
|
-
let modelOptions = arguments.length > 2 ? arguments[2] : undefined;
|
|
51
|
+
static create(data = {}, contributions = {}, modelOptions) {
|
|
55
52
|
const collection = new ChoiceAttributeOptionCollection(modelOptions);
|
|
56
53
|
if (contributions.type === "boolean") {
|
|
57
54
|
collection.addBooleanOptions(data.value, contributions);
|
|
@@ -136,8 +133,7 @@ class ChoiceAttributeOptionCollection extends _ResourceCollection.default {
|
|
|
136
133
|
|
|
137
134
|
/**
|
|
138
135
|
*/
|
|
139
|
-
addBooleanOption(code, defaultLabel, data) {
|
|
140
|
-
let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
136
|
+
addBooleanOption(code, defaultLabel, data, options = []) {
|
|
141
137
|
const foundOption = (0, _find.default)(options).call(options, option => option.code === code);
|
|
142
138
|
const label = foundOption ? foundOption.label : defaultLabel;
|
|
143
139
|
this.addOption(data, {
|
|
@@ -277,9 +273,7 @@ class ChoiceAttributeOptionCollection extends _ResourceCollection.default {
|
|
|
277
273
|
|
|
278
274
|
/**
|
|
279
275
|
*/
|
|
280
|
-
mergeOptions(withOptions) {
|
|
281
|
-
let addNotExistingOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
282
|
-
let removeNotExistingOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
276
|
+
mergeOptions(withOptions, addNotExistingOptions = false, removeNotExistingOptions = false) {
|
|
283
277
|
const newCollection = [];
|
|
284
278
|
this.collection.forEach(option => {
|
|
285
279
|
const foundOption = (0, _find.default)(withOptions).call(withOptions, withOption => withOption.code === option.code);
|