From 2f07bbca8c45a593046a370353dc694de50b784a Mon Sep 17 00:00:00 2001 From: kujiu Date: Wed, 4 Oct 2017 10:45:54 +0200 Subject: [FIX] web: Ordering of inline tree views (#19856) Allow to order from several columns in inline tree views (x2many fields in form views). --- addons/web/static/src/js/views/basic/basic_model.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'addons/web/static/src/js/views/basic') diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index 57c4a1f3743..294d7ce077b 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -3666,10 +3666,16 @@ var BasicModel = AbstractModel.extend({ var self = this; // sort records according to ordered_by[0] - var order = list.orderedBy[0]; var data = list.data; var res_ids = list.res_ids; - data.sort(function (record1ID, record2ID) { + var compareRecords = function (record1ID, record2ID, level) { + if(!level) { + level = 0; + } + if(list.orderedBy.length < level + 1) { + return 0; + } + var order = list.orderedBy[level]; var r1 = self.localData[record1ID]; var r2 = self.localData[record2ID]; var data1 = _.extend({}, r1.data, r1._changes); @@ -3680,8 +3686,9 @@ var BasicModel = AbstractModel.extend({ if (data1[order.name] > data2[order.name]) { return order.asc ? 1 : -1; } - return 0; - }); + return compareRecords(record1ID, record2ID, level + 1); + }; + data.sort(compareRecords); // sort res_ids accordingly (only the current range of ids, the one // mapping the data, needs to be sorted) -- cgit v1.2.3 From 03a2a571636657c90b2d344f2ed83cbe6459c081 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 9 Oct 2017 16:50:29 +0200 Subject: [FIX] unfuck JS docstrings --- addons/web/static/src/js/views/basic/basic_model.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/views/basic') diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index 294d7ce077b..5c6f5d2d851 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -198,7 +198,7 @@ var BasicModel = AbstractModel.extend({ * behind must be applied. This function applies changes stored in * '_rawChanges' for a given viewType. * - * @param {string} id local resource id of a record + * @param {string} recordID local resource id of a record * @param {string} viewType the current viewType * @returns {Deferred} resolves to the id of the record */ -- cgit v1.2.3