@beinformed/ui 1.62.7 → 1.62.9
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 +16 -0
- package/esm/constants/Settings.js +4 -0
- package/esm/constants/Settings.js.flow +5 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/react-client/client.js +19 -0
- package/esm/react-client/client.js.flow +23 -1
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-server/__tests__/requestInformation.spec.js.flow +265 -0
- package/esm/react-server/requestInformation.js +6 -3
- package/esm/react-server/requestInformation.js.flow +8 -3
- package/esm/react-server/requestInformation.js.map +1 -1
- package/esm/react-server/serverUtil.js +2 -2
- package/esm/react-server/serverUtil.js.flow +2 -2
- package/esm/react-server/serverUtil.js.map +1 -1
- package/esm/redux/_i18n/I18nActions.js.flow +0 -1
- package/esm/redux/_i18n/I18nActions.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js +11 -3
- package/esm/redux/_i18n/I18nReducer.js.flow +11 -3
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/reducers/createReducer.js +2 -2
- package/esm/redux/reducers/createReducer.js.flow +1 -1
- package/esm/redux/reducers/createReducer.js.map +1 -1
- package/esm/redux/store/configureStore.js +0 -5
- package/esm/redux/store/configureStore.js.flow +0 -7
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/utils/datetime/DateTimeUtil.js +3 -2
- package/esm/utils/datetime/DateTimeUtil.js.flow +3 -1
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/constants/Settings.js +7 -2
- package/lib/constants/Settings.js.map +1 -1
- package/lib/react-client/client.js +20 -1
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-server/requestInformation.js +6 -3
- package/lib/react-server/requestInformation.js.map +1 -1
- package/lib/react-server/serverUtil.js +1 -1
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/redux/_i18n/I18nActions.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js +10 -2
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/reducers/createReducer.js +2 -2
- package/lib/redux/reducers/createReducer.js.map +1 -1
- package/lib/redux/store/configureStore.js +0 -5
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js +2 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/package.json +10 -10
- package/src/constants/Settings.js +5 -1
- package/src/react-client/client.js +23 -1
- package/src/react-server/__tests__/requestInformation.spec.js +265 -0
- package/src/react-server/requestInformation.js +8 -3
- package/src/react-server/serverUtil.js +2 -2
- package/src/redux/_i18n/I18nActions.js +0 -1
- package/src/redux/_i18n/I18nReducer.js +11 -3
- package/src/redux/reducers/createReducer.js +1 -1
- package/src/redux/store/configureStore.js +0 -7
- package/src/utils/datetime/DateTimeUtil.js +3 -1
- package/esm/builder/index.d.ts +0 -1
- package/esm/builder/mergeLayoutHintConfigurations.d.ts +0 -1
- package/esm/constants/Constants.d.ts +0 -158
- package/esm/constants/LayoutHintConfig.d.ts +0 -267
- package/esm/constants/LayoutHints.d.ts +0 -83
- package/esm/constants/Settings.d.ts +0 -32
- package/esm/constants/index.d.ts +0 -3
- package/esm/exceptions/ConfigurationException.d.ts +0 -7
- package/esm/exceptions/FetchException.d.ts +0 -31
- package/esm/exceptions/IllegalArgumentException.d.ts +0 -7
- package/esm/exceptions/IllegalReturnException.d.ts +0 -6
- package/esm/exceptions/IllegalStateException.d.ts +0 -7
- package/esm/exceptions/JsonParseException.d.ts +0 -7
- package/esm/exceptions/MissingPropertyException.d.ts +0 -7
- package/esm/exceptions/NetworkException.d.ts +0 -9
- package/esm/exceptions/NotAllowedUriException.d.ts +0 -7
- package/esm/exceptions/NotFoundException.d.ts +0 -10
- package/esm/exceptions/ServerRequestException.d.ts +0 -7
- package/esm/exceptions/ThemePropertyException.d.ts +0 -7
- package/esm/exceptions/TimeoutException.d.ts +0 -7
- package/esm/exceptions/UnauthorizedException.d.ts +0 -11
- package/esm/exceptions/UnsupportedOperationException.d.ts +0 -7
- package/esm/exceptions/index.d.ts +0 -15
- package/esm/hooks/index.d.ts +0 -16
- package/esm/hooks/useAllFormsOnModel.d.ts +0 -7
- package/esm/hooks/useAuthentication.d.ts +0 -16
- package/esm/hooks/useContent.d.ts +0 -3
- package/esm/hooks/useDeepCompareEffect.d.ts +0 -6
- package/esm/hooks/useForm.d.ts +0 -21
- package/esm/hooks/useI18n.d.ts +0 -13
- package/esm/hooks/useModal.d.ts +0 -12
- package/esm/hooks/useModelCatalog.d.ts +0 -34
- package/esm/hooks/useModels.d.ts +0 -10
- package/esm/hooks/useModularUI.d.ts +0 -3
- package/esm/hooks/useModularUIBasic.d.ts +0 -9
- package/esm/hooks/useModularUIModel.d.ts +0 -27
- package/esm/hooks/useModularUIRequest.d.ts +0 -4
- package/esm/hooks/useNotification.d.ts +0 -8
- package/esm/hooks/usePreference.d.ts +0 -2
- package/esm/hooks/useProgressIndicator.d.ts +0 -9
- package/esm/hooks/useRouter.d.ts +0 -23
- package/esm/i18n/Locale.d.ts +0 -53
- package/esm/i18n/Locales.d.ts +0 -59
- package/esm/i18n/Message.d.ts +0 -6
- package/esm/i18n/index.d.ts +0 -5
- package/esm/i18n/languages.d.ts +0 -215
- package/esm/i18n/translations/beinformed_error_messages_en.nl.d.ts +0 -97
- package/esm/i18n/translations/beinformed_error_messages_nl.nl.d.ts +0 -97
- package/esm/i18n/types.d.ts +0 -11
- package/esm/i18n/withMessage.d.ts +0 -3
- package/esm/index.d.ts +0 -6
- package/esm/models/actions/ActionCollection.d.ts +0 -30
- package/esm/models/actions/ActionModel.d.ts +0 -82
- package/esm/models/application/ApplicationModel.d.ts +0 -48
- package/esm/models/attributes/AttributeCollection.d.ts +0 -102
- package/esm/models/attributes/AttributeContent.d.ts +0 -64
- package/esm/models/attributes/AttributeDataHelper.d.ts +0 -67
- package/esm/models/attributes/AttributeModel.d.ts +0 -398
- package/esm/models/attributes/AttributeSetModel.d.ts +0 -36
- package/esm/models/attributes/BooleanAttributeModel.d.ts +0 -69
- package/esm/models/attributes/CaptchaAttributeModel.d.ts +0 -19
- package/esm/models/attributes/ChoiceAttributeModel.d.ts +0 -85
- package/esm/models/attributes/ChoiceAttributeOptionCollection.d.ts +0 -87
- package/esm/models/attributes/ChoiceAttributeOptionModel.d.ts +0 -151
- package/esm/models/attributes/CompositeAttributeChildCollection.d.ts +0 -57
- package/esm/models/attributes/CompositeAttributeModel.d.ts +0 -42
- package/esm/models/attributes/DatetimeAttributeModel.d.ts +0 -85
- package/esm/models/attributes/HelptextAttributeModel.d.ts +0 -16
- package/esm/models/attributes/LabelAttributeModel.d.ts +0 -12
- package/esm/models/attributes/MemoAttributeModel.d.ts +0 -14
- package/esm/models/attributes/MoneyAttributeModel.d.ts +0 -14
- package/esm/models/attributes/NumberAttributeModel.d.ts +0 -49
- package/esm/models/attributes/PasswordAttributeModel.d.ts +0 -62
- package/esm/models/attributes/StringAttributeModel.d.ts +0 -65
- package/esm/models/attributes/UploadAttributeModel.d.ts +0 -60
- package/esm/models/attributes/XMLAttributeModel.d.ts +0 -10
- package/esm/models/attributes/_createAttribute.d.ts +0 -7
- package/esm/models/attributes/input-constraints/BSNConstraint.d.ts +0 -26
- package/esm/models/attributes/input-constraints/ConstraintCollection.d.ts +0 -24
- package/esm/models/attributes/input-constraints/ConstraintModel.d.ts +0 -34
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +0 -65
- package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +0 -36
- package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +0 -36
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +0 -50
- package/esm/models/attributes/input-constraints/FileExtensionConstraint.d.ts +0 -33
- package/esm/models/attributes/input-constraints/FileSizeConstraint.d.ts +0 -42
- package/esm/models/attributes/input-constraints/IBANConstraint.d.ts +0 -23
- package/esm/models/attributes/input-constraints/MandatoryConstraint.d.ts +0 -23
- package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +0 -36
- package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +0 -61
- package/esm/models/attributes/input-constraints/NumberFormatConstraint.d.ts +0 -52
- package/esm/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +0 -46
- package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +0 -36
- package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +0 -23
- package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +0 -32
- package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +0 -32
- package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +0 -35
- package/esm/models/attributes/input-constraints/RangeConstraint.d.ts +0 -51
- package/esm/models/attributes/input-constraints/RegexConstraint.d.ts +0 -37
- package/esm/models/attributes/input-constraints/StringLengthConstraint.d.ts +0 -46
- package/esm/models/attributes/input-constraints/XMLConstraint.d.ts +0 -26
- package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +0 -45
- package/esm/models/attributes/layouthint-rules/DependentAttribute.d.ts +0 -57
- package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +0 -27
- package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +0 -17
- package/esm/models/base/BaseCollection.d.ts +0 -89
- package/esm/models/base/BaseModel.d.ts +0 -78
- package/esm/models/base/ResourceCollection.d.ts +0 -20
- package/esm/models/base/ResourceModel.d.ts +0 -102
- package/esm/models/caseview/CaseViewModel.d.ts +0 -46
- package/esm/models/concepts/BusinessScenarioModel.d.ts +0 -20
- package/esm/models/concepts/ConceptDetailModel.d.ts +0 -86
- package/esm/models/concepts/ConceptIndexModel.d.ts +0 -44
- package/esm/models/concepts/ConceptLinkModel.d.ts +0 -82
- package/esm/models/concepts/ConceptRelationCollection.d.ts +0 -36
- package/esm/models/concepts/ConceptRelationModel.d.ts +0 -61
- package/esm/models/concepts/ConceptTypeDetailModel.d.ts +0 -54
- package/esm/models/concepts/SourceReferenceCollection.d.ts +0 -14
- package/esm/models/concepts/SourceReferenceModel.d.ts +0 -48
- package/esm/models/content/ContentIndexModel.d.ts +0 -41
- package/esm/models/content/ContentLinkModel.d.ts +0 -102
- package/esm/models/content/ContentModel.d.ts +0 -80
- package/esm/models/content/ContentTOCModel.d.ts +0 -56
- package/esm/models/content/ContentTypeModel.d.ts +0 -26
- package/esm/models/content/SectionModel.d.ts +0 -79
- package/esm/models/content/SubSectionModel.d.ts +0 -69
- package/esm/models/contentconfiguration/ContentConfiguration.d.ts +0 -28
- package/esm/models/contentconfiguration/ContentConfigurationElements.d.ts +0 -47
- package/esm/models/contentconfiguration/ContentConfigurationEndResults.d.ts +0 -16
- package/esm/models/contentconfiguration/ContentConfigurationQuestions.d.ts +0 -22
- package/esm/models/contentconfiguration/ContentConfigurationResults.d.ts +0 -39
- package/esm/models/detail/DetailModel.d.ts +0 -80
- package/esm/models/error/ErrorCollection.d.ts +0 -51
- package/esm/models/error/ErrorModel.d.ts +0 -41
- package/esm/models/error/ErrorResponse.d.ts +0 -156
- package/esm/models/filters/AssignmentFilterModel.d.ts +0 -35
- package/esm/models/filters/BaseFilterModel.d.ts +0 -101
- package/esm/models/filters/ConceptIndexFilterModel.d.ts +0 -6
- package/esm/models/filters/FilterCollection.d.ts +0 -49
- package/esm/models/filters/FilterModel.d.ts +0 -5
- package/esm/models/filters/RangeFilterModel.d.ts +0 -6
- package/esm/models/filters/StringFilterModel.d.ts +0 -30
- package/esm/models/form/FormModel.d.ts +0 -350
- package/esm/models/form/FormObjectModel.d.ts +0 -210
- package/esm/models/grouping/GroupingModel.d.ts +0 -86
- package/esm/models/href/Href.d.ts +0 -218
- package/esm/models/href/ListHref.d.ts +0 -64
- package/esm/models/index.d.ts +0 -96
- package/esm/models/layouthint/LayoutHintCollection.d.ts +0 -43
- package/esm/models/links/LinkCollection.d.ts +0 -71
- package/esm/models/links/LinkModel.d.ts +0 -93
- package/esm/models/links/normalizeLinkJSON.d.ts +0 -9
- package/esm/models/list/ListDetailModel.d.ts +0 -69
- package/esm/models/list/ListHeaderModel.d.ts +0 -53
- package/esm/models/list/ListItemCollection.d.ts +0 -21
- package/esm/models/list/ListItemModel.d.ts +0 -35
- package/esm/models/list/ListModel.d.ts +0 -143
- package/esm/models/lookup/LookupOptionCollection.d.ts +0 -15
- package/esm/models/lookup/LookupOptionsModel.d.ts +0 -23
- package/esm/models/modelcatalog/ModelCatalogModel.d.ts +0 -23
- package/esm/models/modelcatalog/ModelCategoryCollection.d.ts +0 -11
- package/esm/models/modelcatalog/ModelCategoryModel.d.ts +0 -39
- package/esm/models/paging/PagesizeModel.d.ts +0 -25
- package/esm/models/paging/PagingModel.d.ts +0 -49
- package/esm/models/panels/GroupingPanelModel.d.ts +0 -49
- package/esm/models/parameter/Parameter.d.ts +0 -40
- package/esm/models/process/ProcessStatusSettingsModel.d.ts +0 -38
- package/esm/models/resolveModel.d.ts +0 -7
- package/esm/models/search/CaseSearchModel.d.ts +0 -14
- package/esm/models/sorting/SortOptionModel.d.ts +0 -48
- package/esm/models/sorting/SortingModel.d.ts +0 -42
- package/esm/models/tab/TabModel.d.ts +0 -53
- package/esm/models/taskgroup/TaskGroupCollection.d.ts +0 -12
- package/esm/models/taskgroup/TaskGroupModel.d.ts +0 -25
- package/esm/models/types.d.ts +0 -171
- package/esm/models/user/UserModel.d.ts +0 -18
- package/esm/models/user/UserProfileModel.d.ts +0 -17
- package/esm/models/user/UserServicesModel.d.ts +0 -39
- package/esm/modularui/Authenticate.d.ts +0 -46
- package/esm/modularui/CaptchaRequest.d.ts +0 -54
- package/esm/modularui/ModularUIError.d.ts +0 -10
- package/esm/modularui/ModularUIRequest.d.ts +0 -207
- package/esm/modularui/ModularUIResponse.d.ts +0 -78
- package/esm/modularui/UploadRequest.d.ts +0 -41
- package/esm/modularui/index.d.ts +0 -5
- package/esm/modularui/types.d.ts +0 -2
- package/esm/react/ErrorBoundary.d.ts +0 -31
- package/esm/react/ErrorBoundaryFallback.d.ts +0 -8
- package/esm/react/index.d.ts +0 -2
- package/esm/react/utils.d.ts +0 -5
- package/esm/react-client/Init.d.ts +0 -6
- package/esm/react-client/client.d.ts +0 -25
- package/esm/react-client/contextPath.d.ts +0 -1
- package/esm/react-client/index.d.ts +0 -3
- package/esm/react-client/rehydrate.d.ts +0 -5
- package/esm/react-server/contextPath.d.ts +0 -1
- package/esm/react-server/createSSRComplete.d.ts +0 -5
- package/esm/react-server/htmlpage.d.ts +0 -11
- package/esm/react-server/index.d.ts +0 -8
- package/esm/react-server/renderSSRComplete.d.ts +0 -13
- package/esm/react-server/renderSSRMinimal.d.ts +0 -11
- package/esm/react-server/requestInformation.d.ts +0 -6
- package/esm/react-server/serverNoSSR.d.ts +0 -15
- package/esm/react-server/serverSSR.d.ts +0 -15
- package/esm/react-server/serverUtil.d.ts +0 -46
- package/esm/react-theme/ThemeProvider.d.ts +0 -8
- package/esm/react-theme/createTheme.d.ts +0 -53
- package/esm/react-theme/index.d.ts +0 -10
- package/esm/react-theme/types.d.ts +0 -13
- package/esm/react-theme/useTheme.d.ts +0 -4
- package/esm/react-theme/utils/background.d.ts +0 -4
- package/esm/react-theme/utils/colors.d.ts +0 -9
- package/esm/react-theme/utils/contrast.d.ts +0 -18
- package/esm/react-theme/utils/corners.d.ts +0 -3
- package/esm/react-theme/utils/spacers.d.ts +0 -9
- package/esm/react-theme/utils/themeProps.d.ts +0 -7
- package/esm/redux/_i18n/I18nActions.d.ts +0 -7
- package/esm/redux/_i18n/I18nReducer.d.ts +0 -7
- package/esm/redux/_i18n/index.d.ts +0 -3
- package/esm/redux/_i18n/types.d.ts +0 -13
- package/esm/redux/_modularui/ModularUIActions.d.ts +0 -26
- package/esm/redux/_modularui/ModularUIConnector.d.ts +0 -7
- package/esm/redux/_modularui/ModularUIMiddleware.d.ts +0 -7
- package/esm/redux/_modularui/ModularUIReducer.d.ts +0 -7
- package/esm/redux/_modularui/ModularUISelectors.d.ts +0 -3
- package/esm/redux/_modularui/ModularUIUtils.d.ts +0 -5
- package/esm/redux/_modularui/index.d.ts +0 -8
- package/esm/redux/_modularui/types.d.ts +0 -84
- package/esm/redux/_modularui/withModularUI.d.ts +0 -3
- package/esm/redux/_router/RouterActions.d.ts +0 -10
- package/esm/redux/_router/RouterConnectors.d.ts +0 -6
- package/esm/redux/_router/RouterMiddleware.d.ts +0 -5
- package/esm/redux/_router/RouterReducer.d.ts +0 -7
- package/esm/redux/_router/index.d.ts +0 -5
- package/esm/redux/_router/types.d.ts +0 -35
- package/esm/redux/actions/Application.d.ts +0 -4
- package/esm/redux/actions/Authorization.d.ts +0 -3
- package/esm/redux/actions/Error.d.ts +0 -7
- package/esm/redux/actions/Form.d.ts +0 -5
- package/esm/redux/actions/FormAttributeSet.d.ts +0 -6
- package/esm/redux/actions/FormAttributeSetRepeatable.d.ts +0 -6
- package/esm/redux/actions/FormAutosave.d.ts +0 -3
- package/esm/redux/actions/FormAutosubmit.d.ts +0 -4
- package/esm/redux/actions/FormAutoupdate.d.ts +0 -4
- package/esm/redux/actions/FormValidations.d.ts +0 -3
- package/esm/redux/actions/Modals.d.ts +0 -4
- package/esm/redux/actions/ModelCatalog.d.ts +0 -2
- package/esm/redux/actions/Notification.d.ts +0 -10
- package/esm/redux/actions/Preferences.d.ts +0 -11
- package/esm/redux/actions/ProgressIndicator.d.ts +0 -8
- package/esm/redux/actions/SignIn.d.ts +0 -10
- package/esm/redux/actions/SignOut.d.ts +0 -4
- package/esm/redux/actions/index.d.ts +0 -16
- package/esm/redux/connectors/Application.d.ts +0 -4
- package/esm/redux/connectors/Breadcrumb.d.ts +0 -3
- package/esm/redux/connectors/CaseView.d.ts +0 -4
- package/esm/redux/connectors/ConceptDetail.d.ts +0 -4
- package/esm/redux/connectors/ContentBrowser.d.ts +0 -4
- package/esm/redux/connectors/ContentDetail.d.ts +0 -4
- package/esm/redux/connectors/ContentDetailSection.d.ts +0 -4
- package/esm/redux/connectors/Form.d.ts +0 -16
- package/esm/redux/connectors/FormAttributeSet.d.ts +0 -5
- package/esm/redux/connectors/ListDetail.d.ts +0 -4
- package/esm/redux/connectors/Modal.d.ts +0 -4
- package/esm/redux/connectors/ModelCatalog.d.ts +0 -4
- package/esm/redux/connectors/Notification.d.ts +0 -4
- package/esm/redux/connectors/PanelRenderer.d.ts +0 -4
- package/esm/redux/connectors/Preferences.d.ts +0 -2
- package/esm/redux/connectors/Progress.d.ts +0 -3
- package/esm/redux/connectors/ProgressIndicator.d.ts +0 -3
- package/esm/redux/connectors/QuickSearch.d.ts +0 -11
- package/esm/redux/connectors/SignIn.d.ts +0 -4
- package/esm/redux/connectors/SignOut.d.ts +0 -4
- package/esm/redux/connectors/Tab.d.ts +0 -4
- package/esm/redux/connectors/index.d.ts +0 -21
- package/esm/redux/index.d.ts +0 -9
- package/esm/redux/reducers/AuthReducer.d.ts +0 -8
- package/esm/redux/reducers/ErrorReducer.d.ts +0 -8
- package/esm/redux/reducers/ModalsReducer.d.ts +0 -8
- package/esm/redux/reducers/ModelCatalogReducer.d.ts +0 -8
- package/esm/redux/reducers/NotificationReducer.d.ts +0 -8
- package/esm/redux/reducers/PreferencesReducer.d.ts +0 -8
- package/esm/redux/reducers/ProgressIndicatorReducer.d.ts +0 -8
- package/esm/redux/reducers/createReducer.d.ts +0 -14
- package/esm/redux/reducers/index.d.ts +0 -8
- package/esm/redux/selectors/i18n.d.ts +0 -4
- package/esm/redux/selectors/index.d.ts +0 -2
- package/esm/redux/selectors/modelcatalog.d.ts +0 -2
- package/esm/redux/store/beforeRenderHooks.d.ts +0 -7
- package/esm/redux/store/configureStore.d.ts +0 -9
- package/esm/redux/types.d.ts +0 -113
- package/esm/utils/browser/Cache.d.ts +0 -45
- package/esm/utils/browser/Cookies.d.ts +0 -9
- package/esm/utils/datetime/DateTimeUtil.d.ts +0 -214
- package/esm/utils/fetch/__mocks__/universalFetch.d.ts +0 -3
- package/esm/utils/fetch/serverFetch.d.ts +0 -5
- package/esm/utils/fetch/types.d.ts +0 -44
- package/esm/utils/fetch/universalFetch.d.ts +0 -7
- package/esm/utils/fetch/xhr.d.ts +0 -5
- package/esm/utils/helpers/checkResource.d.ts +0 -3
- package/esm/utils/helpers/createHash.d.ts +0 -9
- package/esm/utils/helpers/createHref.d.ts +0 -8
- package/esm/utils/helpers/createUUID.d.ts +0 -4
- package/esm/utils/helpers/index.d.ts +0 -8
- package/esm/utils/helpers/objects.d.ts +0 -11
- package/esm/utils/helpers/repositoryResource.d.ts +0 -1
- package/esm/utils/helpers/sanitizeHtml.d.ts +0 -9
- package/esm/utils/helpers/text.d.ts +0 -7
- package/esm/utils/index.d.ts +0 -11
- package/esm/utils/number/DecimalFormat.d.ts +0 -90
- package/esm/utils/number/formatValue.d.ts +0 -4
- package/esm/utils/number/parseNumbers.d.ts +0 -9
- package/lib/builder/index.d.ts +0 -1
- package/lib/builder/mergeLayoutHintConfigurations.d.ts +0 -1
- package/lib/constants/Constants.d.ts +0 -158
- package/lib/constants/LayoutHintConfig.d.ts +0 -267
- package/lib/constants/LayoutHints.d.ts +0 -83
- package/lib/constants/Settings.d.ts +0 -32
- package/lib/constants/index.d.ts +0 -3
- package/lib/exceptions/ConfigurationException.d.ts +0 -7
- package/lib/exceptions/FetchException.d.ts +0 -31
- package/lib/exceptions/IllegalArgumentException.d.ts +0 -7
- package/lib/exceptions/IllegalReturnException.d.ts +0 -6
- package/lib/exceptions/IllegalStateException.d.ts +0 -7
- package/lib/exceptions/JsonParseException.d.ts +0 -7
- package/lib/exceptions/MissingPropertyException.d.ts +0 -7
- package/lib/exceptions/NetworkException.d.ts +0 -9
- package/lib/exceptions/NotAllowedUriException.d.ts +0 -7
- package/lib/exceptions/NotFoundException.d.ts +0 -10
- package/lib/exceptions/ServerRequestException.d.ts +0 -7
- package/lib/exceptions/ThemePropertyException.d.ts +0 -7
- package/lib/exceptions/TimeoutException.d.ts +0 -7
- package/lib/exceptions/UnauthorizedException.d.ts +0 -11
- package/lib/exceptions/UnsupportedOperationException.d.ts +0 -7
- package/lib/exceptions/index.d.ts +0 -15
- package/lib/hooks/index.d.ts +0 -16
- package/lib/hooks/useAllFormsOnModel.d.ts +0 -7
- package/lib/hooks/useAuthentication.d.ts +0 -16
- package/lib/hooks/useContent.d.ts +0 -3
- package/lib/hooks/useDeepCompareEffect.d.ts +0 -6
- package/lib/hooks/useForm.d.ts +0 -21
- package/lib/hooks/useI18n.d.ts +0 -13
- package/lib/hooks/useModal.d.ts +0 -12
- package/lib/hooks/useModelCatalog.d.ts +0 -34
- package/lib/hooks/useModels.d.ts +0 -10
- package/lib/hooks/useModularUI.d.ts +0 -3
- package/lib/hooks/useModularUIBasic.d.ts +0 -9
- package/lib/hooks/useModularUIModel.d.ts +0 -27
- package/lib/hooks/useModularUIRequest.d.ts +0 -4
- package/lib/hooks/useNotification.d.ts +0 -8
- package/lib/hooks/usePreference.d.ts +0 -2
- package/lib/hooks/useProgressIndicator.d.ts +0 -9
- package/lib/hooks/useRouter.d.ts +0 -23
- package/lib/i18n/Locale.d.ts +0 -53
- package/lib/i18n/Locales.d.ts +0 -59
- package/lib/i18n/Message.d.ts +0 -6
- package/lib/i18n/index.d.ts +0 -5
- package/lib/i18n/languages.d.ts +0 -215
- package/lib/i18n/translations/beinformed_error_messages_en.nl.d.ts +0 -97
- package/lib/i18n/translations/beinformed_error_messages_nl.nl.d.ts +0 -97
- package/lib/i18n/types.d.ts +0 -11
- package/lib/i18n/withMessage.d.ts +0 -3
- package/lib/index.d.ts +0 -6
- package/lib/models/actions/ActionCollection.d.ts +0 -30
- package/lib/models/actions/ActionModel.d.ts +0 -82
- package/lib/models/application/ApplicationModel.d.ts +0 -48
- package/lib/models/attributes/AttributeCollection.d.ts +0 -102
- package/lib/models/attributes/AttributeContent.d.ts +0 -64
- package/lib/models/attributes/AttributeDataHelper.d.ts +0 -67
- package/lib/models/attributes/AttributeModel.d.ts +0 -398
- package/lib/models/attributes/AttributeSetModel.d.ts +0 -36
- package/lib/models/attributes/BooleanAttributeModel.d.ts +0 -69
- package/lib/models/attributes/CaptchaAttributeModel.d.ts +0 -19
- package/lib/models/attributes/ChoiceAttributeModel.d.ts +0 -85
- package/lib/models/attributes/ChoiceAttributeOptionCollection.d.ts +0 -87
- package/lib/models/attributes/ChoiceAttributeOptionModel.d.ts +0 -151
- package/lib/models/attributes/CompositeAttributeChildCollection.d.ts +0 -57
- package/lib/models/attributes/CompositeAttributeModel.d.ts +0 -42
- package/lib/models/attributes/DatetimeAttributeModel.d.ts +0 -85
- package/lib/models/attributes/HelptextAttributeModel.d.ts +0 -16
- package/lib/models/attributes/LabelAttributeModel.d.ts +0 -12
- package/lib/models/attributes/MemoAttributeModel.d.ts +0 -14
- package/lib/models/attributes/MoneyAttributeModel.d.ts +0 -14
- package/lib/models/attributes/NumberAttributeModel.d.ts +0 -49
- package/lib/models/attributes/PasswordAttributeModel.d.ts +0 -62
- package/lib/models/attributes/StringAttributeModel.d.ts +0 -65
- package/lib/models/attributes/UploadAttributeModel.d.ts +0 -60
- package/lib/models/attributes/XMLAttributeModel.d.ts +0 -10
- package/lib/models/attributes/_createAttribute.d.ts +0 -7
- package/lib/models/attributes/input-constraints/BSNConstraint.d.ts +0 -26
- package/lib/models/attributes/input-constraints/ConstraintCollection.d.ts +0 -24
- package/lib/models/attributes/input-constraints/ConstraintModel.d.ts +0 -34
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +0 -65
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +0 -36
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +0 -36
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +0 -50
- package/lib/models/attributes/input-constraints/FileExtensionConstraint.d.ts +0 -33
- package/lib/models/attributes/input-constraints/FileSizeConstraint.d.ts +0 -42
- package/lib/models/attributes/input-constraints/IBANConstraint.d.ts +0 -23
- package/lib/models/attributes/input-constraints/MandatoryConstraint.d.ts +0 -23
- package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +0 -36
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +0 -61
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.d.ts +0 -52
- package/lib/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +0 -46
- package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +0 -36
- package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +0 -23
- package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +0 -32
- package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +0 -32
- package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +0 -35
- package/lib/models/attributes/input-constraints/RangeConstraint.d.ts +0 -51
- package/lib/models/attributes/input-constraints/RegexConstraint.d.ts +0 -37
- package/lib/models/attributes/input-constraints/StringLengthConstraint.d.ts +0 -46
- package/lib/models/attributes/input-constraints/XMLConstraint.d.ts +0 -26
- package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +0 -45
- package/lib/models/attributes/layouthint-rules/DependentAttribute.d.ts +0 -57
- package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +0 -27
- package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +0 -17
- package/lib/models/base/BaseCollection.d.ts +0 -89
- package/lib/models/base/BaseModel.d.ts +0 -78
- package/lib/models/base/ResourceCollection.d.ts +0 -20
- package/lib/models/base/ResourceModel.d.ts +0 -102
- package/lib/models/caseview/CaseViewModel.d.ts +0 -46
- package/lib/models/concepts/BusinessScenarioModel.d.ts +0 -20
- package/lib/models/concepts/ConceptDetailModel.d.ts +0 -86
- package/lib/models/concepts/ConceptIndexModel.d.ts +0 -44
- package/lib/models/concepts/ConceptLinkModel.d.ts +0 -82
- package/lib/models/concepts/ConceptRelationCollection.d.ts +0 -36
- package/lib/models/concepts/ConceptRelationModel.d.ts +0 -61
- package/lib/models/concepts/ConceptTypeDetailModel.d.ts +0 -54
- package/lib/models/concepts/SourceReferenceCollection.d.ts +0 -14
- package/lib/models/concepts/SourceReferenceModel.d.ts +0 -48
- package/lib/models/content/ContentIndexModel.d.ts +0 -41
- package/lib/models/content/ContentLinkModel.d.ts +0 -102
- package/lib/models/content/ContentModel.d.ts +0 -80
- package/lib/models/content/ContentTOCModel.d.ts +0 -56
- package/lib/models/content/ContentTypeModel.d.ts +0 -26
- package/lib/models/content/SectionModel.d.ts +0 -79
- package/lib/models/content/SubSectionModel.d.ts +0 -69
- package/lib/models/contentconfiguration/ContentConfiguration.d.ts +0 -28
- package/lib/models/contentconfiguration/ContentConfigurationElements.d.ts +0 -47
- package/lib/models/contentconfiguration/ContentConfigurationEndResults.d.ts +0 -16
- package/lib/models/contentconfiguration/ContentConfigurationQuestions.d.ts +0 -22
- package/lib/models/contentconfiguration/ContentConfigurationResults.d.ts +0 -39
- package/lib/models/detail/DetailModel.d.ts +0 -80
- package/lib/models/error/ErrorCollection.d.ts +0 -51
- package/lib/models/error/ErrorModel.d.ts +0 -41
- package/lib/models/error/ErrorResponse.d.ts +0 -156
- package/lib/models/filters/AssignmentFilterModel.d.ts +0 -35
- package/lib/models/filters/BaseFilterModel.d.ts +0 -101
- package/lib/models/filters/ConceptIndexFilterModel.d.ts +0 -6
- package/lib/models/filters/FilterCollection.d.ts +0 -49
- package/lib/models/filters/FilterModel.d.ts +0 -5
- package/lib/models/filters/RangeFilterModel.d.ts +0 -6
- package/lib/models/filters/StringFilterModel.d.ts +0 -30
- package/lib/models/form/FormModel.d.ts +0 -350
- package/lib/models/form/FormObjectModel.d.ts +0 -210
- package/lib/models/grouping/GroupingModel.d.ts +0 -86
- package/lib/models/href/Href.d.ts +0 -218
- package/lib/models/href/ListHref.d.ts +0 -64
- package/lib/models/index.d.ts +0 -96
- package/lib/models/layouthint/LayoutHintCollection.d.ts +0 -43
- package/lib/models/links/LinkCollection.d.ts +0 -71
- package/lib/models/links/LinkModel.d.ts +0 -93
- package/lib/models/links/normalizeLinkJSON.d.ts +0 -9
- package/lib/models/list/ListDetailModel.d.ts +0 -69
- package/lib/models/list/ListHeaderModel.d.ts +0 -53
- package/lib/models/list/ListItemCollection.d.ts +0 -21
- package/lib/models/list/ListItemModel.d.ts +0 -35
- package/lib/models/list/ListModel.d.ts +0 -143
- package/lib/models/lookup/LookupOptionCollection.d.ts +0 -15
- package/lib/models/lookup/LookupOptionsModel.d.ts +0 -23
- package/lib/models/modelcatalog/ModelCatalogModel.d.ts +0 -23
- package/lib/models/modelcatalog/ModelCategoryCollection.d.ts +0 -11
- package/lib/models/modelcatalog/ModelCategoryModel.d.ts +0 -39
- package/lib/models/paging/PagesizeModel.d.ts +0 -25
- package/lib/models/paging/PagingModel.d.ts +0 -49
- package/lib/models/panels/GroupingPanelModel.d.ts +0 -49
- package/lib/models/parameter/Parameter.d.ts +0 -40
- package/lib/models/process/ProcessStatusSettingsModel.d.ts +0 -38
- package/lib/models/resolveModel.d.ts +0 -7
- package/lib/models/search/CaseSearchModel.d.ts +0 -14
- package/lib/models/sorting/SortOptionModel.d.ts +0 -48
- package/lib/models/sorting/SortingModel.d.ts +0 -42
- package/lib/models/tab/TabModel.d.ts +0 -53
- package/lib/models/taskgroup/TaskGroupCollection.d.ts +0 -12
- package/lib/models/taskgroup/TaskGroupModel.d.ts +0 -25
- package/lib/models/types.d.ts +0 -171
- package/lib/models/user/UserModel.d.ts +0 -18
- package/lib/models/user/UserProfileModel.d.ts +0 -17
- package/lib/models/user/UserServicesModel.d.ts +0 -39
- package/lib/modularui/Authenticate.d.ts +0 -46
- package/lib/modularui/CaptchaRequest.d.ts +0 -54
- package/lib/modularui/ModularUIError.d.ts +0 -10
- package/lib/modularui/ModularUIRequest.d.ts +0 -207
- package/lib/modularui/ModularUIResponse.d.ts +0 -78
- package/lib/modularui/UploadRequest.d.ts +0 -41
- package/lib/modularui/index.d.ts +0 -5
- package/lib/modularui/types.d.ts +0 -2
- package/lib/react/ErrorBoundary.d.ts +0 -31
- package/lib/react/ErrorBoundaryFallback.d.ts +0 -8
- package/lib/react/index.d.ts +0 -2
- package/lib/react/utils.d.ts +0 -5
- package/lib/react-client/Init.d.ts +0 -6
- package/lib/react-client/client.d.ts +0 -25
- package/lib/react-client/contextPath.d.ts +0 -1
- package/lib/react-client/index.d.ts +0 -3
- package/lib/react-client/rehydrate.d.ts +0 -5
- package/lib/react-server/contextPath.d.ts +0 -1
- package/lib/react-server/createSSRComplete.d.ts +0 -5
- package/lib/react-server/htmlpage.d.ts +0 -11
- package/lib/react-server/index.d.ts +0 -8
- package/lib/react-server/renderSSRComplete.d.ts +0 -13
- package/lib/react-server/renderSSRMinimal.d.ts +0 -11
- package/lib/react-server/requestInformation.d.ts +0 -6
- package/lib/react-server/serverNoSSR.d.ts +0 -15
- package/lib/react-server/serverSSR.d.ts +0 -15
- package/lib/react-server/serverUtil.d.ts +0 -46
- package/lib/react-theme/ThemeProvider.d.ts +0 -8
- package/lib/react-theme/createTheme.d.ts +0 -53
- package/lib/react-theme/index.d.ts +0 -10
- package/lib/react-theme/types.d.ts +0 -13
- package/lib/react-theme/useTheme.d.ts +0 -4
- package/lib/react-theme/utils/background.d.ts +0 -4
- package/lib/react-theme/utils/colors.d.ts +0 -9
- package/lib/react-theme/utils/contrast.d.ts +0 -18
- package/lib/react-theme/utils/corners.d.ts +0 -3
- package/lib/react-theme/utils/spacers.d.ts +0 -9
- package/lib/react-theme/utils/themeProps.d.ts +0 -7
- package/lib/redux/_i18n/I18nActions.d.ts +0 -7
- package/lib/redux/_i18n/I18nReducer.d.ts +0 -7
- package/lib/redux/_i18n/index.d.ts +0 -3
- package/lib/redux/_i18n/types.d.ts +0 -13
- package/lib/redux/_modularui/ModularUIActions.d.ts +0 -26
- package/lib/redux/_modularui/ModularUIConnector.d.ts +0 -7
- package/lib/redux/_modularui/ModularUIMiddleware.d.ts +0 -7
- package/lib/redux/_modularui/ModularUIReducer.d.ts +0 -7
- package/lib/redux/_modularui/ModularUISelectors.d.ts +0 -3
- package/lib/redux/_modularui/ModularUIUtils.d.ts +0 -5
- package/lib/redux/_modularui/index.d.ts +0 -8
- package/lib/redux/_modularui/types.d.ts +0 -84
- package/lib/redux/_modularui/withModularUI.d.ts +0 -3
- package/lib/redux/_router/RouterActions.d.ts +0 -10
- package/lib/redux/_router/RouterConnectors.d.ts +0 -6
- package/lib/redux/_router/RouterMiddleware.d.ts +0 -5
- package/lib/redux/_router/RouterReducer.d.ts +0 -7
- package/lib/redux/_router/index.d.ts +0 -5
- package/lib/redux/_router/types.d.ts +0 -35
- package/lib/redux/actions/Application.d.ts +0 -4
- package/lib/redux/actions/Authorization.d.ts +0 -3
- package/lib/redux/actions/Error.d.ts +0 -7
- package/lib/redux/actions/Form.d.ts +0 -5
- package/lib/redux/actions/FormAttributeSet.d.ts +0 -6
- package/lib/redux/actions/FormAttributeSetRepeatable.d.ts +0 -6
- package/lib/redux/actions/FormAutosave.d.ts +0 -3
- package/lib/redux/actions/FormAutosubmit.d.ts +0 -4
- package/lib/redux/actions/FormAutoupdate.d.ts +0 -4
- package/lib/redux/actions/FormValidations.d.ts +0 -3
- package/lib/redux/actions/Modals.d.ts +0 -4
- package/lib/redux/actions/ModelCatalog.d.ts +0 -2
- package/lib/redux/actions/Notification.d.ts +0 -10
- package/lib/redux/actions/Preferences.d.ts +0 -11
- package/lib/redux/actions/ProgressIndicator.d.ts +0 -8
- package/lib/redux/actions/SignIn.d.ts +0 -10
- package/lib/redux/actions/SignOut.d.ts +0 -4
- package/lib/redux/actions/index.d.ts +0 -16
- package/lib/redux/connectors/Application.d.ts +0 -4
- package/lib/redux/connectors/Breadcrumb.d.ts +0 -3
- package/lib/redux/connectors/CaseView.d.ts +0 -4
- package/lib/redux/connectors/ConceptDetail.d.ts +0 -4
- package/lib/redux/connectors/ContentBrowser.d.ts +0 -4
- package/lib/redux/connectors/ContentDetail.d.ts +0 -4
- package/lib/redux/connectors/ContentDetailSection.d.ts +0 -4
- package/lib/redux/connectors/Form.d.ts +0 -16
- package/lib/redux/connectors/FormAttributeSet.d.ts +0 -5
- package/lib/redux/connectors/ListDetail.d.ts +0 -4
- package/lib/redux/connectors/Modal.d.ts +0 -4
- package/lib/redux/connectors/ModelCatalog.d.ts +0 -4
- package/lib/redux/connectors/Notification.d.ts +0 -4
- package/lib/redux/connectors/PanelRenderer.d.ts +0 -4
- package/lib/redux/connectors/Preferences.d.ts +0 -2
- package/lib/redux/connectors/Progress.d.ts +0 -3
- package/lib/redux/connectors/ProgressIndicator.d.ts +0 -3
- package/lib/redux/connectors/QuickSearch.d.ts +0 -11
- package/lib/redux/connectors/SignIn.d.ts +0 -4
- package/lib/redux/connectors/SignOut.d.ts +0 -4
- package/lib/redux/connectors/Tab.d.ts +0 -4
- package/lib/redux/connectors/index.d.ts +0 -21
- package/lib/redux/index.d.ts +0 -9
- package/lib/redux/reducers/AuthReducer.d.ts +0 -8
- package/lib/redux/reducers/ErrorReducer.d.ts +0 -8
- package/lib/redux/reducers/ModalsReducer.d.ts +0 -8
- package/lib/redux/reducers/ModelCatalogReducer.d.ts +0 -8
- package/lib/redux/reducers/NotificationReducer.d.ts +0 -8
- package/lib/redux/reducers/PreferencesReducer.d.ts +0 -8
- package/lib/redux/reducers/ProgressIndicatorReducer.d.ts +0 -8
- package/lib/redux/reducers/createReducer.d.ts +0 -14
- package/lib/redux/reducers/index.d.ts +0 -8
- package/lib/redux/selectors/i18n.d.ts +0 -4
- package/lib/redux/selectors/index.d.ts +0 -2
- package/lib/redux/selectors/modelcatalog.d.ts +0 -2
- package/lib/redux/store/beforeRenderHooks.d.ts +0 -7
- package/lib/redux/store/configureStore.d.ts +0 -9
- package/lib/redux/types.d.ts +0 -113
- package/lib/utils/browser/Cache.d.ts +0 -45
- package/lib/utils/browser/Cookies.d.ts +0 -9
- package/lib/utils/datetime/DateTimeUtil.d.ts +0 -214
- package/lib/utils/fetch/__mocks__/universalFetch.d.ts +0 -3
- package/lib/utils/fetch/serverFetch.d.ts +0 -5
- package/lib/utils/fetch/types.d.ts +0 -44
- package/lib/utils/fetch/universalFetch.d.ts +0 -7
- package/lib/utils/fetch/xhr.d.ts +0 -5
- package/lib/utils/helpers/checkResource.d.ts +0 -3
- package/lib/utils/helpers/createHash.d.ts +0 -9
- package/lib/utils/helpers/createHref.d.ts +0 -8
- package/lib/utils/helpers/createUUID.d.ts +0 -4
- package/lib/utils/helpers/index.d.ts +0 -8
- package/lib/utils/helpers/objects.d.ts +0 -11
- package/lib/utils/helpers/repositoryResource.d.ts +0 -1
- package/lib/utils/helpers/sanitizeHtml.d.ts +0 -9
- package/lib/utils/helpers/text.d.ts +0 -7
- package/lib/utils/index.d.ts +0 -11
- package/lib/utils/number/DecimalFormat.d.ts +0 -90
- package/lib/utils/number/formatValue.d.ts +0 -4
- package/lib/utils/number/parseNumbers.d.ts +0 -9
|
@@ -13,7 +13,7 @@ import Locales from "../i18n/Locales";
|
|
|
13
13
|
import { getPreferredLocale } from "./requestInformation";
|
|
14
14
|
import { setLocales } from "../redux/_i18n/I18nActions";
|
|
15
15
|
import { setServerPreference, setThemePreference, setPreference, setAllContentInDataSetting, setLoginPreferences, setDateTimeSettings } from "../redux/actions/Preferences";
|
|
16
|
-
import {
|
|
16
|
+
import { getEnabledLocales } from "../constants/Settings";
|
|
17
17
|
import { IllegalArgumentException } from "../exceptions";
|
|
18
18
|
import { initModels } from "../redux";
|
|
19
19
|
import { getLocale } from "../redux/selectors/i18n";
|
|
@@ -57,7 +57,7 @@ const setI18n = function (store) {
|
|
|
57
57
|
});
|
|
58
58
|
const enabledLocales = _filterInstanceProperty(mergedLocales).call(mergedLocales, locale => {
|
|
59
59
|
var _context;
|
|
60
|
-
return _includesInstanceProperty(_context =
|
|
60
|
+
return _includesInstanceProperty(_context = getEnabledLocales()).call(_context, locale.code);
|
|
61
61
|
});
|
|
62
62
|
const localesInstance = new Locales(enabledLocales);
|
|
63
63
|
const preferredLocale = getPreferredLocale(request, localesInstance);
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
setDateTimeSettings,
|
|
21
21
|
} from "../redux/actions/Preferences";
|
|
22
22
|
|
|
23
|
-
import {
|
|
23
|
+
import { getEnabledLocales } from "../constants/Settings";
|
|
24
24
|
|
|
25
25
|
import { IllegalArgumentException } from "../exceptions";
|
|
26
26
|
|
|
@@ -89,7 +89,7 @@ const setI18n = (
|
|
|
89
89
|
});
|
|
90
90
|
|
|
91
91
|
const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>
|
|
92
|
-
|
|
92
|
+
getEnabledLocales().includes(locale.code),
|
|
93
93
|
);
|
|
94
94
|
|
|
95
95
|
const localesInstance = new Locales(enabledLocales);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverUtil.js","names":["createMemoryHistory","has","deepmerge","configureStore","availableLocales","Locales","getPreferredLocale","setLocales","setServerPreference","setThemePreference","setPreference","setAllContentInDataSetting","setLoginPreferences","setDateTimeSettings","getSetting","IllegalArgumentException","initModels","getLocale","ModularUIRequest","createReduxStore","requestHref","customReducers","initialState","history","initialEntries","toString","store","setI18n","locales","arguments","length","undefined","request","Array","isArray","mergedLocales","_mapInstanceProperty","call","locale","code","customLocale","_findInstanceProperty","custLocale","forEach","some","push","enabledLocales","_filterInstanceProperty","_context","_includesInstanceProperty","localesInstance","preferredLocale","dispatch","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreferences","preferencesProvider","isStudioContext","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWithInstanceProperty","dataFetcher","fetch","Error","setApplication","getState","application","fetchSync","connectKey","key","model","e","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_JSON$stringify","replace","createHead","sheet","UUID","helmetContext","style","getStyleTags","meta","helmet"],"sources":["../../src/react-server/serverUtil.js"],"sourcesContent":["// @flow\nimport { createMemoryHistory } from \"history\";\nimport { has } from \"../utils/helpers/objects\";\nimport deepmerge from \"deepmerge\";\n\nimport configureStore from \"../redux/store/configureStore\";\n\nimport { availableLocales } from \"../i18n/Locales\";\nimport Locales from \"../i18n/Locales\";\n\nimport { getPreferredLocale } from \"./requestInformation\";\nimport { setLocales } from \"../redux/_i18n/I18nActions\";\n\nimport {\n setServerPreference,\n setThemePreference,\n setPreference,\n setAllContentInDataSetting,\n setLoginPreferences,\n setDateTimeSettings,\n} from \"../redux/actions/Preferences\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport { initModels } from \"../redux\";\nimport { getLocale } from \"../redux/selectors/i18n\";\n\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { ReduxState, ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { RouterHistory } from \"react-router\";\n\nexport type PreferenceValue = {\n name: string,\n defaultValue?: string | null,\n type?: string,\n};\n\n/**\n */\nconst createReduxStore = (\n requestHref: Href,\n customReducers: Object,\n initialState?: $Shape<ReduxState>,\n): ReduxStore => {\n // $FlowExpectedError\n const history: RouterHistory = createMemoryHistory({\n initialEntries: [requestHref.toString()],\n });\n\n const { store } = configureStore(history, customReducers, initialState);\n\n return store;\n};\n\n/**\n */\nconst setI18n = (\n store: ReduxStore,\n locales: Array<LocaleConfiguration> = [],\n request: HttpServletRequestJava,\n) => {\n if (!Array.isArray(locales)) {\n throw new IllegalArgumentException(\"locales must be an array of objects\");\n }\n if (!request) {\n throw new IllegalArgumentException(\"missing request argument\");\n }\n\n const mergedLocales = availableLocales.map((locale) => {\n const code = locale.code;\n const customLocale = locales.find((custLocale) => custLocale.code === code);\n\n if (customLocale) {\n return deepmerge(locale, customLocale);\n }\n\n return locale;\n });\n\n locales.forEach((customLocale) => {\n if (!mergedLocales.some((locale) => locale.code === customLocale.code)) {\n mergedLocales.push(customLocale);\n }\n });\n\n const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>\n getSetting(\"ENABLED_LOCALES\").includes(locale.code),\n );\n\n const localesInstance = new Locales(enabledLocales);\n const preferredLocale = getPreferredLocale(request, localesInstance);\n store.dispatch(setLocales(localesInstance, preferredLocale ?? \"en\"));\n};\n\nconst setServerPreferencesFromArray = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>,\n) => {\n serverPreferences.forEach((serverPreference) => {\n if (typeof serverPreference === \"object\") {\n const { name, defaultValue, type } = serverPreference;\n store.dispatch(setServerPreference(name, defaultValue, type));\n } else {\n store.dispatch(setServerPreference(serverPreference, null));\n }\n });\n};\n\n/**\n * Server preferences can be suplied by an array of preference names,\n * or an array of objects which has the name, an optional default value and an optional type.<br>\n * When the type is set to string, a comma separated value is not converted to an array:\n *\n * @example\n * // value becomes an array [default1, default2]\n * { name: \"prefName\", defaultValue: \"default1, default2\" }\n * // value remains a string \"default1, default2\"\n * { name: \"prefName\", defaultValue: \"default1, default2\", type: \"string\" }\n *\n * @param store\n * @param serverPreferences\n */\nconst setServerPreferences = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>,\n) => {\n if (Array.isArray(serverPreferences)) {\n setServerPreferencesFromArray(store, serverPreferences);\n }\n\n store.dispatch(setAllContentInDataSetting());\n store.dispatch(setLoginPreferences());\n store.dispatch(setDateTimeSettings());\n\n if (\n preferencesProvider &&\n preferencesProvider.isStudioContext &&\n preferencesProvider.isStudioContext()\n ) {\n store.dispatch(setPreference(\"isStudioContext\", true));\n }\n};\n\n/**\n */\nconst setConfigurationTheme = (store: ReduxStore) => {\n let configTheme = null;\n\n const configFileLocation = preferencesProvider.getLayoutConfigFileLocation();\n if (typeof configFileLocation === \"string\") {\n const configFilePath = configFileLocation.startsWith(\"/\")\n ? `/resource${configFileLocation}`\n : `/resource/${configFileLocation}`;\n\n configTheme = dataFetcher.fetch(configFilePath);\n\n if (configTheme) {\n store.dispatch(setThemePreference(configTheme));\n } else {\n throw new Error(\n `Could not read theme configuration file from: ${configFilePath}`,\n );\n }\n }\n};\n\n/**\n */\nconst setApplication = (store: ReduxStore) => {\n try {\n const locale = getLocale(store.getState());\n const application = new ModularUIRequest(\"/\", {\n locale: locale,\n }).fetchSync();\n\n application.connectKey = `application(/)(${locale})`;\n\n store.dispatch(\n initModels([\n {\n key: `application(/)(${locale})`,\n model: application,\n },\n ]),\n );\n } catch (e) {\n // swallow error, in this case we just don't pre-cache the webapplication,\n // which has not much difference for the end user\n }\n};\n\n/**\n */\nconst handleErrors = (store: ReduxStore) => {\n const state = store.getState();\n\n if (\n state.error &&\n (state.error.shouldThrowOnServer ||\n !has(state.error, \"shouldThrowOnServer\"))\n ) {\n throw state.error;\n }\n};\n\n/**\n */\nconst dehydrate = (store: ReduxStore): string => {\n const state = store.getState();\n\n const modularui: {\n [key: string]: { status: string, lastModification: number, model: ?Object },\n } = {};\n\n for (const key in state.modularui) {\n const { status, model, lastModification } = state.modularui[key];\n\n if (model) {\n modularui[key] = {\n status,\n lastModification,\n model: model.dehydrate(),\n };\n } else {\n modularui[key] = {\n status,\n lastModification,\n model: undefined,\n };\n }\n }\n\n const filteredState = {\n ...state,\n modularui,\n };\n\n return JSON.stringify(filteredState).replace(/</g, \"\\\\u003c\");\n};\n\n/**\n */\nconst createHead = (\n sheet: any,\n UUID: string,\n helmetContext?: Object,\n): Object => {\n const style = sheet.getStyleTags();\n const meta = helmetContext ? [...helmetContext.helmet.meta] : [];\n\n if (helmetContext) {\n return {\n ...helmetContext.helmet,\n style,\n meta,\n };\n }\n\n return {\n style,\n meta,\n };\n};\n\nexport {\n createReduxStore,\n setI18n,\n setApplication,\n setServerPreferences,\n setConfigurationTheme,\n createHead,\n handleErrors,\n dehydrate,\n};\n"],"mappings":";;;;;;AACA,SAASA,mBAAmB,QAAQ,SAAS;AAC7C,SAASC,GAAG,QAAQ,0BAA0B;AAC9C,OAAOC,SAAS,MAAM,WAAW;AAEjC,OAAOC,cAAc,MAAM,+BAA+B;AAE1D,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,OAAO,MAAM,iBAAiB;AAErC,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,UAAU,QAAQ,4BAA4B;AAEvD,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,aAAa,EACbC,0BAA0B,EAC1BC,mBAAmB,EACnBC,mBAAmB,QACd,8BAA8B;AAErC,SAASC,UAAU,QAAQ,uBAAuB;AAElD,SAASC,wBAAwB,QAAQ,eAAe;AAExD,SAASC,UAAU,QAAQ,UAAU;AACrC,SAASC,SAAS,QAAQ,yBAAyB;AAEnD,OAAOC,gBAAgB,MAAM,+BAA+B;AAa5D;AACA;AACA,MAAMC,gBAAgB,GAAGA,CACvBC,WAAiB,EACjBC,cAAsB,EACtBC,YAAiC,KAClB;EACf;EACA,MAAMC,OAAsB,GAAGvB,mBAAmB,CAAC;IACjDwB,cAAc,EAAE,CAACJ,WAAW,CAACK,QAAQ,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,MAAM;IAAEC;EAAM,CAAC,GAAGvB,cAAc,CAACoB,OAAO,EAAEF,cAAc,EAAEC,YAAY,CAAC;EAEvE,OAAOI,KAAK;AACd,CAAC;;AAED;AACA;AACA,MAAMC,OAAO,GAAG,SAAAA,CACdD,KAAiB,EAGd;EAAA,IAFHE,OAAmC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACxCG,OAA+B,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAE/B,IAAI,CAACE,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,EAAE;IAC3B,MAAM,IAAIb,wBAAwB,CAAC,qCAAqC,CAAC;EAC3E;EACA,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIjB,wBAAwB,CAAC,0BAA0B,CAAC;EAChE;EAEA,MAAMoB,aAAa,GAAGC,oBAAA,CAAAhC,gBAAgB,EAAAiC,IAAA,CAAhBjC,gBAAgB,EAAMkC,MAAM,IAAK;IACrD,MAAMC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACxB,MAAMC,YAAY,GAAGC,qBAAA,CAAAb,OAAO,EAAAS,IAAA,CAAPT,OAAO,EAAOc,UAAU,IAAKA,UAAU,CAACH,IAAI,KAAKA,IAAI,CAAC;IAE3E,IAAIC,YAAY,EAAE;MAChB,OAAOtC,SAAS,CAACoC,MAAM,EAAEE,YAAY,CAAC;IACxC;IAEA,OAAOF,MAAM;EACf,CAAC,CAAC;EAEFV,OAAO,CAACe,OAAO,CAAEH,YAAY,IAAK;IAChC,IAAI,CAACL,aAAa,CAACS,IAAI,CAAEN,MAAM,IAAKA,MAAM,CAACC,IAAI,KAAKC,YAAY,CAACD,IAAI,CAAC,EAAE;MACtEJ,aAAa,CAACU,IAAI,CAACL,YAAY,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,MAAMM,cAAc,GAAGC,uBAAA,CAAAZ,aAAa,EAAAE,IAAA,CAAbF,aAAa,EAASG,MAA2B;IAAA,IAAAU,QAAA;IAAA,OACtEC,yBAAA,CAAAD,QAAA,GAAAlC,UAAU,CAAC,iBAAiB,CAAC,EAAAuB,IAAA,CAAAW,QAAA,EAAUV,MAAM,CAACC,IAAI,CAAC;EAAA,CACrD,CAAC;EAED,MAAMW,eAAe,GAAG,IAAI7C,OAAO,CAACyC,cAAc,CAAC;EACnD,MAAMK,eAAe,GAAG7C,kBAAkB,CAAC0B,OAAO,EAAEkB,eAAe,CAAC;EACpExB,KAAK,CAAC0B,QAAQ,CAAC7C,UAAU,CAAC2C,eAAe,EAAEC,eAAe,IAAI,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,MAAME,6BAA6B,GAAGA,CACpC3B,KAAiB,EACjB4B,iBAAkD,KAC/C;EACHA,iBAAiB,CAACX,OAAO,CAAEY,gBAAgB,IAAK;IAC9C,IAAI,OAAOA,gBAAgB,KAAK,QAAQ,EAAE;MACxC,MAAM;QAAEC,IAAI;QAAEC,YAAY;QAAEC;MAAK,CAAC,GAAGH,gBAAgB;MACrD7B,KAAK,CAAC0B,QAAQ,CAAC5C,mBAAmB,CAACgD,IAAI,EAAEC,YAAY,EAAEC,IAAI,CAAC,CAAC;IAC/D,CAAC,MAAM;MACLhC,KAAK,CAAC0B,QAAQ,CAAC5C,mBAAmB,CAAC+C,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC7D;EACF,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,oBAAoB,GAAGA,CAC3BjC,KAAiB,EACjB4B,iBAAkD,KAC/C;EACH,IAAIrB,KAAK,CAACC,OAAO,CAACoB,iBAAiB,CAAC,EAAE;IACpCD,6BAA6B,CAAC3B,KAAK,EAAE4B,iBAAiB,CAAC;EACzD;EAEA5B,KAAK,CAAC0B,QAAQ,CAACzC,0BAA0B,CAAC,CAAC,CAAC;EAC5Ce,KAAK,CAAC0B,QAAQ,CAACxC,mBAAmB,CAAC,CAAC,CAAC;EACrCc,KAAK,CAAC0B,QAAQ,CAACvC,mBAAmB,CAAC,CAAC,CAAC;EAErC,IACE+C,mBAAmB,IACnBA,mBAAmB,CAACC,eAAe,IACnCD,mBAAmB,CAACC,eAAe,CAAC,CAAC,EACrC;IACAnC,KAAK,CAAC0B,QAAQ,CAAC1C,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;EACxD;AACF,CAAC;;AAED;AACA;AACA,MAAMoD,qBAAqB,GAAIpC,KAAiB,IAAK;EACnD,IAAIqC,WAAW,GAAG,IAAI;EAEtB,MAAMC,kBAAkB,GAAGJ,mBAAmB,CAACK,2BAA2B,CAAC,CAAC;EAC5E,IAAI,OAAOD,kBAAkB,KAAK,QAAQ,EAAE;IAC1C,MAAME,cAAc,GAAGC,2BAAA,CAAAH,kBAAkB,EAAA3B,IAAA,CAAlB2B,kBAAkB,EAAY,GAAG,CAAC,GACrD,YAAYA,kBAAkB,EAAE,GAChC,aAAaA,kBAAkB,EAAE;IAErCD,WAAW,GAAGK,WAAW,CAACC,KAAK,CAACH,cAAc,CAAC;IAE/C,IAAIH,WAAW,EAAE;MACfrC,KAAK,CAAC0B,QAAQ,CAAC3C,kBAAkB,CAACsD,WAAW,CAAC,CAAC;IACjD,CAAC,MAAM;MACL,MAAM,IAAIO,KAAK,CACb,iDAAiDJ,cAAc,EACjE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA,MAAMK,cAAc,GAAI7C,KAAiB,IAAK;EAC5C,IAAI;IACF,MAAMY,MAAM,GAAGrB,SAAS,CAACS,KAAK,CAAC8C,QAAQ,CAAC,CAAC,CAAC;IAC1C,MAAMC,WAAW,GAAG,IAAIvD,gBAAgB,CAAC,GAAG,EAAE;MAC5CoB,MAAM,EAAEA;IACV,CAAC,CAAC,CAACoC,SAAS,CAAC,CAAC;IAEdD,WAAW,CAACE,UAAU,GAAG,kBAAkBrC,MAAM,GAAG;IAEpDZ,KAAK,CAAC0B,QAAQ,CACZpC,UAAU,CAAC,CACT;MACE4D,GAAG,EAAE,kBAAkBtC,MAAM,GAAG;MAChCuC,KAAK,EAAEJ;IACT,CAAC,CACF,CACH,CAAC;EACH,CAAC,CAAC,OAAOK,CAAC,EAAE;IACV;IACA;EAAA;AAEJ,CAAC;;AAED;AACA;AACA,MAAMC,YAAY,GAAIrD,KAAiB,IAAK;EAC1C,MAAMsD,KAAK,GAAGtD,KAAK,CAAC8C,QAAQ,CAAC,CAAC;EAE9B,IACEQ,KAAK,CAACC,KAAK,KACVD,KAAK,CAACC,KAAK,CAACC,mBAAmB,IAC9B,CAACjF,GAAG,CAAC+E,KAAK,CAACC,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAC3C;IACA,MAAMD,KAAK,CAACC,KAAK;EACnB;AACF,CAAC;;AAED;AACA;AACA,MAAME,SAAS,GAAIzD,KAAiB,IAAa;EAC/C,MAAMsD,KAAK,GAAGtD,KAAK,CAAC8C,QAAQ,CAAC,CAAC;EAE9B,MAAMY,SAEL,GAAG,CAAC,CAAC;EAEN,KAAK,MAAMR,GAAG,IAAII,KAAK,CAACI,SAAS,EAAE;IACjC,MAAM;MAAEC,MAAM;MAAER,KAAK;MAAES;IAAiB,CAAC,GAAGN,KAAK,CAACI,SAAS,CAACR,GAAG,CAAC;IAEhE,IAAIC,KAAK,EAAE;MACTO,SAAS,CAACR,GAAG,CAAC,GAAG;QACfS,MAAM;QACNC,gBAAgB;QAChBT,KAAK,EAAEA,KAAK,CAACM,SAAS,CAAC;MACzB,CAAC;IACH,CAAC,MAAM;MACLC,SAAS,CAACR,GAAG,CAAC,GAAG;QACfS,MAAM;QACNC,gBAAgB;QAChBT,KAAK,EAAE9C;MACT,CAAC;IACH;EACF;EAEA,MAAMwD,aAAa,GAAG;IACpB,GAAGP,KAAK;IACRI;EACF,CAAC;EAED,OAAOI,eAAA,CAAeD,aAAa,CAAC,CAACE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC/D,CAAC;;AAED;AACA;AACA,MAAMC,UAAU,GAAGA,CACjBC,KAAU,EACVC,IAAY,EACZC,aAAsB,KACX;EACX,MAAMC,KAAK,GAAGH,KAAK,CAACI,YAAY,CAAC,CAAC;EAClC,MAAMC,IAAI,GAAGH,aAAa,GAAG,CAAC,GAAGA,aAAa,CAACI,MAAM,CAACD,IAAI,CAAC,GAAG,EAAE;EAEhE,IAAIH,aAAa,EAAE;IACjB,OAAO;MACL,GAAGA,aAAa,CAACI,MAAM;MACvBH,KAAK;MACLE;IACF,CAAC;EACH;EAEA,OAAO;IACLF,KAAK;IACLE;EACF,CAAC;AACH,CAAC;AAED,SACE7E,gBAAgB,EAChBQ,OAAO,EACP4C,cAAc,EACdZ,oBAAoB,EACpBG,qBAAqB,EACrB4B,UAAU,EACVX,YAAY,EACZI,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"serverUtil.js","names":["createMemoryHistory","has","deepmerge","configureStore","availableLocales","Locales","getPreferredLocale","setLocales","setServerPreference","setThemePreference","setPreference","setAllContentInDataSetting","setLoginPreferences","setDateTimeSettings","getEnabledLocales","IllegalArgumentException","initModels","getLocale","ModularUIRequest","createReduxStore","requestHref","customReducers","initialState","history","initialEntries","toString","store","setI18n","locales","arguments","length","undefined","request","Array","isArray","mergedLocales","_mapInstanceProperty","call","locale","code","customLocale","_findInstanceProperty","custLocale","forEach","some","push","enabledLocales","_filterInstanceProperty","_context","_includesInstanceProperty","localesInstance","preferredLocale","dispatch","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreferences","preferencesProvider","isStudioContext","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWithInstanceProperty","dataFetcher","fetch","Error","setApplication","getState","application","fetchSync","connectKey","key","model","e","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_JSON$stringify","replace","createHead","sheet","UUID","helmetContext","style","getStyleTags","meta","helmet"],"sources":["../../src/react-server/serverUtil.js"],"sourcesContent":["// @flow\nimport { createMemoryHistory } from \"history\";\nimport { has } from \"../utils/helpers/objects\";\nimport deepmerge from \"deepmerge\";\n\nimport configureStore from \"../redux/store/configureStore\";\n\nimport { availableLocales } from \"../i18n/Locales\";\nimport Locales from \"../i18n/Locales\";\n\nimport { getPreferredLocale } from \"./requestInformation\";\nimport { setLocales } from \"../redux/_i18n/I18nActions\";\n\nimport {\n setServerPreference,\n setThemePreference,\n setPreference,\n setAllContentInDataSetting,\n setLoginPreferences,\n setDateTimeSettings,\n} from \"../redux/actions/Preferences\";\n\nimport { getEnabledLocales } from \"../constants/Settings\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport { initModels } from \"../redux\";\nimport { getLocale } from \"../redux/selectors/i18n\";\n\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { ReduxState, ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { RouterHistory } from \"react-router\";\n\nexport type PreferenceValue = {\n name: string,\n defaultValue?: string | null,\n type?: string,\n};\n\n/**\n */\nconst createReduxStore = (\n requestHref: Href,\n customReducers: Object,\n initialState?: $Shape<ReduxState>,\n): ReduxStore => {\n // $FlowExpectedError\n const history: RouterHistory = createMemoryHistory({\n initialEntries: [requestHref.toString()],\n });\n\n const { store } = configureStore(history, customReducers, initialState);\n\n return store;\n};\n\n/**\n */\nconst setI18n = (\n store: ReduxStore,\n locales: Array<LocaleConfiguration> = [],\n request: HttpServletRequestJava,\n) => {\n if (!Array.isArray(locales)) {\n throw new IllegalArgumentException(\"locales must be an array of objects\");\n }\n if (!request) {\n throw new IllegalArgumentException(\"missing request argument\");\n }\n\n const mergedLocales = availableLocales.map((locale) => {\n const code = locale.code;\n const customLocale = locales.find((custLocale) => custLocale.code === code);\n\n if (customLocale) {\n return deepmerge(locale, customLocale);\n }\n\n return locale;\n });\n\n locales.forEach((customLocale) => {\n if (!mergedLocales.some((locale) => locale.code === customLocale.code)) {\n mergedLocales.push(customLocale);\n }\n });\n\n const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>\n getEnabledLocales().includes(locale.code),\n );\n\n const localesInstance = new Locales(enabledLocales);\n const preferredLocale = getPreferredLocale(request, localesInstance);\n store.dispatch(setLocales(localesInstance, preferredLocale ?? \"en\"));\n};\n\nconst setServerPreferencesFromArray = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>,\n) => {\n serverPreferences.forEach((serverPreference) => {\n if (typeof serverPreference === \"object\") {\n const { name, defaultValue, type } = serverPreference;\n store.dispatch(setServerPreference(name, defaultValue, type));\n } else {\n store.dispatch(setServerPreference(serverPreference, null));\n }\n });\n};\n\n/**\n * Server preferences can be suplied by an array of preference names,\n * or an array of objects which has the name, an optional default value and an optional type.<br>\n * When the type is set to string, a comma separated value is not converted to an array:\n *\n * @example\n * // value becomes an array [default1, default2]\n * { name: \"prefName\", defaultValue: \"default1, default2\" }\n * // value remains a string \"default1, default2\"\n * { name: \"prefName\", defaultValue: \"default1, default2\", type: \"string\" }\n *\n * @param store\n * @param serverPreferences\n */\nconst setServerPreferences = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>,\n) => {\n if (Array.isArray(serverPreferences)) {\n setServerPreferencesFromArray(store, serverPreferences);\n }\n\n store.dispatch(setAllContentInDataSetting());\n store.dispatch(setLoginPreferences());\n store.dispatch(setDateTimeSettings());\n\n if (\n preferencesProvider &&\n preferencesProvider.isStudioContext &&\n preferencesProvider.isStudioContext()\n ) {\n store.dispatch(setPreference(\"isStudioContext\", true));\n }\n};\n\n/**\n */\nconst setConfigurationTheme = (store: ReduxStore) => {\n let configTheme = null;\n\n const configFileLocation = preferencesProvider.getLayoutConfigFileLocation();\n if (typeof configFileLocation === \"string\") {\n const configFilePath = configFileLocation.startsWith(\"/\")\n ? `/resource${configFileLocation}`\n : `/resource/${configFileLocation}`;\n\n configTheme = dataFetcher.fetch(configFilePath);\n\n if (configTheme) {\n store.dispatch(setThemePreference(configTheme));\n } else {\n throw new Error(\n `Could not read theme configuration file from: ${configFilePath}`,\n );\n }\n }\n};\n\n/**\n */\nconst setApplication = (store: ReduxStore) => {\n try {\n const locale = getLocale(store.getState());\n const application = new ModularUIRequest(\"/\", {\n locale: locale,\n }).fetchSync();\n\n application.connectKey = `application(/)(${locale})`;\n\n store.dispatch(\n initModels([\n {\n key: `application(/)(${locale})`,\n model: application,\n },\n ]),\n );\n } catch (e) {\n // swallow error, in this case we just don't pre-cache the webapplication,\n // which has not much difference for the end user\n }\n};\n\n/**\n */\nconst handleErrors = (store: ReduxStore) => {\n const state = store.getState();\n\n if (\n state.error &&\n (state.error.shouldThrowOnServer ||\n !has(state.error, \"shouldThrowOnServer\"))\n ) {\n throw state.error;\n }\n};\n\n/**\n */\nconst dehydrate = (store: ReduxStore): string => {\n const state = store.getState();\n\n const modularui: {\n [key: string]: { status: string, lastModification: number, model: ?Object },\n } = {};\n\n for (const key in state.modularui) {\n const { status, model, lastModification } = state.modularui[key];\n\n if (model) {\n modularui[key] = {\n status,\n lastModification,\n model: model.dehydrate(),\n };\n } else {\n modularui[key] = {\n status,\n lastModification,\n model: undefined,\n };\n }\n }\n\n const filteredState = {\n ...state,\n modularui,\n };\n\n return JSON.stringify(filteredState).replace(/</g, \"\\\\u003c\");\n};\n\n/**\n */\nconst createHead = (\n sheet: any,\n UUID: string,\n helmetContext?: Object,\n): Object => {\n const style = sheet.getStyleTags();\n const meta = helmetContext ? [...helmetContext.helmet.meta] : [];\n\n if (helmetContext) {\n return {\n ...helmetContext.helmet,\n style,\n meta,\n };\n }\n\n return {\n style,\n meta,\n };\n};\n\nexport {\n createReduxStore,\n setI18n,\n setApplication,\n setServerPreferences,\n setConfigurationTheme,\n createHead,\n handleErrors,\n dehydrate,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nActions.js","names":["startProgress","finishProgress","receiveLocale","locale","type","payload","updateLocale","dispatch","setLocales","locales"],"sources":["../../../src/redux/_i18n/I18nActions.js"],"sourcesContent":["// @flow\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport type Locales from \"../../i18n/Locales\";\nimport type { SetLocalesAction, UpdateLocaleAction } from \"./types\";\nimport type { ThunkAction } from \"../types\";\n\n/**\n * Update current locale\n */\nexport const receiveLocale = (locale: string): UpdateLocaleAction => ({\n type: \"UPDATE_LOCALE\",\n payload: locale,\n});\n\n/**\n * Change locale of application and redirect\n */\nexport const updateLocale =\n (locale: string): ThunkAction =>\n (dispatch) => {\n dispatch(startProgress());\n dispatch(receiveLocale(locale));\n
|
|
1
|
+
{"version":3,"file":"I18nActions.js","names":["startProgress","finishProgress","receiveLocale","locale","type","payload","updateLocale","dispatch","setLocales","locales"],"sources":["../../../src/redux/_i18n/I18nActions.js"],"sourcesContent":["// @flow\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport type Locales from \"../../i18n/Locales\";\nimport type { SetLocalesAction, UpdateLocaleAction } from \"./types\";\nimport type { ThunkAction } from \"../types\";\n\n/**\n * Update current locale\n */\nexport const receiveLocale = (locale: string): UpdateLocaleAction => ({\n type: \"UPDATE_LOCALE\",\n payload: locale,\n});\n\n/**\n * Change locale of application and redirect\n */\nexport const updateLocale =\n (locale: string): ThunkAction =>\n (dispatch) => {\n dispatch(startProgress());\n dispatch(receiveLocale(locale));\n dispatch(finishProgress());\n };\n\n/**\n */\nexport const setLocales = (\n locales: Locales,\n locale: string,\n): SetLocalesAction => ({\n type: \"SET_LOCALES\",\n payload: {\n locales,\n locale,\n },\n});\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAM5E;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMG,YAAY,GACtBH,MAAc,IACdI,QAAQ,IAAK;EACZA,QAAQ,CAACP,aAAa,CAAC,CAAC,CAAC;EACzBO,QAAQ,CAACL,aAAa,CAACC,MAAM,CAAC,CAAC;EAC/BI,QAAQ,CAACN,cAAc,CAAC,CAAC,CAAC;AAC5B,CAAC;;AAEH;AACA;AACA,OAAO,MAAMO,UAAU,GAAGA,CACxBC,OAAgB,EAChBN,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPI,OAAO;IACPN;EACF;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import Cache from "../../utils/browser/Cache";
|
|
2
|
-
import { setCookie } from "../../utils/browser/Cookies";
|
|
2
|
+
import { setCookie, clearCookie } from "../../utils/browser/Cookies";
|
|
3
3
|
import Locales from "../../i18n/Locales";
|
|
4
4
|
/**
|
|
5
5
|
*/
|
|
6
6
|
const updateLocale = (state, locale) => {
|
|
7
7
|
// set locale in cookie
|
|
8
|
-
|
|
8
|
+
if (state.locales?.length > 1) {
|
|
9
|
+
setCookie("locale", locale);
|
|
10
|
+
} else {
|
|
11
|
+
clearCookie("locale");
|
|
12
|
+
}
|
|
9
13
|
|
|
10
14
|
// clear cache because of cached contributions
|
|
11
15
|
Cache.clear();
|
|
@@ -23,7 +27,11 @@ const setLocales = (state, _ref) => {
|
|
|
23
27
|
locales
|
|
24
28
|
} = _ref;
|
|
25
29
|
// set locale in cookie
|
|
26
|
-
|
|
30
|
+
if (state.locales.length > 1) {
|
|
31
|
+
setCookie("locale", locale);
|
|
32
|
+
} else {
|
|
33
|
+
clearCookie("locale");
|
|
34
|
+
}
|
|
27
35
|
if (locale) {
|
|
28
36
|
return {
|
|
29
37
|
...state,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import Cache from "../../utils/browser/Cache";
|
|
3
|
-
import { setCookie } from "../../utils/browser/Cookies";
|
|
3
|
+
import { setCookie, clearCookie } from "../../utils/browser/Cookies";
|
|
4
4
|
|
|
5
5
|
import Locales from "../../i18n/Locales";
|
|
6
6
|
|
|
@@ -12,7 +12,11 @@ import type { ReduxAction } from "../types";
|
|
|
12
12
|
*/
|
|
13
13
|
const updateLocale = (state: I18nState, locale: string) => {
|
|
14
14
|
// set locale in cookie
|
|
15
|
-
|
|
15
|
+
if (state.locales?.length > 1) {
|
|
16
|
+
setCookie("locale", locale);
|
|
17
|
+
} else {
|
|
18
|
+
clearCookie("locale");
|
|
19
|
+
}
|
|
16
20
|
|
|
17
21
|
// clear cache because of cached contributions
|
|
18
22
|
Cache.clear();
|
|
@@ -30,7 +34,11 @@ const setLocales = (
|
|
|
30
34
|
{ locale, locales }: { locale: string, locales: Locales },
|
|
31
35
|
) => {
|
|
32
36
|
// set locale in cookie
|
|
33
|
-
|
|
37
|
+
if (state.locales.length > 1) {
|
|
38
|
+
setCookie("locale", locale);
|
|
39
|
+
} else {
|
|
40
|
+
clearCookie("locale");
|
|
41
|
+
}
|
|
34
42
|
|
|
35
43
|
if (locale) {
|
|
36
44
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nReducer.js","names":["Cache","setCookie","Locales","updateLocale","state","locale","clear","setLocales","_ref","
|
|
1
|
+
{"version":3,"file":"I18nReducer.js","names":["Cache","setCookie","clearCookie","Locales","updateLocale","state","locale","locales","length","clear","setLocales","_ref","getDefaultLocale","navigator","language","split","initialState","I18nReducer","arguments","undefined","action","type","payload"],"sources":["../../../src/redux/_i18n/I18nReducer.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport { setCookie, clearCookie } from \"../../utils/browser/Cookies\";\n\nimport Locales from \"../../i18n/Locales\";\n\nimport type { Reducer } from \"redux\";\nimport type { I18nState } from \"./types\";\nimport type { ReduxAction } from \"../types\";\n\n/**\n */\nconst updateLocale = (state: I18nState, locale: string) => {\n // set locale in cookie\n if (state.locales?.length > 1) {\n setCookie(\"locale\", locale);\n } else {\n clearCookie(\"locale\");\n }\n\n // clear cache because of cached contributions\n Cache.clear();\n\n return {\n ...state,\n locale,\n };\n};\n\n/**\n */\nconst setLocales = (\n state: I18nState,\n { locale, locales }: { locale: string, locales: Locales },\n) => {\n // set locale in cookie\n if (state.locales.length > 1) {\n setCookie(\"locale\", locale);\n } else {\n clearCookie(\"locale\");\n }\n\n if (locale) {\n return {\n ...state,\n locales,\n locale,\n };\n }\n\n return {\n ...state,\n locales,\n };\n};\n\nconst getDefaultLocale = () => {\n if (typeof navigator !== \"undefined\" && navigator?.language) {\n return navigator?.language.split(\"-\")[0] || \"en\";\n }\n return \"en\";\n};\n\n// REDUCER\nconst initialState: I18nState = {\n locales: new Locales(),\n locale: getDefaultLocale(),\n};\n\n/**\n * Form reducer\n */\nexport const I18nReducer: Reducer<I18nState, ReduxAction> = (\n state = initialState,\n action = void 0,\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"SET_LOCALES\":\n return setLocales(state, action.payload);\n\n case \"UPDATE_LOCALE\":\n return updateLocale(state, action.payload);\n\n default:\n return state;\n }\n};\n"],"mappings":"AACA,OAAOA,KAAK,MAAM,2BAA2B;AAC7C,SAASC,SAAS,EAAEC,WAAW,QAAQ,6BAA6B;AAEpE,OAAOC,OAAO,MAAM,oBAAoB;AAMxC;AACA;AACA,MAAMC,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACA,IAAID,KAAK,CAACE,OAAO,EAAEC,MAAM,GAAG,CAAC,EAAE;IAC7BP,SAAS,CAAC,QAAQ,EAAEK,MAAM,CAAC;EAC7B,CAAC,MAAM;IACLJ,WAAW,CAAC,QAAQ,CAAC;EACvB;;EAEA;EACAF,KAAK,CAACS,KAAK,CAAC,CAAC;EAEb,OAAO;IACL,GAAGJ,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAMI,UAAU,GAAGA,CACjBL,KAAgB,EAAAM,IAAA,KAEb;EAAA,IADH;IAAEL,MAAM;IAAEC;EAA8C,CAAC,GAAAI,IAAA;EAEzD;EACA,IAAIN,KAAK,CAACE,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;IAC5BP,SAAS,CAAC,QAAQ,EAAEK,MAAM,CAAC;EAC7B,CAAC,MAAM;IACLJ,WAAW,CAAC,QAAQ,CAAC;EACvB;EAEA,IAAII,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRE,OAAO;MACPD;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRE;EACF,CAAC;AACH,CAAC;AAED,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,IAAI,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,EAAEC,QAAQ,EAAE;IAC3D,OAAOD,SAAS,EAAEC,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;EAClD;EACA,OAAO,IAAI;AACb,CAAC;;AAED;AACA,MAAMC,YAAuB,GAAG;EAC9BT,OAAO,EAAE,IAAIJ,OAAO,CAAC,CAAC;EACtBG,MAAM,EAAEM,gBAAgB,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMK,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHZ,KAAK,GAAAa,SAAA,CAAAV,MAAA,QAAAU,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGF,YAAY;EAAA,IACpBI,MAAM,GAAAF,SAAA,CAAAV,MAAA,QAAAU,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACE,MAAM,EAAE;IACX,OAAOf,KAAK;EACd;EAEA,QAAQe,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOX,UAAU,CAACL,KAAK,EAAEe,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOlB,YAAY,CAACC,KAAK,EAAEe,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOjB,KAAK;EAChB;AACF,CAAC","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ import PreferencesReducer from "./PreferencesReducer";
|
|
|
11
11
|
/**
|
|
12
12
|
*/
|
|
13
13
|
export const createReducer = () => ({
|
|
14
|
+
preferences: PreferencesReducer,
|
|
14
15
|
router: RouterReducer,
|
|
15
16
|
modularui: ModularUIReducer,
|
|
16
17
|
i18n: I18nReducer,
|
|
@@ -19,7 +20,6 @@ export const createReducer = () => ({
|
|
|
19
20
|
modals: ModalsReducer,
|
|
20
21
|
modelcatalog: ModelCatalogReducer,
|
|
21
22
|
notification: NotificationReducer,
|
|
22
|
-
progressindicator: ProgressIndicatorReducer
|
|
23
|
-
preferences: PreferencesReducer
|
|
23
|
+
progressindicator: ProgressIndicatorReducer
|
|
24
24
|
});
|
|
25
25
|
//# sourceMappingURL=createReducer.js.map
|
|
@@ -42,6 +42,7 @@ type Reducers = {
|
|
|
42
42
|
/**
|
|
43
43
|
*/
|
|
44
44
|
export const createReducer = (): Reducers => ({
|
|
45
|
+
preferences: PreferencesReducer,
|
|
45
46
|
router: RouterReducer,
|
|
46
47
|
modularui: ModularUIReducer,
|
|
47
48
|
i18n: I18nReducer,
|
|
@@ -51,5 +52,4 @@ export const createReducer = (): Reducers => ({
|
|
|
51
52
|
modelcatalog: ModelCatalogReducer,
|
|
52
53
|
notification: NotificationReducer,
|
|
53
54
|
progressindicator: ProgressIndicatorReducer,
|
|
54
|
-
preferences: PreferencesReducer,
|
|
55
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createReducer.js","names":["RouterReducer","ModularUIReducer","I18nReducer","ModalsReducer","AuthReducer","ErrorReducer","ModelCatalogReducer","NotificationReducer","ProgressIndicatorReducer","PreferencesReducer","createReducer","router","modularui","i18n","auth","error","modals","modelcatalog","notification","progressindicator"
|
|
1
|
+
{"version":3,"file":"createReducer.js","names":["RouterReducer","ModularUIReducer","I18nReducer","ModalsReducer","AuthReducer","ErrorReducer","ModelCatalogReducer","NotificationReducer","ProgressIndicatorReducer","PreferencesReducer","createReducer","preferences","router","modularui","i18n","auth","error","modals","modelcatalog","notification","progressindicator"],"sources":["../../../src/redux/reducers/createReducer.js"],"sourcesContent":["// @flow\nimport { RouterReducer } from \"../_router/RouterReducer\";\nimport { ModularUIReducer } from \"../_modularui/ModularUIReducer\";\nimport { I18nReducer } from \"../_i18n/I18nReducer\";\n\nimport ModalsReducer from \"./ModalsReducer\";\nimport AuthReducer from \"./AuthReducer\";\nimport ErrorReducer from \"./ErrorReducer\";\nimport ModelCatalogReducer from \"./ModelCatalogReducer\";\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 ModelCatalogState,\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 modelcatalog: Reducer<ModelCatalogState, 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 preferences: PreferencesReducer,\n router: RouterReducer,\n modularui: ModularUIReducer,\n i18n: I18nReducer,\n auth: AuthReducer,\n error: ErrorReducer,\n modals: ModalsReducer,\n modelcatalog: ModelCatalogReducer,\n notification: NotificationReducer,\n progressindicator: ProgressIndicatorReducer,\n});\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,0BAA0B;AACxD,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,WAAW,QAAQ,sBAAsB;AAElD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,kBAAkB,MAAM,sBAAsB;AA8BrD;AACA;AACA,OAAO,MAAMC,aAAa,GAAGA,CAAA,MAAiB;EAC5CC,WAAW,EAAEF,kBAAkB;EAC/BG,MAAM,EAAEZ,aAAa;EACrBa,SAAS,EAAEZ,gBAAgB;EAC3Ba,IAAI,EAAEZ,WAAW;EACjBa,IAAI,EAAEX,WAAW;EACjBY,KAAK,EAAEX,YAAY;EACnBY,MAAM,EAAEd,aAAa;EACrBe,YAAY,EAAEZ,mBAAmB;EACjCa,YAAY,EAAEZ,mBAAmB;EACjCa,iBAAiB,EAAEZ;AACrB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@ import { routerMiddleware } from "../_router/RouterMiddleware";
|
|
|
4
4
|
import { modularUIMiddleware } from "../_modularui/ModularUIMiddleware";
|
|
5
5
|
import { createReducer } from "../reducers/createReducer";
|
|
6
6
|
import { locationChange } from "../_router/RouterActions";
|
|
7
|
-
import { updateLocale } from "../_i18n/I18nActions";
|
|
8
7
|
/**
|
|
9
8
|
*/
|
|
10
9
|
const configureStore = (routerHistory, customReducers, initialState) => {
|
|
@@ -22,10 +21,6 @@ const configureStore = (routerHistory, customReducers, initialState) => {
|
|
|
22
21
|
if (!initialState?.router) {
|
|
23
22
|
store.dispatch(locationChange(routerHistory.location, "PUSH"));
|
|
24
23
|
}
|
|
25
|
-
const locale = initialState?.i18n.locale;
|
|
26
|
-
if (locale) {
|
|
27
|
-
store.dispatch(updateLocale(locale));
|
|
28
|
-
}
|
|
29
24
|
return {
|
|
30
25
|
routerHistory,
|
|
31
26
|
store
|
|
@@ -13,8 +13,6 @@ import { modularUIMiddleware } from "../_modularui/ModularUIMiddleware";
|
|
|
13
13
|
import { createReducer } from "../reducers/createReducer";
|
|
14
14
|
import { locationChange } from "../_router/RouterActions";
|
|
15
15
|
|
|
16
|
-
import { updateLocale } from "../_i18n/I18nActions";
|
|
17
|
-
|
|
18
16
|
import type { RouterHistory } from "react-router";
|
|
19
17
|
import type { ReduxAction, ReduxState, ReduxStore } from "../types";
|
|
20
18
|
import type { Reducer } from "redux";
|
|
@@ -55,11 +53,6 @@ const configureStore = (
|
|
|
55
53
|
store.dispatch(locationChange(routerHistory.location, "PUSH"));
|
|
56
54
|
}
|
|
57
55
|
|
|
58
|
-
const locale = initialState?.i18n.locale;
|
|
59
|
-
if (locale) {
|
|
60
|
-
store.dispatch(updateLocale(locale));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
56
|
return { routerHistory, store };
|
|
64
57
|
};
|
|
65
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureStore.js","names":["applyMiddleware","compose","combineReducers","createStore","createReduxStore","thunk","routerMiddleware","modularUIMiddleware","createReducer","locationChange","
|
|
1
|
+
{"version":3,"file":"configureStore.js","names":["applyMiddleware","compose","combineReducers","createStore","createReduxStore","thunk","routerMiddleware","modularUIMiddleware","createReducer","locationChange","configureStore","routerHistory","customReducers","initialState","composeEnhancers","process","env","NODE_ENV","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","combinedReducers","middleware","enhancers","store","router","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/RouterMiddleware\";\nimport { modularUIMiddleware } from \"../_modularui/ModularUIMiddleware\";\n\nimport { createReducer } from \"../reducers/createReducer\";\nimport { locationChange } from \"../_router/RouterActions\";\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 routerHistory: RouterHistory,\n customReducers?: Object,\n initialState?: $Shape<ReduxState>,\n): { routerHistory: 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(routerHistory),\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?.router) {\n store.dispatch(locationChange(routerHistory.location, \"PUSH\"));\n }\n\n return { routerHistory, store };\n};\n\nexport default configureStore;\n"],"mappings":"AACA,SACEA,eAAe,EACfC,OAAO,EACPC,eAAe,EACfC,WAAW,IAAIC,gBAAgB,QAC1B,OAAO;AACd,OAAOC,KAAK,MAAM,aAAa;AAE/B,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,mBAAmB,QAAQ,mCAAmC;AAEvE,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AAMzD;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,cAAuB,EACvBC,YAAiC,KACuB;EACxD,IAAIC,gBAAgB,GAAGb,OAAO;EAE9B,IAAIc,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IAC1EJ,gBAAgB,GAAGI,MAAM,CAACC,oCAAoC,IAAIlB,OAAO;EAC3E;EAEA,MAAMmB,gBAAkD,GAAGlB,eAAe,CAAC;IACzE,GAAGU,cAAc;IACjB,GAAGJ,aAAa,CAAC;EACnB,CAAC,CAAC;EAEF,MAAMa,UAAU,GAAGrB,eAAe,CAChCO,mBAAmB,EACnBD,gBAAgB,CAACK,aAAa,CAAC,EAC/BN,KACF,CAAC;EAED,MAAMiB,SAAS,GAAGR,gBAAgB,CAACO,UAAU,CAAC;EAE9C,MAAME,KAAiB,GAAGnB,gBAAgB,CACxCgB,gBAAgB,EAChBP,YAAY,EACZS,SACF,CAAC;EAED,IAAI,CAACT,YAAY,EAAEW,MAAM,EAAE;IACzBD,KAAK,CAACE,QAAQ,CAAChB,cAAc,CAACE,aAAa,CAACe,QAAQ,EAAE,MAAM,CAAC,CAAC;EAChE;EAEA,OAAO;IAAEf,aAAa;IAAEY;EAAM,CAAC;AACjC,CAAC;AAED,eAAeb,cAAc","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ import { getWeek } from "date-fns/getWeek";
|
|
|
23
23
|
import { enGB, nl } from "date-fns/locale";
|
|
24
24
|
import { tz } from "@date-fns/tz";
|
|
25
25
|
import soft from "timezone-soft";
|
|
26
|
-
import { DATETIME_OFFSET_FORMAT, DEFAULT_FIRST_WEEK_CONTAINS_DATE, DEFAULT_WEEK_STARTS_ON, getSetting, IS_GRAALJS, isIncludeTimeOffsetInDateTimes, ISO_DATE_FORMAT, ISO_DATETIME_FORMAT, ISO_TIME_FORMAT, ISO_TIMESTAMP_FORMAT } from "../../constants";
|
|
26
|
+
import { DATETIME_OFFSET_FORMAT, DEFAULT_FIRST_WEEK_CONTAINS_DATE, DEFAULT_WEEK_STARTS_ON, getEnabledLocales, getSetting, IS_GRAALJS, isIncludeTimeOffsetInDateTimes, ISO_DATE_FORMAT, ISO_DATETIME_FORMAT, ISO_TIME_FORMAT, ISO_TIMESTAMP_FORMAT } from "../../constants";
|
|
27
27
|
import { getCookie } from "../browser/Cookies";
|
|
28
28
|
/**
|
|
29
29
|
* @hideconstructor
|
|
@@ -98,7 +98,8 @@ class BaseDateTimeUtil {
|
|
|
98
98
|
/**
|
|
99
99
|
*/
|
|
100
100
|
getLocale() {
|
|
101
|
-
const
|
|
101
|
+
const defaultLocale = getEnabledLocales()[0];
|
|
102
|
+
const locale = getCookie("locale") ?? defaultLocale ?? "en";
|
|
102
103
|
if (locale === "nl") {
|
|
103
104
|
return nl;
|
|
104
105
|
}
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
DATETIME_OFFSET_FORMAT,
|
|
26
26
|
DEFAULT_FIRST_WEEK_CONTAINS_DATE,
|
|
27
27
|
DEFAULT_WEEK_STARTS_ON,
|
|
28
|
+
getEnabledLocales,
|
|
28
29
|
getSetting,
|
|
29
30
|
IS_GRAALJS,
|
|
30
31
|
isIncludeTimeOffsetInDateTimes,
|
|
@@ -136,7 +137,8 @@ class BaseDateTimeUtil {
|
|
|
136
137
|
/**
|
|
137
138
|
*/
|
|
138
139
|
getLocale(): typeof nl | typeof enGB {
|
|
139
|
-
const
|
|
140
|
+
const defaultLocale = getEnabledLocales()[0];
|
|
141
|
+
const locale = getCookie("locale") ?? defaultLocale ?? "en";
|
|
140
142
|
|
|
141
143
|
if (locale === "nl") {
|
|
142
144
|
return nl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeUtil.js","names":["format","isAfter","isBefore","isSameDay","isValid","parse","add","sub","set","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","enGB","nl","tz","soft","DATETIME_OFFSET_FORMAT","DEFAULT_FIRST_WEEK_CONTAINS_DATE","DEFAULT_WEEK_STARTS_ON","getSetting","IS_GRAALJS","isIncludeTimeOffsetInDateTimes","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","getCookie","BaseDateTimeUtil","constructor","isoFormat","doOffsets","arguments","length","undefined","_defineProperty","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","_doOffsets","getOptions","weekStartsOn","firstWeekContainsDate","getIsoFormat","convertFormat","javaFormat","_context","javaToUTS35Map","ZZZ","ZZ","Z","uts35Format","sortedKeys","_sortInstanceProperty","_Object$keys","call","a","b","javaToken","uts35Token","regex","RegExp","replace","getLocale","locale","toDate","date","inputFormat","Date","in","getDateFnsContext","toFormat","targetFormat","parsedDate","toISO","sourceFormat","now","hasFormat","formattedValue","isOutsideRange","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","isAmbiguous","dateTime","t","_mapInstanceProperty","x","newDate","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","_set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_Math$trunc","round","offsetString","_padStartInstanceProperty","String","label","name","abbr","timezone","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport { format } from \"date-fns/format\";\nimport { isAfter } from \"date-fns/isAfter\";\nimport { isBefore } from \"date-fns/isBefore\";\nimport { isSameDay } from \"date-fns/isSameDay\";\nimport { isValid } from \"date-fns/isValid\";\nimport { parse } from \"date-fns/parse\";\nimport { add } from \"date-fns/add\";\nimport { sub } from \"date-fns/sub\";\nimport { set } from \"date-fns/set\";\nimport { startOfMonth } from \"date-fns/startOfMonth\";\nimport { endOfMonth } from \"date-fns/endOfMonth\";\nimport { startOfWeek } from \"date-fns/startOfWeek\";\nimport { getHours } from \"date-fns/getHours\";\nimport { getMinutes } from \"date-fns/getMinutes\";\nimport { getDay } from \"date-fns/getDay\";\nimport { getWeek } from \"date-fns/getWeek\";\n\nimport { enGB, nl } from \"date-fns/locale\";\nimport { tz } from \"@date-fns/tz\";\n\nimport soft from \"timezone-soft\";\n\nimport {\n DATETIME_OFFSET_FORMAT,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n DEFAULT_WEEK_STARTS_ON,\n getSetting,\n IS_GRAALJS,\n isIncludeTimeOffsetInDateTimes,\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n} from \"../../constants\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\ntype OffsetInfoInput = {\n abbr: string,\n offset: number,\n name: string,\n};\n\nexport type OffsetInfo = {\n abbr: string,\n label: string,\n value: string,\n};\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n _doOffsets: boolean;\n\n _timeZone: string =\n typeof Intl === \"undefined\"\n ? \"Etc/UTC\"\n : Intl.DateTimeFormat().resolvedOptions().timeZone || \"Etc/UTC\";\n\n constructor(isoFormat: string, doOffsets: boolean = false) {\n this._isoFormat = isoFormat;\n this._doOffsets = doOffsets;\n }\n\n /**\n * Indicates if offsets and timezones are relevant\n */\n get doOffsets(): boolean {\n return this._doOffsets ? isIncludeTimeOffsetInDateTimes() : false;\n }\n\n /**\n * Returns the options defined in settings\n */\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 getIsoFormat(): string {\n if (this.doOffsets) {\n return this._isoFormat + DATETIME_OFFSET_FORMAT;\n }\n return this._isoFormat;\n }\n\n /**\n */\n convertFormat(javaFormat: string): string {\n if (!javaFormat) {\n return this.getIsoFormat();\n }\n\n const javaToUTS35Map = {\n ZZZ: \"xxx\",\n ZZ: \"xx\",\n Z: \"x\",\n };\n\n // Replace Java pattern tokens with UTS #35 tokens\n let uts35Format = javaFormat;\n\n // Sort keys by length (descending) to handle multi-character tokens first\n const sortedKeys = Object.keys(javaToUTS35Map).sort(\n (a, b) => b.length - a.length,\n );\n\n for (const javaToken of sortedKeys) {\n const uts35Token = javaToUTS35Map[javaToken];\n const regex = new RegExp(javaToken, \"g\"); // Match all occurrences\n uts35Format = uts35Format.replace(regex, uts35Token);\n }\n\n return uts35Format;\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 /**\n */\n toDate(date: string | Date, inputFormat: string = this.getIsoFormat()): Date {\n if (date instanceof Date) {\n return date;\n }\n\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(\n date: string | Date,\n targetFormat: string,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = this.toDate(date, inputFormat);\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(\n date: string | Date,\n sourceFormat: string = this.getIsoFormat(),\n ): string {\n return this.toFormat(date, this.getIsoFormat(), sourceFormat);\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n //////////// VALIDATION\n\n /**\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const parsedDate = this.toDate(date, sourceFormat);\n\n const formattedValue = this.toFormat(parsedDate, sourceFormat);\n if (formattedValue === \"Invalid Date\") {\n return false;\n }\n\n const isOutsideRange =\n isBefore(parsedDate, new Date(1000, 1, 1)) ||\n isAfter(parsedDate, 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 /**\n */\n isValid(\n date: string | Date | null | void,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (!date) {\n return false;\n }\n\n const parsedDate = this.toDate(date, inputFormat);\n return isValid(parsedDate);\n }\n\n /**\n */\n isAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n compareDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string | Date): 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 * Checks if a given local date and time is ambiguous in the specified timezone.\n * Ambiguity happens during the end of daylight saving time (DST) transitions.\n */\n isAmbiguous(\n inputDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (inputDate == null || typeof Intl === \"undefined\") {\n return false;\n }\n\n const dateTime = this.toDate(inputDate, inputFormat);\n if (!isValid(dateTime)) {\n return false;\n }\n\n const t = [60, -60, 30, -30];\n const a = t.map((x) => {\n const newDate = add(dateTime, { minutes: x });\n return format(newDate, \"HH:mm\");\n });\n const time = format(dateTime, \"HH:mm\");\n return a.indexOf(time) > -1;\n }\n\n //////////// CALCULATIONS\n\n /**\n * @private\n */\n _calculate(\n date: string | Date,\n calculationFn: Function,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n calculationFn(\n parsedDate,\n { [property]: value },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n /**\n */\n addSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n addMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n addHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n addDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"days\", amount, inputFormat);\n }\n\n /**\n */\n addWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n addMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"months\", amount, inputFormat);\n }\n\n /**\n */\n addYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"years\", amount, inputFormat);\n }\n\n /**\n */\n subtractSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n subtractMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n subtractHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n subtractDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"days\", amount, inputFormat);\n }\n\n /**\n */\n subtractWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n subtractMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"months\", amount, inputFormat);\n }\n\n /**\n */\n subtractYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"years\", amount, inputFormat);\n }\n\n //////////// GETTERS\n\n /**\n * @private\n */\n _get(\n date: string | Date,\n method: Function,\n inputFormat: string = this.getIsoFormat(),\n options: Object = {},\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n method(parsedDate, {\n in: this.getDateFnsContext(),\n ...options,\n }),\n );\n }\n\n /**\n */\n startOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, startOfMonth, inputFormat);\n }\n\n /**\n */\n endOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, endOfMonth, inputFormat);\n }\n\n /**\n */\n startOfWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n return this._get(date, startOfWeek, inputFormat, {\n weekStartsOn,\n });\n }\n\n /**\n */\n getHours(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getHours(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getMinutes(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getMinutes(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n const parsedDate = this.toDate(date, inputFormat);\n return getWeek(parsedDate, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n //////////// SETTERS\n\n /**\n * @private\n */\n _set(\n date: string | Date,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { [property]: value },\n // {\n // in: this.getDateFnsContext(),\n // },\n ),\n );\n }\n\n /**\n */\n setYear(\n date: string | Date,\n year: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"year\", year, inputFormat);\n }\n\n /**\n */\n setMonth(\n date: string | Date,\n month: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"month\", month, inputFormat);\n }\n\n /**\n */\n setDay(\n date: string | Date,\n day: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"date\", day, inputFormat);\n }\n\n /**\n */\n setHour(\n date: string | Date,\n hour: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"hours\", hour, inputFormat);\n }\n\n /**\n */\n setMinute(\n date: string | Date,\n minute: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"minutes\", minute, inputFormat);\n }\n\n /**\n */\n setSecond(\n date: string | Date,\n second: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"seconds\", second, inputFormat);\n }\n\n /**\n */\n setMilliseconds(\n date: string | Date,\n millisecond: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"milliseconds\", millisecond, inputFormat);\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { hours, minutes, seconds, milliseconds },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n //////////// Timezone related\n\n /**\n */\n getTimeZone(): string {\n return this._timeZone;\n }\n\n /**\n */\n setTimeZone(timeZone: string) {\n this._timeZone = timeZone;\n }\n\n /**\n */\n getDateFnsContext(): null | Function {\n if (this.doOffsets && !IS_GRAALJS) {\n return tz(this.getTimeZone());\n }\n return undefined;\n }\n\n //////////// Offsets\n\n /**\n */\n getOffset(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): OffsetInfo | null {\n const parsedDate = this.toDate(date, inputFormat);\n if (isValid(parsedDate)) {\n const dateOffset = this.toFormat(parsedDate, DATETIME_OFFSET_FORMAT);\n const offsets = this.getTimezoneOffsets();\n if (\n typeof offsets.daylight !== \"undefined\" &&\n offsets.daylight.value === dateOffset\n ) {\n return offsets.daylight;\n } else if (\n typeof offsets.standard !== \"undefined\" &&\n offsets.standard.value === dateOffset\n ) {\n return offsets.standard;\n }\n }\n return null;\n }\n\n /**\n */\n getTimezoneOffsets(): {\n standard?: OffsetInfo,\n daylight?: OffsetInfo,\n } {\n const createOffsetObject = (info: OffsetInfoInput): OffsetInfo => {\n const sign = info.offset < 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(info.offset);\n const hours = Math.trunc(absOffset);\n const minutes = Math.round((absOffset % 1) * 60);\n\n const offsetString = `${sign}${String(hours + (minutes === 60 ? 1 : 0)).padStart(2, \"0\")}:${String(minutes % 60).padStart(2, \"0\")}`;\n\n return {\n label: info.name,\n abbr: info.abbr,\n value: offsetString,\n };\n };\n\n const timezone = soft(this.getTimeZone());\n\n if (timezone.length === 0) {\n return {\n standard: {\n label: \"Etc/UTC\",\n abbr: \"Etc/UTC\",\n value: \"+00:00\",\n },\n };\n }\n\n const { daylight, standard } = timezone[0];\n\n if (daylight) {\n return {\n daylight: createOffsetObject(daylight),\n standard: createOffsetObject(standard),\n };\n }\n\n return { standard: createOffsetObject(standard) };\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 true,\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 true,\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DateTimeUtil.js","names":["format","isAfter","isBefore","isSameDay","isValid","parse","add","sub","set","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","enGB","nl","tz","soft","DATETIME_OFFSET_FORMAT","DEFAULT_FIRST_WEEK_CONTAINS_DATE","DEFAULT_WEEK_STARTS_ON","getEnabledLocales","getSetting","IS_GRAALJS","isIncludeTimeOffsetInDateTimes","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","getCookie","BaseDateTimeUtil","constructor","isoFormat","doOffsets","arguments","length","undefined","_defineProperty","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","_doOffsets","getOptions","weekStartsOn","firstWeekContainsDate","getIsoFormat","convertFormat","javaFormat","_context","javaToUTS35Map","ZZZ","ZZ","Z","uts35Format","sortedKeys","_sortInstanceProperty","_Object$keys","call","a","b","javaToken","uts35Token","regex","RegExp","replace","getLocale","defaultLocale","locale","toDate","date","inputFormat","Date","in","getDateFnsContext","toFormat","targetFormat","parsedDate","toISO","sourceFormat","now","hasFormat","formattedValue","isOutsideRange","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","isAmbiguous","dateTime","t","_mapInstanceProperty","x","newDate","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","_set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_Math$trunc","round","offsetString","_padStartInstanceProperty","String","label","name","abbr","timezone","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport { format } from \"date-fns/format\";\nimport { isAfter } from \"date-fns/isAfter\";\nimport { isBefore } from \"date-fns/isBefore\";\nimport { isSameDay } from \"date-fns/isSameDay\";\nimport { isValid } from \"date-fns/isValid\";\nimport { parse } from \"date-fns/parse\";\nimport { add } from \"date-fns/add\";\nimport { sub } from \"date-fns/sub\";\nimport { set } from \"date-fns/set\";\nimport { startOfMonth } from \"date-fns/startOfMonth\";\nimport { endOfMonth } from \"date-fns/endOfMonth\";\nimport { startOfWeek } from \"date-fns/startOfWeek\";\nimport { getHours } from \"date-fns/getHours\";\nimport { getMinutes } from \"date-fns/getMinutes\";\nimport { getDay } from \"date-fns/getDay\";\nimport { getWeek } from \"date-fns/getWeek\";\n\nimport { enGB, nl } from \"date-fns/locale\";\nimport { tz } from \"@date-fns/tz\";\n\nimport soft from \"timezone-soft\";\n\nimport {\n DATETIME_OFFSET_FORMAT,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n DEFAULT_WEEK_STARTS_ON,\n getEnabledLocales,\n getSetting,\n IS_GRAALJS,\n isIncludeTimeOffsetInDateTimes,\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n} from \"../../constants\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\ntype OffsetInfoInput = {\n abbr: string,\n offset: number,\n name: string,\n};\n\nexport type OffsetInfo = {\n abbr: string,\n label: string,\n value: string,\n};\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n _doOffsets: boolean;\n\n _timeZone: string =\n typeof Intl === \"undefined\"\n ? \"Etc/UTC\"\n : Intl.DateTimeFormat().resolvedOptions().timeZone || \"Etc/UTC\";\n\n constructor(isoFormat: string, doOffsets: boolean = false) {\n this._isoFormat = isoFormat;\n this._doOffsets = doOffsets;\n }\n\n /**\n * Indicates if offsets and timezones are relevant\n */\n get doOffsets(): boolean {\n return this._doOffsets ? isIncludeTimeOffsetInDateTimes() : false;\n }\n\n /**\n * Returns the options defined in settings\n */\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 getIsoFormat(): string {\n if (this.doOffsets) {\n return this._isoFormat + DATETIME_OFFSET_FORMAT;\n }\n return this._isoFormat;\n }\n\n /**\n */\n convertFormat(javaFormat: string): string {\n if (!javaFormat) {\n return this.getIsoFormat();\n }\n\n const javaToUTS35Map = {\n ZZZ: \"xxx\",\n ZZ: \"xx\",\n Z: \"x\",\n };\n\n // Replace Java pattern tokens with UTS #35 tokens\n let uts35Format = javaFormat;\n\n // Sort keys by length (descending) to handle multi-character tokens first\n const sortedKeys = Object.keys(javaToUTS35Map).sort(\n (a, b) => b.length - a.length,\n );\n\n for (const javaToken of sortedKeys) {\n const uts35Token = javaToUTS35Map[javaToken];\n const regex = new RegExp(javaToken, \"g\"); // Match all occurrences\n uts35Format = uts35Format.replace(regex, uts35Token);\n }\n\n return uts35Format;\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const defaultLocale = getEnabledLocales()[0];\n const locale = getCookie(\"locale\") ?? defaultLocale ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n /**\n */\n toDate(date: string | Date, inputFormat: string = this.getIsoFormat()): Date {\n if (date instanceof Date) {\n return date;\n }\n\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(\n date: string | Date,\n targetFormat: string,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = this.toDate(date, inputFormat);\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(\n date: string | Date,\n sourceFormat: string = this.getIsoFormat(),\n ): string {\n return this.toFormat(date, this.getIsoFormat(), sourceFormat);\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n //////////// VALIDATION\n\n /**\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const parsedDate = this.toDate(date, sourceFormat);\n\n const formattedValue = this.toFormat(parsedDate, sourceFormat);\n if (formattedValue === \"Invalid Date\") {\n return false;\n }\n\n const isOutsideRange =\n isBefore(parsedDate, new Date(1000, 1, 1)) ||\n isAfter(parsedDate, 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 /**\n */\n isValid(\n date: string | Date | null | void,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (!date) {\n return false;\n }\n\n const parsedDate = this.toDate(date, inputFormat);\n return isValid(parsedDate);\n }\n\n /**\n */\n isAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n compareDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\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 | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string | Date): 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 * Checks if a given local date and time is ambiguous in the specified timezone.\n * Ambiguity happens during the end of daylight saving time (DST) transitions.\n */\n isAmbiguous(\n inputDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (inputDate == null || typeof Intl === \"undefined\") {\n return false;\n }\n\n const dateTime = this.toDate(inputDate, inputFormat);\n if (!isValid(dateTime)) {\n return false;\n }\n\n const t = [60, -60, 30, -30];\n const a = t.map((x) => {\n const newDate = add(dateTime, { minutes: x });\n return format(newDate, \"HH:mm\");\n });\n const time = format(dateTime, \"HH:mm\");\n return a.indexOf(time) > -1;\n }\n\n //////////// CALCULATIONS\n\n /**\n * @private\n */\n _calculate(\n date: string | Date,\n calculationFn: Function,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n calculationFn(\n parsedDate,\n { [property]: value },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n /**\n */\n addSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n addMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n addHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n addDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"days\", amount, inputFormat);\n }\n\n /**\n */\n addWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n addMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"months\", amount, inputFormat);\n }\n\n /**\n */\n addYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"years\", amount, inputFormat);\n }\n\n /**\n */\n subtractSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n subtractMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n subtractHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n subtractDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"days\", amount, inputFormat);\n }\n\n /**\n */\n subtractWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n subtractMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"months\", amount, inputFormat);\n }\n\n /**\n */\n subtractYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"years\", amount, inputFormat);\n }\n\n //////////// GETTERS\n\n /**\n * @private\n */\n _get(\n date: string | Date,\n method: Function,\n inputFormat: string = this.getIsoFormat(),\n options: Object = {},\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n method(parsedDate, {\n in: this.getDateFnsContext(),\n ...options,\n }),\n );\n }\n\n /**\n */\n startOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, startOfMonth, inputFormat);\n }\n\n /**\n */\n endOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, endOfMonth, inputFormat);\n }\n\n /**\n */\n startOfWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n return this._get(date, startOfWeek, inputFormat, {\n weekStartsOn,\n });\n }\n\n /**\n */\n getHours(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getHours(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getMinutes(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getMinutes(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n const parsedDate = this.toDate(date, inputFormat);\n return getWeek(parsedDate, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n //////////// SETTERS\n\n /**\n * @private\n */\n _set(\n date: string | Date,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { [property]: value },\n // {\n // in: this.getDateFnsContext(),\n // },\n ),\n );\n }\n\n /**\n */\n setYear(\n date: string | Date,\n year: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"year\", year, inputFormat);\n }\n\n /**\n */\n setMonth(\n date: string | Date,\n month: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"month\", month, inputFormat);\n }\n\n /**\n */\n setDay(\n date: string | Date,\n day: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"date\", day, inputFormat);\n }\n\n /**\n */\n setHour(\n date: string | Date,\n hour: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"hours\", hour, inputFormat);\n }\n\n /**\n */\n setMinute(\n date: string | Date,\n minute: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"minutes\", minute, inputFormat);\n }\n\n /**\n */\n setSecond(\n date: string | Date,\n second: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"seconds\", second, inputFormat);\n }\n\n /**\n */\n setMilliseconds(\n date: string | Date,\n millisecond: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"milliseconds\", millisecond, inputFormat);\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { hours, minutes, seconds, milliseconds },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n //////////// Timezone related\n\n /**\n */\n getTimeZone(): string {\n return this._timeZone;\n }\n\n /**\n */\n setTimeZone(timeZone: string) {\n this._timeZone = timeZone;\n }\n\n /**\n */\n getDateFnsContext(): null | Function {\n if (this.doOffsets && !IS_GRAALJS) {\n return tz(this.getTimeZone());\n }\n return undefined;\n }\n\n //////////// Offsets\n\n /**\n */\n getOffset(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): OffsetInfo | null {\n const parsedDate = this.toDate(date, inputFormat);\n if (isValid(parsedDate)) {\n const dateOffset = this.toFormat(parsedDate, DATETIME_OFFSET_FORMAT);\n const offsets = this.getTimezoneOffsets();\n if (\n typeof offsets.daylight !== \"undefined\" &&\n offsets.daylight.value === dateOffset\n ) {\n return offsets.daylight;\n } else if (\n typeof offsets.standard !== \"undefined\" &&\n offsets.standard.value === dateOffset\n ) {\n return offsets.standard;\n }\n }\n return null;\n }\n\n /**\n */\n getTimezoneOffsets(): {\n standard?: OffsetInfo,\n daylight?: OffsetInfo,\n } {\n const createOffsetObject = (info: OffsetInfoInput): OffsetInfo => {\n const sign = info.offset < 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(info.offset);\n const hours = Math.trunc(absOffset);\n const minutes = Math.round((absOffset % 1) * 60);\n\n const offsetString = `${sign}${String(hours + (minutes === 60 ? 1 : 0)).padStart(2, \"0\")}:${String(minutes % 60).padStart(2, \"0\")}`;\n\n return {\n label: info.name,\n abbr: info.abbr,\n value: offsetString,\n };\n };\n\n const timezone = soft(this.getTimeZone());\n\n if (timezone.length === 0) {\n return {\n standard: {\n label: \"Etc/UTC\",\n abbr: \"Etc/UTC\",\n value: \"+00:00\",\n },\n };\n }\n\n const { daylight, standard } = timezone[0];\n\n if (daylight) {\n return {\n daylight: createOffsetObject(daylight),\n standard: createOffsetObject(standard),\n };\n }\n\n return { standard: createOffsetObject(standard) };\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 true,\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 true,\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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","ignoreList":[]}
|