import { DOM } from '@ramap/ra-utils'; import type { IControlOption } from './control'; import Control from './control'; export { ButtonControl }; export interface IButtonControlOption extends IControlOption { btnIcon?: DOM.ELType | DocumentFragment; btnText?: string; title?: string; vertical?: boolean; } export default class ButtonControl extends Control { /** * 当前按钮是否禁用 * @protected */ protected isDisable: boolean; /** * 按钮的 DOM * @protected */ protected button?: HTMLElement; /** * 按钮中文本对应的 DOM * @protected */ protected buttonText?: HTMLElement; /** * 按钮中图标对应的 DOM * @protected */ protected buttonIcon?: DOM.ELType | DocumentFragment; /** * 设置当前按钮 * @param newIsDisable */ setIsDisable(newIsDisable: boolean): void; createButton(className?: string): HTMLElement; onAdd(): HTMLElement; onRemove(): void; /** * 更新配置方法 * @param newOptions */ setOptions(newOptions: Partial): void; /** * 设置按钮 title * @param title */ setBtnTitle(title: O['title']): void; /** * 设置按钮 Icon * @param newIcon */ setBtnIcon(newIcon: O['btnIcon']): void; /** * 设置按钮文本 * @param newText */ setBtnText(newText: O['btnText']): void; }