diff --git a/web_group_expand/__manifest__.py b/web_group_expand/__manifest__.py index c98849280..b45446b37 100644 --- a/web_group_expand/__manifest__.py +++ b/web_group_expand/__manifest__.py @@ -4,17 +4,11 @@ "version": "12.0.1.0.0", "license": "AGPL-3", "author": "OpenERP SA, " - "AvanzOSC, " - "Serv. Tecnol. Avanzados - Pedro M. Baeza, " - "Therp BV, " - "Odoo Community Association (OCA)", - "depends": [ - "web", - ], - "qweb": [ - "static/src/xml/expand_buttons.xml", - ], - "data": [ - "views/templates.xml", - ], + "AvanzOSC, " + "Serv. Tecnol. Avanzados - Pedro M. Baeza, " + "Therp BV, " + "Odoo Community Association (OCA)", + "depends": ["web",], + "qweb": ["static/src/xml/expand_buttons.xml",], + "data": ["views/templates.xml",], } diff --git a/web_group_expand/static/src/js/web_group_expand.js b/web_group_expand/static/src/js/web_group_expand.js index 290d0645e..d2de1768e 100644 --- a/web_group_expand/static/src/js/web_group_expand.js +++ b/web_group_expand/static/src/js/web_group_expand.js @@ -4,47 +4,61 @@ odoo.define("web.web_group_expand", function(require) { var qweb = require("web.core").qweb; require("web.ListController").include({ - start: function () { + start: function() { this.$expandGroupButtons = $(qweb.render("web_group_expand.Buttons")); - this.$expandGroupButtons.find("#oe_group_by_expand").on( - "click", this.expandAllGroups.bind(this) - ); - this.$expandGroupButtons.find("#oe_group_by_collapse").on( - "click", this.collapseAllGroups.bind(this) - ); + this.$expandGroupButtons + .find("#oe_group_by_expand") + .on("click", this.expandAllGroups.bind(this)); + this.$expandGroupButtons + .find("#oe_group_by_collapse") + .on("click", this.collapseAllGroups.bind(this)); return this._super.apply(this, arguments); }, - renderPager: function ($node) { + renderPager: function($node) { this._super.apply(this, arguments); this.$expandGroupButtons.toggleClass("o_hidden", !this.renderer.isGrouped); $node.append(this.$expandGroupButtons); }, - expandAllGroups: function () { + expandAllGroups: function() { // We expand layer by layer. So first we need to find the highest // layer that's not already fully expanded. var layer = this.renderer.state.data; while (layer.length) { - var closed = layer.filter(function (group) {return !group.isOpen;}); + var closed = layer.filter(function(group) { + return !group.isOpen; + }); if (closed.length) { // This layer is not completely expanded, expand it this._toggleGroups(closed); break; } // This layer is completely expanded, move to the next - layer = _.flatten(layer.map(function (group) {return group.data;}), true); + layer = _.flatten( + layer.map(function(group) { + return group.data; + }), + true + ); } }, - collapseAllGroups: function () { + collapseAllGroups: function() { // We collapse layer by layer. So first we need to find the deepest // layer that's not already fully collapsed. - var layer = this.renderer.state.data - .filter(function (group) {return group.isOpen;}); + var layer = this.renderer.state.data.filter(function(group) { + return group.isOpen; + }); while (layer.length) { - var next = _.flatten(layer.map(function (group) {return group.data;}), true) - .filter(function (group) {return group.isOpen;}); + var next = _.flatten( + layer.map(function(group) { + return group.data; + }), + true + ).filter(function(group) { + return group.isOpen; + }); if (!next.length) { // Next layer is fully collapsed, so collapse this one this._toggleGroups(layer); @@ -54,19 +68,24 @@ odoo.define("web.web_group_expand", function(require) { } }, - _toggleGroups: function (groups) { + _toggleGroups: function(groups) { var self = this; - var defs = groups.map(function (group) { + var defs = groups.map(function(group) { return self.model.toggleGroup(group.id); }); - $.when(...defs).then(this.update.bind(this, {}, {keepSelection: true, reload: false})); - } + $.when(...defs).then( + this.update.bind(this, {}, {keepSelection: true, reload: false}) + ); + }, }); require("web.ListRenderer").include({ - updateState: function () { + updateState: function() { var res = this._super.apply(this, arguments); - $("nav.oe_group_by_expand_buttons").toggleClass("o_hidden", !this.isGrouped); + $("nav.oe_group_by_expand_buttons").toggleClass( + "o_hidden", + !this.isGrouped + ); return res; }, }); diff --git a/web_group_expand/static/src/xml/expand_buttons.xml b/web_group_expand/static/src/xml/expand_buttons.xml index 3f3b55ff7..68b8e2ba0 100644 --- a/web_group_expand/static/src/xml/expand_buttons.xml +++ b/web_group_expand/static/src/xml/expand_buttons.xml @@ -1,15 +1,19 @@ - + diff --git a/web_group_expand/views/templates.xml b/web_group_expand/views/templates.xml index 0864cf845..9a2baa5ba 100644 --- a/web_group_expand/views/templates.xml +++ b/web_group_expand/views/templates.xml @@ -1,8 +1,15 @@ - + -