From ff266d986447447308cdb135cb73ae0bf552479d Mon Sep 17 00:00:00 2001 From: impact Date: Wed, 28 Dec 2022 11:37:50 +0800 Subject: [PATCH] =?UTF-8?q?KERNEL-13928=20refactor:=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E7=94=A8=E5=88=B0=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/0.base.js | 54 ++++++++++++++++++---- src/core/controller/controller.tooltips.js | 6 ++- src/core/index.js | 3 ++ src/core/loader/loader.style.js | 34 +++++++------- 4 files changed, 70 insertions(+), 27 deletions(-) diff --git a/src/base/0.base.js b/src/base/0.base.js index 1100c0709..3d342a8d3 100644 --- a/src/base/0.base.js +++ b/src/base/0.base.js @@ -1,9 +1,45 @@ -BI.Resizers = new BI.ResizeController(); -BI.Layers = new BI.LayerController(); -BI.Maskers = new BI.MaskersController(); -BI.Bubbles = new BI.BubblesController(); -BI.Tooltips = new BI.TooltipsController(); -BI.Popovers = new BI.PopoverController(); -BI.Drawers = new BI.DrawerController(); -BI.Broadcasts = new BI.BroadcastController(); -BI.StyleLoaders = new BI.StyleLoaderManager(); +import { + BroadcastController, + BubblesController, + DrawerController, + LayerController, + MaskersController, + PopoverController, + ResizeController, + TooltipsController, + StyleLoaderManager +} from "../core"; + +const Resizers = new ResizeController(); +const Layers = new LayerController(); +const Maskers = new MaskersController(); +const Bubbles = new BubblesController(); +const Tooltips = new TooltipsController(); +const Popovers = new PopoverController(); +const Drawers = new DrawerController(); +const Broadcasts = new BroadcastController(); +const StyleLoaders = new StyleLoaderManager(); + +BI.extend(BI, { + Resizers, + Layers, + Maskers, + Bubbles, + Tooltips, + Popovers, + Drawers, + Broadcasts, + StyleLoaders +}); + +export { + Resizers, + Layers, + Maskers, + Bubbles, + Tooltips, + Popovers, + Drawers, + Broadcasts, + StyleLoaders +}; diff --git a/src/core/controller/controller.tooltips.js b/src/core/controller/controller.tooltips.js index 4b99266e0..0e397aa33 100644 --- a/src/core/controller/controller.tooltips.js +++ b/src/core/controller/controller.tooltips.js @@ -38,13 +38,15 @@ export default class TooltipsController extends Controller { if (!this.has(name)) { this.create(name, tooltipOpt, document.fullscreenElement ? context : (opt.container || "body")); } + const offset = context.element.offset(); + let top; + if (!opt.belowMouse) { - const offset = context.element.offset(); const bounds = context.element.bounds(); if (bounds.height === 0 || bounds.width === 0) { return; } - const top = offset.top + bounds.height + 5; + top = offset.top + bounds.height + 5; } const tooltip = this.get(name); tooltip.element.css({ diff --git a/src/core/index.js b/src/core/index.js index 8c345df4c..3727548fc 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -15,6 +15,7 @@ import MaskersController from "./controller/controller.masker"; import PopoverController from "./controller/controller.popover"; import ResizeController from "./controller/controller.resizer"; import TooltipsController from "./controller/controller.tooltips"; +import StyleLoaderManager from "./loader/loader.style"; BI.extend(BI, { OB, @@ -33,6 +34,7 @@ BI.extend(BI, { PopoverController, ResizeController, TooltipsController, + StyleLoaderManager, }); export { @@ -53,4 +55,5 @@ export { PopoverController, ResizeController, TooltipsController, + StyleLoaderManager, } \ No newline at end of file diff --git a/src/core/loader/loader.style.js b/src/core/loader/loader.style.js index ad5500ee5..e10007cc3 100644 --- a/src/core/loader/loader.style.js +++ b/src/core/loader/loader.style.js @@ -4,21 +4,23 @@ * Created by GUY on 2015/9/7. * @class */ -BI.StyleLoaderManager = BI.inherit(BI.OB, { - _defaultConfig: function () { - return BI.extend(BI.StyleLoaderManager.superclass._defaultConfig.apply(this, arguments), {}); - }, +import OB from "../3.ob"; - _init: function () { - BI.StyleLoaderManager.superclass._init.apply(this, arguments); +export default class StyleLoaderManager extends OB { + _defaultConfig() { + return BI.extend(super._defaultConfig(arguments), {}); + } + + _init() { + super._init(arguments); this.stylesManager = {}; - }, + } - loadStyle: function (name, styleString) { + loadStyle(name, styleString) { if(!_global.document) { return; } - var d = document, styles = d.createElement("style"); + const d = document, styles = d.createElement("style"); d.getElementsByTagName("head")[0].appendChild(styles); styles.setAttribute("type", "text/css"); if (styles.styleSheet) { @@ -29,17 +31,17 @@ BI.StyleLoaderManager = BI.inherit(BI.OB, { this.stylesManager[name] = styles; return this; - }, + } - get: function (name) { + get(name) { return this.stylesManager[name]; - }, + } - has: function (name) { + has(name) { return this.stylesManager[name] != null; - }, + } - removeStyle: function (name) { + removeStyle(name) { if (!this.has(name)) { return this; } @@ -47,4 +49,4 @@ BI.StyleLoaderManager = BI.inherit(BI.OB, { delete this.stylesManager[name]; return this; } -}); \ No newline at end of file +}