[14.0][MIG] web_group_expand

This commit is contained in:
BT-aestebanez
2021-04-30 12:39:54 +02:00
committed by Christopher Rogos
parent cee3f1492f
commit 8a6834a185
10 changed files with 35 additions and 31 deletions

View File

@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/13.0/web_group_expand"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_group_expand"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/14.0/web_group_expand"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_group_expand"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>When grouping a list by a field, this module adds two buttons to expand or
collapse all the groups at once.</p>
<p>The buttons appear in the top right, in place of the pagination.</p>
@@ -389,7 +389,7 @@ collapse all the groups at once.</p>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_group_expand%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_group_expand%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
@@ -413,6 +413,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Jay Vora (SerpentCS) for their alternative implementation</li>
<li>Jan Verbeek &lt;<a class="reference external" href="mailto:jverbeek&#64;therp.nl">jverbeek&#64;therp.nl</a>&gt;</li>
<li>Manuel Calero &lt;<a class="reference external" href="mailto:manuelcalerosolis&#64;gmail.com">manuelcalerosolis&#64;gmail.com</a>&gt;</li>
<li>Alvaro Estebanez (brain-tec AG) &lt;<a class="reference external" href="mailto:alvaro.estebanez&#64;bt-group.com">alvaro.estebanez&#64;bt-group.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
@@ -422,7 +423,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/13.0/web_group_expand">OCA/web</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/14.0/web_group_expand">OCA/web</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>

View File

@@ -1,10 +1,10 @@
odoo.define("web.web_group_expand", function(require) {
odoo.define("web.web_group_expand", function (require) {
"use strict";
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")
@@ -15,18 +15,18 @@ odoo.define("web.web_group_expand", function(require) {
return this._super.apply(this, arguments);
},
renderPager: function($node) {
renderButtons: function () {
this._super.apply(this, arguments);
this.$expandGroupButtons.toggleClass("o_hidden", !this.renderer.isGrouped);
$node.append(this.$expandGroupButtons);
this.$buttons.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) {
var closed = layer.filter(function (group) {
return !group.isOpen;
});
if (closed.length) {
@@ -36,7 +36,7 @@ odoo.define("web.web_group_expand", function(require) {
}
// This layer is completely expanded, move to the next
layer = _.flatten(
layer.map(function(group) {
layer.map(function (group) {
return group.data;
}),
true
@@ -44,19 +44,19 @@ odoo.define("web.web_group_expand", function(require) {
}
},
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) {
var layer = this.renderer.state.data.filter(function (group) {
return group.isOpen;
});
while (layer.length) {
var next = _.flatten(
layer.map(function(group) {
layer.map(function (group) {
return group.data;
}),
true
).filter(function(group) {
).filter(function (group) {
return group.isOpen;
});
if (!next.length) {
@@ -68,9 +68,9 @@ 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(
@@ -80,7 +80,7 @@ odoo.define("web.web_group_expand", function(require) {
});
require("web.ListRenderer").include({
updateState: function() {
updateState: function () {
var res = this._super.apply(this, arguments);
$("nav.oe_group_by_expand_buttons").toggleClass(
"o_hidden",