UNPKG

1.48 kBTypeScriptView Raw
1import { Controller } from './base';
2import { ScrollbarOption, ComponentOption } from '../../interface';
3import View from '../view';
4export default class Scrollbar extends Controller<ScrollbarOption> {
5 private scrollbar;
6 private container;
7 private trackLen;
8 private thumbLen;
9 private cnt;
10 private step;
11 private ratio;
12 private data;
13 private xScaleCfg;
14 private yScalesCfg;
15 private onChangeFn;
16 constructor(view: View);
17 get name(): string;
18 destroy(): void;
19 init(): void;
20 /**
21 * 渲染
22 */
23 render(): void;
24 /**
25 * 布局
26 */
27 layout(): void;
28 /**
29 * 更新
30 */
31 update(): void;
32 getComponents(): ComponentOption[];
33 clear(): void;
34 /** 设置滚动条位置 */
35 setValue(ratio: number): void;
36 /** 获得滚动条位置 */
37 getValue(): number;
38 /**
39 * 获取 scrollbar 的主题配置
40 */
41 private getThemeOptions;
42 /**
43 * 获取 scrollbar 组件的主题样式
44 */
45 private getScrollbarTheme;
46 private resetMeasure;
47 private onValueChange;
48 private measureScrollbar;
49 private getScrollRange;
50 private changeViewData;
51 private createScrollbar;
52 private updateScrollbar;
53 private getStep;
54 private getCnt;
55 private getScrollbarComponentCfg;
56 /**
57 * 填充一些默认的配置项目
58 */
59 private getValidScrollbarCfg;
60 /**
61 * 获取数据
62 */
63 private getScrollbarData;
64}