From commits-return-2921-archive-asf-public=cust-asf.ponee.io@superset.incubator.apache.org Sat Jul 13 21:32:38 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 67D8218025F for ; Sat, 13 Jul 2019 23:32:38 +0200 (CEST) Received: (qmail 40001 invoked by uid 500); 13 Jul 2019 21:32:37 -0000 Mailing-List: contact commits-help@superset.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@superset.incubator.apache.org Delivered-To: mailing list commits@superset.incubator.apache.org Received: (qmail 39988 invoked by uid 99); 13 Jul 2019 21:32:37 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 13 Jul 2019 21:32:37 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 3C87F85E17; Sat, 13 Jul 2019 21:25:21 +0000 (UTC) Date: Sat, 13 Jul 2019 21:25:20 +0000 To: "commits@superset.apache.org" Subject: [incubator-superset] branch master updated: [wip] fix: multi deck.gl bug fixes (pt 2) (#7866) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <156305312054.18992.2902684804064383378@gitbox.apache.org> From: maximebeauchemin@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: incubator-superset X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: fc8268b086c69fdc3ef505b711377fed0fa71dda X-Git-Newrev: 1197d25c3cec37217c5ac99b58746b97a91959c9 X-Git-Rev: 1197d25c3cec37217c5ac99b58746b97a91959c9 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated 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 1197d25 [wip] fix: multi deck.gl bug fixes (pt 2) (#7866) 1197d25 is described below commit 1197d25c3cec37217c5ac99b58746b97a91959c9 Author: Tom Hunter AuthorDate: Sat Jul 13 17:25:04 2019 -0400 [wip] fix: multi deck.gl bug fixes (pt 2) (#7866) * fix: update polygon example data to work with multi deck.gl - both "point_radius_fixed" and "multiplier" attributes were not set during load_examples so these charts were failing when viewing as a multi deck.gl chart * fix: unify deck.gl getLayers api to fix multi deck.gl tooltips - various deck.gl layers implemented getLayers slightly differently which caused issues with generating default tooltips when the layers are viewed in a multi deck.gl chart * fix: cleanup formData variable in scatter chart for consistency * linting fix + polygon regression fix * additional linting fixes --- superset/assets/src/visualizations/deckgl/Multi/Multi.jsx | 13 +++++++++++++ .../src/visualizations/deckgl/layers/Polygon/Polygon.jsx | 3 ++- .../src/visualizations/deckgl/layers/Scatter/Scatter.jsx | 3 ++- .../visualizations/deckgl/layers/Screengrid/Screengrid.jsx | 2 +- superset/data/deck.py | 2 ++ 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx index a0d6225..b511eaa 100644 --- a/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx +++ b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx @@ -29,6 +29,14 @@ const propTypes = { payload: PropTypes.object.isRequired, setControlValue: PropTypes.func.isRequired, viewport: PropTypes.object.isRequired, + onAddFilter: PropTypes.func, + setTooltip: PropTypes.func, + onSelect: PropTypes.func, +}; +const defaultProps = { + onAddFilter() {}, + setTooltip() {}, + onSelect() {}, }; class DeckMulti extends React.PureComponent { @@ -78,6 +86,10 @@ class DeckMulti extends React.PureComponent { const layer = layerGenerators[subsliceCopy.form_data.viz_type]( subsliceCopy.form_data, json, + this.props.onAddFilter, + this.props.setTooltip, + [], + this.props.onSelect, ); this.setState({ subSlicesLayers: { @@ -110,5 +122,6 @@ class DeckMulti extends React.PureComponent { } DeckMulti.propTypes = propTypes; +DeckMulti.defaultProps = defaultProps; export default DeckMulti; diff --git a/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx b/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx index 7e30668..3797d7e 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx @@ -61,7 +61,7 @@ function setTooltipContent(formData) { }; } -export function getLayer(formData, payload, setTooltip, selected, onSelect, filters) { +export function getLayer(formData, payload, onAddFilter, setTooltip, selected, onSelect, filters) { const fd = formData; const fc = fd.fill_color_picker; const sc = fd.stroke_color_picker; @@ -236,6 +236,7 @@ class DeckGLPolygon extends React.Component { const layer = getLayer( this.props.formData, this.props.payload, + this.props.onAddFilter, this.props.setTooltip, this.state.selected, this.onSelect, diff --git a/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx b/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx index 8ca13aa..add107d 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx @@ -42,7 +42,8 @@ function setTooltipContent(formData) { ); } -export function getLayer(fd, payload, onAddFilter, setTooltip) { +export function getLayer(formData, payload, onAddFilter, setTooltip) { + const fd = formData; const dataWithRadius = payload.data.features.map((d) => { let radius = unitToRadius(fd.point_unit, d.radius) || 10; if (fd.multiplier) { diff --git a/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx b/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx index 1efefae..d9fba4c 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx @@ -41,7 +41,7 @@ function setTooltipContent(o) { ); } -export function getLayer(formData, payload, onAddFilter, setTooltip, filters) { +export function getLayer(formData, payload, onAddFilter, setTooltip, selected, onSelect, filters) { const fd = formData; const c = fd.color_picker; let data = payload.data.features.map(d => ({ diff --git a/superset/data/deck.py b/superset/data/deck.py index 53445d5..974be90 100644 --- a/superset/data/deck.py +++ b/superset/data/deck.py @@ -361,6 +361,8 @@ def load_deck_dash(): "stroked": False, "extruded": True, "point_radius_scale": 100, + "point_radius_fixed": {"type": "metric", "value": "count"}, + "multiplier": 1, "js_columns": ["population", "area"], "js_data_mutator": "data => data.map(d => ({\n" " ...d,\n"