forked from fanruan/fineui
Dailer
6 years ago
12 changed files with 211 additions and 38 deletions
@ -0,0 +1,96 @@
|
||||
/** |
||||
*@desc 根节点,既是第一个又是最后一个 |
||||
*@author dailer |
||||
*@date 2018/09/16 |
||||
*/ |
||||
BI.MultiLayerSingleTreePlusGroupNode = BI.inherit(BI.NodeButton, { |
||||
_defaultConfig: function () { |
||||
var conf = BI.MultiLayerSingleTreePlusGroupNode.superclass._defaultConfig.apply(this, arguments); |
||||
return BI.extend(conf, { |
||||
extraCls: "bi-multilayer-single-tree-plus-group-node bi-list-item", |
||||
layer: 0, // 第几层级
|
||||
id: "", |
||||
pId: "", |
||||
open: false, |
||||
height: 24 |
||||
}); |
||||
}, |
||||
_init: function () { |
||||
BI.MultiLayerSingleTreePlusGroupNode.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
if (o.isLastNode && !o.pNode) { |
||||
|
||||
} |
||||
this.node = BI.createWidget({ |
||||
type: "bi.plus_group_node", |
||||
cls: "bi-list-item-none", |
||||
logic: { |
||||
dynamic: true |
||||
}, |
||||
id: o.id, |
||||
pId: o.pId, |
||||
open: o.open, |
||||
isLastNode: o.isLastNode, |
||||
height: o.height, |
||||
hgap: o.hgap, |
||||
text: o.text, |
||||
value: o.value, |
||||
py: o.py, |
||||
keyword: o.keyword |
||||
}); |
||||
this.node.on(BI.Controller.EVENT_CHANGE, function (type) { |
||||
if (type === BI.Events.CLICK) {// 本身实现click功能
|
||||
return; |
||||
} |
||||
self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); |
||||
}); |
||||
|
||||
var needBlankLayers = []; |
||||
var pNode = o.pNode; |
||||
while (pNode) { |
||||
if (pNode.isLastNode) { |
||||
needBlankLayers.push(pNode.layer) |
||||
} |
||||
pNode = pNode.pNode; |
||||
} |
||||
|
||||
var items = []; |
||||
BI.count(0, o.layer, function (index) { |
||||
items.push({ |
||||
type: "bi.layout", |
||||
cls: BI.contains(needBlankLayers, index) ? "" : "base-line-conn-background", |
||||
width: 12, |
||||
height: o.height |
||||
}); |
||||
}); |
||||
items.push(this.node); |
||||
BI.createWidget({ |
||||
type: "bi.td", |
||||
element: this, |
||||
columnSize: BI.makeArray(o.layer, 12), |
||||
items: [items] |
||||
}); |
||||
}, |
||||
|
||||
doRedMark: function () { |
||||
this.node.doRedMark.apply(this.node, arguments); |
||||
}, |
||||
|
||||
unRedMark: function () { |
||||
this.node.unRedMark.apply(this.node, arguments); |
||||
}, |
||||
|
||||
doClick: function () { |
||||
BI.MultiLayerSingleTreePlusGroupNode.superclass.doClick.apply(this, arguments); |
||||
this.node.setSelected(this.isSelected()); |
||||
}, |
||||
|
||||
setOpened: function (v) { |
||||
BI.MultiLayerSingleTreePlusGroupNode.superclass.setOpened.apply(this, arguments); |
||||
if (BI.isNotNull(this.node)) { |
||||
this.node.setOpened(v); |
||||
} |
||||
} |
||||
}); |
||||
|
||||
BI.shortcut("bi.multilayer_single_tree_plus_group_node", BI.MultiLayerSingleTreePlusGroupNode); |
Loading…
Reference in new issue