Fix add chart page frontend i18n issue (#9321)

This commit is contained in:
auxten 2020-08-23 02:04:18 +08:00 committed by GitHub
parent 45fee60b62
commit 0f44d3edf2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 8 deletions

View File

@ -26,7 +26,7 @@ import AddSliceContainer from './AddSliceContainer';
setupApp(); setupApp();
setupPlugins(); setupPlugins();
const addSliceContainer = document.getElementById('js-add-slice-container'); const addSliceContainer = document.getElementById('app');
const bootstrapData = JSON.parse( const bootstrapData = JSON.parse(
addSliceContainer?.getAttribute('data-bootstrap') || '{}', addSliceContainer?.getAttribute('data-bootstrap') || '{}',
); );

View File

@ -20,4 +20,4 @@ import React from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import App from './App'; import App from './App';
ReactDOM.render(<App />, document.getElementById('js-add-slice-container')); ReactDOM.render(<App />, document.getElementById('app'));

View File

@ -24,7 +24,7 @@
{% block body %} {% block body %}
<div <div
id="js-add-slice-container" id="app"
data-bootstrap="{{ bootstrap_data }}" data-bootstrap="{{ bootstrap_data }}"
></div> ></div>
{% endblock %} {% endblock %}

View File

@ -26,7 +26,12 @@ from superset.constants import RouteMethod
from superset.models.slice import Slice from superset.models.slice import Slice
from superset.typing import FlaskResponse from superset.typing import FlaskResponse
from superset.utils import core as utils from superset.utils import core as utils
from superset.views.base import check_ownership, DeleteMixin, SupersetModelView from superset.views.base import (
check_ownership,
common_bootstrap_payload,
DeleteMixin,
SupersetModelView,
)
from superset.views.chart.mixin import SliceMixin from superset.views.chart.mixin import SliceMixin
@ -58,11 +63,12 @@ class SliceModelView(
{"value": str(d.id) + "__" + d.type, "label": repr(d)} {"value": str(d.id) + "__" + d.type, "label": repr(d)}
for d in ConnectorRegistry.get_all_datasources(db.session) for d in ConnectorRegistry.get_all_datasources(db.session)
] ]
payload = {
"datasources": sorted(datasources, key=lambda d: d["label"]),
"common": common_bootstrap_payload(),
}
return self.render_template( return self.render_template(
"superset/add_slice.html", "superset/add_slice.html", bootstrap_data=json.dumps(payload)
bootstrap_data=json.dumps(
{"datasources": sorted(datasources, key=lambda d: d["label"])}
),
) )
@expose("/list/") @expose("/list/")