summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/abstract_controller.js
diff options
context:
space:
mode:
authorVincent Schippefilt <vsc@odoo.com>2019-11-05 14:28:19 +0000
committerVincent Schippefilt <vsc@odoo.com>2019-12-09 11:09:10 +0000
commitd06e67e748ca9c5c538d5e1a1efc4ae798fee707 (patch)
tree551b153833d7a6ba72d99798983ac475d200e3ce /addons/web/static/src/js/views/abstract_controller.js
parent2cfa68b57158f6f4ac49549e79a5eb7f90cefb5f (diff)
[IMP] web: add Odoo view compatibility for OWL
Add a base class for a complete OWL renderer Add a compatibility layer for a Odoo controller that uses a OWL renderer. Co-authored-by: Pierre Rousseau <pro@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/views/abstract_controller.js')
-rw-r--r--addons/web/static/src/js/views/abstract_controller.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/abstract_controller.js b/addons/web/static/src/js/views/abstract_controller.js
index 780b0bcf1b6..70cec99aa86 100644
--- a/addons/web/static/src/js/views/abstract_controller.js
+++ b/addons/web/static/src/js/views/abstract_controller.js
@@ -287,7 +287,7 @@ var AbstractController = mvc.Controller.extend(ActionMixin, {
self.handle = handle || self.handle; // update handle if we reloaded
var state = self.model.get(self.handle);
var localState = self.renderer.getLocalState();
- return self.dp.add(self.renderer.updateState(state, params)).then(function () {
+ return self.dp.add(self.updateRendererState(state, params)).then(function () {
if (self._controlPanel && cpUpdateIndex !== self._controlPanel.updateIndex) {
return;
}
@@ -297,6 +297,18 @@ var AbstractController = mvc.Controller.extend(ActionMixin, {
});
},
+ /**
+ * Update the state of the renderer.
+ * This method is required to be overridden in OWL components through the controller
+ * adapter
+ *
+ * @param {Object} state the model state
+ * @param {Object} params will be given to the model and to the renderer
+ */
+ updateRendererState: function(state, params) {
+ return this.renderer.updateState(state, params);
+ },
+
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------