summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic
diff options
context:
space:
mode:
authorMartin Geubelle <mge@odoo.com>2017-04-28 10:25:53 +0200
committerMartin Geubelle <mge@odoo.com>2017-05-04 11:58:26 +0200
commit4a648c227ab0142019e2ee6336ae23a8a11a51b0 (patch)
tree35256c4e3827af92ca7c2f9ac6ea97a787a7129d /addons/web/static/src/js/views/basic
parentb84137c67f181b6324bf1b90fd828ef4b40a41ea (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.js20
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;
});
},