@visactor/vrender-components
Version:
components library for dp visualization
65 lines (64 loc) • 2.05 kB
TypeScript
import type { IGroup } from '@visactor/vrender-core';
import { LegendBase } from '../base';
import type { DiscreteLegendAttrs, LegendItemDatum } from './type';
import type { ComponentOptions } from '../../interface';
export declare class DiscreteLegend extends LegendBase<DiscreteLegendAttrs> {
name: string;
private _itemsContainer;
private _itemWidthByUser;
private _itemHeightByUser;
private _itemHeight;
private _itemMaxWidth;
private _contentMaxHeight;
private _pagerComponent;
private _lastActiveItem;
private _itemContext;
private _scrollMask;
private _scrollMaskContext;
static defaultAttributes: Partial<DiscreteLegendAttrs>;
constructor(attributes: DiscreteLegendAttrs, options?: ComponentOptions);
render(): void;
setSelected(selectedData: (string | number)[]): void;
protected _renderItems(): {
doWrap: boolean;
maxWidthInCol: number;
startX: number;
startY: number;
maxPages: number;
pages: number;
startIndex: number;
items: LegendItemDatum[];
isHorizontal: boolean;
currentPage: number;
totalPage: number;
isScrollbar: boolean;
clipContainer: IGroup;
};
protected _renderContent(): void;
protected _bindEvents(): void;
private _autoEllipsis;
private _renderEachItem;
private _createPager;
private _createScrollbar;
private _updatePositionOfPager;
private _computeScrollbarDelta;
private _updatePositionOfScrollbar;
private _bindEventsOfPager;
private _renderPager;
private _renderScrollbar;
private renderScrollMask;
private updateScrollMask;
private _renderPagerComponent;
private _onHover;
private _onUnHover;
private _onClick;
private _hover;
private _unHover;
private _setLegendItemState;
private _removeLegendItemState;
private _getSelectedLegends;
private _appendDataToShape;
private _dispatchLegendEvent;
private _handleStyle;
release(): void;
}