@beinformed/ui 1.30.0 → 1.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/exceptions/NetworkException.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/useForm.js +3 -2
- 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/useNotification.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/withMessage.js.map +1 -1
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js +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/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/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/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/RangeConstraint.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 +5 -7
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
- 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/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/content/SubSectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorCollection.js.map +1 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js +6 -0
- 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/FilterCollection.js.map +1 -1
- package/esm/models/form/FormModel.js +30 -3
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js +4 -4
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/links/normalizeLinkJSON.js.map +1 -1
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/paging/PagingModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/search/CaseSearchModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js +1 -1
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/CaptchaRequest.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/react/ErrorBoundary.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.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/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/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/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/I18nActions.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.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/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/Notification.js.map +1 -1
- package/esm/redux/actions/Preferences.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/connectors/Application.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/ModelCatalog.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/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/store/configureStore.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/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/createUUID.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/number/DecimalFormat.js +4 -8
- 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/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/NetworkException.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/useForm.js +3 -2
- package/lib/hooks/useForm.js.flow +2 -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/useNotification.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/withMessage.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 +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.flow +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/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/__tests__/BooleanAttributeModel.spec.js.flow +14 -0
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.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/RangeConstraint.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 +5 -7
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +0 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
- 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/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/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/ContentConfigurationQuestions.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 +6 -0
- 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/FilterCollection.js.map +1 -1
- package/lib/models/form/FormModel.js +30 -3
- package/lib/models/form/FormModel.js.flow +32 -4
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/form/__tests__/FormModel.spec.js.flow +4 -0
- 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/layouthint/LayoutHintCollection.js +4 -4
- package/lib/models/layouthint/LayoutHintCollection.js.flow +4 -4
- 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/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/PagingModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.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/SortingModel.js +1 -1
- package/lib/models/sorting/SortingModel.js.flow +1 -1
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/CaptchaRequest.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/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.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/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/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.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/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/_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/withModularUI.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/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/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.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/connectors/Application.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/ModelCatalog.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/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.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/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/store/configureStore.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/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/createUUID.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/number/DecimalFormat.js +4 -8
- 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 +32 -32
- package/src/hooks/useForm.js +2 -1
- package/src/models/attributes/BooleanAttributeModel.js +1 -1
- package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +14 -0
- package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
- package/src/models/form/FormModel.js +32 -4
- package/src/models/form/__tests__/FormModel.spec.js +4 -0
- package/src/models/layouthint/LayoutHintCollection.js +4 -4
- package/src/models/sorting/SortingModel.js +1 -1
- package/types/constants/Constants.d.ts +145 -145
- package/types/constants/LayoutHintConfig.d.ts +226 -226
- package/types/constants/LayoutHints.d.ts +74 -74
- package/types/constants/Settings.d.ts +29 -29
- package/types/constants/index.d.ts +3 -3
- package/types/exceptions/ConfigurationException.d.ts +6 -6
- package/types/exceptions/FetchException.d.ts +31 -31
- package/types/exceptions/IllegalArgumentException.d.ts +6 -6
- package/types/exceptions/IllegalReturnException.d.ts +5 -5
- package/types/exceptions/IllegalStateException.d.ts +6 -6
- package/types/exceptions/JsonParseException.d.ts +6 -6
- package/types/exceptions/MissingPropertyException.d.ts +6 -6
- package/types/exceptions/NetworkException.d.ts +9 -9
- package/types/exceptions/NotAllowedUriException.d.ts +6 -6
- package/types/exceptions/NotFoundException.d.ts +10 -10
- package/types/exceptions/ServerRequestException.d.ts +6 -6
- package/types/exceptions/ThemePropertyException.d.ts +6 -6
- package/types/exceptions/TimeoutException.d.ts +7 -7
- package/types/exceptions/UnauthorizedException.d.ts +11 -11
- package/types/exceptions/UnsupportedOperationException.d.ts +6 -6
- package/types/exceptions/index.d.ts +15 -15
- package/types/hooks/useI18n.d.ts +9 -9
- package/types/i18n/Locale.d.ts +53 -53
- package/types/i18n/Locales.d.ts +55 -55
- package/types/i18n/Message.d.ts +6 -6
- package/types/i18n/index.d.ts +5 -5
- package/types/i18n/languages.d.ts +215 -215
- package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -97
- package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -97
- package/types/i18n/types.d.ts +11 -11
- package/types/i18n/withMessage.d.ts +3 -3
- package/types/index.d.ts +6 -6
- package/types/models/actions/ActionCollection.d.ts +29 -29
- package/types/models/actions/ActionModel.d.ts +84 -84
- package/types/models/application/ApplicationModel.d.ts +41 -41
- package/types/models/attributes/AttributeCollection.d.ts +96 -96
- package/types/models/attributes/AttributeContent.d.ts +64 -64
- package/types/models/attributes/AttributeDataHelper.d.ts +67 -67
- package/types/models/attributes/AttributeModel.d.ts +395 -395
- package/types/models/attributes/AttributeSetModel.d.ts +28 -28
- package/types/models/attributes/BooleanAttributeModel.d.ts +65 -65
- package/types/models/attributes/CaptchaAttributeModel.d.ts +19 -19
- package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -76
- package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +79 -79
- package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -133
- package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -56
- package/types/models/attributes/CompositeAttributeModel.d.ts +44 -44
- package/types/models/attributes/DatetimeAttributeModel.d.ts +117 -117
- package/types/models/attributes/HelptextAttributeModel.d.ts +16 -16
- package/types/models/attributes/LabelAttributeModel.d.ts +12 -12
- package/types/models/attributes/MemoAttributeModel.d.ts +14 -14
- package/types/models/attributes/MoneyAttributeModel.d.ts +14 -14
- package/types/models/attributes/NumberAttributeModel.d.ts +49 -49
- package/types/models/attributes/PasswordAttributeModel.d.ts +62 -62
- package/types/models/attributes/StringAttributeModel.d.ts +62 -62
- package/types/models/attributes/UploadAttributeModel.d.ts +60 -60
- package/types/models/attributes/XMLAttributeModel.d.ts +10 -10
- package/types/models/attributes/_createAttribute.d.ts +6 -6
- package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -26
- package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -24
- package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -34
- package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -109
- package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -36
- package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -36
- package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -92
- package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -33
- package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -42
- package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -23
- package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -23
- package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -36
- package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -61
- package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -52
- package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -46
- package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -36
- package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -23
- package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -32
- package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -32
- package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -35
- package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -97
- package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -37
- package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -46
- package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -26
- package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -46
- package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -57
- package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -27
- package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -17
- package/types/models/base/BaseCollection.d.ts +89 -89
- package/types/models/base/BaseModel.d.ts +67 -67
- package/types/models/base/ResourceCollection.d.ts +19 -19
- package/types/models/base/ResourceModel.d.ts +97 -97
- package/types/models/caseview/CaseViewModel.d.ts +45 -45
- package/types/models/concepts/BusinessScenarioModel.d.ts +20 -20
- package/types/models/concepts/ConceptDetailModel.d.ts +69 -69
- package/types/models/concepts/ConceptIndexModel.d.ts +36 -36
- package/types/models/concepts/ConceptLinkModel.d.ts +65 -65
- package/types/models/concepts/ConceptRelationCollection.d.ts +34 -34
- package/types/models/concepts/ConceptRelationModel.d.ts +44 -44
- package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -39
- package/types/models/concepts/SourceReferenceCollection.d.ts +13 -13
- package/types/models/concepts/SourceReferenceModel.d.ts +30 -30
- package/types/models/content/ContentIndexModel.d.ts +34 -34
- package/types/models/content/ContentLinkModel.d.ts +81 -81
- package/types/models/content/ContentModel.d.ts +74 -74
- package/types/models/content/ContentTOCModel.d.ts +37 -37
- package/types/models/content/ContentTypeModel.d.ts +26 -26
- package/types/models/content/SectionModel.d.ts +75 -75
- package/types/models/content/SubSectionModel.d.ts +64 -64
- package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -28
- package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -47
- package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -16
- package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -22
- package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -39
- package/types/models/detail/DetailModel.d.ts +72 -72
- package/types/models/error/ErrorCollection.d.ts +51 -51
- package/types/models/error/ErrorModel.d.ts +41 -41
- package/types/models/error/ErrorResponse.d.ts +148 -148
- package/types/models/filters/AssignmentFilterModel.d.ts +35 -35
- package/types/models/filters/BaseFilterModel.d.ts +85 -85
- package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -6
- package/types/models/filters/FilterCollection.d.ts +48 -48
- package/types/models/filters/FilterModel.d.ts +5 -5
- package/types/models/filters/RangeFilterModel.d.ts +6 -6
- package/types/models/form/FormModel.d.ts +343 -320
- package/types/models/form/FormObjectModel.d.ts +196 -196
- package/types/models/grouping/GroupingModel.d.ts +85 -85
- package/types/models/href/Href.d.ts +196 -196
- package/types/models/href/ListHref.d.ts +64 -64
- package/types/models/index.d.ts +95 -94
- package/types/models/layouthint/LayoutHintCollection.d.ts +43 -43
- package/types/models/links/LinkCollection.d.ts +62 -62
- package/types/models/links/LinkModel.d.ts +92 -92
- package/types/models/links/normalizeLinkJSON.d.ts +9 -9
- package/types/models/list/ListDetailModel.d.ts +69 -69
- package/types/models/list/ListHeaderModel.d.ts +64 -64
- package/types/models/list/ListItemCollection.d.ts +21 -21
- package/types/models/list/ListItemModel.d.ts +34 -34
- package/types/models/list/ListModel.d.ts +135 -135
- package/types/models/lookup/LookupOptionCollection.d.ts +11 -11
- package/types/models/lookup/LookupOptionsModel.d.ts +19 -19
- package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -18
- package/types/models/paging/PagesizeModel.d.ts +25 -25
- package/types/models/paging/PagingModel.d.ts +49 -49
- package/types/models/panels/GroupingPanelModel.d.ts +39 -39
- package/types/models/parameter/Parameter.d.ts +40 -40
- package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -38
- package/types/models/resolveModel.d.ts +7 -7
- package/types/models/search/CaseSearchModel.d.ts +14 -14
- package/types/models/sorting/SortOptionModel.d.ts +48 -48
- package/types/models/sorting/SortingModel.d.ts +42 -42
- package/types/models/tab/TabModel.d.ts +44 -44
- package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -12
- package/types/models/taskgroup/TaskGroupModel.d.ts +15 -15
- package/types/models/types.d.ts +161 -161
- package/types/models/user/UserModel.d.ts +14 -14
- package/types/models/user/UserProfileModel.d.ts +12 -12
- package/types/models/user/UserServicesModel.d.ts +28 -28
- package/types/modularui/Authenticate.d.ts +49 -49
- package/types/modularui/CaptchaRequest.d.ts +45 -45
- package/types/modularui/ModularUIError.d.ts +10 -10
- package/types/modularui/ModularUIRequest.d.ts +198 -198
- package/types/modularui/ModularUIResponse.d.ts +56 -56
- package/types/modularui/UploadRequest.d.ts +35 -35
- package/types/modularui/index.d.ts +5 -5
- package/types/modularui/types.d.ts +2 -2
- package/types/redux/_i18n/types.d.ts +13 -13
- package/types/redux/_modularui/types.d.ts +61 -61
- package/types/redux/_router/types.d.ts +35 -35
- package/types/redux/selectors/i18n.d.ts +4 -4
- package/types/redux/types.d.ts +105 -105
- package/types/utils/browser/Cache.d.ts +45 -45
- package/types/utils/browser/Cookies.d.ts +9 -9
- package/types/utils/datetime/DateTimeUtil.d.ts +164 -164
- package/types/utils/fetch/serverFetch.d.ts +5 -5
- package/types/utils/fetch/types.d.ts +40 -40
- package/types/utils/fetch/universalFetch.d.ts +7 -7
- package/types/utils/fetch/xhr.d.ts +5 -5
- package/types/utils/helpers/checkResource.d.ts +3 -3
- package/types/utils/helpers/createHash.d.ts +8 -8
- package/types/utils/helpers/createUUID.d.ts +4 -4
- package/types/utils/helpers/index.d.ts +7 -7
- package/types/utils/helpers/objects.d.ts +11 -11
- package/types/utils/helpers/repositoryResource.d.ts +1 -1
- package/types/utils/helpers/sanitizeHtml.d.ts +9 -9
- package/types/utils/helpers/text.d.ts +7 -7
- package/types/utils/index.d.ts +11 -11
- package/types/utils/number/DecimalFormat.d.ts +90 -90
- package/types/utils/number/formatValue.d.ts +4 -4
- package/types/utils/number/parseNumbers.d.ts +9 -9
package/esm/i18n/Message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","names":["memo","hideVisually","useMessage","jsx","_jsx","Message","_ref","className","id","defaultMessage","children","data","screenreaderOnly","allowHTML","translatedMessage","styles","style","dangerouslySetInnerHTML","__html","displayName"],"sources":["../../src/i18n/Message.js"],"sourcesContent":["// @flow\nimport { memo } from \"react\";\nimport { hideVisually } from \"polished\";\n\nimport { useMessage } from \"../hooks/useI18n\";\n\ntype MessageProps = {\n +className?: string,\n +id: string,\n +defaultMessage?: string | null,\n +children?: string,\n +data?: Object | null,\n +screenreaderOnly?: boolean,\n +allowHTML?: boolean,\n};\n\n/**\n * Message React component\n */\nconst Message: React$AbstractComponent<MessageProps, mixed> =\n memo<MessageProps>(\n ({\n className,\n id,\n defaultMessage,\n children,\n data,\n screenreaderOnly = false,\n allowHTML = false,\n }: MessageProps) => {\n const translatedMessage = useMessage(\n id,\n defaultMessage || children,\n data\n );\n\n if (screenreaderOnly) {\n const styles = {\n ...hideVisually(),\n };\n\n return (\n <span className={className} style={styles}>\n {translatedMessage}\n </span>\n );\n }\n\n if (allowHTML) {\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{\n __html: translatedMessage,\n }}\n />\n );\n }\n\n return <span className={className}>{translatedMessage}</span>;\n }\n );\n\nMessage.displayName = \"BI.Message\";\n\nexport default Message;\n"],"mappings":"AACA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,YAAY,QAAQ,UAAU;AAEvC,SAASC,UAAU,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAY9C;AACA;AACA;AACA,MAAMC,OAAqD,gBACzDL,IAAI,CACFM,IAAA,IAQoB;EAAA,IARnB;IACCC,SAAS;IACTC,EAAE;IACFC,cAAc;IACdC,QAAQ;IACRC,IAAI;IACJC,gBAAgB,GAAG,KAAK;IACxBC,SAAS,GAAG;EACA,CAAC,GAAAP,IAAA;EACb,MAAMQ,iBAAiB,GAAGZ,UAAU,CAClCM,EAAE,EACFC,cAAc,IAAIC,QAAQ,EAC1BC,
|
|
1
|
+
{"version":3,"file":"Message.js","names":["memo","hideVisually","useMessage","jsx","_jsx","Message","_ref","className","id","defaultMessage","children","data","screenreaderOnly","allowHTML","translatedMessage","styles","style","dangerouslySetInnerHTML","__html","displayName"],"sources":["../../src/i18n/Message.js"],"sourcesContent":["// @flow\nimport { memo } from \"react\";\nimport { hideVisually } from \"polished\";\n\nimport { useMessage } from \"../hooks/useI18n\";\n\ntype MessageProps = {\n +className?: string,\n +id: string,\n +defaultMessage?: string | null,\n +children?: string,\n +data?: Object | null,\n +screenreaderOnly?: boolean,\n +allowHTML?: boolean,\n};\n\n/**\n * Message React component\n */\nconst Message: React$AbstractComponent<MessageProps, mixed> =\n memo<MessageProps>(\n ({\n className,\n id,\n defaultMessage,\n children,\n data,\n screenreaderOnly = false,\n allowHTML = false,\n }: MessageProps) => {\n const translatedMessage = useMessage(\n id,\n defaultMessage || children,\n data\n );\n\n if (screenreaderOnly) {\n const styles = {\n ...hideVisually(),\n };\n\n return (\n <span className={className} style={styles}>\n {translatedMessage}\n </span>\n );\n }\n\n if (allowHTML) {\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{\n __html: translatedMessage,\n }}\n />\n );\n }\n\n return <span className={className}>{translatedMessage}</span>;\n }\n );\n\nMessage.displayName = \"BI.Message\";\n\nexport default Message;\n"],"mappings":"AACA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,YAAY,QAAQ,UAAU;AAEvC,SAASC,UAAU,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAY9C;AACA;AACA;AACA,MAAMC,OAAqD,gBACzDL,IAAI,CACFM,IAAA,IAQoB;EAAA,IARnB;IACCC,SAAS;IACTC,EAAE;IACFC,cAAc;IACdC,QAAQ;IACRC,IAAI;IACJC,gBAAgB,GAAG,KAAK;IACxBC,SAAS,GAAG;EACA,CAAC,GAAAP,IAAA;EACb,MAAMQ,iBAAiB,GAAGZ,UAAU,CAClCM,EAAE,EACFC,cAAc,IAAIC,QAAQ,EAC1BC,IACF,CAAC;EAED,IAAIC,gBAAgB,EAAE;IACpB,MAAMG,MAAM,GAAG;MACb,GAAGd,YAAY,CAAC;IAClB,CAAC;IAED,oBACEG,IAAA;MAAMG,SAAS,EAAEA,SAAU;MAACS,KAAK,EAAED,MAAO;MAAAL,QAAA,EACvCI;IAAiB,CACd,CAAC;EAEX;EAEA,IAAID,SAAS,EAAE;IACb,oBACET,IAAA;MACEG,SAAS,EAAEA,SAAU;MACrBU,uBAAuB,EAAE;QACvBC,MAAM,EAAEJ;MACV;IAAE,CACH,CAAC;EAEN;EAEA,oBAAOV,IAAA;IAAMG,SAAS,EAAEA,SAAU;IAAAG,QAAA,EAAEI;EAAiB,CAAO,CAAC;AAC/D,CACF,CAAC;AAEHT,OAAO,CAACc,WAAW,GAAG,YAAY;AAElC,eAAed,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withMessage.js","names":["connect","createSelector","memoize","getLocales","getLocale","getMessage","locales","localeCode","id","defaultMessage","placeholders","_len","arguments","length","args","Array","_key","_JSON$stringify","mapStateToProps","state","message","withMessage"],"sources":["../../src/i18n/withMessage.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nimport type { ReduxState } from \"../redux/types\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n +message: (\n id: string,\n defaultMessage: string,\n placeholders: { ... }\n ) => string,\n};\n\ntype Props = {\n ...StateProps,\n ...\n};\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n message: getMessage(state),\n});\n\n/**\n */\nconst withMessage: ComponentType<any> = connect<Props, {}, StateProps, _, _, _>(\n mapStateToProps\n);\n\nexport default withMessage;\n"],"mappings":";AACA,SAASA,OAAO,QAAQ,aAAa;AAErC,SAASC,cAAc,QAAQ,UAAU;AACzC,OAAOC,OAAO,MAAM,gBAAgB;AAEpC,SAASC,UAAU,EAAEC,SAAS,QAAQ,yBAAyB;AAkB/D,MAAMC,UAAU,GAAGJ,cAAc,CAC/B,CAACE,UAAU,EAAEC,SAAS,CAAC,EACvB,CAACE,OAAO,EAAEC,UAAU,KAClBL,OAAO,CACL,CAACM,EAAU,EAAEC,cAAuB,EAAEC,YAAqB,KACzDJ,OAAO,CACJF,SAAS,CAACG,UAAU,CAAC,CACrBF,UAAU,CAACG,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC,EACjD;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAAKC,eAAA,CAAeH,IAAI,CAAC;AAAA,
|
|
1
|
+
{"version":3,"file":"withMessage.js","names":["connect","createSelector","memoize","getLocales","getLocale","getMessage","locales","localeCode","id","defaultMessage","placeholders","_len","arguments","length","args","Array","_key","_JSON$stringify","mapStateToProps","state","message","withMessage"],"sources":["../../src/i18n/withMessage.js"],"sourcesContent":["// @flow\nimport { connect } from \"react-redux\";\n\nimport { createSelector } from \"reselect\";\nimport memoize from \"lodash/memoize\";\n\nimport { getLocales, getLocale } from \"../redux/selectors/i18n\";\n\nimport type { ReduxState } from \"../redux/types\";\nimport type { ComponentType } from \"react\";\n\ntype StateProps = {\n +message: (\n id: string,\n defaultMessage: string,\n placeholders: { ... }\n ) => string,\n};\n\ntype Props = {\n ...StateProps,\n ...\n};\n\nconst getMessage = createSelector(\n [getLocales, getLocale],\n (locales, localeCode) =>\n memoize(\n (id: string, defaultMessage?: string, placeholders?: Object) =>\n locales\n .getLocale(localeCode)\n .getMessage(id, defaultMessage, placeholders),\n (...args) => JSON.stringify(args)\n )\n);\n\nconst mapStateToProps = (state: ReduxState): StateProps => ({\n message: getMessage(state),\n});\n\n/**\n */\nconst withMessage: ComponentType<any> = connect<Props, {}, StateProps, _, _, _>(\n mapStateToProps\n);\n\nexport default withMessage;\n"],"mappings":";AACA,SAASA,OAAO,QAAQ,aAAa;AAErC,SAASC,cAAc,QAAQ,UAAU;AACzC,OAAOC,OAAO,MAAM,gBAAgB;AAEpC,SAASC,UAAU,EAAEC,SAAS,QAAQ,yBAAyB;AAkB/D,MAAMC,UAAU,GAAGJ,cAAc,CAC/B,CAACE,UAAU,EAAEC,SAAS,CAAC,EACvB,CAACE,OAAO,EAAEC,UAAU,KAClBL,OAAO,CACL,CAACM,EAAU,EAAEC,cAAuB,EAAEC,YAAqB,KACzDJ,OAAO,CACJF,SAAS,CAACG,UAAU,CAAC,CACrBF,UAAU,CAACG,EAAE,EAAEC,cAAc,EAAEC,YAAY,CAAC,EACjD;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAAA,OAAKC,eAAA,CAAeH,IAAI,CAAC;AAAA,CACnC,CACJ,CAAC;AAED,MAAMI,eAAe,GAAIC,KAAiB,KAAkB;EAC1DC,OAAO,EAAEf,UAAU,CAACc,KAAK;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA,MAAME,WAA+B,GAAGrB,OAAO,CAC7CkB,eACF,CAAC;AAED,eAAeG,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionCollection.js","names":["BaseCollection","ActionModel","ActionCollection","constructor","actions","actionsContributions","Array","isArray","collection","actionModels","actionData","actionContribution","_findInstanceProperty","call","name","push","getActionByKey","key","_context","newCollection","_filterInstanceProperty","action","first","getActionsByType","type","_context2","_includesInstanceProperty","getActionsByLayoutHint","_context3","_len","arguments","length","hints","_key","layouthint","has","hasActionsByLayoutHint","routePath","_context4","enabledRoutes","isDisabled","path","_mapInstanceProperty","selfhref","join"],"sources":["../../../src/models/actions/ActionCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport ActionModel from \"./ActionModel\";\n\n/**\n * Collection of actions\n */\nexport default class ActionCollection extends BaseCollection<ActionModel> {\n constructor(actions?: Object, actionsContributions?: Object) {\n super();\n\n // no actions gives an empty collection\n if (!Array.isArray(actions)) {\n this.collection = [];\n } else if (Array.isArray(actionsContributions)) {\n const actionModels = [];\n for (const actionData of actions) {\n const actionContribution = actionsContributions.find(\n (actionContribution) => actionContribution.name === actionData.name\n );\n\n if (actionContribution) {\n actionModels.push(new ActionModel(actionData, actionContribution));\n }\n }\n\n this.collection = actionModels;\n }\n }\n\n /**\n * Retrieve action by key\n */\n getActionByKey(key: string): ActionModel | null {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) => action.key === key);\n\n return newCollection.first;\n }\n\n /**\n * Retrieve actions by type\n */\n getActionsByType(type: string | Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n Array.isArray(type) ? type.includes(action.type) : action.type === type\n );\n\n return newCollection;\n }\n\n /**\n * Retrieve actions including a layout hint\n */\n getActionsByLayoutHint(...hints: Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n action.layouthint.has(...hints)\n );\n\n return newCollection;\n }\n\n /**\n * Indicates if an action with layout hint exists\n */\n hasActionsByLayoutHint(...hints: Array<string>): boolean {\n return this.getActionsByLayoutHint(...hints).length > 0;\n }\n\n /**\n * Use as path regex for react router routes\n */\n get routePath(): string {\n const enabledRoutes = this.collection.filter(\n (action) => !action.isDisabled\n );\n\n if (enabledRoutes.length === 0) {\n return \"__NON_EXISTING_ROUTE__\";\n }\n\n const path = enabledRoutes.map((action) => action.selfhref.path).join(\"|\");\n\n return this.length > 1 ? `(${path})` : path;\n }\n}\n"],"mappings":";;;;AACA,OAAOA,cAAc,MAAM,wBAAwB;AACnD,OAAOC,WAAW,MAAM,eAAe;;AAEvC;AACA;AACA;AACA,eAAe,MAAMC,gBAAgB,SAASF,cAAc,CAAc;EACxEG,WAAWA,CAACC,OAAgB,EAAEC,oBAA6B,EAAE;IAC3D,KAAK,
|
|
1
|
+
{"version":3,"file":"ActionCollection.js","names":["BaseCollection","ActionModel","ActionCollection","constructor","actions","actionsContributions","Array","isArray","collection","actionModels","actionData","actionContribution","_findInstanceProperty","call","name","push","getActionByKey","key","_context","newCollection","_filterInstanceProperty","action","first","getActionsByType","type","_context2","_includesInstanceProperty","getActionsByLayoutHint","_context3","_len","arguments","length","hints","_key","layouthint","has","hasActionsByLayoutHint","routePath","_context4","enabledRoutes","isDisabled","path","_mapInstanceProperty","selfhref","join"],"sources":["../../../src/models/actions/ActionCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport ActionModel from \"./ActionModel\";\n\n/**\n * Collection of actions\n */\nexport default class ActionCollection extends BaseCollection<ActionModel> {\n constructor(actions?: Object, actionsContributions?: Object) {\n super();\n\n // no actions gives an empty collection\n if (!Array.isArray(actions)) {\n this.collection = [];\n } else if (Array.isArray(actionsContributions)) {\n const actionModels = [];\n for (const actionData of actions) {\n const actionContribution = actionsContributions.find(\n (actionContribution) => actionContribution.name === actionData.name\n );\n\n if (actionContribution) {\n actionModels.push(new ActionModel(actionData, actionContribution));\n }\n }\n\n this.collection = actionModels;\n }\n }\n\n /**\n * Retrieve action by key\n */\n getActionByKey(key: string): ActionModel | null {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) => action.key === key);\n\n return newCollection.first;\n }\n\n /**\n * Retrieve actions by type\n */\n getActionsByType(type: string | Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n Array.isArray(type) ? type.includes(action.type) : action.type === type\n );\n\n return newCollection;\n }\n\n /**\n * Retrieve actions including a layout hint\n */\n getActionsByLayoutHint(...hints: Array<string>): ActionCollection {\n const newCollection = new ActionCollection();\n\n newCollection.collection = this.filter((action) =>\n action.layouthint.has(...hints)\n );\n\n return newCollection;\n }\n\n /**\n * Indicates if an action with layout hint exists\n */\n hasActionsByLayoutHint(...hints: Array<string>): boolean {\n return this.getActionsByLayoutHint(...hints).length > 0;\n }\n\n /**\n * Use as path regex for react router routes\n */\n get routePath(): string {\n const enabledRoutes = this.collection.filter(\n (action) => !action.isDisabled\n );\n\n if (enabledRoutes.length === 0) {\n return \"__NON_EXISTING_ROUTE__\";\n }\n\n const path = enabledRoutes.map((action) => action.selfhref.path).join(\"|\");\n\n return this.length > 1 ? `(${path})` : path;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionModel.js","names":["has","ProcessStatusSettingsModel","AttributeCollection","BaseModel","Href","HTTP_METHODS","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","ActionModel","constructor","data","contributions","_defineProperty","_fieldCollection","fields","createFromHref","name","href","label","type","arguments","length","undefined","isDisabled","selfhref","_href","querystring","method","getData","POST","layouthint","getContribution","all","fieldCollection","_context","_context2","_mapInstanceProperty","_filterInstanceProperty","call","attribute","value","join","getFieldByKey","key","getAttributeByKey","hasFieldByKey","isProcessTask","processStatus","icon","_icon"],"sources":["../../../src/models/actions/ActionModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\nimport {\n CREATE_ACTION,\n UPDATE_ACTION,\n DELETE_ACTION,\n} from \"../../constants/LayoutHints\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Defines an Action. For instance an action on the tab 'books', which leads to a form\n */\nexport default class ActionModel extends BaseModel {\n _fieldCollection: AttributeCollection;\n _href: Href;\n _icon: string;\n\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._fieldCollection = new AttributeCollection(\n this.data.fields,\n this.contributions.fields\n );\n }\n\n /**\n */\n static createFromHref(\n name: string,\n href: string,\n label: string,\n type: string = \"form\"\n ): ActionModel {\n return new ActionModel(\n {\n name,\n href,\n },\n {\n name,\n label: label || name,\n type,\n }\n );\n }\n\n /**\n */\n get isDisabled(): boolean {\n return this.data.href == null;\n }\n\n /**\n * retrieve href of action\n */\n get selfhref(): Href {\n return (\n this._href || new Href(`${this.data.href}?${this.querystring}`, \"Form\")\n );\n }\n\n /**\n */\n set selfhref(href: Href) {\n this._href = href;\n }\n\n /**\n * retrieve request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.getData(\"method\", HTTP_METHODS.POST);\n }\n\n /**\n * Retrieve type of method\n */\n get type(): string {\n if (this.layouthint.has(CREATE_ACTION)) {\n return \"create\";\n }\n if (this.layouthint.has(UPDATE_ACTION)) {\n return \"update\";\n }\n if (this.layouthint.has(DELETE_ACTION)) {\n return \"delete\";\n }\n\n return this.getContribution(\"type\", \"general\");\n }\n\n /**\n * Retrieve name of action\n */\n get name(): string {\n return this.getData(\"name\", \"unknown\");\n }\n\n /**\n * retrieve the collection of field attributes as an array\n */\n get fields(): Array<AttributeType> {\n return this._fieldCollection.all;\n }\n\n /**\n * Retrieve the field collection\n */\n get fieldCollection(): AttributeCollection {\n return this._fieldCollection;\n }\n\n /**\n */\n set fieldCollection(fieldCollection: AttributeCollection) {\n this._fieldCollection = fieldCollection;\n }\n\n /**\n * Retrieve querystring of action\n */\n get querystring(): string {\n return this.fields\n .filter((attribute) => attribute.value != null && attribute.value !== \"\")\n .map((attribute) => {\n const { value } = attribute;\n if (value !== null) {\n return `${attribute.name}=${value}`;\n }\n return attribute.name;\n })\n .join(\"&\");\n }\n\n /**\n * Retrieve a field by it's key\n */\n getFieldByKey(key: string): AttributeType | null {\n return this._fieldCollection.getAttributeByKey(key);\n }\n\n /**\n * Indicates if field exists by the given key\n */\n hasFieldByKey(key: string): boolean {\n return this.getFieldByKey(key) !== null;\n }\n\n /**\n * Getting the key/name of this action\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Getting the label of the action\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n */\n get isProcessTask(): boolean {\n return has(this.contributions, \"processTask\");\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.isProcessTask) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processTask\", {})\n );\n }\n\n return null;\n }\n\n /**\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n}\n"],"mappings":";;;AACA,SAASA,GAAG,QAAQ,6BAA6B;AAEjD,OAAOC,0BAA0B,MAAM,uCAAuC;AAC9E,OAAOC,mBAAmB,MAAM,mCAAmC;AACnE,OAAOC,SAAS,MAAM,mBAAmB;AACzC,OAAOC,IAAI,MAAM,cAAc;AAE/B,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SACEC,aAAa,EACbC,aAAa,EACbC,aAAa,QACR,6BAA6B;AAIpC;AACA;AACA;AACA,eAAe,MAAMC,WAAW,SAASN,SAAS,CAAC;EAKjDO,WAAWA,CAACC,IAAY,EAAEC,aAAqB,EAAE;IAC/C,KAAK,CAACD,IAAI,EAAEC,aAAa,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAE3B,IAAI,CAACC,gBAAgB,GAAG,IAAIZ,mBAAmB,CAC7C,IAAI,CAACS,IAAI,CAACI,MAAM,EAChB,IAAI,CAACH,aAAa,CAACG,
|
|
1
|
+
{"version":3,"file":"ActionModel.js","names":["has","ProcessStatusSettingsModel","AttributeCollection","BaseModel","Href","HTTP_METHODS","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","ActionModel","constructor","data","contributions","_defineProperty","_fieldCollection","fields","createFromHref","name","href","label","type","arguments","length","undefined","isDisabled","selfhref","_href","querystring","method","getData","POST","layouthint","getContribution","all","fieldCollection","_context","_context2","_mapInstanceProperty","_filterInstanceProperty","call","attribute","value","join","getFieldByKey","key","getAttributeByKey","hasFieldByKey","isProcessTask","processStatus","icon","_icon"],"sources":["../../../src/models/actions/ActionModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\nimport {\n CREATE_ACTION,\n UPDATE_ACTION,\n DELETE_ACTION,\n} from \"../../constants/LayoutHints\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Defines an Action. For instance an action on the tab 'books', which leads to a form\n */\nexport default class ActionModel extends BaseModel {\n _fieldCollection: AttributeCollection;\n _href: Href;\n _icon: string;\n\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._fieldCollection = new AttributeCollection(\n this.data.fields,\n this.contributions.fields\n );\n }\n\n /**\n */\n static createFromHref(\n name: string,\n href: string,\n label: string,\n type: string = \"form\"\n ): ActionModel {\n return new ActionModel(\n {\n name,\n href,\n },\n {\n name,\n label: label || name,\n type,\n }\n );\n }\n\n /**\n */\n get isDisabled(): boolean {\n return this.data.href == null;\n }\n\n /**\n * retrieve href of action\n */\n get selfhref(): Href {\n return (\n this._href || new Href(`${this.data.href}?${this.querystring}`, \"Form\")\n );\n }\n\n /**\n */\n set selfhref(href: Href) {\n this._href = href;\n }\n\n /**\n * retrieve request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.getData(\"method\", HTTP_METHODS.POST);\n }\n\n /**\n * Retrieve type of method\n */\n get type(): string {\n if (this.layouthint.has(CREATE_ACTION)) {\n return \"create\";\n }\n if (this.layouthint.has(UPDATE_ACTION)) {\n return \"update\";\n }\n if (this.layouthint.has(DELETE_ACTION)) {\n return \"delete\";\n }\n\n return this.getContribution(\"type\", \"general\");\n }\n\n /**\n * Retrieve name of action\n */\n get name(): string {\n return this.getData(\"name\", \"unknown\");\n }\n\n /**\n * retrieve the collection of field attributes as an array\n */\n get fields(): Array<AttributeType> {\n return this._fieldCollection.all;\n }\n\n /**\n * Retrieve the field collection\n */\n get fieldCollection(): AttributeCollection {\n return this._fieldCollection;\n }\n\n /**\n */\n set fieldCollection(fieldCollection: AttributeCollection) {\n this._fieldCollection = fieldCollection;\n }\n\n /**\n * Retrieve querystring of action\n */\n get querystring(): string {\n return this.fields\n .filter((attribute) => attribute.value != null && attribute.value !== \"\")\n .map((attribute) => {\n const { value } = attribute;\n if (value !== null) {\n return `${attribute.name}=${value}`;\n }\n return attribute.name;\n })\n .join(\"&\");\n }\n\n /**\n * Retrieve a field by it's key\n */\n getFieldByKey(key: string): AttributeType | null {\n return this._fieldCollection.getAttributeByKey(key);\n }\n\n /**\n * Indicates if field exists by the given key\n */\n hasFieldByKey(key: string): boolean {\n return this.getFieldByKey(key) !== null;\n }\n\n /**\n * Getting the key/name of this action\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Getting the label of the action\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n */\n get isProcessTask(): boolean {\n return has(this.contributions, \"processTask\");\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.isProcessTask) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processTask\", {})\n );\n }\n\n return null;\n }\n\n /**\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationModel.js","names":["ResourceModel","LinkModel","UserServicesModel","NotAllowedUriException","DEFAULT_AUTHENTICATION_TYPE","ApplicationModel","constructor","arguments","_defineProperty","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userService","links","getLinkByKey","href","path","setChildModels","models","userServiceModel","_findInstanceProperty","call","model","userServices","label","getContribution","authenticationTypes","sort","a","b","isPrimary","tabs","getLinksByGroup","modelcatalog","create","_userServices","isLoggedIn","userHref","userLink"],"sources":["../../../src/models/application/ApplicationModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport UserServicesModel from \"../user/UserServicesModel\";\n\nimport { NotAllowedUriException } from \"../../exceptions\";\n\nimport { DEFAULT_AUTHENTICATION_TYPE } from \"../../constants\";\n\nimport type { ModularUIModel, AuthenticationType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type Href from \"../href/Href\";\n\n/**\n * The Application model\n */\nexport default class ApplicationModel extends ResourceModel {\n _userServices: ?UserServicesModel;\n\n /**\n * Retrieve type of model\n */\n get type(): string {\n return \"Application\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ApplicationModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"Application\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userService = this.links.getLinkByKey(\"UserServices\");\n if (userService && userService.href.path === \"/login\") {\n throw new NotAllowedUriException(\n \"The user service (Login panel) should not have the uri '/login', use a different URI because this uri matches the login service.\"\n );\n }\n\n return userService ? [userService] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const userServiceModel = models.find(\n (model) => model.type === \"UserServices\"\n );\n\n if (userServiceModel) {\n this.userServices = userServiceModel;\n }\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the authentication types of the application\n */\n get authenticationTypes(): Array<AuthenticationType> {\n const authenticationTypes = this.getContribution(\"security\", [\n DEFAULT_AUTHENTICATION_TYPE,\n ]);\n\n if (authenticationTypes) {\n //put primary first\n return authenticationTypes?.sort(\n (a: AuthenticationType, b: AuthenticationType) =>\n a.isPrimary === b.isPrimary ? 0 : a.isPrimary ? -1 : 1\n );\n }\n\n return [DEFAULT_AUTHENTICATION_TYPE];\n }\n\n /**\n * Getting the tab links\n */\n get tabs(): LinkCollection {\n return this.links.getLinksByGroup(\"tab\");\n }\n\n /**\n * Get modelcatalog link\n */\n get modelcatalog(): LinkModel {\n return LinkModel.create(\"modelcatalog\", \"/modelcatalog\", \"Model catalog\");\n }\n\n /**\n * Set the userservices for this application\n */\n set userServices(model: ?ModularUIModel) {\n this._userServices = model instanceof UserServicesModel ? model : null;\n }\n\n /**\n * returns the userservices configured for this application\n */\n get userServices(): ?UserServicesModel {\n return this._userServices ? this._userServices : null;\n }\n\n /**\n * Indicates if the user is logged in\n */\n get isLoggedIn(): boolean {\n return this.userServices?.isLoggedIn ?? false;\n }\n\n /**\n * Retrieve link to the user information,\n * only available when the user services are available\n */\n get userHref(): Href | null {\n if (this.userServices != null && this.userServices.userLink != null) {\n return this.userServices.userLink.href;\n }\n\n return null;\n }\n}\n"],"mappings":";;AACA,OAAOA,aAAa,MAAM,uBAAuB;AACjD,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,iBAAiB,MAAM,2BAA2B;AAEzD,SAASC,sBAAsB,QAAQ,kBAAkB;AAEzD,SAASC,2BAA2B,QAAQ,iBAAiB;AAO7D;AACA;AACA;AACA,eAAe,MAAMC,gBAAgB,SAASL,aAAa,CAAC;EAAAM,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;EAAA;EAG1D;AACF;AACA;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,aAAa;EACtB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,kBAAkB;EAC3B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,aAAa;EAErD;;EAEA;AACF;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,WAAW,GAAG,IAAI,CAACC,KAAK,CAACC,YAAY,CAAC,cAAc,CAAC;IAC3D,IAAIF,WAAW,IAAIA,WAAW,CAACG,IAAI,CAACC,IAAI,KAAK,QAAQ,EAAE;MACrD,MAAM,IAAIjB,sBAAsB,CAC9B,
|
|
1
|
+
{"version":3,"file":"ApplicationModel.js","names":["ResourceModel","LinkModel","UserServicesModel","NotAllowedUriException","DEFAULT_AUTHENTICATION_TYPE","ApplicationModel","constructor","arguments","_defineProperty","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userService","links","getLinkByKey","href","path","setChildModels","models","userServiceModel","_findInstanceProperty","call","model","userServices","label","getContribution","authenticationTypes","sort","a","b","isPrimary","tabs","getLinksByGroup","modelcatalog","create","_userServices","isLoggedIn","userHref","userLink"],"sources":["../../../src/models/application/ApplicationModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport UserServicesModel from \"../user/UserServicesModel\";\n\nimport { NotAllowedUriException } from \"../../exceptions\";\n\nimport { DEFAULT_AUTHENTICATION_TYPE } from \"../../constants\";\n\nimport type { ModularUIModel, AuthenticationType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type Href from \"../href/Href\";\n\n/**\n * The Application model\n */\nexport default class ApplicationModel extends ResourceModel {\n _userServices: ?UserServicesModel;\n\n /**\n * Retrieve type of model\n */\n get type(): string {\n return \"Application\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ApplicationModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"Application\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userService = this.links.getLinkByKey(\"UserServices\");\n if (userService && userService.href.path === \"/login\") {\n throw new NotAllowedUriException(\n \"The user service (Login panel) should not have the uri '/login', use a different URI because this uri matches the login service.\"\n );\n }\n\n return userService ? [userService] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const userServiceModel = models.find(\n (model) => model.type === \"UserServices\"\n );\n\n if (userServiceModel) {\n this.userServices = userServiceModel;\n }\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the authentication types of the application\n */\n get authenticationTypes(): Array<AuthenticationType> {\n const authenticationTypes = this.getContribution(\"security\", [\n DEFAULT_AUTHENTICATION_TYPE,\n ]);\n\n if (authenticationTypes) {\n //put primary first\n return authenticationTypes?.sort(\n (a: AuthenticationType, b: AuthenticationType) =>\n a.isPrimary === b.isPrimary ? 0 : a.isPrimary ? -1 : 1\n );\n }\n\n return [DEFAULT_AUTHENTICATION_TYPE];\n }\n\n /**\n * Getting the tab links\n */\n get tabs(): LinkCollection {\n return this.links.getLinksByGroup(\"tab\");\n }\n\n /**\n * Get modelcatalog link\n */\n get modelcatalog(): LinkModel {\n return LinkModel.create(\"modelcatalog\", \"/modelcatalog\", \"Model catalog\");\n }\n\n /**\n * Set the userservices for this application\n */\n set userServices(model: ?ModularUIModel) {\n this._userServices = model instanceof UserServicesModel ? model : null;\n }\n\n /**\n * returns the userservices configured for this application\n */\n get userServices(): ?UserServicesModel {\n return this._userServices ? this._userServices : null;\n }\n\n /**\n * Indicates if the user is logged in\n */\n get isLoggedIn(): boolean {\n return this.userServices?.isLoggedIn ?? false;\n }\n\n /**\n * Retrieve link to the user information,\n * only available when the user services are available\n */\n get userHref(): Href | null {\n if (this.userServices != null && this.userServices.userLink != null) {\n return this.userServices.userLink.href;\n }\n\n return null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeCollection.js","names":["has","ResourceCollection","createAttribute","ChoiceAttributeModel","CompositeAttributeModel","ContentConfiguration","ConfigurationException","AttributeCollection","constructor","data","arguments","length","undefined","contributions","isReadonly","forEach","contribution","key","_Object$keys","attribute","readonly","collection","push","processLayoutHintRules","attributes","all","visible","_context","_filterInstanceProperty","call","isHidden","questions","_context2","isResult","results","_context3","getAttributeByAttribute","_context4","_findInstanceProperty","attr","equals","getChildByAttribute","getAttributeByKey","_context5","getChildByKey","hasAttributeByKey","getAttributeByLayoutHint","_context6","_len","hints","Array","_key","layouthint","getChoiceAttributeByLayoutHint","layoutHint","getAttributesByLayoutHint","_context7","_len2","_key2","replace","oldAttribute","newAttribute","replaceByKey","index","setReferenceDate","date","clone","referenceDate","hasServerErrors","some","addServerError","error","elementid","anchor","hasErrors","updateValidations","errors","_context8","hasDynamicValidationData","attributeErrors","compositeChildErrors","elementId","_startsWithInstanceProperty","children","indicateContentConfiguration","contentConfiguration","formdata","getFormData","_context9","_context10","validationData","attributesFormData","_mapInstanceProperty","isVisible","getEmptyFormData","attributeFormData"],"sources":["../../../src/models/attributes/AttributeCollection.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceCollection from \"../base/ResourceCollection\";\n\nimport createAttribute from \"./_createAttribute\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\n\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\n\nimport { ConfigurationException } from \"../../exceptions\";\n\nimport type { AttributeType, FormErrorAnchor } from \"../types\";\n\n/**\n * Collection of attributes\n */\nclass AttributeCollection extends ResourceCollection<AttributeType> {\n constructor(\n data: Object | Array<Object> = {},\n contributions: Array<Object> = [],\n isReadonly: boolean = false\n ) {\n super();\n\n if (contributions) {\n contributions.forEach((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attribute = createAttribute(key, data, contribution[key]);\n\n if (attribute !== null) {\n // when readonly is not explicitly set in the contributions, follow argument\n if (isReadonly && !has(contribution[key], \"readonly\")) {\n attribute.readonly = true;\n }\n\n this.collection.push(attribute);\n }\n });\n\n this.processLayoutHintRules();\n }\n }\n\n /**\n * Retrieve all attributes in this collection<br>\n * This getter processes layout hints, this is different from the standard {@link BaseCollection#all} property\n * @returns {Array<AttributeType>}\n */\n get attributes(): Array<AttributeType> {\n this.processLayoutHintRules();\n return this.all;\n }\n\n /**\n * Replace attributes with a new array of attributes\n */\n set attributes(attributes: Array<AttributeType>) {\n this.collection = attributes;\n }\n\n /**\n */\n processLayoutHintRules(): void {\n this.all.forEach((attribute) => {\n attribute.processLayoutHintRules(this);\n });\n }\n\n /**\n * Retrieve only visible attributes from the collection\n */\n get visible(): Array<AttributeType> {\n // Let flow know that this is a AttributeCollection\n if (this instanceof AttributeCollection) {\n return this.attributes.filter((attribute) => !attribute.isHidden);\n }\n\n return [];\n }\n\n /**\n */\n get questions(): Array<AttributeType> {\n return this.visible.filter((attribute) => !attribute.isResult);\n }\n\n /**\n */\n get results(): Array<AttributeType> {\n return this.visible.filter((attribute) => attribute.isResult);\n }\n\n /**\n */\n getAttributeByAttribute(attribute: AttributeType): AttributeType | null {\n return this.find((attr) => {\n if (attr.equals(attribute)) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n * Get a single attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this.find((attribute) => {\n if (attribute.key === key) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByKey(key);\n }\n\n return false;\n });\n }\n\n /**\n * Indicates if attribute with key exists in collection\n */\n hasAttributeByKey(key: string): boolean {\n return this.getAttributeByKey(key) !== null;\n }\n\n /**\n * Getting the first attribute having the supplied layout hint\n */\n getAttributeByLayoutHint(...hints: Array<string>): AttributeType | null {\n return this.find((attribute) => attribute.layouthint.has(...hints)) || null;\n }\n\n /**\n * Getting a choice attribute by layouthint, returns null when not found or not a choice attribute\n */\n getChoiceAttributeByLayoutHint(\n layoutHint: string\n ): ChoiceAttributeModel | null {\n const attribute = this.getAttributeByLayoutHint(layoutHint);\n\n return attribute instanceof ChoiceAttributeModel ? attribute : null;\n }\n\n /**\n * Getting all attributes having the supplied layout hint\n */\n getAttributesByLayoutHint(...hints: Array<string>): Array<AttributeType> {\n return this.filter((attribute) => attribute.layouthint.has(...hints));\n }\n\n /**\n * Replace an attribute instance in the collection with a new attribute instance\n */\n replace(oldAttribute: AttributeType, newAttribute: AttributeType): void {\n this.replaceByKey(oldAttribute.key, newAttribute);\n }\n\n /**\n * Replace an attribute by the key of the attribute\n */\n replaceByKey(key: string, newAttribute: AttributeType): void {\n this.forEach((attribute, index) => {\n if (attribute.key === key) {\n this.collection[index] = newAttribute;\n }\n });\n }\n\n /**\n * Set reference date by replacing an old attribute with a new attribute with a reference Date\n * Date is a string in ISO format yyyy-MM-dd\n */\n setReferenceDate(date: string): void {\n this.forEach((attribute) => {\n const newAttribute = attribute.clone();\n\n newAttribute.referenceDate = date;\n\n this.replace(attribute, newAttribute);\n });\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.collection.some((attribute) => attribute.hasServerErrors());\n }\n\n /**\n */\n addServerError(error: FormErrorAnchor): void {\n const elementid = error?.anchor?.elementid;\n\n if (elementid) {\n const attribute = this.getAttributeByKey(elementid);\n if (attribute) {\n attribute.addServerError(error);\n } else {\n throw new ConfigurationException(\n `Could not add error to missing attribute with id ${elementid}`\n );\n }\n }\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.visible.some((attribute) => attribute.hasErrors());\n }\n\n /**\n */\n updateValidations(errors: Array<Object>): AttributeCollection {\n this.all\n .filter((attribute) => attribute.hasDynamicValidationData)\n .forEach((attribute) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === attribute.key\n );\n attribute.updateValidations(attributeErrors);\n\n if (attribute instanceof CompositeAttributeModel) {\n const compositeChildErrors = errors.filter((error) => {\n const elementId = error.anchor?.elementid;\n return elementId && elementId.startsWith(`${attribute.key}.`);\n });\n\n attribute.children.updateValidations(\n `${attribute.key}.`,\n compositeChildErrors\n );\n }\n });\n\n return this;\n }\n\n /**\n */\n indicateContentConfiguration(\n contentConfiguration: ContentConfiguration\n ): void {\n if (contentConfiguration) {\n this.all.forEach((attribute) => {\n attribute.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n * Generate formdata object for current collection based on formdata of attributes\n * Skip attributes that are readonly, the confirmation password or null\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData(false);\n }\n\n /**\n */\n getFormData(validationData: boolean = false): { [string]: any } | null {\n const attributesFormData = this.attributes\n .filter(\n (attribute) =>\n attribute.formdata !== null &&\n !attribute.readonly &&\n (!validationData || attribute.hasDynamicValidationData)\n )\n .map((attribute) => {\n // make attribute empty when it is not (or no longer) visible\n if (attribute.isVisible) {\n return attribute.formdata;\n }\n\n return attribute.getEmptyFormData();\n });\n\n let data = {};\n attributesFormData.forEach((attributeFormData) => {\n // $FlowIgnore[cannot-spread-indexer]\n // $FlowIgnore[exponential-spread]\n data = {\n ...data,\n ...attributeFormData,\n };\n });\n\n return data;\n }\n}\n\nexport default AttributeCollection;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeCollection.js","names":["has","ResourceCollection","createAttribute","ChoiceAttributeModel","CompositeAttributeModel","ContentConfiguration","ConfigurationException","AttributeCollection","constructor","data","arguments","length","undefined","contributions","isReadonly","forEach","contribution","key","_Object$keys","attribute","readonly","collection","push","processLayoutHintRules","attributes","all","visible","_context","_filterInstanceProperty","call","isHidden","questions","_context2","isResult","results","_context3","getAttributeByAttribute","_context4","_findInstanceProperty","attr","equals","getChildByAttribute","getAttributeByKey","_context5","getChildByKey","hasAttributeByKey","getAttributeByLayoutHint","_context6","_len","hints","Array","_key","layouthint","getChoiceAttributeByLayoutHint","layoutHint","getAttributesByLayoutHint","_context7","_len2","_key2","replace","oldAttribute","newAttribute","replaceByKey","index","setReferenceDate","date","clone","referenceDate","hasServerErrors","some","addServerError","error","elementid","anchor","hasErrors","updateValidations","errors","_context8","hasDynamicValidationData","attributeErrors","compositeChildErrors","elementId","_startsWithInstanceProperty","children","indicateContentConfiguration","contentConfiguration","formdata","getFormData","_context9","_context10","validationData","attributesFormData","_mapInstanceProperty","isVisible","getEmptyFormData","attributeFormData"],"sources":["../../../src/models/attributes/AttributeCollection.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceCollection from \"../base/ResourceCollection\";\n\nimport createAttribute from \"./_createAttribute\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\n\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\n\nimport { ConfigurationException } from \"../../exceptions\";\n\nimport type { AttributeType, FormErrorAnchor } from \"../types\";\n\n/**\n * Collection of attributes\n */\nclass AttributeCollection extends ResourceCollection<AttributeType> {\n constructor(\n data: Object | Array<Object> = {},\n contributions: Array<Object> = [],\n isReadonly: boolean = false\n ) {\n super();\n\n if (contributions) {\n contributions.forEach((contribution) => {\n const [key] = Object.keys(contribution);\n\n const attribute = createAttribute(key, data, contribution[key]);\n\n if (attribute !== null) {\n // when readonly is not explicitly set in the contributions, follow argument\n if (isReadonly && !has(contribution[key], \"readonly\")) {\n attribute.readonly = true;\n }\n\n this.collection.push(attribute);\n }\n });\n\n this.processLayoutHintRules();\n }\n }\n\n /**\n * Retrieve all attributes in this collection<br>\n * This getter processes layout hints, this is different from the standard {@link BaseCollection#all} property\n * @returns {Array<AttributeType>}\n */\n get attributes(): Array<AttributeType> {\n this.processLayoutHintRules();\n return this.all;\n }\n\n /**\n * Replace attributes with a new array of attributes\n */\n set attributes(attributes: Array<AttributeType>) {\n this.collection = attributes;\n }\n\n /**\n */\n processLayoutHintRules(): void {\n this.all.forEach((attribute) => {\n attribute.processLayoutHintRules(this);\n });\n }\n\n /**\n * Retrieve only visible attributes from the collection\n */\n get visible(): Array<AttributeType> {\n // Let flow know that this is a AttributeCollection\n if (this instanceof AttributeCollection) {\n return this.attributes.filter((attribute) => !attribute.isHidden);\n }\n\n return [];\n }\n\n /**\n */\n get questions(): Array<AttributeType> {\n return this.visible.filter((attribute) => !attribute.isResult);\n }\n\n /**\n */\n get results(): Array<AttributeType> {\n return this.visible.filter((attribute) => attribute.isResult);\n }\n\n /**\n */\n getAttributeByAttribute(attribute: AttributeType): AttributeType | null {\n return this.find((attr) => {\n if (attr.equals(attribute)) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByAttribute(attribute);\n }\n\n return false;\n });\n }\n\n /**\n * Get a single attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this.find((attribute) => {\n if (attribute.key === key) {\n return true;\n } else if (attribute instanceof CompositeAttributeModel) {\n return attribute.getChildByKey(key);\n }\n\n return false;\n });\n }\n\n /**\n * Indicates if attribute with key exists in collection\n */\n hasAttributeByKey(key: string): boolean {\n return this.getAttributeByKey(key) !== null;\n }\n\n /**\n * Getting the first attribute having the supplied layout hint\n */\n getAttributeByLayoutHint(...hints: Array<string>): AttributeType | null {\n return this.find((attribute) => attribute.layouthint.has(...hints)) || null;\n }\n\n /**\n * Getting a choice attribute by layouthint, returns null when not found or not a choice attribute\n */\n getChoiceAttributeByLayoutHint(\n layoutHint: string\n ): ChoiceAttributeModel | null {\n const attribute = this.getAttributeByLayoutHint(layoutHint);\n\n return attribute instanceof ChoiceAttributeModel ? attribute : null;\n }\n\n /**\n * Getting all attributes having the supplied layout hint\n */\n getAttributesByLayoutHint(...hints: Array<string>): Array<AttributeType> {\n return this.filter((attribute) => attribute.layouthint.has(...hints));\n }\n\n /**\n * Replace an attribute instance in the collection with a new attribute instance\n */\n replace(oldAttribute: AttributeType, newAttribute: AttributeType): void {\n this.replaceByKey(oldAttribute.key, newAttribute);\n }\n\n /**\n * Replace an attribute by the key of the attribute\n */\n replaceByKey(key: string, newAttribute: AttributeType): void {\n this.forEach((attribute, index) => {\n if (attribute.key === key) {\n this.collection[index] = newAttribute;\n }\n });\n }\n\n /**\n * Set reference date by replacing an old attribute with a new attribute with a reference Date\n * Date is a string in ISO format yyyy-MM-dd\n */\n setReferenceDate(date: string): void {\n this.forEach((attribute) => {\n const newAttribute = attribute.clone();\n\n newAttribute.referenceDate = date;\n\n this.replace(attribute, newAttribute);\n });\n }\n\n /**\n */\n hasServerErrors(): boolean {\n return this.collection.some((attribute) => attribute.hasServerErrors());\n }\n\n /**\n */\n addServerError(error: FormErrorAnchor): void {\n const elementid = error?.anchor?.elementid;\n\n if (elementid) {\n const attribute = this.getAttributeByKey(elementid);\n if (attribute) {\n attribute.addServerError(error);\n } else {\n throw new ConfigurationException(\n `Could not add error to missing attribute with id ${elementid}`\n );\n }\n }\n }\n\n /**\n */\n hasErrors(): boolean {\n return this.visible.some((attribute) => attribute.hasErrors());\n }\n\n /**\n */\n updateValidations(errors: Array<Object>): AttributeCollection {\n this.all\n .filter((attribute) => attribute.hasDynamicValidationData)\n .forEach((attribute) => {\n const attributeErrors = errors.filter(\n (error) => error.anchor?.elementid === attribute.key\n );\n attribute.updateValidations(attributeErrors);\n\n if (attribute instanceof CompositeAttributeModel) {\n const compositeChildErrors = errors.filter((error) => {\n const elementId = error.anchor?.elementid;\n return elementId && elementId.startsWith(`${attribute.key}.`);\n });\n\n attribute.children.updateValidations(\n `${attribute.key}.`,\n compositeChildErrors\n );\n }\n });\n\n return this;\n }\n\n /**\n */\n indicateContentConfiguration(\n contentConfiguration: ContentConfiguration\n ): void {\n if (contentConfiguration) {\n this.all.forEach((attribute) => {\n attribute.indicateContentConfiguration(contentConfiguration);\n });\n }\n }\n\n /**\n * Generate formdata object for current collection based on formdata of attributes\n * Skip attributes that are readonly, the confirmation password or null\n */\n get formdata(): { [string]: any } | null {\n return this.getFormData(false);\n }\n\n /**\n */\n getFormData(validationData: boolean = false): { [string]: any } | null {\n const attributesFormData = this.attributes\n .filter(\n (attribute) =>\n attribute.formdata !== null &&\n !attribute.readonly &&\n (!validationData || attribute.hasDynamicValidationData)\n )\n .map((attribute) => {\n // make attribute empty when it is not (or no longer) visible\n if (attribute.isVisible) {\n return attribute.formdata;\n }\n\n return attribute.getEmptyFormData();\n });\n\n let data = {};\n attributesFormData.forEach((attributeFormData) => {\n // $FlowIgnore[cannot-spread-indexer]\n // $FlowIgnore[exponential-spread]\n data = {\n ...data,\n ...attributeFormData,\n };\n });\n\n return data;\n }\n}\n\nexport default AttributeCollection;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeContent.js","names":["retrieveText","hasAllContentInData","SectionModel","LayoutHintCollection","isPlainObject","AttributeContent","constructor","content","_defineProperty","_content","fromData","header","headerLabel","headerDescription","label","description","message","elements","_context","_context2","_mapInstanceProperty","_filterInstanceProperty","call","element","propertyElement","layouthint","properties","textFragmentElement","textfragments","textfragment","text","contentElement","sections","section","getContentElements","elementName","_context3","getContentElementCollections","collectionName","_context4","_context5","_flatInstanceProperty","getContentElementCollectionByLabels","labels","_context6","_context7","_context8","_includesInstanceProperty","getConceptPropertiesByLabels","getTextFragmentsByLabels","getSectionsByType","types","_context9","type","getSectionsByLabels","getReferredSections","referredSections","push"],"sources":["../../../src/models/attributes/AttributeContent.js"],"sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\n/**\n */\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements\n .filter((element) => element !== null)\n .map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeContent.js","names":["retrieveText","hasAllContentInData","SectionModel","LayoutHintCollection","isPlainObject","AttributeContent","constructor","content","_defineProperty","_content","fromData","header","headerLabel","headerDescription","label","description","message","elements","_context","_context2","_mapInstanceProperty","_filterInstanceProperty","call","element","propertyElement","layouthint","properties","textFragmentElement","textfragments","textfragment","text","contentElement","sections","section","getContentElements","elementName","_context3","getContentElementCollections","collectionName","_context4","_context5","_flatInstanceProperty","getContentElementCollectionByLabels","labels","_context6","_context7","_context8","_includesInstanceProperty","getConceptPropertiesByLabels","getTextFragmentsByLabels","getSectionsByType","types","_context9","type","getSectionsByLabels","getReferredSections","referredSections","push"],"sources":["../../../src/models/attributes/AttributeContent.js"],"sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\n/**\n */\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements\n .filter((element) => element !== null)\n .map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeDataHelper.js","names":["klona","pick","has","isPlainObject","AttributeDataHelper","constructor","data","key","childrenKeys","_defineProperty","_key","Array","isArray","_attribute","_findInstanceProperty","call","attr","elementid","name","param","_value","getValue","attributeData","_links","undefined","_children","createChildren","childData","parentKey","childKey","elements","_context","element","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","arguments","length","childrenIsArray","value","_context2","_mapInstanceProperty","attribute","_valuesInstanceProperty","suggestions","suggestion","options","_context3","_context4","_filterInstanceProperty","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","_Object$keys","getData","_context5","child","subChild"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = klona(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeDataHelper.js","names":["klona","pick","has","isPlainObject","AttributeDataHelper","constructor","data","key","childrenKeys","_defineProperty","_key","Array","isArray","_attribute","_findInstanceProperty","call","attr","elementid","name","param","_value","getValue","attributeData","_links","undefined","_children","createChildren","childData","parentKey","childKey","elements","_context","element","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","arguments","length","childrenIsArray","value","_context2","_mapInstanceProperty","attribute","_valuesInstanceProperty","suggestions","suggestion","options","_context3","_context4","_filterInstanceProperty","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","_Object$keys","getData","_context5","child","subChild"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = klona(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
|