diff options
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.js | 16 |
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 |
