@beinformed/ui 1.18.1 → 1.18.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/esm/builder/index.js.map +1 -1
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/Constants.js +1 -0
- 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 +10 -3
- package/esm/constants/Settings.js.map +1 -1
- package/esm/constants/index.js.map +1 -1
- package/esm/exceptions/ConfigurationException.js.map +1 -1
- package/esm/exceptions/FetchException.js.map +1 -1
- package/esm/exceptions/IllegalArgumentException.js.map +1 -1
- package/esm/exceptions/IllegalReturnException.js.map +1 -1
- package/esm/exceptions/IllegalStateException.js.map +1 -1
- package/esm/exceptions/JsonParseException.js.map +1 -1
- package/esm/exceptions/MissingPropertyException.js.map +1 -1
- package/esm/exceptions/NetworkException.js.map +1 -1
- package/esm/exceptions/NotAllowedUriException.js.map +1 -1
- package/esm/exceptions/NotFoundException.js.map +1 -1
- package/esm/exceptions/ServerRequestException.js.map +1 -1
- package/esm/exceptions/ThemePropertyException.js.map +1 -1
- package/esm/exceptions/TimeoutException.js.map +1 -1
- package/esm/exceptions/UnauthorizedException.js.map +1 -1
- package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
- package/esm/exceptions/index.js.map +1 -1
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/useAllFormsOnModel.js.map +1 -1
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useContent.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useI18n.js.map +1 -1
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModels.js.map +1 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/useModularUIRequest.js.map +1 -1
- package/esm/hooks/useNotification.js.map +1 -1
- package/esm/hooks/usePreference.js.map +1 -1
- package/esm/hooks/useProgressIndicator.js.map +1 -1
- package/esm/hooks/useRouter.js.map +1 -1
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/i18n/Message.js.map +1 -1
- package/esm/i18n/index.js.map +1 -1
- package/esm/i18n/languages.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/esm/i18n/types.js.map +1 -1
- package/esm/i18n/withMessage.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
- package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
- package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
- package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceCollection.js.map +1 -1
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/ContentTypeModel.js.map +1 -1
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/content/SubSectionModel.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorCollection.js.map +1 -1
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/FilterModel.js.map +1 -1
- package/esm/models/filters/RangeFilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js +3 -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 +2 -2
- 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 +98 -20
- package/esm/modularui/Authenticate.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/index.js.map +1 -1
- package/esm/react/ErrorBoundary.js.map +1 -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/actions.js.map +1 -1
- package/esm/redux/_i18n/index.js.map +1 -1
- package/esm/redux/_i18n/reducer.js.map +1 -1
- package/esm/redux/_i18n/types.js.map +1 -1
- package/esm/redux/_modularui/actions.js.map +1 -1
- package/esm/redux/_modularui/connector.js.map +1 -1
- package/esm/redux/_modularui/index.js.map +1 -1
- package/esm/redux/_modularui/middleware.js.map +1 -1
- package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
- package/esm/redux/_modularui/reducer.js.map +1 -1
- package/esm/redux/_modularui/selectors.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/actions.js.map +1 -1
- package/esm/redux/_router/connectors.js.map +1 -1
- package/esm/redux/_router/index.js.map +1 -1
- package/esm/redux/_router/middleware.js.map +1 -1
- package/esm/redux/_router/reducer.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 +2 -2
- 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/store/beforeRenderHooks.js.map +1 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/redux/types.js.map +1 -1
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/fetch/serverFetch.js.map +1 -1
- package/esm/utils/fetch/types.js.map +1 -1
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/checkResource.js.map +1 -1
- package/esm/utils/helpers/createHash.js.map +1 -1
- package/esm/utils/helpers/createUUID.js.map +1 -1
- package/esm/utils/helpers/objects.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 +3 -1
- package/lib/constants/Constants.js.flow +1 -0
- 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 +13 -3
- package/lib/constants/Settings.js.flow +8 -3
- 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.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.map +1 -1
- package/lib/i18n/languages.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
- package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
- package/lib/i18n/types.js.map +1 -1
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
- package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
- package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceCollection.js.map +1 -1
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/ContentTypeModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorCollection.js.map +1 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/FilterModel.js.map +1 -1
- package/lib/models/filters/RangeFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js +3 -1
- package/lib/models/form/FormModel.js.flow +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.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 +2 -2
- package/lib/models/list/ListModel.js.flow +1 -2
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/list/__tests__/ListModel.spec.js.flow +13 -0
- 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 +99 -20
- package/lib/modularui/Authenticate.js.flow +72 -18
- package/lib/modularui/Authenticate.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/index.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/__tests__/serverUtil.spec.js.flow +6 -4
- 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.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/actions.js.map +1 -1
- package/lib/redux/_i18n/index.js.map +1 -1
- package/lib/redux/_i18n/reducer.js.map +1 -1
- package/lib/redux/_i18n/types.js.map +1 -1
- package/lib/redux/_modularui/actions.js.map +1 -1
- package/lib/redux/_modularui/connector.js.map +1 -1
- package/lib/redux/_modularui/index.js.map +1 -1
- package/lib/redux/_modularui/middleware.js.map +1 -1
- package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
- package/lib/redux/_modularui/reducer.js.map +1 -1
- package/lib/redux/_modularui/selectors.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/actions.js.map +1 -1
- package/lib/redux/_router/connectors.js.map +1 -1
- package/lib/redux/_router/index.js.map +1 -1
- package/lib/redux/_router/middleware.js.map +1 -1
- package/lib/redux/_router/reducer.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 +1 -1
- package/lib/redux/actions/Preferences.js.flow +7 -3
- 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/store/beforeRenderHooks.js.map +1 -1
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/redux/types.js.map +1 -1
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/serverFetch.js.map +1 -1
- package/lib/utils/fetch/types.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/createHash.js.map +1 -1
- package/lib/utils/helpers/createUUID.js.map +1 -1
- package/lib/utils/helpers/objects.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 +10 -10
- package/src/constants/Constants.js +1 -0
- package/src/constants/Settings.js +8 -3
- package/src/models/form/FormModel.js +1 -1
- package/src/models/list/ListModel.js +1 -2
- package/src/models/list/__tests__/ListModel.spec.js +13 -0
- package/src/models/list/__tests__/related-contributions.json +42 -0
- package/src/models/list/__tests__/related-data.json +32 -0
- package/src/modularui/Authenticate.js +72 -18
- package/src/react-server/__tests__/serverUtil.spec.js +6 -4
- package/src/redux/actions/Preferences.js +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createReducer.js","names":["createReducer","router","RouterReducer","modularui","ModularUIReducer","i18n","I18nReducer","auth","AuthReducer","error","ErrorReducer","modals","ModalsReducer","notification","NotificationReducer","progressindicator","ProgressIndicatorReducer","preferences","PreferencesReducer"],"sources":["../../../src/redux/reducers/createReducer.js"],"sourcesContent":["// @flow\nimport { RouterReducer } from \"../_router/reducer\";\nimport { ModularUIReducer } from \"../_modularui/reducer\";\nimport { I18nReducer } from \"../_i18n/reducer\";\n\nimport ModalsReducer from \"./ModalsReducer\";\nimport AuthReducer from \"./AuthReducer\";\nimport ErrorReducer from \"./ErrorReducer\";\nimport NotificationReducer from \"./NotificationReducer\";\nimport ProgressIndicatorReducer from \"./ProgressIndicatorReducer\";\nimport PreferencesReducer from \"./PreferencesReducer\";\n\nimport type { Reducer } from \"redux\";\nimport type {\n ReduxAction,\n ProgressIndicatorState,\n PreferencesState,\n NotificationState,\n ModalsState,\n ErrorState,\n AuthState,\n} from \"../types\";\nimport type { RouterState } from \"../_router/types\";\nimport type { ModularUIState } from \"../_modularui/types\";\nimport type { I18nState } from \"../_i18n/types\";\n\ntype Reducers = {\n auth: Reducer<AuthState, ReduxAction>,\n error: Reducer<ErrorState, ReduxAction>,\n i18n: Reducer<I18nState, ReduxAction>,\n modals: Reducer<ModalsState, ReduxAction>,\n modularui: Reducer<ModularUIState, ReduxAction>,\n notification: Reducer<NotificationState, ReduxAction>,\n preferences: Reducer<PreferencesState, ReduxAction>,\n progressindicator: Reducer<ProgressIndicatorState, ReduxAction>,\n router: Reducer<RouterState, ReduxAction>,\n};\n\n/**\n */\nexport const createReducer = (): Reducers => ({\n router: RouterReducer,\n modularui: ModularUIReducer,\n i18n: I18nReducer,\n auth: AuthReducer,\n error: ErrorReducer,\n modals: ModalsReducer,\n notification: NotificationReducer,\n progressindicator: ProgressIndicatorReducer,\n preferences: PreferencesReducer,\n});\n"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AA4BA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB;EAAA,OAAiB;IAC5CC,MAAM,EAAEC,sBADoC;IAE5CC,SAAS,EAAEC,0BAFiC;IAG5CC,IAAI,EAAEC,qBAHsC;IAI5CC,IAAI,EAAEC,oBAJsC;IAK5CC,KAAK,EAAEC,qBALqC;IAM5CC,MAAM,EAAEC,sBANoC;IAO5CC,YAAY,EAAEC,4BAP8B;IAQ5CC,iBAAiB,EAAEC,iCARyB;IAS5CC,WAAW,EAAEC;EAT+B,CAAjB;AAAA,CAAtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/redux/reducers/index.js"],"sourcesContent":["// @flow\nexport * from \"./createReducer\";\n\nexport { default as AuthReducer } from \"./AuthReducer\";\nexport { default as ErrorReducer } from \"./ErrorReducer\";\nexport { default as ModalsReducer } from \"./ModalsReducer\";\nexport { default as NotificationReducer } from \"./NotificationReducer\";\nexport { default as PreferencesReducer } from \"./PreferencesReducer\";\nexport { default as ProgressIndicatorReducer } from \"./ProgressIndicatorReducer\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"beforeRenderHooks.js","names":["handleBeforeRenderHooks","beforeRenderHooks","props","length","beforeRenderHook"],"sources":["../../../src/redux/store/beforeRenderHooks.js"],"sourcesContent":["// @flow\nimport type { ReduxStore } from \"../types\";\n\nexport type BeforeRenderHookProps = {\n store: ReduxStore,\n request?: HttpServletRequestJava,\n};\nexport type BeforeRenderHook = (props: BeforeRenderHookProps) => void;\n\n/**\n * Process handlers that need to be run before the react application starts,\n * for example to start a third party service<br>\n * An object with the store is available to make it possible to read state available in the redux store,\n * for example server preferences, and the request is available to retrieve request information\n *\n */\nexport const handleBeforeRenderHooks = (\n beforeRenderHooks: Array<BeforeRenderHook> = [],\n props: BeforeRenderHookProps\n) => {\n if (beforeRenderHooks.length > 0) {\n for (const beforeRenderHook of beforeRenderHooks) {\n beforeRenderHook(props);\n }\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,GAGlC;EAAA,IAFHC,iBAEG,uEAF0C,EAE1C;EAAA,IADHC,KACG;;EACH,IAAID,iBAAiB,CAACE,MAAlB,GAA2B,CAA/B,EAAkC;IAAA,2CACDF,iBADC;IAAA;;IAAA;MAChC,oDAAkD;QAAA,IAAvCG,gBAAuC;QAChDA,gBAAgB,CAACF,KAAD,CAAhB;MACD;IAH+B;MAAA;IAAA;MAAA;IAAA;EAIjC;AACF,CATM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"configureStore.js","names":["configureStore","history","customReducers","initialState","composeEnhancers","compose","process","env","NODE_ENV","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","combinedReducers","middleware","modularuiMiddleware","thunk","enhancers","store","dispatch","location"],"sources":["../../../src/redux/store/configureStore.js"],"sourcesContent":["// @flow\nimport {\n applyMiddleware,\n compose,\n combineReducers,\n createStore as createReduxStore,\n} from \"redux\";\nimport thunk from \"redux-thunk\";\n\nimport { routerMiddleware } from \"../_router/middleware\";\nimport { modularuiMiddleware } from \"../_modularui/middleware\";\n\nimport { createReducer } from \"../reducers/createReducer\";\nimport { locationChange } from \"../_router/actions\";\n\nimport type { RouterHistory } from \"react-router\";\nimport type { ReduxAction, ReduxState, ReduxStore } from \"../types\";\nimport type { Reducer } from \"redux\";\n\n/**\n */\nconst configureStore = (\n history: RouterHistory,\n customReducers?: Object,\n initialState?: $Shape<ReduxState>\n): { history: RouterHistory, store: ReduxStore } => {\n let composeEnhancers = compose;\n\n if (process.env.NODE_ENV !== \"production\" && typeof window !== \"undefined\") {\n composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n }\n\n const combinedReducers: Reducer<ReduxState, ReduxAction> = combineReducers({\n ...customReducers,\n ...createReducer(),\n });\n\n const middleware = applyMiddleware(\n modularuiMiddleware,\n routerMiddleware(history),\n thunk\n );\n\n const enhancers = composeEnhancers(middleware);\n\n const store: ReduxStore = createReduxStore(\n combinedReducers,\n initialState,\n enhancers\n );\n\n if (!initialState) {\n store.dispatch(locationChange(history.location, \"PUSH\"));\n }\n return { history, store };\n};\n\nexport default configureStore;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AAMA;;AAEA;;AACA;;AAEA;;AACA;;;;;;AAMA;AACA;AACA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CACrBC,OADqB,EAErBC,cAFqB,EAGrBC,YAHqB,EAI6B;EAClD,IAAIC,gBAAgB,GAAGC,cAAvB;;EAEA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyC,OAAOC,MAAP,KAAkB,WAA/D,EAA4E;IAC1EL,gBAAgB,GAAGK,MAAM,CAACC,oCAAP,IAA+CL,cAAlE;EACD;;EAED,IAAMM,gBAAkD,GAAG,4DACtDT,cADsD,GAEtD,mCAFsD,EAA3D;EAKA,IAAMU,UAAU,GAAG,4BACjBC,gCADiB,EAEjB,kCAAiBZ,OAAjB,CAFiB,EAGjBa,mBAHiB,CAAnB;EAMA,IAAMC,SAAS,GAAGX,gBAAgB,CAACQ,UAAD,CAAlC;EAEA,IAAMI,KAAiB,GAAG,wBACxBL,gBADwB,EAExBR,YAFwB,EAGxBY,SAHwB,CAA1B;;EAMA,IAAI,CAACZ,YAAL,EAAmB;IACjBa,KAAK,CAACC,QAAN,CAAe,6BAAehB,OAAO,CAACiB,QAAvB,EAAiC,MAAjC,CAAf;EACD;;EACD,OAAO;IAAEjB,OAAO,EAAPA,OAAF;IAAWe,KAAK,EAALA;EAAX,CAAP;AACD,CAlCD;;eAoCehB,c"}
|
package/lib/redux/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/redux/types.js"],"sourcesContent":["// @flow\nimport type { Store, DispatchAPI } from \"redux\";\n\nimport type ErrorResponse from \"../models/error/ErrorResponse\";\n\nimport type FormModel from \"../models/form/FormModel\";\nimport typeof {\n NOTIFICATION_TYPES,\n AUTOSAVE_STATUS,\n} from \"../constants/Constants\";\n\nimport type { MessageObject } from \"../i18n/types\";\nimport type {\n I18nState,\n UpdateLocaleAction,\n SetLocalesAction,\n} from \"./_i18n/types\";\nimport type {\n ModularUIState,\n ModularUIAction,\n UpdateStatusAction,\n SetModelAction,\n UpdateModelAction,\n RemoveModelByKeyAction,\n ResetModularUIAction,\n} from \"./_modularui/types\";\nimport type {\n RouterState,\n LocationChangeAction,\n PushAction,\n ReplaceAction,\n GoAction,\n GoBackAction,\n GoForwardAction,\n} from \"./_router/types\";\n\nexport type PreferenceValue =\n | null\n | string\n | boolean\n | { [key: string]: any }\n | Array<PreferenceValue>;\n\nexport type UpdateFormOptions = {\n autosubmit: boolean,\n autosave: boolean,\n forceUpdate?: boolean,\n /** Default true: Activate/deactivate the form object validate by an update */\n validate?: boolean,\n};\n\nexport type NoAction = {\n type: \"NO_ACTION\",\n};\n\nexport type SaveErrorAction = {\n type: \"SAVE_ERROR\",\n payload: ErrorResponse,\n};\n\nexport type ShowModalAction = {\n type: \"SHOW_MODAL\",\n payload: string,\n};\n\nexport type CloseModalAction = {\n type: \"CLOSE_MODAL\",\n payload: string,\n};\n\nexport type DismissNotificationAction = {\n type: \"DISMISS_NOTIFICATION\",\n};\nexport type ShowNotificationAction = {\n type: \"SHOW_NOTIFICATION\",\n payload: {\n type: $Keys<NOTIFICATION_TYPES>,\n message: MessageObject,\n error: ?ErrorResponse,\n },\n};\n\nexport type SetPreferenceAction = {\n type: \"SET_PREFERENCE\",\n payload: { [name: string]: PreferenceValue },\n};\nexport type SetPreferencesAction = {\n type: \"SET_PREFERENCES\",\n payload: { [name: string]: PreferenceValue },\n};\n\nexport type StartProgressAction = {\n type: \"START_PROGRESS\",\n};\nexport type FinishProgressAction = {\n type: \"FINISH_PROGRESS\",\n};\nexport type ResetProgressAction = {\n type: \"RESET_PROGRESS\",\n};\nexport type UpdateProgressAction = {\n type: \"UPDATE_PROGRESS\",\n payload: { percentComplete: number },\n};\n\nexport type LoginFailedAction = {\n type: \"AUTHENTICATION_ERROR\",\n payload: string,\n};\n\nexport type ResetAuthErrorsAction = {\n type: \"AUTHENTICATION_RESET_ERRORS\",\n};\n\nexport type LoginSuccessAction = {\n type: \"AUTHENTICATION_SUCCESS\",\n};\n\nexport type ChangePasswordAction = {\n type: \"CHANGE_PASSWORD\",\n};\n\nexport type LogoutSuccessAction = {\n type: \"AUTHENTICATION_LOGOUT\",\n};\n\nexport type UpdateAutosaveAction = {\n type: \"UPDATE_AUTOSAVE_STATUS\",\n payload: {\n status: $Keys<AUTOSAVE_STATUS>,\n model: FormModel,\n },\n};\n\nexport type ReduxAction =\n | UpdateStatusAction\n | SetModelAction\n | UpdateModelAction\n | RemoveModelByKeyAction\n | ResetModularUIAction\n | SaveErrorAction\n | UpdateLocaleAction\n | SetLocalesAction\n | ShowModalAction\n | CloseModalAction\n | DismissNotificationAction\n | ShowNotificationAction\n | SetPreferenceAction\n | SetPreferencesAction\n | StartProgressAction\n | FinishProgressAction\n | ResetProgressAction\n | UpdateProgressAction\n | LoginFailedAction\n | ResetAuthErrorsAction\n | LoginSuccessAction\n | ChangePasswordAction\n | LogoutSuccessAction\n | UpdateAutosaveAction\n | LocationChangeAction\n | PushAction\n | ReplaceAction\n | GoAction\n | GoBackAction\n | GoForwardAction\n | ModularUIAction\n | NoAction;\n\n// Redux state\nexport type AuthState = {\n +isAuthenticated: boolean,\n +mustChangePassword: boolean,\n +error: ?string,\n};\n\nexport type ErrorState = null | ErrorResponse;\n\nexport type ModalState = {\n +key: string,\n +visible: boolean,\n +size?: string,\n};\n\nexport type ModalsState = {\n +modals: Array<ModalState>,\n};\n\nexport type NotificationState = {\n +render: boolean,\n +messageType: string | null,\n +message: MessageObject | null,\n +error: ?ErrorResponse | null,\n};\n\nexport type PreferencesState = {\n +[name: string]: PreferenceValue,\n};\n\nexport type ProgressIndicatorState = {\n +count: number,\n +timestamp: number,\n +percentComplete: number,\n};\n\nexport type ReduxState = {\n +router: RouterState,\n +modularui: ModularUIState,\n +i18n: I18nState,\n +auth: AuthState,\n +error: ErrorState,\n +modals: ModalsState,\n +notification: NotificationState,\n +progressindicator: ProgressIndicatorState,\n +preferences: PreferencesState,\n ...\n};\n\nexport type GetState = () => ReduxState;\nexport type ThunkAction = (dispatch: Dispatch, getState: GetState) => any;\nexport type PromiseAction = Promise<PossibleAction>;\nexport type Dispatch = DispatchAPI<PossibleAction>;\nexport type ReduxStore = Store<ReduxState, ReduxAction, Dispatch>;\n\nexport type PossibleAction = ReduxAction | ThunkAction | PromiseAction;\n\nexport type CustomReducers = { [reducerKey: string]: any };\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Cache.js","names":["RESOURCE_CACHE_PREFIX","Cache","sessionStorage","_cache","requestArgs","resourceKey","url","params","locale","key","cache","cacheItem","getItem","JSON","parse","error","value","stringValue","setItem","addItem","removeItem","pattern","k","RegExp","test","forEach","clear","callback","window","addEventListener","e","sendSessionStorage","receiveSessionStorage","length","localStorage","Date","now","toString","newData","newValue","hasItem"],"sources":["../../../src/utils/browser/Cache.js"],"sourcesContent":["// @flow\nimport type { RequestOptions } from \"../fetch/types\";\n\nconst RESOURCE_CACHE_PREFIX = \"res:\";\n\n/**\n * Manage the browser cache\n */\nclass Cache {\n _cache: Storage;\n\n /**\n */\n constructor() {\n if (typeof sessionStorage !== \"undefined\") {\n this._cache = sessionStorage;\n }\n }\n\n /**\n * Create a key that can be used to cache resources, needs the request arguments and uses url, params and header of the request args\n * to create a key that is unique for time versions and locale\n */\n createResourceKey(requestArgs: RequestOptions): string {\n let resourceKey = requestArgs.url;\n\n if (requestArgs.params) {\n resourceKey += `|${requestArgs.params}`;\n }\n\n if (requestArgs.locale) {\n resourceKey += `|${requestArgs.locale}`;\n }\n\n return `${RESOURCE_CACHE_PREFIX}${resourceKey}`;\n }\n\n /**\n * Get a cached item by it's key\n */\n getItem(key: string): any {\n const cache = this._cache;\n\n if (!cache) {\n return null;\n }\n\n const cacheItem = cache.getItem(key);\n\n if (!cacheItem) {\n return null;\n }\n\n try {\n return JSON.parse(cacheItem);\n } catch (error) {\n return this._cache.getItem(key);\n }\n }\n\n /**\n * Check if the item with key exists in the browser cache\n */\n hasItem(key: string): boolean {\n return this.getItem(key) !== null;\n }\n\n /**\n * Add an item to the cache\n */\n addItem(key: string, value: string | Object) {\n const stringValue =\n typeof value === \"string\" ? value : JSON.stringify(value);\n\n this._cache.setItem(key, stringValue);\n }\n\n /**\n */\n setItem(key: string, value: string | Object) {\n this.addItem(key, value);\n }\n\n /**\n */\n removeItem(key: string) {\n this._cache.removeItem(key);\n }\n\n /**\n * Clear complete cache storage\n */\n clear(pattern: ?string) {\n if (!this._cache) {\n return;\n }\n\n if (pattern) {\n Object.keys(this._cache)\n .filter((k) => (pattern ? new RegExp(pattern).test(k) : true))\n .forEach((k) => this._cache.removeItem(k));\n } else {\n this._cache.clear();\n }\n }\n\n // Session storage is not available between different tabs in the same window,\n // this load method copies sessionStorage from other tabs into this tab using localStorage\n // see https://blog.guya.net/2015/06/12/sharing-sessionstorage-between-tabs-for-secure-multi-tab-authentication/\n /**\n */\n loadOtherBrowserTabs(callback: Function) {\n window.addEventListener(\"storage\", (e) => {\n this.sendSessionStorage(e);\n this.receiveSessionStorage(e, callback);\n });\n\n if (this._cache.length === 0) {\n // trigger retrieval of sessionstorage on other tabs\n localStorage.setItem(\"getSessionStorage\", Date.now().toString());\n }\n }\n\n /**\n */\n sendSessionStorage(e: StorageEvent) {\n if (e.key === \"getSessionStorage\") {\n localStorage.setItem(\"sessionStorage\", JSON.stringify(this._cache));\n localStorage.removeItem(\"sessionStorage\");\n }\n }\n\n /**\n */\n receiveSessionStorage(e: StorageEvent, callback: Function): any {\n if (e.key === \"sessionStorage\" && !this.getItem(\"sessionStorageCopied\")) {\n // receive sessionstorage from other tabs\n const newData = e.newValue ? JSON.parse(e.newValue) : {};\n Object.entries(newData)\n .filter(([key]) => !this.hasItem(key))\n .forEach(([key, value]) => {\n this.addItem(key, value);\n });\n\n this.setItem(\"sessionStorageCopied\", Date.now().toString());\n\n return callback();\n }\n\n return null;\n }\n}\n\nexport default (new Cache(): Cache);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Cookies.js","names":["getCookie","name","Cookies","get","setCookie","value","days","sameSite","secure","attributes","path","BASE","expires","set","clearCookie","remove"],"sources":["../../../src/utils/browser/Cookies.js"],"sourcesContent":["// @flow\nimport Cookies from \"js-cookie\";\n\nimport { BASE } from \"../../constants/Constants\";\n\ntype CookieOptions = {\n days?: number,\n sameSite?: \"None\" | \"Lax\" | \"Strict\",\n secure?: boolean,\n};\n\ntype CookieAttributes = {\n path: string,\n expires?: number,\n sameSite?: string,\n secure?: boolean,\n};\n\n/**\n */\nconst getCookie = (name: string): null | string => {\n return Cookies.get(name);\n};\n\n/**\n */\nconst setCookie = (\n name: string,\n value: any,\n { days, sameSite = \"Strict\", secure }: CookieOptions = {}\n) => {\n const attributes: CookieAttributes = { path: BASE };\n if (days) {\n attributes.expires = days;\n }\n if (sameSite) {\n attributes.sameSite = sameSite;\n }\n if (secure) {\n attributes.secure = secure;\n }\n\n Cookies.set(name, value, attributes);\n};\n\n/**\n */\nconst clearCookie = (name: string) => {\n Cookies.remove(name, { path: BASE });\n};\n\nexport { getCookie, setCookie, clearCookie };\n"],"mappings":";;;;;;;;;AACA;;AAEA;;AAeA;AACA;AACA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAiC;EACjD,OAAOC,kBAAQC,GAAR,CAAYF,IAAZ,CAAP;AACD,CAFD;AAIA;AACA;;;;;AACA,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAChBH,IADgB,EAEhBI,KAFgB,EAIb;EAAA,+EADoD,EACpD;EAAA,IADDC,IACC,QADDA,IACC;EAAA,yBADKC,QACL;EAAA,IADKA,QACL,8BADgB,QAChB;EAAA,IAD0BC,MAC1B,QAD0BA,MAC1B;;EACH,IAAMC,UAA4B,GAAG;IAAEC,IAAI,EAAEC;EAAR,CAArC;;EACA,IAAIL,IAAJ,EAAU;IACRG,UAAU,CAACG,OAAX,GAAqBN,IAArB;EACD;;EACD,IAAIC,QAAJ,EAAc;IACZE,UAAU,CAACF,QAAX,GAAsBA,QAAtB;EACD;;EACD,IAAIC,MAAJ,EAAY;IACVC,UAAU,CAACD,MAAX,GAAoBA,MAApB;EACD;;EAEDN,kBAAQW,GAAR,CAAYZ,IAAZ,EAAkBI,KAAlB,EAAyBI,UAAzB;AACD,CAjBD;AAmBA;AACA;;;;;AACA,IAAMK,WAAW,GAAG,SAAdA,WAAc,CAACb,IAAD,EAAkB;EACpCC,kBAAQa,MAAR,CAAed,IAAf,EAAqB;IAAES,IAAI,EAAEC;EAAR,CAArB;AACD,CAFD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"names":["BaseDateTimeUtil","isoFormat","_isoFormat","locale","nl","enGB","weekStartsOn","DEFAULT_WEEK_STARTS_ON","firstWeekContainsDate","DEFAULT_FIRST_WEEK_CONTAINS_DATE","date","inputFormat","getOptions","Date","targetFormat","parsedDate","toDate","getLocale","sourceFormat","toISO","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isAfter","isSame","beforeISODate","isBefore","compareDate","getTime","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","year","month","hour","minute","second","milliseconds","hours","minutes","seconds","DateUtil","ISO_DATE_FORMAT","DateTimeUtil","ISO_DATETIME_FORMAT","TimeUtil","ISO_TIME_FORMAT","TimestampUtil","ISO_TIMESTAMP_FORMAT"],"mappings":"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","sourcesContent":["// @flow\nimport {\n parse,\n format,\n isValid,\n isAfter,\n isBefore,\n isSameDay,\n addSeconds,\n addMinutes,\n addHours,\n addDays,\n addWeeks,\n addMonths,\n addYears,\n subSeconds,\n subMinutes,\n subHours,\n subDays,\n subWeeks,\n subMonths,\n subYears,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n setMilliseconds,\n setSeconds,\n setMinutes,\n setHours,\n setMonth,\n setYear,\n set,\n} from \"date-fns\";\nimport { nl, enGB } from \"date-fns/locale\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport {\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n DEFAULT_WEEK_STARTS_ON,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n} from \"../../constants\";\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") || \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n // returns the options defined in settings\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n toDate(date: string, inputFormat: string = this._isoFormat): Date {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(date: string | Date, targetFormat: string): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(date: string | Date, sourceFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate =\n typeof date === \"string\" ? this.toDate(date, sourceFormat) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, this._isoFormat, {\n weekStartsOn,\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this._isoFormat;\n }\n\n /**\n * VALIDATION\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const { weekStartsOn } = this.getOptions();\n\n const realDate = this.toDate(date, sourceFormat);\n if (isValid(realDate)) {\n const formattedValue = format(realDate, sourceFormat, {\n weekStartsOn,\n });\n\n const isOutsideRange =\n isBefore(realDate, new Date(1000, 1, 1)) ||\n isAfter(realDate, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n return false;\n }\n\n /**\n */\n isValid(date: string, inputFormat: string = this._isoFormat): boolean {\n return isValid(this.toDate(date, inputFormat));\n }\n\n /**\n */\n isAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string,\n compareDate: string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat)\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * CALCULATIONS\n */\n addSeconds(date: string, amount: number): string {\n return this.toISO(addSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n addMinutes(date: string, amount: number): string {\n return this.toISO(addMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n addHours(date: string, amount: number): string {\n return this.toISO(addHours(this.toDate(date), amount));\n }\n\n /**\n */\n addDays(date: string, amount: number): string {\n return this.toISO(addDays(this.toDate(date), amount));\n }\n\n /**\n */\n addWeeks(date: string, amount: number): string {\n return this.toISO(addWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n addMonths(date: string, amount: number): string {\n return this.toISO(addMonths(this.toDate(date), amount));\n }\n\n /**\n */\n addYears(date: string, amount: number): string {\n return this.toISO(addYears(this.toDate(date), amount));\n }\n\n /**\n */\n subtractSeconds(date: string, amount: number): string {\n return this.toISO(subSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMinutes(date: string, amount: number): string {\n return this.toISO(subMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n subtractHours(date: string, amount: number): string {\n return this.toISO(subHours(this.toDate(date), amount));\n }\n\n /**\n */\n subtractDays(date: string, amount: number): string {\n return this.toISO(subDays(this.toDate(date), amount));\n }\n\n /**\n */\n subtractWeeks(date: string, amount: number): string {\n return this.toISO(subWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMonths(date: string, amount: number): string {\n return this.toISO(subMonths(this.toDate(date), amount));\n }\n\n /**\n */\n subtractYears(date: string, amount: number): string {\n return this.toISO(subYears(this.toDate(date), amount));\n }\n\n /**\n * GETTERS\n */\n startOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(startOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n endOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(endOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n startOfWeek(date: string, inputFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n return this.toISO(\n startOfWeek(this.toDate(date, inputFormat), {\n weekStartsOn,\n })\n );\n }\n\n /**\n */\n getHours(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getHours(parsedDate);\n }\n\n /**\n */\n getMinutes(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getMinutes(parsedDate);\n }\n\n /**\n */\n getWeek(date: string): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return getWeek(this.toDate(date), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n * SETTERS\n */\n setYear(date: string, year: number): string {\n return this.toISO(setYear(this.toDate(date), year));\n }\n\n /**\n */\n setMonth(date: string, month: number): string {\n return this.toISO(setMonth(this.toDate(date), month));\n }\n\n /**\n */\n setHour(date: string, hour: number): string {\n return this.toISO(setHours(this.toDate(date), hour));\n }\n\n /**\n */\n setMinute(date: string, minute: number): string {\n return this.toISO(setMinutes(this.toDate(date), minute));\n }\n\n /**\n */\n setSecond(date: string, second: number): string {\n return this.toISO(setSeconds(this.toDate(date), second));\n }\n\n /**\n */\n setMilliseconds(date: string, milliseconds: number): string {\n return this.toISO(setMilliseconds(this.toDate(date), milliseconds));\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number\n ): string {\n return this.toISO(\n set(this.toDate(date), {\n hours,\n minutes,\n seconds,\n milliseconds,\n })\n );\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"file":"DateTimeUtil.js"}
|
|
1
|
+
{"version":3,"file":"DateTimeUtil.js","names":["BaseDateTimeUtil","isoFormat","_isoFormat","locale","nl","enGB","weekStartsOn","DEFAULT_WEEK_STARTS_ON","firstWeekContainsDate","DEFAULT_FIRST_WEEK_CONTAINS_DATE","date","inputFormat","getOptions","Date","targetFormat","parsedDate","toDate","getLocale","sourceFormat","toISO","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isAfter","isSame","beforeISODate","isBefore","compareDate","getTime","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","year","month","hour","minute","second","milliseconds","hours","minutes","seconds","DateUtil","ISO_DATE_FORMAT","DateTimeUtil","ISO_DATETIME_FORMAT","TimeUtil","ISO_TIME_FORMAT","TimestampUtil","ISO_TIMESTAMP_FORMAT"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n parse,\n format,\n isValid,\n isAfter,\n isBefore,\n isSameDay,\n addSeconds,\n addMinutes,\n addHours,\n addDays,\n addWeeks,\n addMonths,\n addYears,\n subSeconds,\n subMinutes,\n subHours,\n subDays,\n subWeeks,\n subMonths,\n subYears,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n setMilliseconds,\n setSeconds,\n setMinutes,\n setHours,\n setMonth,\n setYear,\n set,\n} from \"date-fns\";\nimport { nl, enGB } from \"date-fns/locale\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport {\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n DEFAULT_WEEK_STARTS_ON,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n} from \"../../constants\";\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") || \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n // returns the options defined in settings\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n toDate(date: string, inputFormat: string = this._isoFormat): Date {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(date: string | Date, targetFormat: string): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(date: string | Date, sourceFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate =\n typeof date === \"string\" ? this.toDate(date, sourceFormat) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, this._isoFormat, {\n weekStartsOn,\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this._isoFormat;\n }\n\n /**\n * VALIDATION\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const { weekStartsOn } = this.getOptions();\n\n const realDate = this.toDate(date, sourceFormat);\n if (isValid(realDate)) {\n const formattedValue = format(realDate, sourceFormat, {\n weekStartsOn,\n });\n\n const isOutsideRange =\n isBefore(realDate, new Date(1000, 1, 1)) ||\n isAfter(realDate, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n return false;\n }\n\n /**\n */\n isValid(date: string, inputFormat: string = this._isoFormat): boolean {\n return isValid(this.toDate(date, inputFormat));\n }\n\n /**\n */\n isAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string,\n compareDate: string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat)\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * CALCULATIONS\n */\n addSeconds(date: string, amount: number): string {\n return this.toISO(addSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n addMinutes(date: string, amount: number): string {\n return this.toISO(addMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n addHours(date: string, amount: number): string {\n return this.toISO(addHours(this.toDate(date), amount));\n }\n\n /**\n */\n addDays(date: string, amount: number): string {\n return this.toISO(addDays(this.toDate(date), amount));\n }\n\n /**\n */\n addWeeks(date: string, amount: number): string {\n return this.toISO(addWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n addMonths(date: string, amount: number): string {\n return this.toISO(addMonths(this.toDate(date), amount));\n }\n\n /**\n */\n addYears(date: string, amount: number): string {\n return this.toISO(addYears(this.toDate(date), amount));\n }\n\n /**\n */\n subtractSeconds(date: string, amount: number): string {\n return this.toISO(subSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMinutes(date: string, amount: number): string {\n return this.toISO(subMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n subtractHours(date: string, amount: number): string {\n return this.toISO(subHours(this.toDate(date), amount));\n }\n\n /**\n */\n subtractDays(date: string, amount: number): string {\n return this.toISO(subDays(this.toDate(date), amount));\n }\n\n /**\n */\n subtractWeeks(date: string, amount: number): string {\n return this.toISO(subWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMonths(date: string, amount: number): string {\n return this.toISO(subMonths(this.toDate(date), amount));\n }\n\n /**\n */\n subtractYears(date: string, amount: number): string {\n return this.toISO(subYears(this.toDate(date), amount));\n }\n\n /**\n * GETTERS\n */\n startOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(startOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n endOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(endOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n startOfWeek(date: string, inputFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n return this.toISO(\n startOfWeek(this.toDate(date, inputFormat), {\n weekStartsOn,\n })\n );\n }\n\n /**\n */\n getHours(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getHours(parsedDate);\n }\n\n /**\n */\n getMinutes(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getMinutes(parsedDate);\n }\n\n /**\n */\n getWeek(date: string): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return getWeek(this.toDate(date), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n * SETTERS\n */\n setYear(date: string, year: number): string {\n return this.toISO(setYear(this.toDate(date), year));\n }\n\n /**\n */\n setMonth(date: string, month: number): string {\n return this.toISO(setMonth(this.toDate(date), month));\n }\n\n /**\n */\n setHour(date: string, hour: number): string {\n return this.toISO(setHours(this.toDate(date), hour));\n }\n\n /**\n */\n setMinute(date: string, minute: number): string {\n return this.toISO(setMinutes(this.toDate(date), minute));\n }\n\n /**\n */\n setSecond(date: string, second: number): string {\n return this.toISO(setSeconds(this.toDate(date), second));\n }\n\n /**\n */\n setMilliseconds(date: string, milliseconds: number): string {\n return this.toISO(setMilliseconds(this.toDate(date), milliseconds));\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number\n ): string {\n return this.toISO(\n set(this.toDate(date), {\n hours,\n minutes,\n seconds,\n milliseconds,\n })\n );\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"serverFetch.js","names":["serverFetch","args","urlNoBase","url","replace","BASE","params","data","dataFetcher","fetch","jsonData","JSON","parse","error","reject","FetchException","resolve"],"sources":["../../../src/utils/fetch/serverFetch.js"],"sourcesContent":["// @flow\nimport { BASE } from \"../../constants/Constants\";\nimport { FetchException } from \"../../exceptions\";\n\nimport type { RequestOptions } from \"./types\";\n\n/**\n * Fetch data from server (uses nashorn and datafetcher).\n */\nexport default function serverFetch(args: RequestOptions): Promise<any> {\n // remove contextPath of url, when the request is internal the context path is not needed\n const urlNoBase = args.url.includes(\"http\")\n ? args.url\n : args.url.replace(BASE, \"\");\n const params = args.params\n ? args.params.replace(\"includeContext=true\", \"\")\n : \"\";\n const url = params === \"\" ? urlNoBase : `${urlNoBase}?${params}`;\n\n const data = dataFetcher.fetch(url, args);\n\n try {\n const jsonData = JSON.parse(data);\n\n if (jsonData.error) {\n return Promise.reject(new FetchException(jsonData, null, args));\n }\n\n return Promise.resolve(jsonData);\n } catch (error) {\n return Promise.reject(error);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AAIA;AACA;AACA;AACe,SAASA,WAAT,CAAqBC,IAArB,EAAyD;EAAA;;EACtE;EACA,IAAMC,SAAS,GAAG,kCAAAD,IAAI,CAACE,GAAL,iBAAkB,MAAlB,IACdF,IAAI,CAACE,GADS,GAEdF,IAAI,CAACE,GAAL,CAASC,OAAT,CAAiBC,eAAjB,EAAuB,EAAvB,CAFJ;EAGA,IAAMC,MAAM,GAAGL,IAAI,CAACK,MAAL,GACXL,IAAI,CAACK,MAAL,CAAYF,OAAZ,CAAoB,qBAApB,EAA2C,EAA3C,CADW,GAEX,EAFJ;EAGA,IAAMD,GAAG,GAAGG,MAAM,KAAK,EAAX,GAAgBJ,SAAhB,8CAA+BA,SAA/B,wBAA4CI,MAA5C,CAAZ;EAEA,IAAMC,IAAI,GAAGC,WAAW,CAACC,KAAZ,CAAkBN,GAAlB,EAAuBF,IAAvB,CAAb;;EAEA,IAAI;IACF,IAAMS,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAWL,IAAX,CAAjB;;IAEA,IAAIG,QAAQ,CAACG,KAAb,EAAoB;MAClB,OAAO,iBAAQC,MAAR,CAAe,IAAIC,0BAAJ,CAAmBL,QAAnB,EAA6B,IAA7B,EAAmCT,IAAnC,CAAf,CAAP;IACD;;IAED,OAAO,iBAAQe,OAAR,CAAgBN,QAAhB,CAAP;EACD,CARD,CAQE,OAAOG,KAAP,EAAc;IACd,OAAO,iBAAQC,MAAR,CAAeD,KAAf,CAAP;EACD;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/utils/fetch/types.js"],"sourcesContent":["// @flow\nimport typeof { HTTP_METHODS } from \"../../constants/Constants\";\nimport type { ModularUIModel } from \"../../models/types\";\n\nexport type RequestURLOptions = {\n url: string,\n};\nexport type RequestBaseOptions = {\n method?: $Keys<HTTP_METHODS>,\n params?: string,\n data?: string | { [key: string]: string },\n timeout?: number,\n responseType?: string,\n headers?: {\n [headerName: string]: string,\n Accept?: string,\n \"Accept-Language\"?: string,\n \"Content-Type\"?: string,\n \"x-filename\"?: string,\n \"x-filesize\"?: string,\n },\n events?: { [eventName: string]: () => void },\n onProgress?: ProgressEventHandler,\n includeContext?: boolean,\n locale?: string,\n cache?: boolean,\n childmodels?: boolean,\n isValidationRequest?: boolean,\n targetModel?: Class<ModularUIModel>,\n updateModel?: ModularUIModel,\n isReload?: boolean,\n removeOnUnmount?: boolean,\n};\nexport type RequestOptions = { ...RequestURLOptions, ...RequestBaseOptions };\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"universalFetch.js","names":["IS_FETCHING","waitForCachedItem","cacheKey","TIMEOUT","CHECK_TIMEOUT","resolve","reject","check","Cache","getItem","cachedItem","Error","setTimeout","browserFetch","args","USE_CACHE","cache","createResourceKey","hasItem","cacheItem","addItem","then","response","universalFetch","locale","headers","includeContext","url","IS_SYNC"],"sources":["../../../src/utils/fetch/universalFetch.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"../helpers/objects\";\n\nimport { IS_SYNC, USE_CACHE } from \"../../constants/Constants\";\nimport serverFetch from \"./serverFetch\";\nimport xhr from \"./xhr\";\nimport Cache from \"../browser/Cache\";\n\nimport type { RequestOptions } from \"./types\";\n\ntype CachedResponse = string | { ... };\n\nconst IS_FETCHING = \"is-fetching\";\n\n/**\n * Checks each x ms if a cache item is set after fetching the item.\n * @private\n */\nconst waitForCachedItem = (cacheKey) => {\n let TIMEOUT = 3000;\n const CHECK_TIMEOUT = 100;\n\n return new Promise<CachedResponse>((resolve, reject) => {\n const check = () => {\n if (Cache.getItem(cacheKey) !== IS_FETCHING) {\n const cachedItem = Cache.getItem(cacheKey);\n if (cachedItem != null) {\n resolve(cachedItem);\n } else {\n reject(new Error(\"Empty cached item\"));\n }\n } else if (TIMEOUT <= 0) {\n reject(new Error(\"Empty cached item\"));\n } else {\n TIMEOUT = TIMEOUT - CHECK_TIMEOUT;\n setTimeout(check, CHECK_TIMEOUT);\n }\n };\n\n setTimeout(check, CHECK_TIMEOUT);\n });\n};\n\n/**\n * @private\n */\nconst browserFetch = (args) => {\n if (USE_CACHE && args.cache) {\n const cacheKey = Cache.createResourceKey(args);\n\n if (Cache.hasItem(cacheKey)) {\n const cacheItem = Cache.getItem(cacheKey);\n\n if (cacheItem != null) {\n if (cacheItem === IS_FETCHING) {\n return waitForCachedItem(cacheKey);\n } else if (isPlainObject(cacheItem)) {\n return Promise.resolve(cacheItem);\n }\n }\n }\n\n Cache.addItem(cacheKey, IS_FETCHING);\n }\n\n return xhr(args).then((response) => {\n if (USE_CACHE && args.cache) {\n const cacheKey = Cache.createResourceKey(args);\n\n Cache.addItem(cacheKey, response);\n }\n\n return response;\n });\n};\n\n/**\n * Request data from server, uses server datafetcher or xhr in browser.\n */\nexport default function universalFetch(\n args: RequestOptions\n): Promise<CachedResponse> | Promise<?(string | { ... })> {\n // Set locale as Accept-Language header\n if (args.locale) {\n args.headers = {\n \"Accept-Language\": args.locale,\n };\n }\n\n if (args.includeContext) {\n args.url = `${args.url}?includeContext=true`;\n }\n\n // server side no access to the browser cache apis, no cache available\n if (IS_SYNC) {\n return serverFetch(args);\n }\n\n return browserFetch(args);\n}\n"],"mappings":";;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAMA,IAAMA,WAAW,GAAG,aAApB;AAEA;AACA;AACA;AACA;;AACA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD,EAAc;EACtC,IAAIC,OAAO,GAAG,IAAd;EACA,IAAMC,aAAa,GAAG,GAAtB;EAEA,OAAO,qBAA4B,UAACC,OAAD,EAAUC,MAAV,EAAqB;IACtD,IAAMC,KAAK,GAAG,SAARA,KAAQ,GAAM;MAClB,IAAIC,eAAMC,OAAN,CAAcP,QAAd,MAA4BF,WAAhC,EAA6C;QAC3C,IAAMU,UAAU,GAAGF,eAAMC,OAAN,CAAcP,QAAd,CAAnB;;QACA,IAAIQ,UAAU,IAAI,IAAlB,EAAwB;UACtBL,OAAO,CAACK,UAAD,CAAP;QACD,CAFD,MAEO;UACLJ,MAAM,CAAC,IAAIK,KAAJ,CAAU,mBAAV,CAAD,CAAN;QACD;MACF,CAPD,MAOO,IAAIR,OAAO,IAAI,CAAf,EAAkB;QACvBG,MAAM,CAAC,IAAIK,KAAJ,CAAU,mBAAV,CAAD,CAAN;MACD,CAFM,MAEA;QACLR,OAAO,GAAGA,OAAO,GAAGC,aAApB;QACAQ,UAAU,CAACL,KAAD,EAAQH,aAAR,CAAV;MACD;IACF,CAdD;;IAgBAQ,UAAU,CAACL,KAAD,EAAQH,aAAR,CAAV;EACD,CAlBM,CAAP;AAmBD,CAvBD;AAyBA;AACA;AACA;;;AACA,IAAMS,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAU;EAC7B,IAAIC,wBAAaD,IAAI,CAACE,KAAtB,EAA6B;IAC3B,IAAMd,QAAQ,GAAGM,eAAMS,iBAAN,CAAwBH,IAAxB,CAAjB;;IAEA,IAAIN,eAAMU,OAAN,CAAchB,QAAd,CAAJ,EAA6B;MAC3B,IAAMiB,SAAS,GAAGX,eAAMC,OAAN,CAAcP,QAAd,CAAlB;;MAEA,IAAIiB,SAAS,IAAI,IAAjB,EAAuB;QACrB,IAAIA,SAAS,KAAKnB,WAAlB,EAA+B;UAC7B,OAAOC,iBAAiB,CAACC,QAAD,CAAxB;QACD,CAFD,MAEO,IAAI,4BAAciB,SAAd,CAAJ,EAA8B;UACnC,OAAO,iBAAQd,OAAR,CAAgBc,SAAhB,CAAP;QACD;MACF;IACF;;IAEDX,eAAMY,OAAN,CAAclB,QAAd,EAAwBF,WAAxB;EACD;;EAED,OAAO,kBAAIc,IAAJ,EAAUO,IAAV,CAAe,UAACC,QAAD,EAAc;IAClC,IAAIP,wBAAaD,IAAI,CAACE,KAAtB,EAA6B;MAC3B,IAAMd,SAAQ,GAAGM,eAAMS,iBAAN,CAAwBH,IAAxB,CAAjB;;MAEAN,eAAMY,OAAN,CAAclB,SAAd,EAAwBoB,QAAxB;IACD;;IAED,OAAOA,QAAP;EACD,CARM,CAAP;AASD,CA5BD;AA8BA;AACA;AACA;;;AACe,SAASC,cAAT,CACbT,IADa,EAE2C;EACxD;EACA,IAAIA,IAAI,CAACU,MAAT,EAAiB;IACfV,IAAI,CAACW,OAAL,GAAe;MACb,mBAAmBX,IAAI,CAACU;IADX,CAAf;EAGD;;EAED,IAAIV,IAAI,CAACY,cAAT,EAAyB;IACvBZ,IAAI,CAACa,GAAL,aAAcb,IAAI,CAACa,GAAnB;EACD,CAVuD,CAYxD;;;EACA,IAAIC,kBAAJ,EAAa;IACX,OAAO,0BAAYd,IAAZ,CAAP;EACD;;EAED,OAAOD,YAAY,CAACC,IAAD,CAAnB;AACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/fetch/xhr.js"],"names":["NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","options","_options","_attempts","_xmlhttp","xmlhttp","attempts","url","params","aUrl","split","data","method","HTTP_METHODS","GET","timeout","responseType","onProgress","events","baseHeaders","Accept","headers","reject","TimeoutException","responseJSON","status","isReload","NetworkException","NotFoundException","UnauthorizedException","FetchException","response","getResponseHeader","JSON","parse","error","JsonParseException","resolve","getResponse","errorHandler","forEach","eventType","addEventListener","timeoutHandler","responseHandler","eventName","open","Cache","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","send","stringData","XMLHttpRequest","setEventListeners","openConnection","setBasicAuthentication","setCustomHeaders","setOtherOptions","sendData","setXMLHttpRequest","fetch","validateInputArguments","args","IllegalArgumentException","toString","xhr"],"mappings":"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","sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp() {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options() {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts() {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url() {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params() {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data() {\n return this.options.data || null;\n }\n\n /**\n */\n get method() {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout() {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType() {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events() {\n return this.options.events || {};\n }\n\n /**\n */\n get headers() {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": \"en\",\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject) {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject, responseJSON = null) {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON)\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse() {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve, reject) {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve, reject) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject)\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n this.xmlhttp.withCredentials = true;\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName) {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest() {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch() {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\"\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args\n )}`\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"file":"xhr.js"}
|
|
1
|
+
{"version":3,"file":"xhr.js","names":["NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","options","_options","_attempts","_xmlhttp","xmlhttp","attempts","url","params","aUrl","split","data","method","HTTP_METHODS","GET","timeout","responseType","onProgress","events","baseHeaders","Accept","headers","reject","TimeoutException","responseJSON","status","isReload","NetworkException","NotFoundException","UnauthorizedException","FetchException","response","getResponseHeader","JSON","parse","error","JsonParseException","resolve","getResponse","errorHandler","forEach","eventType","addEventListener","timeoutHandler","responseHandler","eventName","open","Cache","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","send","stringData","XMLHttpRequest","setEventListeners","openConnection","setBasicAuthentication","setCustomHeaders","setOtherOptions","sendData","setXMLHttpRequest","fetch","validateInputArguments","args","IllegalArgumentException","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp() {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options() {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts() {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url() {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params() {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data() {\n return this.options.data || null;\n }\n\n /**\n */\n get method() {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout() {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType() {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events() {\n return this.options.events || {};\n }\n\n /**\n */\n get headers() {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": \"en\",\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject) {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject, responseJSON = null) {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON)\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse() {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve, reject) {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve, reject) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject)\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n this.xmlhttp.withCredentials = true;\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName) {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest() {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch() {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\"\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args\n )}`\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"checkResource.js","names":["resourceExists","url","fullUrl","Href","absolutehref","xhr","XMLHttpRequest","open","setRequestHeader","send","status","resourceRedirectsToSecureLogin","responseURL"],"sources":["../../../src/utils/helpers/checkResource.js"],"sourcesContent":["// @flow\nimport Href from \"../../models/href/Href\";\n\n/**\n * Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)\n * When the resource returns a 404, the resource does not exists and the method returns false\n *\n * @param url\n * @returns {boolean}\n */\nexport const resourceExists = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n // const fullUrl = `${BASE}/${url}`.replace(/\\/\\//g, \"/\");\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.send();\n\n return xhr.status !== 404;\n};\n\n/**\n * Indicates if a request to the given url resuls in a redirect to /secureRedirect\n * @param url\n * @returns {boolean}\n */\nexport const resourceRedirectsToSecureLogin = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.send();\n\n const responseURL = xhr.responseURL ?? \"\";\n\n return xhr.status === 400 && responseURL.endsWith(\"/secureLogin\");\n};\n"],"mappings":";;;;;;;;;;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,GAAD,EAAiC;EAC7D,IAAMC,OAAO,GAAG,IAAIC,aAAJ,CAASF,GAAT,EAAcG,YAA9B,CAD6D,CAG7D;;EAEA,IAAMC,GAAG,GAAG,IAAIC,cAAJ,EAAZ;EACAD,GAAG,CAACE,IAAJ,CAAS,MAAT,EAAiBL,OAAjB,EAA0B,KAA1B;EACAG,GAAG,CAACG,gBAAJ,CAAqB,QAArB,EAA+B,kBAA/B;EACAH,GAAG,CAACG,gBAAJ,CAAqB,cAArB,EAAqC,kBAArC;EACAH,GAAG,CAACI,IAAJ;EAEA,OAAOJ,GAAG,CAACK,MAAJ,KAAe,GAAtB;AACD,CAZM;AAcP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAACV,GAAD,EAAiC;EAAA;;EAC7E,IAAMC,OAAO,GAAG,IAAIC,aAAJ,CAASF,GAAT,EAAcG,YAA9B;EAEA,IAAMC,GAAG,GAAG,IAAIC,cAAJ,EAAZ;EACAD,GAAG,CAACE,IAAJ,CAAS,MAAT,EAAiBL,OAAjB,EAA0B,KAA1B;EACAG,GAAG,CAACG,gBAAJ,CAAqB,QAArB,EAA+B,kBAA/B;EACAH,GAAG,CAACG,gBAAJ,CAAqB,cAArB,EAAqC,kBAArC;EACAH,GAAG,CAACI,IAAJ;EAEA,IAAMG,WAAW,uBAAGP,GAAG,CAACO,WAAP,+DAAsB,EAAvC;EAEA,OAAOP,GAAG,CAACK,MAAJ,KAAe,GAAf,IAAsB,uBAAAE,WAAW,MAAX,CAAAA,WAAW,EAAU,cAAV,CAAxC;AACD,CAZM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createHash.js","names":["createHash","str","hash","i","length","charCodeAt","createHashFromHref","href","hrefString","toString","join"],"sources":["../../../src/utils/helpers/createHash.js"],"sourcesContent":["// @flow\nimport type Href from \"../../models/href/Href\";\n\n/**\n * https://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/\n */\nconst createHash = (str: string): number => {\n if (!str) return 0;\n\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash = hash & hash;\n }\n return hash;\n};\n\n/**\n */\nconst createHashFromHref = (href: Href): number => {\n const hrefString = href.hash\n ? [href.toString(), href.hash].join(\"#\")\n : href.toString();\n\n return createHash(hrefString);\n};\n\nexport { createHash, createHashFromHref };\n"],"mappings":";;;;;;;AAGA;AACA;AACA;AACA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAyB;EAC1C,IAAI,CAACA,GAAL,EAAU,OAAO,CAAP;EAEV,IAAIC,IAAI,GAAG,CAAX;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,GAAG,CAACG,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;IACnCD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAT,IAAcA,IAAd,GAAqBD,GAAG,CAACI,UAAJ,CAAeF,CAAf,CAA5B;IACAD,IAAI,GAAGA,IAAI,GAAGA,IAAd;EACD;;EACD,OAAOA,IAAP;AACD,CATD;AAWA;AACA;;;;;AACA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAwB;EACjD,IAAMC,UAAU,GAAGD,IAAI,CAACL,IAAL,GACf,CAACK,IAAI,CAACE,QAAL,EAAD,EAAkBF,IAAI,CAACL,IAAvB,EAA6BQ,IAA7B,CAAkC,GAAlC,CADe,GAEfH,IAAI,CAACE,QAAL,EAFJ;EAIA,OAAOT,UAAU,CAACQ,UAAD,CAAjB;AACD,CAND"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"createUUID.js","names":["createUUID","d","Date","getTime","replace","c","r","Math","random","floor","toString"],"sources":["../../../src/utils/helpers/createUUID.js"],"sourcesContent":["// @flow\n/**\n */\nconst createUUID = (): string => {\n let d = new Date().getTime();\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nexport default createUUID;\n"],"mappings":";;;;;;;AACA;AACA;AACA,IAAMA,UAAU,GAAG,SAAbA,UAAa,GAAc;EAC/B,IAAIC,CAAC,GAAG,IAAIC,IAAJ,GAAWC,OAAX,EAAR;EACA,OAAO,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAACC,CAAD,EAAO;IACpE,IAAMC,CAAC,GAAG,CAACL,CAAC,GAAGM,IAAI,CAACC,MAAL,KAAgB,EAArB,IAA2B,EAA3B,GAAgC,CAA1C;IACAP,CAAC,GAAGM,IAAI,CAACE,KAAL,CAAWR,CAAC,GAAG,EAAf,CAAJ;IACA,OAAO,CAACI,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAL,GAAY,GAA7B,EAAkCI,QAAlC,CAA2C,EAA3C,CAAP;EACD,CAJM,CAAP;AAKD,CAPD;;eASeV,U"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"objects.js","names":["isPlainObject","value","has","obj","propName","get","path","defaultValue","String","split","reduce","acc","v"],"sources":["../../../src/utils/helpers/objects.js"],"sourcesContent":["// @flow\nimport _has from \"lodash/has\";\nimport _isPlainObject from \"lodash/isPlainObject\";\n\n/**\n */\nexport const isPlainObject = (value: any): boolean => _isPlainObject(value);\n\n/**\n */\nexport const has = (obj: any, propName: string): boolean => {\n if (!isPlainObject(obj)) {\n return false;\n }\n\n return _has(obj, propName);\n};\n\n/**\n * Retrieve property of an object\n * When path is only one deep better use optional chaining\n */\nexport const get = (obj: { ... }, path: string, defaultValue?: any): any =>\n String(path)\n .split(\".\")\n .reduce((acc, v) => {\n if (typeof acc === \"object\") {\n return acc[v] ?? defaultValue;\n }\n return defaultValue;\n }, obj);\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAEA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD;EAAA,OAAyB,6BAAeA,KAAf,CAAzB;AAAA,CAAtB;AAEP;AACA;;;;;AACO,IAAMC,GAAG,GAAG,SAANA,GAAM,CAACC,GAAD,EAAWC,QAAX,EAAyC;EAC1D,IAAI,CAACJ,aAAa,CAACG,GAAD,CAAlB,EAAyB;IACvB,OAAO,KAAP;EACD;;EAED,OAAO,mBAAKA,GAAL,EAAUC,QAAV,CAAP;AACD,CANM;AAQP;AACA;AACA;AACA;;;;;AACO,IAAMC,GAAG,GAAG,SAANA,GAAM,CAACF,GAAD,EAAeG,IAAf,EAA6BC,YAA7B;EAAA,OACjBC,MAAM,CAACF,IAAD,CAAN,CACGG,KADH,CACS,GADT,EAEGC,MAFH,CAEU,UAACC,GAAD,EAAMC,CAAN,EAAY;IAClB,IAAI,sBAAOD,GAAP,MAAe,QAAnB,EAA6B;MAAA;;MAC3B,iBAAOA,GAAG,CAACC,CAAD,CAAV,2CAAiBL,YAAjB;IACD;;IACD,OAAOA,YAAP;EACD,CAPH,EAOKJ,GAPL,CADiB;AAAA,CAAZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sanitizeHtml.js","names":["properEntityEncoding","html","escapedGt","replace","escapedLt","properEntities","he","encode","decode","decimal","unescapedGt","removeUnwantedHtml","options","allowedTags","IllegalArgumentException","correctEntityHtml","htmlWithoutAttributes","htmlWithCorrectBR","Array","isArray","join","pattern","regex","RegExp"],"sources":["../../../src/utils/helpers/sanitizeHtml.js"],"sourcesContent":["// @flow\nimport he from \"he\";\n\nimport { IllegalArgumentException } from \"../../exceptions\";\n\ntype removeUnwantedHtmlOptions = {\n allowedTags?: Array<string>,\n};\n\n/**\n * Translates html entities to their correct decimal equivalent\n * When path is only one deep better use optional chaining\n */\nconst properEntityEncoding = (html) => {\n const escapedGt = html.replace(/</g, \"[\");\n const escapedLt = escapedGt.replace(/>/g, \"]\");\n\n const properEntities = he.encode(he.decode(escapedLt), {\n decimal: true,\n });\n\n const unescapedGt = properEntities.replace(/\\[/g, \"<\");\n\n return unescapedGt.replace(/]/g, \">\");\n};\n\n/**\n * removes unwanted html, this might result in incorrect html, as it removes all html that we don't except,\n * like <b style=\"font-weight: 400\">bold</b> will result in bold</b>\n */\nconst removeUnwantedHtml = (\n html: string,\n options: removeUnwantedHtmlOptions = {\n allowedTags: [\"p\", \"br\", \"b\", \"i\", \"u\", \"strike\"],\n }\n): string => {\n if (typeof html !== \"string\") {\n throw new IllegalArgumentException(\"sanitizeHTML method expects a string\");\n }\n\n const correctEntityHtml = properEntityEncoding(html);\n\n // remove attributes from html elements\n const htmlWithoutAttributes = correctEntityHtml.replace(\n /<(\\w+)(.|[\\r\\n])*?>/gi,\n \"<$1>\"\n );\n\n const htmlWithCorrectBR = htmlWithoutAttributes.replace(\n /<br\\s*>/gi,\n \"<br />\"\n );\n\n // remove not allowed tags\n const allowedTags = Array.isArray(options.allowedTags)\n ? options.allowedTags.join(\"|\")\n : \"\";\n const pattern = `<(?!\\\\/?(${allowedTags})(>|\\\\s\\\\/))[^<]+?>`;\n const regex = new RegExp(pattern, \"gi\");\n\n return htmlWithCorrectBR.replace(regex, \"\");\n};\n\nexport { removeUnwantedHtml };\n"],"mappings":";;;;;;;;;AACA;;AAEA;;AAMA;AACA;AACA;AACA;AACA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,IAAD,EAAU;EACrC,IAAMC,SAAS,GAAGD,IAAI,CAACE,OAAL,CAAa,IAAb,EAAmB,GAAnB,CAAlB;EACA,IAAMC,SAAS,GAAGF,SAAS,CAACC,OAAV,CAAkB,IAAlB,EAAwB,GAAxB,CAAlB;;EAEA,IAAME,cAAc,GAAGC,YAAGC,MAAH,CAAUD,YAAGE,MAAH,CAAUJ,SAAV,CAAV,EAAgC;IACrDK,OAAO,EAAE;EAD4C,CAAhC,CAAvB;;EAIA,IAAMC,WAAW,GAAGL,cAAc,CAACF,OAAf,CAAuB,KAAvB,EAA8B,GAA9B,CAApB;EAEA,OAAOO,WAAW,CAACP,OAAZ,CAAoB,IAApB,EAA0B,GAA1B,CAAP;AACD,CAXD;AAaA;AACA;AACA;AACA;;;AACA,IAAMQ,kBAAkB,GAAG,SAArBA,kBAAqB,CACzBV,IADyB,EAKd;EAAA,IAHXW,OAGW,uEAH0B;IACnCC,WAAW,EAAE,CAAC,GAAD,EAAM,IAAN,EAAY,GAAZ,EAAiB,GAAjB,EAAsB,GAAtB,EAA2B,QAA3B;EADsB,CAG1B;;EACX,IAAI,OAAOZ,IAAP,KAAgB,QAApB,EAA8B;IAC5B,MAAM,IAAIa,oCAAJ,CAA6B,sCAA7B,CAAN;EACD;;EAED,IAAMC,iBAAiB,GAAGf,oBAAoB,CAACC,IAAD,CAA9C,CALW,CAOX;;EACA,IAAMe,qBAAqB,GAAGD,iBAAiB,CAACZ,OAAlB,CAC5B,uBAD4B,EAE5B,MAF4B,CAA9B;EAKA,IAAMc,iBAAiB,GAAGD,qBAAqB,CAACb,OAAtB,CACxB,WADwB,EAExB,QAFwB,CAA1B,CAbW,CAkBX;;EACA,IAAMU,WAAW,GAAGK,KAAK,CAACC,OAAN,CAAcP,OAAO,CAACC,WAAtB,IAChBD,OAAO,CAACC,WAAR,CAAoBO,IAApB,CAAyB,GAAzB,CADgB,GAEhB,EAFJ;EAGA,IAAMC,OAAO,sBAAeR,WAAf,wBAAb;EACA,IAAMS,KAAK,GAAG,IAAIC,MAAJ,CAAWF,OAAX,EAAoB,IAApB,CAAd;EAEA,OAAOJ,iBAAiB,CAACd,OAAlB,CAA0BmB,KAA1B,EAAiC,EAAjC,CAAP;AACD,CA/BD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"text.js","names":["retrieveText","text","message"],"sources":["../../../src/utils/helpers/text.js"],"sourcesContent":["// @flow\nimport { isPlainObject } from \"./objects\";\n\n/**\n * Handles text that is in the ApplicationMessage form ({ id: string, message: string, properties: object })\n * @param text\n * @returns {string}\n */\nexport const retrieveText = (\n text:\n | string\n | { id?: string, message: string, properties?: { [key: string]: any } }\n): string => {\n if (typeof text === \"string\") {\n return text;\n }\n\n if (isPlainObject(text) && \"message\" in text) {\n return text.message;\n }\n\n return \"\";\n};\n"],"mappings":";;;;;;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAC1BC,IAD0B,EAIf;EACX,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;IAC5B,OAAOA,IAAP;EACD;;EAED,IAAI,4BAAcA,IAAd,KAAuB,aAAaA,IAAxC,EAA8C;IAC5C,OAAOA,IAAI,CAACC,OAAZ;EACD;;EAED,OAAO,EAAP;AACD,CAdM"}
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/utils/index.js"],"sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\nexport * from \"./helpers/checkResource\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AAIA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/number/DecimalFormat.js"],"names":["DecimalFormat","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","_prefix","_suffix","_comma","_minInt","_minFrac","_maxFrac","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","maxFrac","minFrac","intStr","lastIndexOf","intFormatStr","suffix","charAt","formattedNumber","stringNumber","String","isNaN","getNumericString","tempNumber","negative","substr","hasPrefix","prefix","suffixIndex","number","Number","DECIMAL_RADIX","Math","round","toString","toFixed","num","getFracAsNumber","frac","getRoundedFrac","i","doCarry","x","j","minInt","groupedIntStr","comma","isNegative","formattedValue","formatBack","toLowerCase","scientificNumber","getFraction","getInteger","isPercentage","addZeroToFrac","lastTwoFrac","getFracCorrectLength","addGrouping","getFormattedValue","string","precision","Infinity"],"mappings":"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","sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"file":"DecimalFormat.js"}
|
|
1
|
+
{"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","_prefix","_suffix","_comma","_minInt","_minFrac","_maxFrac","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","maxFrac","minFrac","intStr","lastIndexOf","intFormatStr","suffix","charAt","formattedNumber","stringNumber","String","isNaN","getNumericString","tempNumber","negative","substr","hasPrefix","prefix","suffixIndex","number","Number","DECIMAL_RADIX","Math","round","toString","toFixed","num","getFracAsNumber","frac","getRoundedFrac","i","doCarry","x","j","minInt","groupedIntStr","comma","isNegative","formattedValue","formatBack","toLowerCase","scientificNumber","getFraction","getInteger","isPercentage","addZeroToFrac","lastTwoFrac","getFracCorrectLength","addGrouping","getFormattedValue","string","precision","Infinity"],"sources":["../../../src/utils/number/DecimalFormat.js"],"sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"mappings":"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"}
|