diff options
| author | Aaron Bohy <aab@odoo.com> | 2019-03-13 11:38:11 +0000 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2019-04-02 11:55:57 +0000 |
| commit | 5895d23cbd26beb3bc3c83cc760b3cdbb64b0e85 (patch) | |
| tree | 255f83f6d6518d292f8c65464ffa736691fc0b03 /addons/web/static/src/js | |
| parent | 234d92c4f0c092dca9f10d194ddcff998fc3a886 (diff) | |
[IMP] web: list: add expand attrs
When this attribute is set to true on the <tree> root node, in a
grouped list view, first level groups are automatically opened.
Part of task 1915702
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_model.js | 5 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/list/list_view.js | 1 |
2 files changed, 5 insertions, 1 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 150b97ff0d8..35435a3e500 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -4323,8 +4323,11 @@ var BasicModel = AbstractModel.extend({ self.localData[newGroup.id] = newGroup; } else if (!newGroup.openGroupByDefault || openGroupCount >= self.OPEN_GROUP_LIMIT) { newGroup.isOpen = false; + } else if ('__fold' in group) { + newGroup.isOpen = !group.__fold; } else { - newGroup.isOpen = '__fold' in group ? !group.__fold : true; + // open the group iff it is a first level group + newGroup.isOpen = !self.localData[newGroup.parentID].parentID; } list.data.push(newGroup.id); list.count += newGroup.count; diff --git a/addons/web/static/src/js/views/list/list_view.js b/addons/web/static/src/js/views/list/list_view.js index 60f0bc32cf8..163ac850817 100644 --- a/addons/web/static/src/js/views/list/list_view.js +++ b/addons/web/static/src/js/views/list/list_view.js @@ -54,6 +54,7 @@ var ListView = BasicView.extend({ this.rendererParams.addCreateLineInGroups = this.rendererParams.editable && this.controllerParams.activeActions.create; this.loadParams.limit = this.loadParams.limit || 80; + this.loadParams.openGroupByDefault = !!JSON.parse(this.arch.attrs.expand || "0"); this.loadParams.type = 'list'; }, |
