summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/list-editable.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/list-editable.js')
-rw-r--r--addons/web/static/src/js/list-editable.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/addons/web/static/src/js/list-editable.js b/addons/web/static/src/js/list-editable.js
index 614c6fa42ef..c38c43a4c9c 100644
--- a/addons/web/static/src/js/list-editable.js
+++ b/addons/web/static/src/js/list-editable.js
@@ -1,5 +1,6 @@
/**
- * @namespace handles editability case for lists, because it depends on form and forms already depends on lists it had to be split out
+ * handles editability case for lists, because it depends on form and forms already depends on lists it had to be split out
+ * @namespace
*/
openerp.web.list_editable = function (openerp) {
var KEY_RETURN = 13,
@@ -87,7 +88,7 @@ openerp.web.list_editable = function (openerp) {
}
});
- openerp.web.ListView.List.include(/** @lends openerp.web.ListView.List */{
+ openerp.web.ListView.List.include(/** @lends openerp.web.ListView.List# */{
row_clicked: function (event) {
if (!this.options.editable) {
return this._super(event);
@@ -112,6 +113,7 @@ openerp.web.list_editable = function (openerp) {
cancelled.resolve();
}
cancelled.then(function () {
+ self.view.unpad_columns();
self.edition_form.stop();
self.edition_form.$element.remove();
delete self.edition_form;
@@ -183,7 +185,7 @@ openerp.web.list_editable = function (openerp) {
template: 'ListView.row.form',
registry: openerp.web.list.form.widgets
});
- $.when(self.edition_form.on_loaded({fields_view: self.get_form_fields_view()})).then(function () {
+ $.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () {
// put in $.when just in case FormView.on_loaded becomes asynchronous
$new_row.find('td')
.addClass('oe-field-cell')
@@ -197,6 +199,16 @@ openerp.web.list_editable = function (openerp) {
$new_row.prepend('<td>');
}
});
+ // Add columns for the cancel and save buttons, if
+ // there are none in the list
+ if (!self.options.selectable) {
+ self.view.pad_columns(
+ 1, {except: $new_row, position: 'before'});
+ }
+ if (!self.options.deletable) {
+ self.view.pad_columns(
+ 1, {except: $new_row});
+ }
self.edition_form.do_show();
});