@beinformed/ui 1.62.7 → 1.62.8

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/esm/constants/Settings.d.ts +1 -0
  3. package/esm/constants/Settings.js +4 -0
  4. package/esm/constants/Settings.js.flow +5 -1
  5. package/esm/constants/Settings.js.map +1 -1
  6. package/esm/react-client/client.d.ts +1 -1
  7. package/esm/react-client/client.js +19 -0
  8. package/esm/react-client/client.js.flow +23 -1
  9. package/esm/react-client/client.js.map +1 -1
  10. package/esm/react-server/serverUtil.js +2 -2
  11. package/esm/react-server/serverUtil.js.flow +2 -2
  12. package/esm/react-server/serverUtil.js.map +1 -1
  13. package/esm/redux/_i18n/I18nActions.js.flow +0 -1
  14. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  15. package/esm/redux/_i18n/I18nReducer.js +11 -3
  16. package/esm/redux/_i18n/I18nReducer.js.flow +11 -3
  17. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  18. package/esm/redux/reducers/createReducer.js +2 -2
  19. package/esm/redux/reducers/createReducer.js.flow +1 -1
  20. package/esm/redux/reducers/createReducer.js.map +1 -1
  21. package/esm/redux/store/configureStore.js +0 -5
  22. package/esm/redux/store/configureStore.js.flow +0 -7
  23. package/esm/redux/store/configureStore.js.map +1 -1
  24. package/esm/utils/datetime/DateTimeUtil.js +3 -2
  25. package/esm/utils/datetime/DateTimeUtil.js.flow +3 -1
  26. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  27. package/lib/constants/Settings.d.ts +1 -0
  28. package/lib/constants/Settings.js +7 -2
  29. package/lib/constants/Settings.js.map +1 -1
  30. package/lib/react-client/client.d.ts +1 -1
  31. package/lib/react-client/client.js +20 -1
  32. package/lib/react-client/client.js.map +1 -1
  33. package/lib/react-server/serverUtil.js +1 -1
  34. package/lib/react-server/serverUtil.js.map +1 -1
  35. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  36. package/lib/redux/_i18n/I18nReducer.js +10 -2
  37. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  38. package/lib/redux/reducers/createReducer.js +2 -2
  39. package/lib/redux/reducers/createReducer.js.map +1 -1
  40. package/lib/redux/store/configureStore.js +0 -5
  41. package/lib/redux/store/configureStore.js.map +1 -1
  42. package/lib/utils/datetime/DateTimeUtil.js +2 -1
  43. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  44. package/package.json +8 -8
  45. package/src/constants/Settings.js +5 -1
  46. package/src/react-client/client.js +23 -1
  47. package/src/react-server/serverUtil.js +2 -2
  48. package/src/redux/_i18n/I18nActions.js +0 -1
  49. package/src/redux/_i18n/I18nReducer.js +11 -3
  50. package/src/redux/reducers/createReducer.js +1 -1
  51. package/src/redux/store/configureStore.js +0 -7
  52. package/src/utils/datetime/DateTimeUtil.js +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"serverUtil.js","names":["_history","require","_objects","_deepmerge","_interopRequireDefault","_configureStore","_Locales","_interopRequireWildcard","_requestInformation","_I18nActions","_Preferences","_Settings","_exceptions","_redux","_i18n","_ModularUIRequest","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","_Object$getOwnPropertyDescriptor","createReduxStore","requestHref","customReducers","initialState","history","createMemoryHistory","initialEntries","toString","store","configureStore","exports","setI18n","locales","arguments","length","undefined","request","Array","isArray","IllegalArgumentException","mergedLocales","_map","availableLocales","locale","code","customLocale","_find","custLocale","deepmerge","forEach","some","push","enabledLocales","_filter","_context","_includes","getSetting","localesInstance","Locales","preferredLocale","getPreferredLocale","dispatch","setLocales","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreference","setServerPreferences","setAllContentInDataSetting","setLoginPreferences","setDateTimeSettings","preferencesProvider","isStudioContext","setPreference","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWith","dataFetcher","fetch","setThemePreference","Error","setApplication","getLocale","getState","application","ModularUIRequest","fetchSync","connectKey","initModels","key","model","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_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":"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","ignoreList":[]}
1
+ {"version":3,"file":"serverUtil.js","names":["_history","require","_objects","_deepmerge","_interopRequireDefault","_configureStore","_Locales","_interopRequireWildcard","_requestInformation","_I18nActions","_Preferences","_Settings","_exceptions","_redux","_i18n","_ModularUIRequest","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","_Object$getOwnPropertyDescriptor","createReduxStore","requestHref","customReducers","initialState","history","createMemoryHistory","initialEntries","toString","store","configureStore","exports","setI18n","locales","arguments","length","undefined","request","Array","isArray","IllegalArgumentException","mergedLocales","_map","availableLocales","locale","code","customLocale","_find","custLocale","deepmerge","forEach","some","push","enabledLocales","_filter","_context","_includes","getEnabledLocales","localesInstance","Locales","preferredLocale","getPreferredLocale","dispatch","setLocales","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreference","setServerPreferences","setAllContentInDataSetting","setLoginPreferences","setDateTimeSettings","preferencesProvider","isStudioContext","setPreference","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWith","dataFetcher","fetch","setThemePreference","Error","setApplication","getLocale","getState","application","ModularUIRequest","fetchSync","connectKey","initModels","key","model","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_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":["_ProgressIndicator","require","receiveLocale","locale","type","payload","exports","updateLocale","dispatch","startProgress","finishProgress","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\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,IAAAA,kBAAA,GAAAC,OAAA;AAMA;AACA;AACA;AACO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFAG,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAGO,MAAMK,YAAY,GACtBJ,MAAc,IACdK,QAAQ,IAAK;EACZA,QAAQ,CAAC,IAAAC,gCAAa,EAAC,CAAC,CAAC;EACzBD,QAAQ,CAACN,aAAa,CAACC,MAAM,CAAC,CAAC;EAE/BK,QAAQ,CAAC,IAAAE,iCAAc,EAAC,CAAC,CAAC;AAC5B,CAAC;;AAEH;AACA;AADAJ,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEO,MAAMI,UAAU,GAAGA,CACxBC,OAAgB,EAChBT,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPO,OAAO;IACPT;EACF;AACF,CAAC,CAAC;AAACG,OAAA,CAAAK,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"I18nActions.js","names":["_ProgressIndicator","require","receiveLocale","locale","type","payload","exports","updateLocale","dispatch","startProgress","finishProgress","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,IAAAA,kBAAA,GAAAC,OAAA;AAMA;AACA;AACA;AACO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFAG,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAGO,MAAMK,YAAY,GACtBJ,MAAc,IACdK,QAAQ,IAAK;EACZA,QAAQ,CAAC,IAAAC,gCAAa,EAAC,CAAC,CAAC;EACzBD,QAAQ,CAACN,aAAa,CAACC,MAAM,CAAC,CAAC;EAC/BK,QAAQ,CAAC,IAAAE,iCAAc,EAAC,CAAC,CAAC;AAC5B,CAAC;;AAEH;AACA;AADAJ,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEO,MAAMI,UAAU,GAAGA,CACxBC,OAAgB,EAChBT,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPO,OAAO;IACPT;EACF;AACF,CAAC,CAAC;AAACG,OAAA,CAAAK,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -12,7 +12,11 @@ var _Locales = _interopRequireDefault(require("../../i18n/Locales"));
12
12
  */
13
13
  const updateLocale = (state, locale) => {
14
14
  // set locale in cookie
15
- (0, _Cookies.setCookie)("locale", locale);
15
+ if (state.locales?.length > 1) {
16
+ (0, _Cookies.setCookie)("locale", locale);
17
+ } else {
18
+ (0, _Cookies.clearCookie)("locale");
19
+ }
16
20
 
17
21
  // clear cache because of cached contributions
18
22
  _Cache.default.clear();
@@ -30,7 +34,11 @@ const setLocales = (state, _ref) => {
30
34
  locales
31
35
  } = _ref;
32
36
  // set locale in cookie
33
- (0, _Cookies.setCookie)("locale", locale);
37
+ if (state.locales.length > 1) {
38
+ (0, _Cookies.setCookie)("locale", locale);
39
+ } else {
40
+ (0, _Cookies.clearCookie)("locale");
41
+ }
34
42
  if (locale) {
35
43
  return {
36
44
  ...state,
@@ -1 +1 @@
1
- {"version":3,"file":"I18nReducer.js","names":["_Cache","_interopRequireDefault","require","_Cookies","_Locales","updateLocale","state","locale","setCookie","Cache","clear","setLocales","_ref","locales","getDefaultLocale","navigator","language","split","initialState","Locales","I18nReducer","arguments","length","undefined","action","type","payload","exports"],"sources":["../../../src/redux/_i18n/I18nReducer.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport { setCookie } 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 setCookie(\"locale\", locale);\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 setCookie(\"locale\", locale);\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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAMA;AACA;AACA,MAAMG,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACA,IAAAC,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;;EAE3B;EACAE,cAAK,CAACC,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;IAAEM;EAA8C,CAAC,GAAAD,IAAA;EAEzD;EACA,IAAAJ,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;EAE3B,IAAIA,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRO,OAAO;MACPN;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRO;EACF,CAAC;AACH,CAAC;AAED,MAAMC,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;EAC9BL,OAAO,EAAE,IAAIM,gBAAO,CAAC,CAAC;EACtBZ,MAAM,EAAEO,gBAAgB,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACO,MAAMM,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHd,KAAK,GAAAe,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,YAAY;EAAA,IACpBM,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACG,MAAM,EAAE;IACX,OAAOlB,KAAK;EACd;EAEA,QAAQkB,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOd,UAAU,CAACL,KAAK,EAAEkB,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOrB,YAAY,CAACC,KAAK,EAAEkB,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOpB,KAAK;EAChB;AACF,CAAC;AAACqB,OAAA,CAAAP,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"I18nReducer.js","names":["_Cache","_interopRequireDefault","require","_Cookies","_Locales","updateLocale","state","locale","locales","length","setCookie","clearCookie","Cache","clear","setLocales","_ref","getDefaultLocale","navigator","language","split","initialState","Locales","I18nReducer","arguments","undefined","action","type","payload","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAMA;AACA;AACA,MAAMG,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACA,IAAID,KAAK,CAACE,OAAO,EAAEC,MAAM,GAAG,CAAC,EAAE;IAC7B,IAAAC,kBAAS,EAAC,QAAQ,EAAEH,MAAM,CAAC;EAC7B,CAAC,MAAM;IACL,IAAAI,oBAAW,EAAC,QAAQ,CAAC;EACvB;;EAEA;EACAC,cAAK,CAACC,KAAK,CAAC,CAAC;EAEb,OAAO;IACL,GAAGP,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAMO,UAAU,GAAGA,CACjBR,KAAgB,EAAAS,IAAA,KAEb;EAAA,IADH;IAAER,MAAM;IAAEC;EAA8C,CAAC,GAAAO,IAAA;EAEzD;EACA,IAAIT,KAAK,CAACE,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;IAC5B,IAAAC,kBAAS,EAAC,QAAQ,EAAEH,MAAM,CAAC;EAC7B,CAAC,MAAM;IACL,IAAAI,oBAAW,EAAC,QAAQ,CAAC;EACvB;EAEA,IAAIJ,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRE,OAAO;MACPD;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRE;EACF,CAAC;AACH,CAAC;AAED,MAAMQ,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;EAC9BZ,OAAO,EAAE,IAAIa,gBAAO,CAAC,CAAC;EACtBd,MAAM,EAAES,gBAAgB,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACO,MAAMM,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHhB,KAAK,GAAAiB,SAAA,CAAAd,MAAA,QAAAc,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGH,YAAY;EAAA,IACpBK,MAAM,GAAAF,SAAA,CAAAd,MAAA,QAAAc,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACE,MAAM,EAAE;IACX,OAAOnB,KAAK;EACd;EAEA,QAAQmB,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOZ,UAAU,CAACR,KAAK,EAAEmB,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOtB,YAAY,CAACC,KAAK,EAAEmB,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOrB,KAAK;EAChB;AACF,CAAC;AAACsB,OAAA,CAAAN,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -18,6 +18,7 @@ var _PreferencesReducer = _interopRequireDefault(require("./PreferencesReducer")
18
18
  /**
19
19
  */
20
20
  const createReducer = () => ({
21
+ preferences: _PreferencesReducer.default,
21
22
  router: _RouterReducer.RouterReducer,
22
23
  modularui: _ModularUIReducer.ModularUIReducer,
23
24
  i18n: _I18nReducer.I18nReducer,
@@ -26,8 +27,7 @@ const createReducer = () => ({
26
27
  modals: _ModalsReducer.default,
27
28
  modelcatalog: _ModelCatalogReducer.default,
28
29
  notification: _NotificationReducer.default,
29
- progressindicator: _ProgressIndicatorReducer.default,
30
- preferences: _PreferencesReducer.default
30
+ progressindicator: _ProgressIndicatorReducer.default
31
31
  });
32
32
  exports.createReducer = createReducer;
33
33
  //# sourceMappingURL=createReducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createReducer.js","names":["_RouterReducer","require","_ModularUIReducer","_I18nReducer","_ModalsReducer","_interopRequireDefault","_AuthReducer","_ErrorReducer","_ModelCatalogReducer","_NotificationReducer","_ProgressIndicatorReducer","_PreferencesReducer","createReducer","router","RouterReducer","modularui","ModularUIReducer","i18n","I18nReducer","auth","AuthReducer","error","ErrorReducer","modals","ModalsReducer","modelcatalog","ModelCatalogReducer","notification","NotificationReducer","progressindicator","ProgressIndicatorReducer","preferences","PreferencesReducer","exports"],"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 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 preferences: PreferencesReducer,\n});\n"],"mappings":";;;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,aAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,oBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,oBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,yBAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,mBAAA,GAAAN,sBAAA,CAAAJ,OAAA;AA8BA;AACA;AACO,MAAMW,aAAa,GAAGA,CAAA,MAAiB;EAC5CC,MAAM,EAAEC,4BAAa;EACrBC,SAAS,EAAEC,kCAAgB;EAC3BC,IAAI,EAAEC,wBAAW;EACjBC,IAAI,EAAEC,oBAAW;EACjBC,KAAK,EAAEC,qBAAY;EACnBC,MAAM,EAAEC,sBAAa;EACrBC,YAAY,EAAEC,4BAAmB;EACjCC,YAAY,EAAEC,4BAAmB;EACjCC,iBAAiB,EAAEC,iCAAwB;EAC3CC,WAAW,EAAEC;AACf,CAAC,CAAC;AAACC,OAAA,CAAArB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"createReducer.js","names":["_RouterReducer","require","_ModularUIReducer","_I18nReducer","_ModalsReducer","_interopRequireDefault","_AuthReducer","_ErrorReducer","_ModelCatalogReducer","_NotificationReducer","_ProgressIndicatorReducer","_PreferencesReducer","createReducer","preferences","PreferencesReducer","router","RouterReducer","modularui","ModularUIReducer","i18n","I18nReducer","auth","AuthReducer","error","ErrorReducer","modals","ModalsReducer","modelcatalog","ModelCatalogReducer","notification","NotificationReducer","progressindicator","ProgressIndicatorReducer","exports"],"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,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,aAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,oBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,oBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,yBAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,mBAAA,GAAAN,sBAAA,CAAAJ,OAAA;AA8BA;AACA;AACO,MAAMW,aAAa,GAAGA,CAAA,MAAiB;EAC5CC,WAAW,EAAEC,2BAAkB;EAC/BC,MAAM,EAAEC,4BAAa;EACrBC,SAAS,EAAEC,kCAAgB;EAC3BC,IAAI,EAAEC,wBAAW;EACjBC,IAAI,EAAEC,oBAAW;EACjBC,KAAK,EAAEC,qBAAY;EACnBC,MAAM,EAAEC,sBAAa;EACrBC,YAAY,EAAEC,4BAAmB;EACjCC,YAAY,EAAEC,4BAAmB;EACjCC,iBAAiB,EAAEC;AACrB,CAAC,CAAC;AAACC,OAAA,CAAArB,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -11,7 +11,6 @@ var _RouterMiddleware = require("../_router/RouterMiddleware");
11
11
  var _ModularUIMiddleware = require("../_modularui/ModularUIMiddleware");
12
12
  var _createReducer = require("../reducers/createReducer");
13
13
  var _RouterActions = require("../_router/RouterActions");
14
- var _I18nActions = require("../_i18n/I18nActions");
15
14
  /**
16
15
  */
17
16
  const configureStore = (routerHistory, customReducers, initialState) => {
@@ -29,10 +28,6 @@ const configureStore = (routerHistory, customReducers, initialState) => {
29
28
  if (!initialState?.router) {
30
29
  store.dispatch((0, _RouterActions.locationChange)(routerHistory.location, "PUSH"));
31
30
  }
32
- const locale = initialState?.i18n.locale;
33
- if (locale) {
34
- store.dispatch((0, _I18nActions.updateLocale)(locale));
35
- }
36
31
  return {
37
32
  routerHistory,
38
33
  store
@@ -1 +1 @@
1
- {"version":3,"file":"configureStore.js","names":["_redux","require","_reduxThunk","_interopRequireDefault","_RouterMiddleware","_ModularUIMiddleware","_createReducer","_RouterActions","_I18nActions","configureStore","routerHistory","customReducers","initialState","composeEnhancers","compose","process","env","NODE_ENV","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","combinedReducers","combineReducers","createReducer","middleware","applyMiddleware","modularUIMiddleware","routerMiddleware","thunk","enhancers","store","createReduxStore","router","dispatch","locationChange","location","locale","i18n","updateLocale","_default","exports","default"],"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 { updateLocale } from \"../_i18n/I18nActions\";\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 const locale = initialState?.i18n.locale;\n if (locale) {\n store.dispatch(updateLocale(locale));\n }\n\n return { routerHistory, store };\n};\n\nexport default configureStore;\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAEA,IAAAO,YAAA,GAAAP,OAAA;AAMA;AACA;AACA,MAAMQ,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,cAAuB,EACvBC,YAAiC,KACuB;EACxD,IAAIC,gBAAgB,GAAGC,cAAO;EAE9B,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IAC1EL,gBAAgB,GAAGK,MAAM,CAACC,oCAAoC,IAAIL,cAAO;EAC3E;EAEA,MAAMM,gBAAkD,GAAG,IAAAC,sBAAe,EAAC;IACzE,GAAGV,cAAc;IACjB,GAAG,IAAAW,4BAAa,EAAC;EACnB,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAG,IAAAC,sBAAe,EAChCC,wCAAmB,EACnB,IAAAC,kCAAgB,EAAChB,aAAa,CAAC,EAC/BiB,mBACF,CAAC;EAED,MAAMC,SAAS,GAAGf,gBAAgB,CAACU,UAAU,CAAC;EAE9C,MAAMM,KAAiB,GAAG,IAAAC,kBAAgB,EACxCV,gBAAgB,EAChBR,YAAY,EACZgB,SACF,CAAC;EAED,IAAI,CAAChB,YAAY,EAAEmB,MAAM,EAAE;IACzBF,KAAK,CAACG,QAAQ,CAAC,IAAAC,6BAAc,EAACvB,aAAa,CAACwB,QAAQ,EAAE,MAAM,CAAC,CAAC;EAChE;EAEA,MAAMC,MAAM,GAAGvB,YAAY,EAAEwB,IAAI,CAACD,MAAM;EACxC,IAAIA,MAAM,EAAE;IACVN,KAAK,CAACG,QAAQ,CAAC,IAAAK,yBAAY,EAACF,MAAM,CAAC,CAAC;EACtC;EAEA,OAAO;IAAEzB,aAAa;IAAEmB;EAAM,CAAC;AACjC,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa/B,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"configureStore.js","names":["_redux","require","_reduxThunk","_interopRequireDefault","_RouterMiddleware","_ModularUIMiddleware","_createReducer","_RouterActions","configureStore","routerHistory","customReducers","initialState","composeEnhancers","compose","process","env","NODE_ENV","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","combinedReducers","combineReducers","createReducer","middleware","applyMiddleware","modularUIMiddleware","routerMiddleware","thunk","enhancers","store","createReduxStore","router","dispatch","locationChange","location","_default","exports","default"],"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,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAMA;AACA;AACA,MAAMO,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,cAAuB,EACvBC,YAAiC,KACuB;EACxD,IAAIC,gBAAgB,GAAGC,cAAO;EAE9B,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IAC1EL,gBAAgB,GAAGK,MAAM,CAACC,oCAAoC,IAAIL,cAAO;EAC3E;EAEA,MAAMM,gBAAkD,GAAG,IAAAC,sBAAe,EAAC;IACzE,GAAGV,cAAc;IACjB,GAAG,IAAAW,4BAAa,EAAC;EACnB,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAG,IAAAC,sBAAe,EAChCC,wCAAmB,EACnB,IAAAC,kCAAgB,EAAChB,aAAa,CAAC,EAC/BiB,mBACF,CAAC;EAED,MAAMC,SAAS,GAAGf,gBAAgB,CAACU,UAAU,CAAC;EAE9C,MAAMM,KAAiB,GAAG,IAAAC,kBAAgB,EACxCV,gBAAgB,EAChBR,YAAY,EACZgB,SACF,CAAC;EAED,IAAI,CAAChB,YAAY,EAAEmB,MAAM,EAAE;IACzBF,KAAK,CAACG,QAAQ,CAAC,IAAAC,6BAAc,EAACvB,aAAa,CAACwB,QAAQ,EAAE,MAAM,CAAC,CAAC;EAChE;EAEA,OAAO;IAAExB,aAAa;IAAEmB;EAAM,CAAC;AACjC,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5B,cAAc","ignoreList":[]}
@@ -105,7 +105,8 @@ class BaseDateTimeUtil {
105
105
  /**
106
106
  */
107
107
  getLocale() {
108
- const locale = (0, _Cookies.getCookie)("locale") ?? "en";
108
+ const defaultLocale = (0, _constants.getEnabledLocales)()[0];
109
+ const locale = (0, _Cookies.getCookie)("locale") ?? defaultLocale ?? "en";
109
110
  if (locale === "nl") {
110
111
  return _locale.nl;
111
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeUtil.js","names":["_format","require","_isAfter","_isBefore","_isSameDay","_isValid","_parse","_add","_sub","_set","_startOfMonth","_endOfMonth","_startOfWeek","_getHours","_getMinutes","_getDay","_getWeek","_locale","_tz","_timezoneSoft","_interopRequireDefault","_constants","_Cookies","BaseDateTimeUtil","constructor","isoFormat","doOffsets","arguments","length","undefined","_defineProperty2","default","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","_doOffsets","isIncludeTimeOffsetInDateTimes","getOptions","weekStartsOn","getSetting","DEFAULT_WEEK_STARTS_ON","firstWeekContainsDate","DEFAULT_FIRST_WEEK_CONTAINS_DATE","getIsoFormat","DATETIME_OFFSET_FORMAT","convertFormat","javaFormat","_context","javaToUTS35Map","ZZZ","ZZ","Z","uts35Format","sortedKeys","_sort","_keys","call","a","b","javaToken","uts35Token","regex","RegExp","replace","getLocale","locale","getCookie","nl","enGB","toDate","date","inputFormat","Date","parse","in","getDateFnsContext","toFormat","targetFormat","parsedDate","isValid","format","toISO","sourceFormat","now","hasFormat","formattedValue","isOutsideRange","isBefore","isAfter","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isSameDay","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","getDay","isAmbiguous","dateTime","t","_map","x","newDate","add","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","sub","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getWeek","set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","IS_GRAALJS","tz","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_trunc","round","offsetString","_padStart","String","label","name","abbr","timezone","soft","DateUtil","exports","ISO_DATE_FORMAT","DateTimeUtil","ISO_DATETIME_FORMAT","TimeUtil","ISO_TIME_FORMAT","TimestampUtil","ISO_TIMESTAMP_FORMAT"],"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","require","_isAfter","_isBefore","_isSameDay","_isValid","_parse","_add","_sub","_set","_startOfMonth","_endOfMonth","_startOfWeek","_getHours","_getMinutes","_getDay","_getWeek","_locale","_tz","_timezoneSoft","_interopRequireDefault","_constants","_Cookies","BaseDateTimeUtil","constructor","isoFormat","doOffsets","arguments","length","undefined","_defineProperty2","default","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","_doOffsets","isIncludeTimeOffsetInDateTimes","getOptions","weekStartsOn","getSetting","DEFAULT_WEEK_STARTS_ON","firstWeekContainsDate","DEFAULT_FIRST_WEEK_CONTAINS_DATE","getIsoFormat","DATETIME_OFFSET_FORMAT","convertFormat","javaFormat","_context","javaToUTS35Map","ZZZ","ZZ","Z","uts35Format","sortedKeys","_sort","_keys","call","a","b","javaToken","uts35Token","regex","RegExp","replace","getLocale","defaultLocale","getEnabledLocales","locale","getCookie","nl","enGB","toDate","date","inputFormat","Date","parse","in","getDateFnsContext","toFormat","targetFormat","parsedDate","isValid","format","toISO","sourceFormat","now","hasFormat","formattedValue","isOutsideRange","isBefore","isAfter","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isSameDay","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","getDay","isAmbiguous","dateTime","t","_map","x","newDate","add","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","sub","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getWeek","set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","IS_GRAALJS","tz","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_trunc","round","offsetString","_padStart","String","label","name","abbr","timezone","soft","DateUtil","exports","ISO_DATE_FORMAT","DateTimeUtil","ISO_DATETIME_FORMAT","TimeUtil","ISO_TIME_FORMAT","TimestampUtil","ISO_TIMESTAMP_FORMAT"],"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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.62.7",
3
+ "version": "1.62.8",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "https://support.beinformed.com",
@@ -89,7 +89,7 @@
89
89
  },
90
90
  "devDependencies": {
91
91
  "@babel/cli": "^7.27.2",
92
- "@babel/core": "^7.27.4",
92
+ "@babel/core": "^7.27.7",
93
93
  "@babel/eslint-parser": "^7.27.5",
94
94
  "@babel/eslint-plugin": "^7.27.1",
95
95
  "@babel/plugin-proposal-class-properties": "^7.18.6",
@@ -102,8 +102,8 @@
102
102
  "@commitlint/config-conventional": "^19.8.1",
103
103
  "@testing-library/dom": "^10.4.0",
104
104
  "@testing-library/react": "^16.3.0",
105
- "auditjs": "^4.0.46",
106
- "babel-jest": "^29.7.0",
105
+ "auditjs": "^4.0.47",
106
+ "babel-jest": "^30.0.2",
107
107
  "babel-plugin-styled-components": "^2.1.4",
108
108
  "cherry-pick": "^0.5.0",
109
109
  "commit-and-tag-version": "^12.5.1",
@@ -121,17 +121,17 @@
121
121
  "flow-bin": "^0.200.1",
122
122
  "flow-copy-source": "^2.0.9",
123
123
  "flow-typed": "^3.9.0",
124
- "hermes-eslint": "^0.28.1",
124
+ "hermes-eslint": "^0.29.0",
125
125
  "history": "^4.0.0",
126
126
  "husky": "^9.1.7",
127
- "jest": "^29.7.0",
128
- "jest-environment-jsdom": "^29.7.0",
127
+ "jest": "^30.0.3",
128
+ "jest-environment-jsdom": "^30.0.2",
129
129
  "jest-junit": "^16.0.0",
130
130
  "jest-sonar-reporter": "^2.0.0",
131
131
  "jscodeshift": "^17.3.0",
132
132
  "lint-staged": "^15.5.1",
133
133
  "polished": "^4.0.0",
134
- "prettier": "^3.5.3",
134
+ "prettier": "^3.6.2",
135
135
  "react": "^19.1.0",
136
136
  "react-dom": "^19.1.0",
137
137
  "react-helmet-async": "^2.0.5",
@@ -145,7 +145,6 @@ export const getSetting = (key: string, defaultValue?: any): any => {
145
145
  `Setting with name ${key} not found and no defaultValue given`,
146
146
  );
147
147
  }
148
-
149
148
  return settings[key] ?? defaultValue;
150
149
  };
151
150
 
@@ -210,6 +209,11 @@ export const hasAllContentInData = (): boolean =>
210
209
  export const isIncludeTimeOffsetInDateTimes = (): boolean =>
211
210
  getSetting(INCLUDE_TIME_OFFSET, false);
212
211
 
212
+ /**
213
+ */
214
+ export const getEnabledLocales = (): Array<string> =>
215
+ getSetting("ENABLED_LOCALES", ["en"]);
216
+
213
217
  /**
214
218
  * Login type, only available when pac4j is configured
215
219
  *
@@ -43,10 +43,12 @@ import type {
43
43
  ElementType,
44
44
  } from "react";
45
45
  import type { Theme } from "../react-theme/types";
46
- import type { CustomReducers, ReduxStore } from "../redux/types";
46
+ import type { CustomReducers, ReduxState, ReduxStore } from "../redux/types";
47
47
  import type { RouterHistory } from "react-router";
48
48
  import type { BeforeRenderHook } from "../redux/store/beforeRenderHooks";
49
49
  import type { Props as FallbackProps } from "../react/ErrorBoundaryFallback";
50
+ import createTheme from "../react-theme/createTheme";
51
+ import { receiveLocale } from "../redux";
50
52
 
51
53
  type RenderFunction = () => ReactElement<ElementType>;
52
54
  type MountFunction = (
@@ -104,6 +106,21 @@ export const setUnhandledRejectionEvent = (store: ReduxStore) => {
104
106
  };
105
107
  };
106
108
 
109
+ /**
110
+ */
111
+ const initThemeSettings = (state: ReduxState, theme?: Theme | Array<Theme>) => {
112
+ const storedTheme = state.preferences.theme;
113
+ // $FlowFixMe
114
+ createTheme(storedTheme, theme); // on theme creation, the settings are set
115
+ };
116
+
117
+ const handleLocale = (store: ReduxStore) => {
118
+ const locale = store.getState().i18n.locale;
119
+ if (locale) {
120
+ store.dispatch(receiveLocale(locale));
121
+ }
122
+ };
123
+
107
124
  /**
108
125
  * The redirectURI querystring parameter is available when the server is redirecting an unauthorized deep link
109
126
  * @param store
@@ -151,6 +168,7 @@ export const setModelCatalogEntryDate = (store: ReduxStore) => {
151
168
  export const setupClient = (
152
169
  customReducers: CustomReducers = {},
153
170
  beforeRenderHooks: ?Array<BeforeRenderHook>,
171
+ theme?: Theme | Array<Theme>,
154
172
  ): { store: ReduxStore, routerHistory: RouterHistory } => {
155
173
  if (typeof window.contextPath === "undefined") {
156
174
  throw new Error("Missing contextPath on window object");
@@ -171,6 +189,10 @@ export const setupClient = (
171
189
  rehydrate(data),
172
190
  );
173
191
 
192
+ initThemeSettings(store.getState(), theme);
193
+
194
+ handleLocale(store);
195
+
174
196
  handleRedirectURI(store);
175
197
  setModelCatalogEntryDate(store);
176
198
 
@@ -20,7 +20,7 @@ import {
20
20
  setDateTimeSettings,
21
21
  } from "../redux/actions/Preferences";
22
22
 
23
- import { getSetting } from "../constants/Settings";
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
- getSetting("ENABLED_LOCALES").includes(locale.code),
92
+ getEnabledLocales().includes(locale.code),
93
93
  );
94
94
 
95
95
  const localesInstance = new Locales(enabledLocales);
@@ -21,7 +21,6 @@ export const updateLocale =
21
21
  (dispatch) => {
22
22
  dispatch(startProgress());
23
23
  dispatch(receiveLocale(locale));
24
-
25
24
  dispatch(finishProgress());
26
25
  };
27
26