(axis, vertical, axisSelectionType, column)
| 148986 | } |
| 148987 | |
| 148988 | function axisSelectionPolygons(axis, vertical, axisSelectionType, column) { |
| 148989 | const polygons = []; |
| 148990 | const size = 50; |
| 148991 | const getSearch = axisSelectionType === 'exact' ? (a, c, i) => ({ |
| 148992 | expressions: [(0, _expression.selectExactAxis)(a, c, i)] |
| 148993 | }) : _expression.selectBetweenAxis; |
| 148994 | const { |
| 148995 | domain, |
| 148996 | ticks |
| 148997 | } = axis; |
| 148998 | |
| 148999 | if (ticks.length > 0 && domain) { |
| 149000 | const dim = vertical ? 1 : 0; |
| 149001 | const between = Math.abs(ticks[0].sourcePosition[dim] - domain.sourcePosition[dim]) > 1; |
| 149002 | let divisions; |
| 149003 | |
| 149004 | if (between) { |
| 149005 | divisions = []; |
| 149006 | |
| 149007 | for (let i = 1; i < ticks.length; i++) { |
| 149008 | divisions.push((ticks[i].sourcePosition[dim] + ticks[i - 1].sourcePosition[dim]) / 2); |
| 149009 | } |
| 149010 | } else { |
| 149011 | divisions = ticks.slice(1, -1).map(tick => tick.sourcePosition[dim]); |
| 149012 | } |
| 149013 | |
| 149014 | const add = (p2, i) => { |
| 149015 | var coords = [[p1, q1], [p2, q1], [p2, q2], [p1, q2]]; |
| 149016 | polygons.push({ |
| 149017 | search: getSearch(axis, column, i), |
| 149018 | polygon: vertical ? coords.map(xy => xy.reverse()) : coords |
| 149019 | }); |
| 149020 | p1 = p2; |
| 149021 | }; |
| 149022 | |
| 149023 | let p1 = domain.sourcePosition[dim]; |
| 149024 | const q1 = domain.sourcePosition[vertical ? 0 : 1]; |
| 149025 | const q2 = q1 - size; |
| 149026 | divisions.forEach(add); |
| 149027 | add(domain.targetPosition[dim], ticks.length - (between ? 1 : 2)); |
| 149028 | } |
| 149029 | |
| 149030 | return polygons; |
| 149031 | } |
| 149032 | |
| 149033 | function facetSelectionPolygons(facetRects, facetColumn) { |
| 149034 | const polygons = []; |
no test coverage detected