diff options
| author | Martin Geubelle <mge@odoo.com> | 2017-04-28 10:25:53 +0200 |
|---|---|---|
| committer | Martin Geubelle <mge@odoo.com> | 2017-05-04 11:58:26 +0200 |
| commit | 4a648c227ab0142019e2ee6336ae23a8a11a51b0 (patch) | |
| tree | 35256c4e3827af92ca7c2f9ac6ea97a787a7129d /addons/web/static/src/js/views/basic | |
| parent | b84137c67f181b6324bf1b90fd828ef4b40a41ea (diff) | |
[FIX] web: Kanban: load more records in column
The method `load_more` has been wrongly removed from the Kanban model.
Diffstat (limited to 'addons/web/static/src/js/views/basic')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_model.js | 20 |
1 files changed, 17 insertions, 3 deletions
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 fd47e931317..ef93028eeba 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -32,6 +32,7 @@ odoo.define('web.BasicModel', function (require) { * groupedBy: {string[]}, * id: {integer}, * isOpen: {boolean}, + * loadMoreOffset: {integer}, * limit: {integer}, * model: {string, * offset: {integer}, @@ -618,6 +619,12 @@ var BasicModel = AbstractModel.extend({ if (options.offset !== undefined) { this._setOffset(element.id, options.offset); } + if (options.loadMoreOffset !== undefined) { + element.loadMoreOffset = options.loadMoreOffset; + } else { + // reset if not specified + element.loadMoreOffset = 0; + } if (options.currentId !== undefined) { element.res_id = options.currentId; } @@ -2086,6 +2093,7 @@ var BasicModel = AbstractModel.extend({ id: _.uniqueId(params.modelName + '_'), isOpen: params.isOpen, limit: type === 'record' ? 1 : params.limit, + loadMoreOffset: 0, model: params.modelName, offset: params.offset || (type === 'record' ? _.indexOf(res_ids, res_id) : 0), openGroupByDefault: params.openGroupByDefault, @@ -2636,11 +2644,12 @@ var BasicModel = AbstractModel.extend({ context: list.context, domain: list.domain || [], limit: list.limit, - offset: list.offset, + offset: list.loadMoreOffset + list.offset, orderBy: list.orderedBy, }) .then(function (result) { list.count = result.length; + var ids = _.pluck(result.records, 'id'); var data = _.map(result.records, function (record) { var dataPoint = self._makeDataPoint({ data: record, @@ -2655,8 +2664,13 @@ var BasicModel = AbstractModel.extend({ self._parseServerData(fieldNames, dataPoint.fields, dataPoint.data); return dataPoint.id; }); - list.data = data; - list.res_ids = _.pluck(result.records, 'id'); + if (list.loadMoreOffset) { + list.data = list.data.concat(data); + list.res_ids = list.res_ids.concat(ids); + } else { + list.data = data; + list.res_ids = ids; + } return list; }); }, |
