summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js/data.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-05-24 08:52:05 +0200
committerXavier Morel <xmo@openerp.com>2011-05-24 08:52:05 +0200
commit7321970cf97b4c6b27e0eac1300ea6cda966a6ae (patch)
tree6764acc9240f3eb9324104ac442818be602aa9d5 /addons/base/static/src/js/data.js
parent96c7c16b5fa765791083c79dd1dd455ae7ef39bc (diff)
[ADD] switch to adding special group and count columns, correctly indent inner groups in tree-like structure
bzr revid: xmo@openerp.com-20110524065205-rxulby7dn9gk7qzj
Diffstat (limited to 'addons/base/static/src/js/data.js')
-rw-r--r--addons/base/static/src/js/data.js27
1 files changed, 17 insertions, 10 deletions
diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js
index 443f6cd8b14..57ab2379e5c 100644
--- a/addons/base/static/src/js/data.js
+++ b/addons/base/static/src/js/data.js
@@ -22,15 +22,16 @@ openerp.base.DataGroup = openerp.base.Controller.extend( /** @lends openerp.bas
* @param {Array} domain search domain for this DataGroup
* @param {Object} context context of the DataGroup's searches
* @param {Array} group_by sequence of fields by which to group
+ * @param {Number} [level=0] nesting level of the group
*/
- init: function(session, model, domain, context, group_by) {
+ init: function(session, model, domain, context, group_by, level) {
if (group_by) {
if (group_by.length) {
return new openerp.base.ContainerDataGroup(
- session, model, domain, context, group_by);
+ session, model, domain, context, group_by, level);
} else {
return new openerp.base.GrouplessDataGroup(
- session, model, domain, context);
+ session, model, domain, context, level);
}
}
@@ -38,7 +39,10 @@ openerp.base.DataGroup = openerp.base.Controller.extend( /** @lends openerp.bas
this.model = model;
this.context = context;
this.domain = domain;
- }
+
+ this.level = level || 0;
+ },
+ cls: 'DataGroup'
});
openerp.base.ContainerDataGroup = openerp.base.DataGroup.extend(
/** @lends openerp.base.ContainerDataGroup# */ {
@@ -52,9 +56,10 @@ openerp.base.ContainerDataGroup = openerp.base.DataGroup.extend(
* @param domain
* @param context
* @param group_by
+ * @param level
*/
- init: function (session, model, domain, context, group_by) {
- this._super(session, model, domain, context);
+ init: function (session, model, domain, context, group_by, level) {
+ this._super(session, model, domain, context, null, level);
this.group_by = group_by;
},
@@ -159,7 +164,8 @@ openerp.base.ContainerDataGroup = openerp.base.DataGroup.extend(
return _.extend(
new openerp.base.DataGroup(
self.session, self.model, group.__domain,
- child_context, child_context.group_by),
+ child_context, child_context.group_by,
+ self.level + 1),
group);
}));
});
@@ -176,9 +182,10 @@ openerp.base.GrouplessDataGroup = openerp.base.DataGroup.extend(
* @param model
* @param domain
* @param context
+ * @param level
*/
- init: function (session, model, domain, context) {
- this._super(session, model, domain, context);
+ init: function (session, model, domain, context, level) {
+ this._super(session, model, domain, context, null, level);
},
list: function (ifGroups, ifRecords) {
ifRecords(_.extend(
@@ -400,7 +407,7 @@ openerp.base.DataSetMany2Many = openerp.base.DataSetStatic.extend({
unlink: function(ids) {
// just do nothing
- },
+ }
});
};