From 3bdb0a52bb1e2493fbf80fb36cda818503937348 Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 26 Jul 2019 23:11:26 -0400 Subject: [PATCH 1/3] fix phx 240 - do not display all selected if constraint is below range --- src/traces/parcoords/axisbrush.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/traces/parcoords/axisbrush.js b/src/traces/parcoords/axisbrush.js index e67c4c108e2..ac30922990d 100644 --- a/src/traces/parcoords/axisbrush.js +++ b/src/traces/parcoords/axisbrush.js @@ -102,7 +102,7 @@ function setHighlight(d) { function unitToPx(unitRanges, height) { return unitRanges.map(function(pr) { - return pr.map(function(v) { return v * height; }).sort(sortAsc); + return pr.map(function(v) { return Math.max(0, v * height); }).sort(sortAsc); }); } From 328ab9a8b012e6592c2b48c7118827fbed81c654 Mon Sep 17 00:00:00 2001 From: archmoj Date: Sat, 27 Jul 2019 12:08:11 -0400 Subject: [PATCH 2/3] correct parcoords constraint range interactions --- src/traces/parcoords/axisbrush.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/traces/parcoords/axisbrush.js b/src/traces/parcoords/axisbrush.js index ac30922990d..1e7cc8fcc65 100644 --- a/src/traces/parcoords/axisbrush.js +++ b/src/traces/parcoords/axisbrush.js @@ -78,6 +78,7 @@ function setHighlight(d) { if(!d.brush.filterSpecified) { return '0,' + d.height; } + var pixelRanges = unitToPx(d.brush.filter.getConsolidated(), d.height); var dashArray = [0]; // we start with a 0 length selection as filter ranges are inclusive, not exclusive var p, sectionHeight, iNext; @@ -270,13 +271,6 @@ function attachDragBehavior(selection) { var topViolation = Math.max(0, s.newExtent[1] - 1); s.newExtent[0] += bottomViolation; s.newExtent[1] -= topViolation; - if(s.grabbingBar) { - // in case of bar dragging (non-resizing interaction, unlike north/south resize or new bar creation) - // the constraint adjustment must apply to the other end of the bar as well, otherwise it'd - // shorten or lengthen - s.newExtent[1] += bottomViolation; - s.newExtent[0] -= topViolation; - } d.brush.filterSpecified = true; s.extent = s.stayingIntervals.concat([s.newExtent]); From 65ea8e6fc4331c69b6d8bf1865dd3adf804482d5 Mon Sep 17 00:00:00 2001 From: archmoj Date: Sat, 27 Jul 2019 12:37:36 -0400 Subject: [PATCH 3/3] add test to lock phx 240 parcoords should not draw full pink when constraint starts below range --- ..._parcoords_out-of-range_selected-below.png | Bin 0 -> 25344 bytes ...parcoords_out-of-range_selected-below.json | 154 ++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 test/image/baselines/gl2d_parcoords_out-of-range_selected-below.png create mode 100644 test/image/mocks/gl2d_parcoords_out-of-range_selected-below.json diff --git a/test/image/baselines/gl2d_parcoords_out-of-range_selected-below.png b/test/image/baselines/gl2d_parcoords_out-of-range_selected-below.png new file mode 100644 index 0000000000000000000000000000000000000000..fb8c2e6902add035743434f2eb397e389ef39095 GIT binary patch literal 25344 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/gl2d_parcoords_out-of-range_selected-below.json b/test/image/mocks/gl2d_parcoords_out-of-range_selected-below.json new file mode 100644 index 00000000000..27f09936bfe --- /dev/null +++ b/test/image/mocks/gl2d_parcoords_out-of-range_selected-below.json @@ -0,0 +1,154 @@ +{ + "data": [ + { + "type": "parcoords", + "dimensions": [ + { + "label": "A+1", + "range": [ + 1, + 2 + ], + "constraintrange": [ + 1.25, + 1.75 + ], + "values": [ + 1, + 1.25, + 1.5, + 1.75, + 2 + ] + }, + { + "label": "2A", + "range": [ + 0, + 2 + ], + "constraintrange": [ + 0.5, + 1.5 + ], + "values": [ + 0, + 0.5, + 1, + 1.5, + 2 + ] + }, + { + "label": "A", + "range": [ + 0, + 1 + ], + "constraintrange": [ + 0.25, + 0.75 + ], + "values": [ + 0, + 0.25, + 0.5, + 0.75, + 1 + ] + }, + { + "label": "Above", + "range": [ + 0, + 1 + ], + "constraintrange": [ + 0.25, + 1.25 + ], + "values": [ + 0, + 0.25, + 0.5, + 0.75, + 1 + ] + }, + { + "label": "Below", + "range": [ + 0, + 1 + ], + "constraintrange": [ + -0.25, + 0.75 + ], + "values": [ + 0, + 0.25, + 0.5, + 0.75, + 1 + ] + }, + { + "label": "2/above", + "range": [ + 0, + 1 + ], + "constraintrange": [ + [ + 0.25, + 0.5 + ], + [ + 0.75, + 1.25 + ] + ], + "values": [ + 0, + 0.25, + 0.5, + 0.75, + 1 + ] + }, + { + "label": "2/below", + "range": [ + 0, + 1 + ], + "constraintrange": [ + [ + -0.25, + 0.25 + ], + [ + 0.5, + 0.75 + ] + ], + "values": [ + 0, + 0.25, + 0.5, + 0.75, + 1 + ] + } + ] + } + ], + "layout": { + "width": 600, + "height": 400, + "title": { + "text": "Should display & select constraintrange below/above ranges" + } + } +}