import * as graphic from '../../util/graphic.js';
|
import TreemapSeriesModel, { TreemapSeriesOption } from './TreemapSeries.js';
|
import ExtensionAPI from '../../core/ExtensionAPI.js';
|
import { TreeNode } from '../../data/Tree.js';
|
import { ZRElementEvent, BoxLayoutOptionMixin } from '../../util/types.js';
|
import Model from '../../model/Model.js';
|
interface OnSelectCallback {
|
(node: TreeNode, e: ZRElementEvent): void;
|
}
|
interface LayoutParam {
|
pos: BoxLayoutOptionMixin;
|
box: {
|
width: number;
|
height: number;
|
};
|
emptyItemWidth: number;
|
totalWidth: number;
|
renderList: {
|
node: TreeNode;
|
text: string;
|
width: number;
|
}[];
|
}
|
declare type BreadcrumbItemStyleModel = Model<TreemapSeriesOption['breadcrumb']['itemStyle']>;
|
declare type BreadcrumbEmphasisItemStyleModel = Model<TreemapSeriesOption['breadcrumb']['emphasis']>;
|
declare type BreadcrumbTextStyleModel = Model<TreemapSeriesOption['breadcrumb']['itemStyle']['textStyle']>;
|
declare class Breadcrumb {
|
group: graphic.Group;
|
constructor(containerGroup: graphic.Group);
|
render(seriesModel: TreemapSeriesModel, api: ExtensionAPI, targetNode: TreeNode, onSelect: OnSelectCallback): void;
|
/**
|
* Prepare render list and total width
|
* @private
|
*/
|
_prepare(targetNode: TreeNode, layoutParam: LayoutParam, textStyleModel: BreadcrumbTextStyleModel): void;
|
/**
|
* @private
|
*/
|
_renderContent(seriesModel: TreemapSeriesModel, layoutParam: LayoutParam, normalStyleModel: BreadcrumbItemStyleModel, emphasisModel: BreadcrumbEmphasisItemStyleModel, textStyleModel: BreadcrumbTextStyleModel, emphasisTextStyleModel: BreadcrumbTextStyleModel, onSelect: OnSelectCallback): void;
|
remove(): void;
|
}
|
export default Breadcrumb;
|