@beinformed/ui 1.24.0 → 1.24.1-beta.3
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 +22 -0
- package/constants/package.json +8 -0
- package/esm/builder/index.js +0 -1
- package/esm/builder/index.js.map +1 -1
- package/esm/constants/Constants.js +0 -1
- package/esm/constants/Constants.js.map +1 -1
- package/esm/constants/LayoutHintConfig.js +0 -1
- package/esm/constants/LayoutHintConfig.js.map +1 -1
- package/esm/constants/LayoutHints.js +0 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/index.js +0 -1
- package/esm/constants/index.js.map +1 -1
- package/esm/exceptions/ConfigurationException.js +0 -2
- package/esm/exceptions/ConfigurationException.js.map +1 -1
- package/esm/exceptions/FetchException.js +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/IllegalArgumentException.js +0 -1
- package/esm/exceptions/IllegalArgumentException.js.map +1 -1
- package/esm/exceptions/IllegalReturnException.js +0 -1
- package/esm/exceptions/IllegalReturnException.js.map +1 -1
- package/esm/exceptions/IllegalStateException.js +0 -1
- package/esm/exceptions/IllegalStateException.js.map +1 -1
- package/esm/exceptions/JsonParseException.js +0 -1
- package/esm/exceptions/JsonParseException.js.map +1 -1
- package/esm/exceptions/MissingPropertyException.js +0 -1
- package/esm/exceptions/MissingPropertyException.js.map +1 -1
- package/esm/exceptions/NotAllowedUriException.js +0 -1
- package/esm/exceptions/NotAllowedUriException.js.map +1 -1
- package/esm/exceptions/ServerRequestException.js +0 -1
- package/esm/exceptions/ServerRequestException.js.map +1 -1
- package/esm/exceptions/ThemePropertyException.js +0 -1
- package/esm/exceptions/ThemePropertyException.js.map +1 -1
- package/esm/exceptions/TimeoutException.js +0 -1
- package/esm/exceptions/TimeoutException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js +0 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/exceptions/UnsupportedOperationException.js +0 -1
- package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
- package/esm/exceptions/index.js +0 -1
- package/esm/exceptions/index.js.map +1 -1
- package/esm/hooks/index.js +0 -1
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/useAuthentication.js +4 -5
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js +0 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js +1 -2
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useModelCatalog.js +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModels.js +0 -1
- package/esm/hooks/useModels.js.map +1 -1
- package/esm/hooks/useModularUI.js +0 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js +3 -3
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js +0 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js +0 -1
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/hooks/useNotification.js +0 -1
- package/esm/hooks/useNotification.js.map +1 -1
- package/esm/hooks/usePreference.js +0 -1
- package/esm/hooks/usePreference.js.map +1 -1
- package/esm/hooks/useProgressIndicator.js +0 -1
- package/esm/hooks/useProgressIndicator.js.map +1 -1
- package/esm/hooks/useRouter.js +3 -13
- package/esm/hooks/useRouter.js.map +1 -1
- package/esm/i18n/Message.js +0 -1
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/index.js +0 -1
- package/esm/i18n/index.js.map +1 -1
- package/esm/i18n/languages.js +0 -1
- package/esm/i18n/languages.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_en.nl.js +0 -1
- package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.js +0 -1
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +2 -4
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js +3 -8
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js +4 -7
- package/esm/models/attributes/AttributeContent.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/AttributeModel.js +2 -4
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/CaptchaAttributeModel.js +0 -1
- package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +2 -4
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js +2 -3
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js +2 -5
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js +3 -5
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/HelptextAttributeModel.js +1 -2
- package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/esm/models/attributes/LabelAttributeModel.js +1 -1
- package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
- package/esm/models/attributes/MemoAttributeModel.js +1 -2
- package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
- package/esm/models/attributes/MoneyAttributeModel.js +1 -1
- package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js +1 -1
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/XMLAttributeModel.js +1 -1
- package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js +2 -3
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/BSNConstraint.js +0 -2
- package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/IBANConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js +0 -2
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +0 -2
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RegexConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/StringLengthConstraint.js +0 -1
- package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/XMLConstraint.js +0 -2
- package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.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/attributes/layouthint-rules/LayoutHintRuleCollection.js +0 -1
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +0 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/esm/models/base/ResourceCollection.js +1 -2
- package/esm/models/base/ResourceCollection.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +4 -12
- 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/ConceptIndexModel.js +1 -2
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js +2 -3
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptTypeDetailModel.js +0 -1
- package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js +3 -8
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js +2 -4
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js +2 -4
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/ContentTypeModel.js +0 -1
- package/esm/models/content/ContentTypeModel.js.map +1 -1
- package/esm/models/content/SectionModel.js +1 -2
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationResults.js +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/esm/models/detail/DetailModel.js +2 -2
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorModel.js +0 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js +11 -22
- package/esm/models/error/ErrorResponse.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js +2 -4
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js +2 -4
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/FilterModel.js +0 -1
- package/esm/models/filters/FilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js +13 -28
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +6 -11
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js +1 -1
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/index.js +0 -1
- package/esm/models/index.js.map +1 -1
- package/esm/models/list/ListDetailModel.js +4 -6
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListModel.js +2 -2
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js +0 -1
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js +0 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js +0 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/sorting/SortOptionModel.js +0 -1
- package/esm/models/sorting/SortOptionModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js +1 -1
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/tab/TabModel.js +1 -2
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupCollection.js +0 -1
- package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/esm/models/user/UserModel.js +0 -1
- package/esm/models/user/UserModel.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +4 -9
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/ModularUIResponse.js +2 -3
- package/esm/modularui/ModularUIResponse.js.map +1 -1
- package/esm/modularui/index.js +0 -1
- package/esm/modularui/index.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.js +0 -1
- package/esm/react/ErrorBoundaryFallback.js.map +1 -1
- package/esm/react/index.js +0 -1
- package/esm/react/index.js.map +1 -1
- package/esm/react/utils.js +0 -2
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/Init.js +0 -1
- package/esm/react-client/Init.js.map +1 -1
- package/esm/react-client/contextPath.js +0 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/react-client/index.js +0 -1
- package/esm/react-client/index.js.map +1 -1
- package/esm/react-client/rehydrate.js +1 -1
- package/esm/react-client/rehydrate.js.map +1 -1
- package/esm/react-server/contextPath.js +0 -1
- package/esm/react-server/contextPath.js.map +1 -1
- package/esm/react-server/htmlpage.js +1 -1
- package/esm/react-server/htmlpage.js.map +1 -1
- package/esm/react-server/index.js +0 -1
- package/esm/react-server/index.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +0 -1
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js +0 -1
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/requestInformation.js +0 -1
- package/esm/react-server/requestInformation.js.map +1 -1
- package/esm/react-server/serverNoSSR.js +1 -3
- package/esm/react-server/serverNoSSR.js.map +1 -1
- package/esm/react-server/serverSSR.js +0 -1
- package/esm/react-server/serverSSR.js.map +1 -1
- package/esm/react-theme/ThemeProvider.js +0 -1
- package/esm/react-theme/ThemeProvider.js.map +1 -1
- package/esm/react-theme/index.js +0 -1
- package/esm/react-theme/index.js.map +1 -1
- package/esm/react-theme/useTheme.js +0 -1
- package/esm/react-theme/useTheme.js.map +1 -1
- package/esm/react-theme/utils/background.js +0 -1
- package/esm/react-theme/utils/background.js.map +1 -1
- package/esm/react-theme/utils/colors.js +0 -1
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js +1 -3
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js +0 -1
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js +0 -1
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/actions.js +0 -1
- package/esm/redux/_i18n/actions.js.map +1 -1
- package/esm/redux/_i18n/index.js +0 -1
- package/esm/redux/_i18n/index.js.map +1 -1
- package/esm/redux/_i18n/reducer.js +0 -1
- package/esm/redux/_i18n/reducer.js.map +1 -1
- package/esm/redux/_modularui/actions.js +7 -7
- package/esm/redux/_modularui/actions.js.map +1 -1
- package/esm/redux/_modularui/connector.js +2 -4
- package/esm/redux/_modularui/connector.js.map +1 -1
- package/esm/redux/_modularui/index.js +0 -1
- package/esm/redux/_modularui/index.js.map +1 -1
- package/esm/redux/_modularui/modularuiUtils.js +2 -2
- package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
- package/esm/redux/_modularui/reducer.js +1 -2
- package/esm/redux/_modularui/reducer.js.map +1 -1
- package/esm/redux/_modularui/selectors.js +7 -13
- package/esm/redux/_modularui/selectors.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js +0 -1
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/actions.js +0 -2
- package/esm/redux/_router/actions.js.map +1 -1
- package/esm/redux/_router/connectors.js +9 -19
- package/esm/redux/_router/connectors.js.map +1 -1
- package/esm/redux/_router/index.js +0 -1
- package/esm/redux/_router/index.js.map +1 -1
- package/esm/redux/_router/middleware.js +0 -2
- package/esm/redux/_router/middleware.js.map +1 -1
- package/esm/redux/_router/reducer.js +0 -2
- package/esm/redux/_router/reducer.js.map +1 -1
- package/esm/redux/actions/Application.js +0 -1
- package/esm/redux/actions/Application.js.map +1 -1
- package/esm/redux/actions/Authorization.js +4 -7
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/redux/actions/Error.js +0 -1
- package/esm/redux/actions/Error.js.map +1 -1
- package/esm/redux/actions/Form.js +0 -1
- package/esm/redux/actions/Form.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js +2 -4
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAttributeSetRepeatable.js +0 -1
- package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/esm/redux/actions/FormAutosave.js +0 -1
- package/esm/redux/actions/FormAutosave.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js +0 -1
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/FormValidations.js +0 -1
- package/esm/redux/actions/FormValidations.js.map +1 -1
- package/esm/redux/actions/Modals.js +0 -2
- package/esm/redux/actions/Modals.js.map +1 -1
- package/esm/redux/actions/Notification.js +0 -1
- package/esm/redux/actions/Notification.js.map +1 -1
- package/esm/redux/actions/Preferences.js +5 -5
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/actions/ProgressIndicator.js +0 -2
- package/esm/redux/actions/ProgressIndicator.js.map +1 -1
- package/esm/redux/actions/SignIn.js +2 -3
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/esm/redux/actions/SignOut.js +0 -1
- package/esm/redux/actions/SignOut.js.map +1 -1
- package/esm/redux/actions/index.js +0 -1
- package/esm/redux/actions/index.js.map +1 -1
- package/esm/redux/connectors/Application.js +0 -1
- package/esm/redux/connectors/Application.js.map +1 -1
- package/esm/redux/connectors/Breadcrumb.js +0 -1
- package/esm/redux/connectors/Breadcrumb.js.map +1 -1
- package/esm/redux/connectors/CaseView.js +0 -1
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js +0 -1
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js +0 -1
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js +0 -1
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js +0 -1
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js +3 -7
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js +0 -1
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js +0 -1
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js +0 -1
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/Notification.js +0 -1
- package/esm/redux/connectors/Notification.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js +0 -1
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/Preferences.js +0 -1
- package/esm/redux/connectors/Preferences.js.map +1 -1
- package/esm/redux/connectors/Progress.js +0 -1
- package/esm/redux/connectors/Progress.js.map +1 -1
- package/esm/redux/connectors/ProgressIndicator.js +0 -1
- package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js +0 -1
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/SignIn.js +1 -2
- package/esm/redux/connectors/SignIn.js.map +1 -1
- package/esm/redux/connectors/SignOut.js +3 -7
- package/esm/redux/connectors/SignOut.js.map +1 -1
- package/esm/redux/connectors/Tab.js +0 -1
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/connectors/index.js +0 -1
- package/esm/redux/connectors/index.js.map +1 -1
- package/esm/redux/index.js +0 -2
- package/esm/redux/index.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js +0 -2
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js +0 -2
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js +0 -1
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js +0 -2
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js +2 -4
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js +1 -4
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/reducers/createReducer.js +0 -1
- package/esm/redux/reducers/createReducer.js.map +1 -1
- package/esm/redux/reducers/index.js +0 -1
- package/esm/redux/reducers/index.js.map +1 -1
- package/esm/redux/selectors/i18n.js +1 -4
- package/esm/redux/selectors/i18n.js.map +1 -1
- package/esm/redux/selectors/index.js +0 -1
- package/esm/redux/selectors/index.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js +0 -2
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js +0 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/utils/browser/Cache.js +0 -1
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/browser/Cookies.js +3 -4
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/helpers/createHash.js +0 -2
- package/esm/utils/helpers/createHash.js.map +1 -1
- package/esm/utils/helpers/createUUID.js +0 -1
- package/esm/utils/helpers/createUUID.js.map +1 -1
- package/esm/utils/helpers/objects.js +0 -1
- package/esm/utils/helpers/objects.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js +0 -1
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/helpers/text.js +0 -1
- package/esm/utils/helpers/text.js.map +1 -1
- package/esm/utils/index.js +0 -2
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/number/formatValue.js +0 -1
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js +0 -1
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/constants/LayoutHints.js +0 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js +0 -1
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/ConfigurationException.js +0 -1
- package/lib/exceptions/ConfigurationException.js.map +1 -1
- package/lib/exceptions/FetchException.js +1 -2
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/exceptions/UnauthorizedException.js +0 -1
- package/lib/exceptions/UnauthorizedException.js.map +1 -1
- package/lib/hooks/useAllFormsOnModel.js +0 -1
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js +4 -5
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js +0 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js +0 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js +1 -2
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js +0 -1
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js +0 -1
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js +1 -2
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModels.js +0 -1
- package/lib/hooks/useModels.js.map +1 -1
- package/lib/hooks/useModularUI.js +0 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js +3 -4
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js +0 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js +0 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js +0 -1
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js +0 -1
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/hooks/useProgressIndicator.js +0 -1
- package/lib/hooks/useProgressIndicator.js.map +1 -1
- package/lib/hooks/useRouter.js +3 -13
- package/lib/hooks/useRouter.js.map +1 -1
- package/lib/i18n/Locale.js +0 -1
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js +0 -1
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js +0 -1
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/withMessage.js +0 -1
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/models/actions/ActionCollection.js +0 -1
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js +0 -1
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +2 -5
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js +3 -9
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js +4 -8
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js +1 -3
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js +2 -5
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js +0 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js +0 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js +0 -1
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +2 -5
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js +0 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js +2 -4
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js +2 -6
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js +3 -6
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js +0 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/HelptextAttributeModel.js +1 -2
- package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/lib/models/attributes/LabelAttributeModel.js +1 -2
- package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
- package/lib/models/attributes/MemoAttributeModel.js +1 -2
- package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
- package/lib/models/attributes/MoneyAttributeModel.js +1 -2
- package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js +0 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js +1 -2
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js +1 -2
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js +0 -1
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/XMLAttributeModel.js +1 -2
- package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
- package/lib/models/attributes/_createAttribute.js +2 -4
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/BSNConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js +0 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js +0 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RangeConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RegexConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/StringLengthConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/XMLConstraint.js +0 -1
- package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -3
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +0 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +0 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/base/BaseCollection.js +0 -1
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js +0 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceCollection.js +1 -2
- package/lib/models/base/ResourceCollection.js.map +1 -1
- package/lib/models/base/ResourceModel.js +0 -1
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js +0 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +4 -13
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +1 -3
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js +1 -3
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js +2 -4
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js +0 -1
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js +0 -1
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js +0 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js +0 -1
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js +0 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js +3 -9
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +1 -2
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js +2 -5
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js +2 -5
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/ContentTypeModel.js +0 -1
- package/lib/models/content/ContentTypeModel.js.map +1 -1
- package/lib/models/content/SectionModel.js +1 -3
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js +0 -1
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js +0 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js +0 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js +0 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js +0 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationResults.js +1 -2
- package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/lib/models/detail/DetailModel.js +2 -3
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js +0 -1
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js +0 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js +11 -23
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js +0 -1
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js +2 -5
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js +0 -1
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js +2 -5
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/FilterModel.js +0 -1
- package/lib/models/filters/FilterModel.js.map +1 -1
- package/lib/models/filters/RangeFilterModel.js +0 -1
- package/lib/models/filters/RangeFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js +13 -29
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +6 -12
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/grouping/GroupingModel.js +1 -2
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/href/Href.js +0 -1
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js +0 -1
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js +0 -1
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js +0 -1
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js +0 -1
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/list/ListDetailModel.js +4 -7
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListHeaderModel.js +0 -1
- package/lib/models/list/ListHeaderModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js +0 -1
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js +0 -1
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js +2 -3
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/lookup/LookupOptionCollection.js +0 -1
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js +0 -1
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCatalogModel.js +0 -1
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js +0 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js +0 -1
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/parameter/Parameter.js +0 -1
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js +0 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/resolveModel.js +0 -1
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/search/CaseSearchModel.js +0 -1
- package/lib/models/search/CaseSearchModel.js.map +1 -1
- package/lib/models/sorting/SortOptionModel.js +0 -1
- package/lib/models/sorting/SortOptionModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js +1 -2
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/tab/TabModel.js +1 -3
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupCollection.js +0 -1
- package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js +0 -1
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/user/UserModel.js +0 -1
- package/lib/models/user/UserModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js +0 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js +0 -1
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js +0 -1
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +4 -10
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js +2 -4
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/react/ErrorBoundary.js +0 -1
- package/lib/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js +0 -1
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react/utils.js +0 -1
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/Init.js +0 -1
- package/lib/react-client/Init.js.map +1 -1
- package/lib/react-client/client.js +0 -1
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/rehydrate.js +1 -2
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/contextPath.js +0 -1
- package/lib/react-server/contextPath.js.map +1 -1
- package/lib/react-server/createSSRComplete.js +0 -1
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/htmlpage.js +1 -2
- package/lib/react-server/htmlpage.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js +0 -1
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js +0 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/requestInformation.js +0 -1
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverNoSSR.js +1 -3
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js +0 -1
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js +0 -1
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js +0 -1
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js +0 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/useTheme.js +0 -1
- package/lib/react-theme/useTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js +0 -1
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js +0 -1
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js +1 -3
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js +0 -1
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js +0 -1
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js +0 -1
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/actions.js +0 -1
- package/lib/redux/_i18n/actions.js.map +1 -1
- package/lib/redux/_i18n/reducer.js +0 -1
- package/lib/redux/_i18n/reducer.js.map +1 -1
- package/lib/redux/_modularui/actions.js +7 -8
- package/lib/redux/_modularui/actions.js.map +1 -1
- package/lib/redux/_modularui/connector.js +2 -4
- package/lib/redux/_modularui/connector.js.map +1 -1
- package/lib/redux/_modularui/middleware.js +0 -1
- package/lib/redux/_modularui/middleware.js.map +1 -1
- package/lib/redux/_modularui/modularuiUtils.js +2 -3
- package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
- package/lib/redux/_modularui/reducer.js +1 -3
- package/lib/redux/_modularui/reducer.js.map +1 -1
- package/lib/redux/_modularui/selectors.js +7 -14
- package/lib/redux/_modularui/selectors.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js +0 -1
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/actions.js +0 -1
- package/lib/redux/_router/actions.js.map +1 -1
- package/lib/redux/_router/connectors.js +9 -19
- package/lib/redux/_router/connectors.js.map +1 -1
- package/lib/redux/_router/middleware.js +0 -1
- package/lib/redux/_router/middleware.js.map +1 -1
- package/lib/redux/_router/reducer.js +0 -1
- package/lib/redux/_router/reducer.js.map +1 -1
- package/lib/redux/actions/Application.js +0 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js +4 -7
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js +0 -1
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/Form.js +0 -1
- package/lib/redux/actions/Form.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js +2 -4
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js +0 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js +0 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js +0 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js +0 -1
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Modals.js +0 -1
- package/lib/redux/actions/Modals.js.map +1 -1
- package/lib/redux/actions/Notification.js +0 -1
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js +5 -6
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/ProgressIndicator.js +0 -1
- package/lib/redux/actions/ProgressIndicator.js.map +1 -1
- package/lib/redux/actions/SignIn.js +2 -4
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/SignOut.js +0 -1
- package/lib/redux/actions/SignOut.js.map +1 -1
- package/lib/redux/connectors/Application.js +0 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js +0 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js +0 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js +0 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js +0 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js +0 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js +0 -1
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js +3 -7
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js +0 -1
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js +0 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js +0 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js +0 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js +0 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js +0 -1
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js +0 -1
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js +0 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js +0 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js +0 -1
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js +1 -2
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js +3 -7
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js +0 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js +0 -1
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js +0 -1
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js +0 -1
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js +0 -1
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js +2 -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/reducers/createReducer.js +0 -1
- package/lib/redux/reducers/createReducer.js.map +1 -1
- package/lib/redux/selectors/i18n.js +1 -3
- package/lib/redux/selectors/i18n.js.map +1 -1
- package/lib/redux/store/beforeRenderHooks.js +0 -1
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js +0 -1
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/utils/browser/Cache.js +0 -1
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/browser/Cookies.js +3 -4
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js +0 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/serverFetch.js +0 -1
- package/lib/utils/fetch/serverFetch.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js +0 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js +0 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js +0 -1
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/createHash.js +0 -1
- package/lib/utils/helpers/createHash.js.map +1 -1
- package/lib/utils/helpers/objects.js +0 -1
- package/lib/utils/helpers/objects.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js +0 -1
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js +0 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/number/formatValue.js +0 -1
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js +0 -1
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +18 -13
- package/types/constants/Constants.d.ts +151 -0
- package/types/constants/LayoutHintConfig.d.ts +241 -0
- package/types/constants/LayoutHints.d.ts +78 -0
- package/types/constants/Settings.d.ts +16 -0
- package/types/constants/index.d.ts +3 -0
- package/types/exceptions/ConfigurationException.d.ts +6 -0
- package/types/exceptions/FetchException.d.ts +31 -0
- package/types/exceptions/IllegalArgumentException.d.ts +6 -0
- package/types/exceptions/IllegalReturnException.d.ts +5 -0
- package/types/exceptions/IllegalStateException.d.ts +6 -0
- package/types/exceptions/JsonParseException.d.ts +6 -0
- package/types/exceptions/MissingPropertyException.d.ts +6 -0
- package/types/exceptions/NetworkException.d.ts +9 -0
- package/types/exceptions/NotAllowedUriException.d.ts +6 -0
- package/types/exceptions/NotFoundException.d.ts +10 -0
- package/types/exceptions/ServerRequestException.d.ts +6 -0
- package/types/exceptions/ThemePropertyException.d.ts +6 -0
- package/types/exceptions/TimeoutException.d.ts +7 -0
- package/types/exceptions/UnauthorizedException.d.ts +11 -0
- package/types/exceptions/UnsupportedOperationException.d.ts +6 -0
- package/types/exceptions/index.d.ts +15 -0
- package/types/hooks/useI18n.d.ts +9 -0
- package/types/i18n/Locale.d.ts +53 -0
- package/types/i18n/Locales.d.ts +55 -0
- package/types/i18n/Message.d.ts +6 -0
- package/types/i18n/index.d.ts +5 -0
- package/types/i18n/languages.d.ts +215 -0
- package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -0
- package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -0
- package/types/i18n/types.d.ts +11 -0
- package/types/i18n/withMessage.d.ts +3 -0
- package/types/index.d.ts +6 -0
- package/types/models/actions/ActionCollection.d.ts +29 -0
- package/types/models/actions/ActionModel.d.ts +84 -0
- package/types/models/application/ApplicationModel.d.ts +41 -0
- package/types/models/attributes/AttributeCollection.d.ts +96 -0
- package/types/models/attributes/AttributeContent.d.ts +64 -0
- package/types/models/attributes/AttributeDataHelper.d.ts +67 -0
- package/types/models/attributes/AttributeModel.d.ts +395 -0
- package/types/models/attributes/AttributeSetModel.d.ts +28 -0
- package/types/models/attributes/BooleanAttributeModel.d.ts +65 -0
- package/types/models/attributes/CaptchaAttributeModel.d.ts +10 -0
- package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -0
- package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +82 -0
- package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -0
- package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -0
- package/types/models/attributes/CompositeAttributeModel.d.ts +44 -0
- package/types/models/attributes/DatetimeAttributeModel.d.ts +111 -0
- package/types/models/attributes/HelptextAttributeModel.d.ts +16 -0
- package/types/models/attributes/LabelAttributeModel.d.ts +12 -0
- package/types/models/attributes/MemoAttributeModel.d.ts +14 -0
- package/types/models/attributes/MoneyAttributeModel.d.ts +14 -0
- package/types/models/attributes/NumberAttributeModel.d.ts +49 -0
- package/types/models/attributes/PasswordAttributeModel.d.ts +62 -0
- package/types/models/attributes/StringAttributeModel.d.ts +62 -0
- package/types/models/attributes/UploadAttributeModel.d.ts +54 -0
- package/types/models/attributes/XMLAttributeModel.d.ts +10 -0
- package/types/models/attributes/_createAttribute.d.ts +6 -0
- package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -0
- package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -0
- package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -0
- package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -0
- package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -0
- package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -0
- package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -0
- package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -0
- package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -0
- package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -0
- package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -0
- package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -0
- package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -0
- package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -0
- package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -0
- package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -0
- package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -0
- package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -0
- package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -0
- package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -0
- package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -0
- package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -0
- package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -0
- package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -0
- package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -0
- package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -0
- package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -0
- package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -0
- package/types/models/base/BaseCollection.d.ts +89 -0
- package/types/models/base/BaseModel.d.ts +58 -0
- package/types/models/base/ResourceCollection.d.ts +19 -0
- package/types/models/base/ResourceModel.d.ts +93 -0
- package/types/models/caseview/CaseViewModel.d.ts +45 -0
- package/types/models/concepts/BusinessScenarioModel.d.ts +20 -0
- package/types/models/concepts/ConceptDetailModel.d.ts +69 -0
- package/types/models/concepts/ConceptIndexModel.d.ts +36 -0
- package/types/models/concepts/ConceptLinkModel.d.ts +65 -0
- package/types/models/concepts/ConceptRelationCollection.d.ts +34 -0
- package/types/models/concepts/ConceptRelationModel.d.ts +43 -0
- package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -0
- package/types/models/concepts/SourceReferenceCollection.d.ts +13 -0
- package/types/models/concepts/SourceReferenceModel.d.ts +30 -0
- package/types/models/content/ContentIndexModel.d.ts +34 -0
- package/types/models/content/ContentLinkModel.d.ts +81 -0
- package/types/models/content/ContentModel.d.ts +74 -0
- package/types/models/content/ContentTOCModel.d.ts +37 -0
- package/types/models/content/ContentTypeModel.d.ts +26 -0
- package/types/models/content/SectionModel.d.ts +75 -0
- package/types/models/content/SubSectionModel.d.ts +64 -0
- package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -0
- package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -0
- package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -0
- package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -0
- package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -0
- package/types/models/detail/DetailModel.d.ts +72 -0
- package/types/models/error/ErrorCollection.d.ts +51 -0
- package/types/models/error/ErrorModel.d.ts +36 -0
- package/types/models/error/ErrorResponse.d.ts +148 -0
- package/types/models/filters/AssignmentFilterModel.d.ts +35 -0
- package/types/models/filters/BaseFilterModel.d.ts +85 -0
- package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -0
- package/types/models/filters/FilterCollection.d.ts +48 -0
- package/types/models/filters/FilterModel.d.ts +5 -0
- package/types/models/filters/RangeFilterModel.d.ts +6 -0
- package/types/models/form/FormModel.d.ts +309 -0
- package/types/models/form/FormObjectModel.d.ts +168 -0
- package/types/models/grouping/GroupingModel.d.ts +85 -0
- package/types/models/href/Href.d.ts +17 -0
- package/types/models/href/ListHref.d.ts +64 -0
- package/types/models/index.d.ts +94 -0
- package/types/models/layouthint/LayoutHintCollection.d.ts +43 -0
- package/types/models/links/LinkCollection.d.ts +62 -0
- package/types/models/links/LinkModel.d.ts +92 -0
- package/types/models/links/normalizeLinkJSON.d.ts +9 -0
- package/types/models/list/ListDetailModel.d.ts +69 -0
- package/types/models/list/ListHeaderModel.d.ts +64 -0
- package/types/models/list/ListItemCollection.d.ts +21 -0
- package/types/models/list/ListItemModel.d.ts +34 -0
- package/types/models/list/ListModel.d.ts +135 -0
- package/types/models/lookup/LookupOptionCollection.d.ts +11 -0
- package/types/models/lookup/LookupOptionsModel.d.ts +19 -0
- package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -0
- package/types/models/paging/PagesizeModel.d.ts +25 -0
- package/types/models/paging/PagingModel.d.ts +49 -0
- package/types/models/panels/GroupingPanelModel.d.ts +39 -0
- package/types/models/parameter/Parameter.d.ts +40 -0
- package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -0
- package/types/models/resolveModel.d.ts +7 -0
- package/types/models/search/CaseSearchModel.d.ts +14 -0
- package/types/models/sorting/SortOptionModel.d.ts +48 -0
- package/types/models/sorting/SortingModel.d.ts +42 -0
- package/types/models/tab/TabModel.d.ts +44 -0
- package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -0
- package/types/models/taskgroup/TaskGroupModel.d.ts +15 -0
- package/types/models/types.d.ts +147 -0
- package/types/models/user/UserModel.d.ts +14 -0
- package/types/models/user/UserProfileModel.d.ts +12 -0
- package/types/models/user/UserServicesModel.d.ts +28 -0
- package/types/modularui/Authenticate.d.ts +42 -0
- package/types/modularui/ModularUIError.d.ts +10 -0
- package/types/modularui/ModularUIRequest.d.ts +170 -0
- package/types/modularui/ModularUIResponse.d.ts +56 -0
- package/types/modularui/index.d.ts +3 -0
- package/types/redux/_i18n/types.d.ts +13 -0
- package/types/redux/_modularui/types.d.ts +49 -0
- package/types/redux/_router/types.d.ts +35 -0
- package/types/redux/selectors/i18n.d.ts +4 -0
- package/types/redux/types.d.ts +105 -0
- package/types/utils/browser/Cache.d.ts +45 -0
- package/types/utils/browser/Cookies.d.ts +15 -0
- package/types/utils/datetime/DateTimeUtil.d.ts +164 -0
- package/types/utils/fetch/serverFetch.d.ts +5 -0
- package/types/utils/fetch/types.d.ts +38 -0
- package/types/utils/fetch/universalFetch.d.ts +7 -0
- package/types/utils/fetch/xhr.d.ts +5 -0
- package/types/utils/helpers/checkResource.d.ts +3 -0
- package/types/utils/helpers/createHash.d.ts +8 -0
- package/types/utils/helpers/createUUID.d.ts +4 -0
- package/types/utils/helpers/objects.d.ts +3 -0
- package/types/utils/helpers/sanitizeHtml.d.ts +9 -0
- package/types/utils/helpers/text.d.ts +7 -0
- package/types/utils/index.d.ts +16 -0
- package/types/utils/number/DecimalFormat.d.ts +90 -0
- package/types/utils/number/formatValue.d.ts +4 -0
- package/types/utils/number/parseNumbers.d.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanAttributeModel.js","names":["BooleanAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","isApplicableModel","contributions","type","date","options","choicetype","hint","layouthint","has","isMultiple","isTree","hasContentConfiguration","_hasContentConfiguration","contentConfiguration","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","selected","option","code","readonlyvalue","label","join","initvalue","Array","isArray","_initvalue","length","getValue","hasValue","getInputValue","toggleOption","disableOption","enableOption","deselectAll","select","inputvalue","deselect","reset","mergeAttribute","oldAttribute","readonly","concept","isValid","update","value","updateLastModification","values","split","forEach","val","ChoiceAttributeOptionModel","some","toString","getFormData","inError","name","readonlyWidth","hasAlternativeLabel","ATTRIBUTE_WIDTH","SMALL","EXTRA_SMALL"],"sources":["../../../src/models/attributes/BooleanAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\n\nimport { RENDER_SECTION_LABEL } from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Model for a boolean attribute\n */\nexport default class BooleanAttributeModel extends AttributeModel {\n _referenceDate: string;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean = false;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n this.referenceDate\n );\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"boolean\";\n }\n\n /**\n */\n get type(): string {\n return \"boolean\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): string {\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 * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype(): \"checkbox\" | \"radiobutton\" | \"combobox\" | \"toggle\" {\n return (\n [\"checkbox\", \"radiobutton\", \"combobox\", \"toggle\"].find((hint) =>\n this.layouthint.has(hint)\n ) || \"radiobutton\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return false;\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return false;\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 * 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 this.options.deselectAll();\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 * Reset boolean attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof BooleanAttributeModel) {\n this.concept = oldAttribute.concept;\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): BooleanAttributeModel {\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 {\n values = [value];\n }\n\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\n }\n\n /**\n */\n getFormData(): { [string]: boolean | null } | null {\n if (this.inError()) {\n return null;\n }\n\n if (!this.hasValue()) {\n // no value for checkbox and toggle is same as a false value\n if (this.choicetype === \"checkbox\" || this.choicetype === \"toggle\") {\n return { [this.name]: false };\n }\n\n return { [this.name]: null };\n }\n\n return { [this.name]: this.value === \"true\" };\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.options.some((option) => option.hasAlternativeLabel)) {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.EXTRA_SMALL;\n }\n}\n"],"mappings":";;;;;;;;;;;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;;AAIA;AACA;AACA;AACe,MAAMA,qBAAqB,SAASC,uBAAc,CAAC;EAKhE;AACF;EACEC,WAAW,CAACC,SAAiB,EAAEC,sBAA8B,EAAE;IAC7D,KAAK,CAACD,SAAS,EAAEC,sBAAsB,CAAC;IAAC;IAAA;IAAA,gEALP,KAAK;IAOvC,IAAI,CAACC,cAAc,GAAG,IAAI,CAACC,OAAO,CAAC,eAAe,EAAEC,sBAAQ,CAACC,GAAG,EAAE,CAAC;IACnE,IAAI,CAACC,QAAQ,GAAGC,wCAA+B,CAACC,MAAM,CACpDR,SAAS,EACTC,sBAAsB,EACtB,IAAI,CAACQ,aAAa,CACnB;EACH;;EAEA;AACF;EACE,OAAOC,iBAAiB,CAACC,aAAqB,EAAW;IACvD,OAAOA,aAAa,CAACC,IAAI,KAAK,SAAS;EACzC;;EAEA;AACF;EACE,IAAIA,IAAI,GAAW;IACjB,OAAO,SAAS;EAClB;;EAEA;AACF;AACA;EACE,IAAIH,aAAa,GAAW;IAC1B,OAAO,IAAI,CAACP,cAAc;EAC5B;;EAEA;AACF;AACA;EACE,IAAIO,aAAa,CAACI,IAAY,EAAE;IAC9B,IAAI,CAACX,cAAc,GAAGW,IAAI;IAE1B,IAAI,CAACC,OAAO,CAACL,aAAa,GAAGI,IAAI;EACnC;;EAEA;AACF;AACA;EACE,IAAIE,UAAU,GAAuD;IAAA;IACnE,OACE,+BAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,iBAAOC,IAAI,IAC1D,IAAI,CAACC,UAAU,CAACC,GAAG,CAACF,IAAI,CAAC,CAC1B,IAAI,aAAa;EAEtB;;EAEA;AACF;AACA;EACE,IAAIG,UAAU,GAAY;IACxB,OAAO,KAAK;EACd;;EAEA;AACF;AACA;EACE,IAAIC,MAAM,GAAY;IACpB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,uBAAuB,CAACA,uBAAgC,EAAE;IAC5D,IAAI,CAACC,wBAAwB,GAC3B,IAAI,CAACC,oBAAoB,KAAK,IAAI,IAAIF,uBAAuB;EACjE;;EAEA;AACF;EACE,IAAIA,uBAAuB,GAAY;IACrC,OAAO,IAAI,CAACC,wBAAwB;EACtC;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAIC,oBAAoB,GAAwC;IAAA;IAC9D,IACE,CAAC,IAAI,CAACZ,aAAa,CAACa,OAAO,IAC3B,CAAC,IAAI,CAACb,aAAa,CAACa,OAAO,CAACC,cAAc,EAC1C;MACA,OAAO,IAAI;IACb;;IAEA;IACA,MAAMC,mBAAmB,GAAG,kCAAI,CAACf,aAAa,CAACa,OAAO,CAACC,cAAc,kBAClEE,aAAa,IAAK;MACjB,IAAI,gBAAgB,IAAIA,aAAa,EAAE;QACrC,OAAO;UACLC,cAAc,EAAE;YACd,GAAGD,aAAa,CAACC,cAAc;YAC/BX,UAAU,EAAE,CAACY,iCAAoB;UACnC;QACF,CAAC;MACH;MAEA,OAAOF,aAAa;IACtB,CAAC,CACF;IAED,OAAO,IAAIG,qCAA4B,CAACJ,mBAAmB,CAAC;EAC9D;;EAEA;AACF;AACA;EACE,IAAIZ,OAAO,GAAoC;IAC7C,OAAO,IAAI,CAACR,QAAQ;EACtB;;EAEA;AACF;AACA;EACE,IAAIyB,QAAQ,GAAkB;IAAA;IAC5B;IACA,OAAO,kCAAI,CAACjB,OAAO,CAACiB,QAAQ,kBACzBC,MAAkC,IAAKA,MAAM,CAACC,IAAI,CACpD;EACH;;EAEA;AACF;AACA;EACE,IAAIC,aAAa,GAAW;IAAA;IAC1B,OAAO,kCAAI,CAACpB,OAAO,CAACiB,QAAQ,kBAAMC,MAAM,IAAKA,MAAM,CAACG,KAAK,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;EACvE;;EAEA;AACF;EACE,IAAIC,SAAS,GAAQ;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,QAAQ,GAAkB;IAAA;IACxB,OAAO,IAAI,CAAC5B,OAAO,CAACiB,QAAQ,CAACU,MAAM,GAAG,CAAC,GACnC,kCAAI,CAAC3B,OAAO,CAACiB,QAAQ,kBAAMC,MAAM,IAAKA,MAAM,CAACC,IAAI,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC,GAC5D,IAAI;EACV;;EAEA;AACF;EACEO,QAAQ,GAAY;IAClB,OAAO,IAAI,CAAC7B,OAAO,CAACiB,QAAQ,CAACU,MAAM,GAAG,CAAC;EACzC;;EAEA;AACF;AACA;EACEG,aAAa,GAAW;IACtB,OAAO,IAAI,CAACb,QAAQ,CAACK,IAAI,CAAC,GAAG,CAAC;EAChC;;EAEA;AACF;AACA;EACES,YAAY,CAACZ,IAAY,EAAE;IAAA;IACzB,IAAI,uCAAI,CAACF,QAAQ,kBAAUE,IAAI,CAAC,EAAE;MAChC,IAAI,CAACa,aAAa,CAACb,IAAI,CAAC;IAC1B,CAAC,MAAM;MACL,IAAI,CAACc,YAAY,CAACd,IAAI,CAAC;IACzB;EACF;;EAEA;AACF;AACA;EACEc,YAAY,CAACd,IAAY,EAAE;IACzB,IAAI,CAACnB,OAAO,CAACkC,WAAW,EAAE;IAC1B,IAAI,CAAClC,OAAO,CAACmC,MAAM,CAAChB,IAAI,CAAC;IACzB,IAAI,CAACiB,UAAU,GAAG,IAAI,CAACN,aAAa,EAAE;EACxC;;EAEA;AACF;AACA;EACEE,aAAa,CAACb,IAAY,EAAE;IAC1B,IAAI,CAACnB,OAAO,CAACqC,QAAQ,CAAClB,IAAI,CAAC;IAC3B,IAAI,CAACiB,UAAU,GAAG,IAAI,CAACN,aAAa,EAAE;EACxC;;EAEA;AACF;AACA;EACEQ,KAAK,GAAG;IACN,IAAI,CAACtC,OAAO,CAACkC,WAAW,EAAE;EAC5B;;EAEA;AACF;EACEK,cAAc,CAACC,YAA2B,EAAE;IAC1C;IACA,IAAI,CAAC,IAAI,CAACC,QAAQ,IAAID,YAAY,YAAYzD,qBAAqB,EAAE;MACnE,IAAI,CAAC2D,OAAO,GAAGF,YAAY,CAACE,OAAO;MACnC,IAAI,CAAC1C,OAAO,CAACkC,WAAW,EAAE;MAE1B,IAAIM,YAAY,CAACG,OAAO,IAAIH,YAAY,CAACJ,UAAU,KAAK,IAAI,EAAE;QAC5D,IAAI,CAACQ,MAAM,CAACJ,YAAY,CAACJ,UAAU,CAAC;MACtC;IACF;EACF;;EAEA;AACF;AACA;EACEQ,MAAM,CAACC,KAAU,EAAyB;IACxC,IAAI,IAAI,CAACJ,QAAQ,EAAE;MACjB,OAAO,IAAI;IACb;IAEA,IAAI,CAACK,sBAAsB,EAAE;IAE7B,IAAIC,MAAM;IAEV,IAAIvB,KAAK,CAACC,OAAO,CAACoB,KAAK,CAAC,EAAE;MACxBE,MAAM,GAAGF,KAAK;IAChB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,IAAI,CAACxC,UAAU,EAAE;MACvD0C,MAAM,GAAGF,KAAK,CAACG,KAAK,CAAC,GAAG,CAAC;IAC3B,CAAC,MAAM;MACLD,MAAM,GAAG,CAACF,KAAK,CAAC;IAClB;IAEAE,MAAM,CAACE,OAAO,CAAEC,GAAG,IAAK;MACtB,IAAIA,GAAG,YAAYC,mCAA0B,EAAE;QAC7C,IAAI,CAACpB,YAAY,CAACmB,GAAG,CAAC/B,IAAI,CAAC;MAC7B,CAAC,MAAM,IACL,OAAO+B,GAAG,KAAK,QAAQ,IACvB,IAAI,CAAClD,OAAO,CAACoD,IAAI,CAAElC,MAAM,IAAKA,MAAM,CAACC,IAAI,CAACkC,QAAQ,EAAE,KAAKH,GAAG,CAAC,EAC7D;QACA,IAAI,CAACnB,YAAY,CAACmB,GAAG,CAAC;MACxB;IACF,CAAC,CAAC;IAEF,OAAO,IAAI;EACb;;EAEA;AACF;EACEI,WAAW,GAAwC;IACjD,IAAI,IAAI,CAACC,OAAO,EAAE,EAAE;MAClB,OAAO,IAAI;IACb;IAEA,IAAI,CAAC,IAAI,CAAC1B,QAAQ,EAAE,EAAE;MACpB;MACA,IAAI,IAAI,CAAC5B,UAAU,KAAK,UAAU,IAAI,IAAI,CAACA,UAAU,KAAK,QAAQ,EAAE;QAClE,OAAO;UAAE,CAAC,IAAI,CAACuD,IAAI,GAAG;QAAM,CAAC;MAC/B;MAEA,OAAO;QAAE,CAAC,IAAI,CAACA,IAAI,GAAG;MAAK,CAAC;IAC9B;IAEA,OAAO;MAAE,CAAC,IAAI,CAACA,IAAI,GAAG,IAAI,CAACX,KAAK,KAAK;IAAO,CAAC;EAC/C;;EAEA;AACF;EACE,IAAIY,aAAa,GAAkC;IACjD,IAAI,IAAI,CAACzD,OAAO,CAACoD,IAAI,CAAElC,MAAM,IAAKA,MAAM,CAACwC,mBAAmB,CAAC,EAAE;MAC7D,OAAOC,0BAAe,CAACC,KAAK;IAC9B;IAEA,OAAOD,0BAAe,CAACE,WAAW;EACpC;AACF;AAAC"}
|
|
1
|
+
{"version":3,"file":"BooleanAttributeModel.js","names":["BooleanAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","isApplicableModel","contributions","type","date","options","choicetype","hint","layouthint","has","isMultiple","isTree","hasContentConfiguration","_hasContentConfiguration","contentConfiguration","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","selected","option","code","readonlyvalue","label","join","initvalue","Array","isArray","_initvalue","length","getValue","hasValue","getInputValue","toggleOption","disableOption","enableOption","deselectAll","select","inputvalue","deselect","reset","mergeAttribute","oldAttribute","readonly","concept","isValid","update","value","updateLastModification","values","split","forEach","val","ChoiceAttributeOptionModel","some","toString","getFormData","inError","name","readonlyWidth","hasAlternativeLabel","ATTRIBUTE_WIDTH","SMALL","EXTRA_SMALL"],"sources":["../../../src/models/attributes/BooleanAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\n\nimport { RENDER_SECTION_LABEL } from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Model for a boolean attribute\n */\nexport default class BooleanAttributeModel extends AttributeModel {\n _referenceDate: string;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean = false;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n this.referenceDate\n );\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"boolean\";\n }\n\n /**\n */\n get type(): string {\n return \"boolean\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): string {\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 * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype(): \"checkbox\" | \"radiobutton\" | \"combobox\" | \"toggle\" {\n return (\n [\"checkbox\", \"radiobutton\", \"combobox\", \"toggle\"].find((hint) =>\n this.layouthint.has(hint)\n ) || \"radiobutton\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return false;\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return false;\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 * 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 this.options.deselectAll();\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 * Reset boolean attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof BooleanAttributeModel) {\n this.concept = oldAttribute.concept;\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): BooleanAttributeModel {\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 {\n values = [value];\n }\n\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\n }\n\n /**\n */\n getFormData(): { [string]: boolean | null } | null {\n if (this.inError()) {\n return null;\n }\n\n if (!this.hasValue()) {\n // no value for checkbox and toggle is same as a false value\n if (this.choicetype === \"checkbox\" || this.choicetype === \"toggle\") {\n return { [this.name]: false };\n }\n\n return { [this.name]: null };\n }\n\n return { [this.name]: this.value === \"true\" };\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.options.some((option) => option.hasAlternativeLabel)) {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.EXTRA_SMALL;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptchaAttributeModel.js","names":["CaptchaAttributeModel","AttributeModel","isApplicableModel","contributions","type","update","value","updateLastModification","inputvalue","hasDynamicValidationData"],"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 /**\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 get hasDynamicValidationData(): boolean {\n return false;\n }\n}\n"],"mappings":";;;;;;;AACA
|
|
1
|
+
{"version":3,"file":"CaptchaAttributeModel.js","names":["CaptchaAttributeModel","AttributeModel","isApplicableModel","contributions","type","update","value","updateLastModification","inputvalue","hasDynamicValidationData"],"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 /**\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 get hasDynamicValidationData(): boolean {\n return false;\n }\n}\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AACA;AACe,MAAMA,qBAAqB,SAASC,uBAAc,CAAC;EAChE;AACF;EACE,OAAOC,iBAAiB,CAACC,aAAqB,EAAW;IACvD,OAAOA,aAAa,CAACC,IAAI,KAAK,SAAS;EACzC;;EAEA;AACF;EACE,IAAIA,IAAI,GAAW;IACjB,OAAO,SAAS;EAClB;;EAEA;AACF;AACA;EACEC,MAAM,CAACC,KAAa,EAAQ;IAC1B,IAAI,CAACC,sBAAsB,EAAE;IAC7B,IAAI,CAACC,UAAU,GAAGF,KAAK;IAEvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIG,wBAAwB,GAAY;IACtC,OAAO,KAAK;EACd;AACF;AAAC"}
|
|
@@ -17,7 +17,6 @@ var _ChoiceAttributeOptionModel = _interopRequireDefault(require("./ChoiceAttrib
|
|
|
17
17
|
var _ContentConfigurationElements = _interopRequireDefault(require("../contentconfiguration/ContentConfigurationElements"));
|
|
18
18
|
var _LayoutHints = require("../../constants/LayoutHints");
|
|
19
19
|
var _constants = require("../../constants");
|
|
20
|
-
|
|
21
20
|
/**
|
|
22
21
|
* Model for a choice attribute
|
|
23
22
|
*/
|
|
@@ -70,8 +69,7 @@ class ChoiceAttributeModel extends _AttributeModel.default {
|
|
|
70
69
|
/**
|
|
71
70
|
*/
|
|
72
71
|
setChildModels(models) {
|
|
73
|
-
|
|
74
|
-
const conceptLinkHref = (_this$conceptLink = this.conceptLink) === null || _this$conceptLink === void 0 ? void 0 : _this$conceptLink.href;
|
|
72
|
+
const conceptLinkHref = this.conceptLink?.href;
|
|
75
73
|
if (conceptLinkHref) {
|
|
76
74
|
this.concept = (0, _find.default)(models).call(models, model => model.type === "ConceptDetail" && model.selfhref.equalsWithParameters(conceptLinkHref));
|
|
77
75
|
}
|
|
@@ -95,8 +93,7 @@ class ChoiceAttributeModel extends _AttributeModel.default {
|
|
|
95
93
|
/**
|
|
96
94
|
*/
|
|
97
95
|
get lookupListLabel() {
|
|
98
|
-
|
|
99
|
-
return ((_this$contributions$l = this.contributions.lookupList) === null || _this$contributions$l === void 0 ? void 0 : _this$contributions$l.label) ?? "";
|
|
96
|
+
return this.contributions.lookupList?.label ?? "";
|
|
100
97
|
}
|
|
101
98
|
|
|
102
99
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeModel.js","names":["ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","layouthint","has","SORT_OPTIONS","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","conceptLinkHref","href","concept","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","option","code","readonlyvalue","join","initvalue","Array","isArray","_initvalue","length","getValue","hasValue","getInputValue","toggleOption","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","opt","choicetype","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","readonly","mergeOptions","isValid","update","value","updateLastModification","values","split","forEach","val","ChoiceAttributeOptionModel","equals","add","toString","_hasContentConfiguration","contentConfiguration","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","addServerError","error","id","message","properties","ANSWER_OPTION_KEY","optionKey","foundOption","getContentConfiguredLabel","_errorCollection","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\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 { ModularUIModel, AttributeType, FormErrorAnchor } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\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(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n 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 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>) {\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);\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(oldAttribute: AttributeType) {\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(oldAttribute.options, this.type === \"lookup\");\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 {\n values = [value];\n }\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n if (!this.options.some((option) => option.equals(val))) {\n this.options.add(val);\n }\n\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\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 if (this.type === \"lookup\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeModel.js","names":["ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","layouthint","has","SORT_OPTIONS","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","conceptLinkHref","href","concept","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","option","code","readonlyvalue","join","initvalue","Array","isArray","_initvalue","length","getValue","hasValue","getInputValue","toggleOption","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","opt","choicetype","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","readonly","mergeOptions","isValid","update","value","updateLastModification","values","split","forEach","val","ChoiceAttributeOptionModel","equals","add","toString","_hasContentConfiguration","contentConfiguration","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","addServerError","error","id","message","properties","ANSWER_OPTION_KEY","optionKey","foundOption","getContentConfiguredLabel","_errorCollection","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\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 { ModularUIModel, AttributeType, FormErrorAnchor } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\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(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n 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 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>) {\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);\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(oldAttribute: AttributeType) {\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(oldAttribute.options, this.type === \"lookup\");\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 {\n values = [value];\n }\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n if (!this.options.some((option) => option.equals(val))) {\n this.options.add(val);\n }\n\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\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 if (this.type === \"lookup\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ var _ResourceCollection = _interopRequireDefault(require("../base/ResourceCollec
|
|
|
15
15
|
var _ChoiceAttributeOptionModel = _interopRequireDefault(require("./ChoiceAttributeOptionModel"));
|
|
16
16
|
var _ListHeaderModel = _interopRequireDefault(require("../list/ListHeaderModel"));
|
|
17
17
|
var _DateTimeUtil = require("../../utils/datetime/DateTimeUtil");
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
*/
|
|
21
20
|
class ChoiceAttributeOptionCollection extends _ResourceCollection.default {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["ChoiceAttributeOptionCollection","ResourceCollection","sortOptions","_sortOptions","collection","forEach","option","children","create","data","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","push","selected","key","toString","getOptionCount","code","foundOption","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","getDefaultValueForOption","layouthints","layouthint","requireDefaultValue","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","newOption","clone","select","toggle","deselect","action","setReferenceDate","date","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection();\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions, referenceDate);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions, referenceDate);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key)\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(\n selectedValues,\n {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(\n selectedValues,\n {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n elementsContributions: contributions.children,\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = []\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n */\n getDefaultValueForOption(value: any, contributions: Object): string {\n const layouthints = contributions.layouthint ?? [];\n\n const requireDefaultValue =\n layouthints.includes(\"checkbox\") || layouthints.includes(\"toggle\");\n\n return requireDefaultValue ? \"false\" : \"\";\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object\n ): ChoiceAttributeOptionCollection {\n const optionValue =\n value == null\n ? this.getDefaultValueForOption(value, contributions)\n : value.toString();\n\n this.addBooleanOption(\"true\", \"Yes\", [optionValue], contributions.options);\n this.addBooleanOption(\"false\", \"No\", [optionValue], contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n referenceDate\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false\n ) {\n if (addNotExistingOptions) {\n this.collection = [\n ...this.collection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code)\n ),\n ];\n }\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n }\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["ChoiceAttributeOptionCollection","ResourceCollection","sortOptions","_sortOptions","collection","forEach","option","children","create","data","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","push","selected","key","toString","getOptionCount","code","foundOption","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","getDefaultValueForOption","layouthints","layouthint","requireDefaultValue","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","newOption","clone","select","toggle","deselect","action","setReferenceDate","date","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection();\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions, referenceDate);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions, referenceDate);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key)\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(\n selectedValues,\n {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(\n selectedValues,\n {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n elementsContributions: contributions.children,\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = []\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n */\n getDefaultValueForOption(value: any, contributions: Object): string {\n const layouthints = contributions.layouthint ?? [];\n\n const requireDefaultValue =\n layouthints.includes(\"checkbox\") || layouthints.includes(\"toggle\");\n\n return requireDefaultValue ? \"false\" : \"\";\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object\n ): ChoiceAttributeOptionCollection {\n const optionValue =\n value == null\n ? this.getDefaultValueForOption(value, contributions)\n : value.toString();\n\n this.addBooleanOption(\"true\", \"Yes\", [optionValue], contributions.options);\n this.addBooleanOption(\"false\", \"No\", [optionValue], contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n referenceDate\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false\n ) {\n if (addNotExistingOptions) {\n this.collection = [\n ...this.collection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code)\n ),\n ];\n }\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n }\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ var _LinkCollection = _interopRequireDefault(require("../links/LinkCollection"))
|
|
|
21
21
|
var _AttributeCollection = _interopRequireDefault(require("./AttributeCollection"));
|
|
22
22
|
var _ConceptDetailModel = _interopRequireDefault(require("../concepts/ConceptDetailModel"));
|
|
23
23
|
var _AttributeContent = _interopRequireDefault(require("./AttributeContent"));
|
|
24
|
-
|
|
25
24
|
/**
|
|
26
25
|
*/
|
|
27
26
|
class ChoiceAttributeOptionModel extends _BaseModel.default {
|
|
@@ -153,8 +152,7 @@ class ChoiceAttributeOptionModel extends _BaseModel.default {
|
|
|
153
152
|
* Be aware that permission could be in place for labels from a concept.
|
|
154
153
|
*/
|
|
155
154
|
getContentConfiguredLabel(contentConfiguration) {
|
|
156
|
-
|
|
157
|
-
const configuredLabelProperties = (contentConfiguration === null || contentConfiguration === void 0 ? void 0 : (_contentConfiguration = contentConfiguration.labelConfig) === null || _contentConfiguration === void 0 ? void 0 : (_contentConfiguration2 = _contentConfiguration[0]) === null || _contentConfiguration2 === void 0 ? void 0 : _contentConfiguration2.types) ?? [];
|
|
155
|
+
const configuredLabelProperties = contentConfiguration?.labelConfig?.[0]?.types ?? [];
|
|
158
156
|
if (!this.hasContentFromData && this.concept && configuredLabelProperties.length > 0) {
|
|
159
157
|
var _context;
|
|
160
158
|
const configuredLabels = (0, _filter.default)(_context = this.concept.getLabelElementByIds(configuredLabelProperties)).call(_context, configuredLabel => configuredLabel.value && configuredLabel.value !== "");
|
|
@@ -200,7 +198,7 @@ class ChoiceAttributeOptionModel extends _BaseModel.default {
|
|
|
200
198
|
return _ChoiceAttributeOptionCollection.default.create({
|
|
201
199
|
value: selectedValues
|
|
202
200
|
}, {
|
|
203
|
-
options:
|
|
201
|
+
options: option?.children ?? []
|
|
204
202
|
}, referenceDate);
|
|
205
203
|
}
|
|
206
204
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeOptionModel.js","names":["ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","option","referenceDate","DateUtil","now","code","contributions","key","_isSelected","_referenceDate","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","_content","AttributeContent","content","createFromListItemModel","listitem","id","toString","attributeCollection","links","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","conceptHref","href","concept","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","length","configuredLabels","getLabelElementByIds","configuredLabel","value","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate = referenceDate;\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection();\n this._children = this.addChildren(selectedValues, option, referenceDate);\n\n this._links = new LinkCollection(this.contributions._links);\n\n this._content = new AttributeContent(option.content);\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection;\n option.links = listitem.links;\n\n return option;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref)\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, true);\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\"\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection();\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n referenceDate\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":";;;;;;;;;;;;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAMA;AACA;AACA,MAAMA,0BAA0B,SACtBC,kBAAS,CAEnB;EAWE;AACF;EACEC,WAAW,GAIT;IAAA,IAHAC,cAA6B,uEAAG,EAAE;IAAA,IAClCC,MAAc,uEAAG,CAAC,CAAC;IAAA,IACnBC,aAAuB,uEAAGC,sBAAQ,CAACC,GAAG,EAAE;IAExC,KAAK,CAAC,CAAC,CAAC,EAAEH,MAAM,CAAC;IAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAElB,IAAI,CAACI,IAAI,GAAG,IAAI,CAACC,aAAa,CAACD,IAAI,IAAI,IAAI,CAACC,aAAa,CAACC,GAAG,IAAI,EAAE;IAEnE,IAAI,CAACC,WAAW,GAAG,uBAAAR,cAAc,OAAdA,cAAc,EAAU,IAAI,CAACK,IAAI,CAAC;IAErD,IAAI,CAACI,cAAc,GAAGP,aAAa;IAEnC,IAAI,CAACQ,MAAM,GAAG,CAAC;IAEf,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACC,yBAAyB,EAAE;IAC5D,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,WAAW,CAACd,cAAc,EAAEC,MAAM,EAAEC,aAAa,CAAC;IAExE,IAAI,CAACa,MAAM,GAAG,IAAIC,uBAAc,CAAC,IAAI,CAACV,aAAa,CAACS,MAAM,CAAC;IAE3D,IAAI,CAACE,QAAQ,GAAG,IAAIC,yBAAgB,CAACjB,MAAM,CAACkB,OAAO,CAAC;EACtD;;EAEA;AACF;EACE,OAAOC,uBAAuB,CAC5BC,QAAuB,EACK;IAC5B,MAAMpB,MAAM,GAAG,IAAIJ,0BAA0B,EAAE;IAE/CI,MAAM,CAACI,IAAI,GAAGgB,QAAQ,CAACC,EAAE,CAACC,QAAQ,EAAE;IACpCtB,MAAM,CAACuB,mBAAmB,GAAGH,QAAQ,CAACG,mBAAmB;IACzDvB,MAAM,CAACwB,KAAK,GAAGJ,QAAQ,CAACI,KAAK;IAE7B,OAAOxB,MAAM;EACf;;EAEA;AACF;EACEyB,yBAAyB,GAAqB;IAC5C,MAAMC,YAAY,GAAG,EAAE;IAEvB,IAAI,CAAC,IAAI,CAACC,kBAAkB,IAAI,IAAI,CAACC,WAAW,KAAK,IAAI,EAAE;MACzDF,YAAY,CAACG,IAAI,CAAC,IAAI,CAACD,WAAW,CAAC;IACrC;IAEA,IAAI,IAAI,CAACE,QAAQ,EAAE;MACjBJ,YAAY,CAACG,IAAI,CAAC,GAAG,IAAI,CAACC,QAAQ,CAACL,yBAAyB,EAAE,CAAC;IACjE;IAEA,OAAOC,YAAY;EACrB;;EAEA;AACF;EACEK,cAAc,CAACC,MAA6B,EAAE;IAC5C,IAAI,IAAI,CAACJ,WAAW,KAAK,IAAI,EAAE;MAC7B,MAAMK,WAAW,GAAG,IAAI,CAACL,WAAW,CAACM,IAAI;MAEzC,IAAI,CAACC,OAAO,GAAG,mBAAAH,MAAM,OAANA,MAAM,EAAOI,KAAK,IAC/BA,KAAK,CAACC,QAAQ,CAACC,oBAAoB,CAACL,WAAW,CAAC,CACjD;IACH;IAEA,IAAI,IAAI,CAACH,QAAQ,EAAE;MACjB,IAAI,CAACA,QAAQ,CAACC,cAAc,CAACC,MAAM,CAAC;IACtC;EACF;;EAEA;AACF;AACA;EACE,IAAI5B,IAAI,GAAW;IACjB,OAAO,IAAI,CAACmC,KAAK;EACnB;;EAEA;AACF;EACE,IAAInC,IAAI,CAACA,IAAY,EAAE;IACrB,IAAI,CAACmC,KAAK,GAAGnC,IAAI;EACnB;;EAEA;AACF;EACEoC,MAAM,CAACJ,KAAiC,EAAW;IACjD,OAAO,IAAI,CAAChC,IAAI,CAACkB,QAAQ,EAAE,KAAKc,KAAK,CAAChC,IAAI,CAACkB,QAAQ,EAAE;EACvD;;EAEA;AACF;AACA;EACE,IAAIC,mBAAmB,GAAwB;IAC7C,OAAO,IAAI,CAACb,oBAAoB;EAClC;;EAEA;AACF;EACE,IAAIa,mBAAmB,CAACA,mBAAwC,EAAE;IAChE,IAAI,CAACb,oBAAoB,GAAGa,mBAAmB;EACjD;;EAEA;AACF;EACEZ,yBAAyB,GAAwB;IAC/C,MAAMN,aAAa,GAAG,IAAI,CAACoC,eAAe,CAAC,uBAAuB,EAAE,EAAE,CAAC;IAEvE,IAAI,IAAAC,YAAG,EAAC,IAAI,CAACrC,aAAa,EAAE,UAAU,CAAC,EAAE;MACvC,MAAMsC,IAAI,GAAG,IAAI,CAACF,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;MACjD,OAAO,IAAIG,4BAAmB,CAACD,IAAI,EAAEtC,aAAa,EAAE,IAAI,CAAC;IAC3D;IAEA,OAAO,IAAIuC,4BAAmB,EAAE;EAClC;;EAEA;AACF;AACA;EACE,IAAIC,KAAK,GAAW;IAClB,IAAI,IAAI,CAACxC,aAAa,CAACwC,KAAK,EAAE;MAC5B,OAAO,IAAI,CAACxC,aAAa,CAACwC,KAAK;IACjC;IAEA,IAAI,IAAI,CAACtB,mBAAmB,CAACuB,QAAQ,EAAE;MACrC,MAAMC,KAAK,GAAG,IAAI,CAACxB,mBAAmB,CAACyB,wBAAwB,CAACC,kBAAK,CAAC;MAEtE,IAAIF,KAAK,EAAE;QACT,OAAOA,KAAK,CAACG,aAAa;MAC5B;MAEA,IAAI,IAAI,CAAC3B,mBAAmB,CAAC4B,KAAK,EAAE;QAClC,OAAO,IAAI,CAAC5B,mBAAmB,CAAC4B,KAAK,CAACD,aAAa;MACrD;IACF;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;AACA;AACA;EACEE,yBAAyB,CAACC,oBAA4B,EAAU;IAAA;IAC9D,MAAMC,yBAAyB,GAC7B,CAAAD,oBAAoB,aAApBA,oBAAoB,gDAApBA,oBAAoB,CAAEE,WAAW,oFAAjC,sBAAoC,CAAC,CAAC,2DAAtC,uBAAwCC,KAAK,KAAI,EAAE;IAErD,IACE,CAAC,IAAI,CAAC7B,kBAAkB,IACxB,IAAI,CAACQ,OAAO,IACZmB,yBAAyB,CAACG,MAAM,GAAG,CAAC,EACpC;MAAA;MACA,MAAMC,gBAAgB,GAAG,oCAAI,CAACvB,OAAO,CAClCwB,oBAAoB,CAACL,yBAAyB,CAAC,iBAE7CM,eAAe,IACdA,eAAe,CAACC,KAAK,IAAID,eAAe,CAACC,KAAK,KAAK,EAAE,CACxD;MAEH,IAAIH,gBAAgB,CAACD,MAAM,GAAG,CAAC,EAAE;QAAA;QAC/B,OAAO,mDAAAH,yBAAyB,OAAzBA,yBAAyB,EACrBQ,uBAAuB,IAC9BJ,gBAAgB,CAACK,IAAI,CAClBH,eAAe,IACdA,eAAe,CAACI,GAAG,KAAKF,uBAAuB,CAClD,CACF,kBACKA,uBAAuB,IAC3B,mBAAAJ,gBAAgB,OAAhBA,gBAAgB,EACbE,eAAe,IACdA,eAAe,CAACI,GAAG,KAAKF,uBAAuB,CAClD,CACF,CAAC,CAAC,CAAC,CAACD,KAAK;MACd;IACF;IAEA,OAAO,IAAI,CAAChB,KAAK;EACnB;;EAEA;AACF;AACA;EACE,IAAIoB,QAAQ,GAAY;IACtB,OAAO,IAAI,CAAC1D,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAI0D,QAAQ,CAACA,QAAiB,EAAE;IAC9B,IAAI,CAAC1D,WAAW,GAAG0D,QAAQ;EAC7B;;EAEA;AACF;AACA;EACE,IAAIC,KAAK,GAAkB;IACzB,OAAO,IAAI,CAACzB,eAAe,CAAC,OAAO,CAAC;EACtC;;EAEA;AACF;EACE5B,WAAW,GAIwB;IAAA,IAHjCd,cAA6B,uEAAG,EAAE;IAAA,IAClCC,MAAc,uEAAG,CAAC,CAAC;IAAA,IACnBC,aAAuB,uEAAGC,sBAAQ,CAACC,GAAG,EAAE;IAExC;IACA,IAAI,IAAAuC,YAAG,EAAC1C,MAAM,EAAE,UAAU,CAAC,EAAE;MAC3B,OAAO,IAAImE,wCAA+B,EAAE;IAC9C;IAEA,OAAOA,wCAA+B,CAACC,MAAM,CAC3C;MACEP,KAAK,EAAE9D;IACT,CAAC,EACD;MAAEsE,OAAO,EAAE,CAAArE,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE8B,QAAQ,KAAI;IAAG,CAAC,EACnC7B,aAAa,CACd;EACH;;EAEA;AACF;AACA;EACE,IAAI6B,QAAQ,GAAoC;IAC9C,OAAO,IAAI,CAAClB,SAAS;EACvB;;EAEA;AACF;AACA;EACE,IAAIY,KAAK,GAAmB;IAC1B,OAAO,IAAI,CAACV,MAAM;EACpB;;EAEA;AACF;EACE,IAAIU,KAAK,CAACA,KAAqB,EAAE;IAC/B,IAAI,CAACV,MAAM,GAAGU,KAAK;EACrB;;EAEA;AACF;AACA;EACE,IAAIvB,aAAa,GAAa;IAC5B,OAAO,IAAI,CAACO,cAAc;EAC5B;;EAEA;AACF;EACE,IAAIP,aAAa,CAACqE,IAAc,EAAE;IAChC,IAAI,CAAC9D,cAAc,GAAG8D,IAAI;EAC5B;;EAEA;AACF;AACA;EACE,IAAI1C,WAAW,GAAqB;IAClC,MAAMA,WAAW,GAAG,IAAI,CAACJ,KAAK,CAAC+C,YAAY,CAAC,SAAS,CAAC;IACtD,IAAI3C,WAAW,KAAK,IAAI,EAAE;MACxBA,WAAW,CAACM,IAAI,GAAGN,WAAW,CAACM,IAAI,CAACsC,YAAY,CAC9CC,kCAAuB,EACvB,IAAI,CAACxE,aAAa,CACnB;MAED2B,WAAW,CAAC8C,WAAW,GAAG,IAAI;IAChC;IAEA,OAAO9C,WAAW;EACpB;;EAEA;AACF;AACA;EACE,IAAIO,OAAO,GAA8B;IACvC,OAAO,IAAI,CAACwC,QAAQ,IAAI,IAAI;EAC9B;;EAEA;AACF;AACA;EACE,IAAIxC,OAAO,CAACA,OAAwB,EAAE;IACpC,IAAI,CAACwC,QAAQ,GAAGxC,OAAO,YAAYyC,2BAAkB,GAAGzC,OAAO,GAAG,IAAI;EACxE;;EAEA;AACF;AACA;EACE,IAAI0C,KAAK,GAAW;IAClB,OAAO,IAAI,CAACpE,MAAM;EACpB;;EAEA;AACF;AACA;EACE,IAAIoE,KAAK,CAACA,KAAa,EAAE;IACvB,IAAI,CAACpE,MAAM,GAAGoE,KAAK;EACrB;;EAEA;AACF;EACE,IAAIC,aAAa,GAAY;IAC3B,OAAO,IAAI,CAACrC,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC;EACrD;;EAEA;AACF;EACE,IAAIsC,mBAAmB,GAAY;IACjC,OAAO,IAAI,CAACtC,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC;EAC3D;;EAEA;AACF;EACEuC,WAAW,CAACC,UAAsC,EAAE;IAClD,IAAI,CAAC9C,OAAO,GAAG8C,UAAU,CAAC9C,OAAO;IAEjC,IAAI,IAAI,CAACL,QAAQ,IAAI,IAAI,IAAImD,UAAU,CAACnD,QAAQ,IAAI,IAAI,EAAE;MACxD,IAAI,CAACA,QAAQ,CAACoD,YAAY,CAACD,UAAU,CAACnD,QAAQ,CAAC;IACjD;EACF;;EAEA;AACF;AACA;EACE,IAAIH,kBAAkB,GAAY;IAChC,OAAO,IAAAwD,6BAAmB,GAAE;EAC9B;;EAEA;AACF;EACE,IAAIjE,OAAO,GAAqB;IAC9B,OAAO,IAAI,CAACF,QAAQ;EACtB;AACF;AAAC,eAEcpB,0BAA0B;AAAA"}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeOptionModel.js","names":["ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","option","referenceDate","DateUtil","now","code","contributions","key","_isSelected","_referenceDate","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","_content","AttributeContent","content","createFromListItemModel","listitem","id","toString","attributeCollection","links","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","conceptHref","href","concept","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","length","configuredLabels","getLabelElementByIds","configuredLabel","value","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate = referenceDate;\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection();\n this._children = this.addChildren(selectedValues, option, referenceDate);\n\n this._links = new LinkCollection(this.contributions._links);\n\n this._content = new AttributeContent(option.content);\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection;\n option.links = listitem.links;\n\n return option;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref)\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, true);\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\"\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty\n )\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection();\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n referenceDate\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-s
|
|
|
13
13
|
var _ResourceCollection = _interopRequireDefault(require("../base/ResourceCollection"));
|
|
14
14
|
var _ErrorCollection = _interopRequireDefault(require("../error/ErrorCollection"));
|
|
15
15
|
var _createAttribute = _interopRequireDefault(require("./_createAttribute"));
|
|
16
|
-
|
|
17
16
|
/**
|
|
18
17
|
* Collection of choice attribute options
|
|
19
18
|
*/
|
|
@@ -48,7 +47,7 @@ class CompositeAttributeChildCollection extends _ResourceCollection.default {
|
|
|
48
47
|
}
|
|
49
48
|
const attribute = (0, _createAttribute.default)(key, {
|
|
50
49
|
...attributeData,
|
|
51
|
-
dynamicschema: attributeData
|
|
50
|
+
dynamicschema: attributeData?.dynamicschema
|
|
52
51
|
}, {
|
|
53
52
|
...attributeContribution,
|
|
54
53
|
readonly: attributeContribution.readonly || contributions.readonly
|
|
@@ -175,10 +174,7 @@ class CompositeAttributeChildCollection extends _ResourceCollection.default {
|
|
|
175
174
|
*/
|
|
176
175
|
updateValidations(prefix, errors) {
|
|
177
176
|
this.collection.forEach(child => {
|
|
178
|
-
const attributeErrors = (0, _filter.default)(errors).call(errors, error => {
|
|
179
|
-
var _error$anchor;
|
|
180
|
-
return ((_error$anchor = error.anchor) === null || _error$anchor === void 0 ? void 0 : _error$anchor.elementid) === `${prefix}${child.key}`;
|
|
181
|
-
});
|
|
177
|
+
const attributeErrors = (0, _filter.default)(errors).call(errors, error => error.anchor?.elementid === `${prefix}${child.key}`);
|
|
182
178
|
child.updateValidations(attributeErrors);
|
|
183
179
|
});
|
|
184
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeAttributeChildCollection.js","names":["CompositeAttributeChildCollection","ResourceCollection","create","data","contributions","Array","isArray","children","isMultipleTableRows","createMultiData","createStandard","compositeChildCollection","collection","contribution","key","attributeData","attr","attributeContribution","type","replace","attribute","createAttribute","dynamicschema","readonly","parentKey","childData","getInputValue","child","inputvalue","join","validate","every","isValid","errorCollection","ErrorCollection","hasServerErrors","serverErrors","length","some","hasErrors","hasItems","reset","forEach","initvalue","first","value","formdata","readonlyvalue","updateValidations","prefix","errors","attributeErrors","error","anchor","elementid","hasValue"],"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\n\nimport createAttribute from \"./_createAttribute\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Collection of choice attribute options\n */\nclass CompositeAttributeChildCollection extends ResourceCollection<AttributeType> {\n /**\n */\n static create(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n if (\n data &&\n contributions &&\n Array.isArray(contributions.children) &&\n Array.isArray(data.children)\n ) {\n // a composite with multiple data elements and one contributions element\n // multiple 'composites' are returned\n const isMultipleTableRows = Array.isArray(data.children[0]);\n if (isMultipleTableRows) {\n return CompositeAttributeChildCollection.createMultiData(\n data,\n contributions\n );\n }\n\n return CompositeAttributeChildCollection.createStandard(\n data,\n contributions\n );\n }\n\n return new CompositeAttributeChildCollection();\n }\n\n /**\n */\n static createStandard(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = contributions.children\n .map((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attributeData = Array.isArray(data.children)\n ? data.children.find((attr) => attr.key === key)\n : {};\n\n const attributeContribution = contribution[key];\n\n if (\n contributions.type.includes(\"range\") &&\n !attributeContribution.type\n ) {\n attributeContribution.type = contributions.type.replace(\"range\", \"\");\n }\n\n const attribute = createAttribute(\n key,\n {\n ...attributeData,\n dynamicschema: attributeData?.dynamicschema,\n },\n {\n ...attributeContribution,\n readonly: attributeContribution.readonly || contributions.readonly,\n }\n );\n\n if (attribute) {\n attribute.parentKey = data.key;\n }\n\n return attribute;\n })\n .filter((attribute) => attribute !== null);\n\n return compositeChildCollection;\n }\n\n /*\n * Creates a composite for each child data element using the same contributions\n */\n /**\n */\n static createMultiData(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = data.children.map((childData) =>\n CompositeAttributeChildCollection.create(\n {\n ...data,\n children: childData,\n },\n contributions\n )\n );\n\n return compositeChildCollection;\n }\n\n /**\n * Get input value of contributions\n */\n getInputValue(): string {\n return this.collection.map((child) => child.inputvalue).join(\",\");\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n return this.collection.every((child) => child.isValid);\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n return new ErrorCollection(\"compositechildren\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.collection.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.collection.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.collection.forEach((child) => {\n child.reset();\n });\n }\n\n /**\n */\n get initvalue(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n // $FlowFixMe[missing-type-arg]\n return this.collection.map<Array<Object>>(\n (collection) => collection.initvalue\n );\n }\n\n const children = {};\n this.collection\n .filter((child) => child.initvalue !== null)\n .forEach((child) => {\n children[child.key] = child.initvalue;\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get value(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection.map((collection) => collection.value);\n }\n\n let children: { [string]: any } = {};\n\n this.collection.forEach((attribute) => {\n if (attribute.formdata !== null && !attribute.readonly) {\n children = {\n ...children,\n ...attribute.formdata,\n };\n }\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection\n .map((collection) => collection.readonlyvalue)\n .join(\" | \");\n }\n\n return this.collection\n .filter((child) => child.value !== null)\n .map((child) => child.readonlyvalue)\n .join(\", \");\n }\n\n /**\n */\n updateValidations(prefix: string, errors: Object) {\n this.collection.forEach((child) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === `${prefix}${child.key}`\n );\n\n child.updateValidations(attributeErrors);\n });\n }\n\n /**\n */\n hasValue(): boolean {\n return this.collection.some((child) => child.hasValue());\n }\n}\n\nexport default CompositeAttributeChildCollection;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CompositeAttributeChildCollection.js","names":["CompositeAttributeChildCollection","ResourceCollection","create","data","contributions","Array","isArray","children","isMultipleTableRows","createMultiData","createStandard","compositeChildCollection","collection","contribution","key","attributeData","attr","attributeContribution","type","replace","attribute","createAttribute","dynamicschema","readonly","parentKey","childData","getInputValue","child","inputvalue","join","validate","every","isValid","errorCollection","ErrorCollection","hasServerErrors","serverErrors","length","some","hasErrors","hasItems","reset","forEach","initvalue","first","value","formdata","readonlyvalue","updateValidations","prefix","errors","attributeErrors","error","anchor","elementid","hasValue"],"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\n\nimport createAttribute from \"./_createAttribute\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Collection of choice attribute options\n */\nclass CompositeAttributeChildCollection extends ResourceCollection<AttributeType> {\n /**\n */\n static create(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n if (\n data &&\n contributions &&\n Array.isArray(contributions.children) &&\n Array.isArray(data.children)\n ) {\n // a composite with multiple data elements and one contributions element\n // multiple 'composites' are returned\n const isMultipleTableRows = Array.isArray(data.children[0]);\n if (isMultipleTableRows) {\n return CompositeAttributeChildCollection.createMultiData(\n data,\n contributions\n );\n }\n\n return CompositeAttributeChildCollection.createStandard(\n data,\n contributions\n );\n }\n\n return new CompositeAttributeChildCollection();\n }\n\n /**\n */\n static createStandard(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = contributions.children\n .map((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attributeData = Array.isArray(data.children)\n ? data.children.find((attr) => attr.key === key)\n : {};\n\n const attributeContribution = contribution[key];\n\n if (\n contributions.type.includes(\"range\") &&\n !attributeContribution.type\n ) {\n attributeContribution.type = contributions.type.replace(\"range\", \"\");\n }\n\n const attribute = createAttribute(\n key,\n {\n ...attributeData,\n dynamicschema: attributeData?.dynamicschema,\n },\n {\n ...attributeContribution,\n readonly: attributeContribution.readonly || contributions.readonly,\n }\n );\n\n if (attribute) {\n attribute.parentKey = data.key;\n }\n\n return attribute;\n })\n .filter((attribute) => attribute !== null);\n\n return compositeChildCollection;\n }\n\n /*\n * Creates a composite for each child data element using the same contributions\n */\n /**\n */\n static createMultiData(\n data: Object,\n contributions: Object\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = data.children.map((childData) =>\n CompositeAttributeChildCollection.create(\n {\n ...data,\n children: childData,\n },\n contributions\n )\n );\n\n return compositeChildCollection;\n }\n\n /**\n * Get input value of contributions\n */\n getInputValue(): string {\n return this.collection.map((child) => child.inputvalue).join(\",\");\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n return this.collection.every((child) => child.isValid);\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n return new ErrorCollection(\"compositechildren\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.collection.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.collection.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.collection.forEach((child) => {\n child.reset();\n });\n }\n\n /**\n */\n get initvalue(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n // $FlowFixMe[missing-type-arg]\n return this.collection.map<Array<Object>>(\n (collection) => collection.initvalue\n );\n }\n\n const children = {};\n this.collection\n .filter((child) => child.initvalue !== null)\n .forEach((child) => {\n children[child.key] = child.initvalue;\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get value(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection.map((collection) => collection.value);\n }\n\n let children: { [string]: any } = {};\n\n this.collection.forEach((attribute) => {\n if (attribute.formdata !== null && !attribute.readonly) {\n children = {\n ...children,\n ...attribute.formdata,\n };\n }\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection\n .map((collection) => collection.readonlyvalue)\n .join(\" | \");\n }\n\n return this.collection\n .filter((child) => child.value !== null)\n .map((child) => child.readonlyvalue)\n .join(\", \");\n }\n\n /**\n */\n updateValidations(prefix: string, errors: Object) {\n this.collection.forEach((child) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === `${prefix}${child.key}`\n );\n\n child.updateValidations(attributeErrors);\n });\n }\n\n /**\n */\n hasValue(): boolean {\n return this.collection.some((child) => child.hasValue());\n }\n}\n\nexport default CompositeAttributeChildCollection;\n"],"mappings":";;;;;;;;;;;;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA,MAAMA,iCAAiC,SAASC,2BAAkB,CAAgB;EAChF;AACF;EACE,OAAOC,MAAM,CACXC,IAAY,EACZC,aAAqB,EACc;IACnC,IACED,IAAI,IACJC,aAAa,IACbC,KAAK,CAACC,OAAO,CAACF,aAAa,CAACG,QAAQ,CAAC,IACrCF,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,EAC5B;MACA;MACA;MACA,MAAMC,mBAAmB,GAAGH,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC3D,IAAIC,mBAAmB,EAAE;QACvB,OAAOR,iCAAiC,CAACS,eAAe,CACtDN,IAAI,EACJC,aAAa,CACd;MACH;MAEA,OAAOJ,iCAAiC,CAACU,cAAc,CACrDP,IAAI,EACJC,aAAa,CACd;IACH;IAEA,OAAO,IAAIJ,iCAAiC,EAAE;EAChD;;EAEA;AACF;EACE,OAAOU,cAAc,CACnBP,IAAY,EACZC,aAAqB,EACc;IAAA;IACnC,MAAMO,wBAAwB,GAAG,IAAIX,iCAAiC,EAAE;IAExEW,wBAAwB,CAACC,UAAU,GAAG,8DAAAR,aAAa,CAACG,QAAQ,kBACpDM,YAAY,IAAK;MAAA;MACrB,MAAM,CAACC,GAAG,CAAC,GAAG,mBAAYD,YAAY,CAAC;MAEvC,MAAME,aAAa,GAAGV,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,GAC9C,+BAAAJ,IAAI,CAACI,QAAQ,kBAAOS,IAAI,IAAKA,IAAI,CAACF,GAAG,KAAKA,GAAG,CAAC,GAC9C,CAAC,CAAC;MAEN,MAAMG,qBAAqB,GAAGJ,YAAY,CAACC,GAAG,CAAC;MAE/C,IACE,mCAAAV,aAAa,CAACc,IAAI,kBAAU,OAAO,CAAC,IACpC,CAACD,qBAAqB,CAACC,IAAI,EAC3B;QACAD,qBAAqB,CAACC,IAAI,GAAGd,aAAa,CAACc,IAAI,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;MACtE;MAEA,MAAMC,SAAS,GAAG,IAAAC,wBAAe,EAC/BP,GAAG,EACH;QACE,GAAGC,aAAa;QAChBO,aAAa,EAAEP,aAAa,EAAEO;MAChC,CAAC,EACD;QACE,GAAGL,qBAAqB;QACxBM,QAAQ,EAAEN,qBAAqB,CAACM,QAAQ,IAAInB,aAAa,CAACmB;MAC5D,CAAC,CACF;MAED,IAAIH,SAAS,EAAE;QACbA,SAAS,CAACI,SAAS,GAAGrB,IAAI,CAACW,GAAG;MAChC;MAEA,OAAOM,SAAS;IAClB,CAAC,CAAC,iBACOA,SAAS,IAAKA,SAAS,KAAK,IAAI,CAAC;IAE5C,OAAOT,wBAAwB;EACjC;;EAEA;AACF;AACA;EACE;AACF;EACE,OAAOF,eAAe,CACpBN,IAAY,EACZC,aAAqB,EACc;IAAA;IACnC,MAAMO,wBAAwB,GAAG,IAAIX,iCAAiC,EAAE;IAExEW,wBAAwB,CAACC,UAAU,GAAG,8BAAAT,IAAI,CAACI,QAAQ,kBAAMkB,SAAS,IAChEzB,iCAAiC,CAACE,MAAM,CACtC;MACE,GAAGC,IAAI;MACPI,QAAQ,EAAEkB;IACZ,CAAC,EACDrB,aAAa,CACd,CACF;IAED,OAAOO,wBAAwB;EACjC;;EAEA;AACF;AACA;EACEe,aAAa,GAAW;IAAA;IACtB,OAAO,kCAAI,CAACd,UAAU,kBAAMe,KAAK,IAAKA,KAAK,CAACC,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EACnE;;EAEA;AACF;AACA;EACEC,QAAQ,GAAY;IAClB,OAAO,IAAI,CAAClB,UAAU,CAACmB,KAAK,CAAEJ,KAAK,IAAKA,KAAK,CAACK,OAAO,CAAC;EACxD;;EAEA;AACF;AACA;EACE,IAAIC,eAAe,GAAoB;IACrC,OAAO,IAAIC,wBAAe,CAAC,mBAAmB,CAAC;EACjD;;EAEA;AACF;EACEC,eAAe,GAAY;IACzB,OACE,IAAI,CAACF,eAAe,CAACG,YAAY,CAACC,MAAM,GAAG,CAAC,IAC5C,IAAI,CAACzB,UAAU,CAAC0B,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACQ,eAAe,EAAE,CAAC;EAE5D;;EAEA;AACF;EACEI,SAAS,GAAY;IACnB,OACE,IAAI,CAACN,eAAe,CAACO,QAAQ,IAC7B,IAAI,CAAC5B,UAAU,CAAC0B,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACY,SAAS,EAAE,CAAC;EAEtD;;EAEA;AACF;AACA;EACEE,KAAK,GAAG;IACN,IAAI,CAAC7B,UAAU,CAAC8B,OAAO,CAAEf,KAAK,IAAK;MACjCA,KAAK,CAACc,KAAK,EAAE;IACf,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,IAAIE,SAAS,GAAQ;IAAA;IACnB,IAAI,IAAI,CAACC,KAAK,YAAY5C,iCAAiC,EAAE;MAAA;MAC3D;MACA,OAAO,kCAAI,CAACY,UAAU,kBACnBA,UAAU,IAAKA,UAAU,CAAC+B,SAAS,CACrC;IACH;IAEA,MAAMpC,QAAQ,GAAG,CAAC,CAAC;IACnB,qCAAI,CAACK,UAAU,kBACJe,KAAK,IAAKA,KAAK,CAACgB,SAAS,KAAK,IAAI,CAAC,CAC3CD,OAAO,CAAEf,KAAK,IAAK;MAClBpB,QAAQ,CAACoB,KAAK,CAACb,GAAG,CAAC,GAAGa,KAAK,CAACgB,SAAS;IACvC,CAAC,CAAC;IAEJ,IAAI,mBAAYpC,QAAQ,CAAC,CAAC8B,MAAM,KAAK,CAAC,EAAE;MACtC,OAAO,IAAI;IACb;IAEA,OAAO9B,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIsC,KAAK,GAAQ;IACf,IAAI,IAAI,CAACD,KAAK,YAAY5C,iCAAiC,EAAE;MAAA;MAC3D,OAAO,kCAAI,CAACY,UAAU,kBAAMA,UAAU,IAAKA,UAAU,CAACiC,KAAK,CAAC;IAC9D;IAEA,IAAItC,QAA2B,GAAG,CAAC,CAAC;IAEpC,IAAI,CAACK,UAAU,CAAC8B,OAAO,CAAEtB,SAAS,IAAK;MACrC,IAAIA,SAAS,CAAC0B,QAAQ,KAAK,IAAI,IAAI,CAAC1B,SAAS,CAACG,QAAQ,EAAE;QACtDhB,QAAQ,GAAG;UACT,GAAGA,QAAQ;UACX,GAAGa,SAAS,CAAC0B;QACf,CAAC;MACH;IACF,CAAC,CAAC;IAEF,IAAI,mBAAYvC,QAAQ,CAAC,CAAC8B,MAAM,KAAK,CAAC,EAAE;MACtC,OAAO,IAAI;IACb;IAEA,OAAO9B,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIwC,aAAa,GAAW;IAAA;IAC1B,IAAI,IAAI,CAACH,KAAK,YAAY5C,iCAAiC,EAAE;MAAA;MAC3D,OAAO,mCAAI,CAACY,UAAU,mBACdA,UAAU,IAAKA,UAAU,CAACmC,aAAa,CAAC,CAC7ClB,IAAI,CAAC,KAAK,CAAC;IAChB;IAEA,OAAO,qEAAI,CAACjB,UAAU,mBACXe,KAAK,IAAKA,KAAK,CAACkB,KAAK,KAAK,IAAI,CAAC,mBAClClB,KAAK,IAAKA,KAAK,CAACoB,aAAa,CAAC,CACnClB,IAAI,CAAC,IAAI,CAAC;EACf;;EAEA;AACF;EACEmB,iBAAiB,CAACC,MAAc,EAAEC,MAAc,EAAE;IAChD,IAAI,CAACtC,UAAU,CAAC8B,OAAO,CAAEf,KAAK,IAAK;MACjC,MAAMwB,eAAe,GAAG,qBAAAD,MAAM,OAANA,MAAM,EAC3BE,KAAK,IAAKA,KAAK,CAACC,MAAM,EAAEC,SAAS,KAAM,GAAEL,MAAO,GAAEtB,KAAK,CAACb,GAAI,EAAC,CAC/D;MAEDa,KAAK,CAACqB,iBAAiB,CAACG,eAAe,CAAC;IAC1C,CAAC,CAAC;EACJ;;EAEA;AACF;EACEI,QAAQ,GAAY;IAClB,OAAO,IAAI,CAAC3C,UAAU,CAAC0B,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAAC4B,QAAQ,EAAE,CAAC;EAC1D;AACF;AAAC,eAEcvD,iCAAiC;AAAA"}
|
|
@@ -17,7 +17,6 @@ var _constants = require("../../constants");
|
|
|
17
17
|
var _exceptions = require("../../exceptions");
|
|
18
18
|
var _NumberAttributeModel = _interopRequireDefault(require("./NumberAttributeModel"));
|
|
19
19
|
var _DatetimeAttributeModel = _interopRequireDefault(require("./DatetimeAttributeModel"));
|
|
20
|
-
|
|
21
20
|
/**
|
|
22
21
|
*/
|
|
23
22
|
class CompositeAttributeModel extends _AttributeModel.default {
|
|
@@ -33,7 +32,7 @@ class CompositeAttributeModel extends _AttributeModel.default {
|
|
|
33
32
|
/**
|
|
34
33
|
*/
|
|
35
34
|
static isApplicableModel(contributions) {
|
|
36
|
-
const type = contributions
|
|
35
|
+
const type = contributions?.type;
|
|
37
36
|
return type && (type === "composite" || (0, _includes.default)(type).call(type, "range"));
|
|
38
37
|
}
|
|
39
38
|
|
|
@@ -62,8 +61,7 @@ class CompositeAttributeModel extends _AttributeModel.default {
|
|
|
62
61
|
/**
|
|
63
62
|
*/
|
|
64
63
|
get isRange() {
|
|
65
|
-
|
|
66
|
-
return (_this$contributions = this.contributions) === null || _this$contributions === void 0 ? void 0 : (_this$contributions$t = _this$contributions.type) === null || _this$contributions$t === void 0 ? void 0 : (0, _includes.default)(_this$contributions$t).call(_this$contributions$t, "range");
|
|
64
|
+
return this.contributions?.type?.includes("range");
|
|
67
65
|
}
|
|
68
66
|
|
|
69
67
|
/**
|
|
@@ -334,13 +332,12 @@ class CompositeAttributeModel extends _AttributeModel.default {
|
|
|
334
332
|
/**
|
|
335
333
|
*/
|
|
336
334
|
get readonlyWidth() {
|
|
337
|
-
var _this$start;
|
|
338
335
|
if (this.type === "composite") {
|
|
339
336
|
return _constants.ATTRIBUTE_WIDTH.LARGE;
|
|
340
337
|
}
|
|
341
338
|
|
|
342
339
|
// range
|
|
343
|
-
switch (
|
|
340
|
+
switch (this.start?.type) {
|
|
344
341
|
case "datetime":
|
|
345
342
|
return _constants.ATTRIBUTE_WIDTH.LARGE;
|
|
346
343
|
case "timestamp":
|