From cab595d463a6d0c6513260f8aa48ac5318fd9c46 Mon Sep 17 00:00:00 2001 From: dmt0 Date: Fri, 6 Jul 2018 15:12:00 -0400 Subject: [PATCH 1/2] add transforms for histogram and box --- src/components/containers/TransformAccordion.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/containers/TransformAccordion.js b/src/components/containers/TransformAccordion.js index 2057ee915..2a08f233b 100644 --- a/src/components/containers/TransformAccordion.js +++ b/src/components/containers/TransformAccordion.js @@ -26,7 +26,15 @@ class TransformAccordion extends Component { {label: _('Aggregate'), type: 'aggregate'}, ]; - const transformableCharts = ['scatter', 'bar', 'scattergl']; + const transformableCharts = [ + 'scatter', + 'bar', + 'scattergl', + 'histogram', + 'histogram2d', + 'box', + 'violin', + ]; if (!transformableCharts.includes(fullContainer.type)) { return ( From f94c9ff3c50ccd133ba7397c1764b81bfc81b10e Mon Sep 17 00:00:00 2001 From: dmt0 Date: Fri, 6 Jul 2018 15:25:38 -0400 Subject: [PATCH 2/2] workaround for trace disappearing when all transforms are deleted --- src/EditorControls.js | 12 ++++++++---- src/components/containers/TransformAccordion.js | 2 +- src/default_panels/GraphTransformsPanel.js | 5 ++++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/EditorControls.js b/src/EditorControls.js index 6a482e3e9..04b20aae0 100644 --- a/src/EditorControls.js +++ b/src/EditorControls.js @@ -232,10 +232,14 @@ class EditorControls extends Component { isNumeric(payload.transformIndex) && payload.traceIndex < graphDiv.data.length ) { - graphDiv.data[payload.traceIndex].transforms.splice( - payload.transformIndex, - 1 - ); + if (graphDiv.data[payload.traceIndex].transforms.length === 1) { + delete graphDiv.data[payload.traceIndex].transforms; + } else { + graphDiv.data[payload.traceIndex].transforms.splice( + payload.transformIndex, + 1 + ); + } if (this.props.onUpdate) { this.props.onUpdate( graphDiv.data.slice(), diff --git a/src/components/containers/TransformAccordion.js b/src/components/containers/TransformAccordion.js index 2a08f233b..a692020d2 100644 --- a/src/components/containers/TransformAccordion.js +++ b/src/components/containers/TransformAccordion.js @@ -76,7 +76,7 @@ class TransformAccordion extends Component { transformIndex={i} name={`${ transformTypes.filter(({type}) => type === tr.type)[0].label - }${transformBy[i]}`} + }${transformBy && transformBy[i]}`} canDelete={true} > {children} diff --git a/src/default_panels/GraphTransformsPanel.js b/src/default_panels/GraphTransformsPanel.js index 16072c92c..20c8fd370 100644 --- a/src/default_panels/GraphTransformsPanel.js +++ b/src/default_panels/GraphTransformsPanel.js @@ -25,7 +25,10 @@ export class Aggregations extends Component { } return aggregations - .filter(aggr => aggr.target.match(/transforms\[\d*\]\./gi) === null) + .filter( + aggr => + aggr.target && aggr.target.match(/transforms\[\d*\]\./gi) === null + ) .map(({target}, i) => (