summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/data.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-02-09 18:07:48 +0100
committerXavier Morel <xmo@openerp.com>2012-02-09 18:07:48 +0100
commita7354829cde7d84076c8f7a7beca68217ba9128f (patch)
tree214ae7b4fd49292aa1ca0024ea5a86fdbd5a9e1b /addons/web/static/src/js/data.js
parent5c57613d08b6a49438f23f140043818d06af56cb (diff)
[CNG] make forms worse but pagination not break in case of manyrecords
bzr revid: xmo@openerp.com-20120209170748-l70q7grxgsumha2i
Diffstat (limited to 'addons/web/static/src/js/data.js')
-rw-r--r--addons/web/static/src/js/data.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js
index 01962f829e6..b4a202973dd 100644
--- a/addons/web/static/src/js/data.js
+++ b/addons/web/static/src/js/data.js
@@ -522,6 +522,9 @@ openerp.web.DataSet = openerp.web.OldWidget.extend( /** @lends openerp.web.Data
this._sort.unshift((reverse ? '-' : '') + field);
return undefined;
+ },
+ size: function () {
+ return this.ids.length;
}
});
openerp.web.DataSetStatic = openerp.web.DataSet.extend({
@@ -568,6 +571,7 @@ openerp.web.DataSetSearch = openerp.web.DataSet.extend(/** @lends openerp.web.D
this._super(parent, model, context);
this.domain = domain || [];
this.offset = 0;
+ this._length;
// subset records[offset:offset+limit]
// is it necessary ?
this.ids = [];
@@ -599,6 +603,7 @@ openerp.web.DataSetSearch = openerp.web.DataSet.extend(/** @lends openerp.web.D
}).pipe(function (result) {
self.ids = result.ids;
self.offset = offset;
+ self._length = result.length;
return result.records;
});
},
@@ -619,6 +624,12 @@ openerp.web.DataSetSearch = openerp.web.DataSet.extend(/** @lends openerp.web.D
if (callback)
callback(result);
}, error_callback);
+ },
+ size: function () {
+ if (this._length !== undefined) {
+ return this._length;
+ }
+ return this._super();
}
});
openerp.web.BufferedDataSet = openerp.web.DataSetStatic.extend({