UNPKG

23.8 kBSource Map (JSON)View Raw
1{"version":3,"file":"scrollbar.js","sourceRoot":"","sources":["../../../src/chart/controller/scrollbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { Controller } from './base';\nimport { IGroup, Scrollbar as ScrollbarComponent, Scale } from '../../dependents';\nimport { ScrollbarOption, ComponentOption, ScrollbarCfg, Data, ScaleOption, Padding } from '../../interface';\nimport View from '../view';\nimport { BBox } from '../../util/bbox';\nimport { directionToPosition } from '../../util/direction';\nimport { COMPONENT_TYPE, DIRECTION, LAYER, VIEW_LIFE_CIRCLE } from '../../constant';\nimport { isObject, clamp, size, throttle, noop, get, valuesOfKey, deepMix } from '@antv/util';\nimport { isBetween } from '../../util/helper';\n\nconst DEFAULT_PADDING: number = 0;\nconst DEFAULT_SIZE: number = 8;\nconst DEFAULT_CATEGORY_SIZE: number = 32;\nconst MIN_THUMB_LENGTH: number = 20;\n\nexport default class Scrollbar extends Controller<ScrollbarOption> {\n private scrollbar: ComponentOption;\n private container: IGroup;\n\n private trackLen: number;\n private thumbLen: number;\n private cnt: number;\n private step: number;\n private ratio: number;\n private data: Data;\n private xScaleCfg: {\n field: string;\n values: string[];\n };\n private yScalesCfg: Scale[];\n\n private onChangeFn: (evt: {}) => void = noop;\n\n constructor(view: View) {\n super(view);\n this.container = this.view.getLayer(LAYER.FORE).addGroup();\n this.onChangeFn = throttle(this.onValueChange, 20, {\n leading: true,\n }) as (evt: {}) => void;\n this.trackLen = 0;\n this.thumbLen = 0;\n this.ratio = 0;\n\n this.view.on(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, this.resetMeasure);\n this.view.on(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_SIZE, this.resetMeasure);\n }\n\n get name(): string {\n return 'scrollbar';\n }\n\n public destroy() {\n super.destroy();\n this.view.off(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, this.resetMeasure);\n this.view.off(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_SIZE, this.resetMeasure);\n }\n\n public init() { }\n\n /**\n * 渲染\n */\n public render() {\n this.option = this.view.getOptions().scrollbar;\n\n if (this.option) {\n if (this.scrollbar) {\n // exist, update\n this.scrollbar = this.updateScrollbar();\n } else {\n // not exist, create\n this.scrollbar = this.createScrollbar();\n this.scrollbar.component.on('scrollchange', this.onChangeFn);\n }\n } else {\n if (this.scrollbar) {\n // exist, destroy\n this.scrollbar.component.destroy();\n this.scrollbar = undefined;\n }\n }\n }\n\n /**\n * 布局\n */\n public layout() {\n if (this.option && !this.trackLen) {\n this.measureScrollbar();\n setTimeout(() => {\n if (!this.view.destroyed) {\n this.changeViewData(this.getScrollRange(), true);\n }\n });\n }\n if (this.scrollbar) {\n const width = this.view.coordinateBBox.width;\n const padding: Padding = this.scrollbar.component.get('padding') as Padding;\n const bboxObject = this.scrollbar.component.getLayoutBBox();\n const bbox = new BBox(bboxObject.x, bboxObject.y, Math.min(bboxObject.width, width), bboxObject.height).expand(\n padding\n );\n const cfg = this.getScrollbarComponentCfg();\n\n let x: number;\n let y: number;\n\n if (cfg.isHorizontal) {\n const [x1, y1] = directionToPosition(this.view.viewBBox, bbox, DIRECTION.BOTTOM);\n const [x2, y2] = directionToPosition(this.view.coordinateBBox, bbox, DIRECTION.BOTTOM);\n x = x2;\n y = y1;\n } else {\n const [x1, y1] = directionToPosition(this.view.viewBBox, bbox, DIRECTION.RIGHT);\n const [x2, y2] = directionToPosition(this.view.viewBBox, bbox, DIRECTION.RIGHT);\n x = x2;\n y = y1;\n }\n\n x += padding[3];\n y += padding[0];\n\n // 默认放在 bottom\n if (this.trackLen) {\n this.scrollbar.component.update({\n ...cfg,\n x,\n y,\n trackLen: this.trackLen,\n thumbLen: this.thumbLen,\n thumbOffset: (this.trackLen - this.thumbLen) * this.ratio,\n });\n } else {\n this.scrollbar.component.update({\n ...cfg,\n x,\n y,\n });\n }\n\n this.view.viewBBox = this.view.viewBBox.cut(bbox, cfg.isHorizontal ? DIRECTION.BOTTOM : DIRECTION.RIGHT);\n }\n }\n\n /**\n * 更新\n */\n public update() {\n // 逻辑和 render 保持一致\n this.render();\n }\n\n public getComponents() {\n return this.scrollbar ? [this.scrollbar] : [];\n }\n\n public clear() {\n if (this.scrollbar) {\n this.scrollbar.component.destroy();\n this.scrollbar = undefined;\n }\n this.trackLen = 0;\n this.thumbLen = 0;\n this.ratio = 0;\n this.cnt = 0;\n this.step = 0;\n this.data = undefined;\n this.xScaleCfg = undefined;\n this.yScalesCfg = [];\n }\n\n /** 设置滚动条位置 */\n public setValue(ratio: number) {\n this.onValueChange({ ratio });\n }\n\n /** 获得滚动条位置 */\n public getValue() {\n return this.ratio;\n }\n\n /**\n * 获取 scrollbar 的主题配置\n */\n private getThemeOptions() {\n const theme = this.view.getTheme();\n return get(theme, ['components', 'scrollbar', 'common'], {});\n }\n\n /**\n * 获取 scrollbar 组件的主题样式\n */\n private getScrollbarTheme(style?: ScrollbarCfg['style']) {\n const theme = get(this.view.getTheme(), ['components', 'scrollbar']);\n const { thumbHighlightColor, ...restStyles } = style || {};\n return {\n default: deepMix({}, get(theme, ['default', 'style'], {}), restStyles),\n hover: deepMix({}, get(theme, ['hover', 'style'], {}), { thumbColor: thumbHighlightColor }),\n };\n }\n\n private resetMeasure = () => {\n this.clear();\n };\n\n private onValueChange = ({ ratio }: { ratio: number }) => {\n const { animate } = this.getValidScrollbarCfg();\n this.ratio = clamp(ratio, 0, 1);\n const originalAnimate = this.view.getOptions().animate;\n if (!animate) {\n this.view.animate(false);\n }\n this.changeViewData(this.getScrollRange(), true);\n this.view.animate(originalAnimate);\n };\n\n private measureScrollbar(): void {\n const xScale = this.view.getXScale();\n const yScales = this.view.getYScales().slice();\n this.data = this.getScrollbarData();\n this.step = this.getStep();\n this.cnt = this.getCnt();\n const { trackLen, thumbLen } = this.getScrollbarComponentCfg();\n this.trackLen = trackLen;\n this.thumbLen = thumbLen;\n this.xScaleCfg = {\n field: xScale.field,\n values: xScale.values || [],\n };\n this.yScalesCfg = yScales;\n }\n\n private getScrollRange(): [number, number] {\n const startIdx: number = Math.floor((this.cnt - this.step) * clamp(this.ratio, 0, 1));\n const endIdx: number = Math.min(startIdx + this.step - 1, this.cnt - 1);\n return [startIdx, endIdx];\n }\n\n private changeViewData([startIdx, endIdx]: [number, number], render?: boolean): void {\n const { type } = this.getValidScrollbarCfg();\n const isHorizontal = type !== 'vertical';\n const values = valuesOfKey(this.data, this.xScaleCfg.field);\n\n // 如果是 xScale 数值类型,则进行排序\n const xScaleValues = this.view.getXScale().isLinear ? values.sort((a, b) => Number(a) - Number(b)) : values;\n\n const xValues = isHorizontal ? xScaleValues : xScaleValues.reverse();\n this.yScalesCfg.forEach((cfg) => {\n this.view.scale(cfg.field, {\n formatter: cfg.formatter,\n type: cfg.type as ScaleOption['type'],\n min: cfg.min,\n max: cfg.max,\n tickMethod: cfg.tickMethod\n });\n });\n this.view.filter(this.xScaleCfg.field, (val) => {\n const idx = xValues.indexOf(val);\n return idx > -1 ? isBetween(idx, startIdx, endIdx) : true;\n });\n this.view.render(true);\n }\n\n private createScrollbar(): ComponentOption {\n const { type } = this.getValidScrollbarCfg();\n const isHorizontal = type !== 'vertical';\n const component = new ScrollbarComponent({\n container: this.container,\n ...this.getScrollbarComponentCfg(),\n x: 0,\n y: 0,\n });\n\n component.init();\n\n return {\n component,\n layer: LAYER.FORE,\n direction: isHorizontal ? DIRECTION.BOTTOM : DIRECTION.RIGHT,\n type: COMPONENT_TYPE.SCROLLBAR,\n };\n }\n\n private updateScrollbar(): ComponentOption {\n const config = this.getScrollbarComponentCfg();\n const realConfig = this.trackLen\n ? {\n ...config,\n trackLen: this.trackLen,\n thumbLen: this.thumbLen,\n thumbOffset: (this.trackLen - this.thumbLen) * this.ratio,\n }\n : { ...config };\n this.scrollbar.component.update(realConfig);\n\n return this.scrollbar;\n }\n\n private getStep() {\n if (this.step) {\n return this.step;\n }\n const { coordinateBBox } = this.view;\n const { type, categorySize } = this.getValidScrollbarCfg();\n const isHorizontal = type !== 'vertical';\n\n return Math.floor((isHorizontal ? coordinateBBox.width : coordinateBBox.height) / categorySize);\n }\n\n private getCnt() {\n if (this.cnt) {\n return this.cnt;\n }\n const xScale = this.view.getXScale();\n const data = this.getScrollbarData();\n const values = valuesOfKey(data, xScale.field);\n return size(values);\n }\n\n private getScrollbarComponentCfg() {\n const { coordinateBBox, viewBBox } = this.view;\n const { type, padding, width, height, style } = this.getValidScrollbarCfg();\n const isHorizontal = type !== 'vertical';\n const [paddingTop, paddingRight, paddingBottom, paddingLeft] = padding;\n const position = isHorizontal\n ? {\n x: coordinateBBox.minX + paddingLeft,\n y: viewBBox.maxY - height - paddingBottom,\n }\n : {\n x: viewBBox.maxX - width - paddingRight,\n y: coordinateBBox.minY + paddingTop,\n };\n const step = this.getStep();\n const cnt = this.getCnt();\n const trackLen = isHorizontal\n ? coordinateBBox.width - paddingLeft - paddingRight\n : coordinateBBox.height - paddingTop - paddingBottom;\n const thumbLen = Math.max(trackLen * clamp(step / cnt, 0, 1), MIN_THUMB_LENGTH);\n\n return {\n ...this.getThemeOptions(),\n x: position.x,\n y: position.y,\n size: isHorizontal ? height : width,\n isHorizontal,\n trackLen,\n thumbLen,\n thumbOffset: 0,\n theme: this.getScrollbarTheme(style),\n };\n }\n\n /**\n * 填充一些默认的配置项目\n */\n private getValidScrollbarCfg(): Required<ScrollbarCfg> {\n let cfg: Required<ScrollbarCfg> = {\n type: 'horizontal',\n categorySize: DEFAULT_CATEGORY_SIZE,\n width: DEFAULT_SIZE,\n height: DEFAULT_SIZE,\n padding: [0, 0, 0, 0],\n animate: true,\n style: {},\n };\n if (isObject(this.option)) {\n cfg = { ...cfg, ...this.option };\n }\n if (!isObject(this.option) || !this.option.padding) {\n cfg.padding =\n cfg.type === 'horizontal' ? [DEFAULT_PADDING, 0, DEFAULT_PADDING, 0] : [0, DEFAULT_PADDING, 0, DEFAULT_PADDING];\n }\n\n return cfg;\n }\n\n /**\n * 获取数据\n */\n private getScrollbarData(): Data {\n const coordinate = this.view.getCoordinate();\n const cfg = this.getValidScrollbarCfg();\n let data = this.view.getOptions().data || [];\n // 纵向做了 y 轴镜像之后,数据也需要镜像反转\n if (coordinate.isReflect('y') && cfg.type === 'vertical') {\n data = [...data].reverse();\n }\n\n return data;\n }\n}\n"]}
\No newline at end of file