Browse Source

Pull request #1529: 无JIRA任务 在组件创建的时候即确定父子关系

Merge in VISUAL/fineui from ~GUY/fineui:master to master

* commit '64ee148a669a885b4796226d704f8081f5c3bcfc':
  Composition API
  在组件创建的时候即确定父子关系
es6
guy 4 years ago
parent
commit
82ba14aa75
  1. 12
      src/base/single/iframe/iframe.js
  2. 10
      src/base/single/img/img.js
  3. 4
      src/base/single/link/link.js
  4. 4
      src/base/tree/ztree/parttree.js
  5. 4
      src/case/layer/layer.multipopup.js
  6. 4
      src/case/layer/layer.panel.js
  7. 7
      src/case/tree/ztree/tree.display.js
  8. 4
      src/core/action/action.show.js
  9. 7
      src/core/controller.js
  10. 16
      src/core/logic/logic.layout.js
  11. 2
      src/core/ob.js
  12. 10
      src/core/shortcut.js
  13. 14
      src/core/widget.js

12
src/base/single/iframe/iframe.js

@ -5,24 +5,24 @@
* Created by GameJian on 2016/3/2.
*/
BI.Iframe = BI.inherit(BI.Single, {
_defaultConfig: function () {
_defaultConfig: function (config) {
var conf = BI.Iframe.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
tagName: "iframe",
baseCls: (conf.baseCls || "") + " bi-iframe",
src: "",
name: "",
attributes: {},
attributes: {
frameborder: 0,
src: config.src,
name: config.name
},
width: "100%",
height: "100%"
});
},
_init: function () {
var self = this, o = this.options;
o.attributes.frameborder = "0";
o.attributes.src = o.src;
o.attributes.name = o.name;
BI.Iframe.superclass._init.apply(this, arguments);
this.element.on("load", function () {
self.fireEvent("EVENT_LOADED");

10
src/base/single/img/img.js

@ -7,24 +7,18 @@
* @abstract
*/
BI.Img = BI.inherit(BI.Single, {
_defaultConfig: function () {
_defaultConfig: function (config) {
var conf = BI.Img.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
tagName: "img",
baseCls: (conf.baseCls || "") + " bi-img display-block",
src: "",
attributes: {},
attributes: config.src ? {src: config.src} : {},
width: "100%",
height: "100%"
});
},
_init: function () {
var o = this.options;
o.attributes.src = o.src;
BI.Img.superclass._init.apply(this, arguments);
},
setSrc: function (src) {
this.options.src = src;
this.element.attr("src", src);

4
src/base/single/link/link.js

@ -28,10 +28,6 @@ BI.Link = BI.inherit(BI.Label, {
href: o.href,
target: o.target
};
},
_init: function () {
BI.Link.superclass._init.apply(this, arguments);
}
});

4
src/base/tree/ztree/parttree.js

@ -9,10 +9,6 @@ BI.PartTree = BI.inherit(BI.AsyncTree, {
return BI.extend(BI.PartTree.superclass._defaultConfig.apply(this, arguments), {});
},
_init: function () {
BI.PartTree.superclass._init.apply(this, arguments);
},
_loadMore: function () {
var self = this, o = this.options;
var op = BI.extend({}, o.paras, {

4
src/case/layer/layer.multipopup.js

@ -14,10 +14,6 @@ BI.MultiPopupView = BI.inherit(BI.PopupView, {
});
},
_init: function () {
BI.MultiPopupView.superclass._init.apply(this, arguments);
},
_createToolBar: function () {
var o = this.options, self = this;
if (o.buttons.length === 0) {

4
src/case/layer/layer.panel.js

@ -14,10 +14,6 @@ BI.PopupPanel = BI.inherit(BI.MultiPopupView, {
});
},
_init: function () {
BI.PopupPanel.superclass._init.apply(this, arguments);
},
_createTool: function () {
var self = this, o = this.options;
var close = BI.createWidget({

7
src/case/tree/ztree/tree.display.js

@ -10,9 +10,6 @@ BI.DisplayTree = BI.inherit(BI.TreeView, {
extraCls: "bi-display-tree"
});
},
_init: function () {
BI.DisplayTree.superclass._init.apply(this, arguments);
},
// 配置属性
_configSetting: function () {
@ -62,10 +59,6 @@ BI.DisplayTree = BI.inherit(BI.TreeView, {
initTree: function (nodes, setting) {
var setting = setting || this._configSetting();
this.nodes = BI.$.fn.zTree.init(this.tree.element, setting, nodes);
},
destroy: function () {
BI.DisplayTree.superclass.destroy.apply(this, arguments);
}
});
BI.DisplayTree.EVENT_CHANGE = "EVENT_CHANGE";

4
src/core/action/action.show.js

@ -9,10 +9,6 @@ BI.ShowAction = BI.inherit(BI.Action, {
return BI.extend(BI.ShowAction.superclass._defaultConfig.apply(this, arguments), {});
},
_init: function () {
BI.ShowAction.superclass._init.apply(this, arguments);
},
actionPerformed: function (src, tar, callback) {
tar = tar || this.options.tar;
tar.setVisible(true);

7
src/core/controller.js

@ -11,13 +11,6 @@ BI.Controller = BI.inherit(BI.OB, {
return BI.extend(BI.Controller.superclass._defaultConfig.apply(this, arguments), {
});
},
_init: function () {
BI.Controller.superclass._init.apply(this, arguments);
},
destroy: function () {
}
});
BI.Controller.EVENT_CHANGE = "__EVENT_CHANGE__";

16
src/core/logic/logic.layout.js

@ -43,10 +43,6 @@ BI.VerticalLayoutLogic = BI.inherit(BI.Logic, {
bgap: o.bgap,
items: o.items
};
},
_init: function () {
BI.VerticalLayoutLogic.superclass._init.apply(this, arguments);
}
});
@ -96,10 +92,6 @@ BI.HorizontalLayoutLogic = BI.inherit(BI.Logic, {
bgap: o.bgap,
items: o.items
};
},
_init: function () {
BI.HorizontalLayoutLogic.superclass._init.apply(this, arguments);
}
});
@ -148,10 +140,6 @@ BI.TableLayoutLogic = BI.inherit(BI.Logic, {
vgap: o.vgap,
items: o.items
};
},
_init: function () {
BI.TableLayoutLogic.superclass._init.apply(this, arguments);
}
});
@ -204,9 +192,5 @@ BI.HorizontalFillLayoutLogic = BI.inherit(BI.Logic, {
bgap: o.bgap,
items: o.items
};
},
_init: function () {
BI.HorizontalFillLayoutLogic.superclass._init.apply(this, arguments);
}
});

2
src/core/ob.js

@ -1,5 +1,5 @@
!(function () {
function extend() {
function extend () {
var target = arguments[0] || {}, length = arguments.length, i = 1, options, name, src, copy;
for (; i < length; i++) {
// Only deal with non-null/undefined values

10
src/core/shortcut.js

@ -14,16 +14,18 @@
var createWidget = function (config) {
var cls = kv[config.type];
if(!cls){
throw new Error("组件"+config.type +"未定义");
if (!cls) {
throw new Error("组件" + config.type + "未定义");
}
var widget = new cls();
widget._initProps(config);
widget._init();
widget._initRoot();
widget._initRef();
// if (config.element || config.root) {
widget._lazyConstructor();
// }
return widget;
};

14
src/core/widget.js

@ -28,6 +28,14 @@
// 覆盖父类的_constructor方法,widget不走ob的生命周期
_constructor: function () {
// do nothing
},
_lazyConstructor: function () {
if (!this._constructed) {
this._constructed = true;
this._init();
}
},
beforeInit: null,
@ -54,7 +62,6 @@
_init: function () {
BI.Widget.superclass._init.apply(this, arguments);
this._initRoot();
this._initElementWidth();
this._initElementHeight();
this._initVisual();
@ -90,14 +97,15 @@
var o = this.options;
this.widgetName = o.widgetName || BI.uniqueId("widget");
this._isRoot = o.root;
this._children = {};
if (BI.isWidget(o.element)) {
this.element = this.options.element.element;
if (o.element instanceof BI.Widget) {
this._parent = o.element;
this._parent.addWidget(this.widgetName, this);
} else {
this._isRoot = true;
}
this.element = this.options.element.element;
} else if (o.element) {
// if (o.root !== true) {
// throw new Error("root is a required property");
@ -120,7 +128,6 @@
if (o.css) {
this.element.css(o.css);
}
this._children = {};
},
_initElementWidth: function () {
@ -330,6 +337,7 @@
throw new Error("name has already been existed");
}
widget._setParent && widget._setParent(this);
widget._lazyConstructor();
widget.on(BI.Events.DESTROY, function () {
BI.remove(self._children, this);
});

Loading…
Cancel
Save