From 10a0ef6a6e5408caabac29144a6d148deedd5e62 Mon Sep 17 00:00:00 2001 From: Oskar Hinc Date: Wed, 25 Sep 2019 14:19:09 +0200 Subject: [PATCH 1/5] #8294: Set moment library language during app setup --- superset/assets/src/setup/setupApp.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/superset/assets/src/setup/setupApp.js b/superset/assets/src/setup/setupApp.js index 97c7df2d76930..24d9dcbf7ce06 100644 --- a/superset/assets/src/setup/setupApp.js +++ b/superset/assets/src/setup/setupApp.js @@ -20,6 +20,16 @@ import $ from 'jquery'; import { SupersetClient } from '@superset-ui/connection'; import getClientErrorObject from '../utils/getClientErrorObject'; +import moment from 'moment'; +import localStorage from 'local-storage'; + +const DEFAULT_D3_LANGUAGE = 'en'; + +function applyLocales() { + const currentLocale = localStorage.get('locale'); + const locale = currentLocale ? currentLocale : DEFAULT_D3_LANGUAGE; + moment.locale(locale); +} function showApiMessage(resp) { const template = @@ -46,6 +56,8 @@ function toggleCheckbox(apiUrlPrefix, selector) { } export default function setupApp() { + // Set a language for moment library + applyLocales(); $(document).ready(function () { $(':checkbox[data-checkbox-api-prefix]').change(function () { const $this = $(this); From c0189a90aad62f40540c50e7a2efa52ff002aa6c Mon Sep 17 00:00:00 2001 From: Oskar Hinc Date: Thu, 26 Sep 2019 08:45:55 +0200 Subject: [PATCH 2/5] #8294: Added 'local-storage' to superset/assets/package.json --- superset/assets/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/superset/assets/package.json b/superset/assets/package.json index 2787cc7cbfede..9848acb640f06 100644 --- a/superset/assets/package.json +++ b/superset/assets/package.json @@ -103,6 +103,7 @@ "immutable": "^3.8.2", "jquery": "^3.4.1", "json-bigint": "^0.3.0", + "local-storage": "^2.0.0", "lodash": "^4.17.15", "mathjs": "^3.20.2", "moment": "^2.20.1", From f9752feb65ead70fab5c6dd3af1b492550018db9 Mon Sep 17 00:00:00 2001 From: Oskar Hinc Date: Thu, 26 Sep 2019 12:55:52 +0200 Subject: [PATCH 3/5] #8294: change 'locale' in localStorage when language is set --- superset/assets/package.json | 1 - superset/assets/src/preamble.js | 1 + superset/assets/src/setup/setupApp.js | 3 +-- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/superset/assets/package.json b/superset/assets/package.json index 9848acb640f06..2787cc7cbfede 100644 --- a/superset/assets/package.json +++ b/superset/assets/package.json @@ -103,7 +103,6 @@ "immutable": "^3.8.2", "jquery": "^3.4.1", "json-bigint": "^0.3.0", - "local-storage": "^2.0.0", "lodash": "^4.17.15", "mathjs": "^3.20.2", "moment": "^2.20.1", diff --git a/superset/assets/src/preamble.js b/superset/assets/src/preamble.js index 824d7dcb84beb..b4188526828f6 100644 --- a/superset/assets/src/preamble.js +++ b/superset/assets/src/preamble.js @@ -29,6 +29,7 @@ if (typeof window !== 'undefined') { if (bootstrapData.common && bootstrapData.common.language_pack) { const languagePack = bootstrapData.common.language_pack; configure({ languagePack }); + localStorage.setItem('locale', bootstrapData.common.locale); } else { configure(); } diff --git a/superset/assets/src/setup/setupApp.js b/superset/assets/src/setup/setupApp.js index 24d9dcbf7ce06..109366b133cda 100644 --- a/superset/assets/src/setup/setupApp.js +++ b/superset/assets/src/setup/setupApp.js @@ -21,12 +21,11 @@ import $ from 'jquery'; import { SupersetClient } from '@superset-ui/connection'; import getClientErrorObject from '../utils/getClientErrorObject'; import moment from 'moment'; -import localStorage from 'local-storage'; const DEFAULT_D3_LANGUAGE = 'en'; function applyLocales() { - const currentLocale = localStorage.get('locale'); + const currentLocale = localStorage.getItem('locale'); const locale = currentLocale ? currentLocale : DEFAULT_D3_LANGUAGE; moment.locale(locale); } From f8d85f670ff78309c94735b5207ebd2e9ea9ed82 Mon Sep 17 00:00:00 2001 From: Oskar Hinc Date: Thu, 26 Sep 2019 15:41:48 +0200 Subject: [PATCH 4/5] #8294: Fixed eslint issues --- superset/assets/src/setup/setupApp.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/superset/assets/src/setup/setupApp.js b/superset/assets/src/setup/setupApp.js index 109366b133cda..483c84f72d9de 100644 --- a/superset/assets/src/setup/setupApp.js +++ b/superset/assets/src/setup/setupApp.js @@ -19,14 +19,14 @@ /* eslint global-require: 0 */ import $ from 'jquery'; import { SupersetClient } from '@superset-ui/connection'; -import getClientErrorObject from '../utils/getClientErrorObject'; import moment from 'moment'; +import getClientErrorObject from '../utils/getClientErrorObject'; const DEFAULT_D3_LANGUAGE = 'en'; function applyLocales() { const currentLocale = localStorage.getItem('locale'); - const locale = currentLocale ? currentLocale : DEFAULT_D3_LANGUAGE; + const locale = currentLocale || DEFAULT_D3_LANGUAGE; moment.locale(locale); } From afe2c4b5a8771884b948116f22c23ebdd27ad5c9 Mon Sep 17 00:00:00 2001 From: Oskar Hinc Date: Fri, 27 Sep 2019 12:26:48 +0200 Subject: [PATCH 5/5] #8294: Removed localStorage usage --- superset/assets/src/preamble.js | 3 ++- superset/assets/src/setup/setupApp.js | 11 ----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/superset/assets/src/preamble.js b/superset/assets/src/preamble.js index b4188526828f6..85d96232b2c57 100644 --- a/superset/assets/src/preamble.js +++ b/superset/assets/src/preamble.js @@ -17,6 +17,7 @@ * under the License. */ import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'; +import moment from 'moment'; import { configure } from '@superset-ui/translation'; import setupClient from './setup/setupClient'; import setupColors from './setup/setupColors'; @@ -29,7 +30,7 @@ if (typeof window !== 'undefined') { if (bootstrapData.common && bootstrapData.common.language_pack) { const languagePack = bootstrapData.common.language_pack; configure({ languagePack }); - localStorage.setItem('locale', bootstrapData.common.locale); + moment.locale(bootstrapData.common.locale); } else { configure(); } diff --git a/superset/assets/src/setup/setupApp.js b/superset/assets/src/setup/setupApp.js index 483c84f72d9de..97c7df2d76930 100644 --- a/superset/assets/src/setup/setupApp.js +++ b/superset/assets/src/setup/setupApp.js @@ -19,17 +19,8 @@ /* eslint global-require: 0 */ import $ from 'jquery'; import { SupersetClient } from '@superset-ui/connection'; -import moment from 'moment'; import getClientErrorObject from '../utils/getClientErrorObject'; -const DEFAULT_D3_LANGUAGE = 'en'; - -function applyLocales() { - const currentLocale = localStorage.getItem('locale'); - const locale = currentLocale || DEFAULT_D3_LANGUAGE; - moment.locale(locale); -} - function showApiMessage(resp) { const template = '
' + @@ -55,8 +46,6 @@ function toggleCheckbox(apiUrlPrefix, selector) { } export default function setupApp() { - // Set a language for moment library - applyLocales(); $(document).ready(function () { $(':checkbox[data-checkbox-api-prefix]').change(function () { const $this = $(this);