diff --git a/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js b/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js index d575dd4..5b8d485 100644 --- a/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js +++ b/src/main/resources/com/finebi/plugin/web/plugin.screen_adaptive.js @@ -26,9 +26,7 @@ var injectBubblesShow = null; var adjustHeight = BI.Combo.prototype.adjustHeight; var originalRender = BI.Widget._renderEngine; - var injectSearch = BI.Searcher.prototype._search; - var injectSearchSetValue = BI.Searcher.prototype.setValue; - var injectSearchAdjustView = BI.Searcher.prototype._assertPopupView; + var injectSearchSearchStop = BI.Searcher.prototype._stopSearch; var injectTooltipsShow = BI.TooltipsController.prototype.show; var injectSwitcherPopup = BI.Switcher.prototype.adjustView; @@ -47,15 +45,7 @@ this.popupView.populate(find, match, keyword); o.isAutoSync && o.adapter && o.adapter.getValue && this.popupView.setValue(o.adapter.getValue()); self.fireEvent(BI.Searcher.EVENT_SEARCHING); - callback && callback.call(self); - if (self.popupView) { - BI.defer(function () { - self.popupView.element[0].parentElement.style.left = parseInt(self.popupView.element[0].parentElement.style.left) * scale + "px"; - self.popupView.element[0].parentElement.style.top = parseInt(self.popupView.element[0].parentElement.style.top) * scale + "px"; - self.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; - self.popupView.element[0].parentElement.style.transformOrigin = "left top"; - }) - } + callback && callback.call(self, true); return; } this.popupView.loading && this.popupView.loading(); @@ -350,25 +340,26 @@ } // Searcher - callback = function () { + callback = function (flag) { var self = this; BI.defer(function () { if (self.popupView && self.popupView.element[0].parentElement) { - self.popupView.element[0].parentElement.style.left = parseInt(self.popupView.element[0].parentElement.style.left) * scale + "px"; - self.popupView.element[0].parentElement.style.top = parseInt(self.popupView.element[0].parentElement.style.top) * scale + "px"; - self.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; - self.popupView.element[0].parentElement.style.transformOrigin = "left top"; + var skip = BI.isNotEmptyString(self.popupView.element[0].parentElement.style.transformOrigin) && flag; + if (!skip) { + self.popupView.element[0].parentElement.style.left = parseInt(self.popupView.element[0].parentElement.style.left) * scale + "px"; + self.popupView.element[0].parentElement.style.top = parseInt(self.popupView.element[0].parentElement.style.top) * scale + "px"; + self.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; + self.popupView.element[0].parentElement.style.transformOrigin = "left top"; + } } }) } - BI.Searcher.prototype.setValue = function () { - injectSearchSetValue.call(this, arguments); + BI.Searcher.prototype._stopSearch = function () { + injectSearchSearchStop.call(this, arguments); if (this.popupView && this.popupView.element[0].parentElement) { - this.popupView.element[0].parentElement.style.left = parseInt(this.popupView.element[0].parentElement.style.left) * scale + "px"; - this.popupView.element[0].parentElement.style.top = parseInt(this.popupView.element[0].parentElement.style.top) * scale + "px"; - this.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; - this.popupView.element[0].parentElement.style.transformOrigin = "left top"; + this.popupView.element[0].parentElement.style.transform = ""; + this.popupView.element[0].parentElement.style.transformOrigin = ""; } } @@ -489,7 +480,6 @@ BI.Widget.registerRenderEngine(originalRender); callback = function () {} - BI.Searcher.prototype.setValue = injectSearchSetValue; BI.Switcher.prototype.adjustView = injectSwitcherPopup; BI.TooltipsController.prototype.show = injectTooltipsShow; diff --git a/src/main/resources/com/finebi/plugin/web/scripts/entry.js b/src/main/resources/com/finebi/plugin/web/scripts/entry.js index d575dd4..5b8d485 100644 --- a/src/main/resources/com/finebi/plugin/web/scripts/entry.js +++ b/src/main/resources/com/finebi/plugin/web/scripts/entry.js @@ -26,9 +26,7 @@ var injectBubblesShow = null; var adjustHeight = BI.Combo.prototype.adjustHeight; var originalRender = BI.Widget._renderEngine; - var injectSearch = BI.Searcher.prototype._search; - var injectSearchSetValue = BI.Searcher.prototype.setValue; - var injectSearchAdjustView = BI.Searcher.prototype._assertPopupView; + var injectSearchSearchStop = BI.Searcher.prototype._stopSearch; var injectTooltipsShow = BI.TooltipsController.prototype.show; var injectSwitcherPopup = BI.Switcher.prototype.adjustView; @@ -47,15 +45,7 @@ this.popupView.populate(find, match, keyword); o.isAutoSync && o.adapter && o.adapter.getValue && this.popupView.setValue(o.adapter.getValue()); self.fireEvent(BI.Searcher.EVENT_SEARCHING); - callback && callback.call(self); - if (self.popupView) { - BI.defer(function () { - self.popupView.element[0].parentElement.style.left = parseInt(self.popupView.element[0].parentElement.style.left) * scale + "px"; - self.popupView.element[0].parentElement.style.top = parseInt(self.popupView.element[0].parentElement.style.top) * scale + "px"; - self.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; - self.popupView.element[0].parentElement.style.transformOrigin = "left top"; - }) - } + callback && callback.call(self, true); return; } this.popupView.loading && this.popupView.loading(); @@ -350,25 +340,26 @@ } // Searcher - callback = function () { + callback = function (flag) { var self = this; BI.defer(function () { if (self.popupView && self.popupView.element[0].parentElement) { - self.popupView.element[0].parentElement.style.left = parseInt(self.popupView.element[0].parentElement.style.left) * scale + "px"; - self.popupView.element[0].parentElement.style.top = parseInt(self.popupView.element[0].parentElement.style.top) * scale + "px"; - self.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; - self.popupView.element[0].parentElement.style.transformOrigin = "left top"; + var skip = BI.isNotEmptyString(self.popupView.element[0].parentElement.style.transformOrigin) && flag; + if (!skip) { + self.popupView.element[0].parentElement.style.left = parseInt(self.popupView.element[0].parentElement.style.left) * scale + "px"; + self.popupView.element[0].parentElement.style.top = parseInt(self.popupView.element[0].parentElement.style.top) * scale + "px"; + self.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; + self.popupView.element[0].parentElement.style.transformOrigin = "left top"; + } } }) } - BI.Searcher.prototype.setValue = function () { - injectSearchSetValue.call(this, arguments); + BI.Searcher.prototype._stopSearch = function () { + injectSearchSearchStop.call(this, arguments); if (this.popupView && this.popupView.element[0].parentElement) { - this.popupView.element[0].parentElement.style.left = parseInt(this.popupView.element[0].parentElement.style.left) * scale + "px"; - this.popupView.element[0].parentElement.style.top = parseInt(this.popupView.element[0].parentElement.style.top) * scale + "px"; - this.popupView.element[0].parentElement.style.transform = "scale(" + scale + ")"; - this.popupView.element[0].parentElement.style.transformOrigin = "left top"; + this.popupView.element[0].parentElement.style.transform = ""; + this.popupView.element[0].parentElement.style.transformOrigin = ""; } } @@ -489,7 +480,6 @@ BI.Widget.registerRenderEngine(originalRender); callback = function () {} - BI.Searcher.prototype.setValue = injectSearchSetValue; BI.Switcher.prototype.adjustView = injectSwitcherPopup; BI.TooltipsController.prototype.show = injectTooltipsShow;