You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2019/07/12 18:33:27 UTC
[incubator-superset] branch master updated: fix: multi deck.gl bug
fixes (#7854)
This is an automated email from the ASF dual-hosted git repository.
maximebeauchemin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
The following commit(s) were added to refs/heads/master by this push:
new 7946165 fix: multi deck.gl bug fixes (#7854)
7946165 is described below
commit 7946165e6ead42b62425dc63d5d109c4722a81ac
Author: Tom Hunter <th...@users.noreply.github.com>
AuthorDate: Fri Jul 12 14:33:15 2019 -0400
fix: multi deck.gl bug fixes (#7854)
* fix: multi deck.gl viewport frozen
add onViewportChange method to handle changes to the viewport
* fix: add max_radius to deck.gl scatter example
- causes multi deck.gl to fail to render scatter without max_radius attribute
---
superset/assets/src/visualizations/deckgl/Multi/Multi.jsx | 14 ++++++++++----
superset/data/deck.py | 1 +
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
index e9da1f7..a0d6225 100644
--- a/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
+++ b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
@@ -35,6 +35,7 @@ class DeckMulti extends React.PureComponent {
constructor(props) {
super(props);
this.state = { subSlicesLayers: {} };
+ this.onViewportChange = this.onViewportChange.bind(this);
}
componentDidMount() {
@@ -47,8 +48,12 @@ class DeckMulti extends React.PureComponent {
this.loadLayers(formData, payload);
}
- loadLayers(formData, payload) {
- this.setState({ subSlicesLayers: {} });
+ onViewportChange(viewport) {
+ this.setState({ viewport });
+ }
+
+ loadLayers(formData, payload, viewport) {
+ this.setState({ subSlicesLayers: {}, viewport });
payload.data.slices.forEach((subslice) => {
// Filters applied to multi_deck are passed down to underlying charts
// note that dashboard contextual information (filter_immune_slices and such) aren't
@@ -86,7 +91,7 @@ class DeckMulti extends React.PureComponent {
}
render() {
- const { payload, viewport, formData, setControlValue } = this.props;
+ const { payload, formData, setControlValue } = this.props;
const { subSlicesLayers } = this.state;
const layers = Object.values(subSlicesLayers);
@@ -94,7 +99,8 @@ class DeckMulti extends React.PureComponent {
return (
<DeckGLContainer
mapboxApiAccessToken={payload.data.mapboxApiKey}
- viewport={viewport}
+ viewport={this.state.viewport || this.props.viewport}
+ onViewportChange={this.onViewportChange}
layers={layers}
mapStyle={formData.mapbox_style}
setControlValue={setControlValue}
diff --git a/superset/data/deck.py b/superset/data/deck.py
index ab329b0..53445d5 100644
--- a/superset/data/deck.py
+++ b/superset/data/deck.py
@@ -181,6 +181,7 @@ def load_deck_dash():
"point_radius_fixed": {"type": "metric", "value": "count"},
"point_unit": "square_m",
"min_radius": 1,
+ "max_radius": 250,
"row_limit": 5000,
"time_range": " : ",
"size": "count",