summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_renderer.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_renderer.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_renderer.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_renderer.js b/addons/web/static/src/js/views/basic/basic_renderer.js
index 6f5fa263ba8..f741e11b789 100644
--- a/addons/web/static/src/js/views/basic/basic_renderer.js
+++ b/addons/web/static/src/js/views/basic/basic_renderer.js
@@ -91,8 +91,7 @@ var BasicRenderer = AbstractRenderer.extend({
*/
confirmChange: function (state, id, fields, ev) {
this.state = state;
-
- var record = state.id === id ? state : _.findWhere(state.data, {id: id});
+ var record = this._getRecord(id);
if (!record) {
return this._render().then(_.constant([]));
}
@@ -351,6 +350,19 @@ var BasicRenderer = AbstractRenderer.extend({
return _.findWhere(this.allModifiersData, {node: node});
},
/**
+ * This function is meant to be overriden in renderers. It takes a dataPoint
+ * id (for a dataPoint of type record), and should return the corresponding
+ * dataPoint.
+ *
+ * @abstract
+ * @private
+ * @param {string} [recordId]
+ * @returns {Object|null}
+ */
+ _getRecord: function (recordId) {
+ return null;
+ },
+ /**
* @private
* @param {jQueryElement} $el
* @param {Object} node