(axis, vertical, axisSelectionType, column)
| 10156 | return polygonLayer; |
| 10157 | } |
| 10158 | function axisSelectionPolygons(axis, vertical, axisSelectionType, column) { |
| 10159 | const polygons = []; |
| 10160 | const size = 50; |
| 10161 | const getSearch = axisSelectionType === "exact" ? (a, c, i)=>({ |
| 10162 | expressions: [ |
| 10163 | (0, _expression.selectExactAxis)(a, c, i) |
| 10164 | ] |
| 10165 | }) : (0, _expression.selectBetweenAxis); |
| 10166 | const { domain , ticks } = axis; |
| 10167 | if (ticks.length > 0 && domain) { |
| 10168 | const dim = vertical ? 1 : 0; |
| 10169 | const between = Math.abs(ticks[0].sourcePosition[dim] - domain.sourcePosition[dim]) > 1; |
| 10170 | let divisions; |
| 10171 | if (between) { |
| 10172 | divisions = []; |
| 10173 | for(let i = 1; i < ticks.length; i++)divisions.push((ticks[i].sourcePosition[dim] + ticks[i - 1].sourcePosition[dim]) / 2); |
| 10174 | } else divisions = ticks.slice(1, -1).map((tick)=>tick.sourcePosition[dim]); |
| 10175 | const add = (p2, i)=>{ |
| 10176 | const coords = [ |
| 10177 | [ |
| 10178 | p1, |
| 10179 | q1 |
| 10180 | ], |
| 10181 | [ |
| 10182 | p2, |
| 10183 | q1 |
| 10184 | ], |
| 10185 | [ |
| 10186 | p2, |
| 10187 | q2 |
| 10188 | ], |
| 10189 | [ |
| 10190 | p1, |
| 10191 | q2 |
| 10192 | ] |
| 10193 | ]; |
| 10194 | polygons.push({ |
| 10195 | search: getSearch(axis, column, i), |
| 10196 | polygon: vertical ? coords.map((xy)=>xy.reverse()) : coords |
| 10197 | }); |
| 10198 | p1 = p2; |
| 10199 | }; |
| 10200 | let p1 = domain.sourcePosition[dim]; |
| 10201 | const q1 = domain.sourcePosition[vertical ? 0 : 1]; |
| 10202 | const q2 = q1 - size; |
| 10203 | divisions.forEach(add); |
| 10204 | add(domain.targetPosition[dim], ticks.length - (between ? 1 : 2)); |
| 10205 | } |
| 10206 | return polygons; |
| 10207 | } |
| 10208 | function facetSelectionPolygons(facetRects) { |
| 10209 | const polygons = []; |
| 10210 | const linesAndSearches = facetRects.map(({ datum , lines }, i)=>{ |
no test coverage detected