diff --git a/addons/web/static/src/js/views/list/list_editable_renderer.js b/addons/web/static/src/js/views/list/list_editable_renderer.js index e4dd682ed51..65f5b433c27 100644 --- a/addons/web/static/src/js/views/list/list_editable_renderer.js +++ b/addons/web/static/src/js/views/list/list_editable_renderer.js @@ -217,7 +217,10 @@ ListRenderer.include({ // store the selection range to restore it once the table will // be re-rendered, and the current cell re-selected - var currentRowID, currentWidget, focusedElement, selectionRange; + var currentRowID; + var currentWidget; + var focusedElement; + var selectionRange; if (self.currentRow !== null) { currentRowID = self._getRecordID(self.currentRow); currentWidget = self.allFieldWidgets[currentRowID][self.currentFieldIndex]; @@ -436,8 +439,14 @@ ListRenderer.include({ } var recordID = this._getRecordID(this.currentRow); var recordWidgets = this.allFieldWidgets[recordID]; - toggleWidgets(true); + function toggleWidgets(disabled) { + _.each(recordWidgets, function (widget) { + var $el = widget.getFocusableElement(); + $el.prop('disabled', disabled); + }); + } + toggleWidgets(true); return new Promise((resolve, reject) => { this.trigger_up('save_line', { recordID: recordID, @@ -452,13 +461,6 @@ ListRenderer.include({ }).guardedCatch(() => { toggleWidgets(false); }); - - function toggleWidgets(disabled) { - _.each(recordWidgets, function (widget) { - var $el = widget.getFocusableElement(); - $el.prop('disabled', disabled); - }); - } }, /** * @override @@ -876,8 +878,8 @@ ListRenderer.include({ var $row = this._super.apply(this, arguments); if (this.addTrashIcon) { var $icon = this.isMany2Many ? - $('