Skip to content

Commit c5e047f

Browse files
committed
Remove analysis transforms when they're parent is deleted
1 parent 118bd09 commit c5e047f

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/EditorControls.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
shamefullyAddTableColumns,
1010
shamefullyCreateSplitStyleProps,
1111
shamefullyAdjustSplitStyleTargetContainers,
12+
shamefullyDeleteRelatedAnalysisTransforms,
1213
} from './shame';
1314
import {EDITOR_ACTIONS} from './lib/constants';
1415
import isNumeric from 'fast-isnumeric';
@@ -167,6 +168,7 @@ class EditorControls extends Component {
167168
}
168169

169170
shamefullyAdjustAxisRef(graphDiv, payload);
171+
shamefullyDeleteRelatedAnalysisTransforms(graphDiv, payload);
170172

171173
graphDiv.data.splice(payload.traceIndexes[0], 1);
172174
if (this.props.afterDeleteTrace) {

src/shame.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,21 @@ export const shamefullyCreateSplitStyleProps = (graphDiv, attr, traceIndex, spli
176176

177177
return splitTraceGroup.map(g => getProp(g));
178178
};
179+
180+
export const shamefullyDeleteRelatedAnalysisTransforms = (graphDiv, payload) => {
181+
const parentTraceDataIndex = payload.traceIndexes[0];
182+
const parentUid = graphDiv.data[parentTraceDataIndex].uid;
183+
184+
const relatedFitTransformTraceIndexes = [];
185+
graphDiv.data.forEach((d, i) => {
186+
if (d.transforms && d.transforms.filter(t => t.inputUid === parentUid).length) {
187+
relatedFitTransformTraceIndexes.push(i);
188+
}
189+
});
190+
191+
if (relatedFitTransformTraceIndexes.length) {
192+
relatedFitTransformTraceIndexes.forEach(i => {
193+
graphDiv.data.splice(i, 1);
194+
});
195+
}
196+
};

0 commit comments

Comments
 (0)