(
axisModel: AxisBaseModel,
group: Group,
transformGroup: Group,
pathBaseProp: PathProps,
)
| 318 | } |
| 319 | |
| 320 | function buildAxisBreakLine( |
| 321 | axisModel: AxisBaseModel, |
| 322 | group: Group, |
| 323 | transformGroup: Group, |
| 324 | pathBaseProp: PathProps, |
| 325 | ): void { |
| 326 | const axis = axisModel.axis; |
| 327 | const transform = transformGroup.transform; |
| 328 | assert(pathBaseProp.style); |
| 329 | let extent: number[] = axis.getExtent(); |
| 330 | |
| 331 | if (axis.inverse) { |
| 332 | extent = extent.slice(); |
| 333 | extent.reverse(); |
| 334 | } |
| 335 | |
| 336 | const breakPairs = getScaleBreakHelper()!.retrieveAxisBreakPairs( |
| 337 | axis.scale.getTicks({breakTicks: 'only_break'}), |
| 338 | tick => tick.break, |
| 339 | false |
| 340 | ); |
| 341 | const brkLayoutList = map(breakPairs, breakPair => { |
| 342 | const parsedBreak = breakPair[0].break.parsedBreak; |
| 343 | const coordPair = [ |
| 344 | axis.dataToCoord(parsedBreak.vmin, true), |
| 345 | axis.dataToCoord(parsedBreak.vmax, true), |
| 346 | ]; |
| 347 | (coordPair[0] > coordPair[1]) && coordPair.reverse(); |
| 348 | return { |
| 349 | coordPair, |
| 350 | brkId: getScaleBreakHelper()!.serializeAxisBreakIdentifier(parsedBreak.breakOption), |
| 351 | }; |
| 352 | }); |
| 353 | brkLayoutList.sort((layout1, layout2) => layout1.coordPair[0] - layout2.coordPair[0]); |
| 354 | |
| 355 | let ySegMin = extent[0]; |
| 356 | let lastLayout = null; |
| 357 | for (let idx = 0; idx < brkLayoutList.length; idx++) { |
| 358 | const layout = brkLayoutList[idx]; |
| 359 | const brkTirmmedMin = Math.max(layout.coordPair[0], extent[0]); |
| 360 | const brkTirmmedMax = Math.min(layout.coordPair[1], extent[1]); |
| 361 | if (ySegMin <= brkTirmmedMin) { |
| 362 | addSeg(ySegMin, brkTirmmedMin, lastLayout, layout); |
| 363 | } |
| 364 | ySegMin = brkTirmmedMax; |
| 365 | lastLayout = layout; |
| 366 | } |
| 367 | if (ySegMin <= extent[1]) { |
| 368 | addSeg(ySegMin, extent[1], lastLayout, null); |
| 369 | } |
| 370 | |
| 371 | function addSeg( |
| 372 | min: number, |
| 373 | max: number, |
| 374 | layout1: {brkId: string} | NullUndefined, |
| 375 | layout2: {brkId: string} | NullUndefined |
| 376 | ): void { |
| 377 |
nothing calls this directly
no test coverage detected
searching dependent graphs…