UNPKG

7.09 kBSource Map (JSON)View Raw
1{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/util/grid.ts"],"names":[],"mappings":"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","sourcesContent":["import { deepMix, get, map } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale, Tick } from '../dependents';\n\n/**\n * @ignore\n * get the grid theme by type, will mix the common cfg of axis\n * @param theme\n * @param direction\n * @returns theme object\n */\nexport function getGridThemeCfg(theme: object, direction: DIRECTION | 'common'): object {\n const axisTheme = deepMix(\n {},\n get(theme, ['components', 'axis', 'common']),\n get(theme, ['components', 'axis', direction])\n );\n return get(axisTheme, ['grid'], {});\n}\n\n/**\n * @ignore\n * get axis grid items\n * @param coordinate\n * @param scale\n * @param dim\n * @return items\n */\nexport function getLineGridItems(coordinate: Coordinate, scale: Scale, dim: string, alignTick?: boolean) {\n const items = [];\n const ticks = scale.getTicks();\n if (coordinate.isPolar) {\n // 补全 ticks\n ticks.push({\n value: 1,\n text: '',\n tickValue: '',\n });\n }\n ticks.reduce((preTick: Tick, currentTick: Tick, currentIndex) => {\n const currentValue = currentTick.value;\n if (alignTick) {\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: currentValue } : { x: currentValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: currentValue } : { x: currentValue, y: 1 }),\n ],\n });\n } else {\n if (currentIndex) {\n const preValue = preTick.value;\n const middleValue = (preValue + currentValue) / 2;\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: middleValue } : { x: middleValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: middleValue } : { x: middleValue, y: 1 }),\n ],\n });\n }\n }\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * get\n * @param coordinate\n * @param xScale\n * @param yScale\n * @param dim\n * @returns items\n */\nexport function getCircleGridItems(\n coordinate: Coordinate,\n xScale: Scale,\n yScale: Scale,\n alignTick: boolean,\n dim: string\n) {\n const count = xScale.values.length;\n const items = [];\n const ticks = yScale.getTicks();\n\n ticks.reduce((preTick: Tick, currentTick: Tick) => {\n const preValue = preTick ? preTick.value : currentTick.value; // 只有一项数据时取当前值\n const currentValue = currentTick.value;\n const middleValue = (preValue + currentValue) / 2;\n if (dim === 'x') {\n // 如果是 x 轴作为半径轴,那么只需要取圆弧收尾两个即可\n items.push({\n points: [\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 0,\n }),\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 1,\n }),\n ],\n });\n } else {\n items.push({\n points: map(Array(count + 1), (__: any, idx: number) => {\n return coordinate.convert({\n x: idx / count,\n y: alignTick ? currentValue : middleValue,\n });\n }),\n });\n }\n\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * show grid or not\n * @param axisTheme\n * @param axisOption\n */\nexport function showGrid(axisTheme: any, axisOption: any): boolean {\n const userGrid = get(axisOption, 'grid');\n if (userGrid === null) {\n return false;\n }\n\n const themeGrid = get(axisTheme, 'grid');\n\n return !(userGrid === undefined && themeGrid === null);\n}\n"]}
\No newline at end of file