@beinformed/ui 1.31.0 → 1.31.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 +20 -0
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/NetworkException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/hooks/useAllFormsOnModel.js.map +1 -1
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useContent.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/hooks/useNotification.js.map +1 -1
- package/esm/hooks/usePreference.js +8 -2
- package/esm/hooks/usePreference.js.map +1 -1
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js +8 -0
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/content/SubSectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorCollection.js.map +1 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/links/normalizeLinkJSON.js.map +1 -1
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/paging/PagingModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/types.js.map +1 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/modularui/CaptchaRequest.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/UploadRequest.js.map +1 -1
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/client.js +1 -0
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/react-client/rehydrate.js.map +1 -1
- package/esm/react-server/createSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/requestInformation.js.map +1 -1
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/I18nActions.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/RouterActions.js.map +1 -1
- package/esm/redux/_router/RouterConnectors.js.map +1 -1
- package/esm/redux/_router/RouterReducer.js.map +1 -1
- package/esm/redux/actions/Application.js.map +1 -1
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/redux/actions/Error.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/esm/redux/actions/FormAutosave.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/FormValidations.js.map +1 -1
- package/esm/redux/actions/Notification.js.map +1 -1
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/actions/ProgressIndicator.js.map +1 -1
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/esm/redux/connectors/Application.js.map +1 -1
- package/esm/redux/connectors/Breadcrumb.js.map +1 -1
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/Modal.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/Notification.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/Preferences.js.map +1 -1
- package/esm/redux/connectors/Progress.js.map +1 -1
- package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/SignIn.js.map +1 -1
- package/esm/redux/connectors/SignOut.js.map +1 -1
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/helpers/text.js.map +1 -1
- package/esm/utils/number/DecimalFormat.js.map +1 -1
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/builder/__tests__/mergeLayoutHintConfigurations.spec.js.flow +4 -4
- package/lib/builder/mergeLayoutHintConfigurations.js.flow +3 -3
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/LayoutHints.js.flow +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js.flow +2 -2
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/FetchException.js.flow +2 -2
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/exceptions/NetworkException.js.flow +1 -1
- package/lib/exceptions/NetworkException.js.map +1 -1
- package/lib/exceptions/UnauthorizedException.js.flow +1 -1
- package/lib/exceptions/UnauthorizedException.js.map +1 -1
- package/lib/hooks/__tests__/UseModularUIModel.spec.js.flow +9 -9
- package/lib/hooks/__tests__/useAuthentication.spec.js.flow +2 -2
- package/lib/hooks/__tests__/useForm.spec.js.flow +2 -2
- package/lib/hooks/__tests__/useModelCatalog.spec.js.flow +7 -7
- package/lib/hooks/__tests__/useModularUIBasic.spec.js.flow +2 -2
- package/lib/hooks/__tests__/usePreference.spec.js.flow +1 -1
- package/lib/hooks/useAllFormsOnModel.js.flow +2 -2
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js.flow +2 -2
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js.flow +1 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js.flow +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.flow +4 -4
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js.flow +3 -3
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js.flow +2 -2
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.flow +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModularUI.js.flow +1 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js.flow +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.flow +1 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js.flow +1 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js.flow +2 -2
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js +8 -2
- package/lib/hooks/usePreference.js.flow +17 -7
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/i18n/Locale.js.flow +4 -4
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js.flow +8 -8
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js.flow +2 -2
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/__tests__/Locale.spec.js.flow +3 -3
- package/lib/i18n/__tests__/Locales.spec.js.flow +15 -13
- package/lib/i18n/withMessage.js.flow +4 -4
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/models/actions/ActionCollection.js.flow +4 -4
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js.flow +4 -4
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/actions/__tests__/ActionCollection.spec.js.flow +3 -3
- package/lib/models/actions/__tests__/ActionModel.spec.js.flow +1 -1
- package/lib/models/application/ApplicationModel.js.flow +3 -3
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.flow +7 -7
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.flow +9 -9
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.flow +9 -9
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.flow +24 -24
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.flow +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.flow +4 -4
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.flow +7 -7
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +15 -15
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js +8 -0
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +19 -11
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +10 -10
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.flow +7 -7
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.flow +6 -6
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.flow +9 -9
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js.flow +8 -8
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.flow +3 -3
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js.flow +5 -5
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/__tests__/AttributeCollection.spec.js.flow +11 -11
- package/lib/models/attributes/__tests__/AttributeContent.spec.js.flow +7 -7
- package/lib/models/attributes/__tests__/AttributeModel.spec.js.flow +5 -5
- package/lib/models/attributes/__tests__/AttributeSetModel.spec.js.flow +2 -2
- package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/ChoiceAttributeModel.spec.js.flow +8 -8
- package/lib/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js.flow +8 -8
- package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/DateAttributeModel.spec.js.flow +4 -4
- package/lib/models/attributes/__tests__/DatetimeAttributeModel.spec.js.flow +11 -11
- package/lib/models/attributes/__tests__/HelptextAttributeModel.spec.js.flow +3 -3
- package/lib/models/attributes/__tests__/MemoAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/MoneyAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/NumberAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/PasswordAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +4 -4
- package/lib/models/attributes/__tests__/TimeAttributeModel.spec.js.flow +2 -2
- package/lib/models/attributes/__tests__/TimestampModel.spec.js.flow +2 -2
- package/lib/models/attributes/__tests__/UploadAttributeModel.spec.js.flow +4 -4
- package/lib/models/attributes/__tests__/_createAttribute.spec.js.flow +6 -6
- package/lib/models/attributes/__tests__/createAttributeComposite.spec.js.flow +3 -3
- package/lib/models/attributes/__tests__/createAttributeDynamicSchema.spec.js.flow +3 -3
- package/lib/models/attributes/_createAttribute.js.flow +5 -5
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.flow +5 -5
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.flow +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +6 -6
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.flow +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.flow +6 -6
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.flow +2 -2
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.flow +2 -2
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js.flow +1 -1
- package/lib/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js.flow +6 -6
- package/lib/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js.flow +2 -2
- package/lib/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js.flow +2 -2
- package/lib/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js.flow +5 -5
- package/lib/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js.flow +6 -6
- package/lib/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js.flow +3 -3
- package/lib/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js.flow +2 -2
- package/lib/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js.flow +1 -1
- package/lib/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js.flow +4 -4
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +4 -4
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.flow +15 -15
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.flow +2 -2
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.flow +2 -2
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js.flow +22 -22
- package/lib/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js.flow +1 -1
- package/lib/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js.flow +4 -4
- package/lib/models/base/BaseCollection.js.flow +6 -6
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.flow +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js.flow +5 -5
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/base/__tests__/ResourceCollection.spec.js.flow +1 -1
- package/lib/models/caseview/CaseViewModel.js.flow +4 -4
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/caseview/__tests__/CaseViewModel.spec.js.flow +3 -3
- package/lib/models/concepts/BusinessScenarioModel.js.flow +9 -9
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.flow +17 -17
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js.flow +2 -2
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.flow +6 -4
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js.flow +5 -5
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.flow +2 -2
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.flow +2 -2
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/concepts/__tests__/ConceptDetailModel.spec.js.flow +1 -1
- package/lib/models/content/ContentIndexModel.js.flow +3 -3
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.flow +11 -9
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js.flow +2 -2
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.flow +4 -4
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.flow +4 -4
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.flow +2 -2
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/content/__tests__/ContentModel.spec.js.flow +16 -16
- package/lib/models/contentconfiguration/ContentConfiguration.js.flow +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.flow +5 -5
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.flow +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.flow +2 -2
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js.flow +12 -12
- package/lib/models/detail/DetailModel.js.flow +5 -5
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js.flow +4 -4
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js.flow +1 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/__tests__/ErrorModel.spec.js.flow +1 -1
- package/lib/models/filters/AssignmentFilterModel.js.flow +3 -3
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.flow +3 -3
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js.flow +5 -5
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/__tests__/AssignmentFilterModel.spec.js.flow +4 -4
- package/lib/models/filters/__tests__/FilterCollection.spec.js.flow +11 -11
- package/lib/models/filters/__tests__/FilterModel.spec.js.flow +1 -1
- package/lib/models/filters/__tests__/RangeFilterModel.spec.js.flow +1 -1
- package/lib/models/form/FormModel.js.flow +39 -39
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js.flow +16 -16
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/form/__tests__/FormModel.instrument.spec.js.flow +7 -7
- package/lib/models/form/__tests__/FormModel.repeating.spec.js.flow +2 -2
- package/lib/models/form/__tests__/FormModel.selfhref.spec.js.flow +1 -1
- package/lib/models/form/__tests__/FormModel.spec.js.flow +6 -6
- package/lib/models/form/__tests__/FormResultData.spec.js.flow +1 -1
- package/lib/models/form/__tests__/FormWithContent.spec.js.flow +3 -3
- package/lib/models/grouping/GroupingModel.js.flow +7 -7
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/grouping/__tests__/GroupingModel.spec.js.flow +2 -2
- package/lib/models/href/Href.js.flow +6 -6
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/__tests__/Href.spec.js.flow +18 -16
- package/lib/models/layouthint/LayoutHintCollection.js.flow +3 -3
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js.flow +4 -4
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js.flow +3 -3
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/links/__tests__/LinkModel.spec.js.flow +4 -4
- package/lib/models/links/normalizeLinkJSON.js.flow +6 -6
- package/lib/models/links/normalizeLinkJSON.js.map +1 -1
- package/lib/models/list/ListDetailModel.js.flow +7 -7
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js.flow +2 -2
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js.flow +2 -2
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js.flow +6 -6
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/list/__tests__/ListDetailModel.spec.js.flow +4 -4
- package/lib/models/list/__tests__/ListItemCollection.spec.js.flow +1 -1
- package/lib/models/list/__tests__/ListModel.spec.js.flow +3 -3
- package/lib/models/list/__tests__/ListResultDetail.spec.js.flow +3 -3
- package/lib/models/lookup/LookupOptionCollection.js.flow +1 -1
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js.flow +4 -4
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/lookup/__tests__/LookupOptionsModel.spec.js.flow +3 -3
- package/lib/models/modelcatalog/ModelCatalogModel.js.flow +2 -2
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js.flow +1 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/paging/__tests__/PagingModel.spec.js.flow +2 -2
- package/lib/models/panels/GroupingPanelModel.js.flow +5 -5
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/panels/__tests__/GroupingPanelModel.spec.js.flow +8 -8
- package/lib/models/parameter/__tests__/Parameter.spec.js.flow +5 -5
- package/lib/models/process/ProcessStatusSettingsModel.js.flow +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/process/__tests__/ProcessStatusSettingsModel.spec.js.flow +1 -1
- package/lib/models/resolveModel.js.flow +4 -4
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js.flow +4 -4
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/sorting/__tests__/SortingModel.spec.js.flow +3 -3
- package/lib/models/tab/TabModel.js.flow +3 -3
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/tab/__tests__/TabModel.spec.js.flow +5 -5
- package/lib/models/taskgroup/TaskGroupModel.js.flow +2 -2
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.flow +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.flow +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/__tests__/UserModel.spec.js.flow +2 -2
- package/lib/models/user/__tests__/UserProfileModel.spec.js.flow +2 -2
- package/lib/models/user/__tests__/UserServicesModel.spec.js.flow +1 -1
- package/lib/modularui/CaptchaRequest.js.flow +1 -1
- package/lib/modularui/CaptchaRequest.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js.flow +26 -26
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/UploadRequest.js.flow +6 -6
- package/lib/modularui/UploadRequest.js.map +1 -1
- package/lib/modularui/__tests__/ModularUIError.spec.js.flow +1 -1
- package/lib/modularui/__tests__/ModularUIRequest.spec.js.flow +9 -9
- package/lib/react/utils.js.flow +1 -1
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/client.js +1 -0
- package/lib/react-client/client.js.flow +11 -10
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/contextPath.js.flow +2 -2
- package/lib/react-client/contextPath.js.map +1 -1
- package/lib/react-client/rehydrate.js.flow +1 -1
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/__tests__/serverUtil.spec.js.flow +2 -2
- package/lib/react-server/createSSRComplete.js.flow +3 -3
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js.flow +4 -4
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js.flow +1 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/requestInformation.js.flow +2 -2
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverUtil.js.flow +8 -8
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/__tests__/createTheme.spec.js.flow +4 -4
- package/lib/react-theme/createTheme.js.flow +1 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/utils/__tests__/background.spec.js.flow +2 -2
- package/lib/react-theme/utils/__tests__/contrast.spec.js.flow +1 -1
- package/lib/react-theme/utils/__tests__/corners.spec.js.flow +3 -3
- package/lib/react-theme/utils/__tests__/spacers.spec.js.flow +1 -1
- package/lib/react-theme/utils/__tests__/themeProps.spec.js.flow +9 -9
- package/lib/react-theme/utils/colors.js.flow +3 -3
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js.flow +6 -6
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js.flow +2 -2
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js.flow +2 -2
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js.flow +8 -8
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/I18nActions.js.flow +1 -1
- package/lib/redux/_i18n/I18nActions.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js.flow +2 -2
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_i18n/__tests__/reducer.spec.js.flow +2 -2
- package/lib/redux/_modularui/ModularUIActions.js.flow +8 -8
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js.flow +4 -4
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.flow +6 -6
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js.flow +5 -5
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUISelectors.js.flow +11 -11
- package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js.flow +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/redux/_modularui/__tests__/actions.spec.js.flow +1 -1
- package/lib/redux/_modularui/__tests__/reducer.spec.js.flow +13 -13
- package/lib/redux/_modularui/__tests__/selectors.spec.js.flow +3 -3
- package/lib/redux/_modularui/types.js.flow +4 -4
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.flow +3 -3
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/RouterActions.js.flow +3 -3
- package/lib/redux/_router/RouterActions.js.map +1 -1
- package/lib/redux/_router/RouterConnectors.js.flow +5 -5
- package/lib/redux/_router/RouterConnectors.js.map +1 -1
- package/lib/redux/_router/RouterReducer.js.flow +1 -1
- package/lib/redux/_router/RouterReducer.js.map +1 -1
- package/lib/redux/_router/__tests__/reducer.spec.js.flow +2 -2
- package/lib/redux/actions/Application.js.flow +1 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js.flow +1 -1
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js.flow +3 -3
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js.flow +2 -2
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.flow +3 -3
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js.flow +1 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js.flow +1 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js.flow +3 -3
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Notification.js.flow +4 -4
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js.flow +11 -11
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/ProgressIndicator.js.flow +1 -1
- package/lib/redux/actions/ProgressIndicator.js.map +1 -1
- package/lib/redux/actions/SignIn.js.flow +3 -3
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/__tests__/Authorization.spec.js.flow +2 -2
- package/lib/redux/actions/__tests__/Error-server.spec.js.flow +13 -13
- package/lib/redux/actions/__tests__/Error.spec.js.flow +6 -6
- package/lib/redux/actions/__tests__/Notification.spec.js.flow +1 -1
- package/lib/redux/actions/__tests__/Preferences.spec.js.flow +2 -2
- package/lib/redux/connectors/Application.js.flow +1 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js.flow +1 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js.flow +1 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js.flow +1 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js.flow +1 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js.flow +1 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js.flow +2 -2
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js.flow +5 -5
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js.flow +6 -6
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js.flow +1 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js.flow +1 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js.flow +1 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js.flow +1 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js.flow +2 -2
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js.flow +3 -3
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js.flow +1 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.flow +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js.flow +2 -2
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js.flow +1 -1
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js.flow +1 -1
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js.flow +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js.flow +1 -1
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js.flow +1 -1
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js.flow +1 -1
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js.flow +1 -1
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.flow +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.flow +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/reducers/__tests__/AuthReducer.spec.js.flow +10 -10
- package/lib/redux/reducers/__tests__/ErrorReducer.spec.js.flow +1 -1
- package/lib/redux/reducers/__tests__/ModalsReducer.spec.js.flow +3 -3
- package/lib/redux/reducers/__tests__/NotificationReducer.spec.js.flow +3 -3
- package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +2 -2
- package/lib/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js.flow +8 -8
- package/lib/redux/store/beforeRenderHooks.js.flow +1 -1
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js.flow +3 -3
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/utils/browser/Cookies.js.flow +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/browser/__tests__/Cookies.spec.js.flow +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.flow +15 -15
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/datetime/__tests__/DateTime.spec.js.flow +84 -81
- package/lib/utils/fetch/__tests__/xhr.spec.js.flow +2 -2
- package/lib/utils/fetch/universalFetch.js.flow +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.flow +6 -6
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/__tests__/sanitizeHTML.spec.js.flow +8 -8
- package/lib/utils/helpers/sanitizeHtml.js.flow +3 -3
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js.flow +1 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js.flow +2 -2
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/__tests__/formatValue.spec.js.flow +1 -1
- package/lib/utils/number/formatValue.js.flow +2 -2
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js.flow +7 -7
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +20 -20
- package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +4 -4
- package/src/builder/mergeLayoutHintConfigurations.js +3 -3
- package/src/constants/LayoutHints.js +1 -1
- package/src/constants/Settings.js +2 -2
- package/src/exceptions/FetchException.js +2 -2
- package/src/exceptions/NetworkException.js +1 -1
- package/src/exceptions/UnauthorizedException.js +1 -1
- package/src/hooks/__tests__/UseModularUIModel.spec.js +9 -9
- package/src/hooks/__tests__/useAuthentication.spec.js +2 -2
- package/src/hooks/__tests__/useForm.spec.js +2 -2
- package/src/hooks/__tests__/useModelCatalog.spec.js +7 -7
- package/src/hooks/__tests__/useModularUIBasic.spec.js +2 -2
- package/src/hooks/__tests__/usePreference.spec.js +1 -1
- package/src/hooks/useAllFormsOnModel.js +2 -2
- package/src/hooks/useAuthentication.js +2 -2
- package/src/hooks/useContent.js +1 -1
- package/src/hooks/useDeepCompareEffect.js +1 -1
- package/src/hooks/useForm.js +4 -4
- package/src/hooks/useI18n.js +3 -3
- package/src/hooks/useModal.js +2 -2
- package/src/hooks/useModelCatalog.js +1 -1
- package/src/hooks/useModularUI.js +1 -1
- package/src/hooks/useModularUIBasic.js +1 -1
- package/src/hooks/useModularUIModel.js +1 -1
- package/src/hooks/useModularUIRequest.js +1 -1
- package/src/hooks/useNotification.js +2 -2
- package/src/hooks/usePreference.js +17 -7
- package/src/i18n/Locale.js +4 -4
- package/src/i18n/Locales.js +8 -8
- package/src/i18n/Message.js +2 -2
- package/src/i18n/__tests__/Locale.spec.js +3 -3
- package/src/i18n/__tests__/Locales.spec.js +15 -13
- package/src/i18n/withMessage.js +4 -4
- package/src/models/actions/ActionCollection.js +4 -4
- package/src/models/actions/ActionModel.js +4 -4
- package/src/models/actions/__tests__/ActionCollection.spec.js +3 -3
- package/src/models/actions/__tests__/ActionModel.spec.js +1 -1
- package/src/models/application/ApplicationModel.js +3 -3
- package/src/models/attributes/AttributeCollection.js +7 -7
- package/src/models/attributes/AttributeContent.js +9 -9
- package/src/models/attributes/AttributeDataHelper.js +9 -9
- package/src/models/attributes/AttributeModel.js +24 -24
- package/src/models/attributes/AttributeSetModel.js +1 -1
- package/src/models/attributes/BooleanAttributeModel.js +4 -4
- package/src/models/attributes/ChoiceAttributeModel.js +7 -7
- package/src/models/attributes/ChoiceAttributeOptionCollection.js +15 -15
- package/src/models/attributes/ChoiceAttributeOptionModel.js +19 -11
- package/src/models/attributes/CompositeAttributeChildCollection.js +10 -10
- package/src/models/attributes/CompositeAttributeModel.js +7 -7
- package/src/models/attributes/DatetimeAttributeModel.js +6 -6
- package/src/models/attributes/NumberAttributeModel.js +9 -9
- package/src/models/attributes/PasswordAttributeModel.js +8 -8
- package/src/models/attributes/StringAttributeModel.js +3 -3
- package/src/models/attributes/UploadAttributeModel.js +5 -5
- package/src/models/attributes/__tests__/AttributeCollection.spec.js +11 -11
- package/src/models/attributes/__tests__/AttributeContent.spec.js +7 -7
- package/src/models/attributes/__tests__/AttributeModel.spec.js +5 -5
- package/src/models/attributes/__tests__/AttributeSetModel.spec.js +2 -2
- package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +8 -8
- package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +8 -8
- package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
- package/src/models/attributes/__tests__/DateAttributeModel.spec.js +4 -4
- package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +11 -11
- package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +3 -3
- package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/StringAttributeModel.spec.js +4 -4
- package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +2 -2
- package/src/models/attributes/__tests__/TimestampModel.spec.js +2 -2
- package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +4 -4
- package/src/models/attributes/__tests__/_createAttribute.spec.js +6 -6
- package/src/models/attributes/__tests__/createAttributeComposite.spec.js +3 -3
- package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +3 -3
- package/src/models/attributes/_createAttribute.js +5 -5
- package/src/models/attributes/input-constraints/ConstraintCollection.js +5 -5
- package/src/models/attributes/input-constraints/ConstraintModel.js +1 -1
- package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +6 -6
- package/src/models/attributes/input-constraints/MandatoryConstraint.js +1 -1
- package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +6 -6
- package/src/models/attributes/input-constraints/NumberFormatConstraint.js +2 -2
- package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +1 -1
- package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +6 -6
- package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +5 -5
- package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +6 -6
- package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +3 -3
- package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +1 -1
- package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +4 -4
- package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +4 -4
- package/src/models/attributes/layouthint-rules/DependentAttribute.js +15 -15
- package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +2 -2
- package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +2 -2
- package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +22 -22
- package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +1 -1
- package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +4 -4
- package/src/models/base/BaseCollection.js +6 -6
- package/src/models/base/BaseModel.js +1 -1
- package/src/models/base/ResourceModel.js +5 -5
- package/src/models/base/__tests__/ResourceCollection.spec.js +1 -1
- package/src/models/caseview/CaseViewModel.js +4 -4
- package/src/models/caseview/__tests__/CaseViewModel.spec.js +3 -3
- package/src/models/concepts/BusinessScenarioModel.js +9 -9
- package/src/models/concepts/ConceptDetailModel.js +17 -17
- package/src/models/concepts/ConceptIndexModel.js +2 -2
- package/src/models/concepts/ConceptLinkModel.js +6 -4
- package/src/models/concepts/ConceptRelationCollection.js +5 -5
- package/src/models/concepts/SourceReferenceCollection.js +2 -2
- package/src/models/concepts/SourceReferenceModel.js +2 -2
- package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +1 -1
- package/src/models/content/ContentIndexModel.js +3 -3
- package/src/models/content/ContentLinkModel.js +11 -9
- package/src/models/content/ContentModel.js +2 -2
- package/src/models/content/ContentTOCModel.js +4 -4
- package/src/models/content/SectionModel.js +4 -4
- package/src/models/content/SubSectionModel.js +2 -2
- package/src/models/content/__tests__/ContentModel.spec.js +16 -16
- package/src/models/contentconfiguration/ContentConfiguration.js +1 -1
- package/src/models/contentconfiguration/ContentConfigurationElements.js +5 -5
- package/src/models/contentconfiguration/ContentConfigurationEndResults.js +1 -1
- package/src/models/contentconfiguration/ContentConfigurationQuestions.js +2 -2
- package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +12 -12
- package/src/models/detail/DetailModel.js +5 -5
- package/src/models/error/ErrorCollection.js +4 -4
- package/src/models/error/ErrorModel.js +1 -1
- package/src/models/error/__tests__/ErrorModel.spec.js +1 -1
- package/src/models/filters/AssignmentFilterModel.js +3 -3
- package/src/models/filters/BaseFilterModel.js +3 -3
- package/src/models/filters/FilterCollection.js +5 -5
- package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +4 -4
- package/src/models/filters/__tests__/FilterCollection.spec.js +11 -11
- package/src/models/filters/__tests__/FilterModel.spec.js +1 -1
- package/src/models/filters/__tests__/RangeFilterModel.spec.js +1 -1
- package/src/models/form/FormModel.js +39 -39
- package/src/models/form/FormObjectModel.js +16 -16
- package/src/models/form/__tests__/FormModel.instrument.spec.js +7 -7
- package/src/models/form/__tests__/FormModel.repeating.spec.js +2 -2
- package/src/models/form/__tests__/FormModel.selfhref.spec.js +1 -1
- package/src/models/form/__tests__/FormModel.spec.js +6 -6
- package/src/models/form/__tests__/FormResultData.spec.js +1 -1
- package/src/models/form/__tests__/FormWithContent.spec.js +3 -3
- package/src/models/grouping/GroupingModel.js +7 -7
- package/src/models/grouping/__tests__/GroupingModel.spec.js +2 -2
- package/src/models/href/Href.js +6 -6
- package/src/models/href/__tests__/Href.spec.js +18 -16
- package/src/models/layouthint/LayoutHintCollection.js +3 -3
- package/src/models/links/LinkCollection.js +4 -4
- package/src/models/links/LinkModel.js +3 -3
- package/src/models/links/__tests__/LinkModel.spec.js +4 -4
- package/src/models/links/normalizeLinkJSON.js +6 -6
- package/src/models/list/ListDetailModel.js +7 -7
- package/src/models/list/ListItemCollection.js +2 -2
- package/src/models/list/ListItemModel.js +2 -2
- package/src/models/list/ListModel.js +6 -6
- package/src/models/list/__tests__/ListDetailModel.spec.js +4 -4
- package/src/models/list/__tests__/ListItemCollection.spec.js +1 -1
- package/src/models/list/__tests__/ListModel.spec.js +3 -3
- package/src/models/list/__tests__/ListResultDetail.spec.js +3 -3
- package/src/models/lookup/LookupOptionCollection.js +1 -1
- package/src/models/lookup/LookupOptionsModel.js +4 -4
- package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +3 -3
- package/src/models/modelcatalog/ModelCatalogModel.js +2 -2
- package/src/models/paging/PagingModel.js +1 -1
- package/src/models/paging/__tests__/PagingModel.spec.js +2 -2
- package/src/models/panels/GroupingPanelModel.js +5 -5
- package/src/models/panels/__tests__/GroupingPanelModel.spec.js +8 -8
- package/src/models/parameter/__tests__/Parameter.spec.js +5 -5
- package/src/models/process/ProcessStatusSettingsModel.js +1 -1
- package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +1 -1
- package/src/models/resolveModel.js +4 -4
- package/src/models/sorting/SortingModel.js +4 -4
- package/src/models/sorting/__tests__/SortingModel.spec.js +3 -3
- package/src/models/tab/TabModel.js +3 -3
- package/src/models/tab/__tests__/TabModel.spec.js +5 -5
- package/src/models/taskgroup/TaskGroupModel.js +2 -2
- package/src/models/types.js +1 -1
- package/src/models/user/UserProfileModel.js +1 -1
- package/src/models/user/__tests__/UserModel.spec.js +2 -2
- package/src/models/user/__tests__/UserProfileModel.spec.js +2 -2
- package/src/models/user/__tests__/UserServicesModel.spec.js +1 -1
- package/src/modularui/CaptchaRequest.js +1 -1
- package/src/modularui/ModularUIRequest.js +26 -26
- package/src/modularui/UploadRequest.js +6 -6
- package/src/modularui/__tests__/ModularUIError.spec.js +1 -1
- package/src/modularui/__tests__/ModularUIRequest.spec.js +9 -9
- package/src/react/utils.js +1 -1
- package/src/react-client/client.js +11 -10
- package/src/react-client/contextPath.js +2 -2
- package/src/react-client/rehydrate.js +1 -1
- package/src/react-server/__tests__/serverUtil.spec.js +2 -2
- package/src/react-server/createSSRComplete.js +3 -3
- package/src/react-server/renderSSRComplete.js +4 -4
- package/src/react-server/renderSSRMinimal.js +1 -1
- package/src/react-server/requestInformation.js +2 -2
- package/src/react-server/serverUtil.js +8 -8
- package/src/react-theme/__tests__/createTheme.spec.js +4 -4
- package/src/react-theme/createTheme.js +1 -1
- package/src/react-theme/utils/__tests__/background.spec.js +2 -2
- package/src/react-theme/utils/__tests__/contrast.spec.js +1 -1
- package/src/react-theme/utils/__tests__/corners.spec.js +3 -3
- package/src/react-theme/utils/__tests__/spacers.spec.js +1 -1
- package/src/react-theme/utils/__tests__/themeProps.spec.js +9 -9
- package/src/react-theme/utils/colors.js +3 -3
- package/src/react-theme/utils/contrast.js +6 -6
- package/src/react-theme/utils/corners.js +2 -2
- package/src/react-theme/utils/spacers.js +2 -2
- package/src/react-theme/utils/themeProps.js +8 -8
- package/src/redux/_i18n/I18nActions.js +1 -1
- package/src/redux/_i18n/I18nReducer.js +2 -2
- package/src/redux/_i18n/__tests__/reducer.spec.js +2 -2
- package/src/redux/_modularui/ModularUIActions.js +8 -8
- package/src/redux/_modularui/ModularUIConnector.js +4 -4
- package/src/redux/_modularui/ModularUIMiddleware.js +6 -6
- package/src/redux/_modularui/ModularUIReducer.js +5 -5
- package/src/redux/_modularui/ModularUISelectors.js +11 -11
- package/src/redux/_modularui/ModularUIUtils.js +1 -1
- package/src/redux/_modularui/__tests__/actions.spec.js +1 -1
- package/src/redux/_modularui/__tests__/reducer.spec.js +13 -13
- package/src/redux/_modularui/__tests__/selectors.spec.js +3 -3
- package/src/redux/_modularui/types.js +4 -4
- package/src/redux/_modularui/withModularUI.js +3 -3
- package/src/redux/_router/RouterActions.js +3 -3
- package/src/redux/_router/RouterConnectors.js +5 -5
- package/src/redux/_router/RouterReducer.js +1 -1
- package/src/redux/_router/__tests__/reducer.spec.js +2 -2
- package/src/redux/actions/Application.js +1 -1
- package/src/redux/actions/Authorization.js +1 -1
- package/src/redux/actions/Error.js +3 -3
- package/src/redux/actions/FormAttributeSet.js +2 -2
- package/src/redux/actions/FormAttributeSetRepeatable.js +3 -3
- package/src/redux/actions/FormAutosave.js +1 -1
- package/src/redux/actions/FormAutosubmit.js +1 -1
- package/src/redux/actions/FormValidations.js +3 -3
- package/src/redux/actions/Notification.js +4 -4
- package/src/redux/actions/Preferences.js +11 -11
- package/src/redux/actions/ProgressIndicator.js +1 -1
- package/src/redux/actions/SignIn.js +3 -3
- package/src/redux/actions/__tests__/Authorization.spec.js +2 -2
- package/src/redux/actions/__tests__/Error-server.spec.js +13 -13
- package/src/redux/actions/__tests__/Error.spec.js +6 -6
- package/src/redux/actions/__tests__/Notification.spec.js +1 -1
- package/src/redux/actions/__tests__/Preferences.spec.js +2 -2
- package/src/redux/connectors/Application.js +1 -1
- package/src/redux/connectors/Breadcrumb.js +1 -1
- package/src/redux/connectors/CaseView.js +1 -1
- package/src/redux/connectors/ConceptDetail.js +1 -1
- package/src/redux/connectors/ContentBrowser.js +1 -1
- package/src/redux/connectors/ContentDetail.js +1 -1
- package/src/redux/connectors/ContentDetailSection.js +2 -2
- package/src/redux/connectors/Form.js +5 -5
- package/src/redux/connectors/FormAttributeSet.js +6 -6
- package/src/redux/connectors/ListDetail.js +1 -1
- package/src/redux/connectors/Modal.js +1 -1
- package/src/redux/connectors/ModelCatalog.js +1 -1
- package/src/redux/connectors/Notification.js +1 -1
- package/src/redux/connectors/PanelRenderer.js +2 -2
- package/src/redux/connectors/Preferences.js +3 -3
- package/src/redux/connectors/Progress.js +1 -1
- package/src/redux/connectors/ProgressIndicator.js +1 -1
- package/src/redux/connectors/QuickSearch.js +2 -2
- package/src/redux/connectors/SignIn.js +1 -1
- package/src/redux/connectors/SignOut.js +1 -1
- package/src/redux/connectors/Tab.js +1 -1
- package/src/redux/reducers/AuthReducer.js +1 -1
- package/src/redux/reducers/ErrorReducer.js +1 -1
- package/src/redux/reducers/ModalsReducer.js +1 -1
- package/src/redux/reducers/NotificationReducer.js +1 -1
- package/src/redux/reducers/PreferencesReducer.js +1 -1
- package/src/redux/reducers/ProgressIndicatorReducer.js +1 -1
- package/src/redux/reducers/__tests__/AuthReducer.spec.js +10 -10
- package/src/redux/reducers/__tests__/ErrorReducer.spec.js +1 -1
- package/src/redux/reducers/__tests__/ModalsReducer.spec.js +3 -3
- package/src/redux/reducers/__tests__/NotificationReducer.spec.js +3 -3
- package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +2 -2
- package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +8 -8
- package/src/redux/store/beforeRenderHooks.js +1 -1
- package/src/redux/store/configureStore.js +3 -3
- package/src/utils/browser/Cookies.js +1 -1
- package/src/utils/browser/__tests__/Cookies.spec.js +1 -1
- package/src/utils/datetime/DateTimeUtil.js +15 -15
- package/src/utils/datetime/__tests__/DateTime.spec.js +84 -81
- package/src/utils/fetch/__tests__/xhr.spec.js +2 -2
- package/src/utils/fetch/universalFetch.js +1 -1
- package/src/utils/fetch/xhr.js +6 -6
- package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +8 -8
- package/src/utils/helpers/sanitizeHtml.js +3 -3
- package/src/utils/helpers/text.js +1 -1
- package/src/utils/number/DecimalFormat.js +2 -2
- package/src/utils/number/__tests__/formatValue.spec.js +1 -1
- package/src/utils/number/formatValue.js +2 -2
- package/src/utils/number/parseNumbers.js +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_DateTimeUtil","_ChoiceAttributeOptionCollection","_ContentConfigurationElements","_ChoiceAttributeOptionModel","_LayoutHints","_constants","BooleanAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","isApplicableModel","contributions","type","date","options","choicetype","_context","_find","call","hint","layouthint","has","isMultiple","isTree","hasContentConfiguration","_hasContentConfiguration","contentConfiguration","_context2","content","optionElements","optionElementConfig","_map","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","selected","_context3","option","code","readonlyvalue","_context4","label","join","initvalue","Array","isArray","_initvalue","length","getValue","_context5","hasValue","getInputValue","toggleOption","_context6","_includes","disableOption","enableOption","deselectAll","select","inputvalue","deselect","reset","mergeAttribute","oldAttribute","readonly","concept","isValid","update","value","updateLastModification","values","split","toString","forEach","val","ChoiceAttributeOptionModel","some","getFormData","inError","name","readonlyWidth","hasAlternativeLabel","ATTRIBUTE_WIDTH","SMALL","EXTRA_SMALL","exports"],"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.toString()];\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
|
+
{"version":3,"file":"BooleanAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_DateTimeUtil","_ChoiceAttributeOptionCollection","_ContentConfigurationElements","_ChoiceAttributeOptionModel","_LayoutHints","_constants","BooleanAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","isApplicableModel","contributions","type","date","options","choicetype","_context","_find","call","hint","layouthint","has","isMultiple","isTree","hasContentConfiguration","_hasContentConfiguration","contentConfiguration","_context2","content","optionElements","optionElementConfig","_map","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","selected","_context3","option","code","readonlyvalue","_context4","label","join","initvalue","Array","isArray","_initvalue","length","getValue","_context5","hasValue","getInputValue","toggleOption","_context6","_includes","disableOption","enableOption","deselectAll","select","inputvalue","deselect","reset","mergeAttribute","oldAttribute","readonly","concept","isValid","update","value","updateLastModification","values","split","toString","forEach","val","ChoiceAttributeOptionModel","some","getFormData","inError","name","readonlyWidth","hasAlternativeLabel","ATTRIBUTE_WIDTH","SMALL","EXTRA_SMALL","exports"],"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.toString()];\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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"}
|
|
@@ -269,7 +269,7 @@ class ChoiceAttributeModel extends _AttributeModel.default {
|
|
|
269
269
|
values = [value];
|
|
270
270
|
}
|
|
271
271
|
values.forEach(val => {
|
|
272
|
-
if (val
|
|
272
|
+
if (typeof val === "object" && val.isChoiceAttributeOptionModel) {
|
|
273
273
|
// option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options
|
|
274
274
|
if (!this.options.some(option => option.equals(val))) {
|
|
275
275
|
this.options.add(val);
|
|
@@ -34,7 +34,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
34
34
|
this._options = ChoiceAttributeOptionCollection.create(
|
|
35
35
|
attribute,
|
|
36
36
|
attributeContributions,
|
|
37
|
-
this.referenceDate
|
|
37
|
+
this.referenceDate,
|
|
38
38
|
);
|
|
39
39
|
|
|
40
40
|
if (this.layouthint.has(SORT_OPTIONS)) {
|
|
@@ -95,7 +95,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
95
95
|
this.concept = models.find(
|
|
96
96
|
(model) =>
|
|
97
97
|
model.type === "ConceptDetail" &&
|
|
98
|
-
model.selfhref.equalsWithParameters(conceptLinkHref)
|
|
98
|
+
model.selfhref.equalsWithParameters(conceptLinkHref),
|
|
99
99
|
);
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -151,7 +151,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
151
151
|
get selected(): Array<string> {
|
|
152
152
|
// $FlowFixMe[incompatible-call]
|
|
153
153
|
return this.options.selected.map<string, ChoiceAttributeOptionModel>(
|
|
154
|
-
(option: ChoiceAttributeOptionModel) => option.code
|
|
154
|
+
(option: ChoiceAttributeOptionModel) => option.code,
|
|
155
155
|
);
|
|
156
156
|
}
|
|
157
157
|
|
|
@@ -323,7 +323,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
323
323
|
values = [value];
|
|
324
324
|
}
|
|
325
325
|
values.forEach((val) => {
|
|
326
|
-
if (val
|
|
326
|
+
if (typeof val === "object" && val.isChoiceAttributeOptionModel) {
|
|
327
327
|
// option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options
|
|
328
328
|
if (!this.options.some((option) => option.equals(val))) {
|
|
329
329
|
this.options.add(val);
|
|
@@ -380,7 +380,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
380
380
|
}
|
|
381
381
|
|
|
382
382
|
return optionElement;
|
|
383
|
-
}
|
|
383
|
+
},
|
|
384
384
|
);
|
|
385
385
|
|
|
386
386
|
return new ContentConfigurationElements(optionElementConfig);
|
|
@@ -404,11 +404,11 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
404
404
|
if (properties && has(properties, ANSWER_OPTION_KEY)) {
|
|
405
405
|
const optionKey = properties[ANSWER_OPTION_KEY];
|
|
406
406
|
const foundOption = this.options.find(
|
|
407
|
-
(option) => option.code === optionKey
|
|
407
|
+
(option) => option.code === optionKey,
|
|
408
408
|
);
|
|
409
409
|
if (foundOption) {
|
|
410
410
|
properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(
|
|
411
|
-
this.contentConfiguration
|
|
411
|
+
this.contentConfiguration,
|
|
412
412
|
);
|
|
413
413
|
}
|
|
414
414
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeModel.js","names":["_objects","require","_DateTimeUtil","_AttributeModel","_interopRequireDefault","_ChoiceAttributeOptionCollection","_ChoiceAttributeOptionModel","_ContentConfigurationElements","_LayoutHints","_constants","ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_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","_find","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_map","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includes","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","readonly","mergeOptions","isValid","update","value","updateLastModification","values","split","forEach","val","ChoiceAttributeOptionModel","equals","add","toString","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","addServerError","error","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","_errorCollection","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM","exports"],"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 // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n 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":["_objects","require","_DateTimeUtil","_AttributeModel","_interopRequireDefault","_ChoiceAttributeOptionCollection","_ChoiceAttributeOptionModel","_ContentConfigurationElements","_LayoutHints","_constants","ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_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","_find","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_map","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includes","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","readonly","mergeOptions","isValid","update","value","updateLastModification","values","split","forEach","val","isChoiceAttributeOptionModel","equals","add","toString","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","addServerError","error","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","_errorCollection","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM","exports"],"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 (typeof val === \"object\" && val.isChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n 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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"}
|
|
@@ -34,7 +34,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
34
34
|
static create(
|
|
35
35
|
data: Object = {},
|
|
36
36
|
contributions: Object = {},
|
|
37
|
-
referenceDate: ISO_DATE = DateUtil.now()
|
|
37
|
+
referenceDate: ISO_DATE = DateUtil.now(),
|
|
38
38
|
): ChoiceAttributeOptionCollection {
|
|
39
39
|
const collection = new ChoiceAttributeOptionCollection();
|
|
40
40
|
|
|
@@ -71,7 +71,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
71
71
|
selectedOptions.push(
|
|
72
72
|
...data.options
|
|
73
73
|
.filter((option) => option.selected)
|
|
74
|
-
.map((option) => option.key)
|
|
74
|
+
.map((option) => option.key),
|
|
75
75
|
);
|
|
76
76
|
} else if (Array.isArray(data.value)) {
|
|
77
77
|
selectedOptions.push(...data.value);
|
|
@@ -102,7 +102,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
102
102
|
addOptions(
|
|
103
103
|
data: Object,
|
|
104
104
|
contributions: Object,
|
|
105
|
-
referenceDate: ISO_DATE = DateUtil.now()
|
|
105
|
+
referenceDate: ISO_DATE = DateUtil.now(),
|
|
106
106
|
): ChoiceAttributeOptionCollection {
|
|
107
107
|
const selectedValues = this.getSelectedOptions(data);
|
|
108
108
|
|
|
@@ -115,7 +115,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
115
115
|
...optionContributions,
|
|
116
116
|
count: this.getOptionCount(optionCode, data.options),
|
|
117
117
|
},
|
|
118
|
-
referenceDate
|
|
118
|
+
referenceDate,
|
|
119
119
|
);
|
|
120
120
|
});
|
|
121
121
|
|
|
@@ -128,7 +128,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
128
128
|
addDynamicSchema(
|
|
129
129
|
data: Object,
|
|
130
130
|
contributions: Object,
|
|
131
|
-
referenceDate: ISO_DATE = DateUtil.now()
|
|
131
|
+
referenceDate: ISO_DATE = DateUtil.now(),
|
|
132
132
|
): ChoiceAttributeOptionCollection {
|
|
133
133
|
const selectedValues = this.getSelectedOptions(data);
|
|
134
134
|
data.dynamicschema.forEach((optionDynamicschema) => {
|
|
@@ -139,7 +139,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
139
139
|
count: this.getOptionCount(optionDynamicschema.code, data.options),
|
|
140
140
|
elementsContributions: contributions.children,
|
|
141
141
|
},
|
|
142
|
-
referenceDate
|
|
142
|
+
referenceDate,
|
|
143
143
|
);
|
|
144
144
|
});
|
|
145
145
|
|
|
@@ -152,7 +152,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
152
152
|
code: "true" | "false",
|
|
153
153
|
defaultLabel: string,
|
|
154
154
|
data: string | Array<string>,
|
|
155
|
-
options: Array<Object> = []
|
|
155
|
+
options: Array<Object> = [],
|
|
156
156
|
) {
|
|
157
157
|
const foundOption = options.find((option) => option.code === code);
|
|
158
158
|
|
|
@@ -172,7 +172,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
172
172
|
*/
|
|
173
173
|
addBooleanOptions(
|
|
174
174
|
value: any,
|
|
175
|
-
contributions: Object
|
|
175
|
+
contributions: Object,
|
|
176
176
|
): ChoiceAttributeOptionCollection {
|
|
177
177
|
const optionValue = value == null ? [] : [value.toString()];
|
|
178
178
|
|
|
@@ -187,12 +187,12 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
187
187
|
addOption(
|
|
188
188
|
data: string | Array<string>,
|
|
189
189
|
contributions: Object,
|
|
190
|
-
referenceDate: ISO_DATE = DateUtil.now()
|
|
190
|
+
referenceDate: ISO_DATE = DateUtil.now(),
|
|
191
191
|
): ChoiceAttributeOptionCollection {
|
|
192
192
|
const optionModel = new ChoiceAttributeOptionModel(
|
|
193
193
|
Array.isArray(data) ? data : [data],
|
|
194
194
|
contributions,
|
|
195
|
-
referenceDate
|
|
195
|
+
referenceDate,
|
|
196
196
|
);
|
|
197
197
|
|
|
198
198
|
this.add(optionModel);
|
|
@@ -306,20 +306,20 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
306
306
|
*/
|
|
307
307
|
mergeOptions(
|
|
308
308
|
withOptions: ChoiceAttributeOptionCollection,
|
|
309
|
-
addNotExistingOptions: boolean = false
|
|
309
|
+
addNotExistingOptions: boolean = false,
|
|
310
310
|
) {
|
|
311
311
|
if (addNotExistingOptions) {
|
|
312
312
|
this.collection = [
|
|
313
313
|
...this.collection,
|
|
314
314
|
...withOptions.filter(
|
|
315
|
-
(option) => !this.collection.some((opt) => opt.code === option.code)
|
|
315
|
+
(option) => !this.collection.some((opt) => opt.code === option.code),
|
|
316
316
|
),
|
|
317
317
|
];
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
this.collection.forEach((option) => {
|
|
321
321
|
const foundOption = withOptions.find(
|
|
322
|
-
(withOption) => withOption.code === option.code
|
|
322
|
+
(withOption) => withOption.code === option.code,
|
|
323
323
|
);
|
|
324
324
|
if (foundOption) {
|
|
325
325
|
option.mergeOption(foundOption);
|
|
@@ -333,9 +333,9 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
333
333
|
callbackfn: (
|
|
334
334
|
value: ChoiceAttributeOptionModel,
|
|
335
335
|
index: number,
|
|
336
|
-
array: Array<ChoiceAttributeOptionModel
|
|
336
|
+
array: Array<ChoiceAttributeOptionModel>,
|
|
337
337
|
) => any,
|
|
338
|
-
thisArg?: any
|
|
338
|
+
thisArg?: any,
|
|
339
339
|
): boolean {
|
|
340
340
|
return this.collection.some((option, optionIndex, collectionArray) => {
|
|
341
341
|
const result = callbackfn(option, optionIndex, collectionArray);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_DateTimeUtil","ChoiceAttributeOptionCollection","ResourceCollection","constructor","arguments","_defineProperty2","default","sortOptions","_sortOptions","collection","forEach","option","children","create","data","length","undefined","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","_context4","newOption","clone","select","toggle","deselect","action","_context5","setReferenceDate","date","_context6","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"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 * 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 = value == null ? [] : [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 /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>\n ) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_DateTimeUtil","ChoiceAttributeOptionCollection","ResourceCollection","constructor","arguments","_defineProperty2","default","sortOptions","_sortOptions","collection","forEach","option","children","create","data","length","undefined","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","_context4","newOption","clone","select","toggle","deselect","action","_context5","setReferenceDate","date","_context6","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"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 * 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 = value == null ? [] : [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 /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>,\n ) => any,\n thisArg?: any,\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
|
|
@@ -60,6 +60,14 @@ class ChoiceAttributeOptionModel extends _BaseModel.default {
|
|
|
60
60
|
return option;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Indicates that this a choice attribute option model, used when adding options to a choice attribute
|
|
65
|
+
* @returns {boolean}
|
|
66
|
+
*/
|
|
67
|
+
get isChoiceAttributeOptionModel() {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
|
|
63
71
|
/**
|
|
64
72
|
*/
|
|
65
73
|
getInitialChildModelLinks() {
|
|
@@ -38,7 +38,7 @@ class ChoiceAttributeOptionModel
|
|
|
38
38
|
constructor(
|
|
39
39
|
selectedValues: Array<string> = [],
|
|
40
40
|
option: Object = {},
|
|
41
|
-
referenceDate: ISO_DATE = DateUtil.now()
|
|
41
|
+
referenceDate: ISO_DATE = DateUtil.now(),
|
|
42
42
|
) {
|
|
43
43
|
super({}, option);
|
|
44
44
|
|
|
@@ -61,7 +61,7 @@ class ChoiceAttributeOptionModel
|
|
|
61
61
|
/**
|
|
62
62
|
*/
|
|
63
63
|
static createFromListItemModel(
|
|
64
|
-
listitem: ListItemModel
|
|
64
|
+
listitem: ListItemModel,
|
|
65
65
|
): ChoiceAttributeOptionModel {
|
|
66
66
|
const option = new ChoiceAttributeOptionModel();
|
|
67
67
|
|
|
@@ -72,6 +72,14 @@ class ChoiceAttributeOptionModel
|
|
|
72
72
|
return option;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Indicates that this a choice attribute option model, used when adding options to a choice attribute
|
|
77
|
+
* @returns {boolean}
|
|
78
|
+
*/
|
|
79
|
+
get isChoiceAttributeOptionModel(): boolean {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
|
|
75
83
|
/**
|
|
76
84
|
*/
|
|
77
85
|
getInitialChildModelLinks(): Array<LinkModel> {
|
|
@@ -95,7 +103,7 @@ class ChoiceAttributeOptionModel
|
|
|
95
103
|
const conceptHref = this.conceptLink.href;
|
|
96
104
|
|
|
97
105
|
this.concept = models.find((model) =>
|
|
98
|
-
model.selfhref.equalsWithParameters(conceptHref)
|
|
106
|
+
model.selfhref.equalsWithParameters(conceptHref),
|
|
99
107
|
);
|
|
100
108
|
}
|
|
101
109
|
|
|
@@ -189,7 +197,7 @@ class ChoiceAttributeOptionModel
|
|
|
189
197
|
.getLabelElementByIds(configuredLabelProperties)
|
|
190
198
|
.filter(
|
|
191
199
|
(configuredLabel) =>
|
|
192
|
-
configuredLabel.value && configuredLabel.value !== ""
|
|
200
|
+
configuredLabel.value && configuredLabel.value !== "",
|
|
193
201
|
);
|
|
194
202
|
|
|
195
203
|
if (configuredLabels.length > 0) {
|
|
@@ -197,14 +205,14 @@ class ChoiceAttributeOptionModel
|
|
|
197
205
|
.filter((configuredLabelProperty) =>
|
|
198
206
|
configuredLabels.some(
|
|
199
207
|
(configuredLabel) =>
|
|
200
|
-
configuredLabel._id === configuredLabelProperty
|
|
201
|
-
)
|
|
208
|
+
configuredLabel._id === configuredLabelProperty,
|
|
209
|
+
),
|
|
202
210
|
)
|
|
203
211
|
.map((configuredLabelProperty) =>
|
|
204
212
|
configuredLabels.find(
|
|
205
213
|
(configuredLabel) =>
|
|
206
|
-
configuredLabel._id === configuredLabelProperty
|
|
207
|
-
)
|
|
214
|
+
configuredLabel._id === configuredLabelProperty,
|
|
215
|
+
),
|
|
208
216
|
)[0].value;
|
|
209
217
|
}
|
|
210
218
|
}
|
|
@@ -238,7 +246,7 @@ class ChoiceAttributeOptionModel
|
|
|
238
246
|
addChildren(
|
|
239
247
|
selectedValues: Array<string> = [],
|
|
240
248
|
option: Object = {},
|
|
241
|
-
referenceDate: ISO_DATE = DateUtil.now()
|
|
249
|
+
referenceDate: ISO_DATE = DateUtil.now(),
|
|
242
250
|
): ChoiceAttributeOptionCollection {
|
|
243
251
|
// When contributions contain elements this is a list not nested options
|
|
244
252
|
if (has(option, "elements")) {
|
|
@@ -250,7 +258,7 @@ class ChoiceAttributeOptionModel
|
|
|
250
258
|
value: selectedValues,
|
|
251
259
|
},
|
|
252
260
|
{ options: option?.children ?? [] },
|
|
253
|
-
referenceDate
|
|
261
|
+
referenceDate,
|
|
254
262
|
);
|
|
255
263
|
}
|
|
256
264
|
|
|
@@ -295,7 +303,7 @@ class ChoiceAttributeOptionModel
|
|
|
295
303
|
if (conceptLink !== null) {
|
|
296
304
|
conceptLink.href = conceptLink.href.addParameter(
|
|
297
305
|
TIMEVERSION_FILTER_NAME,
|
|
298
|
-
this.referenceDate
|
|
306
|
+
this.referenceDate,
|
|
299
307
|
);
|
|
300
308
|
|
|
301
309
|
conceptLink.isCacheable = true;
|