diff --git a/src/case/button/item.multiselect.js b/src/case/button/item.multiselect.js index 54d6ebd6f..7d320c0b2 100644 --- a/src/case/button/item.multiselect.js +++ b/src/case/button/item.multiselect.js @@ -11,7 +11,9 @@ BI.MultiSelectItem = BI.inherit(BI.BasicButton, { logic: { dynamic: false }, - iconWrapperWidth: 26 + iconWrapperWidth: 16, + textHgap: 0, + textRgap: 0 }); }, _init: function () { @@ -27,8 +29,8 @@ BI.MultiSelectItem = BI.inherit(BI.BasicButton, { whiteSpace: "nowrap", textHeight: o.height, height: o.height, - hgap: o.hgap, - rgap: o.rgap, + hgap: o.textHgap, + rgap: o.textHgap, text: o.text, keyword: o.keyword, value: o.value, @@ -73,4 +75,4 @@ BI.MultiSelectItem = BI.inherit(BI.BasicButton, { } }); BI.MultiSelectItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multi_select_item", BI.MultiSelectItem); \ No newline at end of file +BI.shortcut("bi.multi_select_item", BI.MultiSelectItem); diff --git a/src/case/button/item.singleselect.radio.js b/src/case/button/item.singleselect.radio.js index 3f17a6bae..f84105cda 100644 --- a/src/case/button/item.singleselect.radio.js +++ b/src/case/button/item.singleselect.radio.js @@ -10,7 +10,10 @@ BI.SingleSelectRadioItem = BI.inherit(BI.BasicButton, { logic: { dynamic: false }, - height: 24 + height: 24, + iconWrapperWidth: 16, + textHgap: 0, + textRgap: 0 }); }, _init: function () { @@ -26,7 +29,8 @@ BI.SingleSelectRadioItem = BI.inherit(BI.BasicButton, { whiteSpace: "nowrap", textHeight: o.height, height: o.height, - hgap: o.hgap, + hgap: o.textHgap, + rgap: o.textHgap, text: o.text, keyword: o.keyword, value: o.value, @@ -39,7 +43,7 @@ BI.SingleSelectRadioItem = BI.inherit(BI.BasicButton, { items: BI.LogicFactory.createLogicItemsByDirection("left", { type: "bi.center_adapt", items: [this.radio], - width: 16 + width: o.conWrapperWidth }, this.text) })))); }, diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index 20f68850c..5d4fdc470 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -71,13 +71,12 @@ BI.Layout = BI.inherit(BI.Widget, { var self = this; var frag = BI.Widget._renderEngine.createFragment(); var hasChild = false; - for (var key in this._children) { - var child = this._children[key]; - if (child.element !== self.element) { - frag.appendChild(child.element[0]); + BI.each(this._children, function (i, widget) { + if (widget.element !== self.element) { + frag.appendChild(widget.element[0]); hasChild = true; } - } + }); if (hasChild === true) { this.appendFragment(frag); } @@ -269,13 +268,19 @@ BI.Layout = BI.inherit(BI.Widget, { if (!child.shouldUpdate) { return null; } - return child.shouldUpdate(this._getOptions(item)); + return child.shouldUpdate(this._getOptions(item)) === true; }, updateItemAt: function (index, item) { if (index < 0 || index > this.options.items.length - 1) { return; } + + var child = this._children[this._getChildName(index)]; + var updated; + if (updated = child.update(this._getOptions(item))) { + return updated; + } var del = this._children[this._getChildName(index)]; delete this._children[this._getChildName(index)]; this.options.items.splice(index, 1); @@ -362,14 +367,7 @@ BI.Layout = BI.inherit(BI.Widget, { patchItem: function (oldVnode, vnode, index) { var shouldUpdate = this.shouldUpdateItem(index, vnode); - var child = this._children[this._getChildName(index)]; - if (shouldUpdate) { - return child._update(this._getOptions(vnode), shouldUpdate); - } - if (shouldUpdate === null && !this._compare(oldVnode, vnode)) { - // if (child.update) { - // return child.update(this._getOptions(vnode)); - // } + if (shouldUpdate === true || (shouldUpdate === null && !this._compare(oldVnode, vnode))) { return this.updateItemAt(index, vnode); } },