@beinformed/ui 1.46.0 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/esm/builder/index.js.map +1 -1
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/Constants.js.map +1 -1
- package/esm/constants/LayoutHintConfig.js.map +1 -1
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js +1 -0
- package/esm/constants/Settings.js.map +1 -1
- package/esm/constants/index.js.map +1 -1
- package/esm/exceptions/ConfigurationException.js.map +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/IllegalArgumentException.js.map +1 -1
- package/esm/exceptions/IllegalReturnException.js.map +1 -1
- package/esm/exceptions/IllegalStateException.js.map +1 -1
- package/esm/exceptions/JsonParseException.js.map +1 -1
- package/esm/exceptions/MissingPropertyException.js.map +1 -1
- package/esm/exceptions/NetworkException.js.map +1 -1
- package/esm/exceptions/NotAllowedUriException.js.map +1 -1
- package/esm/exceptions/NotFoundException.js.map +1 -1
- package/esm/exceptions/ServerRequestException.js.map +1 -1
- package/esm/exceptions/ThemePropertyException.js.map +1 -1
- package/esm/exceptions/TimeoutException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
- package/esm/exceptions/index.js.map +1 -1
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/useAllFormsOnModel.js.map +1 -1
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useContent.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModels.js.map +1 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/hooks/useNotification.js.map +1 -1
- package/esm/hooks/usePreference.js.map +1 -1
- package/esm/hooks/useProgressIndicator.js.map +1 -1
- package/esm/hooks/useRouter.js.map +1 -1
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/index.js.map +1 -1
- package/esm/i18n/languages.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/esm/i18n/types.js.map +1 -1
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
- package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
- package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceCollection.js.map +1 -1
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +12 -6
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/ContentTypeModel.js.map +1 -1
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/content/SubSectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorCollection.js.map +1 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/FilterModel.js.map +1 -1
- package/esm/models/filters/RangeFilterModel.js.map +1 -1
- package/esm/models/filters/StringFilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/index.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/links/normalizeLinkJSON.js.map +1 -1
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListHeaderModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/esm/models/paging/PagesizeModel.js.map +1 -1
- package/esm/models/paging/PagingModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/parameter/Parameter.js.map +1 -1
- package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/esm/models/resolveModel.js.map +1 -1
- package/esm/models/search/CaseSearchModel.js.map +1 -1
- package/esm/models/sorting/SortOptionModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/types.js.map +1 -1
- package/esm/models/user/UserModel.js.map +1 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/models/user/UserServicesModel.js.map +1 -1
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/CaptchaRequest.js.map +1 -1
- package/esm/modularui/ModularUIError.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/ModularUIResponse.js.map +1 -1
- package/esm/modularui/UploadRequest.js.map +1 -1
- package/esm/modularui/index.js.map +1 -1
- package/esm/modularui/types.js.map +1 -1
- package/esm/react/ErrorBoundary.js.map +1 -1
- package/esm/react/ErrorBoundaryFallback.js +2 -1
- package/esm/react/ErrorBoundaryFallback.js.map +1 -1
- package/esm/react/index.js.map +1 -1
- package/esm/react/utils.js.map +1 -1
- package/esm/react-client/Init.js.map +1 -1
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/react-client/index.js.map +1 -1
- package/esm/react-client/rehydrate.js.map +1 -1
- package/esm/react-server/contextPath.js.map +1 -1
- package/esm/react-server/createSSRComplete.js.map +1 -1
- package/esm/react-server/htmlpage.js.map +1 -1
- package/esm/react-server/index.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/react-server/requestInformation.js.map +1 -1
- package/esm/react-server/serverNoSSR.js.map +1 -1
- package/esm/react-server/serverSSR.js.map +1 -1
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/react-theme/ThemeProvider.js.map +1 -1
- package/esm/react-theme/createTheme.js.map +1 -1
- package/esm/react-theme/index.js.map +1 -1
- package/esm/react-theme/types.js.map +1 -1
- package/esm/react-theme/useTheme.js.map +1 -1
- package/esm/react-theme/utils/background.js.map +1 -1
- package/esm/react-theme/utils/colors.js.map +1 -1
- package/esm/react-theme/utils/contrast.js.map +1 -1
- package/esm/react-theme/utils/corners.js.map +1 -1
- package/esm/react-theme/utils/spacers.js.map +1 -1
- package/esm/react-theme/utils/themeProps.js.map +1 -1
- package/esm/redux/_i18n/I18nActions.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_i18n/index.js.map +1 -1
- package/esm/redux/_i18n/types.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/redux/_modularui/index.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/redux/_modularui/withModularUI.js.map +1 -1
- package/esm/redux/_router/RouterActions.js.map +1 -1
- package/esm/redux/_router/RouterConnectors.js.map +1 -1
- package/esm/redux/_router/RouterMiddleware.js.map +1 -1
- package/esm/redux/_router/RouterReducer.js.map +1 -1
- package/esm/redux/_router/index.js.map +1 -1
- package/esm/redux/_router/types.js.map +1 -1
- package/esm/redux/actions/Application.js.map +1 -1
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/redux/actions/Error.js.map +1 -1
- package/esm/redux/actions/Form.js.map +1 -1
- package/esm/redux/actions/FormAttributeSet.js.map +1 -1
- package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/esm/redux/actions/FormAutosave.js.map +1 -1
- package/esm/redux/actions/FormAutosubmit.js.map +1 -1
- package/esm/redux/actions/FormValidations.js.map +1 -1
- package/esm/redux/actions/Modals.js.map +1 -1
- package/esm/redux/actions/Notification.js.map +1 -1
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/actions/ProgressIndicator.js.map +1 -1
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/esm/redux/actions/SignOut.js.map +1 -1
- package/esm/redux/actions/index.js.map +1 -1
- package/esm/redux/connectors/Application.js.map +1 -1
- package/esm/redux/connectors/Breadcrumb.js.map +1 -1
- package/esm/redux/connectors/CaseView.js.map +1 -1
- package/esm/redux/connectors/ConceptDetail.js.map +1 -1
- package/esm/redux/connectors/ContentBrowser.js.map +1 -1
- package/esm/redux/connectors/ContentDetail.js.map +1 -1
- package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
- package/esm/redux/connectors/Form.js.map +1 -1
- package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
- package/esm/redux/connectors/ListDetail.js.map +1 -1
- package/esm/redux/connectors/Modal.js.map +1 -1
- package/esm/redux/connectors/ModelCatalog.js.map +1 -1
- package/esm/redux/connectors/Notification.js.map +1 -1
- package/esm/redux/connectors/PanelRenderer.js.map +1 -1
- package/esm/redux/connectors/Preferences.js.map +1 -1
- package/esm/redux/connectors/Progress.js.map +1 -1
- package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
- package/esm/redux/connectors/QuickSearch.js.map +1 -1
- package/esm/redux/connectors/SignIn.js.map +1 -1
- package/esm/redux/connectors/SignOut.js.map +1 -1
- package/esm/redux/connectors/Tab.js.map +1 -1
- package/esm/redux/connectors/index.js.map +1 -1
- package/esm/redux/index.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/reducers/ErrorReducer.js.map +1 -1
- package/esm/redux/reducers/ModalsReducer.js.map +1 -1
- package/esm/redux/reducers/NotificationReducer.js.map +1 -1
- package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
- package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/esm/redux/reducers/createReducer.js.map +1 -1
- package/esm/redux/reducers/index.js.map +1 -1
- package/esm/redux/selectors/i18n.js.map +1 -1
- package/esm/redux/selectors/index.js.map +1 -1
- package/esm/redux/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js +5 -0
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/redux/types.js.map +1 -1
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/serverFetch.js.map +1 -1
- package/esm/utils/fetch/types.js.map +1 -1
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/checkResource.js.map +1 -1
- package/esm/utils/helpers/createHash.js.map +1 -1
- package/esm/utils/helpers/createHref.js.map +1 -1
- package/esm/utils/helpers/createUUID.js.map +1 -1
- package/esm/utils/helpers/index.js.map +1 -1
- package/esm/utils/helpers/objects.js.map +1 -1
- package/esm/utils/helpers/repositoryResource.js.map +1 -1
- package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
- package/esm/utils/helpers/text.js.map +1 -1
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/number/DecimalFormat.js.map +1 -1
- package/esm/utils/number/formatValue.js.map +1 -1
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/builder/index.js.map +1 -1
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/Constants.js.map +1 -1
- package/lib/constants/LayoutHintConfig.js.map +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js +1 -0
- package/lib/constants/Settings.js.flow +3 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/constants/index.js.map +1 -1
- package/lib/exceptions/ConfigurationException.js.map +1 -1
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/exceptions/IllegalArgumentException.js.map +1 -1
- package/lib/exceptions/IllegalReturnException.js.map +1 -1
- package/lib/exceptions/IllegalStateException.js.map +1 -1
- package/lib/exceptions/JsonParseException.js.map +1 -1
- package/lib/exceptions/MissingPropertyException.js.map +1 -1
- package/lib/exceptions/NetworkException.js.map +1 -1
- package/lib/exceptions/NotAllowedUriException.js.map +1 -1
- package/lib/exceptions/NotFoundException.js.map +1 -1
- package/lib/exceptions/ServerRequestException.js.map +1 -1
- package/lib/exceptions/ThemePropertyException.js.map +1 -1
- package/lib/exceptions/TimeoutException.js.map +1 -1
- package/lib/exceptions/UnauthorizedException.js.map +1 -1
- package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
- package/lib/exceptions/index.js.map +1 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModels.js.map +1 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/hooks/useProgressIndicator.js.map +1 -1
- package/lib/hooks/useRouter.js.map +1 -1
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/index.js +1 -1
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/languages.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
- package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
- package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceCollection.js.map +1 -1
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js +12 -6
- package/lib/models/concepts/BusinessScenarioModel.js.flow +20 -10
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/ContentTypeModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/FilterModel.js.map +1 -1
- package/lib/models/filters/RangeFilterModel.js.map +1 -1
- package/lib/models/filters/StringFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/index.js +1 -1
- package/lib/models/index.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/links/normalizeLinkJSON.js.map +1 -1
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListHeaderModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
- package/lib/models/paging/PagesizeModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/search/CaseSearchModel.js.map +1 -1
- package/lib/models/sorting/SortOptionModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/CaptchaRequest.js.map +1 -1
- package/lib/modularui/ModularUIError.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/modularui/UploadRequest.js.map +1 -1
- package/lib/modularui/index.js.map +1 -1
- package/lib/modularui/types.js.map +1 -1
- package/lib/react/ErrorBoundary.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react/index.js.map +1 -1
- package/lib/react/utils.js.map +1 -1
- package/lib/react-client/Init.js.map +1 -1
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/contextPath.js.map +1 -1
- package/lib/react-client/index.js.map +1 -1
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/contextPath.js.map +1 -1
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/htmlpage.js.map +1 -1
- package/lib/react-server/index.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js +1 -1
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/index.js.map +1 -1
- package/lib/react-theme/types.js.map +1 -1
- package/lib/react-theme/useTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/I18nActions.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_i18n/index.js.map +1 -1
- package/lib/redux/_i18n/types.js.map +1 -1
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/redux/_modularui/index.js.map +1 -1
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/RouterActions.js.map +1 -1
- package/lib/redux/_router/RouterConnectors.js.map +1 -1
- package/lib/redux/_router/RouterMiddleware.js.map +1 -1
- package/lib/redux/_router/RouterReducer.js.map +1 -1
- package/lib/redux/_router/index.js.map +1 -1
- package/lib/redux/_router/types.js.map +1 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/Form.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Modals.js.map +1 -1
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/ProgressIndicator.js.map +1 -1
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/SignOut.js.map +1 -1
- package/lib/redux/actions/index.js.map +1 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/connectors/index.js.map +1 -1
- package/lib/redux/index.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/ErrorReducer.js.map +1 -1
- package/lib/redux/reducers/ModalsReducer.js.map +1 -1
- package/lib/redux/reducers/NotificationReducer.js.map +1 -1
- package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
- package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
- package/lib/redux/reducers/createReducer.js.map +1 -1
- package/lib/redux/reducers/index.js.map +1 -1
- package/lib/redux/selectors/i18n.js.map +1 -1
- package/lib/redux/selectors/index.js.map +1 -1
- package/lib/redux/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js +5 -0
- package/lib/redux/store/configureStore.js.flow +8 -0
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/redux/types.js.map +1 -1
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/serverFetch.js.map +1 -1
- package/lib/utils/fetch/types.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/createHash.js.map +1 -1
- package/lib/utils/helpers/createHref.js.map +1 -1
- package/lib/utils/helpers/createUUID.js.map +1 -1
- package/lib/utils/helpers/index.js.map +1 -1
- package/lib/utils/helpers/objects.js.map +1 -1
- package/lib/utils/helpers/repositoryResource.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/number/DecimalFormat.js.map +1 -1
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +7 -7
- package/src/constants/Settings.js +3 -0
- package/src/models/concepts/BusinessScenarioModel.js +20 -10
- package/src/redux/store/configureStore.js +8 -0
|
@@ -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\",\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
|
+
{"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":"PasswordConfirmConstraint.js","names":["PasswordConfirmConstraint","constructor","otherPasswordValue","otherPasswordLabel","_defineProperty","_otherPasswordLabel","_otherPasswordValue","id","hasValidation","defaultMessage","parameters","other","validate","value","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordConfirmConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordConfirmConstraint implements IConstraintModel {\n _otherPasswordLabel: string;\n _otherPasswordValue: string;\n\n /**\n */\n constructor(otherPasswordValue: string, otherPasswordLabel: string) {\n this._otherPasswordLabel = otherPasswordLabel;\n this._otherPasswordValue = otherPasswordValue;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.ConfirmMismatch\";\n }\n\n /**\n */\n get otherPasswordLabel(): string {\n return this._otherPasswordLabel;\n }\n\n /**\n */\n get otherPasswordValue(): string {\n return this._otherPasswordValue;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must match ${other} field\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { other: string } {\n return {\n other: this.otherPasswordLabel,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n return value === this.otherPasswordValue;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordConfirmConstraint;\n"],"mappings":";AAGA;AACA;AACA,MAAMA,yBAAyB,CAA6B;EAI1D;AACF;EACEC,WAAWA,CAACC,kBAA0B,EAAEC,kBAA0B,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAClE,IAAI,CAACC,mBAAmB,GAAGF,kBAAkB;IAC7C,IAAI,CAACG,mBAAmB,GAAGJ,kBAAkB;EAC/C;;EAEA;AACF;EACE,IAAIK,EAAEA,CAAA,EAAW;IACf,OAAO,qCAAqC;EAC9C;;EAEA;AACF;EACE,IAAIJ,kBAAkBA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACE,mBAAmB;EACjC;;EAEA;AACF;EACE,IAAIH,kBAAkBA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACI,mBAAmB;EACjC;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,2BAA2B,CAAC,CAAC;EACtC;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAsB;IAClC,OAAO;MACLC,KAAK,EAAE,IAAI,CAACR;IACd,CAAC;EACH;;EAEA;AACF;EACES,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAOA,KAAK,KAAK,IAAI,CAACX,kBAAkB;EAC1C;;EAEA;AACF;EACE,IAAIY,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAed,yBAAyB"
|
|
1
|
+
{"version":3,"file":"PasswordConfirmConstraint.js","names":["PasswordConfirmConstraint","constructor","otherPasswordValue","otherPasswordLabel","_defineProperty","_otherPasswordLabel","_otherPasswordValue","id","hasValidation","defaultMessage","parameters","other","validate","value","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordConfirmConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordConfirmConstraint implements IConstraintModel {\n _otherPasswordLabel: string;\n _otherPasswordValue: string;\n\n /**\n */\n constructor(otherPasswordValue: string, otherPasswordLabel: string) {\n this._otherPasswordLabel = otherPasswordLabel;\n this._otherPasswordValue = otherPasswordValue;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.ConfirmMismatch\";\n }\n\n /**\n */\n get otherPasswordLabel(): string {\n return this._otherPasswordLabel;\n }\n\n /**\n */\n get otherPasswordValue(): string {\n return this._otherPasswordValue;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must match ${other} field\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { other: string } {\n return {\n other: this.otherPasswordLabel,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n return value === this.otherPasswordValue;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordConfirmConstraint;\n"],"mappings":";AAGA;AACA;AACA,MAAMA,yBAAyB,CAA6B;EAI1D;AACF;EACEC,WAAWA,CAACC,kBAA0B,EAAEC,kBAA0B,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAClE,IAAI,CAACC,mBAAmB,GAAGF,kBAAkB;IAC7C,IAAI,CAACG,mBAAmB,GAAGJ,kBAAkB;EAC/C;;EAEA;AACF;EACE,IAAIK,EAAEA,CAAA,EAAW;IACf,OAAO,qCAAqC;EAC9C;;EAEA;AACF;EACE,IAAIJ,kBAAkBA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACE,mBAAmB;EACjC;;EAEA;AACF;EACE,IAAIH,kBAAkBA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACI,mBAAmB;EACjC;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,2BAA2B,CAAC,CAAC;EACtC;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAsB;IAClC,OAAO;MACLC,KAAK,EAAE,IAAI,CAACR;IACd,CAAC;EACH;;EAEA;AACF;EACES,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAOA,KAAK,KAAK,IAAI,CAACX,kBAAkB;EAC1C;;EAEA;AACF;EACE,IAAIY,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAed,yBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordLowerAndUpperCaseConstraint.js","names":["PasswordLowerAndUpperCaseConstraint","id","hasValidation","defaultMessage","parameters","validate","value","test","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordLowerAndUpperCaseConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.Password.LowerAndUpperCaseMandatory\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must contain both upper and lowercase characters\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n validate(value: string): boolean {\n return /[a-z]/u.test(value) && /[A-Z]/u.test(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordLowerAndUpperCaseConstraint;\n"],"mappings":"AAGA;AACA;AACA,MAAMA,mCAAmC,CAA6B;EACpE;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,gDAAgD;EACzD;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,kDAAkD;EAC3D;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAO,QAAQ,CAACC,IAAI,CAACD,KAAK,CAAC,IAAI,QAAQ,CAACC,IAAI,CAACD,KAAK,CAAC;EACrD;;EAEA;AACF;EACE,IAAIE,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAeR,mCAAmC"
|
|
1
|
+
{"version":3,"file":"PasswordLowerAndUpperCaseConstraint.js","names":["PasswordLowerAndUpperCaseConstraint","id","hasValidation","defaultMessage","parameters","validate","value","test","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordLowerAndUpperCaseConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.Password.LowerAndUpperCaseMandatory\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must contain both upper and lowercase characters\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n validate(value: string): boolean {\n return /[a-z]/u.test(value) && /[A-Z]/u.test(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordLowerAndUpperCaseConstraint;\n"],"mappings":"AAGA;AACA;AACA,MAAMA,mCAAmC,CAA6B;EACpE;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,gDAAgD;EACzD;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,kDAAkD;EAC3D;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAO,QAAQ,CAACC,IAAI,CAACD,KAAK,CAAC,IAAI,QAAQ,CAACC,IAAI,CAACD,KAAK,CAAC;EACrD;;EAEA;AACF;EACE,IAAIE,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAeR,mCAAmC"}
|
package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordMinNumericCharactersConstraint.js","names":["PasswordMinNumericCharactersConstraint","constructor","minNumeric","_defineProperty","_minNumeric","id","hasValidation","defaultMessage","parameters","validate","value","replace","length","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordMinNumericCharactersConstraint implements IConstraintModel {\n _minNumeric: number;\n\n /**\n */\n constructor(minNumeric: number) {\n this._minNumeric = minNumeric;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.MinNumericCharactersMandatory\";\n }\n\n /**\n */\n get minNumeric(): number {\n return this._minNumeric;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must contain ${min-numeric} or more numerical characters\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { \"min-numeric\": number } {\n return {\n \"min-numeric\": this.minNumeric,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n return value.replace(/\\D/gu, \"\").length >= this.minNumeric;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordMinNumericCharactersConstraint;\n"],"mappings":";AAGA;AACA;AACA,MAAMA,sCAAsC,CAA6B;EAGvE;AACF;EACEC,WAAWA,CAACC,UAAkB,EAAE;IAAAC,eAAA;IAC9B,IAAI,CAACC,WAAW,GAAGF,UAAU;EAC/B;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,OAAO,mDAAmD;EAC5D;;EAEA;AACF;EACE,IAAIH,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACE,WAAW;EACzB;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,0DAA0D,CAAC,CAAC;EACrE;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA8B;IAC1C,OAAO;MACL,aAAa,EAAE,IAAI,CAACN;IACtB,CAAC;EACH;;EAEA;AACF;EACEO,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAOA,KAAK,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAACC,MAAM,IAAI,IAAI,CAACV,UAAU;EAC5D;;EAEA;AACF;EACE,IAAIW,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAeb,sCAAsC"
|
|
1
|
+
{"version":3,"file":"PasswordMinNumericCharactersConstraint.js","names":["PasswordMinNumericCharactersConstraint","constructor","minNumeric","_defineProperty","_minNumeric","id","hasValidation","defaultMessage","parameters","validate","value","replace","length","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordMinNumericCharactersConstraint implements IConstraintModel {\n _minNumeric: number;\n\n /**\n */\n constructor(minNumeric: number) {\n this._minNumeric = minNumeric;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.MinNumericCharactersMandatory\";\n }\n\n /**\n */\n get minNumeric(): number {\n return this._minNumeric;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must contain ${min-numeric} or more numerical characters\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { \"min-numeric\": number } {\n return {\n \"min-numeric\": this.minNumeric,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n return value.replace(/\\D/gu, \"\").length >= this.minNumeric;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordMinNumericCharactersConstraint;\n"],"mappings":";AAGA;AACA;AACA,MAAMA,sCAAsC,CAA6B;EAGvE;AACF;EACEC,WAAWA,CAACC,UAAkB,EAAE;IAAAC,eAAA;IAC9B,IAAI,CAACC,WAAW,GAAGF,UAAU;EAC/B;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,OAAO,mDAAmD;EAC5D;;EAEA;AACF;EACE,IAAIH,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACE,WAAW;EACzB;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,0DAA0D,CAAC,CAAC;EACrE;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA8B;IAC1C,OAAO;MACL,aAAa,EAAE,IAAI,CAACN;IACtB,CAAC;EACH;;EAEA;AACF;EACEO,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAOA,KAAK,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAACC,MAAM,IAAI,IAAI,CAACV,UAAU;EAC5D;;EAEA;AACF;EACE,IAAIW,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAeb,sCAAsC"}
|
package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordMinSpecialCharactersConstraint.js","names":["PasswordMinSpecialCharactersConstraint","constructor","minSpecial","_defineProperty","_minSpecial","id","hasValidation","defaultMessage","parameters","validate","value","replace","length","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordMinSpecialCharactersConstraint implements IConstraintModel {\n _minSpecial: number;\n\n /**\n */\n constructor(minSpecial: number) {\n this._minSpecial = minSpecial;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.MinSpecialCharactersMandatory\";\n }\n\n /**\n */\n get minSpecial(): number {\n return this._minSpecial;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must contain ${min-special} or more special characters\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { \"min-special\": number } {\n return {\n \"min-special\": this.minSpecial,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n return value.replace(/[\\da-z]/giu, \"\").length >= this.minSpecial;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordMinSpecialCharactersConstraint;\n"],"mappings":";AAGA;AACA;AACA,MAAMA,sCAAsC,CAA6B;EAGvE;AACF;EACEC,WAAWA,CAACC,UAAkB,EAAE;IAAAC,eAAA;IAC9B,IAAI,CAACC,WAAW,GAAGF,UAAU;EAC/B;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,OAAO,mDAAmD;EAC5D;;EAEA;AACF;EACE,IAAIH,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACE,WAAW;EACzB;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,wDAAwD,CAAC,CAAC;EACnE;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA8B;IAC1C,OAAO;MACL,aAAa,EAAE,IAAI,CAACN;IACtB,CAAC;EACH;;EAEA;AACF;EACEO,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAOA,KAAK,CAACC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAACC,MAAM,IAAI,IAAI,CAACV,UAAU;EAClE;;EAEA;AACF;EACE,IAAIW,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAeb,sCAAsC"
|
|
1
|
+
{"version":3,"file":"PasswordMinSpecialCharactersConstraint.js","names":["PasswordMinSpecialCharactersConstraint","constructor","minSpecial","_defineProperty","_minSpecial","id","hasValidation","defaultMessage","parameters","validate","value","replace","length","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordMinSpecialCharactersConstraint implements IConstraintModel {\n _minSpecial: number;\n\n /**\n */\n constructor(minSpecial: number) {\n this._minSpecial = minSpecial;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.MinSpecialCharactersMandatory\";\n }\n\n /**\n */\n get minSpecial(): number {\n return this._minSpecial;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must contain ${min-special} or more special characters\"; // NOSONAR\n }\n\n /**\n */\n get parameters(): { \"min-special\": number } {\n return {\n \"min-special\": this.minSpecial,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n return value.replace(/[\\da-z]/giu, \"\").length >= this.minSpecial;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordMinSpecialCharactersConstraint;\n"],"mappings":";AAGA;AACA;AACA,MAAMA,sCAAsC,CAA6B;EAGvE;AACF;EACEC,WAAWA,CAACC,UAAkB,EAAE;IAAAC,eAAA;IAC9B,IAAI,CAACC,WAAW,GAAGF,UAAU;EAC/B;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,OAAO,mDAAmD;EAC5D;;EAEA;AACF;EACE,IAAIH,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACE,WAAW;EACzB;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,wDAAwD,CAAC,CAAC;EACnE;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA8B;IAC1C,OAAO;MACL,aAAa,EAAE,IAAI,CAACN;IACtB,CAAC;EACH;;EAEA;AACF;EACEO,QAAQA,CAACC,KAAa,EAAW;IAC/B,OAAOA,KAAK,CAACC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAACC,MAAM,IAAI,IAAI,CAACV,UAAU;EAClE;;EAEA;AACF;EACE,IAAIW,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAeb,sCAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordThreeConsecutiveCharactersNotAllowedConstraint.js","names":["PasswordThreeConsecutiveCharactersNotAllowedConstraint","constructor","maxSequence","arguments","length","undefined","_defineProperty","_maxSequence","id","hasValidation","defaultMessage","parameters","hasNoSequenceOfIdenticalCharacters","value","_context","_filterInstanceProperty","split","call","char","i","indexOf","some","sequence","_repeatInstanceProperty","_includesInstanceProperty","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordThreeConsecutiveCharactersNotAllowedConstraint\n implements IConstraintModel\n{\n _maxSequence: number;\n\n /**\n */\n constructor(maxSequence: number = 2) {\n this._maxSequence = maxSequence;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.ThreeConsecutiveCharactersNotAllowed\";\n }\n\n /**\n */\n get maxSequence(): number {\n return this._maxSequence;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must not contain any character more than twice consecutively\";\n }\n\n /**\n */\n get parameters(): { \"max-sequence\": number } {\n return {\n \"max-sequence\": this.maxSequence,\n };\n }\n\n /**\n */\n hasNoSequenceOfIdenticalCharacters(value: string): boolean {\n return !value\n .split(\"\")\n .filter((char, i) => value.indexOf(char) === i)\n .some((char) => {\n const sequence = char.repeat(this.maxSequence + 1);\n return value.includes(sequence);\n });\n }\n\n /**\n */\n validate(value: string): boolean {\n return this.hasNoSequenceOfIdenticalCharacters(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordThreeConsecutiveCharactersNotAllowedConstraint;\n"],"mappings":";;;;AAGA;AACA;AACA,MAAMA,sDAAsD,CAE5D;EAGE;AACF;EACEC,WAAWA,CAAA,EAA0B;IAAA,IAAzBC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;IAAAG,eAAA;IACjC,IAAI,CAACC,YAAY,GAAGL,WAAW;EACjC;;EAEA;AACF;EACE,IAAIM,EAAEA,CAAA,EAAW;IACf,OAAO,0DAA0D;EACnE;;EAEA;AACF;EACE,IAAIN,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACK,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,8DAA8D;EACvE;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA+B;IAC3C,OAAO;MACL,cAAc,EAAE,IAAI,CAACT;IACvB,CAAC;EACH;;EAEA;AACF;EACEU,kCAAkCA,CAACC,KAAa,EAAW;IAAA,IAAAC,QAAA;IACzD,OAAO,CAACC,uBAAA,CAAAD,QAAA,GAAAD,KAAK,CACVG,KAAK,CAAC,EAAE,CAAC,EAAAC,IAAA,CAAAH,QAAA,EACF,CAACI,IAAI,EAAEC,CAAC,KAAKN,KAAK,CAACO,OAAO,CAACF,IAAI,CAAC,KAAKC,CAAC,CAAC,CAC9CE,IAAI,CAAEH,IAAI,IAAK;MACd,MAAMI,QAAQ,GAAGC,uBAAA,CAAAL,IAAI,EAAAD,IAAA,CAAJC,IAAI,EAAQ,IAAI,CAAChB,WAAW,GAAG,CAAC,CAAC;MAClD,OAAOsB,yBAAA,CAAAX,KAAK,EAAAI,IAAA,CAALJ,KAAK,EAAUS,QAAQ,CAAC;IACjC,CAAC,CAAC;EACN;;EAEA;AACF;EACEG,QAAQA,CAACZ,KAAa,EAAW;IAC/B,OAAO,IAAI,CAACD,kCAAkC,CAACC,KAAK,CAAC;EACvD;;EAEA;AACF;EACE,IAAIa,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAe1B,sDAAsD"
|
|
1
|
+
{"version":3,"file":"PasswordThreeConsecutiveCharactersNotAllowedConstraint.js","names":["PasswordThreeConsecutiveCharactersNotAllowedConstraint","constructor","maxSequence","arguments","length","undefined","_defineProperty","_maxSequence","id","hasValidation","defaultMessage","parameters","hasNoSequenceOfIdenticalCharacters","value","_context","_filterInstanceProperty","split","call","char","i","indexOf","some","sequence","_repeatInstanceProperty","_includesInstanceProperty","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass PasswordThreeConsecutiveCharactersNotAllowedConstraint\n implements IConstraintModel\n{\n _maxSequence: number;\n\n /**\n */\n constructor(maxSequence: number = 2) {\n this._maxSequence = maxSequence;\n }\n\n /**\n */\n get id(): string {\n return \"Constraint.Password.ThreeConsecutiveCharactersNotAllowed\";\n }\n\n /**\n */\n get maxSequence(): number {\n return this._maxSequence;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must not contain any character more than twice consecutively\";\n }\n\n /**\n */\n get parameters(): { \"max-sequence\": number } {\n return {\n \"max-sequence\": this.maxSequence,\n };\n }\n\n /**\n */\n hasNoSequenceOfIdenticalCharacters(value: string): boolean {\n return !value\n .split(\"\")\n .filter((char, i) => value.indexOf(char) === i)\n .some((char) => {\n const sequence = char.repeat(this.maxSequence + 1);\n return value.includes(sequence);\n });\n }\n\n /**\n */\n validate(value: string): boolean {\n return this.hasNoSequenceOfIdenticalCharacters(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default PasswordThreeConsecutiveCharactersNotAllowedConstraint;\n"],"mappings":";;;;AAGA;AACA;AACA,MAAMA,sDAAsD,CAE5D;EAGE;AACF;EACEC,WAAWA,CAAA,EAA0B;IAAA,IAAzBC,WAAmB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;IAAAG,eAAA;IACjC,IAAI,CAACC,YAAY,GAAGL,WAAW;EACjC;;EAEA;AACF;EACE,IAAIM,EAAEA,CAAA,EAAW;IACf,OAAO,0DAA0D;EACnE;;EAEA;AACF;EACE,IAAIN,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACK,YAAY;EAC1B;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,8DAA8D;EACvE;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAA+B;IAC3C,OAAO;MACL,cAAc,EAAE,IAAI,CAACT;IACvB,CAAC;EACH;;EAEA;AACF;EACEU,kCAAkCA,CAACC,KAAa,EAAW;IAAA,IAAAC,QAAA;IACzD,OAAO,CAACC,uBAAA,CAAAD,QAAA,GAAAD,KAAK,CACVG,KAAK,CAAC,EAAE,CAAC,EAAAC,IAAA,CAAAH,QAAA,EACF,CAACI,IAAI,EAAEC,CAAC,KAAKN,KAAK,CAACO,OAAO,CAACF,IAAI,CAAC,KAAKC,CAAC,CAAC,CAC9CE,IAAI,CAAEH,IAAI,IAAK;MACd,MAAMI,QAAQ,GAAGC,uBAAA,CAAAL,IAAI,EAAAD,IAAA,CAAJC,IAAI,EAAQ,IAAI,CAAChB,WAAW,GAAG,CAAC,CAAC;MAClD,OAAOsB,yBAAA,CAAAX,KAAK,EAAAI,IAAA,CAALJ,KAAK,EAAUS,QAAQ,CAAC;IACjC,CAAC,CAAC;EACN;;EAEA;AACF;EACEG,QAAQA,CAACZ,KAAa,EAAW;IAC/B,OAAO,IAAI,CAACD,kCAAkC,CAACC,KAAK,CAAC;EACvD;;EAEA;AACF;EACE,IAAIa,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAe1B,sDAAsD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeConstraint.js","names":["DateUtil","DateTimeUtil","TimestampUtil","TimeUtil","RangeConstraint","constructor","startAttribute","endAttribute","_defineProperty","_start","_end","id","hasInclusiveBounds","rangeType","defaultMessage","inclusivePart","hasValidation","parameters","start","end","type","operator","util","doValidate","startValue","endValue","isSameOrBefore","isBefore","validate","inError","value","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/RangeConstraint.js"],"sourcesContent":["// @flow\nimport {\n DateUtil,\n DateTimeUtil,\n TimestampUtil,\n TimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { AttributeType } from \"../../types\";\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass RangeConstraint implements IConstraintModel {\n _start: AttributeType;\n _end: AttributeType;\n\n /**\n */\n constructor(startAttribute: AttributeType, endAttribute: AttributeType) {\n this._start = startAttribute;\n this._end = endAttribute;\n }\n\n /**\n */\n get id(): string {\n const id = this.hasInclusiveBounds\n ? \"InvalidRangeInclusive\"\n : \"InvalidRange\";\n\n switch (this.rangeType) {\n case \"time\":\n return `Constraint.TimeRange.${id}`;\n case \"date\":\n return `Constraint.DateRange.${id}`;\n case \"datetime\":\n return `Constraint.DateTimeRange.${id}`;\n case \"timestamp\":\n return `Constraint.TimeStampRange.${id}`;\n default:\n return `Constraint.NumberRange.${id}`;\n }\n }\n\n /**\n */\n get defaultMessage(): string {\n const inclusivePart = this.hasInclusiveBounds ? \" or equal to the\" : \"\";\n\n switch (this.rangeType) {\n case \"time\":\n return `Start time must be before${inclusivePart} end time`;\n case \"date\":\n return `Start date must be before${inclusivePart} end date`;\n case \"datetime\":\n return `Start value must be before${inclusivePart} end value`;\n case \"timestamp\":\n return `Start value must be before${inclusivePart} end value`;\n default:\n return `Start value must be less than${inclusivePart} the end value`;\n }\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n get start(): AttributeType {\n return this._start;\n }\n\n /**\n */\n get end(): AttributeType {\n return this._end;\n }\n\n /**\n */\n get rangeType(): string {\n return this.start.type;\n }\n\n /**\n */\n get hasInclusiveBounds(): boolean {\n return (\n this.start.operator === \"greaterThanOrEqualTo\" &&\n this.end.operator === \"lessThanOrEqualTo\"\n );\n }\n\n /**\n */\n get util():\n | typeof TimeUtil\n | typeof DateUtil\n | typeof DateTimeUtil\n | typeof TimestampUtil\n | null {\n switch (this.rangeType) {\n case \"time\":\n return TimeUtil;\n case \"date\":\n return DateUtil;\n case \"datetime\":\n return DateTimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n default:\n return null;\n }\n }\n\n /**\n */\n doValidate(startValue: string, endValue: string): boolean {\n if (this.hasInclusiveBounds) {\n if (!this.util) {\n return startValue <= endValue;\n }\n return this.util.isSameOrBefore(startValue, endValue);\n }\n\n if (!this.util) {\n return startValue < endValue;\n }\n\n return this.util.isBefore(startValue, endValue);\n }\n\n /**\n */\n validate(): boolean {\n // only validate range when both attributes are valid\n if (this.start.inError() || this.end.inError()) {\n return true;\n }\n\n return this.doValidate(this.start.value, this.end.value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default RangeConstraint;\n"],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"RangeConstraint.js","names":["DateUtil","DateTimeUtil","TimestampUtil","TimeUtil","RangeConstraint","constructor","startAttribute","endAttribute","_defineProperty","_start","_end","id","hasInclusiveBounds","rangeType","defaultMessage","inclusivePart","hasValidation","parameters","start","end","type","operator","util","doValidate","startValue","endValue","isSameOrBefore","isBefore","validate","inError","value","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/RangeConstraint.js"],"sourcesContent":["// @flow\nimport {\n DateUtil,\n DateTimeUtil,\n TimestampUtil,\n TimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { AttributeType } from \"../../types\";\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass RangeConstraint implements IConstraintModel {\n _start: AttributeType;\n _end: AttributeType;\n\n /**\n */\n constructor(startAttribute: AttributeType, endAttribute: AttributeType) {\n this._start = startAttribute;\n this._end = endAttribute;\n }\n\n /**\n */\n get id(): string {\n const id = this.hasInclusiveBounds\n ? \"InvalidRangeInclusive\"\n : \"InvalidRange\";\n\n switch (this.rangeType) {\n case \"time\":\n return `Constraint.TimeRange.${id}`;\n case \"date\":\n return `Constraint.DateRange.${id}`;\n case \"datetime\":\n return `Constraint.DateTimeRange.${id}`;\n case \"timestamp\":\n return `Constraint.TimeStampRange.${id}`;\n default:\n return `Constraint.NumberRange.${id}`;\n }\n }\n\n /**\n */\n get defaultMessage(): string {\n const inclusivePart = this.hasInclusiveBounds ? \" or equal to the\" : \"\";\n\n switch (this.rangeType) {\n case \"time\":\n return `Start time must be before${inclusivePart} end time`;\n case \"date\":\n return `Start date must be before${inclusivePart} end date`;\n case \"datetime\":\n return `Start value must be before${inclusivePart} end value`;\n case \"timestamp\":\n return `Start value must be before${inclusivePart} end value`;\n default:\n return `Start value must be less than${inclusivePart} the end value`;\n }\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n get start(): AttributeType {\n return this._start;\n }\n\n /**\n */\n get end(): AttributeType {\n return this._end;\n }\n\n /**\n */\n get rangeType(): string {\n return this.start.type;\n }\n\n /**\n */\n get hasInclusiveBounds(): boolean {\n return (\n this.start.operator === \"greaterThanOrEqualTo\" &&\n this.end.operator === \"lessThanOrEqualTo\"\n );\n }\n\n /**\n */\n get util():\n | typeof TimeUtil\n | typeof DateUtil\n | typeof DateTimeUtil\n | typeof TimestampUtil\n | null {\n switch (this.rangeType) {\n case \"time\":\n return TimeUtil;\n case \"date\":\n return DateUtil;\n case \"datetime\":\n return DateTimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n default:\n return null;\n }\n }\n\n /**\n */\n doValidate(startValue: string, endValue: string): boolean {\n if (this.hasInclusiveBounds) {\n if (!this.util) {\n return startValue <= endValue;\n }\n return this.util.isSameOrBefore(startValue, endValue);\n }\n\n if (!this.util) {\n return startValue < endValue;\n }\n\n return this.util.isBefore(startValue, endValue);\n }\n\n /**\n */\n validate(): boolean {\n // only validate range when both attributes are valid\n if (this.start.inError() || this.end.inError()) {\n return true;\n }\n\n return this.doValidate(this.start.value, this.end.value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default RangeConstraint;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegexConstraint.js","names":["RegexConstraint","constructor","regexConstraint","_defineProperty","_regexConstraint","id","messageKey","hasValidation","defaultMessage","parameters","regex","validate","value","RegExp","test","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/RegexConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\nexport type RegexObject = {\n messageKey: string,\n defaultMessage: string | null,\n regex: string | RegExp,\n};\n\n/**\n */\nclass RegexConstraint implements IConstraintModel {\n _regexConstraint: Object;\n\n /**\n */\n constructor(regexConstraint: RegexObject) {\n this._regexConstraint = regexConstraint;\n }\n\n /**\n */\n get id(): any {\n return this.regexConstraint.messageKey;\n }\n\n /**\n */\n get regexConstraint(): any {\n return this._regexConstraint;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): any {\n return (\n this.regexConstraint.defaultMessage || this.regexConstraint.messageKey\n );\n }\n\n /**\n */\n get parameters(): { regex: any } {\n return {\n regex: this.regexConstraint.regex,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n if (this.regexConstraint.regex instanceof RegExp) {\n return this.regexConstraint.regex.test(value);\n }\n\n return new RegExp(this.regexConstraint.regex).test(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default RegexConstraint;\n"],"mappings":";AASA;AACA;AACA,MAAMA,eAAe,CAA6B;EAGhD;AACF;EACEC,WAAWA,CAACC,eAA4B,EAAE;IAAAC,eAAA;IACxC,IAAI,CAACC,gBAAgB,GAAGF,eAAe;EACzC;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAQ;IACZ,OAAO,IAAI,CAACH,eAAe,CAACI,UAAU;EACxC;;EAEA;AACF;EACE,IAAIJ,eAAeA,CAAA,EAAQ;IACzB,OAAO,IAAI,CAACE,gBAAgB;EAC9B;;EAEA;AACF;EACEG,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAQ;IACxB,OACE,IAAI,CAACN,eAAe,CAACM,cAAc,IAAI,IAAI,CAACN,eAAe,CAACI,UAAU;EAE1E;;EAEA;AACF;EACE,IAAIG,UAAUA,CAAA,EAAmB;IAC/B,OAAO;MACLC,KAAK,EAAE,IAAI,CAACR,eAAe,CAACQ;IAC9B,CAAC;EACH;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,IAAI,CAACV,eAAe,CAACQ,KAAK,YAAYG,MAAM,EAAE;MAChD,OAAO,IAAI,CAACX,eAAe,CAACQ,KAAK,CAACI,IAAI,CAACF,KAAK,CAAC;IAC/C;IAEA,OAAO,IAAIC,MAAM,CAAC,IAAI,CAACX,eAAe,CAACQ,KAAK,CAAC,CAACI,IAAI,CAACF,KAAK,CAAC;EAC3D;;EAEA;AACF;EACE,IAAIG,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAef,eAAe"
|
|
1
|
+
{"version":3,"file":"RegexConstraint.js","names":["RegexConstraint","constructor","regexConstraint","_defineProperty","_regexConstraint","id","messageKey","hasValidation","defaultMessage","parameters","regex","validate","value","RegExp","test","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/RegexConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\nexport type RegexObject = {\n messageKey: string,\n defaultMessage: string | null,\n regex: string | RegExp,\n};\n\n/**\n */\nclass RegexConstraint implements IConstraintModel {\n _regexConstraint: Object;\n\n /**\n */\n constructor(regexConstraint: RegexObject) {\n this._regexConstraint = regexConstraint;\n }\n\n /**\n */\n get id(): any {\n return this.regexConstraint.messageKey;\n }\n\n /**\n */\n get regexConstraint(): any {\n return this._regexConstraint;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): any {\n return (\n this.regexConstraint.defaultMessage || this.regexConstraint.messageKey\n );\n }\n\n /**\n */\n get parameters(): { regex: any } {\n return {\n regex: this.regexConstraint.regex,\n };\n }\n\n /**\n */\n validate(value: string): boolean {\n if (this.regexConstraint.regex instanceof RegExp) {\n return this.regexConstraint.regex.test(value);\n }\n\n return new RegExp(this.regexConstraint.regex).test(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default RegexConstraint;\n"],"mappings":";AASA;AACA;AACA,MAAMA,eAAe,CAA6B;EAGhD;AACF;EACEC,WAAWA,CAACC,eAA4B,EAAE;IAAAC,eAAA;IACxC,IAAI,CAACC,gBAAgB,GAAGF,eAAe;EACzC;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAQ;IACZ,OAAO,IAAI,CAACH,eAAe,CAACI,UAAU;EACxC;;EAEA;AACF;EACE,IAAIJ,eAAeA,CAAA,EAAQ;IACzB,OAAO,IAAI,CAACE,gBAAgB;EAC9B;;EAEA;AACF;EACEG,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAQ;IACxB,OACE,IAAI,CAACN,eAAe,CAACM,cAAc,IAAI,IAAI,CAACN,eAAe,CAACI,UAAU;EAE1E;;EAEA;AACF;EACE,IAAIG,UAAUA,CAAA,EAAmB;IAC/B,OAAO;MACLC,KAAK,EAAE,IAAI,CAACR,eAAe,CAACQ;IAC9B,CAAC;EACH;;EAEA;AACF;EACEC,QAAQA,CAACC,KAAa,EAAW;IAC/B,IAAI,IAAI,CAACV,eAAe,CAACQ,KAAK,YAAYG,MAAM,EAAE;MAChD,OAAO,IAAI,CAACX,eAAe,CAACQ,KAAK,CAACI,IAAI,CAACF,KAAK,CAAC;IAC/C;IAEA,OAAO,IAAIC,MAAM,CAAC,IAAI,CAACX,eAAe,CAACQ,KAAK,CAAC,CAACI,IAAI,CAACF,KAAK,CAAC;EAC3D;;EAEA;AACF;EACE,IAAIG,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAef,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringLengthConstraint.js","names":["INVALID_LENGTH_ID","INVALID_LENGTH_BETWEEN_ID","INVALID_LENGTH_TOO_SHORT_ID","INVALID_LENGTH_TOO_LONG_ID","StringLengthConstraint","constructor","minLength","maxLength","_defineProperty","_minLength","_maxLength","id","hasValidation","isExactLength","value","TypeError","Error","length","isBetween","isLongEnough","isSmallEnough","defaultMessage","parameters","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/StringLengthConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\nconst INVALID_LENGTH_ID = \"Constraint.InvalidLengthExact\";\nconst INVALID_LENGTH_BETWEEN_ID = \"Constraint.InvalidLengthBetween\";\nconst INVALID_LENGTH_TOO_SHORT_ID = \"Constraint.InvalidLengthTooShort\";\nconst INVALID_LENGTH_TOO_LONG_ID = \"Constraint.InvalidLengthTooLong\";\n\n/**\n */\nclass StringLengthConstraint implements IConstraintModel {\n _minLength: number | null;\n _maxLength: number | null;\n\n /**\n */\n constructor(minLength: number | null, maxLength: number | null) {\n this._minLength = minLength;\n this._maxLength = maxLength;\n }\n\n /**\n */\n get id(): string {\n if (this.minLength && this.maxLength && this.minLength === this.maxLength) {\n return INVALID_LENGTH_ID;\n } else if (this.minLength && this.maxLength) {\n return INVALID_LENGTH_BETWEEN_ID;\n } else if (this.minLength) {\n return INVALID_LENGTH_TOO_SHORT_ID;\n } else if (this.maxLength) {\n return INVALID_LENGTH_TOO_LONG_ID;\n }\n\n return \"Constraint.NoLengthConstraint\";\n }\n\n /**\n */\n get minLength(): null | number {\n return this._minLength;\n }\n\n /**\n */\n get maxLength(): null | number {\n return this._maxLength;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactLength(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isExactLength: Not comparing to string\");\n }\n\n if (this.minLength === null) {\n throw new Error(\"isExactLength: Min and max length not set\");\n }\n\n return value.length === this.minLength;\n }\n\n /**\n */\n isBetween(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isBetween: Not comparing to string\");\n }\n\n if (this.minLength === null || this.maxLength === null) {\n throw new Error(\"isBetween: Min or max length not set\");\n }\n\n return this.isLongEnough(value) && this.isSmallEnough(value);\n }\n\n /**\n */\n isLongEnough(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isLongEnough: Not comparing to string\");\n }\n\n if (this.minLength === null) {\n throw new Error(\"isLongEnough: Min length not set\");\n }\n\n return value.length >= this.minLength;\n }\n\n /**\n */\n isSmallEnough(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isSmallEnough: Not comparing to string\");\n }\n\n if (this.maxLength === null) {\n throw new Error(\"isSmallEnough: Max length not set\");\n }\n\n return value.length <= this.maxLength;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INVALID_LENGTH_ID:\n return \"Length must be precisely ${length} characters\"; // NOSONAR\n case INVALID_LENGTH_BETWEEN_ID:\n return \"Length must be between ${min-length} and ${max-length} characters\"; // NOSONAR\n case INVALID_LENGTH_TOO_SHORT_ID:\n return \"The length of the value must be larger than ${min-length}\"; // NOSONAR\n case INVALID_LENGTH_TOO_LONG_ID:\n return \"The length of the value must be smaller than ${max-length}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { ... } {\n switch (this.id) {\n case INVALID_LENGTH_ID:\n return {\n length: this.minLength,\n };\n case INVALID_LENGTH_BETWEEN_ID:\n return {\n \"min-length\": this.minLength,\n \"max-length\": this.maxLength,\n };\n case INVALID_LENGTH_TOO_SHORT_ID:\n return {\n \"min-length\": this.minLength,\n };\n case INVALID_LENGTH_TOO_LONG_ID:\n return {\n \"max-length\": this.maxLength,\n };\n default:\n return {};\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n switch (this.id) {\n case INVALID_LENGTH_ID:\n return this.isExactLength(value);\n case INVALID_LENGTH_BETWEEN_ID:\n return this.isBetween(value);\n case INVALID_LENGTH_TOO_SHORT_ID:\n return this.isLongEnough(value);\n case INVALID_LENGTH_TOO_LONG_ID:\n return this.isSmallEnough(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default StringLengthConstraint;\n"],"mappings":";AAGA,MAAMA,iBAAiB,GAAG,+BAA+B;AACzD,MAAMC,yBAAyB,GAAG,iCAAiC;AACnE,MAAMC,2BAA2B,GAAG,kCAAkC;AACtE,MAAMC,0BAA0B,GAAG,iCAAiC;;AAEpE;AACA;AACA,MAAMC,sBAAsB,CAA6B;EAIvD;AACF;EACEC,WAAWA,CAACC,SAAwB,EAAEC,SAAwB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAC9D,IAAI,CAACC,UAAU,GAAGH,SAAS;IAC3B,IAAI,CAACI,UAAU,GAAGH,SAAS;EAC7B;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,IAAI,IAAI,CAACL,SAAS,IAAI,IAAI,CAACC,SAAS,IAAI,IAAI,CAACD,SAAS,KAAK,IAAI,CAACC,SAAS,EAAE;MACzE,OAAOP,iBAAiB;IAC1B,CAAC,MAAM,IAAI,IAAI,CAACM,SAAS,IAAI,IAAI,CAACC,SAAS,EAAE;MAC3C,OAAON,yBAAyB;IAClC,CAAC,MAAM,IAAI,IAAI,CAACK,SAAS,EAAE;MACzB,OAAOJ,2BAA2B;IACpC,CAAC,MAAM,IAAI,IAAI,CAACK,SAAS,EAAE;MACzB,OAAOJ,0BAA0B;IACnC;IAEA,OAAO,+BAA+B;EACxC;;EAEA;AACF;EACE,IAAIG,SAASA,CAAA,EAAkB;IAC7B,OAAO,IAAI,CAACG,UAAU;EACxB;;EAEA;AACF;EACE,IAAIF,SAASA,CAAA,EAAkB;IAC7B,OAAO,IAAI,CAACG,UAAU;EACxB;;EAEA;AACF;EACEE,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACEC,aAAaA,CAACC,KAAa,EAAW;IACpC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,SAAS,CAAC,wCAAwC,CAAC;IAC/D;IAEA,IAAI,IAAI,CAACT,SAAS,KAAK,IAAI,EAAE;MAC3B,MAAM,IAAIU,KAAK,CAAC,2CAA2C,CAAC;IAC9D;IAEA,OAAOF,KAAK,CAACG,MAAM,KAAK,IAAI,CAACX,SAAS;EACxC;;EAEA;AACF;EACEY,SAASA,CAACJ,KAAa,EAAW;IAChC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,SAAS,CAAC,oCAAoC,CAAC;IAC3D;IAEA,IAAI,IAAI,CAACT,SAAS,KAAK,IAAI,IAAI,IAAI,CAACC,SAAS,KAAK,IAAI,EAAE;MACtD,MAAM,IAAIS,KAAK,CAAC,sCAAsC,CAAC;IACzD;IAEA,OAAO,IAAI,CAACG,YAAY,CAACL,KAAK,CAAC,IAAI,IAAI,CAACM,aAAa,CAACN,KAAK,CAAC;EAC9D;;EAEA;AACF;EACEK,YAAYA,CAACL,KAAa,EAAW;IACnC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,SAAS,CAAC,uCAAuC,CAAC;IAC9D;IAEA,IAAI,IAAI,CAACT,SAAS,KAAK,IAAI,EAAE;MAC3B,MAAM,IAAIU,KAAK,CAAC,kCAAkC,CAAC;IACrD;IAEA,OAAOF,KAAK,CAACG,MAAM,IAAI,IAAI,CAACX,SAAS;EACvC;;EAEA;AACF;EACEc,aAAaA,CAACN,KAAa,EAAW;IACpC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,SAAS,CAAC,wCAAwC,CAAC;IAC/D;IAEA,IAAI,IAAI,CAACR,SAAS,KAAK,IAAI,EAAE;MAC3B,MAAM,IAAIS,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAEA,OAAOF,KAAK,CAACG,MAAM,IAAI,IAAI,CAACV,SAAS;EACvC;;EAEA;AACF;EACE,IAAIc,cAAcA,CAAA,EAAW;IAC3B,QAAQ,IAAI,CAACV,EAAE;MACb,KAAKX,iBAAiB;QACpB,OAAO,+CAA+C;MAAE;MAC1D,KAAKC,yBAAyB;QAC5B,OAAO,mEAAmE;MAAE;MAC9E,KAAKC,2BAA2B;QAC9B,OAAO,4DAA4D;MAAE;MACvE,KAAKC,0BAA0B;QAC7B,OAAO,4DAA4D;MAAE;MACvE;QACE,OAAO,EAAE;IACb;EACF;;EAEA;AACF;EACE,IAAImB,UAAUA,CAAA,EAAY;IACxB,QAAQ,IAAI,CAACX,EAAE;MACb,KAAKX,iBAAiB;QACpB,OAAO;UACLiB,MAAM,EAAE,IAAI,CAACX;QACf,CAAC;MACH,KAAKL,yBAAyB;QAC5B,OAAO;UACL,YAAY,EAAE,IAAI,CAACK,SAAS;UAC5B,YAAY,EAAE,IAAI,CAACC;QACrB,CAAC;MACH,KAAKL,2BAA2B;QAC9B,OAAO;UACL,YAAY,EAAE,IAAI,CAACI;QACrB,CAAC;MACH,KAAKH,0BAA0B;QAC7B,OAAO;UACL,YAAY,EAAE,IAAI,CAACI;QACrB,CAAC;MACH;QACE,OAAO,CAAC,CAAC;IACb;EACF;;EAEA;AACF;EACEgB,QAAQA,CAACT,KAAa,EAAW;IAC/B,QAAQ,IAAI,CAACH,EAAE;MACb,KAAKX,iBAAiB;QACpB,OAAO,IAAI,CAACa,aAAa,CAACC,KAAK,CAAC;MAClC,KAAKb,yBAAyB;QAC5B,OAAO,IAAI,CAACiB,SAAS,CAACJ,KAAK,CAAC;MAC9B,KAAKZ,2BAA2B;QAC9B,OAAO,IAAI,CAACiB,YAAY,CAACL,KAAK,CAAC;MACjC,KAAKX,0BAA0B;QAC7B,OAAO,IAAI,CAACiB,aAAa,CAACN,KAAK,CAAC;MAClC;QACE,OAAO,IAAI;IACf;EACF;;EAEA;AACF;EACE,IAAIU,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAepB,sBAAsB"
|
|
1
|
+
{"version":3,"file":"StringLengthConstraint.js","names":["INVALID_LENGTH_ID","INVALID_LENGTH_BETWEEN_ID","INVALID_LENGTH_TOO_SHORT_ID","INVALID_LENGTH_TOO_LONG_ID","StringLengthConstraint","constructor","minLength","maxLength","_defineProperty","_minLength","_maxLength","id","hasValidation","isExactLength","value","TypeError","Error","length","isBetween","isLongEnough","isSmallEnough","defaultMessage","parameters","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/StringLengthConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\nconst INVALID_LENGTH_ID = \"Constraint.InvalidLengthExact\";\nconst INVALID_LENGTH_BETWEEN_ID = \"Constraint.InvalidLengthBetween\";\nconst INVALID_LENGTH_TOO_SHORT_ID = \"Constraint.InvalidLengthTooShort\";\nconst INVALID_LENGTH_TOO_LONG_ID = \"Constraint.InvalidLengthTooLong\";\n\n/**\n */\nclass StringLengthConstraint implements IConstraintModel {\n _minLength: number | null;\n _maxLength: number | null;\n\n /**\n */\n constructor(minLength: number | null, maxLength: number | null) {\n this._minLength = minLength;\n this._maxLength = maxLength;\n }\n\n /**\n */\n get id(): string {\n if (this.minLength && this.maxLength && this.minLength === this.maxLength) {\n return INVALID_LENGTH_ID;\n } else if (this.minLength && this.maxLength) {\n return INVALID_LENGTH_BETWEEN_ID;\n } else if (this.minLength) {\n return INVALID_LENGTH_TOO_SHORT_ID;\n } else if (this.maxLength) {\n return INVALID_LENGTH_TOO_LONG_ID;\n }\n\n return \"Constraint.NoLengthConstraint\";\n }\n\n /**\n */\n get minLength(): null | number {\n return this._minLength;\n }\n\n /**\n */\n get maxLength(): null | number {\n return this._maxLength;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactLength(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isExactLength: Not comparing to string\");\n }\n\n if (this.minLength === null) {\n throw new Error(\"isExactLength: Min and max length not set\");\n }\n\n return value.length === this.minLength;\n }\n\n /**\n */\n isBetween(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isBetween: Not comparing to string\");\n }\n\n if (this.minLength === null || this.maxLength === null) {\n throw new Error(\"isBetween: Min or max length not set\");\n }\n\n return this.isLongEnough(value) && this.isSmallEnough(value);\n }\n\n /**\n */\n isLongEnough(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isLongEnough: Not comparing to string\");\n }\n\n if (this.minLength === null) {\n throw new Error(\"isLongEnough: Min length not set\");\n }\n\n return value.length >= this.minLength;\n }\n\n /**\n */\n isSmallEnough(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isSmallEnough: Not comparing to string\");\n }\n\n if (this.maxLength === null) {\n throw new Error(\"isSmallEnough: Max length not set\");\n }\n\n return value.length <= this.maxLength;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INVALID_LENGTH_ID:\n return \"Length must be precisely ${length} characters\"; // NOSONAR\n case INVALID_LENGTH_BETWEEN_ID:\n return \"Length must be between ${min-length} and ${max-length} characters\"; // NOSONAR\n case INVALID_LENGTH_TOO_SHORT_ID:\n return \"The length of the value must be larger than ${min-length}\"; // NOSONAR\n case INVALID_LENGTH_TOO_LONG_ID:\n return \"The length of the value must be smaller than ${max-length}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { ... } {\n switch (this.id) {\n case INVALID_LENGTH_ID:\n return {\n length: this.minLength,\n };\n case INVALID_LENGTH_BETWEEN_ID:\n return {\n \"min-length\": this.minLength,\n \"max-length\": this.maxLength,\n };\n case INVALID_LENGTH_TOO_SHORT_ID:\n return {\n \"min-length\": this.minLength,\n };\n case INVALID_LENGTH_TOO_LONG_ID:\n return {\n \"max-length\": this.maxLength,\n };\n default:\n return {};\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n switch (this.id) {\n case INVALID_LENGTH_ID:\n return this.isExactLength(value);\n case INVALID_LENGTH_BETWEEN_ID:\n return this.isBetween(value);\n case INVALID_LENGTH_TOO_SHORT_ID:\n return this.isLongEnough(value);\n case INVALID_LENGTH_TOO_LONG_ID:\n return this.isSmallEnough(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default StringLengthConstraint;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XMLConstraint.js","names":["XMLConstraint","id","hasValidation","defaultMessage","parameters","isValidXML","value","oParser","DOMParser","oDom","parseFromString","querySelectorAll","length","error","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/XMLConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass XMLConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.XML.InvalidFormat\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must be well-formed XML\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n isValidXML(value: string): boolean {\n const oParser = new DOMParser();\n\n try {\n const oDom = oParser.parseFromString(value, \"text/xml\");\n\n if (oDom.querySelectorAll(\"parsererror\").length > 0) {\n return false;\n }\n } catch (error) {\n return false;\n }\n\n return true;\n }\n\n /**\n */\n validate(value: string): boolean {\n return this.isValidXML(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default XMLConstraint;\n"],"mappings":"AAGA;AACA;AACA,MAAMA,aAAa,CAA6B;EAC9C;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,8BAA8B;EACvC;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,yBAAyB;EAClC;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,UAAUA,CAACC,KAAa,EAAW;IACjC,MAAMC,OAAO,GAAG,IAAIC,SAAS,CAAC,CAAC;IAE/B,IAAI;MACF,MAAMC,IAAI,GAAGF,OAAO,CAACG,eAAe,CAACJ,KAAK,EAAE,UAAU,CAAC;MAEvD,IAAIG,IAAI,CAACE,gBAAgB,CAAC,aAAa,CAAC,CAACC,MAAM,GAAG,CAAC,EAAE;QACnD,OAAO,KAAK;MACd;IACF,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACEC,QAAQA,CAACR,KAAa,EAAW;IAC/B,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK,CAAC;EAC/B;;EAEA;AACF;EACE,IAAIS,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAef,aAAa"
|
|
1
|
+
{"version":3,"file":"XMLConstraint.js","names":["XMLConstraint","id","hasValidation","defaultMessage","parameters","isValidXML","value","oParser","DOMParser","oDom","parseFromString","querySelectorAll","length","error","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/XMLConstraint.js"],"sourcesContent":["// @flow\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass XMLConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.XML.InvalidFormat\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must be well-formed XML\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n isValidXML(value: string): boolean {\n const oParser = new DOMParser();\n\n try {\n const oDom = oParser.parseFromString(value, \"text/xml\");\n\n if (oDom.querySelectorAll(\"parsererror\").length > 0) {\n return false;\n }\n } catch (error) {\n return false;\n }\n\n return true;\n }\n\n /**\n */\n validate(value: string): boolean {\n return this.isValidXML(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default XMLConstraint;\n"],"mappings":"AAGA;AACA;AACA,MAAMA,aAAa,CAA6B;EAC9C;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,8BAA8B;EACvC;;EAEA;AACF;EACEC,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,yBAAyB;EAClC;;EAEA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEC,UAAUA,CAACC,KAAa,EAAW;IACjC,MAAMC,OAAO,GAAG,IAAIC,SAAS,CAAC,CAAC;IAE/B,IAAI;MACF,MAAMC,IAAI,GAAGF,OAAO,CAACG,eAAe,CAACJ,KAAK,EAAE,UAAU,CAAC;MAEvD,IAAIG,IAAI,CAACE,gBAAgB,CAAC,aAAa,CAAC,CAACC,MAAM,GAAG,CAAC,EAAE;QACnD,OAAO,KAAK;MACd;IACF,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACEC,QAAQA,CAACR,KAAa,EAAW;IAC/B,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK,CAAC;EAC/B;;EAEA;AACF;EACE,IAAIS,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAef,aAAa"}
|
|
@@ -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`,\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
|
+
{"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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","ignoreList":[]}
|
|
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>>,\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
|
+
{"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,\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
|
+
{"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,\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":"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"
|
|
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":"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"}
|
|
@@ -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\", []),\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"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceCollection.js","names":["BaseCollection","ResourceCollection","getInitialChildModelLinks","initialChildModelLinks","collection","forEach","item","push","setChildModels","models","errors"],"sources":["../../../src/models/base/ResourceCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"./BaseCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * The ResourceCollection makes it possible to add child models to a collection of models\n * These child models are fetched using the ModularUI util\n */\nclass ResourceCollection<T: IModelWithChildModels> extends BaseCollection<T> {\n /**\n * Retrieve all child model links and flatten it into an array with single entries, removing all undefined items\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialChildModelLinks = [];\n\n this.collection.forEach((item: T) => {\n // $FlowFixMe[method-unbinding]\n if (typeof item?.getInitialChildModelLinks === \"function\") {\n initialChildModelLinks.push(...item.getInitialChildModelLinks());\n }\n });\n\n return initialChildModelLinks;\n }\n\n /**\n * Pass through models for setchildmodels to items of this collection\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this.collection.forEach((item) => {\n // $FlowFixMe[prop-missing]\n if (typeof item[\"setChildModels\"] === \"function\") {\n item.setChildModels(models, errors);\n }\n });\n }\n}\n\nexport default ResourceCollection;\n"],"mappings":"AACA,OAAOA,cAAc,MAAM,kBAAkB;AAM7C;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,SAAmCD,cAAc,CAAI;EAC3E;AACF;AACA;EACEE,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,sBAAsB,GAAG,EAAE;IAEjC,IAAI,CAACC,UAAU,CAACC,OAAO,CAAEC,IAAO,IAAK;MACnC;MACA,IAAI,OAAOA,IAAI,EAAEJ,yBAAyB,KAAK,UAAU,EAAE;QACzDC,sBAAsB,CAACI,IAAI,CAAC,GAAGD,IAAI,CAACJ,yBAAyB,CAAC,CAAC,CAAC;MAClE;IACF,CAAC,CAAC;IAEF,OAAOC,sBAAsB;EAC/B;;EAEA;AACF;AACA;EACEK,cAAcA,CAACC,MAA6B,EAAEC,MAA4B,EAAE;IAC1E,IAAI,CAACN,UAAU,CAACC,OAAO,CAAEC,IAAI,IAAK;MAChC;MACA,IAAI,OAAOA,IAAI,CAAC,gBAAgB,CAAC,KAAK,UAAU,EAAE;QAChDA,IAAI,CAACE,cAAc,CAACC,MAAM,EAAEC,MAAM,CAAC;MACrC;IACF,CAAC,CAAC;EACJ;AACF;AAEA,eAAeT,kBAAkB"
|
|
1
|
+
{"version":3,"file":"ResourceCollection.js","names":["BaseCollection","ResourceCollection","getInitialChildModelLinks","initialChildModelLinks","collection","forEach","item","push","setChildModels","models","errors"],"sources":["../../../src/models/base/ResourceCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"./BaseCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * The ResourceCollection makes it possible to add child models to a collection of models\n * These child models are fetched using the ModularUI util\n */\nclass ResourceCollection<T: IModelWithChildModels> extends BaseCollection<T> {\n /**\n * Retrieve all child model links and flatten it into an array with single entries, removing all undefined items\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialChildModelLinks = [];\n\n this.collection.forEach((item: T) => {\n // $FlowFixMe[method-unbinding]\n if (typeof item?.getInitialChildModelLinks === \"function\") {\n initialChildModelLinks.push(...item.getInitialChildModelLinks());\n }\n });\n\n return initialChildModelLinks;\n }\n\n /**\n * Pass through models for setchildmodels to items of this collection\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this.collection.forEach((item) => {\n // $FlowFixMe[prop-missing]\n if (typeof item[\"setChildModels\"] === \"function\") {\n item.setChildModels(models, errors);\n }\n });\n }\n}\n\nexport default ResourceCollection;\n"],"mappings":"AACA,OAAOA,cAAc,MAAM,kBAAkB;AAM7C;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,SAAmCD,cAAc,CAAI;EAC3E;AACF;AACA;EACEE,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,sBAAsB,GAAG,EAAE;IAEjC,IAAI,CAACC,UAAU,CAACC,OAAO,CAAEC,IAAO,IAAK;MACnC;MACA,IAAI,OAAOA,IAAI,EAAEJ,yBAAyB,KAAK,UAAU,EAAE;QACzDC,sBAAsB,CAACI,IAAI,CAAC,GAAGD,IAAI,CAACJ,yBAAyB,CAAC,CAAC,CAAC;MAClE;IACF,CAAC,CAAC;IAEF,OAAOC,sBAAsB;EAC/B;;EAEA;AACF;AACA;EACEK,cAAcA,CAACC,MAA6B,EAAEC,MAA4B,EAAE;IAC1E,IAAI,CAACN,UAAU,CAACC,OAAO,CAAEC,IAAI,IAAK;MAChC;MACA,IAAI,OAAOA,IAAI,CAAC,gBAAgB,CAAC,KAAK,UAAU,EAAE;QAChDA,IAAI,CAACE,cAAc,CAACC,MAAM,EAAEC,MAAM,CAAC;MACrC;IACF,CAAC,CAAC;EACJ;AACF;AAEA,eAAeT,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceModel.js","names":["ModularUIResponse","BaseModel","LinkCollection","IllegalArgumentException","IllegalStateException","ResourceModel","constructor","modularuiResponse","arguments","length","undefined","data","contributions","_defineProperty","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","modelName","isApplicableModel","Error","lastServerUpdate","type","resourcetype","getContribution","label","links","_links","Array","isArray","self","downloadLink","getLinksByGroup","first","selflink","getLinkByKey","selfhref","href","getInitialChildModelLinks","childModels","addChildModels","models","errors","_context","_context2","flattenModels","_concatInstanceProperty","call","flattenErrors","setChildModels","dehydrate","_context3","_mapInstanceProperty","childModel"],"sources":["../../../src/models/base/ResourceModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport BaseModel from \"./BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../exceptions\";\n\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc\n */\nclass ResourceModel extends BaseModel implements IModelWithChildModels {\n _key: string;\n _locale: string;\n _childModels: Array<ModularUIModel>;\n _links: LinkCollection;\n _lastServerUpdate: number;\n\n /**\n * constructor\n */\n constructor(modularuiResponse: ModularUIResponse = new ModularUIResponse()) {\n super(modularuiResponse.data, modularuiResponse.contributions);\n\n this._key = modularuiResponse.key;\n this._locale = modularuiResponse.locale;\n\n this._childModels = [];\n\n this._lastServerUpdate = Date.now();\n }\n\n /**\n * Property to render name of a model, is original name after transpilation\n */\n static get modelName(): string {\n throw new IllegalStateException(`No modelName set on the resource model`);\n }\n\n /**\n * Returns true when the model is supported based on configuration found in contributions\n *\n * @abstract\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n if (!(data instanceof ModularUIResponse)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a ModularUIResponse\",\n );\n }\n\n throw new Error(\"No isApplicableModel condition set on resourcemodel\");\n }\n\n /**\n */\n get lastServerUpdate(): number {\n return this._lastServerUpdate;\n }\n\n /**\n */\n set lastServerUpdate(lastServerUpdate: number) {\n this._lastServerUpdate = lastServerUpdate;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this._key;\n }\n\n /**\n * Get type of model\n *\n * @abstract\n */\n get type(): string {\n throw new IllegalStateException(\n `No type set on the resource model with key ${this.key}`,\n );\n }\n\n /**\n * Retrieve type of resource\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"unknown\");\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n {\n self: {\n resourcetype: this.resourcetype,\n },\n ...this.contributions._links,\n },\n );\n }\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n *\n */\n get downloadLink(): ?LinkModel {\n const downloadLink = this.links.getLinksByGroup(\"download\").first;\n if (downloadLink) {\n return downloadLink;\n }\n\n return null;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new IllegalStateException(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n * Add links to expand on initialization of this model\n *\n * @abstract\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return [];\n }\n\n /**\n * Retrieve links of expanded child models\n */\n get childModels(): Array<ModularUIModel> {\n return this._childModels;\n }\n\n /**\n * Add child models to this model\n */\n addChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): this {\n const flattenModels = [].concat(...models);\n const flattenErrors = [].concat(errors);\n\n this._childModels = flattenModels;\n\n this.setChildModels(flattenModels, flattenErrors);\n\n return this;\n }\n\n /**\n * Template to set expanded child models\n * Use this hook to separate the retrieved child models into the correct models.\n *\n * @abstract\n * @example <caption>Put all models of instance List and GroupingPanel into the panels property</caption>\n */\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void {\n if (!models && !errors) {\n throw new IllegalArgumentException(\"No models send to setChildModels\");\n }\n }\n\n /**\n */\n dehydrate(): Object {\n return {\n ...super.dehydrate(),\n key: this._key,\n locale: this._locale,\n // $FlowFixMe[missing-type-arg]\n childModels: this._childModels.map<ModularUIModel>(\n (childModel: ModularUIModel) => childModel.dehydrate(),\n ),\n };\n }\n}\n\nexport default ResourceModel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ResourceModel.js","names":["ModularUIResponse","BaseModel","LinkCollection","IllegalArgumentException","IllegalStateException","ResourceModel","constructor","modularuiResponse","arguments","length","undefined","data","contributions","_defineProperty","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","modelName","isApplicableModel","Error","lastServerUpdate","type","resourcetype","getContribution","label","links","_links","Array","isArray","self","downloadLink","getLinksByGroup","first","selflink","getLinkByKey","selfhref","href","getInitialChildModelLinks","childModels","addChildModels","models","errors","_context","_context2","flattenModels","_concatInstanceProperty","call","flattenErrors","setChildModels","dehydrate","_context3","_mapInstanceProperty","childModel"],"sources":["../../../src/models/base/ResourceModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport BaseModel from \"./BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../exceptions\";\n\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc\n */\nclass ResourceModel extends BaseModel implements IModelWithChildModels {\n _key: string;\n _locale: string;\n _childModels: Array<ModularUIModel>;\n _links: LinkCollection;\n _lastServerUpdate: number;\n\n /**\n * constructor\n */\n constructor(modularuiResponse: ModularUIResponse = new ModularUIResponse()) {\n super(modularuiResponse.data, modularuiResponse.contributions);\n\n this._key = modularuiResponse.key;\n this._locale = modularuiResponse.locale;\n\n this._childModels = [];\n\n this._lastServerUpdate = Date.now();\n }\n\n /**\n * Property to render name of a model, is original name after transpilation\n */\n static get modelName(): string {\n throw new IllegalStateException(`No modelName set on the resource model`);\n }\n\n /**\n * Returns true when the model is supported based on configuration found in contributions\n *\n * @abstract\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n if (!(data instanceof ModularUIResponse)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a ModularUIResponse\",\n );\n }\n\n throw new Error(\"No isApplicableModel condition set on resourcemodel\");\n }\n\n /**\n */\n get lastServerUpdate(): number {\n return this._lastServerUpdate;\n }\n\n /**\n */\n set lastServerUpdate(lastServerUpdate: number) {\n this._lastServerUpdate = lastServerUpdate;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this._key;\n }\n\n /**\n * Get type of model\n *\n * @abstract\n */\n get type(): string {\n throw new IllegalStateException(\n `No type set on the resource model with key ${this.key}`,\n );\n }\n\n /**\n * Retrieve type of resource\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"unknown\");\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n {\n self: {\n resourcetype: this.resourcetype,\n },\n ...this.contributions._links,\n },\n );\n }\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n *\n */\n get downloadLink(): ?LinkModel {\n const downloadLink = this.links.getLinksByGroup(\"download\").first;\n if (downloadLink) {\n return downloadLink;\n }\n\n return null;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new IllegalStateException(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n return selflink;\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n * Add links to expand on initialization of this model\n *\n * @abstract\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return [];\n }\n\n /**\n * Retrieve links of expanded child models\n */\n get childModels(): Array<ModularUIModel> {\n return this._childModels;\n }\n\n /**\n * Add child models to this model\n */\n addChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): this {\n const flattenModels = [].concat(...models);\n const flattenErrors = [].concat(errors);\n\n this._childModels = flattenModels;\n\n this.setChildModels(flattenModels, flattenErrors);\n\n return this;\n }\n\n /**\n * Template to set expanded child models\n * Use this hook to separate the retrieved child models into the correct models.\n *\n * @abstract\n * @example <caption>Put all models of instance List and GroupingPanel into the panels property</caption>\n */\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void {\n if (!models && !errors) {\n throw new IllegalArgumentException(\"No models send to setChildModels\");\n }\n }\n\n /**\n */\n dehydrate(): Object {\n return {\n ...super.dehydrate(),\n key: this._key,\n locale: this._locale,\n // $FlowFixMe[missing-type-arg]\n childModels: this._childModels.map<ModularUIModel>(\n (childModel: ModularUIModel) => childModel.dehydrate(),\n ),\n };\n }\n}\n\nexport default ResourceModel;\n"],"mappings":";;;AACA,OAAOA,iBAAiB,MAAM,mCAAmC;AAEjE,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,cAAc,MAAM,yBAAyB;AAEpD,SACEC,wBAAwB,EACxBC,qBAAqB,QAChB,kBAAkB;AAOzB;AACA;AACA;AACA,MAAMC,aAAa,SAASJ,SAAS,CAAkC;EAOrE;AACF;AACA;EACEK,WAAWA,CAAA,EAAiE;IAAA,IAAhEC,iBAAoC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAIR,iBAAiB,CAAC,CAAC;IACxE,KAAK,CAACO,iBAAiB,CAACI,IAAI,EAAEJ,iBAAiB,CAACK,aAAa,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAE/D,IAAI,CAACC,IAAI,GAAGP,iBAAiB,CAACQ,GAAG;IACjC,IAAI,CAACC,OAAO,GAAGT,iBAAiB,CAACU,MAAM;IAEvC,IAAI,CAACC,YAAY,GAAG,EAAE;IAEtB,IAAI,CAACC,iBAAiB,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EACrC;;EAEA;AACF;AACA;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,MAAM,IAAIlB,qBAAqB,CAAE,wCAAuC,CAAC;EAC3E;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOmB,iBAAiBA,CAACZ,IAAuB,EAAW;IACzD,IAAI,EAAEA,IAAI,YAAYX,iBAAiB,CAAC,EAAE;MACxC,MAAM,IAAIG,wBAAwB,CAChC,iEACF,CAAC;IACH;IAEA,MAAM,IAAIqB,KAAK,CAAC,qDAAqD,CAAC;EACxE;;EAEA;AACF;EACE,IAAIC,gBAAgBA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAACN,iBAAiB;EAC/B;;EAEA;AACF;EACE,IAAIM,gBAAgBA,CAACA,gBAAwB,EAAE;IAC7C,IAAI,CAACN,iBAAiB,GAAGM,gBAAgB;EAC3C;;EAEA;AACF;EACE,IAAIR,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACD,OAAO;EACrB;;EAEA;AACF;AACA;EACE,IAAID,GAAGA,CAAA,EAAW;IAChB,OAAO,IAAI,CAACD,IAAI;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAIY,IAAIA,CAAA,EAAW;IACjB,MAAM,IAAItB,qBAAqB,CAC5B,8CAA6C,IAAI,CAACW,GAAI,EACzD,CAAC;EACH;;EAEA;AACF;AACA;EACE,IAAIY,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACC,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC;EACxD;;EAEA;AACF;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACD,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIE,KAAKA,CAAA,EAAmB;IAC1B,IAAI,CAAC,IAAI,CAACC,MAAM,EAAE;MAChB,IAAI,CAACA,MAAM,GAAG,IAAI7B,cAAc,CAC9B8B,KAAK,CAACC,OAAO,CAAC,IAAI,CAACtB,IAAI,CAACoB,MAAM,CAAC,GAC3B,IAAI,CAACpB,IAAI,CAACoB,MAAM,CAAC,CAAC,CAAC,GACnB,IAAI,CAACpB,IAAI,CAACoB,MAAM,EACpB;QACEG,IAAI,EAAE;UACJP,YAAY,EAAE,IAAI,CAACA;QACrB,CAAC;QACD,GAAG,IAAI,CAACf,aAAa,CAACmB;MACxB,CACF,CAAC;IACH;IACA,OAAO,IAAI,CAACA,MAAM;EACpB;;EAEA;AACF;EACE,IAAID,KAAKA,CAACA,KAAqB,EAAE;IAC/B,IAAI,CAACC,MAAM,GAAGD,KAAK;EACrB;;EAEA;AACF;AACA;EACE,IAAIK,YAAYA,CAAA,EAAe;IAC7B,MAAMA,YAAY,GAAG,IAAI,CAACL,KAAK,CAACM,eAAe,CAAC,UAAU,CAAC,CAACC,KAAK;IACjE,IAAIF,YAAY,EAAE;MAChB,OAAOA,YAAY;IACrB;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIG,QAAQA,CAAA,EAAc;IACxB,MAAMA,QAAQ,GAAG,IAAI,CAACR,KAAK,CAACS,YAAY,CAAC,MAAM,CAAC;IAEhD,IAAID,QAAQ,KAAK,IAAI,EAAE;MACrB,MAAM,IAAIlC,qBAAqB,CAC5B,gCACC,IAAI,CAACW,GAAG,KAAK,IAAI,GAAG,SAAS,GAAG,IAAI,CAACA,GACtC,EACH,CAAC;IACH;IAEA,OAAOuB,QAAQ;EACjB;;EAEA;AACF;AACA;EACE,IAAIE,QAAQA,CAAA,EAAS;IACnB,OAAO,IAAI,CAACF,QAAQ,CAACG,IAAI;EAC3B;;EAEA;AACF;AACA;AACA;AACA;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,EAAE;EACX;;EAEA;AACF;AACA;EACE,IAAIC,WAAWA,CAAA,EAA0B;IACvC,OAAO,IAAI,CAACzB,YAAY;EAC1B;;EAEA;AACF;AACA;EACE0B,cAAcA,CACZC,MAA6B,EAC7BC,MAA4B,EACtB;IAAA,IAAAC,QAAA,EAAAC,SAAA;IACN,MAAMC,aAAa,GAAGC,uBAAA,CAAAH,QAAA,KAAE,EAAAI,IAAA,CAAAJ,QAAA,EAAQ,GAAGF,MAAM,CAAC;IAC1C,MAAMO,aAAa,GAAGF,uBAAA,CAAAF,SAAA,KAAE,EAAAG,IAAA,CAAAH,SAAA,EAAQF,MAAM,CAAC;IAEvC,IAAI,CAAC5B,YAAY,GAAG+B,aAAa;IAEjC,IAAI,CAACI,cAAc,CAACJ,aAAa,EAAEG,aAAa,CAAC;IAEjD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,cAAcA,CACZR,MAA6B,EAC7BC,MAA4B,EACtB;IACN,IAAI,CAACD,MAAM,IAAI,CAACC,MAAM,EAAE;MACtB,MAAM,IAAI3C,wBAAwB,CAAC,kCAAkC,CAAC;IACxE;EACF;;EAEA;AACF;EACEmD,SAASA,CAAA,EAAW;IAAA,IAAAC,SAAA;IAClB,OAAO;MACL,GAAG,KAAK,CAACD,SAAS,CAAC,CAAC;MACpBvC,GAAG,EAAE,IAAI,CAACD,IAAI;MACdG,MAAM,EAAE,IAAI,CAACD,OAAO;MACpB;MACA2B,WAAW,EAAEa,oBAAA,CAAAD,SAAA,OAAI,CAACrC,YAAY,EAAAiC,IAAA,CAAAI,SAAA,EAC3BE,UAA0B,IAAKA,UAAU,CAACH,SAAS,CAAC,CACvD;IACF,CAAC;EACH;AACF;AAEA,eAAejD,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseViewModel.js","names":["DetailModel","Href","TaskGroupCollection","TaskGroupModel","TITLE","IllegalStateException","CaseViewModel","constructor","caseviewData","_defineProperty","createTaskGroupCollection","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","links","getLinksByGroup","all","panelLinks","setChildModels","models","errors","taskGroupModels","i","length","push","taskGroupCollection","add","casename","attributeCollection","getAttributeByLayoutHint","label","value","viewLabel","getContribution","hasIntroText","introtext","_content","text","message","Array","isArray","texts","selfhref","selfLink","getLinkByKey","href","_context","allTaskgroupData","getData","allTaskgroupContributions","_mapInstanceProperty","_filterInstanceProperty","call","taskgroup","some","taskgroupContribution","name","taskgroupContributions","_findInstanceProperty","create","taskgroups","_taskGroupCollection","hasTaskGroups","hasItems"],"sources":["../../../src/models/caseview/CaseViewModel.js"],"sourcesContent":["// @flow\nimport DetailModel from \"../detail/DetailModel\";\nimport Href from \"../href/Href\";\nimport TaskGroupCollection from \"../taskgroup/TaskGroupCollection\";\nimport TaskGroupModel from \"../taskgroup/TaskGroupModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model containing the details of one case.\n */\nexport default class CaseViewModel extends DetailModel {\n _taskGroupCollection: TaskGroupCollection;\n\n /**\n */\n constructor(caseviewData: ModularUIResponse) {\n super(caseviewData);\n\n this.createTaskGroupCollection();\n }\n\n /**\n */\n get type(): string {\n return \"CaseView\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"CaseViewModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseView\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.links.getLinksByGroup(\"taskgroup\").all;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"panel\");\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n super.setChildModels(models, errors);\n\n const taskGroupModels = [];\n for (let i = 0; i < models.length; i++) {\n if (models[i] instanceof TaskGroupModel) {\n taskGroupModels.push(models[i]);\n }\n }\n\n this.taskGroupCollection.add(taskGroupModels);\n }\n\n /**\n * Getting the case name\n */\n get casename(): ?AttributeType {\n return this.attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Retrieve the case label, this can be configured with a case property with the layout hint 'title'\n */\n get label(): string {\n return this.casename ? this.casename.value : \"\";\n }\n\n /**\n * Retrieve the label that was configured on the caseview\n */\n get viewLabel(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Check if an introtext exists for this caseview\n */\n hasIntroText(): boolean {\n return this.introtext !== \"\";\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n * Getting the self href\n */\n get selfhref(): Href {\n const selfLink = this.links.getLinkByKey(\"self\");\n\n if (selfLink === null) {\n throw new IllegalStateException(\"No self href available\");\n }\n\n return new Href(selfLink.href);\n }\n\n /**\n */\n createTaskGroupCollection() {\n const allTaskgroupData = this.getData(\"taskgroups\", []);\n const allTaskgroupContributions = this.getContribution(\"taskgroups\", []);\n\n this.taskGroupCollection = allTaskgroupData\n .filter((taskgroup) =>\n allTaskgroupContributions.some(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name,\n ),\n )\n .map((taskgroup) => {\n const taskgroupContributions = allTaskgroupContributions.find(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name,\n );\n\n return TaskGroupModel.create(\n taskgroup.name,\n taskgroup,\n taskgroupContributions,\n );\n });\n }\n\n /**\n * Setting the taskgroup panel collection\n */\n set taskGroupCollection(taskgroups: Array<TaskGroupModel>) {\n this._taskGroupCollection = new TaskGroupCollection(taskgroups);\n }\n\n /**\n * Getting the taskgrouppanels on the tab\n */\n get taskGroupCollection(): TaskGroupCollection {\n return this._taskGroupCollection;\n }\n\n /**\n * Has taskgroups\n */\n hasTaskGroups(): boolean {\n return this.taskGroupCollection && this.taskGroupCollection.hasItems;\n }\n}\n"],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"CaseViewModel.js","names":["DetailModel","Href","TaskGroupCollection","TaskGroupModel","TITLE","IllegalStateException","CaseViewModel","constructor","caseviewData","_defineProperty","createTaskGroupCollection","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","links","getLinksByGroup","all","panelLinks","setChildModels","models","errors","taskGroupModels","i","length","push","taskGroupCollection","add","casename","attributeCollection","getAttributeByLayoutHint","label","value","viewLabel","getContribution","hasIntroText","introtext","_content","text","message","Array","isArray","texts","selfhref","selfLink","getLinkByKey","href","_context","allTaskgroupData","getData","allTaskgroupContributions","_mapInstanceProperty","_filterInstanceProperty","call","taskgroup","some","taskgroupContribution","name","taskgroupContributions","_findInstanceProperty","create","taskgroups","_taskGroupCollection","hasTaskGroups","hasItems"],"sources":["../../../src/models/caseview/CaseViewModel.js"],"sourcesContent":["// @flow\nimport DetailModel from \"../detail/DetailModel\";\nimport Href from \"../href/Href\";\nimport TaskGroupCollection from \"../taskgroup/TaskGroupCollection\";\nimport TaskGroupModel from \"../taskgroup/TaskGroupModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model containing the details of one case.\n */\nexport default class CaseViewModel extends DetailModel {\n _taskGroupCollection: TaskGroupCollection;\n\n /**\n */\n constructor(caseviewData: ModularUIResponse) {\n super(caseviewData);\n\n this.createTaskGroupCollection();\n }\n\n /**\n */\n get type(): string {\n return \"CaseView\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"CaseViewModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseView\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.links.getLinksByGroup(\"taskgroup\").all;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"panel\");\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n super.setChildModels(models, errors);\n\n const taskGroupModels = [];\n for (let i = 0; i < models.length; i++) {\n if (models[i] instanceof TaskGroupModel) {\n taskGroupModels.push(models[i]);\n }\n }\n\n this.taskGroupCollection.add(taskGroupModels);\n }\n\n /**\n * Getting the case name\n */\n get casename(): ?AttributeType {\n return this.attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Retrieve the case label, this can be configured with a case property with the layout hint 'title'\n */\n get label(): string {\n return this.casename ? this.casename.value : \"\";\n }\n\n /**\n * Retrieve the label that was configured on the caseview\n */\n get viewLabel(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Check if an introtext exists for this caseview\n */\n hasIntroText(): boolean {\n return this.introtext !== \"\";\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n * Getting the self href\n */\n get selfhref(): Href {\n const selfLink = this.links.getLinkByKey(\"self\");\n\n if (selfLink === null) {\n throw new IllegalStateException(\"No self href available\");\n }\n\n return new Href(selfLink.href);\n }\n\n /**\n */\n createTaskGroupCollection() {\n const allTaskgroupData = this.getData(\"taskgroups\", []);\n const allTaskgroupContributions = this.getContribution(\"taskgroups\", []);\n\n this.taskGroupCollection = allTaskgroupData\n .filter((taskgroup) =>\n allTaskgroupContributions.some(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name,\n ),\n )\n .map((taskgroup) => {\n const taskgroupContributions = allTaskgroupContributions.find(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name,\n );\n\n return TaskGroupModel.create(\n taskgroup.name,\n taskgroup,\n taskgroupContributions,\n );\n });\n }\n\n /**\n * Setting the taskgroup panel collection\n */\n set taskGroupCollection(taskgroups: Array<TaskGroupModel>) {\n this._taskGroupCollection = new TaskGroupCollection(taskgroups);\n }\n\n /**\n * Getting the taskgrouppanels on the tab\n */\n get taskGroupCollection(): TaskGroupCollection {\n return this._taskGroupCollection;\n }\n\n /**\n * Has taskgroups\n */\n hasTaskGroups(): boolean {\n return this.taskGroupCollection && this.taskGroupCollection.hasItems;\n }\n}\n"],"mappings":"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"}
|