mirror of https://github.com/OCA/web.git
[MIG] web_group_expand: migrate to V17
parent
5dfe4819db
commit
88eaec5ab9
|
@ -7,7 +7,7 @@ Group Expand Buttons
|
||||||
!! This file is generated by oca-gen-addon-readme !!
|
!! This file is generated by oca-gen-addon-readme !!
|
||||||
!! changes will be overwritten. !!
|
!! changes will be overwritten. !!
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
!! source digest: sha256:0fb42d09f0995520749d0cb55db14e5ed47e9e037598f2a9ac9e5534887e0666
|
!! source digest: sha256:b5fde9f965d20bdbf8c43c31517883b9d540f190b20715d4a86e09a7b8a774ad
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
||||||
|
@ -73,6 +73,9 @@ Contributors
|
||||||
- Manuel Calero <manuelcalerosolis@gmail.com>
|
- Manuel Calero <manuelcalerosolis@gmail.com>
|
||||||
- Alvaro Estebanez (brain-tec AG) <alvaro.estebanez@bt-group.com>
|
- Alvaro Estebanez (brain-tec AG) <alvaro.estebanez@bt-group.com>
|
||||||
- Mayank Patel <mayankpatel3555@gmail.com>
|
- Mayank Patel <mayankpatel3555@gmail.com>
|
||||||
|
- `360ERP <https://www.360erp.com>`__:
|
||||||
|
|
||||||
|
- Andrea Stirpe
|
||||||
|
|
||||||
Maintainers
|
Maintainers
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "Group Expand Buttons",
|
"name": "Group Expand Buttons",
|
||||||
"category": "Web",
|
"category": "Web",
|
||||||
"version": "16.0.1.0.0",
|
"version": "17.0.1.0.0",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
"author": "OpenERP SA, "
|
"author": "OpenERP SA, "
|
||||||
"AvanzOSC, "
|
"AvanzOSC, "
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 16.0\n"
|
"Project-Id-Version: Odoo Server 17.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -16,6 +16,7 @@ msgstr ""
|
||||||
#. module: web_group_expand
|
#. module: web_group_expand
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/web_group_expand/static/src/xml/list_controller.xml:0
|
#: code:addons/web_group_expand/static/src/xml/list_controller.xml:0
|
||||||
|
#: code:addons/web_group_expand/static/src/xml/list_controller.xml:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Compress"
|
msgid "Compress"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -23,6 +24,7 @@ msgstr ""
|
||||||
#. module: web_group_expand
|
#. module: web_group_expand
|
||||||
#. odoo-javascript
|
#. odoo-javascript
|
||||||
#: code:addons/web_group_expand/static/src/xml/list_controller.xml:0
|
#: code:addons/web_group_expand/static/src/xml/list_controller.xml:0
|
||||||
|
#: code:addons/web_group_expand/static/src/xml/list_controller.xml:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Expand"
|
msgid "Expand"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -6,3 +6,5 @@
|
||||||
- Manuel Calero \<<manuelcalerosolis@gmail.com>\>
|
- Manuel Calero \<<manuelcalerosolis@gmail.com>\>
|
||||||
- Alvaro Estebanez (brain-tec AG) \<<alvaro.estebanez@bt-group.com>\>
|
- Alvaro Estebanez (brain-tec AG) \<<alvaro.estebanez@bt-group.com>\>
|
||||||
- Mayank Patel \<<mayankpatel3555@gmail.com>\>
|
- Mayank Patel \<<mayankpatel3555@gmail.com>\>
|
||||||
|
- [360ERP](https://www.360erp.com):
|
||||||
|
- Andrea Stirpe
|
||||||
|
|
|
@ -366,7 +366,7 @@ ul.auto-toc {
|
||||||
!! This file is generated by oca-gen-addon-readme !!
|
!! This file is generated by oca-gen-addon-readme !!
|
||||||
!! changes will be overwritten. !!
|
!! changes will be overwritten. !!
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
!! source digest: sha256:0fb42d09f0995520749d0cb55db14e5ed47e9e037598f2a9ac9e5534887e0666
|
!! source digest: sha256:b5fde9f965d20bdbf8c43c31517883b9d540f190b20715d4a86e09a7b8a774ad
|
||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||||
<p><a class="reference external image-reference" 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 image-reference" 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 image-reference" href="https://github.com/OCA/web/tree/17.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 image-reference" href="https://translation.odoo-community.org/projects/web-17-0/web-17-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 image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
<p><a class="reference external image-reference" 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 image-reference" 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 image-reference" href="https://github.com/OCA/web/tree/17.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 image-reference" href="https://translation.odoo-community.org/projects/web-17-0/web-17-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 image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||||
<p>When grouping a list by a field, this module adds two buttons to expand
|
<p>When grouping a list by a field, this module adds two buttons to expand
|
||||||
|
@ -416,6 +416,10 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
||||||
<li>Manuel Calero <<a class="reference external" href="mailto:manuelcalerosolis@gmail.com">manuelcalerosolis@gmail.com</a>></li>
|
<li>Manuel Calero <<a class="reference external" href="mailto:manuelcalerosolis@gmail.com">manuelcalerosolis@gmail.com</a>></li>
|
||||||
<li>Alvaro Estebanez (brain-tec AG) <<a class="reference external" href="mailto:alvaro.estebanez@bt-group.com">alvaro.estebanez@bt-group.com</a>></li>
|
<li>Alvaro Estebanez (brain-tec AG) <<a class="reference external" href="mailto:alvaro.estebanez@bt-group.com">alvaro.estebanez@bt-group.com</a>></li>
|
||||||
<li>Mayank Patel <<a class="reference external" href="mailto:mayankpatel3555@gmail.com">mayankpatel3555@gmail.com</a>></li>
|
<li>Mayank Patel <<a class="reference external" href="mailto:mayankpatel3555@gmail.com">mayankpatel3555@gmail.com</a>></li>
|
||||||
|
<li><a class="reference external" href="https://www.360erp.com">360ERP</a>:<ul>
|
||||||
|
<li>Andrea Stirpe</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="maintainers">
|
<div class="section" id="maintainers">
|
||||||
|
|
|
@ -3,28 +3,33 @@
|
||||||
import {patch} from "@web/core/utils/patch";
|
import {patch} from "@web/core/utils/patch";
|
||||||
import {ListController} from "@web/views/list/list_controller";
|
import {ListController} from "@web/views/list/list_controller";
|
||||||
|
|
||||||
patch(ListController.prototype, "web_group_expand.ListController", {
|
function flatten(arr) {
|
||||||
|
return arr.reduce((flat, toFlatten) => {
|
||||||
|
return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
|
||||||
|
}, []);
|
||||||
|
}
|
||||||
|
|
||||||
|
patch(ListController.prototype, {
|
||||||
async expandAllGroups() {
|
async expandAllGroups() {
|
||||||
// We expand layer by layer. So first we need to find the highest
|
// We expand layer by layer. So first we need to find the highest
|
||||||
// layer that's not already fully expanded.
|
// layer that's not already fully expanded.
|
||||||
let layer = this.model.root.groups;
|
let layer = this.model.root.groups;
|
||||||
while (layer.length) {
|
while (layer.length) {
|
||||||
const closed = layer.filter(function (group) {
|
const closed = layer.filter(function (group) {
|
||||||
return group.isFolded;
|
return group._config.isFolded;
|
||||||
});
|
});
|
||||||
if (closed.length) {
|
if (closed.length) {
|
||||||
// This layer is not completely expanded, expand it
|
// This layer is not completely expanded, expand it
|
||||||
await layer.forEach((group) => {
|
await layer.forEach((group) => {
|
||||||
group.isFolded = false;
|
group._config.isFolded = false;
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// This layer is completely expanded, move to the next
|
// This layer is completely expanded, move to the next
|
||||||
layer = _.flatten(
|
layer = flatten(
|
||||||
layer.map(function (group) {
|
layer.map(function (group) {
|
||||||
return group.list.groups || [];
|
return group.list.groups || [];
|
||||||
}),
|
})
|
||||||
true
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
await this.model.root.load();
|
await this.model.root.load();
|
||||||
|
@ -36,18 +41,17 @@ patch(ListController.prototype, "web_group_expand.ListController", {
|
||||||
// layer that's not already fully collapsed.
|
// layer that's not already fully collapsed.
|
||||||
let layer = this.model.root.groups;
|
let layer = this.model.root.groups;
|
||||||
while (layer.length) {
|
while (layer.length) {
|
||||||
const next = _.flatten(
|
const next = flatten(
|
||||||
layer.map(function (group) {
|
layer.map(function (group) {
|
||||||
return group.list.groups || [];
|
return group.list.groups || [];
|
||||||
}),
|
})
|
||||||
true
|
|
||||||
).filter(function (group) {
|
).filter(function (group) {
|
||||||
return !group.isFolded;
|
return !group._config.isFolded;
|
||||||
});
|
});
|
||||||
if (!next.length) {
|
if (!next.length) {
|
||||||
// Next layer is fully collapsed, so collapse this one
|
// Next layer is fully collapsed, so collapse this one
|
||||||
await layer.forEach((group) => {
|
await layer.forEach((group) => {
|
||||||
group.isFolded = true;
|
group._config.isFolded = true;
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue