From 3e7e83b692fc881e5451eb26404f294e921e4b84 Mon Sep 17 00:00:00 2001 From: Treecat Date: Mon, 16 Jan 2023 16:41:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0Jira=20refact:combo=E7=9A=84xtype?= =?UTF-8?q?=E5=86=99=E7=9A=84=E6=9C=89=E7=82=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/single/button/button.basic.js | 197 +++++++++++---------- src/case/combo/bubblecombo/popup.bubble.js | 4 +- 2 files changed, 101 insertions(+), 100 deletions(-) diff --git a/src/base/single/button/button.basic.js b/src/base/single/button/button.basic.js index fe952f2ac..1962bccc8 100644 --- a/src/base/single/button/button.basic.js +++ b/src/base/single/button/button.basic.js @@ -12,6 +12,7 @@ import { } from "@/core"; import { BubbleCombo } from "@/case/combo/bubblecombo/combo.bubble"; import { Single } from "../0.single"; +import { BubblePopupView } from "@/case/combo/bubblecombo/popup.bubble"; /** * guy @@ -56,8 +57,8 @@ export class BasicButton extends Single { const opts = this.options; opts.selected = isFunction(opts.selected) ? this.__watch(opts.selected, (context, newValue) => { - this.setSelected(newValue); - }) + this.setSelected(newValue); + }) : opts.selected; super._init(arguments); @@ -105,7 +106,7 @@ export class BasicButton extends Single { right: 0, top: 0, bottom: 0, - }, + } ], }); } @@ -117,7 +118,7 @@ export class BasicButton extends Single { this.$mask.invisible(); } }); - this.element.on(`mouseenter.${this.getName()}`, (e) => { + this.element.on(`mouseenter.${this.getName()}`, e => { if (this.element.__isMouseInBounds__(e)) { if (this.isEnabled() && !this._hover && (o.isShadowShowingOnSelected || !this.isSelected())) { assertMask(); @@ -125,7 +126,7 @@ export class BasicButton extends Single { } } }); - this.element.on(`mousemove.${this.getName()}`, (e) => { + this.element.on(`mousemove.${this.getName()}`, e => { if (!this.element.__isMouseInBounds__(e)) { if (this.isEnabled() && !this._hover) { assertMask(); @@ -158,7 +159,7 @@ export class BasicButton extends Single { return bubble; }; - const clk = (e) => { + const clk = e => { ev(e); if (!this.isEnabled() || !this.isValid()) { return; @@ -179,7 +180,7 @@ export class BasicButton extends Single { trigger: "", // bubble的提示不需要一直存在在界面上 destroyWhenHide: true, - ref: (_ref) => { + ref: _ref => { this.combo = _ref; }, el: { @@ -187,9 +188,9 @@ export class BasicButton extends Single { height: "100%", }, popup: { - type: "bi.text_bubble_bar_popup_view", + type: BubblePopupView.xtype, text: getBubble(), - ref: (_ref) => { + ref: _ref => { popup = _ref; }, listeners: [ @@ -202,7 +203,7 @@ export class BasicButton extends Single { onClick.apply(this, args); } }, - }, + } ], }, listeners: [ @@ -211,14 +212,14 @@ export class BasicButton extends Single { action() { popup.populate(getBubble()); }, - }, + } ], }, left: 0, right: 0, bottom: 0, top: 0, - }, + } ], }); } @@ -234,117 +235,117 @@ export class BasicButton extends Single { }; const triggerArr = (o.trigger || "").split(","); - triggerArr.forEach((trigger) => { + triggerArr.forEach(trigger => { let mouseDown = false; let selected = false; let interval; switch (trigger) { - case "mouseup": - hand.mousedown(() => { - mouseDown = true; - }); - hand.mouseup((e) => { - if (mouseDown === true) { - clk(e); - } - mouseDown = false; - ev(e); - }); - break; - case "mousedown": - // let mouseDown = false; - hand.mousedown((e) => { + case "mouseup": + hand.mousedown(() => { + mouseDown = true; + }); + hand.mouseup(e => { + if (mouseDown === true) { + clk(e); + } + mouseDown = false; + ev(e); + }); + break; + case "mousedown": + // let mouseDown = false; + hand.mousedown(e => { + // if (e.button === 0) { + Widget._renderEngine.createElement(document).bind(`mouseup.${this.getName()}`, e => { // if (e.button === 0) { - Widget._renderEngine.createElement(document).bind(`mouseup.${this.getName()}`, (e) => { - // if (e.button === 0) { - if ( - BI.DOM.isExist(this) && + if ( + BI.DOM.isExist(this) && !hand.__isMouseInBounds__(e) && mouseDown === true && !selected - ) { - // self.setSelected(!self.isSelected()); - this._trigger(); - } - mouseDown = false; - Widget._renderEngine.createElement(document).unbind(`mouseup.${this.getName()}`); - // } - }); - if (mouseDown === true) { - return; - } - if (this.isSelected()) { - selected = true; - } else { - clk(e); + ) { + // self.setSelected(!self.isSelected()); + this._trigger(); } - mouseDown = true; - ev(e); + mouseDown = false; + Widget._renderEngine.createElement(document).unbind(`mouseup.${this.getName()}`); // } }); - hand.mouseup((e) => { - // if (e.button === 0) { - if (BI.DOM.isExist(this) && mouseDown === true && selected === true) { - clk(e); - } + if (mouseDown === true) { + return; + } + if (this.isSelected()) { + selected = true; + } else { + clk(e); + } + mouseDown = true; + ev(e); + // } + }); + hand.mouseup(e => { + // if (e.button === 0) { + if (BI.DOM.isExist(this) && mouseDown === true && selected === true) { + clk(e); + } + mouseDown = false; + selected = false; + Widget._renderEngine.createElement(document).unbind(`mouseup.${this.getName()}`); + // } + }); + break; + case "dblclick": + hand.dblclick(clk); + break; + case "lclick": + hand.mousedown(e => { + Widget._renderEngine.createElement(document).bind(`mouseup.${this.getName()}`, () => { + interval && clearInterval(interval); + interval = null; mouseDown = false; - selected = false; Widget._renderEngine.createElement(document).unbind(`mouseup.${this.getName()}`); - // } }); - break; - case "dblclick": - hand.dblclick(clk); - break; - case "lclick": - hand.mousedown((e) => { - Widget._renderEngine.createElement(document).bind(`mouseup.${this.getName()}`, () => { - interval && clearInterval(interval); - interval = null; - mouseDown = false; - Widget._renderEngine.createElement(document).unbind(`mouseup.${this.getName()}`); - }); - if (mouseDown === true) { - return; - } - if (!this.isEnabled() || !this.isValid()) { - return; - } - if (this.isOnce() && this.isSelected()) { - return; - } - interval = setInterval(() => { - clk(e); - }, 180); - mouseDown = true; + if (mouseDown === true) { + return; + } + if (!this.isEnabled() || !this.isValid()) { + return; + } + if (this.isOnce() && this.isSelected()) { + return; + } + interval = setInterval(() => { + clk(e); + }, 180); + mouseDown = true; + ev(e); + }); + break; + default: + if (o.stopEvent || o.stopPropagation) { + hand.mousedown(e => { ev(e); }); - break; - default: - if (o.stopEvent || o.stopPropagation) { - hand.mousedown((e) => { - ev(e); - }); - } - hand.click(clk); - // enter键等同于点击 - o.attributes && + } + hand.click(clk); + // enter键等同于点击 + o.attributes && o.attributes.zIndex >= 0 && - hand.keyup((e) => { + hand.keyup(e => { if (e.keyCode === BI.KeyCode.ENTER) { clk(e); } }); - break; + break; } }); // 之后的300ms点击无效 const onClick = o.debounce ? BI.debounce(this._doClick, BI.EVENT_RESPONSE_TIME, { - leading: true, - trailing: false, - }) + leading: true, + trailing: false, + }) : this._doClick; function ev(e) { @@ -366,8 +367,8 @@ export class BasicButton extends Single { this.isForceSelected() ? this.setSelected(true) : this.isForceNotSelected() - ? this.setSelected(false) - : this.setSelected(!this.isSelected()); + ? this.setSelected(false) + : this.setSelected(!this.isSelected()); } if (this.isValid()) { const v = this.getValue(); diff --git a/src/case/combo/bubblecombo/popup.bubble.js b/src/case/combo/bubblecombo/popup.bubble.js index 0f7782160..aceb1729d 100644 --- a/src/case/combo/bubblecombo/popup.bubble.js +++ b/src/case/combo/bubblecombo/popup.bubble.js @@ -4,8 +4,8 @@ import { Label } from "@/base/single/label/label"; @shortcut() export class BubblePopupView extends PopupView { - static xtype = "bi.bubble_popup_view"; - + static xtype = "bi.text_bubble_bar_popup_view"; + static EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON"; static EVENT_CHANGE = "EVENT_CLICK_TOOLBAR_BUTTON";