@beinformed/ui 1.45.1 → 1.45.2
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 +8 -0
- package/esm/builder/index.js.map +1 -1
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/Constants.js.map +1 -1
- package/esm/constants/LayoutHintConfig.js.map +1 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/constants/index.js.map +1 -1
- package/esm/exceptions/ConfigurationException.js.map +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/IllegalArgumentException.js.map +1 -1
- package/esm/exceptions/IllegalReturnException.js.map +1 -1
- package/esm/exceptions/IllegalStateException.js.map +1 -1
- package/esm/exceptions/JsonParseException.js.map +1 -1
- package/esm/exceptions/MissingPropertyException.js.map +1 -1
- package/esm/exceptions/NetworkException.js.map +1 -1
- package/esm/exceptions/NotAllowedUriException.js.map +1 -1
- package/esm/exceptions/NotFoundException.js.map +1 -1
- package/esm/exceptions/ServerRequestException.js.map +1 -1
- package/esm/exceptions/ThemePropertyException.js.map +1 -1
- package/esm/exceptions/TimeoutException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
- package/esm/exceptions/index.js.map +1 -1
- package/esm/hooks/index.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/useModels.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.map +1 -1
- package/esm/hooks/useProgressIndicator.js.map +1 -1
- package/esm/hooks/useRouter.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/index.js.map +1 -1
- package/esm/i18n/languages.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/esm/i18n/types.js.map +1 -1
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/index.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/CaptchaAttributeModel.js.map +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.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/HelptextAttributeModel.js.map +1 -1
- package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
- package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
- package/esm/models/attributes/MoneyAttributeModel.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/XMLAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/BSNConstraint.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/DateTimeDateFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.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/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/XMLConstraint.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/ResourceCollection.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/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/ConceptTypeDetailModel.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/ContentTypeModel.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/contentconfiguration/ContentConfigurationResults.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/error/ErrorResponse.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/ConceptIndexFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/FilterModel.js.map +1 -1
- package/esm/models/filters/RangeFilterModel.js.map +1 -1
- package/esm/models/filters/StringFilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +16 -10
- 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/href/ListHref.js.map +1 -1
- package/esm/models/index.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/ListHeaderModel.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/PagesizeModel.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/parameter/Parameter.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/search/CaseSearchModel.js.map +1 -1
- package/esm/models/sorting/SortOptionModel.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/TaskGroupCollection.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/UserModel.js.map +1 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/models/user/UserServicesModel.js.map +1 -1
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/CaptchaRequest.js.map +1 -1
- package/esm/modularui/ModularUIError.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/ModularUIResponse.js.map +1 -1
- package/esm/modularui/UploadRequest.js.map +1 -1
- package/esm/modularui/index.js.map +1 -1
- package/esm/modularui/types.js.map +1 -1
- package/esm/react/ErrorBoundary.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.js +1 -2
- package/esm/react/ErrorBoundaryFallback.js.map +1 -1
- package/esm/react/index.js.map +1 -1
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/Init.js.map +1 -1
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/react-client/index.js.map +1 -1
- package/esm/react-client/rehydrate.js.map +1 -1
- package/esm/react-server/contextPath.js.map +1 -1
- package/esm/react-server/createSSRComplete.js.map +1 -1
- package/esm/react-server/htmlpage.js.map +1 -1
- package/esm/react-server/index.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/serverNoSSR.js.map +1 -1
- package/esm/react-server/serverSSR.js.map +1 -1
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/ThemeProvider.js.map +1 -1
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/index.js.map +1 -1
- package/esm/react-theme/types.js.map +1 -1
- package/esm/react-theme/useTheme.js.map +1 -1
- package/esm/react-theme/utils/background.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/_i18n/index.js.map +1 -1
- package/esm/redux/_i18n/types.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/index.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/RouterMiddleware.js.map +1 -1
- package/esm/redux/_router/RouterReducer.js.map +1 -1
- package/esm/redux/_router/index.js.map +1 -1
- package/esm/redux/_router/types.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/Form.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/Modals.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/actions/SignOut.js.map +1 -1
- package/esm/redux/actions/index.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/connectors/index.js.map +1 -1
- package/esm/redux/index.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/reducers/createReducer.js.map +1 -1
- package/esm/redux/reducers/index.js.map +1 -1
- package/esm/redux/selectors/i18n.js.map +1 -1
- package/esm/redux/selectors/index.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/redux/types.js.map +1 -1
- package/esm/utils/browser/Cache.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/serverFetch.js.map +1 -1
- package/esm/utils/fetch/types.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/checkResource.js.map +1 -1
- package/esm/utils/helpers/createHash.js.map +1 -1
- package/esm/utils/helpers/createHref.js.map +1 -1
- package/esm/utils/helpers/createUUID.js.map +1 -1
- package/esm/utils/helpers/index.js.map +1 -1
- package/esm/utils/helpers/objects.js.map +1 -1
- package/esm/utils/helpers/repositoryResource.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/index.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/index.js.map +1 -1
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/Constants.js.map +1 -1
- package/lib/constants/LayoutHintConfig.js.map +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js.map +1 -1
- package/lib/constants/index.js.map +1 -1
- package/lib/exceptions/ConfigurationException.js.map +1 -1
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/exceptions/IllegalArgumentException.js.map +1 -1
- package/lib/exceptions/IllegalReturnException.js.map +1 -1
- package/lib/exceptions/IllegalStateException.js.map +1 -1
- package/lib/exceptions/JsonParseException.js.map +1 -1
- package/lib/exceptions/MissingPropertyException.js.map +1 -1
- package/lib/exceptions/NetworkException.js.map +1 -1
- package/lib/exceptions/NotAllowedUriException.js.map +1 -1
- package/lib/exceptions/NotFoundException.js.map +1 -1
- package/lib/exceptions/ServerRequestException.js.map +1 -1
- package/lib/exceptions/ThemePropertyException.js.map +1 -1
- package/lib/exceptions/TimeoutException.js.map +1 -1
- package/lib/exceptions/UnauthorizedException.js.map +1 -1
- package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
- package/lib/exceptions/index.js.map +1 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModels.js.map +1 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/hooks/useProgressIndicator.js.map +1 -1
- package/lib/hooks/useRouter.js.map +1 -1
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/index.js +1 -1
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/languages.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
- package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
- package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceCollection.js.map +1 -1
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/ContentTypeModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/FilterModel.js.map +1 -1
- package/lib/models/filters/RangeFilterModel.js.map +1 -1
- package/lib/models/filters/StringFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +16 -10
- package/lib/models/form/FormObjectModel.js.flow +13 -9
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/index.js +1 -1
- package/lib/models/index.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/links/normalizeLinkJSON.js.map +1 -1
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListHeaderModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/paging/PagesizeModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/search/CaseSearchModel.js.map +1 -1
- package/lib/models/sorting/SortOptionModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/CaptchaRequest.js.map +1 -1
- package/lib/modularui/ModularUIError.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/modularui/UploadRequest.js.map +1 -1
- package/lib/modularui/index.js.map +1 -1
- package/lib/modularui/types.js.map +1 -1
- package/lib/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react/index.js.map +1 -1
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/Init.js.map +1 -1
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/contextPath.js.map +1 -1
- package/lib/react-client/index.js.map +1 -1
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/contextPath.js.map +1 -1
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/htmlpage.js.map +1 -1
- package/lib/react-server/index.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js +1 -1
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/index.js.map +1 -1
- package/lib/react-theme/types.js.map +1 -1
- package/lib/react-theme/useTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/I18nActions.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_i18n/index.js.map +1 -1
- package/lib/redux/_i18n/types.js.map +1 -1
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/redux/_modularui/index.js.map +1 -1
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/RouterActions.js.map +1 -1
- package/lib/redux/_router/RouterConnectors.js.map +1 -1
- package/lib/redux/_router/RouterMiddleware.js.map +1 -1
- package/lib/redux/_router/RouterReducer.js.map +1 -1
- package/lib/redux/_router/index.js.map +1 -1
- package/lib/redux/_router/types.js.map +1 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/Form.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Modals.js.map +1 -1
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/ProgressIndicator.js.map +1 -1
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/SignOut.js.map +1 -1
- package/lib/redux/actions/index.js.map +1 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/connectors/index.js.map +1 -1
- package/lib/redux/index.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/reducers/createReducer.js.map +1 -1
- package/lib/redux/reducers/index.js.map +1 -1
- package/lib/redux/selectors/i18n.js.map +1 -1
- package/lib/redux/selectors/index.js.map +1 -1
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/redux/types.js.map +1 -1
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/serverFetch.js.map +1 -1
- package/lib/utils/fetch/types.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/createHash.js.map +1 -1
- package/lib/utils/helpers/createHref.js.map +1 -1
- package/lib/utils/helpers/createUUID.js.map +1 -1
- package/lib/utils/helpers/index.js.map +1 -1
- package/lib/utils/helpers/objects.js.map +1 -1
- package/lib/utils/helpers/repositoryResource.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +1 -1
- package/src/models/form/FormObjectModel.js +13 -9
|
@@ -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","optionType","isUser","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 get optionType(): string {\n return this.contributions?.optionType ?? \"generic\";\n }\n\n /**\n */\n get isUser(): boolean {\n return this.optionType === \"user\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\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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"}
|
|
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","optionType","isUser","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 get optionType(): string {\n return this.contributions?.optionType ?? \"generic\";\n }\n\n /**\n */\n get isUser(): boolean {\n return this.optionType === \"user\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\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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","ignoreList":[]}
|
|
@@ -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","optionType","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 optionType: contributions.optionType ?? \"generic\",\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 optionType: contributions.optionType ?? \"generic\",\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","optionType","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 optionType: contributions.optionType ?? \"generic\",\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 optionType: contributions.optionType ?? \"generic\",\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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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeOptionModel.js","names":["_BaseModel","_interopRequireDefault","require","_ChoiceAttributeOptionCollection","_DateTimeUtil","_objects","_Constants","_LayoutHints","_Settings","_LinkCollection","_AttributeCollection","_ConceptDetailModel","_AttributeContent","ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","arguments","length","undefined","option","referenceDate","DateUtil","now","_defineProperty2","default","code","contributions","key","_isSelected","_includes","call","_referenceDate","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","_content","AttributeContent","content","_isUser","optionType","createFromListItemModel","listitem","id","toString","attributeCollection","clone","links","isChoiceAttributeOptionModel","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","conceptHref","href","concept","_find","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","_context","configuredLabels","_filter","getLabelElementByIds","configuredLabel","value","_context2","_map","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","avatarLink","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData","isUser","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n _isUser: boolean = false;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now(),\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate = referenceDate;\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection();\n this._children = this.addChildren(selectedValues, option, referenceDate);\n\n this._links = new LinkCollection(this.contributions._links);\n\n this._content = new AttributeContent(option.content);\n\n this._isUser = option.optionType === \"user\";\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel,\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection.clone();\n option.links = listitem.links.clone();\n\n return option;\n }\n\n /**\n * Indicates that this a choice attribute option model, used when adding options to a choice attribute\n * @returns {boolean}\n */\n get isChoiceAttributeOptionModel(): boolean {\n return true;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref),\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, true);\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\",\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now(),\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection();\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n referenceDate,\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate,\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n *\n */\n get avatarLink(): LinkModel | null {\n return this.links.getLinkByKey(\"avatar\");\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n\n /**\n */\n get isUser(): boolean {\n return this._isUser;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeOptionModel.js","names":["_BaseModel","_interopRequireDefault","require","_ChoiceAttributeOptionCollection","_DateTimeUtil","_objects","_Constants","_LayoutHints","_Settings","_LinkCollection","_AttributeCollection","_ConceptDetailModel","_AttributeContent","ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","arguments","length","undefined","option","referenceDate","DateUtil","now","_defineProperty2","default","code","contributions","key","_isSelected","_includes","call","_referenceDate","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","_content","AttributeContent","content","_isUser","optionType","createFromListItemModel","listitem","id","toString","attributeCollection","clone","links","isChoiceAttributeOptionModel","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","conceptHref","href","concept","_find","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","_context","configuredLabels","_filter","getLabelElementByIds","configuredLabel","value","_context2","_map","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","avatarLink","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData","isUser","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n _isUser: boolean = false;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now(),\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate = referenceDate;\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection();\n this._children = this.addChildren(selectedValues, option, referenceDate);\n\n this._links = new LinkCollection(this.contributions._links);\n\n this._content = new AttributeContent(option.content);\n\n this._isUser = option.optionType === \"user\";\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel,\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection.clone();\n option.links = listitem.links.clone();\n\n return option;\n }\n\n /**\n * Indicates that this a choice attribute option model, used when adding options to a choice attribute\n * @returns {boolean}\n */\n get isChoiceAttributeOptionModel(): boolean {\n return true;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref),\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, true);\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\",\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n referenceDate: ISO_DATE = DateUtil.now(),\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection();\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n referenceDate,\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate,\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n *\n */\n get avatarLink(): LinkModel | null {\n return this.links.getLinkByKey(\"avatar\");\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n\n /**\n */\n get isUser(): boolean {\n return this._isUser;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeAttributeChildCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ErrorCollection","_createAttribute","CompositeAttributeChildCollection","ResourceCollection","create","data","contributions","Array","isArray","children","isMultipleTableRows","createMultiData","createStandard","_context","_context2","compositeChildCollection","collection","_filter","default","_map","call","contribution","_context3","_context4","key","_keys","attributeData","_find","attr","attributeContribution","_includes","type","replace","attribute","createAttribute","dynamicschema","readonly","parentKey","_context5","childData","getInputValue","_context6","child","inputvalue","join","validate","every","isValid","errorCollection","ErrorCollection","hasServerErrors","serverErrors","length","some","hasErrors","hasItems","reset","forEach","initvalue","_context8","first","_context7","value","_context9","formdata","readonlyvalue","_context11","_context12","_context10","updateValidations","prefix","errors","attributeErrors","error","anchor","elementid","hasValue","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\n\nimport createAttribute from \"./_createAttribute\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Collection of choice attribute options\n */\nclass CompositeAttributeChildCollection extends ResourceCollection<AttributeType> {\n /**\n */\n static create(\n data: Object,\n contributions: Object,\n ): CompositeAttributeChildCollection {\n if (\n data &&\n contributions &&\n Array.isArray(contributions.children) &&\n Array.isArray(data.children)\n ) {\n // a composite with multiple data elements and one contributions element\n // multiple 'composites' are returned\n const isMultipleTableRows = Array.isArray(data.children[0]);\n if (isMultipleTableRows) {\n return CompositeAttributeChildCollection.createMultiData(\n data,\n contributions,\n );\n }\n\n return CompositeAttributeChildCollection.createStandard(\n data,\n contributions,\n );\n }\n\n return new CompositeAttributeChildCollection();\n }\n\n /**\n */\n static createStandard(\n data: Object,\n contributions: Object,\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = contributions.children\n .map((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attributeData = Array.isArray(data.children)\n ? data.children.find((attr) => attr.key === key)\n : {};\n\n const attributeContribution = contribution[key];\n\n if (\n contributions.type.includes(\"range\") &&\n !attributeContribution.type\n ) {\n attributeContribution.type = contributions.type.replace(\"range\", \"\");\n }\n\n const attribute = createAttribute(\n key,\n {\n ...attributeData,\n dynamicschema: attributeData?.dynamicschema,\n },\n {\n ...attributeContribution,\n readonly: attributeContribution.readonly || contributions.readonly,\n },\n );\n\n if (attribute) {\n attribute.parentKey = data.key;\n }\n\n return attribute;\n })\n .filter((attribute) => attribute !== null);\n\n return compositeChildCollection;\n }\n\n /*\n * Creates a composite for each child data element using the same contributions\n */\n /**\n */\n static createMultiData(\n data: Object,\n contributions: Object,\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = data.children.map((childData) =>\n CompositeAttributeChildCollection.create(\n {\n ...data,\n children: childData,\n },\n contributions,\n ),\n );\n\n return compositeChildCollection;\n }\n\n /**\n * Get input value of contributions\n */\n getInputValue(): string {\n return this.collection.map((child) => child.inputvalue).join(\",\");\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n return this.collection.every((child) => child.isValid);\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n return new ErrorCollection(\"compositechildren\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.collection.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.collection.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.collection.forEach((child) => {\n child.reset();\n });\n }\n\n /**\n */\n get initvalue(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n // $FlowFixMe[missing-type-arg]\n return this.collection.map<Array<Object>>(\n (collection) => collection.initvalue,\n );\n }\n\n const children: { [string]: any } = {};\n this.collection\n .filter((child) => child.initvalue !== null)\n .forEach((child) => {\n children[child.key] = child.initvalue;\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get value(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection.map((collection) => collection.value);\n }\n\n let children: { [string]: any } = {};\n\n this.collection.forEach((attribute) => {\n if (attribute.formdata !== null && !attribute.readonly) {\n children = {\n ...children,\n ...attribute.formdata,\n };\n }\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection\n .map((collection) => collection.readonlyvalue)\n .join(\" | \");\n }\n\n return this.collection\n .filter((child) => child.value !== null)\n .map((child) => child.readonlyvalue)\n .join(\", \");\n }\n\n /**\n */\n updateValidations(prefix: string, errors: Object) {\n this.collection.forEach((child) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === `${prefix}${child.key}`,\n );\n\n child.updateValidations(attributeErrors);\n });\n }\n\n /**\n */\n hasValue(): boolean {\n return this.collection.some((child) => child.hasValue());\n }\n}\n\nexport default CompositeAttributeChildCollection;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CompositeAttributeChildCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ErrorCollection","_createAttribute","CompositeAttributeChildCollection","ResourceCollection","create","data","contributions","Array","isArray","children","isMultipleTableRows","createMultiData","createStandard","_context","_context2","compositeChildCollection","collection","_filter","default","_map","call","contribution","_context3","_context4","key","_keys","attributeData","_find","attr","attributeContribution","_includes","type","replace","attribute","createAttribute","dynamicschema","readonly","parentKey","_context5","childData","getInputValue","_context6","child","inputvalue","join","validate","every","isValid","errorCollection","ErrorCollection","hasServerErrors","serverErrors","length","some","hasErrors","hasItems","reset","forEach","initvalue","_context8","first","_context7","value","_context9","formdata","readonlyvalue","_context11","_context12","_context10","updateValidations","prefix","errors","attributeErrors","error","anchor","elementid","hasValue","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeChildCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ErrorCollection from \"../error/ErrorCollection\";\n\nimport createAttribute from \"./_createAttribute\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Collection of choice attribute options\n */\nclass CompositeAttributeChildCollection extends ResourceCollection<AttributeType> {\n /**\n */\n static create(\n data: Object,\n contributions: Object,\n ): CompositeAttributeChildCollection {\n if (\n data &&\n contributions &&\n Array.isArray(contributions.children) &&\n Array.isArray(data.children)\n ) {\n // a composite with multiple data elements and one contributions element\n // multiple 'composites' are returned\n const isMultipleTableRows = Array.isArray(data.children[0]);\n if (isMultipleTableRows) {\n return CompositeAttributeChildCollection.createMultiData(\n data,\n contributions,\n );\n }\n\n return CompositeAttributeChildCollection.createStandard(\n data,\n contributions,\n );\n }\n\n return new CompositeAttributeChildCollection();\n }\n\n /**\n */\n static createStandard(\n data: Object,\n contributions: Object,\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = contributions.children\n .map((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attributeData = Array.isArray(data.children)\n ? data.children.find((attr) => attr.key === key)\n : {};\n\n const attributeContribution = contribution[key];\n\n if (\n contributions.type.includes(\"range\") &&\n !attributeContribution.type\n ) {\n attributeContribution.type = contributions.type.replace(\"range\", \"\");\n }\n\n const attribute = createAttribute(\n key,\n {\n ...attributeData,\n dynamicschema: attributeData?.dynamicschema,\n },\n {\n ...attributeContribution,\n readonly: attributeContribution.readonly || contributions.readonly,\n },\n );\n\n if (attribute) {\n attribute.parentKey = data.key;\n }\n\n return attribute;\n })\n .filter((attribute) => attribute !== null);\n\n return compositeChildCollection;\n }\n\n /*\n * Creates a composite for each child data element using the same contributions\n */\n /**\n */\n static createMultiData(\n data: Object,\n contributions: Object,\n ): CompositeAttributeChildCollection {\n const compositeChildCollection = new CompositeAttributeChildCollection();\n\n compositeChildCollection.collection = data.children.map((childData) =>\n CompositeAttributeChildCollection.create(\n {\n ...data,\n children: childData,\n },\n contributions,\n ),\n );\n\n return compositeChildCollection;\n }\n\n /**\n * Get input value of contributions\n */\n getInputValue(): string {\n return this.collection.map((child) => child.inputvalue).join(\",\");\n }\n\n /**\n * Validate input\n */\n validate(): boolean {\n return this.collection.every((child) => child.isValid);\n }\n\n /**\n * Retrieve error messages of this attribute\n */\n get errorCollection(): ErrorCollection {\n return new ErrorCollection(\"compositechildren\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.collection.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.collection.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.collection.forEach((child) => {\n child.reset();\n });\n }\n\n /**\n */\n get initvalue(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n // $FlowFixMe[missing-type-arg]\n return this.collection.map<Array<Object>>(\n (collection) => collection.initvalue,\n );\n }\n\n const children: { [string]: any } = {};\n this.collection\n .filter((child) => child.initvalue !== null)\n .forEach((child) => {\n children[child.key] = child.initvalue;\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get value(): any {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection.map((collection) => collection.value);\n }\n\n let children: { [string]: any } = {};\n\n this.collection.forEach((attribute) => {\n if (attribute.formdata !== null && !attribute.readonly) {\n children = {\n ...children,\n ...attribute.formdata,\n };\n }\n });\n\n if (Object.keys(children).length === 0) {\n return null;\n }\n\n return children;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.first instanceof CompositeAttributeChildCollection) {\n return this.collection\n .map((collection) => collection.readonlyvalue)\n .join(\" | \");\n }\n\n return this.collection\n .filter((child) => child.value !== null)\n .map((child) => child.readonlyvalue)\n .join(\", \");\n }\n\n /**\n */\n updateValidations(prefix: string, errors: Object) {\n this.collection.forEach((child) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === `${prefix}${child.key}`,\n );\n\n child.updateValidations(attributeErrors);\n });\n }\n\n /**\n */\n hasValue(): boolean {\n return this.collection.some((child) => child.hasValue());\n }\n}\n\nexport default CompositeAttributeChildCollection;\n"],"mappings":";;;;;;;;;;;;AACA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,gBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAIA;AACA;AACA;AACA,MAAMG,iCAAiC,SAASC,2BAAkB,CAAgB;EAChF;AACF;EACE,OAAOC,MAAMA,CACXC,IAAY,EACZC,aAAqB,EACc;IACnC,IACED,IAAI,IACJC,aAAa,IACbC,KAAK,CAACC,OAAO,CAACF,aAAa,CAACG,QAAQ,CAAC,IACrCF,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,EAC5B;MACA;MACA;MACA,MAAMC,mBAAmB,GAAGH,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC3D,IAAIC,mBAAmB,EAAE;QACvB,OAAOR,iCAAiC,CAACS,eAAe,CACtDN,IAAI,EACJC,aACF,CAAC;MACH;MAEA,OAAOJ,iCAAiC,CAACU,cAAc,CACrDP,IAAI,EACJC,aACF,CAAC;IACH;IAEA,OAAO,IAAIJ,iCAAiC,CAAC,CAAC;EAChD;;EAEA;AACF;EACE,OAAOU,cAAcA,CACnBP,IAAY,EACZC,aAAqB,EACc;IAAA,IAAAO,QAAA,EAAAC,SAAA;IACnC,MAAMC,wBAAwB,GAAG,IAAIb,iCAAiC,CAAC,CAAC;IAExEa,wBAAwB,CAACC,UAAU,GAAG,IAAAC,OAAA,CAAAC,OAAA,EAAAL,QAAA,OAAAM,IAAA,CAAAD,OAAA,EAAAJ,SAAA,GAAAR,aAAa,CAACG,QAAQ,EAAAW,IAAA,CAAAN,SAAA,EACpDO,YAAY,IAAK;MAAA,IAAAC,SAAA,EAAAC,SAAA;MACrB,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAC,KAAA,CAAAP,OAAA,EAAYG,YAAY,CAAC;MAEvC,MAAMK,aAAa,GAAGnB,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,GAC9C,IAAAkB,KAAA,CAAAT,OAAA,EAAAI,SAAA,GAAAjB,IAAI,CAACI,QAAQ,EAAAW,IAAA,CAAAE,SAAA,EAAOM,IAAI,IAAKA,IAAI,CAACJ,GAAG,KAAKA,GAAG,CAAC,GAC9C,CAAC,CAAC;MAEN,MAAMK,qBAAqB,GAAGR,YAAY,CAACG,GAAG,CAAC;MAE/C,IACE,IAAAM,SAAA,CAAAZ,OAAA,EAAAK,SAAA,GAAAjB,aAAa,CAACyB,IAAI,EAAAX,IAAA,CAAAG,SAAA,EAAU,OAAO,CAAC,IACpC,CAACM,qBAAqB,CAACE,IAAI,EAC3B;QACAF,qBAAqB,CAACE,IAAI,GAAGzB,aAAa,CAACyB,IAAI,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;MACtE;MAEA,MAAMC,SAAS,GAAG,IAAAC,wBAAe,EAC/BV,GAAG,EACH;QACE,GAAGE,aAAa;QAChBS,aAAa,EAAET,aAAa,EAAES;MAChC,CAAC,EACD;QACE,GAAGN,qBAAqB;QACxBO,QAAQ,EAAEP,qBAAqB,CAACO,QAAQ,IAAI9B,aAAa,CAAC8B;MAC5D,CACF,CAAC;MAED,IAAIH,SAAS,EAAE;QACbA,SAAS,CAACI,SAAS,GAAGhC,IAAI,CAACmB,GAAG;MAChC;MAEA,OAAOS,SAAS;IAClB,CAAC,CAAC,EAAAb,IAAA,CAAAP,QAAA,EACOoB,SAAS,IAAKA,SAAS,KAAK,IAAI,CAAC;IAE5C,OAAOlB,wBAAwB;EACjC;;EAEA;AACF;AACA;EACE;AACF;EACE,OAAOJ,eAAeA,CACpBN,IAAY,EACZC,aAAqB,EACc;IAAA,IAAAgC,SAAA;IACnC,MAAMvB,wBAAwB,GAAG,IAAIb,iCAAiC,CAAC,CAAC;IAExEa,wBAAwB,CAACC,UAAU,GAAG,IAAAG,IAAA,CAAAD,OAAA,EAAAoB,SAAA,GAAAjC,IAAI,CAACI,QAAQ,EAAAW,IAAA,CAAAkB,SAAA,EAAMC,SAAS,IAChErC,iCAAiC,CAACE,MAAM,CACtC;MACE,GAAGC,IAAI;MACPI,QAAQ,EAAE8B;IACZ,CAAC,EACDjC,aACF,CACF,CAAC;IAED,OAAOS,wBAAwB;EACjC;;EAEA;AACF;AACA;EACEyB,aAAaA,CAAA,EAAW;IAAA,IAAAC,SAAA;IACtB,OAAO,IAAAtB,IAAA,CAAAD,OAAA,EAAAuB,SAAA,OAAI,CAACzB,UAAU,EAAAI,IAAA,CAAAqB,SAAA,EAAMC,KAAK,IAAKA,KAAK,CAACC,UAAU,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EACnE;;EAEA;AACF;AACA;EACEC,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAAC7B,UAAU,CAAC8B,KAAK,CAAEJ,KAAK,IAAKA,KAAK,CAACK,OAAO,CAAC;EACxD;;EAEA;AACF;AACA;EACE,IAAIC,eAAeA,CAAA,EAAoB;IACrC,OAAO,IAAIC,wBAAe,CAAC,mBAAmB,CAAC;EACjD;;EAEA;AACF;EACEC,eAAeA,CAAA,EAAY;IACzB,OACE,IAAI,CAACF,eAAe,CAACG,YAAY,CAACC,MAAM,GAAG,CAAC,IAC5C,IAAI,CAACpC,UAAU,CAACqC,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACQ,eAAe,CAAC,CAAC,CAAC;EAE5D;;EAEA;AACF;EACEI,SAASA,CAAA,EAAY;IACnB,OACE,IAAI,CAACN,eAAe,CAACO,QAAQ,IAC7B,IAAI,CAACvC,UAAU,CAACqC,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACY,SAAS,CAAC,CAAC,CAAC;EAEtD;;EAEA;AACF;AACA;EACEE,KAAKA,CAAA,EAAG;IACN,IAAI,CAACxC,UAAU,CAACyC,OAAO,CAAEf,KAAK,IAAK;MACjCA,KAAK,CAACc,KAAK,CAAC,CAAC;IACf,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,IAAIE,SAASA,CAAA,EAAQ;IAAA,IAAAC,SAAA;IACnB,IAAI,IAAI,CAACC,KAAK,YAAY1D,iCAAiC,EAAE;MAAA,IAAA2D,SAAA;MAC3D;MACA,OAAO,IAAA1C,IAAA,CAAAD,OAAA,EAAA2C,SAAA,OAAI,CAAC7C,UAAU,EAAAI,IAAA,CAAAyC,SAAA,EACnB7C,UAAU,IAAKA,UAAU,CAAC0C,SAC7B,CAAC;IACH;IAEA,MAAMjD,QAA2B,GAAG,CAAC,CAAC;IACtC,IAAAQ,OAAA,CAAAC,OAAA,EAAAyC,SAAA,OAAI,CAAC3C,UAAU,EAAAI,IAAA,CAAAuC,SAAA,EACJjB,KAAK,IAAKA,KAAK,CAACgB,SAAS,KAAK,IAAI,CAAC,CAC3CD,OAAO,CAAEf,KAAK,IAAK;MAClBjC,QAAQ,CAACiC,KAAK,CAAClB,GAAG,CAAC,GAAGkB,KAAK,CAACgB,SAAS;IACvC,CAAC,CAAC;IAEJ,IAAI,IAAAjC,KAAA,CAAAP,OAAA,EAAYT,QAAQ,CAAC,CAAC2C,MAAM,KAAK,CAAC,EAAE;MACtC,OAAO,IAAI;IACb;IAEA,OAAO3C,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIqD,KAAKA,CAAA,EAAQ;IACf,IAAI,IAAI,CAACF,KAAK,YAAY1D,iCAAiC,EAAE;MAAA,IAAA6D,SAAA;MAC3D,OAAO,IAAA5C,IAAA,CAAAD,OAAA,EAAA6C,SAAA,OAAI,CAAC/C,UAAU,EAAAI,IAAA,CAAA2C,SAAA,EAAM/C,UAAU,IAAKA,UAAU,CAAC8C,KAAK,CAAC;IAC9D;IAEA,IAAIrD,QAA2B,GAAG,CAAC,CAAC;IAEpC,IAAI,CAACO,UAAU,CAACyC,OAAO,CAAExB,SAAS,IAAK;MACrC,IAAIA,SAAS,CAAC+B,QAAQ,KAAK,IAAI,IAAI,CAAC/B,SAAS,CAACG,QAAQ,EAAE;QACtD3B,QAAQ,GAAG;UACT,GAAGA,QAAQ;UACX,GAAGwB,SAAS,CAAC+B;QACf,CAAC;MACH;IACF,CAAC,CAAC;IAEF,IAAI,IAAAvC,KAAA,CAAAP,OAAA,EAAYT,QAAQ,CAAC,CAAC2C,MAAM,KAAK,CAAC,EAAE;MACtC,OAAO,IAAI;IACb;IAEA,OAAO3C,QAAQ;EACjB;;EAEA;AACF;EACE,IAAIwD,aAAaA,CAAA,EAAW;IAAA,IAAAC,UAAA,EAAAC,UAAA;IAC1B,IAAI,IAAI,CAACP,KAAK,YAAY1D,iCAAiC,EAAE;MAAA,IAAAkE,UAAA;MAC3D,OAAO,IAAAjD,IAAA,CAAAD,OAAA,EAAAkD,UAAA,OAAI,CAACpD,UAAU,EAAAI,IAAA,CAAAgD,UAAA,EACdpD,UAAU,IAAKA,UAAU,CAACiD,aAAa,CAAC,CAC7CrB,IAAI,CAAC,KAAK,CAAC;IAChB;IAEA,OAAO,IAAAzB,IAAA,CAAAD,OAAA,EAAAgD,UAAA,OAAAjD,OAAA,CAAAC,OAAA,EAAAiD,UAAA,OAAI,CAACnD,UAAU,EAAAI,IAAA,CAAA+C,UAAA,EACXzB,KAAK,IAAKA,KAAK,CAACoB,KAAK,KAAK,IAAI,CAAC,EAAA1C,IAAA,CAAA8C,UAAA,EAClCxB,KAAK,IAAKA,KAAK,CAACuB,aAAa,CAAC,CACnCrB,IAAI,CAAC,IAAI,CAAC;EACf;;EAEA;AACF;EACEyB,iBAAiBA,CAACC,MAAc,EAAEC,MAAc,EAAE;IAChD,IAAI,CAACvD,UAAU,CAACyC,OAAO,CAAEf,KAAK,IAAK;MACjC,MAAM8B,eAAe,GAAG,IAAAvD,OAAA,CAAAC,OAAA,EAAAqD,MAAM,EAAAnD,IAAA,CAANmD,MAAM,EAC3BE,KAAK,IAAKA,KAAK,CAACC,MAAM,EAAEC,SAAS,KAAM,GAAEL,MAAO,GAAE5B,KAAK,CAAClB,GAAI,EAC/D,CAAC;MAEDkB,KAAK,CAAC2B,iBAAiB,CAACG,eAAe,CAAC;IAC1C,CAAC,CAAC;EACJ;;EAEA;AACF;EACEI,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAAC5D,UAAU,CAACqC,IAAI,CAAEX,KAAK,IAAKA,KAAK,CAACkC,QAAQ,CAAC,CAAC,CAAC;EAC1D;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA5D,OAAA,GAEchB,iCAAiC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_CompositeAttributeChildCollection","_ConstraintCollection","_RangeConstraint","_MandatoryRangeConstraint","_constants","_exceptions","_NumberAttributeModel","_DatetimeAttributeModel","CompositeAttributeModel","AttributeModel","constructor","data","contributions","_defineProperty2","default","_children","CompositeAttributeChildCollection","create","setChildrenOptionality","isApplicableModel","type","_includes","call","getInitialChildModelLinks","children","setChildModels","models","key","isRange","includes","isRangeAttribute","attribute","NumberAttributeModel","DatetimeAttributeModel","start","all","end","size","getInputValue","hasValue","some","child","constraintCollection","constraints","ConstraintCollection","add","_serverConstraints","addConstraints","setUseClientsideValidation","enabled","_useClientsideValidation","forEach","validate","value","useClientsideValidation","_isValid","startAttribute","endAttribute","allChildsEntered","every","RangeConstraint","mandatory","allChildsOptional","MandatoryRangeConstraint","isValid","hasServerErrors","errorCollection","serverErrors","length","hasErrors","hasItems","reset","getChildByAttribute","_context","_find","equals","getChildByKey","_context2","mergeAttribute","oldAttribute","concept","withChildAttribute","update","changedAttribute","IllegalArgumentException","updateLastModification","childrenAreOptional","configuredMandatory","readonly","readonlyvalue","initvalue","getFormData","name","getValue","isResult","_isResult","indicateContentConfiguration","contentConfiguration","otherAttribute","parentKey","readonlyWidth","ATTRIBUTE_WIDTH","LARGE","EXTRA_LARGE","MEDIUM","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport CompositeAttributeChildCollection from \"./CompositeAttributeChildCollection\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RangeConstraint from \"./input-constraints/RangeConstraint\";\nimport MandatoryRangeConstraint from \"./input-constraints/MandatoryRangeConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass CompositeAttributeModel extends AttributeModel {\n _children: CompositeAttributeChildCollection;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._children = CompositeAttributeChildCollection.create(\n data,\n contributions,\n );\n\n this.setChildrenOptionality();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const type = contributions?.type;\n return type && (type === \"composite\" || type.includes(\"range\"));\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.children.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.children.setChildModels(models);\n }\n\n /**\n */\n get type(): string {\n // temp fix for results and given answers on list result detail panel\n if (this.key === \"results\" || this.key === \"givenAnswers\") {\n return \"composite\";\n }\n\n return this.isRange ? \"range\" : \"composite\";\n }\n\n /**\n */\n get isRange(): boolean {\n return this.contributions?.type?.includes(\"range\");\n }\n\n /**\n */\n get children(): CompositeAttributeChildCollection {\n return this._children;\n }\n\n /**\n */\n set children(children: CompositeAttributeChildCollection) {\n this._children = children;\n }\n\n /**\n */\n isRangeAttribute(attribute: AttributeType): boolean {\n return (\n attribute instanceof NumberAttributeModel ||\n attribute instanceof DatetimeAttributeModel\n );\n }\n\n /**\n */\n get start(): AttributeType | null {\n return this.children.all[0];\n }\n\n /**\n */\n get end(): AttributeType {\n return this.children.all[this.children.size - 1];\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.children.getInputValue();\n }\n\n /**\n * Check if at least one child has value\n */\n hasValue(): boolean {\n return this.children.some((child) => child.hasValue());\n }\n\n /**\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n super._useClientsideValidation = enabled;\n\n this.children.all.forEach((child) =>\n child.setUseClientsideValidation(enabled),\n );\n }\n\n /**\n * Validate input\n */\n // eslint-disable-next-line no-unused-vars\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n this._isValid = this.children.validate();\n\n if (this._isValid) {\n this._isValid = this.constraintCollection.validate();\n }\n\n return this._isValid;\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n const startAttribute = this.start;\n const endAttribute = this.end;\n if (this.isRange && startAttribute != null && endAttribute != null) {\n const allChildsEntered = this.children.every((child) => child.hasValue());\n if (allChildsEntered) {\n constraints.add(new RangeConstraint(startAttribute, endAttribute));\n }\n }\n\n if (this.isRange && this.mandatory && startAttribute !== null) {\n const allChildsOptional = this.children.every(\n (child) => !child.mandatory,\n );\n if (allChildsOptional) {\n constraints.add(\n new MandatoryRangeConstraint(startAttribute.type, this.children),\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Indicates if attribute input is valid\n */\n get isValid(): boolean {\n return this.validate(\"\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.children.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.children.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.children.reset();\n }\n\n /**\n */\n getChildByAttribute(attribute: AttributeType): ?AttributeType {\n return this.children.find((child) => {\n if (child.equals(attribute)) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n */\n getChildByKey(key: string): ?AttributeType {\n return (\n this.children.find((child) => {\n if (child.key === key) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByKey(key);\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n this.children.forEach((child) => {\n if (oldAttribute instanceof CompositeAttributeModel) {\n const withChildAttribute = oldAttribute.getChildByKey(child.key);\n if (withChildAttribute) {\n child.mergeAttribute(withChildAttribute);\n }\n }\n });\n }\n\n /**\n */\n update(\n value: string,\n changedAttribute: ?AttributeType,\n ): CompositeAttributeModel {\n if (!changedAttribute) {\n throw new IllegalArgumentException(\n \"Composite attribute needs changed attribute on update call\",\n );\n }\n\n this.updateLastModification();\n\n this.children.forEach((child) => {\n if (child instanceof CompositeAttributeModel) {\n child.update(value, changedAttribute);\n } else if (child.equals(changedAttribute)) {\n child.update(value);\n }\n });\n\n this.setChildrenOptionality();\n\n this.validate(value);\n\n return this;\n }\n\n /**\n */\n setChildrenOptionality() {\n const childrenAreOptional =\n !this.mandatory && this.children.every((child) => child.value === null);\n\n this.children.forEach((child) => {\n child.mandatory =\n childrenAreOptional || !child.configuredMandatory\n ? false\n : child.configuredMandatory;\n });\n }\n\n /**\n */\n get readonly(): boolean {\n return super.readonly || this.children.every((child) => child.readonly);\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n super.readonly = readonly;\n }\n\n /**\n */\n get readonlyvalue(): string {\n return this.children.readonlyvalue;\n }\n\n /**\n */\n get initvalue(): any {\n return this.children.initvalue;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n return { [this.name]: this.value };\n }\n\n /**\n */\n getValue(): any {\n return this.children.value;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n\n this.children.forEach((child) => {\n child.isResult = isResult;\n });\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n this.children.forEach((child) => {\n child.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n (this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey) ||\n this.children.some(\n //$FlowFixMe[method-unbinding]\n (child) => child.equals && child.equals(otherAttribute),\n )\n );\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"composite\") {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // range\n switch (this.start?.type) {\n case \"datetime\":\n return ATTRIBUTE_WIDTH.LARGE;\n case \"timestamp\":\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n default:\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n }\n}\n\nexport default CompositeAttributeModel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CompositeAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_CompositeAttributeChildCollection","_ConstraintCollection","_RangeConstraint","_MandatoryRangeConstraint","_constants","_exceptions","_NumberAttributeModel","_DatetimeAttributeModel","CompositeAttributeModel","AttributeModel","constructor","data","contributions","_defineProperty2","default","_children","CompositeAttributeChildCollection","create","setChildrenOptionality","isApplicableModel","type","_includes","call","getInitialChildModelLinks","children","setChildModels","models","key","isRange","includes","isRangeAttribute","attribute","NumberAttributeModel","DatetimeAttributeModel","start","all","end","size","getInputValue","hasValue","some","child","constraintCollection","constraints","ConstraintCollection","add","_serverConstraints","addConstraints","setUseClientsideValidation","enabled","_useClientsideValidation","forEach","validate","value","useClientsideValidation","_isValid","startAttribute","endAttribute","allChildsEntered","every","RangeConstraint","mandatory","allChildsOptional","MandatoryRangeConstraint","isValid","hasServerErrors","errorCollection","serverErrors","length","hasErrors","hasItems","reset","getChildByAttribute","_context","_find","equals","getChildByKey","_context2","mergeAttribute","oldAttribute","concept","withChildAttribute","update","changedAttribute","IllegalArgumentException","updateLastModification","childrenAreOptional","configuredMandatory","readonly","readonlyvalue","initvalue","getFormData","name","getValue","isResult","_isResult","indicateContentConfiguration","contentConfiguration","otherAttribute","parentKey","readonlyWidth","ATTRIBUTE_WIDTH","LARGE","EXTRA_LARGE","MEDIUM","_default","exports"],"sources":["../../../src/models/attributes/CompositeAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport CompositeAttributeChildCollection from \"./CompositeAttributeChildCollection\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport RangeConstraint from \"./input-constraints/RangeConstraint\";\nimport MandatoryRangeConstraint from \"./input-constraints/MandatoryRangeConstraint\";\n\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n */\nclass CompositeAttributeModel extends AttributeModel {\n _children: CompositeAttributeChildCollection;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._children = CompositeAttributeChildCollection.create(\n data,\n contributions,\n );\n\n this.setChildrenOptionality();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const type = contributions?.type;\n return type && (type === \"composite\" || type.includes(\"range\"));\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.children.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.children.setChildModels(models);\n }\n\n /**\n */\n get type(): string {\n // temp fix for results and given answers on list result detail panel\n if (this.key === \"results\" || this.key === \"givenAnswers\") {\n return \"composite\";\n }\n\n return this.isRange ? \"range\" : \"composite\";\n }\n\n /**\n */\n get isRange(): boolean {\n return this.contributions?.type?.includes(\"range\");\n }\n\n /**\n */\n get children(): CompositeAttributeChildCollection {\n return this._children;\n }\n\n /**\n */\n set children(children: CompositeAttributeChildCollection) {\n this._children = children;\n }\n\n /**\n */\n isRangeAttribute(attribute: AttributeType): boolean {\n return (\n attribute instanceof NumberAttributeModel ||\n attribute instanceof DatetimeAttributeModel\n );\n }\n\n /**\n */\n get start(): AttributeType | null {\n return this.children.all[0];\n }\n\n /**\n */\n get end(): AttributeType {\n return this.children.all[this.children.size - 1];\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.children.getInputValue();\n }\n\n /**\n * Check if at least one child has value\n */\n hasValue(): boolean {\n return this.children.some((child) => child.hasValue());\n }\n\n /**\n */\n get constraintCollection(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this._serverConstraints);\n constraints.add(this.addConstraints());\n\n return constraints;\n }\n\n /**\n * Used to programmatically overwrite the setting USE_CLIENTSIDE_VALIDATION\n */\n setUseClientsideValidation(enabled: boolean) {\n super._useClientsideValidation = enabled;\n\n this.children.all.forEach((child) =>\n child.setUseClientsideValidation(enabled),\n );\n }\n\n /**\n * Validate input\n */\n // eslint-disable-next-line no-unused-vars\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n this._isValid = this.children.validate();\n\n if (this._isValid) {\n this._isValid = this.constraintCollection.validate();\n }\n\n return this._isValid;\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n const startAttribute = this.start;\n const endAttribute = this.end;\n if (this.isRange && startAttribute != null && endAttribute != null) {\n const allChildsEntered = this.children.every((child) => child.hasValue());\n if (allChildsEntered) {\n constraints.add(new RangeConstraint(startAttribute, endAttribute));\n }\n }\n\n if (this.isRange && this.mandatory && startAttribute !== null) {\n const allChildsOptional = this.children.every(\n (child) => !child.mandatory,\n );\n if (allChildsOptional) {\n constraints.add(\n new MandatoryRangeConstraint(startAttribute.type, this.children),\n );\n }\n }\n\n return constraints;\n }\n\n /**\n * Indicates if attribute input is valid\n */\n get isValid(): boolean {\n return this.validate(\"\");\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return (\n this.errorCollection.serverErrors.length > 0 ||\n this.children.some((child) => child.hasServerErrors())\n );\n }\n\n /**\n */\n hasErrors(): boolean {\n return (\n this.errorCollection.hasItems ||\n this.children.some((child) => child.hasErrors())\n );\n }\n\n /**\n * Reset attribute to empty string\n */\n reset() {\n this.children.reset();\n }\n\n /**\n */\n getChildByAttribute(attribute: AttributeType): ?AttributeType {\n return this.children.find((child) => {\n if (child.equals(attribute)) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n */\n getChildByKey(key: string): ?AttributeType {\n return (\n this.children.find((child) => {\n if (child.key === key) {\n return true;\n } else if (child instanceof CompositeAttributeModel) {\n return child.getChildByKey(key);\n }\n\n return false;\n }) || null\n );\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n this.concept = oldAttribute.concept;\n\n this.children.forEach((child) => {\n if (oldAttribute instanceof CompositeAttributeModel) {\n const withChildAttribute = oldAttribute.getChildByKey(child.key);\n if (withChildAttribute) {\n child.mergeAttribute(withChildAttribute);\n }\n }\n });\n }\n\n /**\n */\n update(\n value: string,\n changedAttribute: ?AttributeType,\n ): CompositeAttributeModel {\n if (!changedAttribute) {\n throw new IllegalArgumentException(\n \"Composite attribute needs changed attribute on update call\",\n );\n }\n\n this.updateLastModification();\n\n this.children.forEach((child) => {\n if (child instanceof CompositeAttributeModel) {\n child.update(value, changedAttribute);\n } else if (child.equals(changedAttribute)) {\n child.update(value);\n }\n });\n\n this.setChildrenOptionality();\n\n this.validate(value);\n\n return this;\n }\n\n /**\n */\n setChildrenOptionality() {\n const childrenAreOptional =\n !this.mandatory && this.children.every((child) => child.value === null);\n\n this.children.forEach((child) => {\n child.mandatory =\n childrenAreOptional || !child.configuredMandatory\n ? false\n : child.configuredMandatory;\n });\n }\n\n /**\n */\n get readonly(): boolean {\n return super.readonly || this.children.every((child) => child.readonly);\n }\n\n /**\n */\n set readonly(readonly: boolean) {\n super.readonly = readonly;\n }\n\n /**\n */\n get readonlyvalue(): string {\n return this.children.readonlyvalue;\n }\n\n /**\n */\n get initvalue(): any {\n return this.children.initvalue;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n return { [this.name]: this.value };\n }\n\n /**\n */\n getValue(): any {\n return this.children.value;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._isResult;\n }\n\n /**\n */\n set isResult(isResult: boolean) {\n this._isResult = isResult;\n\n this.children.forEach((child) => {\n child.isResult = isResult;\n });\n }\n\n /**\n */\n indicateContentConfiguration(contentConfiguration: ContentConfiguration) {\n if (contentConfiguration) {\n this.children.forEach((child) => {\n child.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n */\n equals(otherAttribute: AttributeType): boolean {\n return (\n (this.key === otherAttribute.key &&\n this.parentKey === otherAttribute.parentKey) ||\n this.children.some(\n //$FlowFixMe[method-unbinding]\n (child) => child.equals && child.equals(otherAttribute),\n )\n );\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"composite\") {\n return ATTRIBUTE_WIDTH.LARGE;\n }\n\n // range\n switch (this.start?.type) {\n case \"datetime\":\n return ATTRIBUTE_WIDTH.LARGE;\n case \"timestamp\":\n return ATTRIBUTE_WIDTH.EXTRA_LARGE;\n default:\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n }\n}\n\nexport default CompositeAttributeModel;\n"],"mappings":";;;;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,kCAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,qBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,yBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAEA,IAAAO,qBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,uBAAA,GAAAT,sBAAA,CAAAC,OAAA;AAMA;AACA;AACA,MAAMS,uBAAuB,SAASC,uBAAc,CAAC;EAGnD;AACF;EACEC,WAAWA,CAACC,IAAY,EAAEC,aAAqB,EAAE;IAC/C,KAAK,CAACD,IAAI,EAAEC,aAAa,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAE3B,IAAI,CAACC,SAAS,GAAGC,0CAAiC,CAACC,MAAM,CACvDN,IAAI,EACJC,aACF,CAAC;IAED,IAAI,CAACM,sBAAsB,CAAC,CAAC;EAC/B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACP,aAAqB,EAAW;IACvD,MAAMQ,IAAI,GAAGR,aAAa,EAAEQ,IAAI;IAChC,OAAOA,IAAI,KAAKA,IAAI,KAAK,WAAW,IAAI,IAAAC,SAAA,CAAAP,OAAA,EAAAM,IAAI,EAAAE,IAAA,CAAJF,IAAI,EAAU,OAAO,CAAC,CAAC;EACjE;;EAEA;AACF;EACEG,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACC,QAAQ,CAACD,yBAAyB,CAAC,CAAC;EAClD;;EAEA;AACF;EACEE,cAAcA,CAACC,MAA6B,EAAE;IAC5C,IAAI,CAACF,QAAQ,CAACC,cAAc,CAACC,MAAM,CAAC;EACtC;;EAEA;AACF;EACE,IAAIN,IAAIA,CAAA,EAAW;IACjB;IACA,IAAI,IAAI,CAACO,GAAG,KAAK,SAAS,IAAI,IAAI,CAACA,GAAG,KAAK,cAAc,EAAE;MACzD,OAAO,WAAW;IACpB;IAEA,OAAO,IAAI,CAACC,OAAO,GAAG,OAAO,GAAG,WAAW;EAC7C;;EAEA;AACF;EACE,IAAIA,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAAChB,aAAa,EAAEQ,IAAI,EAAES,QAAQ,CAAC,OAAO,CAAC;EACpD;;EAEA;AACF;EACE,IAAIL,QAAQA,CAAA,EAAsC;IAChD,OAAO,IAAI,CAACT,SAAS;EACvB;;EAEA;AACF;EACE,IAAIS,QAAQA,CAACA,QAA2C,EAAE;IACxD,IAAI,CAACT,SAAS,GAAGS,QAAQ;EAC3B;;EAEA;AACF;EACEM,gBAAgBA,CAACC,SAAwB,EAAW;IAClD,OACEA,SAAS,YAAYC,6BAAoB,IACzCD,SAAS,YAAYE,+BAAsB;EAE/C;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAyB;IAChC,OAAO,IAAI,CAACV,QAAQ,CAACW,GAAG,CAAC,CAAC,CAAC;EAC7B;;EAEA;AACF;EACE,IAAIC,GAAGA,CAAA,EAAkB;IACvB,OAAO,IAAI,CAACZ,QAAQ,CAACW,GAAG,CAAC,IAAI,CAACX,QAAQ,CAACa,IAAI,GAAG,CAAC,CAAC;EAClD;;EAEA;AACF;AACA;EACEC,aAAaA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACd,QAAQ,CAACc,aAAa,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;EACEC,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAACf,QAAQ,CAACgB,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACF,QAAQ,CAAC,CAAC,CAAC;EACxD;;EAEA;AACF;EACE,IAAIG,oBAAoBA,CAAA,EAAyB;IAC/C,MAAMC,WAAW,GAAG,IAAIC,6BAAoB,CAAC,CAAC;IAE9CD,WAAW,CAACE,GAAG,CAAC,IAAI,CAACC,kBAAkB,CAAC;IACxCH,WAAW,CAACE,GAAG,CAAC,IAAI,CAACE,cAAc,CAAC,CAAC,CAAC;IAEtC,OAAOJ,WAAW;EACpB;;EAEA;AACF;AACA;EACEK,0BAA0BA,CAACC,OAAgB,EAAE;IAC3C,KAAK,CAACC,wBAAwB,GAAGD,OAAO;IAExC,IAAI,CAACzB,QAAQ,CAACW,GAAG,CAACgB,OAAO,CAAEV,KAAK,IAC9BA,KAAK,CAACO,0BAA0B,CAACC,OAAO,CAC1C,CAAC;EACH;;EAEA;AACF;AACA;EACE;EACAG,QAAQA,CAACC,KAAa,EAAW;IAC/B;IACA,IAAI,CAAC,IAAI,CAACC,uBAAuB,CAAC,CAAC,EAAE;MACnC,OAAO,IAAI;IACb;IAEA,IAAI,CAACC,QAAQ,GAAG,IAAI,CAAC/B,QAAQ,CAAC4B,QAAQ,CAAC,CAAC;IAExC,IAAI,IAAI,CAACG,QAAQ,EAAE;MACjB,IAAI,CAACA,QAAQ,GAAG,IAAI,CAACb,oBAAoB,CAACU,QAAQ,CAAC,CAAC;IACtD;IAEA,OAAO,IAAI,CAACG,QAAQ;EACtB;;EAEA;AACF;AACA;EACER,cAAcA,CAAA,EAAyB;IACrC,MAAMJ,WAAW,GAAG,IAAIC,6BAAoB,CAAC,CAAC;IAE9C,MAAMY,cAAc,GAAG,IAAI,CAACtB,KAAK;IACjC,MAAMuB,YAAY,GAAG,IAAI,CAACrB,GAAG;IAC7B,IAAI,IAAI,CAACR,OAAO,IAAI4B,cAAc,IAAI,IAAI,IAAIC,YAAY,IAAI,IAAI,EAAE;MAClE,MAAMC,gBAAgB,GAAG,IAAI,CAAClC,QAAQ,CAACmC,KAAK,CAAElB,KAAK,IAAKA,KAAK,CAACF,QAAQ,CAAC,CAAC,CAAC;MACzE,IAAImB,gBAAgB,EAAE;QACpBf,WAAW,CAACE,GAAG,CAAC,IAAIe,wBAAe,CAACJ,cAAc,EAAEC,YAAY,CAAC,CAAC;MACpE;IACF;IAEA,IAAI,IAAI,CAAC7B,OAAO,IAAI,IAAI,CAACiC,SAAS,IAAIL,cAAc,KAAK,IAAI,EAAE;MAC7D,MAAMM,iBAAiB,GAAG,IAAI,CAACtC,QAAQ,CAACmC,KAAK,CAC1ClB,KAAK,IAAK,CAACA,KAAK,CAACoB,SACpB,CAAC;MACD,IAAIC,iBAAiB,EAAE;QACrBnB,WAAW,CAACE,GAAG,CACb,IAAIkB,iCAAwB,CAACP,cAAc,CAACpC,IAAI,EAAE,IAAI,CAACI,QAAQ,CACjE,CAAC;MACH;IACF;IAEA,OAAOmB,WAAW;EACpB;;EAEA;AACF;AACA;EACE,IAAIqB,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACZ,QAAQ,CAAC,EAAE,CAAC;EAC1B;;EAEA;AACF;EACEa,eAAeA,CAAA,EAAY;IACzB,OACE,IAAI,CAACC,eAAe,CAACC,YAAY,CAACC,MAAM,GAAG,CAAC,IAC5C,IAAI,CAAC5C,QAAQ,CAACgB,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACwB,eAAe,CAAC,CAAC,CAAC;EAE1D;;EAEA;AACF;EACEI,SAASA,CAAA,EAAY;IACnB,OACE,IAAI,CAACH,eAAe,CAACI,QAAQ,IAC7B,IAAI,CAAC9C,QAAQ,CAACgB,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAAC4B,SAAS,CAAC,CAAC,CAAC;EAEpD;;EAEA;AACF;AACA;EACEE,KAAKA,CAAA,EAAG;IACN,IAAI,CAAC/C,QAAQ,CAAC+C,KAAK,CAAC,CAAC;EACvB;;EAEA;AACF;EACEC,mBAAmBA,CAACzC,SAAwB,EAAkB;IAAA,IAAA0C,QAAA;IAC5D,OAAO,IAAAC,KAAA,CAAA5D,OAAA,EAAA2D,QAAA,OAAI,CAACjD,QAAQ,EAAAF,IAAA,CAAAmD,QAAA,EAAOhC,KAAK,IAAK;MACnC,IAAIA,KAAK,CAACkC,MAAM,CAAC5C,SAAS,CAAC,EAAE;QAC3B,OAAO,IAAI;MACb,CAAC,MAAM,IAAIU,KAAK,YAAYjC,uBAAuB,EAAE;QACnD,OAAOiC,KAAK,CAAC+B,mBAAmB,CAACzC,SAAS,CAAC;MAC7C;MAEA,OAAO,KAAK;IACd,CAAC,CAAC;EACJ;;EAEA;AACF;EACE6C,aAAaA,CAACjD,GAAW,EAAkB;IAAA,IAAAkD,SAAA;IACzC,OACE,IAAAH,KAAA,CAAA5D,OAAA,EAAA+D,SAAA,OAAI,CAACrD,QAAQ,EAAAF,IAAA,CAAAuD,SAAA,EAAOpC,KAAK,IAAK;MAC5B,IAAIA,KAAK,CAACd,GAAG,KAAKA,GAAG,EAAE;QACrB,OAAO,IAAI;MACb,CAAC,MAAM,IAAIc,KAAK,YAAYjC,uBAAuB,EAAE;QACnD,OAAOiC,KAAK,CAACmC,aAAa,CAACjD,GAAG,CAAC;MACjC;MAEA,OAAO,KAAK;IACd,CAAC,CAAC,IAAI,IAAI;EAEd;;EAEA;AACF;EACEmD,cAAcA,CAACC,YAA2B,EAAE;IAC1C,IAAI,CAACC,OAAO,GAAGD,YAAY,CAACC,OAAO;IAEnC,IAAI,CAACxD,QAAQ,CAAC2B,OAAO,CAAEV,KAAK,IAAK;MAC/B,IAAIsC,YAAY,YAAYvE,uBAAuB,EAAE;QACnD,MAAMyE,kBAAkB,GAAGF,YAAY,CAACH,aAAa,CAACnC,KAAK,CAACd,GAAG,CAAC;QAChE,IAAIsD,kBAAkB,EAAE;UACtBxC,KAAK,CAACqC,cAAc,CAACG,kBAAkB,CAAC;QAC1C;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;EACEC,MAAMA,CACJ7B,KAAa,EACb8B,gBAAgC,EACP;IACzB,IAAI,CAACA,gBAAgB,EAAE;MACrB,MAAM,IAAIC,oCAAwB,CAChC,4DACF,CAAC;IACH;IAEA,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAE7B,IAAI,CAAC7D,QAAQ,CAAC2B,OAAO,CAAEV,KAAK,IAAK;MAC/B,IAAIA,KAAK,YAAYjC,uBAAuB,EAAE;QAC5CiC,KAAK,CAACyC,MAAM,CAAC7B,KAAK,EAAE8B,gBAAgB,CAAC;MACvC,CAAC,MAAM,IAAI1C,KAAK,CAACkC,MAAM,CAACQ,gBAAgB,CAAC,EAAE;QACzC1C,KAAK,CAACyC,MAAM,CAAC7B,KAAK,CAAC;MACrB;IACF,CAAC,CAAC;IAEF,IAAI,CAACnC,sBAAsB,CAAC,CAAC;IAE7B,IAAI,CAACkC,QAAQ,CAACC,KAAK,CAAC;IAEpB,OAAO,IAAI;EACb;;EAEA;AACF;EACEnC,sBAAsBA,CAAA,EAAG;IACvB,MAAMoE,mBAAmB,GACvB,CAAC,IAAI,CAACzB,SAAS,IAAI,IAAI,CAACrC,QAAQ,CAACmC,KAAK,CAAElB,KAAK,IAAKA,KAAK,CAACY,KAAK,KAAK,IAAI,CAAC;IAEzE,IAAI,CAAC7B,QAAQ,CAAC2B,OAAO,CAAEV,KAAK,IAAK;MAC/BA,KAAK,CAACoB,SAAS,GACbyB,mBAAmB,IAAI,CAAC7C,KAAK,CAAC8C,mBAAmB,GAC7C,KAAK,GACL9C,KAAK,CAAC8C,mBAAmB;IACjC,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAO,KAAK,CAACA,QAAQ,IAAI,IAAI,CAAChE,QAAQ,CAACmC,KAAK,CAAElB,KAAK,IAAKA,KAAK,CAAC+C,QAAQ,CAAC;EACzE;;EAEA;AACF;EACE,IAAIA,QAAQA,CAACA,QAAiB,EAAE;IAC9B,KAAK,CAACA,QAAQ,GAAGA,QAAQ;EAC3B;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACjE,QAAQ,CAACiE,aAAa;EACpC;;EAEA;AACF;EACE,IAAIC,SAASA,CAAA,EAAQ;IACnB,OAAO,IAAI,CAAClE,QAAQ,CAACkE,SAAS;EAChC;;EAEA;AACF;EACEC,WAAWA,CAAA,EAA6B;IACtC,OAAO;MAAE,CAAC,IAAI,CAACC,IAAI,GAAG,IAAI,CAACvC;IAAM,CAAC;EACpC;;EAEA;AACF;EACEwC,QAAQA,CAAA,EAAQ;IACd,OAAO,IAAI,CAACrE,QAAQ,CAAC6B,KAAK;EAC5B;;EAEA;AACF;EACE,IAAIyC,QAAQA,CAAA,EAAY;IACtB,OAAO,IAAI,CAACC,SAAS;EACvB;;EAEA;AACF;EACE,IAAID,QAAQA,CAACA,QAAiB,EAAE;IAC9B,IAAI,CAACC,SAAS,GAAGD,QAAQ;IAEzB,IAAI,CAACtE,QAAQ,CAAC2B,OAAO,CAAEV,KAAK,IAAK;MAC/BA,KAAK,CAACqD,QAAQ,GAAGA,QAAQ;IAC3B,CAAC,CAAC;EACJ;;EAEA;AACF;EACEE,4BAA4BA,CAACC,oBAA0C,EAAE;IACvE,IAAIA,oBAAoB,EAAE;MACxB,IAAI,CAACzE,QAAQ,CAAC2B,OAAO,CAAEV,KAAK,IAAK;QAC/BA,KAAK,CAACuD,4BAA4B,CAACC,oBAAoB,CAAC;MAC1D,CAAC,CAAC;IACJ;EACF;;EAEA;AACF;EACEtB,MAAMA,CAACuB,cAA6B,EAAW;IAC7C,OACG,IAAI,CAACvE,GAAG,KAAKuE,cAAc,CAACvE,GAAG,IAC9B,IAAI,CAACwE,SAAS,KAAKD,cAAc,CAACC,SAAS,IAC7C,IAAI,CAAC3E,QAAQ,CAACgB,IAAI;IAChB;IACCC,KAAK,IAAKA,KAAK,CAACkC,MAAM,IAAIlC,KAAK,CAACkC,MAAM,CAACuB,cAAc,CACxD,CAAC;EAEL;;EAEA;AACF;EACE,IAAIE,aAAaA,CAAA,EAAkC;IACjD,IAAI,IAAI,CAAChF,IAAI,KAAK,WAAW,EAAE;MAC7B,OAAOiF,0BAAe,CAACC,KAAK;IAC9B;;IAEA;IACA,QAAQ,IAAI,CAACpE,KAAK,EAAEd,IAAI;MACtB,KAAK,UAAU;QACb,OAAOiF,0BAAe,CAACC,KAAK;MAC9B,KAAK,WAAW;QACd,OAAOD,0BAAe,CAACE,WAAW;MACpC;QACE,OAAOF,0BAAe,CAACG,MAAM;IACjC;EACF;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA5F,OAAA,GAEcN,uBAAuB","ignoreList":[]}
|