summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/chrome/action_manager.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/chrome/action_manager.js')
-rw-r--r--addons/web/static/src/js/chrome/action_manager.js22
1 files changed, 12 insertions, 10 deletions
diff --git a/addons/web/static/src/js/chrome/action_manager.js b/addons/web/static/src/js/chrome/action_manager.js
index 1e9c52238bc..4cf10b8813a 100644
--- a/addons/web/static/src/js/chrome/action_manager.js
+++ b/addons/web/static/src/js/chrome/action_manager.js
@@ -258,7 +258,9 @@ var ActionManager = Widget.extend({
callbacks: [{widget: controller.widget}],
});
- this.trigger_up('scrollTo', {offset: controller.scrollTop || 0});
+ if (controller.scrollPosition) {
+ this.trigger_up('scrollTo', controller.scrollPosition);
+ }
if (!controller.widget.need_control_panel) {
this.controlPanel.do_hide();
@@ -294,7 +296,7 @@ var ActionManager = Widget.extend({
_detachCurrentController: function () {
var currentController = this.getCurrentController();
if (currentController) {
- currentController.scrollTop = this._getScrollTop();
+ currentController.scrollPosition = this._getScrollPosition();
dom.detach([{widget: currentController.widget}]);
}
},
@@ -613,19 +615,19 @@ var ActionManager = Widget.extend({
return state;
},
/**
- * Returns the current vertical scroll position.
+ * Returns the current horizontal and vertical scroll positions.
*
* @private
- * @returns {integer}
+ * @returns {Object}
*/
- _getScrollTop: function () {
- var scrollTop;
- this.trigger_up('getScrollTop', {
- callback: function (value) {
- scrollTop = value;
+ _getScrollPosition: function () {
+ var scrollPosition;
+ this.trigger_up('getScrollPosition', {
+ callback: function (_scrollPosition) {
+ scrollPosition = _scrollPosition;
}
});
- return scrollTop;
+ return scrollPosition;
},
/**
* Dispatches the given action to the corresponding handler to execute it,