From 0cd6440242c99a330d298d4ea4d764f0768aadaa Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 23 Jun 2017 14:04:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bi/widget.js | 28 +++++++++++++++---- docs/widget.js | 28 +++++++++++++++---- .../adaptivearrangement.js | 4 +-- src/widget/arrangement/arrangement.js | 4 +-- .../interactivearrangement.js | 20 +++++++++++-- 5 files changed, 66 insertions(+), 18 deletions(-) diff --git a/bi/widget.js b/bi/widget.js index 6086679f0..2baaec1b1 100644 --- a/bi/widget.js +++ b/bi/widget.js @@ -600,8 +600,8 @@ BI.AdaptiveArrangement = BI.inherit(BI.Widget, { return this.arrangement.setRegionPosition(name, position); }, - setDropPosition: function (position) { - return this.arrangement.setDropPosition(position); + setDropPosition: function (position, size) { + return this.arrangement.setDropPosition(position, size); }, scrollInterval: function (e, isBorderScroll, isOverflowScroll, cb) { @@ -1661,10 +1661,10 @@ BI.Arrangement = BI.inherit(BI.Widget, { } }, - setDropPosition: function (position) { + setDropPosition: function (position, size) { var self = this; this.arrangement.setVisible(true); - this._setArrangeSize(position); + this._setArrangeSize(BI.extend({}, position, size)); return function () { self.arrangement.setVisible(false); } @@ -5568,8 +5568,24 @@ BI.InteractiveArrangement = BI.inherit(BI.Widget, { return this.arrangement.setRegionPosition(name, position); }, - setDropPosition: function (position) { - return this.arrangement.setDropPosition(position); + setDropPosition: function (position, size) { + var self = this; + this.stopDraw(); + if (position.left > 0 && position.top > 0) { + switch (this.getLayoutType()) { + case BI.Arrangement.LAYOUT_TYPE.FREE: + position = this.getPosition(null, position, size); + this.draw(position, size); + break; + case BI.Arrangement.LAYOUT_TYPE.GRID: + break; + } + } + var callback = self.arrangement.setDropPosition(position, size); + return function () { + callback(); + self.stopDraw(); + } }, scrollInterval: function () { diff --git a/docs/widget.js b/docs/widget.js index 6086679f0..2baaec1b1 100644 --- a/docs/widget.js +++ b/docs/widget.js @@ -600,8 +600,8 @@ BI.AdaptiveArrangement = BI.inherit(BI.Widget, { return this.arrangement.setRegionPosition(name, position); }, - setDropPosition: function (position) { - return this.arrangement.setDropPosition(position); + setDropPosition: function (position, size) { + return this.arrangement.setDropPosition(position, size); }, scrollInterval: function (e, isBorderScroll, isOverflowScroll, cb) { @@ -1661,10 +1661,10 @@ BI.Arrangement = BI.inherit(BI.Widget, { } }, - setDropPosition: function (position) { + setDropPosition: function (position, size) { var self = this; this.arrangement.setVisible(true); - this._setArrangeSize(position); + this._setArrangeSize(BI.extend({}, position, size)); return function () { self.arrangement.setVisible(false); } @@ -5568,8 +5568,24 @@ BI.InteractiveArrangement = BI.inherit(BI.Widget, { return this.arrangement.setRegionPosition(name, position); }, - setDropPosition: function (position) { - return this.arrangement.setDropPosition(position); + setDropPosition: function (position, size) { + var self = this; + this.stopDraw(); + if (position.left > 0 && position.top > 0) { + switch (this.getLayoutType()) { + case BI.Arrangement.LAYOUT_TYPE.FREE: + position = this.getPosition(null, position, size); + this.draw(position, size); + break; + case BI.Arrangement.LAYOUT_TYPE.GRID: + break; + } + } + var callback = self.arrangement.setDropPosition(position, size); + return function () { + callback(); + self.stopDraw(); + } }, scrollInterval: function () { diff --git a/src/widget/adaptivearrangement/adaptivearrangement.js b/src/widget/adaptivearrangement/adaptivearrangement.js index 4eabf7e9d..d14817e96 100644 --- a/src/widget/adaptivearrangement/adaptivearrangement.js +++ b/src/widget/adaptivearrangement/adaptivearrangement.js @@ -181,8 +181,8 @@ BI.AdaptiveArrangement = BI.inherit(BI.Widget, { return this.arrangement.setRegionPosition(name, position); }, - setDropPosition: function (position) { - return this.arrangement.setDropPosition(position); + setDropPosition: function (position, size) { + return this.arrangement.setDropPosition(position, size); }, scrollInterval: function (e, isBorderScroll, isOverflowScroll, cb) { diff --git a/src/widget/arrangement/arrangement.js b/src/widget/arrangement/arrangement.js index c2a7754e4..c44ca8def 100644 --- a/src/widget/arrangement/arrangement.js +++ b/src/widget/arrangement/arrangement.js @@ -867,10 +867,10 @@ BI.Arrangement = BI.inherit(BI.Widget, { } }, - setDropPosition: function (position) { + setDropPosition: function (position, size) { var self = this; this.arrangement.setVisible(true); - this._setArrangeSize(position); + this._setArrangeSize(BI.extend({}, position, size)); return function () { self.arrangement.setVisible(false); } diff --git a/src/widget/interactivearrangement/interactivearrangement.js b/src/widget/interactivearrangement/interactivearrangement.js index ad702ad4a..aada85b77 100644 --- a/src/widget/interactivearrangement/interactivearrangement.js +++ b/src/widget/interactivearrangement/interactivearrangement.js @@ -512,8 +512,24 @@ BI.InteractiveArrangement = BI.inherit(BI.Widget, { return this.arrangement.setRegionPosition(name, position); }, - setDropPosition: function (position) { - return this.arrangement.setDropPosition(position); + setDropPosition: function (position, size) { + var self = this; + this.stopDraw(); + if (position.left > 0 && position.top > 0) { + switch (this.getLayoutType()) { + case BI.Arrangement.LAYOUT_TYPE.FREE: + position = this.getPosition(null, position, size); + this.draw(position, size); + break; + case BI.Arrangement.LAYOUT_TYPE.GRID: + break; + } + } + var callback = self.arrangement.setDropPosition(position, size); + return function () { + callback(); + self.stopDraw(); + } }, scrollInterval: function () {