You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
|
|
!(function () { |
|
var Node = BI.inherit(BI.NodeButton, { |
|
|
|
props: { |
|
baseCls: "bi-list-item-active" |
|
}, |
|
|
|
render: function () { |
|
var self = this |
|
return { |
|
type: "bi.vertical_adapt", |
|
items: [ |
|
{ |
|
el: { |
|
type: "bi.text_button", |
|
ref: function (_ref) { |
|
self.icon = _ref |
|
}, |
|
stopPropagation: true, |
|
text: this.options.open ? "-" : "+", |
|
height: 24, |
|
width: 24, |
|
handler: function () { |
|
self.handleButtonClick() |
|
} |
|
}, |
|
lgap: this.options.layer * 24, |
|
}, { |
|
type: "bi.label", |
|
textAlign: "left", |
|
text: this.options.text |
|
} |
|
] |
|
} |
|
}, |
|
|
|
handleButtonClick: function () { |
|
this.isOpened() ? this.triggerCollapse() : this.triggerExpand(); |
|
}, |
|
|
|
setOpened: function (b) { |
|
Node.superclass.setOpened.apply(this, arguments); |
|
this.icon.setText(b ? "-" : "+") |
|
}, |
|
|
|
doClick: function () { |
|
// 很重要 |
|
}, |
|
|
|
getValue: function () { |
|
return this.options.id; |
|
}, |
|
}); |
|
|
|
BI.shortcut("bi.example.select_custom_tree.node", Node); |
|
}()) |