import { BasicButton } from "../button.basic"; import { shortcut, extend, isNumber, createWidget, isNull } from "../../../../core"; /** * @class IconButton * @extends BasicButton * 图标的button */ @shortcut() export class IconButton extends BasicButton { static EVENT_CHANGE = "EVENT_CHANGE"; static xtype = "bi.icon_button"; _defaultConfig() { const conf = super._defaultConfig(arguments); return extend(conf, { _baseCls: `${conf._baseCls || ""} bi-icon-button horizon-center`, hgap: 0, vgap: 0, tgap: 0, bgap: 0, lgap: 0, rgap: 0, iconWidth: null, iconHeight: null, }); } render() { const o = this.options; this.element.css({ textAlign: "center", }); this.icon = createWidget({ type: "bi.icon", width: o.iconWidth, height: o.iconHeight, }); if (isNumber(o.height) && o.height > 0 && isNull(o.iconWidth) && isNull(o.iconHeight)) { this.element.css("lineHeight", BI.pixFormat(o.height)); createWidget({ type: "bi.default", element: this, hgap: o.hgap, vgap: o.vgap, lgap: o.lgap, rgap: o.rgap, tgap: o.tgap, bgap: o.bgap, items: [this.icon], }); } else { this.element.css("lineHeight", "1"); createWidget({ element: this, type: "bi.center_adapt", hgap: o.hgap, vgap: o.vgap, lgap: o.lgap, rgap: o.rgap, tgap: o.tgap, bgap: o.bgap, items: [this.icon], }); } } doClick() { super.doClick(...arguments); if (this.isValid()) { this.fireEvent(IconButton.EVENT_CHANGE, this); } } }