Browse Source

KERNEL-12552 && REPORT-79374 fix: 不执行BI.init(),很多方法调用会出现问题

es6
zsmj 2 years ago
parent
commit
6de63615f7
  1. 6
      src/core/controller/controller.layer.js
  2. 17
      src/core/controller/controller.resizer.js

6
src/core/controller/controller.layer.js

@ -15,7 +15,10 @@ BI.LayerController = BI.inherit(BI.Controller, {
this.layerManager = {}; this.layerManager = {};
this.layouts = {}; this.layouts = {};
this.zindex = BI.zIndex_layer; this.zindex = BI.zIndex_layer;
BI.Resizers.add("layerController" + BI.uniqueId(), BI.bind(this._resize, this)); },
_initResizer: function () {
this.resizer = BI.Resizers.add("layerController" + BI.uniqueId(), BI.bind(this._resize, this));
}, },
_resize: function () { _resize: function () {
@ -38,6 +41,7 @@ BI.LayerController = BI.inherit(BI.Controller, {
}, },
create: function (name, from, op, context) { create: function (name, from, op, context) {
BI.isNull(this.resizer) && this._initResizer();
if (this.has(name)) { if (this.has(name)) {
return this.get(name); return this.get(name);
} }

17
src/core/controller/controller.resizer.js

@ -5,18 +5,20 @@
* @class * @class
*/ */
BI.ResizeController = BI.inherit(BI.Controller, { BI.ResizeController = BI.inherit(BI.Controller, {
init: function () { init: function () {
var self = this;
this.resizerManger = {}; this.resizerManger = {};
var fn = BI.debounce(function (ev) { },
// if (BI.isWindow(ev.target)) {
_initResizeListener: function () {
var self = this;
this.resizeHandler = BI.debounce(function (ev) {
self._resize(ev); self._resize(ev);
// }
}, 30); }, 30);
if ("onorientationchange" in _global) { if ("onorientationchange" in _global) {
_global.onorientationchange = fn; _global.onorientationchange = this.resizeHandler;
} else { } else {
BI.Widget._renderEngine.createElement(_global).resize(fn); BI.Widget._renderEngine.createElement(_global).resize(this.resizeHandler);
} }
}, },
@ -34,13 +36,14 @@ BI.ResizeController = BI.inherit(BI.Controller, {
} }
if (BI.isFunction(resizer)) { if (BI.isFunction(resizer)) {
resizer(ev); resizer(ev);
return;
} }
}); });
}, },
add: function (name, resizer) { add: function (name, resizer) {
var self = this; var self = this;
BI.isNull(this.resizeHandler) && this._initResizeListener();
if (this.has(name)) { if (this.has(name)) {
return this; return this;
} }

Loading…
Cancel
Save