|
|
@ -74555,25 +74555,31 @@ BI.MultiSelectBar = BI.inherit(BI.BasicButton, { |
|
|
|
disableSelected: true, |
|
|
|
disableSelected: true, |
|
|
|
isHalfCheckedBySelectedValue: function (selectedValues) { |
|
|
|
isHalfCheckedBySelectedValue: function (selectedValues) { |
|
|
|
return selectedValues.length > 0; |
|
|
|
return selectedValues.length > 0; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
halfSelected: false |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
_init: function () { |
|
|
|
_init: function () { |
|
|
|
BI.MultiSelectBar.superclass._init.apply(this, arguments); |
|
|
|
BI.MultiSelectBar.superclass._init.apply(this, arguments); |
|
|
|
var self = this, o = this.options; |
|
|
|
var self = this, o = this.options; |
|
|
|
|
|
|
|
var isSelect = o.selected === true; |
|
|
|
|
|
|
|
var isHalfSelect = !o.selected && o.halfSelected; |
|
|
|
this.checkbox = BI.createWidget({ |
|
|
|
this.checkbox = BI.createWidget({ |
|
|
|
type: "bi.checkbox", |
|
|
|
type: "bi.checkbox", |
|
|
|
stopPropagation: true, |
|
|
|
stopPropagation: true, |
|
|
|
handler: function () { |
|
|
|
handler: function () { |
|
|
|
self.setSelected(self.isSelected()); |
|
|
|
self.setSelected(self.isSelected()); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
selected: isSelect, |
|
|
|
|
|
|
|
invisible: isHalfSelect |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.half = BI.createWidget({ |
|
|
|
this.half = BI.createWidget({ |
|
|
|
type: "bi.half_icon_button", |
|
|
|
type: "bi.half_icon_button", |
|
|
|
stopPropagation: true, |
|
|
|
stopPropagation: true, |
|
|
|
handler: function () { |
|
|
|
handler: function () { |
|
|
|
self.setSelected(true); |
|
|
|
self.setSelected(true); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
invisible: isSelect || !isHalfSelect |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.checkbox.on(BI.Controller.EVENT_CHANGE, function () { |
|
|
|
this.checkbox.on(BI.Controller.EVENT_CHANGE, function () { |
|
|
|
self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CLICK, self.isSelected(), self); |
|
|
|
self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CLICK, self.isSelected(), self); |
|
|
@ -74612,7 +74618,10 @@ BI.MultiSelectBar = BI.inherit(BI.BasicButton, { |
|
|
|
el: this.text |
|
|
|
el: this.text |
|
|
|
}] |
|
|
|
}] |
|
|
|
}); |
|
|
|
}); |
|
|
|
this.half.invisible(); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_setSelected: function (v) { |
|
|
|
|
|
|
|
this.checkbox.setSelected(!!v); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 自己手动控制选中
|
|
|
|
// 自己手动控制选中
|
|
|
@ -74631,8 +74640,9 @@ BI.MultiSelectBar = BI.inherit(BI.BasicButton, { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
setHalfSelected: function (b) { |
|
|
|
setHalfSelected: function (b) { |
|
|
|
this._half = !!b; |
|
|
|
this.halfSelected = !!b; |
|
|
|
if (b === true) { |
|
|
|
if (b === true) { |
|
|
|
|
|
|
|
this.checkbox.setSelected(false); |
|
|
|
this.half.visible(); |
|
|
|
this.half.visible(); |
|
|
|
this.checkbox.invisible(); |
|
|
|
this.checkbox.invisible(); |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -74642,7 +74652,7 @@ BI.MultiSelectBar = BI.inherit(BI.BasicButton, { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
isHalfSelected: function () { |
|
|
|
isHalfSelected: function () { |
|
|
|
return !!this._half; |
|
|
|
return !this.isSelected() && !!this.halfSelected; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
isSelected: function () { |
|
|
|
isSelected: function () { |
|
|
@ -74652,7 +74662,7 @@ BI.MultiSelectBar = BI.inherit(BI.BasicButton, { |
|
|
|
setValue: function (selectedValues) { |
|
|
|
setValue: function (selectedValues) { |
|
|
|
BI.MultiSelectBar.superclass.setValue.apply(this, arguments); |
|
|
|
BI.MultiSelectBar.superclass.setValue.apply(this, arguments); |
|
|
|
var isAllChecked = this.options.isAllCheckedBySelectedValue.apply(this, arguments); |
|
|
|
var isAllChecked = this.options.isAllCheckedBySelectedValue.apply(this, arguments); |
|
|
|
this.setSelected(isAllChecked); |
|
|
|
this._setSelected(isAllChecked); |
|
|
|
!isAllChecked && this.setHalfSelected(this.options.isHalfCheckedBySelectedValue.apply(this, arguments)); |
|
|
|
!isAllChecked && this.setHalfSelected(this.options.isHalfCheckedBySelectedValue.apply(this, arguments)); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|