@starzhuimeng/formula-editor
Version:
A configurable formula editor with customizable symbols
70 lines (69 loc) • 1.48 kB
TypeScript
import { SymbolsConfig, SymbolItem } from '../types';
export interface SymbolPanelOptions {
symbols: SymbolsConfig;
onSymbolClick: (symbol: string | SymbolItem) => void;
container: HTMLElement;
styles?: {
backgroundColor?: string;
symbolColor?: string;
borderColor?: string;
tabColor?: string;
activeTabColor?: string;
activeTabBorderColor?: string;
};
}
/**
* 符号面板类
*/
export declare class SymbolPanel {
private container;
private panel;
private options;
private tabButtons;
private contentPanels;
private activeTabIndex;
constructor(options: SymbolPanelOptions);
/**
* 初始化面板样式
*/
private initStyles;
/**
* 渲染符号面板
*/
private renderPanel;
/**
* 解析符号组
* 支持两种格式:
* 1. 老格式: { category: symbols[] }
* 2. 新格式: { category: SymbolGroup }
*/
private parseGroups;
/**
* 创建标签按钮
*/
private createTabButton;
/**
* 创建内容面板
*/
private createContentPanel;
/**
* 激活指定的标签
*/
private activateTab;
/**
* 格式化分类名称
*/
private formatCategoryName;
/**
* 显示符号面板
*/
show(): void;
/**
* 隐藏符号面板
*/
hide(): void;
/**
* 切换显示/隐藏状态
*/
toggle(): void;
}