@beinformed/ui 1.63.2 → 1.63.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/esm/constants/Settings.js +3 -14
- package/esm/constants/Settings.js.map +1 -1
- package/esm/exceptions/NotFoundException.js +1 -2
- package/esm/exceptions/NotFoundException.js.map +1 -1
- package/esm/hooks/useI18n.js +1 -6
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js +3 -4
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js +10 -30
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModularUI.js +4 -5
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js +7 -8
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/i18n/Locale.js +2 -5
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js +2 -5
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js +9 -10
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/withMessage.js +1 -6
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/models/actions/ActionCollection.js +3 -6
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js +1 -4
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +2 -2
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js +4 -14
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js +1 -2
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js +1 -5
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/CaptchaAttributeModel.js +2 -2
- package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +1 -3
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js +3 -9
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js +2 -8
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js +2 -2
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js +2 -2
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js +1 -2
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js +1 -2
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -4
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -6
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -4
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -2
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/base/BaseCollection.js +1 -2
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js +6 -9
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js +1 -2
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +2 -2
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js +1 -2
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js +1 -3
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js +1 -4
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js +1 -3
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js +1 -4
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js +7 -3
- package/esm/models/concepts/SourceReferenceModel.js.flow +6 -0
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +1 -3
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js +2 -2
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js +1 -2
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/error/ErrorModel.js +1 -3
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js +1 -4
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/form/FormModel.js +3 -9
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +2 -4
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/href/Href.js +3 -6
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/href/ListHref.js +1 -2
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js +3 -10
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js +6 -15
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/list/ListModel.js +2 -2
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCategoryCollection.js +1 -2
- package/esm/models/modelcatalog/ModelCategoryCollection.js.map +1 -1
- package/esm/models/parameter/Parameter.js +2 -4
- package/esm/models/parameter/Parameter.js.map +1 -1
- package/esm/models/resolveModel.js +1 -2
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js +1 -2
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/user/UserServicesModel.js +2 -2
- package/esm/models/user/UserServicesModel.js.map +1 -1
- package/esm/modularui/Authenticate.js +4 -6
- package/esm/modularui/Authenticate.js.flow +6 -6
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +1 -2
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/react/ErrorBoundary.js +2 -2
- package/esm/react/ErrorBoundary.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.js +13 -16
- package/esm/react/ErrorBoundaryFallback.js.map +1 -1
- package/esm/react/utils.js +1 -3
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/Init.js +20 -23
- package/esm/react-client/Init.js.map +1 -1
- package/esm/react-client/client.js +9 -13
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +9 -10
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js +7 -8
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/serverNoSSR.js +11 -12
- package/esm/react-server/serverNoSSR.js.map +1 -1
- package/esm/react-server/serverSSR.js +11 -12
- package/esm/react-server/serverSSR.js.map +1 -1
- package/esm/react-server/serverUtil.js +1 -3
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/ThemeProvider.js +7 -11
- package/esm/react-theme/ThemeProvider.js.map +1 -1
- package/esm/react-theme/createTheme.js +3 -10
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/utils/background.js +3 -4
- package/esm/react-theme/utils/background.js.map +1 -1
- package/esm/react-theme/utils/colors.js +7 -16
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js +11 -19
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js +10 -16
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js +15 -38
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js +7 -22
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js +5 -8
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js +19 -23
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js +4 -5
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js +14 -19
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js +1 -2
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js +1 -2
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/RouterReducer.js +1 -3
- package/esm/redux/_router/RouterReducer.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js +34 -37
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js +1 -2
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/Preferences.js +8 -15
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/connectors/CaseView.js +3 -6
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js +4 -7
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js +3 -6
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js +4 -7
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js +5 -8
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js +4 -5
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js +5 -8
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js +3 -6
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js +3 -6
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js +5 -6
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js +3 -6
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/Tab.js +3 -6
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js +1 -3
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js +1 -3
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js +1 -3
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/ModelCatalogReducer.js +1 -3
- package/esm/redux/reducers/ModelCatalogReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js +1 -3
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js +1 -3
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js +1 -3
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js +1 -3
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/utils/browser/Cache.js +1 -5
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js +45 -91
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/xhr.js +1 -2
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/repositoryResource.js +1 -3
- package/esm/utils/helpers/repositoryResource.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js +3 -4
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/number/DecimalFormat.js +1 -2
- package/esm/utils/number/DecimalFormat.js.map +1 -1
- package/esm/utils/number/formatValue.js +1 -4
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js +2 -6
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/constants/Settings.js +3 -14
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/NotFoundException.js +1 -2
- package/lib/exceptions/NotFoundException.js.map +1 -1
- package/lib/hooks/useI18n.js +1 -6
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js +3 -4
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js +10 -30
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModularUI.js +4 -5
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js +7 -8
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/i18n/Locale.js +2 -5
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js +2 -5
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js +9 -10
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/withMessage.js +1 -6
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/models/actions/ActionCollection.js +3 -6
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js +1 -4
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +2 -2
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js +4 -14
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js +1 -2
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js +1 -5
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js +2 -2
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +1 -3
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js +3 -9
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js +2 -8
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js +2 -2
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js +2 -2
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js +1 -2
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js +1 -2
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +1 -4
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +1 -6
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +1 -4
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +1 -2
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -2
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/base/BaseCollection.js +1 -2
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js +6 -9
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js +1 -2
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +2 -2
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +1 -2
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js +1 -3
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js +1 -4
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js +1 -3
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js +1 -4
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js +7 -3
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +1 -3
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js +2 -2
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js +1 -2
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/error/ErrorModel.js +1 -3
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js +1 -4
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/form/FormModel.js +3 -9
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +2 -4
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/href/Href.js +3 -6
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js +1 -2
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js +3 -10
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js +6 -15
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/list/ListModel.js +2 -2
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCategoryCollection.js +1 -2
- package/lib/models/modelcatalog/ModelCategoryCollection.js.map +1 -1
- package/lib/models/parameter/Parameter.js +2 -4
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/resolveModel.js +1 -2
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js +1 -2
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js +2 -2
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js +4 -6
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +1 -2
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/react/ErrorBoundary.js +2 -2
- package/lib/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js +13 -16
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react/utils.js +1 -3
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/Init.js +20 -23
- package/lib/react-client/Init.js.map +1 -1
- package/lib/react-client/client.js +9 -13
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js +9 -10
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js +7 -8
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/serverNoSSR.js +11 -12
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js +11 -12
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js +1 -3
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js +7 -11
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js +3 -10
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js +3 -4
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js +7 -16
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js +11 -19
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js +10 -16
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js +15 -38
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js +7 -22
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js +5 -8
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUIActions.js +19 -23
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js +4 -5
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js +14 -19
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js +1 -2
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js +1 -2
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/RouterReducer.js +1 -3
- package/lib/redux/_router/RouterReducer.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js +34 -37
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js +1 -2
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/Preferences.js +8 -15
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/connectors/CaseView.js +3 -6
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js +4 -7
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js +3 -6
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js +4 -7
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js +5 -8
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js +4 -5
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js +5 -8
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js +3 -6
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js +3 -6
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js +5 -6
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js +3 -6
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/Tab.js +3 -6
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js +1 -3
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js +1 -3
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js +1 -3
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/ModelCatalogReducer.js +1 -3
- package/lib/redux/reducers/ModelCatalogReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js +1 -3
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js +1 -3
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js +1 -3
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/store/beforeRenderHooks.js +1 -3
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/utils/browser/Cache.js +1 -5
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js +45 -91
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/xhr.js +1 -2
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/repositoryResource.js +1 -3
- package/lib/utils/helpers/repositoryResource.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js +3 -4
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js +1 -2
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/formatValue.js +1 -4
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js +2 -6
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +23 -23
- package/src/models/concepts/SourceReferenceModel.js +6 -0
- package/src/modularui/Authenticate.js +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_constants","ChoiceAttributeOptionCollection","ResourceCollection","constructor","modelOptions","_defineProperty2","default","_modelOptions","origin","contextPath","getBasePathModularUI","referenceDate","Date","toISOString","split","sortOptions","_sortOptions","collection","forEach","option","children","create","data","arguments","length","undefined","contributions","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionType","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","getOptionByCode","_context4","hasOptionByCode","some","deselectAll","_context5","newOption","clone","select","toggle","deselect","action","_context6","setReferenceDate","date","_context7","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","removeNotExistingOptions","newCollection","withOption","mergeOption","opt","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { getBasePathModularUI } from \"../../constants\";\n\nimport type { ChoiceAttributeOptionModelOptions } from \"./ChoiceAttributeOptionModel\";\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _modelOptions: ChoiceAttributeOptionModelOptions;\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n constructor(modelOptions?: ChoiceAttributeOptionModelOptions) {\n super();\n this._modelOptions = modelOptions || {\n origin: \"\",\n contextPath: getBasePathModularUI(),\n referenceDate: new Date().toISOString().split(\"T\")[0],\n };\n }\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection(modelOptions);\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key),\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(selectedValues, {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n optionType: contributions.optionType ?? \"generic\",\n });\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(selectedValues, {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n optionType: contributions.optionType ?? \"generic\",\n elementsContributions: contributions.children,\n });\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = [],\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const optionValue = value == null ? [] : [value.toString()];\n\n this.addBooleanOption(\"true\", \"Yes\", optionValue, contributions.options);\n this.addBooleanOption(\"false\", \"No\", optionValue, contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n this._modelOptions,\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n */\n getOptionByCode(code: string): ChoiceAttributeOptionModel | void {\n return this.collection.find((option) => option.code === code);\n }\n\n /**\n */\n hasOptionByCode(code: string): boolean {\n return this.collection.some((option) => option.code === code);\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false,\n removeNotExistingOptions: boolean = false,\n ) {\n const newCollection = [];\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code,\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n newCollection.push(option);\n } else if (!removeNotExistingOptions) {\n newCollection.push(option);\n }\n });\n\n if (addNotExistingOptions) {\n this.collection = [\n ...newCollection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code),\n ),\n ];\n } else {\n this.collection = newCollection;\n }\n }\n\n /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>,\n ) => any,\n thisArg?: any,\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_constants","ChoiceAttributeOptionCollection","ResourceCollection","constructor","modelOptions","_defineProperty2","default","_modelOptions","origin","contextPath","getBasePathModularUI","referenceDate","Date","toISOString","split","sortOptions","_sortOptions","collection","forEach","option","children","create","data","contributions","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionType","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","getOptionByCode","_context4","hasOptionByCode","some","deselectAll","_context5","newOption","clone","select","toggle","deselect","action","_context6","setReferenceDate","date","_context7","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","removeNotExistingOptions","newCollection","withOption","mergeOption","opt","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { getBasePathModularUI } from \"../../constants\";\n\nimport type { ChoiceAttributeOptionModelOptions } from \"./ChoiceAttributeOptionModel\";\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _modelOptions: ChoiceAttributeOptionModelOptions;\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n constructor(modelOptions?: ChoiceAttributeOptionModelOptions) {\n super();\n this._modelOptions = modelOptions || {\n origin: \"\",\n contextPath: getBasePathModularUI(),\n referenceDate: new Date().toISOString().split(\"T\")[0],\n };\n }\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection(modelOptions);\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key),\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(selectedValues, {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n optionType: contributions.optionType ?? \"generic\",\n });\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(selectedValues, {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n optionType: contributions.optionType ?? \"generic\",\n elementsContributions: contributions.children,\n });\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = [],\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const optionValue = value == null ? [] : [value.toString()];\n\n this.addBooleanOption(\"true\", \"Yes\", optionValue, contributions.options);\n this.addBooleanOption(\"false\", \"No\", optionValue, contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n this._modelOptions,\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n */\n getOptionByCode(code: string): ChoiceAttributeOptionModel | void {\n return this.collection.find((option) => option.code === code);\n }\n\n /**\n */\n hasOptionByCode(code: string): boolean {\n return this.collection.some((option) => option.code === code);\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false,\n removeNotExistingOptions: boolean = false,\n ) {\n const newCollection = [];\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code,\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n newCollection.push(option);\n } else if (!removeNotExistingOptions) {\n newCollection.push(option);\n }\n });\n\n if (addNotExistingOptions) {\n this.collection = [\n ...newCollection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code),\n ),\n ];\n } else {\n this.collection = newCollection;\n }\n }\n\n /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>,\n ) => any,\n thisArg?: any,\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,10 +25,7 @@ var _AttributeContent = _interopRequireDefault(require("./AttributeContent"));
|
|
|
25
25
|
class ChoiceAttributeOptionModel extends _BaseModel.default {
|
|
26
26
|
/**
|
|
27
27
|
*/
|
|
28
|
-
constructor() {
|
|
29
|
-
let selectedValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
30
|
-
let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
31
|
-
let modelOptions = arguments.length > 2 ? arguments[2] : undefined;
|
|
28
|
+
constructor(selectedValues = [], option = {}, modelOptions) {
|
|
32
29
|
super({}, option);
|
|
33
30
|
(0, _defineProperty2.default)(this, "_code", void 0);
|
|
34
31
|
(0, _defineProperty2.default)(this, "_isSelected", void 0);
|
|
@@ -203,10 +200,7 @@ class ChoiceAttributeOptionModel extends _BaseModel.default {
|
|
|
203
200
|
|
|
204
201
|
/**
|
|
205
202
|
*/
|
|
206
|
-
addChildren() {
|
|
207
|
-
let selectedValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
208
|
-
let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
209
|
-
let modelOptions = arguments.length > 2 ? arguments[2] : undefined;
|
|
203
|
+
addChildren(selectedValues = [], option = {}, modelOptions) {
|
|
210
204
|
// When contributions contain elements this is a list not nested options
|
|
211
205
|
if ((0, _objects.has)(option, "elements")) {
|
|
212
206
|
return new _ChoiceAttributeOptionCollection.default(modelOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAttributeOptionModel.js","names":["_BaseModel","_interopRequireDefault","require","_ChoiceAttributeOptionCollection","_objects","_Constants","_LayoutHints","_Settings","_LinkCollection","_AttributeCollection","_ConceptDetailModel","_AttributeContent","ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","arguments","length","undefined","option","modelOptions","_defineProperty2","default","code","contributions","key","_isSelected","_includes","call","_referenceDate","referenceDate","Date","toISOString","split","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","origin","contextPath","_content","AttributeContent","content","_isUser","optionType","createFromListItemModel","listitem","id","toString","attributeCollection","clone","links","isChoiceAttributeOptionModel","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","errors","conceptHref","href","concept","_find","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","isReadonly","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","_context","configuredLabels","_filter","getLabelElementByIds","configuredLabel","value","_context2","_map","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","avatarLink","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData","isUser","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type {\n IModelWithChildModels,\n ModelOptions,\n ModularUIModel,\n} from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\nexport type ChoiceAttributeOptionModelOptions = {\n ...ModelOptions,\n referenceDate: ISO_DATE,\n};\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n _isUser: boolean = false;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate =\n modelOptions?.referenceDate || new Date().toISOString().split(\"T\")[0];\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection(modelOptions);\n this._children = this.addChildren(selectedValues, option, modelOptions);\n\n this._links = new LinkCollection(\n this.contributions._links,\n {},\n { origin: modelOptions?.origin, contextPath: modelOptions?.contextPath },\n );\n\n this._content = new AttributeContent(option.content);\n\n this._isUser = option.optionType === \"user\";\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel,\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection.clone();\n option.links = listitem.links.clone();\n\n return option;\n }\n\n /**\n * Indicates that this a choice attribute option model, used when adding options to a choice attribute\n * @returns {boolean}\n */\n get isChoiceAttributeOptionModel(): boolean {\n return true;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref),\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models, errors);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, {\n origin: modelOptions?.origin,\n contextPath: modelOptions?.contextPath,\n isReadonly: true,\n });\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\",\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection(modelOptions);\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n modelOptions,\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate,\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n *\n */\n get avatarLink(): LinkModel | null {\n return this.links.getLinkByKey(\"avatar\");\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n\n /**\n */\n get isUser(): boolean {\n return this._isUser;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ChoiceAttributeOptionModel.js","names":["_BaseModel","_interopRequireDefault","require","_ChoiceAttributeOptionCollection","_objects","_Constants","_LayoutHints","_Settings","_LinkCollection","_AttributeCollection","_ConceptDetailModel","_AttributeContent","ChoiceAttributeOptionModel","BaseModel","constructor","selectedValues","option","modelOptions","_defineProperty2","default","code","contributions","key","_isSelected","_includes","call","_referenceDate","referenceDate","Date","toISOString","split","_level","_attributeCollection","createAttributeCollection","_children","addChildren","_links","LinkCollection","origin","contextPath","_content","AttributeContent","content","_isUser","optionType","createFromListItemModel","listitem","id","toString","attributeCollection","clone","links","isChoiceAttributeOptionModel","getInitialChildModelLinks","initialLinks","hasContentFromData","conceptLink","push","children","setChildModels","models","errors","conceptHref","href","concept","_find","model","selfhref","equalsWithParameters","_code","equals","getContribution","has","data","AttributeCollection","isReadonly","label","hasItems","title","getAttributeByLayoutHint","TITLE","readonlyvalue","first","getContentConfiguredLabel","contentConfiguration","configuredLabelProperties","labelConfig","types","length","_context","configuredLabels","_filter","getLabelElementByIds","configuredLabel","value","_context2","_map","configuredLabelProperty","some","_id","selected","count","ChoiceAttributeOptionCollection","create","options","date","getLinkByKey","addParameter","TIMEVERSION_FILTER_NAME","isCacheable","avatarLink","_concept","ConceptDetailModel","level","isBooleanType","hasAlternativeLabel","mergeOption","withOption","mergeOptions","hasAllContentInData","isUser","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\n\nimport { has } from \"../../utils/helpers/objects\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { TITLE } from \"../../constants/LayoutHints\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\nimport AttributeCollection from \"./AttributeCollection\";\nimport ConceptDetailModel from \"../concepts/ConceptDetailModel\";\nimport AttributeContent from \"./AttributeContent\";\n\nimport type {\n IModelWithChildModels,\n ModelOptions,\n ModularUIModel,\n} from \"../types\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\nexport type ChoiceAttributeOptionModelOptions = {\n ...ModelOptions,\n referenceDate: ISO_DATE,\n};\n\n/**\n */\nclass ChoiceAttributeOptionModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _code: string;\n _isSelected: boolean;\n _referenceDate: ISO_DATE;\n _level: number;\n _children: ChoiceAttributeOptionCollection;\n _concept: ?ConceptDetailModel;\n _links: LinkCollection;\n _attributeCollection: AttributeCollection;\n _content: AttributeContent;\n _isUser: boolean = false;\n\n /**\n */\n constructor(\n selectedValues: Array<string> = [],\n option: Object = {},\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ) {\n super({}, option);\n\n this.code = this.contributions.code ?? this.contributions.key ?? \"\";\n\n this._isSelected = selectedValues.includes(this.code);\n\n this._referenceDate =\n modelOptions?.referenceDate || new Date().toISOString().split(\"T\")[0];\n\n this._level = 0;\n\n this._attributeCollection = this.createAttributeCollection(modelOptions);\n this._children = this.addChildren(selectedValues, option, modelOptions);\n\n this._links = new LinkCollection(\n this.contributions._links,\n {},\n { origin: modelOptions?.origin, contextPath: modelOptions?.contextPath },\n );\n\n this._content = new AttributeContent(option.content);\n\n this._isUser = option.optionType === \"user\";\n }\n\n /**\n */\n static createFromListItemModel(\n listitem: ListItemModel,\n ): ChoiceAttributeOptionModel {\n const option = new ChoiceAttributeOptionModel();\n\n option.code = listitem.id.toString();\n option.attributeCollection = listitem.attributeCollection.clone();\n option.links = listitem.links.clone();\n\n return option;\n }\n\n /**\n * Indicates that this a choice attribute option model, used when adding options to a choice attribute\n * @returns {boolean}\n */\n get isChoiceAttributeOptionModel(): boolean {\n return true;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialLinks = [];\n\n if (!this.hasContentFromData && this.conceptLink !== null) {\n initialLinks.push(this.conceptLink);\n }\n\n if (this.children) {\n initialLinks.push(...this.children.getInitialChildModelLinks());\n }\n\n return initialLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n if (this.conceptLink !== null) {\n const conceptHref = this.conceptLink.href;\n\n this.concept = models.find((model) =>\n model.selfhref.equalsWithParameters(conceptHref),\n );\n }\n\n if (this.children) {\n this.children.setChildModels(models, errors);\n }\n }\n\n /**\n * Get code of option\n */\n get code(): string {\n return this._code;\n }\n\n /**\n */\n set code(code: string) {\n this._code = code;\n }\n\n /**\n */\n equals(model: ChoiceAttributeOptionModel): boolean {\n return this.code.toString() === model.code.toString();\n }\n\n /**\n * Retrieve attributes for Composite codemaps (e.g. table and case list codemaps)\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(attributeCollection: AttributeCollection) {\n this._attributeCollection = attributeCollection;\n }\n\n /**\n */\n createAttributeCollection(\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ): AttributeCollection {\n const contributions = this.getContribution(\"elementsContributions\", []);\n\n if (has(this.contributions, \"elements\")) {\n const data = this.getContribution(\"elements\", {});\n return new AttributeCollection(data, contributions, {\n origin: modelOptions?.origin,\n contextPath: modelOptions?.contextPath,\n isReadonly: true,\n });\n }\n\n return new AttributeCollection();\n }\n\n /**\n * Get label of option for simple codemaps (e.g. static codemap)\n */\n get label(): string {\n if (this.contributions.label) {\n return this.contributions.label;\n }\n\n if (this.attributeCollection.hasItems) {\n const title = this.attributeCollection.getAttributeByLayoutHint(TITLE);\n\n if (title) {\n return title.readonlyvalue;\n }\n\n if (this.attributeCollection.first) {\n return this.attributeCollection.first.readonlyvalue;\n }\n }\n\n return \"\";\n }\n\n /**\n * Retrieve the first permitted label to render when a concept and contentConfiguration is available\n * Be aware that permission could be in place for labels from a concept.\n */\n getContentConfiguredLabel(contentConfiguration: Object): string {\n const configuredLabelProperties =\n contentConfiguration?.labelConfig?.[0]?.types ?? [];\n\n if (\n !this.hasContentFromData &&\n this.concept &&\n configuredLabelProperties.length > 0\n ) {\n const configuredLabels = this.concept\n .getLabelElementByIds(configuredLabelProperties)\n .filter(\n (configuredLabel) =>\n configuredLabel.value && configuredLabel.value !== \"\",\n );\n\n if (configuredLabels.length > 0) {\n return configuredLabelProperties\n .filter((configuredLabelProperty) =>\n configuredLabels.some(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )\n .map((configuredLabelProperty) =>\n configuredLabels.find(\n (configuredLabel) =>\n configuredLabel._id === configuredLabelProperty,\n ),\n )[0].value;\n }\n }\n\n return this.label;\n }\n\n /**\n * Indicates if option is selected\n */\n get selected(): boolean {\n return this._isSelected;\n }\n\n /**\n * Set selected property of option\n */\n set selected(selected: boolean) {\n this._isSelected = selected;\n }\n\n /**\n * Retrieve count of filter for option\n */\n get count(): number | null {\n return this.getContribution(\"count\");\n }\n\n /**\n */\n addChildren(\n selectedValues: Array<string> = [],\n option: Object = {},\n modelOptions?: ChoiceAttributeOptionModelOptions,\n ): ChoiceAttributeOptionCollection {\n // When contributions contain elements this is a list not nested options\n if (has(option, \"elements\")) {\n return new ChoiceAttributeOptionCollection(modelOptions);\n }\n\n return ChoiceAttributeOptionCollection.create(\n {\n value: selectedValues,\n },\n { options: option?.children ?? [] },\n modelOptions,\n );\n }\n\n /**\n * get children of option\n */\n get children(): ChoiceAttributeOptionCollection {\n return this._children;\n }\n\n /**\n * Retrieve links of attribute\n */\n get links(): LinkCollection {\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * referenceDate received from attribute\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this._referenceDate = date;\n }\n\n /**\n * Retrieve concept link of attribute when available\n */\n get conceptLink(): LinkModel | null {\n const conceptLink = this.links.getLinkByKey(\"concept\");\n if (conceptLink !== null) {\n conceptLink.href = conceptLink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this.referenceDate,\n );\n\n conceptLink.isCacheable = true;\n }\n\n return conceptLink;\n }\n\n /**\n *\n */\n get avatarLink(): LinkModel | null {\n return this.links.getLinkByKey(\"avatar\");\n }\n\n /**\n * Get concept information\n */\n get concept(): ConceptDetailModel | null {\n return this._concept || null;\n }\n\n /**\n * Set the concept\n */\n set concept(concept: ?ModularUIModel) {\n this._concept = concept instanceof ConceptDetailModel ? concept : null;\n }\n\n /**\n * Get level of option, used in tree view choice attributes (taxonomy)\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Set level of option\n */\n set level(level: number) {\n this._level = level;\n }\n\n /**\n */\n get isBooleanType(): boolean {\n return this.getContribution(\"isBooleanType\", false);\n }\n\n /**\n */\n get hasAlternativeLabel(): boolean {\n return this.getContribution(\"hasAlternativeLabel\", false);\n }\n\n /**\n */\n mergeOption(withOption: ChoiceAttributeOptionModel) {\n this.concept = withOption.concept;\n\n if (this.children != null && withOption.children != null) {\n this.children.mergeOptions(withOption.children);\n }\n }\n\n /**\n * Indicates if content comes from the data service\n */\n get hasContentFromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get content(): AttributeContent {\n return this._content;\n }\n\n /**\n */\n get isUser(): boolean {\n return this._isUser;\n }\n}\n\nexport default ChoiceAttributeOptionModel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,8 +20,8 @@ var _LayoutHints = require("../../constants/LayoutHints");
|
|
|
20
20
|
* Password attribute
|
|
21
21
|
*/
|
|
22
22
|
class PasswordAttributeModel extends _StringAttributeModel.default {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...
|
|
23
|
+
constructor(...args) {
|
|
24
|
+
super(...args);
|
|
25
25
|
(0, _defineProperty2.default)(this, "_confirmValue", void 0);
|
|
26
26
|
(0, _defineProperty2.default)(this, "_isConfirmPassword", void 0);
|
|
27
27
|
(0, _defineProperty2.default)(this, "_otherLabel", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordAttributeModel.js","names":["_StringAttributeModel","_interopRequireDefault","require","_ConstraintCollection","_PasswordLowerAndUpperCaseConstraint","_PasswordThreeConsecutiveCharactersNotAllowedConstraint","_PasswordMinNumericCharactersConstraint","_PasswordMinSpecialCharactersConstraint","_RegexConstraint","_PasswordConfirmConstraint","_LayoutHints","PasswordAttributeModel","StringAttributeModel","constructor","arguments","_defineProperty2","default","isApplicableModel","contributions","layouthint","type","Array","isArray","_includes","call","update","value","updateLastModification","inputvalue","constraints","getContribution","upperAndLowerCaseMandatory","maxSequenceOfIdenticalCharacters","maxSequenceOfUsernameCharacters","minNumberOfNumericCharacters","minNumberOfSpecialCharacters","regexConstraints","regexConstraint","addConstraints","isConfirmPassword","getConfirmPasswordConstraints","getStandardPasswordConstraints","ConstraintCollection","add","PasswordConfirmConstraint","confirmValue","otherLabel","PasswordLowerAndUpperCaseConstraint","PasswordThreeConsecutiveCharactersNotAllowedConstraint","PasswordMinNumericCharactersConstraint","PasswordMinSpecialCharactersConstraint","length","forEach","RegexConstraint","has","CONFIRM_PASSWORD","constraintCollection","_isConfirmPassword","_confirmValue","validate","_otherLabel","useClientsideValidation","isOptionalAndEmpty","_isValid","_validatedValue","getFormData","inError","name","exports"],"sources":["../../../src/models/attributes/PasswordAttributeModel.js"],"sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport PasswordLowerAndUpperCaseConstraint from \"./input-constraints/PasswordLowerAndUpperCaseConstraint\";\nimport PasswordThreeConsecutiveCharactersNotAllowedConstraint from \"./input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint\";\nimport PasswordMinNumericCharactersConstraint from \"./input-constraints/PasswordMinNumericCharactersConstraint\";\nimport PasswordMinSpecialCharactersConstraint from \"./input-constraints/PasswordMinSpecialCharactersConstraint\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport PasswordConfirmConstraint from \"./input-constraints/PasswordConfirmConstraint\";\n\nimport { CONFIRM_PASSWORD } from \"../../constants/LayoutHints\";\n\nimport type { RegexObject } from \"./input-constraints/RegexConstraint\";\n\n/**\n * Password attribute\n */\nexport default class PasswordAttributeModel extends StringAttributeModel {\n _confirmValue: string;\n _isConfirmPassword: boolean;\n _otherLabel: string;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"password\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"password\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"password\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): PasswordAttributeModel {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get constraints(): Object {\n return this.getContribution(\"constraints\", {});\n }\n\n /**\n */\n get upperAndLowerCaseMandatory(): ?boolean {\n return this.constraints.upperAndLowerCaseMandatory;\n }\n\n /**\n */\n get maxSequenceOfIdenticalCharacters(): ?number {\n return this.constraints.maxSequenceOfIdenticalCharacters;\n }\n\n /**\n */\n get maxSequenceOfUsernameCharacters(): ?number {\n return this.constraints.maxSequenceOfUsernameCharacters;\n }\n\n /**\n */\n get minNumberOfNumericCharacters(): ?number {\n return this.constraints.minNumberOfNumericCharacters;\n }\n\n /**\n */\n get minNumberOfSpecialCharacters(): ?number {\n return this.constraints.minNumberOfSpecialCharacters;\n }\n\n /**\n */\n get regexConstraints(): ?Array<RegexObject> {\n return this.constraints.regexConstraint;\n }\n\n /**\n * Add password constraints\n */\n addConstraints(): ConstraintCollection {\n if (this.isConfirmPassword) {\n return this.getConfirmPasswordConstraints();\n }\n return this.getStandardPasswordConstraints();\n }\n\n /**\n * Constraints for a confirmation password\n */\n getConfirmPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n return constraints;\n }\n\n /**\n * Constrains for a standard password\n */\n getStandardPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.upperAndLowerCaseMandatory) {\n constraints.add(new PasswordLowerAndUpperCaseConstraint());\n }\n\n if (this.maxSequenceOfIdenticalCharacters) {\n constraints.add(\n new PasswordThreeConsecutiveCharactersNotAllowedConstraint(\n this.maxSequenceOfIdenticalCharacters,\n ),\n );\n }\n\n if (this.minNumberOfNumericCharacters) {\n constraints.add(\n new PasswordMinNumericCharactersConstraint(\n this.minNumberOfNumericCharacters,\n ),\n );\n }\n\n if (this.minNumberOfSpecialCharacters) {\n constraints.add(\n new PasswordMinSpecialCharactersConstraint(\n this.minNumberOfSpecialCharacters,\n ),\n );\n }\n\n if (this.regexConstraints && this.regexConstraints.length > 0) {\n this.regexConstraints.forEach((regexConstraint) => {\n constraints.add(new RegexConstraint(regexConstraint));\n });\n }\n\n if (\n this.layouthint.has(CONFIRM_PASSWORD) &&\n this.isConfirmPassword == null\n ) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n }\n\n return constraints;\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n if (this.isConfirmPassword) {\n // confirm password only needs local constraints, no server constraints\n return this.getConfirmPasswordConstraints();\n }\n\n return super.constraintCollection;\n }\n\n /**\n */\n get isConfirmPassword(): boolean | null {\n return this._isConfirmPassword;\n }\n\n /**\n */\n set isConfirmPassword(isConfirmPassword: boolean) {\n this._isConfirmPassword = isConfirmPassword;\n }\n\n /**\n */\n get confirmValue(): string {\n return this._confirmValue || \"\";\n }\n\n /**\n */\n set confirmValue(confirmValue: string) {\n this._confirmValue = confirmValue;\n\n this.validate(this.inputvalue);\n }\n\n /**\n */\n get otherLabel(): string {\n return this._otherLabel;\n }\n\n /**\n */\n set otherLabel(otherLabel: string) {\n this._otherLabel = otherLabel;\n }\n\n /**\n * Validate input\n */\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== `${this.confirmValue}-${value}`) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = `${this.confirmValue}-${value}`;\n\n return this._isValid;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n if (this.isConfirmPassword || this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PasswordAttributeModel.js","names":["_StringAttributeModel","_interopRequireDefault","require","_ConstraintCollection","_PasswordLowerAndUpperCaseConstraint","_PasswordThreeConsecutiveCharactersNotAllowedConstraint","_PasswordMinNumericCharactersConstraint","_PasswordMinSpecialCharactersConstraint","_RegexConstraint","_PasswordConfirmConstraint","_LayoutHints","PasswordAttributeModel","StringAttributeModel","constructor","args","_defineProperty2","default","isApplicableModel","contributions","layouthint","type","Array","isArray","_includes","call","update","value","updateLastModification","inputvalue","constraints","getContribution","upperAndLowerCaseMandatory","maxSequenceOfIdenticalCharacters","maxSequenceOfUsernameCharacters","minNumberOfNumericCharacters","minNumberOfSpecialCharacters","regexConstraints","regexConstraint","addConstraints","isConfirmPassword","getConfirmPasswordConstraints","getStandardPasswordConstraints","ConstraintCollection","add","PasswordConfirmConstraint","confirmValue","otherLabel","PasswordLowerAndUpperCaseConstraint","PasswordThreeConsecutiveCharactersNotAllowedConstraint","PasswordMinNumericCharactersConstraint","PasswordMinSpecialCharactersConstraint","length","forEach","RegexConstraint","has","CONFIRM_PASSWORD","constraintCollection","_isConfirmPassword","_confirmValue","validate","_otherLabel","useClientsideValidation","isOptionalAndEmpty","_isValid","_validatedValue","getFormData","inError","name","exports"],"sources":["../../../src/models/attributes/PasswordAttributeModel.js"],"sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport PasswordLowerAndUpperCaseConstraint from \"./input-constraints/PasswordLowerAndUpperCaseConstraint\";\nimport PasswordThreeConsecutiveCharactersNotAllowedConstraint from \"./input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint\";\nimport PasswordMinNumericCharactersConstraint from \"./input-constraints/PasswordMinNumericCharactersConstraint\";\nimport PasswordMinSpecialCharactersConstraint from \"./input-constraints/PasswordMinSpecialCharactersConstraint\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport PasswordConfirmConstraint from \"./input-constraints/PasswordConfirmConstraint\";\n\nimport { CONFIRM_PASSWORD } from \"../../constants/LayoutHints\";\n\nimport type { RegexObject } from \"./input-constraints/RegexConstraint\";\n\n/**\n * Password attribute\n */\nexport default class PasswordAttributeModel extends StringAttributeModel {\n _confirmValue: string;\n _isConfirmPassword: boolean;\n _otherLabel: string;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"password\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"password\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"password\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): PasswordAttributeModel {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get constraints(): Object {\n return this.getContribution(\"constraints\", {});\n }\n\n /**\n */\n get upperAndLowerCaseMandatory(): ?boolean {\n return this.constraints.upperAndLowerCaseMandatory;\n }\n\n /**\n */\n get maxSequenceOfIdenticalCharacters(): ?number {\n return this.constraints.maxSequenceOfIdenticalCharacters;\n }\n\n /**\n */\n get maxSequenceOfUsernameCharacters(): ?number {\n return this.constraints.maxSequenceOfUsernameCharacters;\n }\n\n /**\n */\n get minNumberOfNumericCharacters(): ?number {\n return this.constraints.minNumberOfNumericCharacters;\n }\n\n /**\n */\n get minNumberOfSpecialCharacters(): ?number {\n return this.constraints.minNumberOfSpecialCharacters;\n }\n\n /**\n */\n get regexConstraints(): ?Array<RegexObject> {\n return this.constraints.regexConstraint;\n }\n\n /**\n * Add password constraints\n */\n addConstraints(): ConstraintCollection {\n if (this.isConfirmPassword) {\n return this.getConfirmPasswordConstraints();\n }\n return this.getStandardPasswordConstraints();\n }\n\n /**\n * Constraints for a confirmation password\n */\n getConfirmPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n return constraints;\n }\n\n /**\n * Constrains for a standard password\n */\n getStandardPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.upperAndLowerCaseMandatory) {\n constraints.add(new PasswordLowerAndUpperCaseConstraint());\n }\n\n if (this.maxSequenceOfIdenticalCharacters) {\n constraints.add(\n new PasswordThreeConsecutiveCharactersNotAllowedConstraint(\n this.maxSequenceOfIdenticalCharacters,\n ),\n );\n }\n\n if (this.minNumberOfNumericCharacters) {\n constraints.add(\n new PasswordMinNumericCharactersConstraint(\n this.minNumberOfNumericCharacters,\n ),\n );\n }\n\n if (this.minNumberOfSpecialCharacters) {\n constraints.add(\n new PasswordMinSpecialCharactersConstraint(\n this.minNumberOfSpecialCharacters,\n ),\n );\n }\n\n if (this.regexConstraints && this.regexConstraints.length > 0) {\n this.regexConstraints.forEach((regexConstraint) => {\n constraints.add(new RegexConstraint(regexConstraint));\n });\n }\n\n if (\n this.layouthint.has(CONFIRM_PASSWORD) &&\n this.isConfirmPassword == null\n ) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n }\n\n return constraints;\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n if (this.isConfirmPassword) {\n // confirm password only needs local constraints, no server constraints\n return this.getConfirmPasswordConstraints();\n }\n\n return super.constraintCollection;\n }\n\n /**\n */\n get isConfirmPassword(): boolean | null {\n return this._isConfirmPassword;\n }\n\n /**\n */\n set isConfirmPassword(isConfirmPassword: boolean) {\n this._isConfirmPassword = isConfirmPassword;\n }\n\n /**\n */\n get confirmValue(): string {\n return this._confirmValue || \"\";\n }\n\n /**\n */\n set confirmValue(confirmValue: string) {\n this._confirmValue = confirmValue;\n\n this.validate(this.inputvalue);\n }\n\n /**\n */\n get otherLabel(): string {\n return this._otherLabel;\n }\n\n /**\n */\n set otherLabel(otherLabel: string) {\n this._otherLabel = otherLabel;\n }\n\n /**\n * Validate input\n */\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== `${this.confirmValue}-${value}`) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = `${this.confirmValue}-${value}`;\n\n return this._isValid;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n if (this.isConfirmPassword || this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,8 +20,8 @@ const UNCHANGED = "UNCHANGED";
|
|
|
20
20
|
* Upload attribute
|
|
21
21
|
*/
|
|
22
22
|
class UploadAttributeModel extends _StringAttributeModel.default {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...
|
|
23
|
+
constructor(...args) {
|
|
24
|
+
super(...args);
|
|
25
25
|
(0, _defineProperty2.default)(this, "_files", void 0);
|
|
26
26
|
(0, _defineProperty2.default)(this, "_initialTotalFileSize", void 0);
|
|
27
27
|
(0, _defineProperty2.default)(this, "_maxTotalFileSize", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadAttributeModel.js","names":["_ConstraintCollection","_interopRequireDefault","require","_StringAttributeModel","_FileExtensionConstraint","_FileSizeConstraint","UNCHANGED","UploadAttributeModel","StringAttributeModel","constructor","arguments","_defineProperty2","default","isApplicableModel","contributions","type","multiple","getContribution","initialTotalFileSize","_initialTotalFileSize","maxTotalFileSize","_maxTotalFileSize","currentFilesize","uploadedFileSize","maxFileSize","uploadMaxFileSize","_keys","files","length","accumulatedFileSize","forEach","fileName","file","size","uploadConstraints","_context","_context2","mimeTypes","allowedMimeTypes","_filter","call","mimeType","extensions","allowedExtensions","extension","fileTypes","_map","fileSize","isMaxTotal","undefined","acceptedFiles","_context3","_context4","_context5","addConstraints","constraints","ConstraintCollection","add","FileExtensionConstraint","hasFilesizeConstraint","FileSizeConstraint","_files","update","value","_context6","JSON","parse","inputvalue","token","join","error","updateLastModification","readonlyvalue","initvalue","toString","getValue","hasValue","_value","mergeAttribute","oldAttribute","isValid","_stringify","exports"],"sources":["../../../src/models/attributes/UploadAttributeModel.js"],"sourcesContent":["// @flow\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport FileExtensionConstraint from \"./input-constraints/FileExtensionConstraint\";\nimport FileSizeConstraint from \"./input-constraints/FileSizeConstraint\";\n\nimport type {\n AttributeType,\n FilesType,\n FiletypeConstraintsType,\n FilesizeConstraintsType,\n} from \"../types\";\n\nconst UNCHANGED = \"UNCHANGED\";\n\n/**\n * Upload attribute\n */\nexport default class UploadAttributeModel extends StringAttributeModel {\n _files: FilesType;\n _initialTotalFileSize: number;\n _maxTotalFileSize: number;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"binary\";\n }\n\n /**\n */\n get type(): string {\n return \"upload\";\n }\n\n /**\n * Retrieve single or multi upload\n */\n get multiple(): boolean {\n return this.getContribution(\"multiple\", false);\n }\n\n /**\n */\n get initialTotalFileSize(): number {\n return this._initialTotalFileSize || 0;\n }\n\n /**\n */\n set initialTotalFileSize(initialTotalFileSize: number) {\n this._initialTotalFileSize = initialTotalFileSize;\n }\n\n /**\n */\n get maxTotalFileSize(): number {\n return this._maxTotalFileSize;\n }\n\n /**\n */\n set maxTotalFileSize(maxTotalFileSize: number) {\n this._maxTotalFileSize = maxTotalFileSize;\n }\n\n /**\n */\n get currentFilesize(): number {\n return this.initialTotalFileSize + this.uploadedFileSize;\n }\n\n /**\n */\n get maxFileSize(): ?number {\n if (this.maxTotalFileSize) {\n const uploadMaxFileSize = this.maxTotalFileSize - this.currentFilesize;\n if (uploadMaxFileSize < 0) {\n return 0;\n }\n\n return uploadMaxFileSize;\n }\n\n return this.contributions.uploadMaxFileSize;\n }\n\n /**\n */\n get uploadedFileSize(): number {\n if (Object.keys(this.files).length === 0) {\n return 0;\n }\n\n let accumulatedFileSize = 0;\n Object.keys(this.files).forEach((fileName) => {\n const file = this.files[fileName];\n if (file.size) {\n accumulatedFileSize += file.size;\n }\n });\n return accumulatedFileSize;\n }\n\n /**\n * Upload constraints\n */\n get uploadConstraints(): {\n fileTypes: FiletypeConstraintsType,\n maxFileSize: FilesizeConstraintsType,\n acceptedFiles: Array<string>,\n } {\n const mimeTypes = this.contributions.allowedMimeTypes\n ? this.contributions.allowedMimeTypes.filter(\n (mimeType) => mimeType !== \"[...]\",\n )\n : [];\n const extensions = this.contributions.allowedExtensions\n ? this.contributions.allowedExtensions.filter(\n (extension) => extension !== \"[...]\",\n )\n : [];\n\n const fileTypes: FiletypeConstraintsType = extensions.map((extension) => ({\n extensions: [extension],\n mimeTypes,\n }));\n\n return {\n fileTypes,\n maxFileSize: {\n fileSize: this.maxFileSize,\n maxTotalFileSize: this.maxTotalFileSize,\n isMaxTotal: this.maxTotalFileSize !== undefined,\n },\n acceptedFiles: this.acceptedFiles,\n };\n }\n\n /**\n * Array of accepted file extensions and mime types.\n * Convenience method for accept attribute of file input html control\n */\n get acceptedFiles(): Array<string> {\n const mimeTypes = this.contributions.allowedMimeTypes\n ? this.contributions.allowedMimeTypes.filter(\n (mimeType) => mimeType !== \"[...]\",\n )\n : [];\n const extensions = this.contributions.allowedExtensions\n ? this.contributions.allowedExtensions\n .filter((extension) => extension !== \"[...]\")\n .map((extension) => `.${extension}`)\n : [];\n\n return [...extensions, ...mimeTypes];\n }\n\n /**\n * Add upload constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.uploadConstraints.fileTypes.length > 0) {\n constraints.add(\n new FileExtensionConstraint(this.uploadConstraints.fileTypes),\n );\n }\n\n const hasFilesizeConstraint =\n this.uploadConstraints.maxFileSize.isMaxTotal ||\n this.uploadConstraints.maxFileSize.fileSize !== undefined;\n\n if (hasFilesizeConstraint) {\n constraints.add(\n new FileSizeConstraint(this.uploadConstraints.maxFileSize),\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get files(): FilesType {\n return this._files || {};\n }\n\n /**\n */\n set files(files: FilesType) {\n this._files = files;\n }\n\n /**\n * Update the attribute\n */\n update(value: string): UploadAttributeModel {\n if (!value) {\n return this;\n }\n\n // parse to json and handle uploaded file\n // when the input value is a string but not json,\n // we assume that it is just a list of uploaded tokens and copy it as input value\n try {\n const files = JSON.parse(value);\n this.files = files;\n\n this.inputvalue = Object.keys(files)\n .map((fileName) => files[fileName].token)\n .join(\",\");\n } catch (error) {\n if (typeof value === \"string\") {\n this.inputvalue = value;\n }\n }\n\n this.updateLastModification();\n\n return this;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.initvalue) {\n return this.initvalue.toString();\n }\n\n return \"\";\n }\n\n /**\n * Getting the value of the attribute, return unchanged when the uploaded file has not changed\n */\n getValue(): any {\n if (!this.hasValue()) {\n return null;\n }\n\n if (this.initvalue === this.inputvalue) {\n return UNCHANGED;\n }\n\n return this._value;\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n if (\n oldAttribute instanceof UploadAttributeModel &&\n oldAttribute.isValid &&\n oldAttribute.inputvalue !== null\n ) {\n this.update(JSON.stringify(oldAttribute.files));\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"UploadAttributeModel.js","names":["_ConstraintCollection","_interopRequireDefault","require","_StringAttributeModel","_FileExtensionConstraint","_FileSizeConstraint","UNCHANGED","UploadAttributeModel","StringAttributeModel","constructor","args","_defineProperty2","default","isApplicableModel","contributions","type","multiple","getContribution","initialTotalFileSize","_initialTotalFileSize","maxTotalFileSize","_maxTotalFileSize","currentFilesize","uploadedFileSize","maxFileSize","uploadMaxFileSize","_keys","files","length","accumulatedFileSize","forEach","fileName","file","size","uploadConstraints","_context","_context2","mimeTypes","allowedMimeTypes","_filter","call","mimeType","extensions","allowedExtensions","extension","fileTypes","_map","fileSize","isMaxTotal","undefined","acceptedFiles","_context3","_context4","_context5","addConstraints","constraints","ConstraintCollection","add","FileExtensionConstraint","hasFilesizeConstraint","FileSizeConstraint","_files","update","value","_context6","JSON","parse","inputvalue","token","join","error","updateLastModification","readonlyvalue","initvalue","toString","getValue","hasValue","_value","mergeAttribute","oldAttribute","isValid","_stringify","exports"],"sources":["../../../src/models/attributes/UploadAttributeModel.js"],"sourcesContent":["// @flow\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport FileExtensionConstraint from \"./input-constraints/FileExtensionConstraint\";\nimport FileSizeConstraint from \"./input-constraints/FileSizeConstraint\";\n\nimport type {\n AttributeType,\n FilesType,\n FiletypeConstraintsType,\n FilesizeConstraintsType,\n} from \"../types\";\n\nconst UNCHANGED = \"UNCHANGED\";\n\n/**\n * Upload attribute\n */\nexport default class UploadAttributeModel extends StringAttributeModel {\n _files: FilesType;\n _initialTotalFileSize: number;\n _maxTotalFileSize: number;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"binary\";\n }\n\n /**\n */\n get type(): string {\n return \"upload\";\n }\n\n /**\n * Retrieve single or multi upload\n */\n get multiple(): boolean {\n return this.getContribution(\"multiple\", false);\n }\n\n /**\n */\n get initialTotalFileSize(): number {\n return this._initialTotalFileSize || 0;\n }\n\n /**\n */\n set initialTotalFileSize(initialTotalFileSize: number) {\n this._initialTotalFileSize = initialTotalFileSize;\n }\n\n /**\n */\n get maxTotalFileSize(): number {\n return this._maxTotalFileSize;\n }\n\n /**\n */\n set maxTotalFileSize(maxTotalFileSize: number) {\n this._maxTotalFileSize = maxTotalFileSize;\n }\n\n /**\n */\n get currentFilesize(): number {\n return this.initialTotalFileSize + this.uploadedFileSize;\n }\n\n /**\n */\n get maxFileSize(): ?number {\n if (this.maxTotalFileSize) {\n const uploadMaxFileSize = this.maxTotalFileSize - this.currentFilesize;\n if (uploadMaxFileSize < 0) {\n return 0;\n }\n\n return uploadMaxFileSize;\n }\n\n return this.contributions.uploadMaxFileSize;\n }\n\n /**\n */\n get uploadedFileSize(): number {\n if (Object.keys(this.files).length === 0) {\n return 0;\n }\n\n let accumulatedFileSize = 0;\n Object.keys(this.files).forEach((fileName) => {\n const file = this.files[fileName];\n if (file.size) {\n accumulatedFileSize += file.size;\n }\n });\n return accumulatedFileSize;\n }\n\n /**\n * Upload constraints\n */\n get uploadConstraints(): {\n fileTypes: FiletypeConstraintsType,\n maxFileSize: FilesizeConstraintsType,\n acceptedFiles: Array<string>,\n } {\n const mimeTypes = this.contributions.allowedMimeTypes\n ? this.contributions.allowedMimeTypes.filter(\n (mimeType) => mimeType !== \"[...]\",\n )\n : [];\n const extensions = this.contributions.allowedExtensions\n ? this.contributions.allowedExtensions.filter(\n (extension) => extension !== \"[...]\",\n )\n : [];\n\n const fileTypes: FiletypeConstraintsType = extensions.map((extension) => ({\n extensions: [extension],\n mimeTypes,\n }));\n\n return {\n fileTypes,\n maxFileSize: {\n fileSize: this.maxFileSize,\n maxTotalFileSize: this.maxTotalFileSize,\n isMaxTotal: this.maxTotalFileSize !== undefined,\n },\n acceptedFiles: this.acceptedFiles,\n };\n }\n\n /**\n * Array of accepted file extensions and mime types.\n * Convenience method for accept attribute of file input html control\n */\n get acceptedFiles(): Array<string> {\n const mimeTypes = this.contributions.allowedMimeTypes\n ? this.contributions.allowedMimeTypes.filter(\n (mimeType) => mimeType !== \"[...]\",\n )\n : [];\n const extensions = this.contributions.allowedExtensions\n ? this.contributions.allowedExtensions\n .filter((extension) => extension !== \"[...]\")\n .map((extension) => `.${extension}`)\n : [];\n\n return [...extensions, ...mimeTypes];\n }\n\n /**\n * Add upload constraints\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.uploadConstraints.fileTypes.length > 0) {\n constraints.add(\n new FileExtensionConstraint(this.uploadConstraints.fileTypes),\n );\n }\n\n const hasFilesizeConstraint =\n this.uploadConstraints.maxFileSize.isMaxTotal ||\n this.uploadConstraints.maxFileSize.fileSize !== undefined;\n\n if (hasFilesizeConstraint) {\n constraints.add(\n new FileSizeConstraint(this.uploadConstraints.maxFileSize),\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get files(): FilesType {\n return this._files || {};\n }\n\n /**\n */\n set files(files: FilesType) {\n this._files = files;\n }\n\n /**\n * Update the attribute\n */\n update(value: string): UploadAttributeModel {\n if (!value) {\n return this;\n }\n\n // parse to json and handle uploaded file\n // when the input value is a string but not json,\n // we assume that it is just a list of uploaded tokens and copy it as input value\n try {\n const files = JSON.parse(value);\n this.files = files;\n\n this.inputvalue = Object.keys(files)\n .map((fileName) => files[fileName].token)\n .join(\",\");\n } catch (error) {\n if (typeof value === \"string\") {\n this.inputvalue = value;\n }\n }\n\n this.updateLastModification();\n\n return this;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.initvalue) {\n return this.initvalue.toString();\n }\n\n return \"\";\n }\n\n /**\n * Getting the value of the attribute, return unchanged when the uploaded file has not changed\n */\n getValue(): any {\n if (!this.hasValue()) {\n return null;\n }\n\n if (this.initvalue === this.inputvalue) {\n return UNCHANGED;\n }\n\n return this._value;\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n if (\n oldAttribute instanceof UploadAttributeModel &&\n oldAttribute.isValid &&\n oldAttribute.inputvalue !== null\n ) {\n this.update(JSON.stringify(oldAttribute.files));\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,8 +16,7 @@ class ConstraintCollection extends _BaseCollection.default {
|
|
|
16
16
|
/**
|
|
17
17
|
* Add constraint
|
|
18
18
|
*/
|
|
19
|
-
addConstraint(id, validateMethod, defaultMessage, data) {
|
|
20
|
-
let useClientsideValidation = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : (0, _Settings.getSetting)("USE_CLIENTSIDE_VALIDATION");
|
|
19
|
+
addConstraint(id, validateMethod, defaultMessage, data, useClientsideValidation = (0, _Settings.getSetting)("USE_CLIENTSIDE_VALIDATION")) {
|
|
21
20
|
this.add(new _ConstraintModel.default(id, validateMethod, defaultMessage, data, useClientsideValidation));
|
|
22
21
|
}
|
|
23
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstraintCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_ConstraintModel","_Settings","ConstraintCollection","BaseCollection","addConstraint","id","validateMethod","defaultMessage","data","useClientsideValidation","
|
|
1
|
+
{"version":3,"file":"ConstraintCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_ConstraintModel","_Settings","ConstraintCollection","BaseCollection","addConstraint","id","validateMethod","defaultMessage","data","useClientsideValidation","getSetting","add","ConstraintModel","validate","value","isEmpty","collection","every","constraint","hasMandatoryConstraint","some","isMandatoryConstraint","invalidConstraints","_context","_filter","default","call","exports"],"sources":["../../../../src/models/attributes/input-constraints/ConstraintCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../../base/BaseCollection\";\nimport ConstraintModel from \"./ConstraintModel\";\n\nimport { getSetting } from \"../../../constants/Settings\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n * Attribute constraints\n */\nexport default class ConstraintCollection extends BaseCollection<IConstraintModel> {\n /**\n * Add constraint\n */\n addConstraint(\n id: string,\n validateMethod: ?Function,\n defaultMessage: ?string,\n data: ?Object,\n useClientsideValidation: boolean = getSetting(\"USE_CLIENTSIDE_VALIDATION\"),\n ) {\n this.add(\n new ConstraintModel(\n id,\n validateMethod,\n defaultMessage,\n data,\n useClientsideValidation,\n ),\n );\n }\n\n /**\n * Validate if complete collection is valid\n */\n validate(value: any): boolean {\n return (\n this.isEmpty ||\n this.collection.every((constraint) => constraint.validate(value))\n );\n }\n\n /**\n * Indicates if a mandatory constraint exists in the collection\n */\n hasMandatoryConstraint(): boolean {\n return this.collection.some(\n (constraint) => constraint.isMandatoryConstraint,\n );\n }\n\n /**\n * Retrieve all invalid constraints\n */\n invalidConstraints(value: any): Array<IConstraintModel> {\n if (value === \"\" && !this.hasMandatoryConstraint()) {\n return [];\n }\n\n return this.collection.filter(\n (constraint) => constraint.validate(value) === false,\n );\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAIA;AACA;AACA;AACe,MAAMG,oBAAoB,SAASC,uBAAc,CAAmB;EACjF;AACF;AACA;EACEC,aAAaA,CACXC,EAAU,EACVC,cAAyB,EACzBC,cAAuB,EACvBC,IAAa,EACbC,uBAAgC,GAAG,IAAAC,oBAAU,EAAC,2BAA2B,CAAC,EAC1E;IACA,IAAI,CAACC,GAAG,CACN,IAAIC,wBAAe,CACjBP,EAAE,EACFC,cAAc,EACdC,cAAc,EACdC,IAAI,EACJC,uBACF,CACF,CAAC;EACH;;EAEA;AACF;AACA;EACEI,QAAQA,CAACC,KAAU,EAAW;IAC5B,OACE,IAAI,CAACC,OAAO,IACZ,IAAI,CAACC,UAAU,CAACC,KAAK,CAAEC,UAAU,IAAKA,UAAU,CAACL,QAAQ,CAACC,KAAK,CAAC,CAAC;EAErE;;EAEA;AACF;AACA;EACEK,sBAAsBA,CAAA,EAAY;IAChC,OAAO,IAAI,CAACH,UAAU,CAACI,IAAI,CACxBF,UAAU,IAAKA,UAAU,CAACG,qBAC7B,CAAC;EACH;;EAEA;AACF;AACA;EACEC,kBAAkBA,CAACR,KAAU,EAA2B;IAAA,IAAAS,QAAA;IACtD,IAAIT,KAAK,KAAK,EAAE,IAAI,CAAC,IAAI,CAACK,sBAAsB,CAAC,CAAC,EAAE;MAClD,OAAO,EAAE;IACX;IAEA,OAAO,IAAAK,OAAA,CAAAC,OAAA,EAAAF,QAAA,OAAI,CAACP,UAAU,EAAAU,IAAA,CAAAH,QAAA,EACnBL,UAAU,IAAKA,UAAU,CAACL,QAAQ,CAACC,KAAK,CAAC,KAAK,KACjD,CAAC;EACH;AACF;AAACa,OAAA,CAAAF,OAAA,GAAAvB,oBAAA","ignoreList":[]}
|
|
@@ -12,8 +12,7 @@ var _Settings = require("../../../constants/Settings");
|
|
|
12
12
|
class ConstraintModel {
|
|
13
13
|
/**
|
|
14
14
|
*/
|
|
15
|
-
constructor(id, validateMethod, defaultMessage, parameters) {
|
|
16
|
-
let useClientsideValidation = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : (0, _Settings.getSetting)("USE_CLIENTSIDE_VALIDATION");
|
|
15
|
+
constructor(id, validateMethod, defaultMessage, parameters, useClientsideValidation = (0, _Settings.getSetting)("USE_CLIENTSIDE_VALIDATION")) {
|
|
17
16
|
(0, _defineProperty2.default)(this, "_id", void 0);
|
|
18
17
|
(0, _defineProperty2.default)(this, "_validateMethod", void 0);
|
|
19
18
|
(0, _defineProperty2.default)(this, "_defaultMessage", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstraintModel.js","names":["_Settings","require","ConstraintModel","constructor","id","validateMethod","defaultMessage","parameters","useClientsideValidation","
|
|
1
|
+
{"version":3,"file":"ConstraintModel.js","names":["_Settings","require","ConstraintModel","constructor","id","validateMethod","defaultMessage","parameters","useClientsideValidation","getSetting","_defineProperty2","default","_id","_validateMethod","_defaultMessage","_parameters","_useClientsideValidation","hasValidation","validate","value","isMandatoryConstraint","exports"],"sources":["../../../../src/models/attributes/input-constraints/ConstraintModel.js"],"sourcesContent":["// @flow\nimport { getSetting } from \"../../../constants/Settings\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nexport default class ConstraintModel implements IConstraintModel {\n _id: string;\n _validateMethod: ?(value: any) => boolean;\n _defaultMessage: ?string;\n _parameters: ?Object;\n _useClientsideValidation: boolean;\n\n /**\n */\n constructor(\n id: string,\n validateMethod: ?Function,\n defaultMessage: ?string,\n parameters: ?Object,\n useClientsideValidation: boolean = getSetting(\"USE_CLIENTSIDE_VALIDATION\"),\n ) {\n this._id = id;\n this._validateMethod = validateMethod;\n this._defaultMessage = defaultMessage;\n this._parameters = parameters;\n this._useClientsideValidation = useClientsideValidation;\n }\n\n /**\n * Retreive type of constraint\n */\n get id(): string {\n return this._id;\n }\n\n /**\n */\n get defaultMessage(): string {\n return this._defaultMessage || \"Missing default message\";\n }\n\n /**\n * Returns available data for constraint\n */\n get parameters(): ?Object {\n return this._parameters;\n }\n\n /**\n * Inidicates if validation message is present\n */\n hasValidation(): boolean {\n return this._validateMethod != null;\n }\n\n /**\n * Validate constraint with value\n */\n validate(value: any): boolean {\n const validateMethod = this._validateMethod;\n\n if (this._useClientsideValidation && validateMethod) {\n return validateMethod(value);\n }\n\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return this._id === \"mandatory\" || this._id === \"Constraint.Mandatory\";\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACe,MAAMC,eAAe,CAA6B;EAO/D;AACF;EACEC,WAAWA,CACTC,EAAU,EACVC,cAAyB,EACzBC,cAAuB,EACvBC,UAAmB,EACnBC,uBAAgC,GAAG,IAAAC,oBAAU,EAAC,2BAA2B,CAAC,EAC1E;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACA,IAAI,CAACC,GAAG,GAAGR,EAAE;IACb,IAAI,CAACS,eAAe,GAAGR,cAAc;IACrC,IAAI,CAACS,eAAe,GAAGR,cAAc;IACrC,IAAI,CAACS,WAAW,GAAGR,UAAU;IAC7B,IAAI,CAACS,wBAAwB,GAAGR,uBAAuB;EACzD;;EAEA;AACF;AACA;EACE,IAAIJ,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACQ,GAAG;EACjB;;EAEA;AACF;EACE,IAAIN,cAAcA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACQ,eAAe,IAAI,yBAAyB;EAC1D;;EAEA;AACF;AACA;EACE,IAAIP,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACQ,WAAW;EACzB;;EAEA;AACF;AACA;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACJ,eAAe,IAAI,IAAI;EACrC;;EAEA;AACF;AACA;EACEK,QAAQA,CAACC,KAAU,EAAW;IAC5B,MAAMd,cAAc,GAAG,IAAI,CAACQ,eAAe;IAE3C,IAAI,IAAI,CAACG,wBAAwB,IAAIX,cAAc,EAAE;MACnD,OAAOA,cAAc,CAACc,KAAK,CAAC;IAC9B;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,IAAI,CAACR,GAAG,KAAK,WAAW,IAAI,IAAI,CAACA,GAAG,KAAK,sBAAsB;EACxE;AACF;AAACS,OAAA,CAAAV,OAAA,GAAAT,eAAA","ignoreList":[]}
|
|
@@ -20,11 +20,8 @@ const ABOVE_MAXIMUM_ID = "Constraint.Date.AboveMaximum";
|
|
|
20
20
|
class DateBoundaryConstraint {
|
|
21
21
|
/**
|
|
22
22
|
*/
|
|
23
|
-
constructor(type) {
|
|
23
|
+
constructor(type, minDate = null, maxDate = null, format = "yyyy-MM-dd") {
|
|
24
24
|
var _context;
|
|
25
|
-
let minDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
26
|
-
let maxDate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
27
|
-
let format = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "yyyy-MM-dd";
|
|
28
25
|
(0, _defineProperty2.default)(this, "_type", void 0);
|
|
29
26
|
(0, _defineProperty2.default)(this, "_format", void 0);
|
|
30
27
|
(0, _defineProperty2.default)(this, "_formatNoOffset", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","_constants","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","_context","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_formatNoOffset","_trim","replace","DATETIME_OFFSET_FORMAT","call","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\nimport { DATETIME_OFFSET_FORMAT } from \"../../../constants\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatNoOffset: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, \"\").trim();\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","_constants","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","maxDate","format","_context","_defineProperty2","default","_type","_format","_formatNoOffset","_trim","replace","DATETIME_OFFSET_FORMAT","call","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\nimport { DATETIME_OFFSET_FORMAT } from \"../../../constants\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatNoOffset: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, \"\").trim();\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,12 +18,7 @@ const ABOVE_MAXIMUM_ID = "Constraint.Number.AboveMaximum";
|
|
|
18
18
|
class NumberBoundaryConstraint {
|
|
19
19
|
/**
|
|
20
20
|
*/
|
|
21
|
-
constructor() {
|
|
22
|
-
let minNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
23
|
-
let maxNumber = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
24
|
-
let groupingSeparator = arguments.length > 2 ? arguments[2] : undefined;
|
|
25
|
-
let decimalSeparator = arguments.length > 3 ? arguments[3] : undefined;
|
|
26
|
-
let format = arguments.length > 4 ? arguments[4] : undefined;
|
|
21
|
+
constructor(minNumber = null, maxNumber = null, groupingSeparator, decimalSeparator, format) {
|
|
27
22
|
(0, _defineProperty2.default)(this, "_minNumber", void 0);
|
|
28
23
|
(0, _defineProperty2.default)(this, "_maxNumber", void 0);
|
|
29
24
|
(0, _defineProperty2.default)(this, "_groupingSeparator", ",");
|