MCPcopy
hub / github.com/apache/echarts / buildAxisBreakLine

Function buildAxisBreakLine

src/component/axis/axisBreakHelperImpl.ts:320–418  ·  view source on GitHub ↗
(
    axisModel: AxisBaseModel,
    group: Group,
    transformGroup: Group,
    pathBaseProp: PathProps,
)

Source from the content-addressed store, hash-verified

318}
319
320function 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

Callers

nothing calls this directly

Calls 6

getScaleBreakHelperFunction · 0.90
addSegFunction · 0.85
dataToCoordMethod · 0.80
getExtentMethod · 0.65
assertFunction · 0.50
getTicksMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…