From e2b7d54c3555f49b249114cf10e0e5b055099c86 Mon Sep 17 00:00:00 2001 From: Young Date: Fri, 24 May 2019 13:51:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?BI-45290=20fix:=20=E7=BB=84=E4=BB=B61?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E5=88=B0=E5=BA=95=E9=83=A8=E5=90=8E=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=EF=BC=8C=E4=BC=9A=E6=98=BE=E7=A4=BA=E7=A9=BA=E7=99=BD?= =?UTF-8?q?=E6=88=96=E4=B8=80=E9=97=AA=E8=80=8C=E8=BF=87=E7=A9=BA=E7=99=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/wrapper/layout.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index 568bd4299..66b15a658 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -299,16 +299,22 @@ BI.Layout = BI.inherit(BI.Widget, { addItems: function (items, context) { var self = this, o = this.options; var fragment = BI.Widget._renderEngine.createFragment(); + var wrapper = this._getWrapper(); var added = []; BI.each(items, function (i, item) { var w = self._addElement(o.items.length, item, context); self._children[self._getChildName(o.items.length)] = w; o.items.push(item); added.push(w); - fragment.appendChild(w.element[0]); + var node = w.element[0]; + var childNodes = wrapper[0].childNodes; + // BI-45290 wrapper中已包含的node不需要再次添加(添加可能导致内部滚动条位置重置) + if (!BI.contains(childNodes, node)) { + fragment.appendChild(node); + } }); if (this._isMounted) { - this._getWrapper().append(fragment); + wrapper.append(fragment); BI.each(added, function (i, w) { w._mount(); }); @@ -605,4 +611,4 @@ BI.Layout = BI.inherit(BI.Widget, { } }); -BI.shortcut("bi.layout", BI.Layout); \ No newline at end of file +BI.shortcut("bi.layout", BI.Layout); From f8725094589e7fc588a5f2cd04afa9dde89db71e Mon Sep 17 00:00:00 2001 From: Young Date: Wed, 29 May 2019 17:05:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?BI-45290=20fix:=20=E4=BD=BF=E7=94=A8dom=20n?= =?UTF-8?q?ode=E7=9A=84contains=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/wrapper/layout.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index 66b15a658..093023884 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -307,9 +307,8 @@ BI.Layout = BI.inherit(BI.Widget, { o.items.push(item); added.push(w); var node = w.element[0]; - var childNodes = wrapper[0].childNodes; // BI-45290 wrapper中已包含的node不需要再次添加(添加可能导致内部滚动条位置重置) - if (!BI.contains(childNodes, node)) { + if (!wrapper[0].contains(node)) { fragment.appendChild(node); } }); From eb2c76acc5abadda9512defc4b17a0463c87da75 Mon Sep 17 00:00:00 2001 From: Young Date: Wed, 29 May 2019 18:50:34 +0800 Subject: [PATCH 3/4] revert --- src/core/wrapper/layout.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js index 093023884..e2b966d59 100644 --- a/src/core/wrapper/layout.js +++ b/src/core/wrapper/layout.js @@ -299,21 +299,16 @@ BI.Layout = BI.inherit(BI.Widget, { addItems: function (items, context) { var self = this, o = this.options; var fragment = BI.Widget._renderEngine.createFragment(); - var wrapper = this._getWrapper(); var added = []; BI.each(items, function (i, item) { var w = self._addElement(o.items.length, item, context); self._children[self._getChildName(o.items.length)] = w; o.items.push(item); added.push(w); - var node = w.element[0]; - // BI-45290 wrapper中已包含的node不需要再次添加(添加可能导致内部滚动条位置重置) - if (!wrapper[0].contains(node)) { - fragment.appendChild(node); - } + fragment.appendChild(w.element[0]); }); if (this._isMounted) { - wrapper.append(fragment); + this._getWrapper().append(fragment); BI.each(added, function (i, w) { w._mount(); }); From 2676b39205f910df5ed2da24f2fe8344425f8809 Mon Sep 17 00:00:00 2001 From: Young Date: Wed, 10 Jul 2019 17:28:01 +0800 Subject: [PATCH 4/4] =?UTF-8?q?BI-47812=20fix:=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/base/grid/grid.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/base/grid/grid.js b/src/base/grid/grid.js index dbc06bb70..1fecedf28 100644 --- a/src/base/grid/grid.js +++ b/src/base/grid/grid.js @@ -162,7 +162,7 @@ BI.GridView = BI.inherit(BI.Widget, { _columnIndex: columnIndex, _left: columnDatum.offset + horizontalOffsetAdjustment, _top: rowDatum.offset + verticalOffsetAdjustment - })); + }), this); renderedCells.push({ el: child, left: columnDatum.offset + horizontalOffsetAdjustment, @@ -208,7 +208,7 @@ BI.GridView = BI.inherit(BI.Widget, { BI.each(addSet, function (index, key) { addedItems.push(renderedCells[key[2]]); }); - this.container.addItems(addedItems); + this.container.addItems(addedItems, this); // 拦截父子级关系 this.container._children = renderedWidgets; this.container.attr("items", renderedCells); @@ -376,4 +376,4 @@ BI.GridView = BI.inherit(BI.Widget, { } }); BI.GridView.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut("bi.grid_view", BI.GridView); \ No newline at end of file +BI.shortcut("bi.grid_view", BI.GridView);