@beinformed/ui 1.31.0 → 1.31.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/NetworkException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/hooks/useAllFormsOnModel.js.map +1 -1
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useContent.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/hooks/useNotification.js.map +1 -1
- package/esm/hooks/usePreference.js +8 -2
- package/esm/hooks/usePreference.js.map +1 -1
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js +8 -0
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/content/SubSectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorCollection.js.map +1 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/links/normalizeLinkJSON.js.map +1 -1
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/paging/PagingModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/types.js.map +1 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/modularui/CaptchaRequest.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/UploadRequest.js.map +1 -1
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/client.js +1 -0
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/react-client/rehydrate.js.map +1 -1
- package/esm/react-server/createSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/requestInformation.js.map +1 -1
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/I18nActions.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/RouterActions.js.map +1 -1
- package/esm/redux/_router/RouterConnectors.js.map +1 -1
- package/esm/redux/_router/RouterReducer.js.map +1 -1
- package/esm/redux/actions/Application.js.map +1 -1
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/redux/actions/Error.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/esm/redux/actions/FormAutosave.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/FormValidations.js.map +1 -1
- package/esm/redux/actions/Notification.js.map +1 -1
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/actions/ProgressIndicator.js.map +1 -1
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/esm/redux/connectors/Application.js.map +1 -1
- package/esm/redux/connectors/Breadcrumb.js.map +1 -1
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/Modal.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/Notification.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/Preferences.js.map +1 -1
- package/esm/redux/connectors/Progress.js.map +1 -1
- package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/SignIn.js.map +1 -1
- package/esm/redux/connectors/SignOut.js.map +1 -1
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/helpers/text.js.map +1 -1
- package/esm/utils/number/DecimalFormat.js.map +1 -1
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/builder/__tests__/mergeLayoutHintConfigurations.spec.js.flow +4 -4
- package/lib/builder/mergeLayoutHintConfigurations.js.flow +3 -3
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/LayoutHints.js.flow +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js.flow +2 -2
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/FetchException.js.flow +2 -2
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/exceptions/NetworkException.js.flow +1 -1
- package/lib/exceptions/NetworkException.js.map +1 -1
- package/lib/exceptions/UnauthorizedException.js.flow +1 -1
- package/lib/exceptions/UnauthorizedException.js.map +1 -1
- package/lib/hooks/__tests__/UseModularUIModel.spec.js.flow +9 -9
- package/lib/hooks/__tests__/useAuthentication.spec.js.flow +2 -2
- package/lib/hooks/__tests__/useForm.spec.js.flow +2 -2
- package/lib/hooks/__tests__/useModelCatalog.spec.js.flow +7 -7
- package/lib/hooks/__tests__/useModularUIBasic.spec.js.flow +2 -2
- package/lib/hooks/__tests__/usePreference.spec.js.flow +1 -1
- package/lib/hooks/useAllFormsOnModel.js.flow +2 -2
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js.flow +2 -2
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js.flow +1 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js.flow +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.flow +4 -4
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js.flow +3 -3
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js.flow +2 -2
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.flow +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModularUI.js.flow +1 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js.flow +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.flow +1 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js.flow +1 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js.flow +2 -2
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js +8 -2
- package/lib/hooks/usePreference.js.flow +17 -7
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/i18n/Locale.js.flow +4 -4
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js.flow +8 -8
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js.flow +2 -2
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/__tests__/Locale.spec.js.flow +3 -3
- package/lib/i18n/__tests__/Locales.spec.js.flow +15 -13
- package/lib/i18n/withMessage.js.flow +4 -4
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/models/actions/ActionCollection.js.flow +4 -4
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js.flow +4 -4
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/actions/__tests__/ActionCollection.spec.js.flow +3 -3
- package/lib/models/actions/__tests__/ActionModel.spec.js.flow +1 -1
- package/lib/models/application/ApplicationModel.js.flow +3 -3
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.flow +7 -7
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.flow +9 -9
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.flow +9 -9
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.flow +24 -24
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.flow +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.flow +4 -4
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.flow +7 -7
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +15 -15
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js +8 -0
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +19 -11
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +10 -10
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.flow +7 -7
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.flow +6 -6
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.flow +9 -9
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js.flow +8 -8
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.flow +3 -3
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js.flow +5 -5
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/__tests__/AttributeCollection.spec.js.flow +11 -11
- package/lib/models/attributes/__tests__/AttributeContent.spec.js.flow +7 -7
- package/lib/models/attributes/__tests__/AttributeModel.spec.js.flow +5 -5
- package/lib/models/attributes/__tests__/AttributeSetModel.spec.js.flow +2 -2
- package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/ChoiceAttributeModel.spec.js.flow +8 -8
- package/lib/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js.flow +8 -8
- package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/DateAttributeModel.spec.js.flow +4 -4
- package/lib/models/attributes/__tests__/DatetimeAttributeModel.spec.js.flow +11 -11
- package/lib/models/attributes/__tests__/HelptextAttributeModel.spec.js.flow +3 -3
- package/lib/models/attributes/__tests__/MemoAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/MoneyAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/NumberAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/PasswordAttributeModel.spec.js.flow +1 -1
- package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +4 -4
- package/lib/models/attributes/__tests__/TimeAttributeModel.spec.js.flow +2 -2
- package/lib/models/attributes/__tests__/TimestampModel.spec.js.flow +2 -2
- package/lib/models/attributes/__tests__/UploadAttributeModel.spec.js.flow +4 -4
- package/lib/models/attributes/__tests__/_createAttribute.spec.js.flow +6 -6
- package/lib/models/attributes/__tests__/createAttributeComposite.spec.js.flow +3 -3
- package/lib/models/attributes/__tests__/createAttributeDynamicSchema.spec.js.flow +3 -3
- package/lib/models/attributes/_createAttribute.js.flow +5 -5
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.flow +5 -5
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.flow +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +6 -6
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.flow +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.flow +6 -6
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.flow +2 -2
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.flow +2 -2
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js.flow +1 -1
- package/lib/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js.flow +6 -6
- package/lib/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js.flow +2 -2
- package/lib/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js.flow +2 -2
- package/lib/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js.flow +5 -5
- package/lib/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js.flow +6 -6
- package/lib/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js.flow +3 -3
- package/lib/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js.flow +2 -2
- package/lib/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js.flow +1 -1
- package/lib/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js.flow +4 -4
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +4 -4
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.flow +15 -15
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.flow +2 -2
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.flow +2 -2
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js.flow +22 -22
- package/lib/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js.flow +1 -1
- package/lib/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js.flow +4 -4
- package/lib/models/base/BaseCollection.js.flow +6 -6
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.flow +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js.flow +5 -5
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/base/__tests__/ResourceCollection.spec.js.flow +1 -1
- package/lib/models/caseview/CaseViewModel.js.flow +4 -4
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/caseview/__tests__/CaseViewModel.spec.js.flow +3 -3
- package/lib/models/concepts/BusinessScenarioModel.js.flow +9 -9
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.flow +17 -17
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js.flow +2 -2
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.flow +6 -4
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js.flow +5 -5
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.flow +2 -2
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.flow +2 -2
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/concepts/__tests__/ConceptDetailModel.spec.js.flow +1 -1
- package/lib/models/content/ContentIndexModel.js.flow +3 -3
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.flow +11 -9
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js.flow +2 -2
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.flow +4 -4
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.flow +4 -4
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.flow +2 -2
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/content/__tests__/ContentModel.spec.js.flow +16 -16
- package/lib/models/contentconfiguration/ContentConfiguration.js.flow +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.flow +5 -5
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.flow +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.flow +2 -2
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js.flow +12 -12
- package/lib/models/detail/DetailModel.js.flow +5 -5
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js.flow +4 -4
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js.flow +1 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/__tests__/ErrorModel.spec.js.flow +1 -1
- package/lib/models/filters/AssignmentFilterModel.js.flow +3 -3
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.flow +3 -3
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js.flow +5 -5
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/__tests__/AssignmentFilterModel.spec.js.flow +4 -4
- package/lib/models/filters/__tests__/FilterCollection.spec.js.flow +11 -11
- package/lib/models/filters/__tests__/FilterModel.spec.js.flow +1 -1
- package/lib/models/filters/__tests__/RangeFilterModel.spec.js.flow +1 -1
- package/lib/models/form/FormModel.js.flow +39 -39
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js.flow +16 -16
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/form/__tests__/FormModel.instrument.spec.js.flow +7 -7
- package/lib/models/form/__tests__/FormModel.repeating.spec.js.flow +2 -2
- package/lib/models/form/__tests__/FormModel.selfhref.spec.js.flow +1 -1
- package/lib/models/form/__tests__/FormModel.spec.js.flow +6 -6
- package/lib/models/form/__tests__/FormResultData.spec.js.flow +1 -1
- package/lib/models/form/__tests__/FormWithContent.spec.js.flow +3 -3
- package/lib/models/grouping/GroupingModel.js.flow +7 -7
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/grouping/__tests__/GroupingModel.spec.js.flow +2 -2
- package/lib/models/href/Href.js.flow +6 -6
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/__tests__/Href.spec.js.flow +18 -16
- package/lib/models/layouthint/LayoutHintCollection.js.flow +3 -3
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js.flow +4 -4
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js.flow +3 -3
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/links/__tests__/LinkModel.spec.js.flow +4 -4
- package/lib/models/links/normalizeLinkJSON.js.flow +6 -6
- package/lib/models/links/normalizeLinkJSON.js.map +1 -1
- package/lib/models/list/ListDetailModel.js.flow +7 -7
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js.flow +2 -2
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js.flow +2 -2
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js.flow +6 -6
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/list/__tests__/ListDetailModel.spec.js.flow +4 -4
- package/lib/models/list/__tests__/ListItemCollection.spec.js.flow +1 -1
- package/lib/models/list/__tests__/ListModel.spec.js.flow +3 -3
- package/lib/models/list/__tests__/ListResultDetail.spec.js.flow +3 -3
- package/lib/models/lookup/LookupOptionCollection.js.flow +1 -1
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js.flow +4 -4
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/lookup/__tests__/LookupOptionsModel.spec.js.flow +3 -3
- package/lib/models/modelcatalog/ModelCatalogModel.js.flow +2 -2
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js.flow +1 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/paging/__tests__/PagingModel.spec.js.flow +2 -2
- package/lib/models/panels/GroupingPanelModel.js.flow +5 -5
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/panels/__tests__/GroupingPanelModel.spec.js.flow +8 -8
- package/lib/models/parameter/__tests__/Parameter.spec.js.flow +5 -5
- package/lib/models/process/ProcessStatusSettingsModel.js.flow +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/process/__tests__/ProcessStatusSettingsModel.spec.js.flow +1 -1
- package/lib/models/resolveModel.js.flow +4 -4
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js.flow +4 -4
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/sorting/__tests__/SortingModel.spec.js.flow +3 -3
- package/lib/models/tab/TabModel.js.flow +3 -3
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/tab/__tests__/TabModel.spec.js.flow +5 -5
- package/lib/models/taskgroup/TaskGroupModel.js.flow +2 -2
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.flow +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.flow +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/__tests__/UserModel.spec.js.flow +2 -2
- package/lib/models/user/__tests__/UserProfileModel.spec.js.flow +2 -2
- package/lib/models/user/__tests__/UserServicesModel.spec.js.flow +1 -1
- package/lib/modularui/CaptchaRequest.js.flow +1 -1
- package/lib/modularui/CaptchaRequest.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js.flow +26 -26
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/UploadRequest.js.flow +6 -6
- package/lib/modularui/UploadRequest.js.map +1 -1
- package/lib/modularui/__tests__/ModularUIError.spec.js.flow +1 -1
- package/lib/modularui/__tests__/ModularUIRequest.spec.js.flow +9 -9
- package/lib/react/utils.js.flow +1 -1
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/client.js +1 -0
- package/lib/react-client/client.js.flow +11 -10
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/contextPath.js.flow +2 -2
- package/lib/react-client/contextPath.js.map +1 -1
- package/lib/react-client/rehydrate.js.flow +1 -1
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/__tests__/serverUtil.spec.js.flow +2 -2
- package/lib/react-server/createSSRComplete.js.flow +3 -3
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js.flow +4 -4
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js.flow +1 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/requestInformation.js.flow +2 -2
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverUtil.js.flow +8 -8
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/__tests__/createTheme.spec.js.flow +4 -4
- package/lib/react-theme/createTheme.js.flow +1 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/utils/__tests__/background.spec.js.flow +2 -2
- package/lib/react-theme/utils/__tests__/contrast.spec.js.flow +1 -1
- package/lib/react-theme/utils/__tests__/corners.spec.js.flow +3 -3
- package/lib/react-theme/utils/__tests__/spacers.spec.js.flow +1 -1
- package/lib/react-theme/utils/__tests__/themeProps.spec.js.flow +9 -9
- package/lib/react-theme/utils/colors.js.flow +3 -3
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js.flow +6 -6
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js.flow +2 -2
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js.flow +2 -2
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js.flow +8 -8
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/I18nActions.js.flow +1 -1
- package/lib/redux/_i18n/I18nActions.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js.flow +2 -2
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_i18n/__tests__/reducer.spec.js.flow +2 -2
- package/lib/redux/_modularui/ModularUIActions.js.flow +8 -8
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js.flow +4 -4
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.flow +6 -6
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js.flow +5 -5
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUISelectors.js.flow +11 -11
- package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js.flow +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/redux/_modularui/__tests__/actions.spec.js.flow +1 -1
- package/lib/redux/_modularui/__tests__/reducer.spec.js.flow +13 -13
- package/lib/redux/_modularui/__tests__/selectors.spec.js.flow +3 -3
- package/lib/redux/_modularui/types.js.flow +4 -4
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.flow +3 -3
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/RouterActions.js.flow +3 -3
- package/lib/redux/_router/RouterActions.js.map +1 -1
- package/lib/redux/_router/RouterConnectors.js.flow +5 -5
- package/lib/redux/_router/RouterConnectors.js.map +1 -1
- package/lib/redux/_router/RouterReducer.js.flow +1 -1
- package/lib/redux/_router/RouterReducer.js.map +1 -1
- package/lib/redux/_router/__tests__/reducer.spec.js.flow +2 -2
- package/lib/redux/actions/Application.js.flow +1 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js.flow +1 -1
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js.flow +3 -3
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js.flow +2 -2
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.flow +3 -3
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js.flow +1 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js.flow +1 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js.flow +3 -3
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Notification.js.flow +4 -4
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js.flow +11 -11
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/ProgressIndicator.js.flow +1 -1
- package/lib/redux/actions/ProgressIndicator.js.map +1 -1
- package/lib/redux/actions/SignIn.js.flow +3 -3
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/__tests__/Authorization.spec.js.flow +2 -2
- package/lib/redux/actions/__tests__/Error-server.spec.js.flow +13 -13
- package/lib/redux/actions/__tests__/Error.spec.js.flow +6 -6
- package/lib/redux/actions/__tests__/Notification.spec.js.flow +1 -1
- package/lib/redux/actions/__tests__/Preferences.spec.js.flow +2 -2
- package/lib/redux/connectors/Application.js.flow +1 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js.flow +1 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js.flow +1 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js.flow +1 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js.flow +1 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js.flow +1 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js.flow +2 -2
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js.flow +5 -5
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js.flow +6 -6
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js.flow +1 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js.flow +1 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js.flow +1 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js.flow +1 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js.flow +2 -2
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js.flow +3 -3
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js.flow +1 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.flow +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js.flow +2 -2
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js.flow +1 -1
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js.flow +1 -1
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js.flow +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js.flow +1 -1
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js.flow +1 -1
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js.flow +1 -1
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js.flow +1 -1
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.flow +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.flow +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/reducers/__tests__/AuthReducer.spec.js.flow +10 -10
- package/lib/redux/reducers/__tests__/ErrorReducer.spec.js.flow +1 -1
- package/lib/redux/reducers/__tests__/ModalsReducer.spec.js.flow +3 -3
- package/lib/redux/reducers/__tests__/NotificationReducer.spec.js.flow +3 -3
- package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +2 -2
- package/lib/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js.flow +8 -8
- package/lib/redux/store/beforeRenderHooks.js.flow +1 -1
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js.flow +3 -3
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/utils/browser/Cookies.js.flow +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/browser/__tests__/Cookies.spec.js.flow +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.flow +15 -15
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/datetime/__tests__/DateTime.spec.js.flow +84 -81
- package/lib/utils/fetch/__tests__/xhr.spec.js.flow +2 -2
- package/lib/utils/fetch/universalFetch.js.flow +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.flow +6 -6
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/__tests__/sanitizeHTML.spec.js.flow +8 -8
- package/lib/utils/helpers/sanitizeHtml.js.flow +3 -3
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js.flow +1 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js.flow +2 -2
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/__tests__/formatValue.spec.js.flow +1 -1
- package/lib/utils/number/formatValue.js.flow +2 -2
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js.flow +7 -7
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +20 -20
- package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +4 -4
- package/src/builder/mergeLayoutHintConfigurations.js +3 -3
- package/src/constants/LayoutHints.js +1 -1
- package/src/constants/Settings.js +2 -2
- package/src/exceptions/FetchException.js +2 -2
- package/src/exceptions/NetworkException.js +1 -1
- package/src/exceptions/UnauthorizedException.js +1 -1
- package/src/hooks/__tests__/UseModularUIModel.spec.js +9 -9
- package/src/hooks/__tests__/useAuthentication.spec.js +2 -2
- package/src/hooks/__tests__/useForm.spec.js +2 -2
- package/src/hooks/__tests__/useModelCatalog.spec.js +7 -7
- package/src/hooks/__tests__/useModularUIBasic.spec.js +2 -2
- package/src/hooks/__tests__/usePreference.spec.js +1 -1
- package/src/hooks/useAllFormsOnModel.js +2 -2
- package/src/hooks/useAuthentication.js +2 -2
- package/src/hooks/useContent.js +1 -1
- package/src/hooks/useDeepCompareEffect.js +1 -1
- package/src/hooks/useForm.js +4 -4
- package/src/hooks/useI18n.js +3 -3
- package/src/hooks/useModal.js +2 -2
- package/src/hooks/useModelCatalog.js +1 -1
- package/src/hooks/useModularUI.js +1 -1
- package/src/hooks/useModularUIBasic.js +1 -1
- package/src/hooks/useModularUIModel.js +1 -1
- package/src/hooks/useModularUIRequest.js +1 -1
- package/src/hooks/useNotification.js +2 -2
- package/src/hooks/usePreference.js +17 -7
- package/src/i18n/Locale.js +4 -4
- package/src/i18n/Locales.js +8 -8
- package/src/i18n/Message.js +2 -2
- package/src/i18n/__tests__/Locale.spec.js +3 -3
- package/src/i18n/__tests__/Locales.spec.js +15 -13
- package/src/i18n/withMessage.js +4 -4
- package/src/models/actions/ActionCollection.js +4 -4
- package/src/models/actions/ActionModel.js +4 -4
- package/src/models/actions/__tests__/ActionCollection.spec.js +3 -3
- package/src/models/actions/__tests__/ActionModel.spec.js +1 -1
- package/src/models/application/ApplicationModel.js +3 -3
- package/src/models/attributes/AttributeCollection.js +7 -7
- package/src/models/attributes/AttributeContent.js +9 -9
- package/src/models/attributes/AttributeDataHelper.js +9 -9
- package/src/models/attributes/AttributeModel.js +24 -24
- package/src/models/attributes/AttributeSetModel.js +1 -1
- package/src/models/attributes/BooleanAttributeModel.js +4 -4
- package/src/models/attributes/ChoiceAttributeModel.js +7 -7
- package/src/models/attributes/ChoiceAttributeOptionCollection.js +15 -15
- package/src/models/attributes/ChoiceAttributeOptionModel.js +19 -11
- package/src/models/attributes/CompositeAttributeChildCollection.js +10 -10
- package/src/models/attributes/CompositeAttributeModel.js +7 -7
- package/src/models/attributes/DatetimeAttributeModel.js +6 -6
- package/src/models/attributes/NumberAttributeModel.js +9 -9
- package/src/models/attributes/PasswordAttributeModel.js +8 -8
- package/src/models/attributes/StringAttributeModel.js +3 -3
- package/src/models/attributes/UploadAttributeModel.js +5 -5
- package/src/models/attributes/__tests__/AttributeCollection.spec.js +11 -11
- package/src/models/attributes/__tests__/AttributeContent.spec.js +7 -7
- package/src/models/attributes/__tests__/AttributeModel.spec.js +5 -5
- package/src/models/attributes/__tests__/AttributeSetModel.spec.js +2 -2
- package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +8 -8
- package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +8 -8
- package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
- package/src/models/attributes/__tests__/DateAttributeModel.spec.js +4 -4
- package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +11 -11
- package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +3 -3
- package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +1 -1
- package/src/models/attributes/__tests__/StringAttributeModel.spec.js +4 -4
- package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +2 -2
- package/src/models/attributes/__tests__/TimestampModel.spec.js +2 -2
- package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +4 -4
- package/src/models/attributes/__tests__/_createAttribute.spec.js +6 -6
- package/src/models/attributes/__tests__/createAttributeComposite.spec.js +3 -3
- package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +3 -3
- package/src/models/attributes/_createAttribute.js +5 -5
- package/src/models/attributes/input-constraints/ConstraintCollection.js +5 -5
- package/src/models/attributes/input-constraints/ConstraintModel.js +1 -1
- package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +6 -6
- package/src/models/attributes/input-constraints/MandatoryConstraint.js +1 -1
- package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +6 -6
- package/src/models/attributes/input-constraints/NumberFormatConstraint.js +2 -2
- package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +1 -1
- package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +6 -6
- package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +5 -5
- package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +6 -6
- package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +3 -3
- package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +2 -2
- package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +1 -1
- package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +4 -4
- package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +4 -4
- package/src/models/attributes/layouthint-rules/DependentAttribute.js +15 -15
- package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +2 -2
- package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +2 -2
- package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +22 -22
- package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +1 -1
- package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +4 -4
- package/src/models/base/BaseCollection.js +6 -6
- package/src/models/base/BaseModel.js +1 -1
- package/src/models/base/ResourceModel.js +5 -5
- package/src/models/base/__tests__/ResourceCollection.spec.js +1 -1
- package/src/models/caseview/CaseViewModel.js +4 -4
- package/src/models/caseview/__tests__/CaseViewModel.spec.js +3 -3
- package/src/models/concepts/BusinessScenarioModel.js +9 -9
- package/src/models/concepts/ConceptDetailModel.js +17 -17
- package/src/models/concepts/ConceptIndexModel.js +2 -2
- package/src/models/concepts/ConceptLinkModel.js +6 -4
- package/src/models/concepts/ConceptRelationCollection.js +5 -5
- package/src/models/concepts/SourceReferenceCollection.js +2 -2
- package/src/models/concepts/SourceReferenceModel.js +2 -2
- package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +1 -1
- package/src/models/content/ContentIndexModel.js +3 -3
- package/src/models/content/ContentLinkModel.js +11 -9
- package/src/models/content/ContentModel.js +2 -2
- package/src/models/content/ContentTOCModel.js +4 -4
- package/src/models/content/SectionModel.js +4 -4
- package/src/models/content/SubSectionModel.js +2 -2
- package/src/models/content/__tests__/ContentModel.spec.js +16 -16
- package/src/models/contentconfiguration/ContentConfiguration.js +1 -1
- package/src/models/contentconfiguration/ContentConfigurationElements.js +5 -5
- package/src/models/contentconfiguration/ContentConfigurationEndResults.js +1 -1
- package/src/models/contentconfiguration/ContentConfigurationQuestions.js +2 -2
- package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +12 -12
- package/src/models/detail/DetailModel.js +5 -5
- package/src/models/error/ErrorCollection.js +4 -4
- package/src/models/error/ErrorModel.js +1 -1
- package/src/models/error/__tests__/ErrorModel.spec.js +1 -1
- package/src/models/filters/AssignmentFilterModel.js +3 -3
- package/src/models/filters/BaseFilterModel.js +3 -3
- package/src/models/filters/FilterCollection.js +5 -5
- package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +4 -4
- package/src/models/filters/__tests__/FilterCollection.spec.js +11 -11
- package/src/models/filters/__tests__/FilterModel.spec.js +1 -1
- package/src/models/filters/__tests__/RangeFilterModel.spec.js +1 -1
- package/src/models/form/FormModel.js +39 -39
- package/src/models/form/FormObjectModel.js +16 -16
- package/src/models/form/__tests__/FormModel.instrument.spec.js +7 -7
- package/src/models/form/__tests__/FormModel.repeating.spec.js +2 -2
- package/src/models/form/__tests__/FormModel.selfhref.spec.js +1 -1
- package/src/models/form/__tests__/FormModel.spec.js +6 -6
- package/src/models/form/__tests__/FormResultData.spec.js +1 -1
- package/src/models/form/__tests__/FormWithContent.spec.js +3 -3
- package/src/models/grouping/GroupingModel.js +7 -7
- package/src/models/grouping/__tests__/GroupingModel.spec.js +2 -2
- package/src/models/href/Href.js +6 -6
- package/src/models/href/__tests__/Href.spec.js +18 -16
- package/src/models/layouthint/LayoutHintCollection.js +3 -3
- package/src/models/links/LinkCollection.js +4 -4
- package/src/models/links/LinkModel.js +3 -3
- package/src/models/links/__tests__/LinkModel.spec.js +4 -4
- package/src/models/links/normalizeLinkJSON.js +6 -6
- package/src/models/list/ListDetailModel.js +7 -7
- package/src/models/list/ListItemCollection.js +2 -2
- package/src/models/list/ListItemModel.js +2 -2
- package/src/models/list/ListModel.js +6 -6
- package/src/models/list/__tests__/ListDetailModel.spec.js +4 -4
- package/src/models/list/__tests__/ListItemCollection.spec.js +1 -1
- package/src/models/list/__tests__/ListModel.spec.js +3 -3
- package/src/models/list/__tests__/ListResultDetail.spec.js +3 -3
- package/src/models/lookup/LookupOptionCollection.js +1 -1
- package/src/models/lookup/LookupOptionsModel.js +4 -4
- package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +3 -3
- package/src/models/modelcatalog/ModelCatalogModel.js +2 -2
- package/src/models/paging/PagingModel.js +1 -1
- package/src/models/paging/__tests__/PagingModel.spec.js +2 -2
- package/src/models/panels/GroupingPanelModel.js +5 -5
- package/src/models/panels/__tests__/GroupingPanelModel.spec.js +8 -8
- package/src/models/parameter/__tests__/Parameter.spec.js +5 -5
- package/src/models/process/ProcessStatusSettingsModel.js +1 -1
- package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +1 -1
- package/src/models/resolveModel.js +4 -4
- package/src/models/sorting/SortingModel.js +4 -4
- package/src/models/sorting/__tests__/SortingModel.spec.js +3 -3
- package/src/models/tab/TabModel.js +3 -3
- package/src/models/tab/__tests__/TabModel.spec.js +5 -5
- package/src/models/taskgroup/TaskGroupModel.js +2 -2
- package/src/models/types.js +1 -1
- package/src/models/user/UserProfileModel.js +1 -1
- package/src/models/user/__tests__/UserModel.spec.js +2 -2
- package/src/models/user/__tests__/UserProfileModel.spec.js +2 -2
- package/src/models/user/__tests__/UserServicesModel.spec.js +1 -1
- package/src/modularui/CaptchaRequest.js +1 -1
- package/src/modularui/ModularUIRequest.js +26 -26
- package/src/modularui/UploadRequest.js +6 -6
- package/src/modularui/__tests__/ModularUIError.spec.js +1 -1
- package/src/modularui/__tests__/ModularUIRequest.spec.js +9 -9
- package/src/react/utils.js +1 -1
- package/src/react-client/client.js +11 -10
- package/src/react-client/contextPath.js +2 -2
- package/src/react-client/rehydrate.js +1 -1
- package/src/react-server/__tests__/serverUtil.spec.js +2 -2
- package/src/react-server/createSSRComplete.js +3 -3
- package/src/react-server/renderSSRComplete.js +4 -4
- package/src/react-server/renderSSRMinimal.js +1 -1
- package/src/react-server/requestInformation.js +2 -2
- package/src/react-server/serverUtil.js +8 -8
- package/src/react-theme/__tests__/createTheme.spec.js +4 -4
- package/src/react-theme/createTheme.js +1 -1
- package/src/react-theme/utils/__tests__/background.spec.js +2 -2
- package/src/react-theme/utils/__tests__/contrast.spec.js +1 -1
- package/src/react-theme/utils/__tests__/corners.spec.js +3 -3
- package/src/react-theme/utils/__tests__/spacers.spec.js +1 -1
- package/src/react-theme/utils/__tests__/themeProps.spec.js +9 -9
- package/src/react-theme/utils/colors.js +3 -3
- package/src/react-theme/utils/contrast.js +6 -6
- package/src/react-theme/utils/corners.js +2 -2
- package/src/react-theme/utils/spacers.js +2 -2
- package/src/react-theme/utils/themeProps.js +8 -8
- package/src/redux/_i18n/I18nActions.js +1 -1
- package/src/redux/_i18n/I18nReducer.js +2 -2
- package/src/redux/_i18n/__tests__/reducer.spec.js +2 -2
- package/src/redux/_modularui/ModularUIActions.js +8 -8
- package/src/redux/_modularui/ModularUIConnector.js +4 -4
- package/src/redux/_modularui/ModularUIMiddleware.js +6 -6
- package/src/redux/_modularui/ModularUIReducer.js +5 -5
- package/src/redux/_modularui/ModularUISelectors.js +11 -11
- package/src/redux/_modularui/ModularUIUtils.js +1 -1
- package/src/redux/_modularui/__tests__/actions.spec.js +1 -1
- package/src/redux/_modularui/__tests__/reducer.spec.js +13 -13
- package/src/redux/_modularui/__tests__/selectors.spec.js +3 -3
- package/src/redux/_modularui/types.js +4 -4
- package/src/redux/_modularui/withModularUI.js +3 -3
- package/src/redux/_router/RouterActions.js +3 -3
- package/src/redux/_router/RouterConnectors.js +5 -5
- package/src/redux/_router/RouterReducer.js +1 -1
- package/src/redux/_router/__tests__/reducer.spec.js +2 -2
- package/src/redux/actions/Application.js +1 -1
- package/src/redux/actions/Authorization.js +1 -1
- package/src/redux/actions/Error.js +3 -3
- package/src/redux/actions/FormAttributeSet.js +2 -2
- package/src/redux/actions/FormAttributeSetRepeatable.js +3 -3
- package/src/redux/actions/FormAutosave.js +1 -1
- package/src/redux/actions/FormAutosubmit.js +1 -1
- package/src/redux/actions/FormValidations.js +3 -3
- package/src/redux/actions/Notification.js +4 -4
- package/src/redux/actions/Preferences.js +11 -11
- package/src/redux/actions/ProgressIndicator.js +1 -1
- package/src/redux/actions/SignIn.js +3 -3
- package/src/redux/actions/__tests__/Authorization.spec.js +2 -2
- package/src/redux/actions/__tests__/Error-server.spec.js +13 -13
- package/src/redux/actions/__tests__/Error.spec.js +6 -6
- package/src/redux/actions/__tests__/Notification.spec.js +1 -1
- package/src/redux/actions/__tests__/Preferences.spec.js +2 -2
- package/src/redux/connectors/Application.js +1 -1
- package/src/redux/connectors/Breadcrumb.js +1 -1
- package/src/redux/connectors/CaseView.js +1 -1
- package/src/redux/connectors/ConceptDetail.js +1 -1
- package/src/redux/connectors/ContentBrowser.js +1 -1
- package/src/redux/connectors/ContentDetail.js +1 -1
- package/src/redux/connectors/ContentDetailSection.js +2 -2
- package/src/redux/connectors/Form.js +5 -5
- package/src/redux/connectors/FormAttributeSet.js +6 -6
- package/src/redux/connectors/ListDetail.js +1 -1
- package/src/redux/connectors/Modal.js +1 -1
- package/src/redux/connectors/ModelCatalog.js +1 -1
- package/src/redux/connectors/Notification.js +1 -1
- package/src/redux/connectors/PanelRenderer.js +2 -2
- package/src/redux/connectors/Preferences.js +3 -3
- package/src/redux/connectors/Progress.js +1 -1
- package/src/redux/connectors/ProgressIndicator.js +1 -1
- package/src/redux/connectors/QuickSearch.js +2 -2
- package/src/redux/connectors/SignIn.js +1 -1
- package/src/redux/connectors/SignOut.js +1 -1
- package/src/redux/connectors/Tab.js +1 -1
- package/src/redux/reducers/AuthReducer.js +1 -1
- package/src/redux/reducers/ErrorReducer.js +1 -1
- package/src/redux/reducers/ModalsReducer.js +1 -1
- package/src/redux/reducers/NotificationReducer.js +1 -1
- package/src/redux/reducers/PreferencesReducer.js +1 -1
- package/src/redux/reducers/ProgressIndicatorReducer.js +1 -1
- package/src/redux/reducers/__tests__/AuthReducer.spec.js +10 -10
- package/src/redux/reducers/__tests__/ErrorReducer.spec.js +1 -1
- package/src/redux/reducers/__tests__/ModalsReducer.spec.js +3 -3
- package/src/redux/reducers/__tests__/NotificationReducer.spec.js +3 -3
- package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +2 -2
- package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +8 -8
- package/src/redux/store/beforeRenderHooks.js +1 -1
- package/src/redux/store/configureStore.js +3 -3
- package/src/utils/browser/Cookies.js +1 -1
- package/src/utils/browser/__tests__/Cookies.spec.js +1 -1
- package/src/utils/datetime/DateTimeUtil.js +15 -15
- package/src/utils/datetime/__tests__/DateTime.spec.js +84 -81
- package/src/utils/fetch/__tests__/xhr.spec.js +2 -2
- package/src/utils/fetch/universalFetch.js +1 -1
- package/src/utils/fetch/xhr.js +6 -6
- package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +8 -8
- package/src/utils/helpers/sanitizeHtml.js +3 -3
- package/src/utils/helpers/text.js +1 -1
- package/src/utils/number/DecimalFormat.js +2 -2
- package/src/utils/number/__tests__/formatValue.spec.js +1 -1
- package/src/utils/number/formatValue.js +2 -2
- package/src/utils/number/parseNumbers.js +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadAttributeModel.js","names":["ConstraintCollection","StringAttributeModel","FileExtensionConstraint","FileSizeConstraint","UNCHANGED","UploadAttributeModel","constructor","arguments","_defineProperty","isApplicableModel","contributions","type","multiple","getContribution","initialTotalFileSize","_initialTotalFileSize","maxTotalFileSize","_maxTotalFileSize","currentFilesize","uploadedFileSize","maxFileSize","uploadMaxFileSize","_Object$keys","files","length","accumulatedFileSize","forEach","fileName","file","size","uploadConstraints","_context","_context2","mimeTypes","allowedMimeTypes","_filterInstanceProperty","call","mimeType","extensions","allowedExtensions","extension","fileTypes","_mapInstanceProperty","fileSize","isMaxTotal","undefined","acceptedFiles","_context3","_context4","_context5","addConstraints","constraints","add","hasFilesizeConstraint","_files","update","value","_context6","JSON","parse","inputvalue","token","join","error","updateLastModification","readonlyvalue","initvalue","toString","getValue","hasValue","_value","mergeAttribute","oldAttribute","isValid","_JSON$stringify"],"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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"}
|
|
1
|
+
{"version":3,"file":"UploadAttributeModel.js","names":["ConstraintCollection","StringAttributeModel","FileExtensionConstraint","FileSizeConstraint","UNCHANGED","UploadAttributeModel","constructor","arguments","_defineProperty","isApplicableModel","contributions","type","multiple","getContribution","initialTotalFileSize","_initialTotalFileSize","maxTotalFileSize","_maxTotalFileSize","currentFilesize","uploadedFileSize","maxFileSize","uploadMaxFileSize","_Object$keys","files","length","accumulatedFileSize","forEach","fileName","file","size","uploadConstraints","_context","_context2","mimeTypes","allowedMimeTypes","_filterInstanceProperty","call","mimeType","extensions","allowedExtensions","extension","fileTypes","_mapInstanceProperty","fileSize","isMaxTotal","undefined","acceptedFiles","_context3","_context4","_context5","addConstraints","constraints","add","hasFilesizeConstraint","_files","update","value","_context6","JSON","parse","inputvalue","token","join","error","updateLastModification","readonlyvalue","initvalue","toString","getValue","hasValue","_value","mergeAttribute","oldAttribute","isValid","_JSON$stringify"],"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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_createAttribute.js","names":["klona","has","isPlainObject","LayoutHintRuleCollection","CaptchaAttributeModel","ChoiceAttributeModel","DatetimeAttributeModel","HelptextAttributeModel","LabelAttributeModel","MemoAttributeModel","MoneyAttributeModel","NumberAttributeModel","PasswordAttributeModel","CompositeAttributeModel","StringAttributeModel","UploadAttributeModel","XMLAttributeModel","BooleanAttributeModel","AttributeDataHelper","getChildrenKeys","children","_mapInstanceProperty","call","child","childKey","_Object$keys","isComposite","type","key","dynamicschemaId","undefined","getAttributeModel","contributions","ATTRIBUTE_MODELS","_findInstanceProperty","model","isApplicableModel","updateContributions","data","Array","isArray","updateData","newData","createAttribute","updatedContributions","updatedData","Model","Error","childrenKeys","dataHelper","getData","attribute","setLayoutHintRules"],"sources":["../../../src/models/attributes/_createAttribute.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\nimport LayoutHintRuleCollection from \"./layouthint-rules/LayoutHintRuleCollection\";\n\nimport CaptchaAttributeModel from \"./CaptchaAttributeModel\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\nimport HelptextAttributeModel from \"./HelptextAttributeModel\";\nimport LabelAttributeModel from \"./LabelAttributeModel\";\nimport MemoAttributeModel from \"./MemoAttributeModel\";\nimport MoneyAttributeModel from \"./MoneyAttributeModel\";\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport PasswordAttributeModel from \"./PasswordAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport UploadAttributeModel from \"./UploadAttributeModel\";\nimport XMLAttributeModel from \"./XMLAttributeModel\";\nimport BooleanAttributeModel from \"./BooleanAttributeModel\";\n\nimport AttributeDataHelper from \"./AttributeDataHelper\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * @private\n */\nconst getChildrenKeys = (children: Array<Object>): Array<Object> => {\n if (children) {\n return children.map((child) => {\n const [childKey] = Object.keys(child);\n const isComposite =\n child[childKey].type === \"range\" ||\n child[childKey].type === \"composite\";\n\n return {\n key: childKey,\n dynamicschemaId: child[childKey]?.dynamicschemaId || undefined,\n children: isComposite ? getChildrenKeys(child[childKey]?.children) : [],\n };\n });\n }\n\n return [];\n};\n\n/**\n * @private\n */\nconst getAttributeModel = (contributions: Object): ?Class<AttributeType> => {\n const ATTRIBUTE_MODELS = [\n ChoiceAttributeModel,\n BooleanAttributeModel,\n\n HelptextAttributeModel,\n LabelAttributeModel,\n\n XMLAttributeModel,\n MemoAttributeModel,\n StringAttributeModel,\n\n DatetimeAttributeModel,\n\n MoneyAttributeModel,\n NumberAttributeModel,\n PasswordAttributeModel,\n\n UploadAttributeModel,\n CompositeAttributeModel,\n CaptchaAttributeModel,\n ];\n\n return ATTRIBUTE_MODELS.find((model) =>\n model.isApplicableModel(contributions)
|
|
1
|
+
{"version":3,"file":"_createAttribute.js","names":["klona","has","isPlainObject","LayoutHintRuleCollection","CaptchaAttributeModel","ChoiceAttributeModel","DatetimeAttributeModel","HelptextAttributeModel","LabelAttributeModel","MemoAttributeModel","MoneyAttributeModel","NumberAttributeModel","PasswordAttributeModel","CompositeAttributeModel","StringAttributeModel","UploadAttributeModel","XMLAttributeModel","BooleanAttributeModel","AttributeDataHelper","getChildrenKeys","children","_mapInstanceProperty","call","child","childKey","_Object$keys","isComposite","type","key","dynamicschemaId","undefined","getAttributeModel","contributions","ATTRIBUTE_MODELS","_findInstanceProperty","model","isApplicableModel","updateContributions","data","Array","isArray","updateData","newData","createAttribute","updatedContributions","updatedData","Model","Error","childrenKeys","dataHelper","getData","attribute","setLayoutHintRules"],"sources":["../../../src/models/attributes/_createAttribute.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\nimport LayoutHintRuleCollection from \"./layouthint-rules/LayoutHintRuleCollection\";\n\nimport CaptchaAttributeModel from \"./CaptchaAttributeModel\";\nimport ChoiceAttributeModel from \"./ChoiceAttributeModel\";\nimport DatetimeAttributeModel from \"./DatetimeAttributeModel\";\nimport HelptextAttributeModel from \"./HelptextAttributeModel\";\nimport LabelAttributeModel from \"./LabelAttributeModel\";\nimport MemoAttributeModel from \"./MemoAttributeModel\";\nimport MoneyAttributeModel from \"./MoneyAttributeModel\";\nimport NumberAttributeModel from \"./NumberAttributeModel\";\nimport PasswordAttributeModel from \"./PasswordAttributeModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport UploadAttributeModel from \"./UploadAttributeModel\";\nimport XMLAttributeModel from \"./XMLAttributeModel\";\nimport BooleanAttributeModel from \"./BooleanAttributeModel\";\n\nimport AttributeDataHelper from \"./AttributeDataHelper\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * @private\n */\nconst getChildrenKeys = (children: Array<Object>): Array<Object> => {\n if (children) {\n return children.map((child) => {\n const [childKey] = Object.keys(child);\n const isComposite =\n child[childKey].type === \"range\" ||\n child[childKey].type === \"composite\";\n\n return {\n key: childKey,\n dynamicschemaId: child[childKey]?.dynamicschemaId || undefined,\n children: isComposite ? getChildrenKeys(child[childKey]?.children) : [],\n };\n });\n }\n\n return [];\n};\n\n/**\n * @private\n */\nconst getAttributeModel = (contributions: Object): ?Class<AttributeType> => {\n const ATTRIBUTE_MODELS = [\n ChoiceAttributeModel,\n BooleanAttributeModel,\n\n HelptextAttributeModel,\n LabelAttributeModel,\n\n XMLAttributeModel,\n MemoAttributeModel,\n StringAttributeModel,\n\n DatetimeAttributeModel,\n\n MoneyAttributeModel,\n NumberAttributeModel,\n PasswordAttributeModel,\n\n UploadAttributeModel,\n CompositeAttributeModel,\n CaptchaAttributeModel,\n ];\n\n return ATTRIBUTE_MODELS.find((model) =>\n model.isApplicableModel(contributions),\n );\n};\n\n/**\n * @private\n */\nconst updateContributions = (\n key: string,\n data: Object,\n contributions: Object,\n): Object => {\n const isComposite =\n contributions.type === \"array\" &&\n has(contributions, \"children\") &&\n isPlainObject(data) &&\n Array.isArray(data[key]);\n\n return {\n ...contributions,\n type: isComposite ? \"composite\" : contributions.type,\n };\n};\n\n/**\n * @private\n */\nconst updateData = (\n key: string,\n data: Object,\n contributions: Object,\n): Object => {\n const newData = klona(data);\n\n if (contributions.dynamicschemaId) {\n newData.dynamicschemaId = contributions.dynamicschemaId;\n }\n\n return newData;\n};\n\n/**\n * Create an attribute based on data and contributions\n */\nconst createAttribute = (\n key: string,\n data: Object | Array<Object>,\n contributions: Object,\n): AttributeType => {\n const updatedContributions = updateContributions(key, data, contributions);\n const updatedData = updateData(key, data, contributions);\n\n const Model = getAttributeModel(updatedContributions);\n\n if (!Model) {\n throw new Error(\"Could not find model\");\n }\n\n const childrenKeys = getChildrenKeys(updatedContributions.children ?? []);\n const dataHelper = new AttributeDataHelper(\n updatedData,\n key,\n childrenKeys,\n ).getData();\n\n const attribute = new Model(dataHelper, updatedContributions);\n\n return LayoutHintRuleCollection.setLayoutHintRules(attribute);\n};\n\nexport default createAttribute;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstraintCollection.js","names":["BaseCollection","ConstraintModel","getSetting","ConstraintCollection","addConstraint","id","validateMethod","defaultMessage","data","useClientsideValidation","arguments","length","undefined","add","validate","value","isEmpty","collection","every","constraint","hasMandatoryConstraint","some","isMandatoryConstraint","invalidConstraints","_context","_filterInstanceProperty","call"],"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\")
|
|
1
|
+
{"version":3,"file":"ConstraintCollection.js","names":["BaseCollection","ConstraintModel","getSetting","ConstraintCollection","addConstraint","id","validateMethod","defaultMessage","data","useClientsideValidation","arguments","length","undefined","add","validate","value","isEmpty","collection","every","constraint","hasMandatoryConstraint","some","isMandatoryConstraint","invalidConstraints","_context","_filterInstanceProperty","call"],"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,OAAOA,cAAc,MAAM,2BAA2B;AACtD,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,SAASC,UAAU,QAAQ,6BAA6B;AAIxD;AACA;AACA;AACA,eAAe,MAAMC,oBAAoB,SAASH,cAAc,CAAmB;EACjF;AACF;AACA;EACEI,aAAaA,CACXC,EAAU,EACVC,cAAyB,EACzBC,cAAuB,EACvBC,IAAa,EAEb;IAAA,IADAC,uBAAgC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGR,UAAU,CAAC,2BAA2B,CAAC;IAE1E,IAAI,CAACW,GAAG,CACN,IAAIZ,eAAe,CACjBI,EAAE,EACFC,cAAc,EACdC,cAAc,EACdC,IAAI,EACJC,uBACF,CACF,CAAC;EACH;;EAEA;AACF;AACA;EACEK,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,OAAOK,uBAAA,CAAAD,QAAA,OAAI,CAACP,UAAU,EAAAS,IAAA,CAAAF,QAAA,EACnBL,UAAU,IAAKA,UAAU,CAACL,QAAQ,CAACC,KAAK,CAAC,KAAK,KACjD,CAAC;EACH;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstraintModel.js","names":["getSetting","ConstraintModel","constructor","id","validateMethod","defaultMessage","parameters","useClientsideValidation","arguments","length","undefined","_defineProperty","_id","_validateMethod","_defaultMessage","_parameters","_useClientsideValidation","hasValidation","validate","value","isMandatoryConstraint"],"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\")
|
|
1
|
+
{"version":3,"file":"ConstraintModel.js","names":["getSetting","ConstraintModel","constructor","id","validateMethod","defaultMessage","parameters","useClientsideValidation","arguments","length","undefined","_defineProperty","_id","_validateMethod","_defaultMessage","_parameters","_useClientsideValidation","hasValidation","validate","value","isMandatoryConstraint"],"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,SAASA,UAAU,QAAQ,6BAA6B;AAIxD;AACA;AACA,eAAe,MAAMC,eAAe,CAA6B;EAO/D;AACF;EACEC,WAAWA,CACTC,EAAU,EACVC,cAAyB,EACzBC,cAAuB,EACvBC,UAAmB,EAEnB;IAAA,IADAC,uBAAgC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGR,UAAU,CAAC,2BAA2B,CAAC;IAAAW,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAE1E,IAAI,CAACC,GAAG,GAAGT,EAAE;IACb,IAAI,CAACU,eAAe,GAAGT,cAAc;IACrC,IAAI,CAACU,eAAe,GAAGT,cAAc;IACrC,IAAI,CAACU,WAAW,GAAGT,UAAU;IAC7B,IAAI,CAACU,wBAAwB,GAAGT,uBAAuB;EACzD;;EAEA;AACF;AACA;EACE,IAAIJ,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACS,GAAG;EACjB;;EAEA;AACF;EACE,IAAIP,cAAcA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACS,eAAe,IAAI,yBAAyB;EAC1D;;EAEA;AACF;AACA;EACE,IAAIR,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACS,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,MAAMf,cAAc,GAAG,IAAI,CAACS,eAAe;IAE3C,IAAI,IAAI,CAACG,wBAAwB,IAAIZ,cAAc,EAAE;MACnD,OAAOA,cAAc,CAACe,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateBoundaryConstraint.js","names":["TimeUtil","DateUtil","TimestampUtil","DateTimeUtil","IllegalArgumentException","IllegalStateException","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","validate","TypeError","isMandatoryConstraint"],"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\";\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 _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._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.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\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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"}
|
|
1
|
+
{"version":3,"file":"DateBoundaryConstraint.js","names":["TimeUtil","DateUtil","TimestampUtil","DateTimeUtil","IllegalArgumentException","IllegalStateException","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","validate","TypeError","isMandatoryConstraint"],"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\";\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 _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._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.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\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":";AACA,SACEA,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,YAAY,QACP,sCAAsC;AAG7C,SACEC,wBAAwB,EACxBC,qBAAqB,QAChB,qBAAqB;AAE5B,MAAMC,eAAe,GAAG,6BAA6B;AACrD,MAAMC,eAAe,GAAG,4BAA4B;AACpD,MAAMC,gBAAgB,GAAG,8BAA8B;AACvD,MAAMC,gBAAgB,GAAG,8BAA8B;;AAEvD;AACA;AACA,MAAMC,sBAAsB,CAA6B;EAMvD;AACF;EACEC,WAAWA,CACTC,IAAY,EAIZ;IAAA,IAHAC,OAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IACvBG,OAAgB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IACvBI,MAAc,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,YAAY;IAAAK,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAE7B,IAAI,CAACC,KAAK,GAAGR,IAAI;IACjB,IAAI,CAACS,OAAO,GAAGH,MAAM;IACrB,IAAI,CAACI,QAAQ,GAAGT,OAAO;IACvB,IAAI,CAACU,QAAQ,GAAGN,OAAO;EACzB;;EAEA;AACF;EACE,IAAIL,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACQ,KAAK;EACnB;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,IACE,IAAI,CAACX,OAAO,KAAK,IAAI,IACrB,IAAI,CAACI,OAAO,KAAK,IAAI,IACrB,IAAI,CAACJ,OAAO,KAAK,IAAI,CAACI,OAAO,EAC7B;MACA,OAAOX,eAAe;IACxB,CAAC,MAAM,IAAI,IAAI,CAACO,OAAO,KAAK,IAAI,IAAI,IAAI,CAACI,OAAO,KAAK,IAAI,EAAE;MACzD,OAAOV,eAAe;IACxB,CAAC,MAAM,IAAI,IAAI,CAACM,OAAO,KAAK,IAAI,EAAE;MAChC,OAAOL,gBAAgB;IACzB,CAAC,MAAM,IAAI,IAAI,CAACS,OAAO,KAAK,IAAI,EAAE;MAChC,OAAOR,gBAAgB;IACzB;IAEA,OAAO,sCAAsC;EAC/C;;EAEA;AACF;EACE,IAAIS,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACG,OAAO;EACrB;;EAEA;AACF;EACE,IAAIR,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACS,QAAQ;EACtB;;EAEA;AACF;EACE,IAAIL,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACM,QAAQ;EACtB;;EAEA;AACF;EACE,IAAIE,cAAcA,CAAA,EAAW;IAC3B,QAAQ,IAAI,CAACD,EAAE;MACb,KAAKlB,eAAe;QAClB,OAAO,oCAAoC;MAAE;MAC/C,KAAKC,eAAe;QAClB,OAAO,6CAA6C;MAAE;MACxD,KAAKC,gBAAgB;QACnB,OAAO,iCAAiC;MAAE;MAC5C,KAAKC,gBAAgB;QACnB,OAAO,kCAAkC;MAAE;MAC7C;QACE,OAAO,EAAE;IACb;EACF;;EAEA;AACF;EACE,IAAIiB,UAAUA,CAAA,EAA6D;IACzE,OAAO;MACL,UAAU,EAAE,IAAI,CAACb,OAAO,GACpB,IAAI,CAACc,UAAU,CAACC,QAAQ,CAAC,IAAI,CAACf,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC,GACnD,IAAI;MACR,UAAU,EAAE,IAAI,CAACD,OAAO,GACpB,IAAI,CAACU,UAAU,CAACC,QAAQ,CAAC,IAAI,CAACX,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC,GACnD;IACN,CAAC;EACH;;EAEA;AACF;EACEW,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACEC,WAAWA,CAACC,KAAa,EAAW;IAClC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAI3B,wBAAwB,CAChC,yCACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACS,OAAO,KAAK,IAAI,EAAE;MACzB,MAAM,IAAIR,qBAAqB,CAAC,uCAAuC,CAAC;IAC1E;IAEA,OAAO,IAAI,CAACsB,UAAU,CAACK,MAAM,CAACD,KAAK,EAAE,IAAI,CAAClB,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC;EACjE;;EAEA;AACF;EACEe,cAAcA,CAACF,KAAa,EAAW;IACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAI3B,wBAAwB,CAChC,yCACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACS,OAAO,KAAK,IAAI,IAAI,IAAI,CAACI,OAAO,KAAK,IAAI,EAAE;MAClD,MAAM,IAAIZ,qBAAqB,CAAC,wCAAwC,CAAC;IAC3E;IAEA,OACE,IAAI,CAAC6B,oBAAoB,CAACH,KAAK,CAAC,IAAI,IAAI,CAACI,qBAAqB,CAACJ,KAAK,CAAC;EAEzE;;EAEA;AACF;EACEG,oBAAoBA,CAACH,KAAa,EAAW;IAC3C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAI3B,wBAAwB,CAChC,+CACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACS,OAAO,IAAI,IAAI,EAAE;MACxB,MAAM,IAAIR,qBAAqB,CAAC,wCAAwC,CAAC;IAC3E;IAEA,OAAO,IAAI,CAACsB,UAAU,CAACS,aAAa,CAACL,KAAK,EAAE,IAAI,CAAClB,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC;EACxE;;EAEA;AACF;EACEiB,qBAAqBA,CAACJ,KAAa,EAAW;IAC5C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAI3B,wBAAwB,CAChC,gDACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACa,OAAO,IAAI,IAAI,EAAE;MACxB,MAAM,IAAIZ,qBAAqB,CAC7B,yCACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACsB,UAAU,CAACU,cAAc,CAACN,KAAK,EAAE,IAAI,CAACd,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC;EACzE;;EAEA;AACF;EACE,IAAIS,UAAUA,CAAA,EAIM;IAClB,QAAQ,IAAI,CAACf,IAAI;MACf,KAAK,MAAM;QACT,OAAOZ,QAAQ;MACjB,KAAK,WAAW;QACd,OAAOE,aAAa;MACtB,KAAK,UAAU;QACb,OAAOC,YAAY;MACrB;QACE,OAAOF,QAAQ;IACnB;EACF;;EAEA;AACF;EACEqC,QAAQA,CAACP,KAAa,EAAW;IAC/B,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIQ,SAAS,CAAC,2CAA2C,CAAC;IAClE;IAEA,QAAQ,IAAI,CAACf,EAAE;MACb,KAAKlB,eAAe;QAClB,OAAO,IAAI,CAACwB,WAAW,CAACC,KAAK,CAAC;MAChC,KAAKxB,eAAe;QAClB,OAAO,IAAI,CAAC0B,cAAc,CAACF,KAAK,CAAC;MACnC,KAAKvB,gBAAgB;QACnB,OAAO,IAAI,CAAC0B,oBAAoB,CAACH,KAAK,CAAC;MACzC,KAAKtB,gBAAgB;QACnB,OAAO,IAAI,CAAC0B,qBAAqB,CAACJ,KAAK,CAAC;MAC1C;QACE,OAAO,IAAI;IACf;EACF;;EAEA;AACF;EACE,IAAIS,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAe9B,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MandatoryConstraint.js","names":["MandatoryConstraint","id","hasValidation","defaultMessage","parameters","validate","value","TypeError","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/MandatoryConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass MandatoryConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.Mandatory\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Field is mandatory\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n validate(value: string): boolean {\n if (value == null) {\n return false;\n }\n\n if (typeof value != \"string\") {\n throw new TypeError(\n `isNotEmptyString: Not comparing to string: ${typeof value}
|
|
1
|
+
{"version":3,"file":"MandatoryConstraint.js","names":["MandatoryConstraint","id","hasValidation","defaultMessage","parameters","validate","value","TypeError","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/MandatoryConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass MandatoryConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.Mandatory\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Field is mandatory\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n validate(value: string): boolean {\n if (value == null) {\n return false;\n }\n\n if (typeof value != \"string\") {\n throw new TypeError(\n `isNotEmptyString: Not comparing to string: ${typeof value}`,\n );\n }\n\n return value !== \"\";\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return true;\n }\n}\n\nexport default MandatoryConstraint;\n"],"mappings":"AAGA;AACA;AACA,MAAMA,mBAAmB,CAA6B;EACpD;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,sBAAsB;EAC/B;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,oBAAoB;EAC7B;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,KAAK;IACd;IAEA,IAAI,OAAOA,KAAK,IAAI,QAAQ,EAAE;MAC5B,MAAM,IAAIC,SAAS,CAChB,8CAA6C,OAAOD,KAAM,EAC7D,CAAC;IACH;IAEA,OAAOA,KAAK,KAAK,EAAE;EACrB;;EAEA;AACF;EACE,IAAIE,qBAAqBA,CAAA,EAAY;IACnC,OAAO,IAAI;EACb;AACF;AAEA,eAAeR,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberBoundaryConstraint.js","names":["formatValue","parseToNumber","INEXACT_NUMBER_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","NumberBoundaryConstraint","constructor","minNumber","arguments","length","undefined","maxNumber","groupingSeparator","decimalSeparator","format","_defineProperty","_format","_groupingSeparator","_decimalSeparator","_minNumber","_maxNumber","id","hasValidation","defaultMessage","parameters","isExactNumber","value","parsedNumber","isSameOrAboveMinNumber","isNaN","isSameOrBelowMaxNumber","isBetweenNumbers","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/NumberBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport formatValue from \"../../../utils/number/formatValue\";\nimport { parseToNumber } from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INEXACT_NUMBER_ID = \"Constraint.Number.InexactNumber\";\nconst OUT_OF_RANGE_ID = \"Constraint.Number.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Number.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Number.AboveMaximum\";\n\n/**\n */\nclass NumberBoundaryConstraint implements IConstraintModel {\n _minNumber: ?number;\n _maxNumber: ?number;\n _groupingSeparator: string = \",\";\n _decimalSeparator: string = \".\";\n _format: string = \"\";\n\n /**\n */\n constructor(\n minNumber: ?number = null,\n maxNumber: ?number = null,\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null
|
|
1
|
+
{"version":3,"file":"NumberBoundaryConstraint.js","names":["formatValue","parseToNumber","INEXACT_NUMBER_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","NumberBoundaryConstraint","constructor","minNumber","arguments","length","undefined","maxNumber","groupingSeparator","decimalSeparator","format","_defineProperty","_format","_groupingSeparator","_decimalSeparator","_minNumber","_maxNumber","id","hasValidation","defaultMessage","parameters","isExactNumber","value","parsedNumber","isSameOrAboveMinNumber","isNaN","isSameOrBelowMaxNumber","isBetweenNumbers","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/NumberBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport formatValue from \"../../../utils/number/formatValue\";\nimport { parseToNumber } from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INEXACT_NUMBER_ID = \"Constraint.Number.InexactNumber\";\nconst OUT_OF_RANGE_ID = \"Constraint.Number.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Number.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Number.AboveMaximum\";\n\n/**\n */\nclass NumberBoundaryConstraint implements IConstraintModel {\n _minNumber: ?number;\n _maxNumber: ?number;\n _groupingSeparator: string = \",\";\n _decimalSeparator: string = \".\";\n _format: string = \"\";\n\n /**\n */\n constructor(\n minNumber: ?number = null,\n maxNumber: ?number = null,\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null,\n ) {\n this._format = format ?? \"\";\n this._groupingSeparator = groupingSeparator;\n this._decimalSeparator = decimalSeparator;\n this._minNumber = minNumber;\n this._maxNumber = maxNumber;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minNumber !== null &&\n this.maxNumber !== null &&\n this.minNumber === this.maxNumber\n ) {\n return INEXACT_NUMBER_ID;\n } else if (this.minNumber !== null && this.maxNumber !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minNumber !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxNumber !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Number.NoBoundaryConstraint\";\n }\n\n /**\n */\n get minNumber(): ?number {\n return this._minNumber;\n }\n\n /**\n */\n get maxNumber(): ?number {\n return this._maxNumber;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_NUMBER_ID:\n return \"Number must be precisely ${min-number}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-number} and ${max-number}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"The number must be larger than ${min-number}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"The number must be smaller than ${max-number}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): {\n \"max-number\": null | string,\n \"min-number\": null | string,\n } {\n return {\n \"min-number\":\n this.minNumber === null\n ? null\n : formatValue(\n this.minNumber,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator,\n ),\n \"max-number\":\n this.maxNumber === null\n ? null\n : formatValue(\n this.maxNumber,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator,\n ),\n };\n }\n\n /**\n */\n isExactNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator,\n );\n return parsedNumber === this.minNumber;\n }\n\n /**\n */\n isSameOrAboveMinNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator,\n );\n\n if (isNaN(parsedNumber) || parsedNumber == null) {\n return false;\n }\n\n return this.minNumber != null && parsedNumber >= this.minNumber;\n }\n\n /**\n */\n isSameOrBelowMaxNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator,\n );\n\n if (isNaN(parsedNumber) || parsedNumber == null) {\n return false;\n }\n\n return this.maxNumber != null && parsedNumber <= this.maxNumber;\n }\n\n /**\n */\n isBetweenNumbers(value: string): boolean {\n return (\n this.isSameOrAboveMinNumber(value) && this.isSameOrBelowMaxNumber(value)\n );\n }\n\n /**\n */\n validate(value: string): boolean {\n switch (this.id) {\n case INEXACT_NUMBER_ID:\n return this.isExactNumber(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenNumbers(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAboveMinNumber(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBelowMaxNumber(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberBoundaryConstraint;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormatConstraint.js","names":["DecimalFormat","parseNumberToString","parseToNumber","INVALID_INTEGER_ID","NumberFormatConstraint","constructor","groupingSeparator","decimalSeparator","format","_defineProperty","_decimalSeparator","_groupingSeparator","_format","id","maxDigits","maxFrac","hasValidation","defaultMessage","parameters","isInteger","value","_Number$isInteger","getNumberOfDigits","Math","floor","stringValue","split","length","isValidDecimal","isNaN","numberOfDigits","parseFloat","isFinite","validate","_context","_includesInstanceProperty","toString","call","parsedNumber","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/NumberFormatConstraint.js"],"sourcesContent":["// @flow\nimport DecimalFormat from \"../../../utils/number/DecimalFormat\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INVALID_INTEGER_ID = \"Constraint.Number.InvalidInteger\";\n\n/**\n */\nclass NumberFormatConstraint implements IConstraintModel {\n _decimalSeparator: string = \",\";\n _groupingSeparator: string = \".\";\n _format: string = \"0\";\n\n /**\n */\n constructor(\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null
|
|
1
|
+
{"version":3,"file":"NumberFormatConstraint.js","names":["DecimalFormat","parseNumberToString","parseToNumber","INVALID_INTEGER_ID","NumberFormatConstraint","constructor","groupingSeparator","decimalSeparator","format","_defineProperty","_decimalSeparator","_groupingSeparator","_format","id","maxDigits","maxFrac","hasValidation","defaultMessage","parameters","isInteger","value","_Number$isInteger","getNumberOfDigits","Math","floor","stringValue","split","length","isValidDecimal","isNaN","numberOfDigits","parseFloat","isFinite","validate","_context","_includesInstanceProperty","toString","call","parsedNumber","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/NumberFormatConstraint.js"],"sourcesContent":["// @flow\nimport DecimalFormat from \"../../../utils/number/DecimalFormat\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INVALID_INTEGER_ID = \"Constraint.Number.InvalidInteger\";\n\n/**\n */\nclass NumberFormatConstraint implements IConstraintModel {\n _decimalSeparator: string = \",\";\n _groupingSeparator: string = \".\";\n _format: string = \"0\";\n\n /**\n */\n constructor(\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null,\n ) {\n this._decimalSeparator = decimalSeparator;\n this._groupingSeparator = groupingSeparator;\n this._format = format ?? \"0\";\n }\n\n /**\n */\n get id(): string {\n if (this.maxDigits === 0) {\n return INVALID_INTEGER_ID;\n }\n\n return \"Constraint.Number.InvalidDecimal\";\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get maxDigits(): number {\n return this.format ? new DecimalFormat(this.format).maxFrac : 0;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === INVALID_INTEGER_ID) {\n return \"Must be a whole number\";\n }\n\n return \"The value is not correct numeric format\";\n }\n\n /**\n */\n get parameters(): { \"max-digits\": number } {\n return {\n \"max-digits\": this.maxDigits,\n };\n }\n\n /**\n */\n isInteger(value: number): boolean {\n return Number.isInteger(value);\n }\n\n /**\n */\n getNumberOfDigits(value: number): number {\n if (Math.floor(value) === value) {\n return 0;\n }\n\n const stringValue = parseNumberToString(value);\n return stringValue.split(\".\")[1].length;\n }\n\n /**\n */\n isValidDecimal(value: number): boolean {\n if (isNaN(value)) {\n return false;\n }\n\n const numberOfDigits = this.getNumberOfDigits(value);\n\n return (\n !isNaN(parseFloat(value)) &&\n isFinite(value) &&\n numberOfDigits <= this.maxDigits\n );\n }\n\n /**\n */\n validate(value: string | number): boolean {\n if (\n this.maxDigits === 0 &&\n this.decimalSeparator !== \"\" &&\n value.toString().includes(this.decimalSeparator)\n ) {\n return false;\n }\n\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator,\n );\n\n if (this.id === INVALID_INTEGER_ID) {\n return this.isInteger(parsedNumber);\n }\n\n return this.isValidDecimal(parsedNumber);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberFormatConstraint;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberGroupingConstraint.js","names":["DecimalFormat","DEFAULT_GROUPING_SIZE","NumberGroupingConstraint","constructor","groupingSeparator","arguments","length","undefined","decimalSeparator","format","_defineProperty","_decimalSeparator","_groupingSeparator","_format","id","groupSize","fromFormat","comma","hasValidation","defaultMessage","parameters","hasCorrectGrouping","value","absStringValue","replace","_includesInstanceProperty","call","integer","indexOf","substring","groups","split","_sliceInstanceProperty","every","group","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/NumberGroupingConstraint.js"],"sourcesContent":["// @flow\nimport DecimalFormat from \"../../../utils/number/DecimalFormat\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst DEFAULT_GROUPING_SIZE = 3;\n\n/**\n */\nclass NumberGroupingConstraint implements IConstraintModel {\n _decimalSeparator: string;\n _groupingSeparator: string;\n _format: string;\n\n /**\n */\n constructor(\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\",\n format: ?string = \"0\"
|
|
1
|
+
{"version":3,"file":"NumberGroupingConstraint.js","names":["DecimalFormat","DEFAULT_GROUPING_SIZE","NumberGroupingConstraint","constructor","groupingSeparator","arguments","length","undefined","decimalSeparator","format","_defineProperty","_decimalSeparator","_groupingSeparator","_format","id","groupSize","fromFormat","comma","hasValidation","defaultMessage","parameters","hasCorrectGrouping","value","absStringValue","replace","_includesInstanceProperty","call","integer","indexOf","substring","groups","split","_sliceInstanceProperty","every","group","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/NumberGroupingConstraint.js"],"sourcesContent":["// @flow\nimport DecimalFormat from \"../../../utils/number/DecimalFormat\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst DEFAULT_GROUPING_SIZE = 3;\n\n/**\n */\nclass NumberGroupingConstraint implements IConstraintModel {\n _decimalSeparator: string;\n _groupingSeparator: string;\n _format: string;\n\n /**\n */\n constructor(\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\",\n format: ?string = \"0\",\n ) {\n this._decimalSeparator = decimalSeparator;\n this._groupingSeparator = groupingSeparator;\n this._format = format ?? \"0\";\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Number.GroupingSeparator\";\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get groupSize(): number {\n if (this.format) {\n const fromFormat = new DecimalFormat(this.format).comma;\n if (fromFormat > 0) {\n return fromFormat;\n }\n }\n\n return DEFAULT_GROUPING_SIZE;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Group divider '${group-divider}' must be correctly placed\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { \"group-divider\": string } {\n return { \"group-divider\": this.groupingSeparator };\n }\n\n /**\n */\n // $FlowFixMe\n hasCorrectGrouping(value: string) {\n // A negative or a negative value may cause an incorrect group length compared to groupSize. To avoid this, the negative or positive sign must be removed from the value.\n const absStringValue = value.replace(\"-\", \"\").replace(\"+\", \"\");\n\n if (!absStringValue.includes(this.groupingSeparator)) {\n return true;\n }\n\n let integer = absStringValue;\n if (\n this.decimalSeparator !== \"\" &&\n absStringValue.includes(this.decimalSeparator)\n ) {\n // decimal before grouping\n if (\n absStringValue.indexOf(this.decimalSeparator) <\n absStringValue.indexOf(this.groupingSeparator)\n ) {\n return false;\n }\n\n integer = absStringValue.substring(\n 0,\n absStringValue.indexOf(this.decimalSeparator),\n );\n }\n\n let groups = integer.split(this.groupingSeparator);\n\n // when the first item is smaller than group size, remove it from check\n if (groups[0].length < this.groupSize) {\n groups = groups.slice(1);\n }\n\n return groups.every((group) => group.length === this.groupSize);\n }\n\n /**\n */\n validate(value: string | number): boolean {\n return (\n this.groupingSeparator === \"\" ||\n typeof value !== \"string\" ||\n !value.includes(this.groupingSeparator) ||\n this.hasCorrectGrouping(value)\n );\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberGroupingConstraint;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLayoutHintRule.js","names":["IllegalStateException","BaseLayoutHintRule","isApplicableForAttribute","attribute","isApplicableForHint","hint","initAttribute","initHint","process","attributes","_defineProperty"],"sources":["../../../../src/models/attributes/layouthint-rules/BaseLayoutHintRule.js"],"sourcesContent":["// @flow\n/* eslint-disable no-unused-vars */\n\nimport { IllegalStateException } from \"../../../exceptions\";\n\nimport type { ILayoutHintRule, AttributeType } from \"../../types\";\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type AttributeModel from \"../AttributeModel\";\n\n/**\n * Abstract class for layout hint rules\n * @abstract\n */\nclass BaseLayoutHintRule implements ILayoutHintRule {\n /**\n * Indicates if the rule implements the isApplicableForHint method\n * @type {boolean}\n * @default false\n */\n static checkHintApplicability: boolean = false;\n\n /**\n * Indicates if the rule instance is applicable for a specific attribute<br>\n */\n static isApplicableForAttribute(attribute: AttributeType): boolean {\n return true;\n }\n\n /**\n * Indicates if the rule instance is applicable for a specific hint<br>\n * Is required when checkHintApplicability is true\n * @abstract\n */\n static isApplicableForHint(hint: string): boolean {\n throw new IllegalStateException(\n `Missing isApplicableForHint implementation on layout hint rule
|
|
1
|
+
{"version":3,"file":"BaseLayoutHintRule.js","names":["IllegalStateException","BaseLayoutHintRule","isApplicableForAttribute","attribute","isApplicableForHint","hint","initAttribute","initHint","process","attributes","_defineProperty"],"sources":["../../../../src/models/attributes/layouthint-rules/BaseLayoutHintRule.js"],"sourcesContent":["// @flow\n/* eslint-disable no-unused-vars */\n\nimport { IllegalStateException } from \"../../../exceptions\";\n\nimport type { ILayoutHintRule, AttributeType } from \"../../types\";\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type AttributeModel from \"../AttributeModel\";\n\n/**\n * Abstract class for layout hint rules\n * @abstract\n */\nclass BaseLayoutHintRule implements ILayoutHintRule {\n /**\n * Indicates if the rule implements the isApplicableForHint method\n * @type {boolean}\n * @default false\n */\n static checkHintApplicability: boolean = false;\n\n /**\n * Indicates if the rule instance is applicable for a specific attribute<br>\n */\n static isApplicableForAttribute(attribute: AttributeType): boolean {\n return true;\n }\n\n /**\n * Indicates if the rule instance is applicable for a specific hint<br>\n * Is required when checkHintApplicability is true\n * @abstract\n */\n static isApplicableForHint(hint: string): boolean {\n throw new IllegalStateException(\n `Missing isApplicableForHint implementation on layout hint rule`,\n );\n }\n\n /**\n * Initialize the rule when isApplicableForAttribute is true and checkHintApplicability is false\n * @abstract\n */\n static initAttribute(attribute: AttributeType): ILayoutHintRule {\n throw new IllegalStateException(\n `Missing initAttribute implementation on layout hint rule`,\n );\n }\n\n /**\n * Initialize the rule when isApplicableForAttribute and isApplicableForHint are both true,\n * it receives the hint. Allows a rule to be instantiated multiple times for an attribute,\n * but once for each hint entry\n * @abstract\n */\n static initHint(hint: string): ILayoutHintRule {\n throw new IllegalStateException(\n `Missing initHint implementation on layout hint rule`,\n );\n }\n\n /**\n * Abstract method, implements process of layout hint rule,\n * use this to enhance the applicable attribute or the attribute collection\n * @abstract\n */\n process(attribute: AttributeModel, attributes: AttributeCollection): void {\n throw new IllegalStateException(\n `Missing process implementation on layout hint rule`,\n );\n }\n}\n\nexport default BaseLayoutHintRule;\n"],"mappings":";AACA;AAEA,SAASA,qBAAqB,QAAQ,qBAAqB;AAM3D;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,CAA4B;EAQlD;AACF;AACA;EACE,OAAOC,wBAAwBA,CAACC,SAAwB,EAAW;IACjE,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOC,mBAAmBA,CAACC,IAAY,EAAW;IAChD,MAAM,IAAIL,qBAAqB,CAC5B,gEACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE,OAAOM,aAAaA,CAACH,SAAwB,EAAmB;IAC9D,MAAM,IAAIH,qBAAqB,CAC5B,0DACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOO,QAAQA,CAACF,IAAY,EAAmB;IAC7C,MAAM,IAAIL,qBAAqB,CAC5B,qDACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACEQ,OAAOA,CAACL,SAAyB,EAAEM,UAA+B,EAAQ;IACxE,MAAM,IAAIT,qBAAqB,CAC5B,oDACH,CAAC;EACH;AACF;AAzDE;AACF;AACA;AACA;AACA;AAJEU,eAAA,CADIT,kBAAkB,4BAMmB,KAAK;AAsDhD,eAAeA,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependentAttribute.js","names":["BaseLayoutHintRule","DEPENDENT_ATTRIBUTE_CONTROL","DEPENDENT_ATTRIBUTE","ChoiceAttributeModel","BooleanAttributeModel","ConfigurationException","EQUALS","INCLUDES","NOT_EQUALS","NOT_INCLUDES","NOT_IS_EMPTY","IS_EMPTY","SHOW","HIDE","DependentAttribute","constructor","arguments","_defineProperty","isApplicableForHint","hint","regex","RegExp","test","getRuleInstance","initHint","rule","OPERATORS","isEmpyNotIsEmptRegex","result","match","action","control","operator","options","_action","_control","_operator","_options","_context","_mapInstanceProperty","split","call","option","_trimInstanceProperty","processEqualsOptions","controlAttribute","every","_context2","_includesInstanceProperty","selected","processIncludesOptions","some","_context3","handleOperator","length","getControlAttribute","attributes","attribute","getAttributeByLayoutHint","process","processLayoutHintRules","isHidden","hide","label"],"sources":["../../../../src/models/attributes/layouthint-rules/DependentAttribute.js"],"sourcesContent":["// @flow\nimport BaseLayoutHintRule from \"./BaseLayoutHintRule\";\n\nimport {\n DEPENDENT_ATTRIBUTE_CONTROL,\n DEPENDENT_ATTRIBUTE,\n} from \"../../../constants\";\n\nimport ChoiceAttributeModel from \"../ChoiceAttributeModel\";\nimport BooleanAttributeModel from \"../BooleanAttributeModel\";\n\nimport { ConfigurationException } from \"../../../exceptions\";\n\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type AttributeModel from \"../AttributeModel\";\n\nconst EQUALS = \"equals\";\nconst INCLUDES = \"includes\";\nconst NOT_EQUALS = \"notEquals\";\nconst NOT_INCLUDES = \"notIncludes\";\nconst NOT_IS_EMPTY = \"notIsEmpty\";\nconst IS_EMPTY = \"isEmpty\";\n\nconst SHOW = \"show\";\nconst HIDE = \"hide\";\n\n/**\n * Depending attributes hint logic\n */\nclass DependentAttribute extends BaseLayoutHintRule {\n _action: string;\n _control: string;\n _operator: string;\n _options: Array<string>;\n\n /**\n */\n static checkHintApplicability: boolean = true;\n\n /**\n */\n static isApplicableForHint(hint: string): boolean {\n const regex = new RegExp(\n `^${DEPENDENT_ATTRIBUTE}\\\\s?(${SHOW}|${HIDE})`,\n \"i\"\n );\n\n return regex.test(hint);\n }\n\n /**\n * Used on initHint to create an instance of this rule\n */\n static getRuleInstance(): DependentAttribute {\n return new DependentAttribute();\n }\n\n /**\n */\n static initHint(hint: string): any {\n const rule = this.getRuleInstance();\n\n const OPERATORS = `${EQUALS}|${INCLUDES}|${NOT_EQUALS}|${NOT_INCLUDES}|${NOT_IS_EMPTY}|${IS_EMPTY}`;\n const regex = new RegExp(\n `${DEPENDENT_ATTRIBUTE}\\\\s?(\\\\S*)\\\\swhen ${DEPENDENT_ATTRIBUTE_CONTROL}:\\\\s?(.*?)\\\\s*(${OPERATORS})\\\\s(.*)`,\n \"i\"\n );\n const isEmpyNotIsEmptRegex = new RegExp(\n `${DEPENDENT_ATTRIBUTE}\\\\s?(\\\\S*)\\\\swhen ${DEPENDENT_ATTRIBUTE_CONTROL}:\\\\s?(.*?)\\\\s*(${OPERATORS})`,\n \"i\"\n );\n\n const result = hint.match(regex)\n ? hint.match(regex)\n : hint.match(isEmpyNotIsEmptRegex);\n\n if (result) {\n rule.action = result[1];\n rule.control = result[2];\n rule.operator = result[3];\n rule.options = !result[4] ? \"\" : result[4];\n } else {\n throw new ConfigurationException(\n `No dependent information found on layout hint: ${hint}`\n );\n }\n\n return rule;\n }\n\n /**\n */\n get action(): string {\n return this._action;\n }\n\n /**\n */\n set action(action: string) {\n this._action = action;\n }\n\n /**\n */\n get control(): string {\n return this._control;\n }\n\n /**\n */\n set control(control: string) {\n this._control = control;\n }\n\n /**\n */\n get operator(): string {\n return this._operator;\n }\n\n /**\n */\n set operator(operator: string) {\n this._operator = operator;\n }\n\n /**\n */\n get options(): Array<string> {\n return this._options;\n }\n\n /**\n */\n set options(options: string): void {\n this._options = options.split(\"|\").map((option) => option.trim());\n }\n\n /**\n */\n processEqualsOptions(\n controlAttribute: ChoiceAttributeModel | BooleanAttributeModel\n ): boolean {\n if (\n controlAttribute instanceof ChoiceAttributeModel ||\n controlAttribute instanceof BooleanAttributeModel\n ) {\n return this.options.every((option) =>\n controlAttribute.selected.includes(option)\n );\n }\n\n throw new ConfigurationException(\n \"Dependent control in combination with equals operator must be a choice, string or number attribute\"\n );\n }\n\n /**\n */\n processIncludesOptions(\n controlAttribute: ChoiceAttributeModel | BooleanAttributeModel\n ): boolean {\n if (controlAttribute instanceof ChoiceAttributeModel) {\n return this.options.some((option) =>\n controlAttribute.selected.includes(option)\n );\n }\n\n throw new ConfigurationException(\n \"Dependent control in combination with includes operator must be a choice attribute\"\n );\n }\n\n /**\n */\n handleOperator(\n controlAttribute: ChoiceAttributeModel | BooleanAttributeModel\n ): boolean {\n switch (this.operator) {\n case EQUALS:\n return this.processEqualsOptions(controlAttribute);\n case INCLUDES:\n return this.processIncludesOptions(controlAttribute);\n case NOT_EQUALS:\n return !this.processEqualsOptions(controlAttribute);\n case NOT_INCLUDES:\n return !this.processIncludesOptions(controlAttribute);\n case NOT_IS_EMPTY:\n return controlAttribute?.selected.length !== 0;\n case IS_EMPTY:\n return controlAttribute?.selected.length === 0;\n default:\n throw new ConfigurationException(\n `Unsupported operator for dependent question: ${this.operator}`\n );\n }\n }\n\n /**\n */\n getControlAttribute(\n attributes: AttributeCollection\n ): ChoiceAttributeModel | BooleanAttributeModel | null {\n const attribute = attributes.getAttributeByLayoutHint(\n `${DEPENDENT_ATTRIBUTE_CONTROL}:${this.control}`,\n `${DEPENDENT_ATTRIBUTE_CONTROL}: ${this.control}`\n );\n\n if (\n attribute instanceof ChoiceAttributeModel ||\n attribute instanceof BooleanAttributeModel\n ) {\n return attribute;\n }\n\n return null;\n }\n\n /**\n */\n process(attribute: AttributeModel, attributes: AttributeCollection): void {\n const controlAttribute = this.getControlAttribute(attributes);\n if (!controlAttribute) {\n return;\n }\n\n controlAttribute.processLayoutHintRules(attributes);\n if (controlAttribute.isHidden) {\n attribute.hide();\n return;\n }\n\n const result = this.handleOperator(controlAttribute);\n if (this.action === SHOW) {\n attribute.isHidden = !result;\n } else if (this.action === HIDE) {\n attribute.isHidden = result;\n } else {\n throw new ConfigurationException(\n `Unsupported action ${this.action} for dependent question on attribute: ${attribute.label}`\n );\n }\n }\n}\n\nexport default DependentAttribute;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DependentAttribute.js","names":["BaseLayoutHintRule","DEPENDENT_ATTRIBUTE_CONTROL","DEPENDENT_ATTRIBUTE","ChoiceAttributeModel","BooleanAttributeModel","ConfigurationException","EQUALS","INCLUDES","NOT_EQUALS","NOT_INCLUDES","NOT_IS_EMPTY","IS_EMPTY","SHOW","HIDE","DependentAttribute","constructor","arguments","_defineProperty","isApplicableForHint","hint","regex","RegExp","test","getRuleInstance","initHint","rule","OPERATORS","isEmpyNotIsEmptRegex","result","match","action","control","operator","options","_action","_control","_operator","_options","_context","_mapInstanceProperty","split","call","option","_trimInstanceProperty","processEqualsOptions","controlAttribute","every","_context2","_includesInstanceProperty","selected","processIncludesOptions","some","_context3","handleOperator","length","getControlAttribute","attributes","attribute","getAttributeByLayoutHint","process","processLayoutHintRules","isHidden","hide","label"],"sources":["../../../../src/models/attributes/layouthint-rules/DependentAttribute.js"],"sourcesContent":["// @flow\nimport BaseLayoutHintRule from \"./BaseLayoutHintRule\";\n\nimport {\n DEPENDENT_ATTRIBUTE_CONTROL,\n DEPENDENT_ATTRIBUTE,\n} from \"../../../constants\";\n\nimport ChoiceAttributeModel from \"../ChoiceAttributeModel\";\nimport BooleanAttributeModel from \"../BooleanAttributeModel\";\n\nimport { ConfigurationException } from \"../../../exceptions\";\n\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type AttributeModel from \"../AttributeModel\";\n\nconst EQUALS = \"equals\";\nconst INCLUDES = \"includes\";\nconst NOT_EQUALS = \"notEquals\";\nconst NOT_INCLUDES = \"notIncludes\";\nconst NOT_IS_EMPTY = \"notIsEmpty\";\nconst IS_EMPTY = \"isEmpty\";\n\nconst SHOW = \"show\";\nconst HIDE = \"hide\";\n\n/**\n * Depending attributes hint logic\n */\nclass DependentAttribute extends BaseLayoutHintRule {\n _action: string;\n _control: string;\n _operator: string;\n _options: Array<string>;\n\n /**\n */\n static checkHintApplicability: boolean = true;\n\n /**\n */\n static isApplicableForHint(hint: string): boolean {\n const regex = new RegExp(\n `^${DEPENDENT_ATTRIBUTE}\\\\s?(${SHOW}|${HIDE})`,\n \"i\",\n );\n\n return regex.test(hint);\n }\n\n /**\n * Used on initHint to create an instance of this rule\n */\n static getRuleInstance(): DependentAttribute {\n return new DependentAttribute();\n }\n\n /**\n */\n static initHint(hint: string): any {\n const rule = this.getRuleInstance();\n\n const OPERATORS = `${EQUALS}|${INCLUDES}|${NOT_EQUALS}|${NOT_INCLUDES}|${NOT_IS_EMPTY}|${IS_EMPTY}`;\n const regex = new RegExp(\n `${DEPENDENT_ATTRIBUTE}\\\\s?(\\\\S*)\\\\swhen ${DEPENDENT_ATTRIBUTE_CONTROL}:\\\\s?(.*?)\\\\s*(${OPERATORS})\\\\s(.*)`,\n \"i\",\n );\n const isEmpyNotIsEmptRegex = new RegExp(\n `${DEPENDENT_ATTRIBUTE}\\\\s?(\\\\S*)\\\\swhen ${DEPENDENT_ATTRIBUTE_CONTROL}:\\\\s?(.*?)\\\\s*(${OPERATORS})`,\n \"i\",\n );\n\n const result = hint.match(regex)\n ? hint.match(regex)\n : hint.match(isEmpyNotIsEmptRegex);\n\n if (result) {\n rule.action = result[1];\n rule.control = result[2];\n rule.operator = result[3];\n rule.options = !result[4] ? \"\" : result[4];\n } else {\n throw new ConfigurationException(\n `No dependent information found on layout hint: ${hint}`,\n );\n }\n\n return rule;\n }\n\n /**\n */\n get action(): string {\n return this._action;\n }\n\n /**\n */\n set action(action: string) {\n this._action = action;\n }\n\n /**\n */\n get control(): string {\n return this._control;\n }\n\n /**\n */\n set control(control: string) {\n this._control = control;\n }\n\n /**\n */\n get operator(): string {\n return this._operator;\n }\n\n /**\n */\n set operator(operator: string) {\n this._operator = operator;\n }\n\n /**\n */\n get options(): Array<string> {\n return this._options;\n }\n\n /**\n */\n set options(options: string): void {\n this._options = options.split(\"|\").map((option) => option.trim());\n }\n\n /**\n */\n processEqualsOptions(\n controlAttribute: ChoiceAttributeModel | BooleanAttributeModel,\n ): boolean {\n if (\n controlAttribute instanceof ChoiceAttributeModel ||\n controlAttribute instanceof BooleanAttributeModel\n ) {\n return this.options.every((option) =>\n controlAttribute.selected.includes(option),\n );\n }\n\n throw new ConfigurationException(\n \"Dependent control in combination with equals operator must be a choice, string or number attribute\",\n );\n }\n\n /**\n */\n processIncludesOptions(\n controlAttribute: ChoiceAttributeModel | BooleanAttributeModel,\n ): boolean {\n if (controlAttribute instanceof ChoiceAttributeModel) {\n return this.options.some((option) =>\n controlAttribute.selected.includes(option),\n );\n }\n\n throw new ConfigurationException(\n \"Dependent control in combination with includes operator must be a choice attribute\",\n );\n }\n\n /**\n */\n handleOperator(\n controlAttribute: ChoiceAttributeModel | BooleanAttributeModel,\n ): boolean {\n switch (this.operator) {\n case EQUALS:\n return this.processEqualsOptions(controlAttribute);\n case INCLUDES:\n return this.processIncludesOptions(controlAttribute);\n case NOT_EQUALS:\n return !this.processEqualsOptions(controlAttribute);\n case NOT_INCLUDES:\n return !this.processIncludesOptions(controlAttribute);\n case NOT_IS_EMPTY:\n return controlAttribute?.selected.length !== 0;\n case IS_EMPTY:\n return controlAttribute?.selected.length === 0;\n default:\n throw new ConfigurationException(\n `Unsupported operator for dependent question: ${this.operator}`,\n );\n }\n }\n\n /**\n */\n getControlAttribute(\n attributes: AttributeCollection,\n ): ChoiceAttributeModel | BooleanAttributeModel | null {\n const attribute = attributes.getAttributeByLayoutHint(\n `${DEPENDENT_ATTRIBUTE_CONTROL}:${this.control}`,\n `${DEPENDENT_ATTRIBUTE_CONTROL}: ${this.control}`,\n );\n\n if (\n attribute instanceof ChoiceAttributeModel ||\n attribute instanceof BooleanAttributeModel\n ) {\n return attribute;\n }\n\n return null;\n }\n\n /**\n */\n process(attribute: AttributeModel, attributes: AttributeCollection): void {\n const controlAttribute = this.getControlAttribute(attributes);\n if (!controlAttribute) {\n return;\n }\n\n controlAttribute.processLayoutHintRules(attributes);\n if (controlAttribute.isHidden) {\n attribute.hide();\n return;\n }\n\n const result = this.handleOperator(controlAttribute);\n if (this.action === SHOW) {\n attribute.isHidden = !result;\n } else if (this.action === HIDE) {\n attribute.isHidden = result;\n } else {\n throw new ConfigurationException(\n `Unsupported action ${this.action} for dependent question on attribute: ${attribute.label}`,\n );\n }\n }\n}\n\nexport default DependentAttribute;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutHintRuleCollection.js","names":["BaseCollection","BaseLayoutHintRule","DependentAttribute","RemainingTotalUploadSize","IllegalReturnException","layoutHintRules","addLayoutHintRule","rule","push","updateLayoutHintRules","updater","newRules","Array","isArray","LayoutHintRuleCollection","allRules","setLayoutHintRules","attribute","rules","forEach","isApplicableForAttribute","checkHintApplicability","layouthint","hint","isApplicableForHint","add","initHint","initAttribute","process","attributes","all"],"sources":["../../../../src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../../base/BaseCollection\";\n\nimport BaseLayoutHintRule from \"./BaseLayoutHintRule\";\n\nimport DependentAttribute from \"./DependentAttribute\";\nimport RemainingTotalUploadSize from \"./RemainingTotalUploadSize\";\n\nimport { IllegalReturnException } from \"../../../exceptions\";\n\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type { AttributeType, ILayoutHintRule } from \"../../types\";\nimport type AttributeModel from \"../AttributeModel\";\n\n/**\n * Array of available layout hint rules\n * @private\n */\nlet layoutHintRules: Array<Class<BaseLayoutHintRule>> = [\n DependentAttribute,\n RemainingTotalUploadSize,\n];\n\n/**\n * Add custom layout hint rules\n */\nexport const addLayoutHintRule = (rule: Class<BaseLayoutHintRule>) => {\n layoutHintRules.push(rule);\n};\n\ntype LayoutHintRulesUpdater = (\n rules: Array<Class<BaseLayoutHintRule
|
|
1
|
+
{"version":3,"file":"LayoutHintRuleCollection.js","names":["BaseCollection","BaseLayoutHintRule","DependentAttribute","RemainingTotalUploadSize","IllegalReturnException","layoutHintRules","addLayoutHintRule","rule","push","updateLayoutHintRules","updater","newRules","Array","isArray","LayoutHintRuleCollection","allRules","setLayoutHintRules","attribute","rules","forEach","isApplicableForAttribute","checkHintApplicability","layouthint","hint","isApplicableForHint","add","initHint","initAttribute","process","attributes","all"],"sources":["../../../../src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../../base/BaseCollection\";\n\nimport BaseLayoutHintRule from \"./BaseLayoutHintRule\";\n\nimport DependentAttribute from \"./DependentAttribute\";\nimport RemainingTotalUploadSize from \"./RemainingTotalUploadSize\";\n\nimport { IllegalReturnException } from \"../../../exceptions\";\n\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type { AttributeType, ILayoutHintRule } from \"../../types\";\nimport type AttributeModel from \"../AttributeModel\";\n\n/**\n * Array of available layout hint rules\n * @private\n */\nlet layoutHintRules: Array<Class<BaseLayoutHintRule>> = [\n DependentAttribute,\n RemainingTotalUploadSize,\n];\n\n/**\n * Add custom layout hint rules\n */\nexport const addLayoutHintRule = (rule: Class<BaseLayoutHintRule>) => {\n layoutHintRules.push(rule);\n};\n\ntype LayoutHintRulesUpdater = (\n rules: Array<Class<BaseLayoutHintRule>>,\n) => Array<Class<BaseLayoutHintRule>>;\n\n/**\n * Update existing array of layout hint rules, use this to update or remove standard rules\n *\n * @example\n * // remove RemainingTotalUploadSize rule\n * updateLayoutHintRules((rules) => {\n * return rules.filter(rule => rule !== RemainingTotalUploadSize));\n * });\n */\nexport const updateLayoutHintRules = (updater: LayoutHintRulesUpdater) => {\n const newRules = updater(layoutHintRules);\n if (Array.isArray(newRules)) {\n layoutHintRules = newRules;\n } else {\n throw new IllegalReturnException(\n \"Result of updater of updateLayoutHintRules is not an array\",\n );\n }\n};\n\n/**\n * Collection of layout hint rules\n */\nclass LayoutHintRuleCollection extends BaseCollection<ILayoutHintRule> {\n /**\n * Retrieve all rules available in the collection\n */\n get allRules(): Array<Class<BaseLayoutHintRule>> {\n return layoutHintRules;\n }\n\n /**\n * Set layout hint rules on the applicable attributes\n */\n static setLayoutHintRules<T: AttributeType>(attribute: T): T {\n const rules = new LayoutHintRuleCollection();\n\n layoutHintRules.forEach((rule) => {\n if (rule.isApplicableForAttribute(attribute)) {\n if (rule.checkHintApplicability) {\n attribute.layouthint.forEach((hint) => {\n if (rule.isApplicableForHint(hint)) {\n rules.add(rule.initHint(hint));\n }\n });\n } else {\n rules.add(rule.initAttribute(attribute));\n }\n }\n });\n\n attribute.layoutHintRules = rules;\n\n return attribute;\n }\n\n /**\n * Process layout hint rules in the collection\n */\n process(attribute: AttributeModel, attributes: AttributeCollection) {\n this.all.forEach((rule) => {\n rule.process(attribute, attributes);\n });\n }\n}\n\nexport default LayoutHintRuleCollection;\n"],"mappings":"AACA,OAAOA,cAAc,MAAM,2BAA2B;AAEtD,OAAOC,kBAAkB,MAAM,sBAAsB;AAErD,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,wBAAwB,MAAM,4BAA4B;AAEjE,SAASC,sBAAsB,QAAQ,qBAAqB;AAM5D;AACA;AACA;AACA;AACA,IAAIC,eAAiD,GAAG,CACtDH,kBAAkB,EAClBC,wBAAwB,CACzB;;AAED;AACA;AACA;AACA,OAAO,MAAMG,iBAAiB,GAAIC,IAA+B,IAAK;EACpEF,eAAe,CAACG,IAAI,CAACD,IAAI,CAAC;AAC5B,CAAC;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,qBAAqB,GAAIC,OAA+B,IAAK;EACxE,MAAMC,QAAQ,GAAGD,OAAO,CAACL,eAAe,CAAC;EACzC,IAAIO,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;IAC3BN,eAAe,GAAGM,QAAQ;EAC5B,CAAC,MAAM;IACL,MAAM,IAAIP,sBAAsB,CAC9B,4DACF,CAAC;EACH;AACF,CAAC;;AAED;AACA;AACA;AACA,MAAMU,wBAAwB,SAASd,cAAc,CAAkB;EACrE;AACF;AACA;EACE,IAAIe,QAAQA,CAAA,EAAqC;IAC/C,OAAOV,eAAe;EACxB;;EAEA;AACF;AACA;EACE,OAAOW,kBAAkBA,CAAmBC,SAAY,EAAK;IAC3D,MAAMC,KAAK,GAAG,IAAIJ,wBAAwB,CAAC,CAAC;IAE5CT,eAAe,CAACc,OAAO,CAAEZ,IAAI,IAAK;MAChC,IAAIA,IAAI,CAACa,wBAAwB,CAACH,SAAS,CAAC,EAAE;QAC5C,IAAIV,IAAI,CAACc,sBAAsB,EAAE;UAC/BJ,SAAS,CAACK,UAAU,CAACH,OAAO,CAAEI,IAAI,IAAK;YACrC,IAAIhB,IAAI,CAACiB,mBAAmB,CAACD,IAAI,CAAC,EAAE;cAClCL,KAAK,CAACO,GAAG,CAAClB,IAAI,CAACmB,QAAQ,CAACH,IAAI,CAAC,CAAC;YAChC;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACLL,KAAK,CAACO,GAAG,CAAClB,IAAI,CAACoB,aAAa,CAACV,SAAS,CAAC,CAAC;QAC1C;MACF;IACF,CAAC,CAAC;IAEFA,SAAS,CAACZ,eAAe,GAAGa,KAAK;IAEjC,OAAOD,SAAS;EAClB;;EAEA;AACF;AACA;EACEW,OAAOA,CAACX,SAAyB,EAAEY,UAA+B,EAAE;IAClE,IAAI,CAACC,GAAG,CAACX,OAAO,CAAEZ,IAAI,IAAK;MACzBA,IAAI,CAACqB,OAAO,CAACX,SAAS,EAAEY,UAAU,CAAC;IACrC,CAAC,CAAC;EACJ;AACF;AAEA,eAAef,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemainingTotalUploadSize.js","names":["BaseLayoutHintRule","UploadAttributeModel","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","RemainingTotalUploadSize","isApplicableForAttribute","attribute","initAttribute","processUploadInformation","attributes","uploadInformationAttributes","getAttributesByLayoutHint","length","firstHasInitialTotalFileSize","layouthint","has","initialTotalFileSize","value","maxTotalFileSize","process"],"sources":["../../../../src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js"],"sourcesContent":["// @flow\nimport BaseLayoutHintRule from \"./BaseLayoutHintRule\";\n\nimport UploadAttributeModel from \"../UploadAttributeModel\";\n\nimport { INITIAL_TOTAL_FILESIZE, MAX_TOTAL_FILESIZE } from \"../../../constants\";\n\nimport type { AttributeType, ILayoutHintRule } from \"../../types\";\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type AttributeModel from \"../AttributeModel\";\n\n/**\n * This pattern enables showing the upload file size remaining when uploading resources<br>\n * The rule depends on other attributes with the INITIAL_TOTAL_FILESIZE and MAX_TOTAL_FILESIZE layout hints\n */\nclass RemainingTotalUploadSize extends BaseLayoutHintRule {\n /**\n */\n static isApplicableForAttribute(attribute: AttributeType): boolean {\n return attribute instanceof UploadAttributeModel;\n }\n\n /**\n */\n static initAttribute(): ILayoutHintRule {\n return new RemainingTotalUploadSize();\n }\n\n /**\n */\n processUploadInformation(\n attribute: UploadAttributeModel,\n attributes: AttributeCollection
|
|
1
|
+
{"version":3,"file":"RemainingTotalUploadSize.js","names":["BaseLayoutHintRule","UploadAttributeModel","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","RemainingTotalUploadSize","isApplicableForAttribute","attribute","initAttribute","processUploadInformation","attributes","uploadInformationAttributes","getAttributesByLayoutHint","length","firstHasInitialTotalFileSize","layouthint","has","initialTotalFileSize","value","maxTotalFileSize","process"],"sources":["../../../../src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js"],"sourcesContent":["// @flow\nimport BaseLayoutHintRule from \"./BaseLayoutHintRule\";\n\nimport UploadAttributeModel from \"../UploadAttributeModel\";\n\nimport { INITIAL_TOTAL_FILESIZE, MAX_TOTAL_FILESIZE } from \"../../../constants\";\n\nimport type { AttributeType, ILayoutHintRule } from \"../../types\";\nimport type AttributeCollection from \"../AttributeCollection\";\nimport type AttributeModel from \"../AttributeModel\";\n\n/**\n * This pattern enables showing the upload file size remaining when uploading resources<br>\n * The rule depends on other attributes with the INITIAL_TOTAL_FILESIZE and MAX_TOTAL_FILESIZE layout hints\n */\nclass RemainingTotalUploadSize extends BaseLayoutHintRule {\n /**\n */\n static isApplicableForAttribute(attribute: AttributeType): boolean {\n return attribute instanceof UploadAttributeModel;\n }\n\n /**\n */\n static initAttribute(): ILayoutHintRule {\n return new RemainingTotalUploadSize();\n }\n\n /**\n */\n processUploadInformation(\n attribute: UploadAttributeModel,\n attributes: AttributeCollection,\n ) {\n const uploadInformationAttributes = attributes.getAttributesByLayoutHint(\n INITIAL_TOTAL_FILESIZE,\n MAX_TOTAL_FILESIZE,\n );\n\n if (uploadInformationAttributes.length === 2) {\n const firstHasInitialTotalFileSize =\n uploadInformationAttributes[0].layouthint.has(INITIAL_TOTAL_FILESIZE);\n\n const initialTotalFileSize = firstHasInitialTotalFileSize\n ? uploadInformationAttributes[0].value\n : uploadInformationAttributes[1].value;\n\n const maxTotalFileSize = firstHasInitialTotalFileSize\n ? uploadInformationAttributes[1].value\n : uploadInformationAttributes[0].value;\n\n attribute.initialTotalFileSize = initialTotalFileSize;\n attribute.maxTotalFileSize = maxTotalFileSize;\n }\n }\n\n /**\n * Sets tresholds for initial and maximum upload file size\n */\n process(attribute: AttributeModel, attributes: AttributeCollection): void {\n if (attribute instanceof UploadAttributeModel) {\n this.processUploadInformation(attribute, attributes);\n }\n }\n}\n\nexport default RemainingTotalUploadSize;\n"],"mappings":"AACA,OAAOA,kBAAkB,MAAM,sBAAsB;AAErD,OAAOC,oBAAoB,MAAM,yBAAyB;AAE1D,SAASC,sBAAsB,EAAEC,kBAAkB,QAAQ,oBAAoB;AAM/E;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,SAASJ,kBAAkB,CAAC;EACxD;AACF;EACE,OAAOK,wBAAwBA,CAACC,SAAwB,EAAW;IACjE,OAAOA,SAAS,YAAYL,oBAAoB;EAClD;;EAEA;AACF;EACE,OAAOM,aAAaA,CAAA,EAAoB;IACtC,OAAO,IAAIH,wBAAwB,CAAC,CAAC;EACvC;;EAEA;AACF;EACEI,wBAAwBA,CACtBF,SAA+B,EAC/BG,UAA+B,EAC/B;IACA,MAAMC,2BAA2B,GAAGD,UAAU,CAACE,yBAAyB,CACtET,sBAAsB,EACtBC,kBACF,CAAC;IAED,IAAIO,2BAA2B,CAACE,MAAM,KAAK,CAAC,EAAE;MAC5C,MAAMC,4BAA4B,GAChCH,2BAA2B,CAAC,CAAC,CAAC,CAACI,UAAU,CAACC,GAAG,CAACb,sBAAsB,CAAC;MAEvE,MAAMc,oBAAoB,GAAGH,4BAA4B,GACrDH,2BAA2B,CAAC,CAAC,CAAC,CAACO,KAAK,GACpCP,2BAA2B,CAAC,CAAC,CAAC,CAACO,KAAK;MAExC,MAAMC,gBAAgB,GAAGL,4BAA4B,GACjDH,2BAA2B,CAAC,CAAC,CAAC,CAACO,KAAK,GACpCP,2BAA2B,CAAC,CAAC,CAAC,CAACO,KAAK;MAExCX,SAAS,CAACU,oBAAoB,GAAGA,oBAAoB;MACrDV,SAAS,CAACY,gBAAgB,GAAGA,gBAAgB;IAC/C;EACF;;EAEA;AACF;AACA;EACEC,OAAOA,CAACb,SAAyB,EAAEG,UAA+B,EAAQ;IACxE,IAAIH,SAAS,YAAYL,oBAAoB,EAAE;MAC7C,IAAI,CAACO,wBAAwB,CAACF,SAAS,EAAEG,UAAU,CAAC;IACtD;EACF;AACF;AAEA,eAAeL,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCollection.js","names":["klona","BaseCollection","constructor","initCollection","arguments","length","undefined","_defineProperty","collection","_collection","add","items","all","Array","isArray","removeByIndex","itemIndex","_context","_context2","_sliceInstanceProperty","call","hasItems","isEmpty","size","first","last","get","index","find","callbackfn","thisArg","_context3","_findInstanceProperty","filter","_context4","_filterInstanceProperty","some","every","map","_context5","_mapInstanceProperty","forEach","sort","compareFn","_context6","_sortInstanceProperty","sorted","_context7","clone"],"sources":["../../../src/models/base/BaseCollection.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\n/**\n * Base class for collections of models\n */\nclass BaseCollection<T> {\n _collection: Array<T>;\n\n /**\n * Construct base collection\n */\n constructor(initCollection: Array<T> = []) {\n this.collection = initCollection;\n }\n\n /**\n * Retrieve current collection\n */\n get collection(): Array<T> {\n return this._collection;\n }\n\n /**\n * Replace current collection with a new collection\n */\n set collection(collection: Array<T>) {\n this._collection = collection;\n }\n\n /**\n * Add an other collection, array of items or single item to this collection;\n */\n add(items: BaseCollection<T> | Array<T> | T): BaseCollection<T> {\n if (items instanceof BaseCollection) {\n this.collection = [...this.collection, ...items.all];\n } else if (Array.isArray(items)) {\n // $FlowExpectedError[incompatible-type]\n this.collection = [...this.collection, ...items];\n } else {\n this.collection = [...this.collection, items];\n }\n\n return this;\n }\n\n /**\n * Remove an item from the collection by it's index.\n */\n removeByIndex(itemIndex: number) {\n if (itemIndex > -1) {\n this.collection = [\n ...this.collection.slice(0, itemIndex),\n ...this.collection.slice(itemIndex + 1),\n ];\n }\n }\n\n /**\n * Indicates if the collection has items\n */\n get hasItems(): boolean {\n return this.length > 0;\n }\n\n /**\n * Indicates if collection is empty\n */\n get isEmpty(): boolean {\n return !this.hasItems;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<T> {\n return this.collection;\n }\n\n /**\n * Get the size of this collection\n */\n get size(): number {\n return this.length;\n }\n\n /**\n * Get the size of this collection\n */\n get length(): number {\n return this.collection.length;\n }\n\n /**\n * Return first link in collection\n */\n get first(): T | null {\n return this.collection[0] ?? null;\n }\n\n /**\n */\n get last(): T | null {\n return this.collection[this.collection.length - 1] ?? null;\n }\n\n /**\n */\n get(index: number): T | null {\n return this.collection[index] ?? null;\n }\n\n /**\n * Find item\n */\n find(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any
|
|
1
|
+
{"version":3,"file":"BaseCollection.js","names":["klona","BaseCollection","constructor","initCollection","arguments","length","undefined","_defineProperty","collection","_collection","add","items","all","Array","isArray","removeByIndex","itemIndex","_context","_context2","_sliceInstanceProperty","call","hasItems","isEmpty","size","first","last","get","index","find","callbackfn","thisArg","_context3","_findInstanceProperty","filter","_context4","_filterInstanceProperty","some","every","map","_context5","_mapInstanceProperty","forEach","sort","compareFn","_context6","_sortInstanceProperty","sorted","_context7","clone"],"sources":["../../../src/models/base/BaseCollection.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\n/**\n * Base class for collections of models\n */\nclass BaseCollection<T> {\n _collection: Array<T>;\n\n /**\n * Construct base collection\n */\n constructor(initCollection: Array<T> = []) {\n this.collection = initCollection;\n }\n\n /**\n * Retrieve current collection\n */\n get collection(): Array<T> {\n return this._collection;\n }\n\n /**\n * Replace current collection with a new collection\n */\n set collection(collection: Array<T>) {\n this._collection = collection;\n }\n\n /**\n * Add an other collection, array of items or single item to this collection;\n */\n add(items: BaseCollection<T> | Array<T> | T): BaseCollection<T> {\n if (items instanceof BaseCollection) {\n this.collection = [...this.collection, ...items.all];\n } else if (Array.isArray(items)) {\n // $FlowExpectedError[incompatible-type]\n this.collection = [...this.collection, ...items];\n } else {\n this.collection = [...this.collection, items];\n }\n\n return this;\n }\n\n /**\n * Remove an item from the collection by it's index.\n */\n removeByIndex(itemIndex: number) {\n if (itemIndex > -1) {\n this.collection = [\n ...this.collection.slice(0, itemIndex),\n ...this.collection.slice(itemIndex + 1),\n ];\n }\n }\n\n /**\n * Indicates if the collection has items\n */\n get hasItems(): boolean {\n return this.length > 0;\n }\n\n /**\n * Indicates if collection is empty\n */\n get isEmpty(): boolean {\n return !this.hasItems;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<T> {\n return this.collection;\n }\n\n /**\n * Get the size of this collection\n */\n get size(): number {\n return this.length;\n }\n\n /**\n * Get the size of this collection\n */\n get length(): number {\n return this.collection.length;\n }\n\n /**\n * Return first link in collection\n */\n get first(): T | null {\n return this.collection[0] ?? null;\n }\n\n /**\n */\n get last(): T | null {\n return this.collection[this.collection.length - 1] ?? null;\n }\n\n /**\n */\n get(index: number): T | null {\n return this.collection[index] ?? null;\n }\n\n /**\n * Find item\n */\n find(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any,\n ): T | null {\n return this.collection.find(callbackfn, thisArg) ?? null;\n }\n\n /**\n * Filter items\n */\n filter(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any,\n ): Array<T> {\n return this.collection.filter(callbackfn, thisArg);\n }\n\n /**\n * Check if at least one item occurs\n */\n some(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any,\n ): boolean {\n return this.collection.some(callbackfn, thisArg);\n }\n\n /**\n */\n every(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any,\n ): boolean {\n return this.collection.every(callbackfn, thisArg);\n }\n\n /**\n */\n map<U>(\n callbackfn: (value: T, index: number, array: Array<T>) => U,\n thisArg?: T,\n ): Array<U> {\n return this.collection.map<U, ?T>(callbackfn, thisArg);\n }\n\n /**\n */\n forEach(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any,\n ) {\n this.collection.forEach(callbackfn, thisArg);\n }\n\n /**\n */\n sort(compareFn?: (a: T, b: T) => number): Array<T> {\n return this.collection.sort(compareFn);\n }\n\n /**\n * Retrieve an alphabetically sorted array of items\n */\n get sorted(): Array<T> {\n return this.collection.sort();\n }\n\n /**\n * Returns a clone of the model\n */\n clone(): this {\n return klona(this);\n }\n}\n\nexport default BaseCollection;\n"],"mappings":";;;;;;AACA,SAASA,KAAK,QAAQ,YAAY;;AAElC;AACA;AACA;AACA,MAAMC,cAAc,CAAI;EAGtB;AACF;AACA;EACEC,WAAWA,CAAA,EAAgC;IAAA,IAA/BC,cAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAAG,eAAA;IACvC,IAAI,CAACC,UAAU,GAAGL,cAAc;EAClC;;EAEA;AACF;AACA;EACE,IAAIK,UAAUA,CAAA,EAAa;IACzB,OAAO,IAAI,CAACC,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAID,UAAUA,CAACA,UAAoB,EAAE;IACnC,IAAI,CAACC,WAAW,GAAGD,UAAU;EAC/B;;EAEA;AACF;AACA;EACEE,GAAGA,CAACC,KAAuC,EAAqB;IAC9D,IAAIA,KAAK,YAAYV,cAAc,EAAE;MACnC,IAAI,CAACO,UAAU,GAAG,CAAC,GAAG,IAAI,CAACA,UAAU,EAAE,GAAGG,KAAK,CAACC,GAAG,CAAC;IACtD,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MAC/B;MACA,IAAI,CAACH,UAAU,GAAG,CAAC,GAAG,IAAI,CAACA,UAAU,EAAE,GAAGG,KAAK,CAAC;IAClD,CAAC,MAAM;MACL,IAAI,CAACH,UAAU,GAAG,CAAC,GAAG,IAAI,CAACA,UAAU,EAAEG,KAAK,CAAC;IAC/C;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEI,aAAaA,CAACC,SAAiB,EAAE;IAC/B,IAAIA,SAAS,GAAG,CAAC,CAAC,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MAClB,IAAI,CAACV,UAAU,GAAG,CAChB,GAAGW,sBAAA,CAAAF,QAAA,OAAI,CAACT,UAAU,EAAAY,IAAA,CAAAH,QAAA,EAAO,CAAC,EAAED,SAAS,CAAC,EACtC,GAAGG,sBAAA,CAAAD,SAAA,OAAI,CAACV,UAAU,EAAAY,IAAA,CAAAF,SAAA,EAAOF,SAAS,GAAG,CAAC,CAAC,CACxC;IACH;EACF;;EAEA;AACF;AACA;EACE,IAAIK,QAAQA,CAAA,EAAY;IACtB,OAAO,IAAI,CAAChB,MAAM,GAAG,CAAC;EACxB;;EAEA;AACF;AACA;EACE,IAAIiB,OAAOA,CAAA,EAAY;IACrB,OAAO,CAAC,IAAI,CAACD,QAAQ;EACvB;;EAEA;AACF;AACA;EACE,IAAIT,GAAGA,CAAA,EAAa;IAClB,OAAO,IAAI,CAACJ,UAAU;EACxB;;EAEA;AACF;AACA;EACE,IAAIe,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAAClB,MAAM;EACpB;;EAEA;AACF;AACA;EACE,IAAIA,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACG,UAAU,CAACH,MAAM;EAC/B;;EAEA;AACF;AACA;EACE,IAAImB,KAAKA,CAAA,EAAa;IACpB,OAAO,IAAI,CAAChB,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI;EACnC;;EAEA;AACF;EACE,IAAIiB,IAAIA,CAAA,EAAa;IACnB,OAAO,IAAI,CAACjB,UAAU,CAAC,IAAI,CAACA,UAAU,CAACH,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;EAC5D;;EAEA;AACF;EACEqB,GAAGA,CAACC,KAAa,EAAY;IAC3B,OAAO,IAAI,CAACnB,UAAU,CAACmB,KAAK,CAAC,IAAI,IAAI;EACvC;;EAEA;AACF;AACA;EACEC,IAAIA,CACFC,UAA6D,EAC7DC,OAAa,EACH;IAAA,IAAAC,SAAA;IACV,OAAOC,qBAAA,CAAAD,SAAA,OAAI,CAACvB,UAAU,EAAAY,IAAA,CAAAW,SAAA,EAAMF,UAAU,EAAEC,OAAO,CAAC,IAAI,IAAI;EAC1D;;EAEA;AACF;AACA;EACEG,MAAMA,CACJJ,UAA6D,EAC7DC,OAAa,EACH;IAAA,IAAAI,SAAA;IACV,OAAOC,uBAAA,CAAAD,SAAA,OAAI,CAAC1B,UAAU,EAAAY,IAAA,CAAAc,SAAA,EAAQL,UAAU,EAAEC,OAAO,CAAC;EACpD;;EAEA;AACF;AACA;EACEM,IAAIA,CACFP,UAA6D,EAC7DC,OAAa,EACJ;IACT,OAAO,IAAI,CAACtB,UAAU,CAAC4B,IAAI,CAACP,UAAU,EAAEC,OAAO,CAAC;EAClD;;EAEA;AACF;EACEO,KAAKA,CACHR,UAA6D,EAC7DC,OAAa,EACJ;IACT,OAAO,IAAI,CAACtB,UAAU,CAAC6B,KAAK,CAACR,UAAU,EAAEC,OAAO,CAAC;EACnD;;EAEA;AACF;EACEQ,GAAGA,CACDT,UAA2D,EAC3DC,OAAW,EACD;IAAA,IAAAS,SAAA;IACV,OAAOC,oBAAA,CAAAD,SAAA,OAAI,CAAC/B,UAAU,EAAAY,IAAA,CAAAmB,SAAA,EAAYV,UAAU,EAAEC,OAAO,CAAC;EACxD;;EAEA;AACF;EACEW,OAAOA,CACLZ,UAA6D,EAC7DC,OAAa,EACb;IACA,IAAI,CAACtB,UAAU,CAACiC,OAAO,CAACZ,UAAU,EAAEC,OAAO,CAAC;EAC9C;;EAEA;AACF;EACEY,IAAIA,CAACC,SAAkC,EAAY;IAAA,IAAAC,SAAA;IACjD,OAAOC,qBAAA,CAAAD,SAAA,OAAI,CAACpC,UAAU,EAAAY,IAAA,CAAAwB,SAAA,EAAMD,SAAS,CAAC;EACxC;;EAEA;AACF;AACA;EACE,IAAIG,MAAMA,CAAA,EAAa;IAAA,IAAAC,SAAA;IACrB,OAAOF,qBAAA,CAAAE,SAAA,OAAI,CAACvC,UAAU,EAAAY,IAAA,CAAA2B,SAAM,CAAC;EAC/B;;EAEA;AACF;AACA;EACEC,KAAKA,CAAA,EAAS;IACZ,OAAOhD,KAAK,CAAC,IAAI,CAAC;EACpB;AACF;AAEA,eAAeC,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModel.js","names":["klona","LayoutHintCollection","BaseModel","constructor","data","contributions","_defineProperty","_data","_contributions","_layouthint","getContribution","getData","propName","defaultValue","arguments","length","undefined","layouthint","hasData","_Object$keys","connectKey","key","_connectKey","dehydrate","rehydrate","clone"],"sources":["../../../src/models/base/BaseModel.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\nexport type BaseDehydrateData = {\n +data: Object,\n +contributions: Object,\n connectKey: string,\n ...\n};\n\n/**\n * Base model, this is the foundation of a model,\n * it contains data that is needed for all models like, data, contributions and layout hint\n *\n * Extend this for non modular ui resources, for modular ui resource start with the resourceModel\n */\nclass BaseModel {\n _data: Object;\n _contributions: Object;\n _layouthint: LayoutHintCollection;\n _connectKey: string;\n\n /**\n * constructor\n */\n constructor(data: Object, contributions: Object) {\n this._data = data;\n this._contributions = contributions;\n this._layouthint = new LayoutHintCollection(\n this.getContribution(\"layouthint\", [])
|
|
1
|
+
{"version":3,"file":"BaseModel.js","names":["klona","LayoutHintCollection","BaseModel","constructor","data","contributions","_defineProperty","_data","_contributions","_layouthint","getContribution","getData","propName","defaultValue","arguments","length","undefined","layouthint","hasData","_Object$keys","connectKey","key","_connectKey","dehydrate","rehydrate","clone"],"sources":["../../../src/models/base/BaseModel.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\nexport type BaseDehydrateData = {\n +data: Object,\n +contributions: Object,\n connectKey: string,\n ...\n};\n\n/**\n * Base model, this is the foundation of a model,\n * it contains data that is needed for all models like, data, contributions and layout hint\n *\n * Extend this for non modular ui resources, for modular ui resource start with the resourceModel\n */\nclass BaseModel {\n _data: Object;\n _contributions: Object;\n _layouthint: LayoutHintCollection;\n _connectKey: string;\n\n /**\n * constructor\n */\n constructor(data: Object, contributions: Object) {\n this._data = data;\n this._contributions = contributions;\n this._layouthint = new LayoutHintCollection(\n this.getContribution(\"layouthint\", []),\n );\n }\n\n /**\n * Retrieve data\n */\n get data(): Object {\n return this._data || {};\n }\n\n /**\n * Retrieve property from the data object of the model, mostly used internal\n */\n getData(propName: string, defaultValue: any = null): any {\n return this.data[propName] ?? defaultValue;\n }\n\n /**\n * Retrieve contributions\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n * Retrieve property from the contributions of the model, mostly used internal\n */\n getContribution(propName: string, defaultValue: any = null): any {\n return this.contributions[propName] ?? defaultValue;\n }\n\n /**\n * Getting the layouthint\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n * Set the layouthint\n */\n set layouthint(layouthint: Array<string>) {\n this._layouthint = new LayoutHintCollection(layouthint);\n }\n\n /**\n * Indicates if the model has data\n */\n get hasData(): boolean {\n return Object.keys(this.data).length > 0;\n }\n\n /**\n * Set the unique key for this model\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n * Get the unique key of this model\n */\n get connectKey(): string {\n return this._connectKey;\n }\n\n /**\n * Dehydrate internal data, returns the information that is needed to recreate the model\n */\n dehydrate(): BaseDehydrateData {\n return {\n data: this._data,\n contributions: this._contributions,\n connectKey: this._connectKey,\n };\n }\n\n /**\n * Recreate the model with the given data\n */\n rehydrate(data: BaseDehydrateData) {\n this._connectKey = data.connectKey;\n }\n\n /**\n * Returns a clone of the model\n */\n clone(): any {\n return klona(this);\n }\n}\n\nexport default BaseModel;\n"],"mappings":";;AACA,SAASA,KAAK,QAAQ,YAAY;AAElC,OAAOC,oBAAoB,MAAM,oCAAoC;AASrE;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,SAAS,CAAC;EAMd;AACF;AACA;EACEC,WAAWA,CAACC,IAAY,EAAEC,aAAqB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAC/C,IAAI,CAACC,KAAK,GAAGH,IAAI;IACjB,IAAI,CAACI,cAAc,GAAGH,aAAa;IACnC,IAAI,CAACI,WAAW,GAAG,IAAIR,oBAAoB,CACzC,IAAI,CAACS,eAAe,CAAC,YAAY,EAAE,EAAE,CACvC,CAAC;EACH;;EAEA;AACF;AACA;EACE,IAAIN,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACG,KAAK,IAAI,CAAC,CAAC;EACzB;;EAEA;AACF;AACA;EACEI,OAAOA,CAACC,QAAgB,EAAiC;IAAA,IAA/BC,YAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAChD,OAAO,IAAI,CAACV,IAAI,CAACQ,QAAQ,CAAC,IAAIC,YAAY;EAC5C;;EAEA;AACF;AACA;EACE,IAAIR,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACG,cAAc,IAAI,CAAC,CAAC;EAClC;;EAEA;AACF;AACA;EACEE,eAAeA,CAACE,QAAgB,EAAiC;IAAA,IAA/BC,YAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IACxD,OAAO,IAAI,CAACT,aAAa,CAACO,QAAQ,CAAC,IAAIC,YAAY;EACrD;;EAEA;AACF;AACA;EACE,IAAII,UAAUA,CAAA,EAAyB;IACrC,OAAO,IAAI,CAACR,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAIQ,UAAUA,CAACA,UAAyB,EAAE;IACxC,IAAI,CAACR,WAAW,GAAG,IAAIR,oBAAoB,CAACgB,UAAU,CAAC;EACzD;;EAEA;AACF;AACA;EACE,IAAIC,OAAOA,CAAA,EAAY;IACrB,OAAOC,YAAA,CAAY,IAAI,CAACf,IAAI,CAAC,CAACW,MAAM,GAAG,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIK,UAAUA,CAACC,GAAW,EAAE;IAC1B,IAAI,CAACC,WAAW,GAAGD,GAAG;EACxB;;EAEA;AACF;AACA;EACE,IAAID,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACE,WAAW;EACzB;;EAEA;AACF;AACA;EACEC,SAASA,CAAA,EAAsB;IAC7B,OAAO;MACLnB,IAAI,EAAE,IAAI,CAACG,KAAK;MAChBF,aAAa,EAAE,IAAI,CAACG,cAAc;MAClCY,UAAU,EAAE,IAAI,CAACE;IACnB,CAAC;EACH;;EAEA;AACF;AACA;EACEE,SAASA,CAACpB,IAAuB,EAAE;IACjC,IAAI,CAACkB,WAAW,GAAGlB,IAAI,CAACgB,UAAU;EACpC;;EAEA;AACF;AACA;EACEK,KAAKA,CAAA,EAAQ;IACX,OAAOzB,KAAK,CAAC,IAAI,CAAC;EACpB;AACF;AAEA,eAAeE,SAAS"}
|