[MIG] web_listview_range_select: Migration to 13.0

pull/1741/head
Ernesto Tejeda 2020-11-19 09:53:24 -05:00
parent d6a5c32924
commit bcc3a365ce
6 changed files with 46 additions and 27 deletions

View File

@ -14,13 +14,13 @@ List Range Selection
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/12.0/web_listview_range_select
:target: https://github.com/OCA/web/tree/13.0/web_listview_range_select
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_listview_range_select
:target: https://translation.odoo-community.org/projects/web-13-0/web-13-0-web_listview_range_select
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/162/12.0
:target: https://runbot.odoo-community.org/runbot/162/13.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@ -37,9 +37,10 @@ Usage
To use this module, you need to:
#. click a record;
#. hold shift and click another record;
#. you can repeat this operation as many times as you want.
#. Go to some list view.
#. Click a record.
#. Hold shift and click another record.
#. You can repeat this operation as many times as you want.
Known issues / Roadmap
======================
@ -54,7 +55,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
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
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_listview_range_select%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_listview_range_select%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
@ -71,6 +72,9 @@ Contributors
* Dennis Sluijk <d.sluijk@onestein.nl>
* Aldo Soares <soares_aldo@hotmail.com>
* `Tecnativa <https://www.tecnativa.com>`_:
* Ernesto Tejeda
Maintainers
~~~~~~~~~~~
@ -85,6 +89,6 @@ 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.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/12.0/web_listview_range_select>`_ project on GitHub.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/13.0/web_listview_range_select>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -6,12 +6,12 @@
"summary": """
Enables selecting a range of records using the shift key
""",
"version": "12.0.1.0.0",
"version": "13.0.1.0.0",
"category": "Web",
"author": "Onestein,Odoo Community Association (OCA)",
"author": "Onestein, Odoo Community Association (OCA)",
"website": "https://github.com/oca/web",
"license": "AGPL-3",
"depends": ["web",],
"depends": ["web"],
"data": ["templates/assets.xml"],
"installable": True,
"application": False,

View File

@ -1,2 +1,5 @@
* Dennis Sluijk <d.sluijk@onestein.nl>
* Aldo Soares <soares_aldo@hotmail.com>
* `Tecnativa <https://www.tecnativa.com>`_:
* Ernesto Tejeda

View File

@ -1,5 +1,6 @@
To use this module, you need to:
#. click a record;
#. hold shift and click another record;
#. you can repeat this operation as many times as you want.
#. Go to some list view.
#. Click a record.
#. Hold shift and click another record.
#. You can repeat this operation as many times as you want.

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/12.0/web_listview_range_select"><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-12-0/web-12-0-web_listview_range_select"><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/12.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/13.0/web_listview_range_select"><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_listview_range_select"><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>Enables selecting a range of records using the shift key.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
@ -387,9 +387,10 @@ ul.auto-toc {
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
<p>To use this module, you need to:</p>
<ol class="arabic simple">
<li>click a record;</li>
<li>hold shift and click another record;</li>
<li>you can repeat this operation as many times as you want.</li>
<li>Go to some list view.</li>
<li>Click a record.</li>
<li>Hold shift and click another record.</li>
<li>You can repeat this operation as many times as you want.</li>
</ol>
</div>
<div class="section" id="known-issues-roadmap">
@ -405,7 +406,7 @@ ul.auto-toc {
<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_listview_range_select%0Aversion:%2012.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_listview_range_select%0Aversion:%2013.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">
@ -421,6 +422,10 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<ul class="simple">
<li>Dennis Sluijk &lt;<a class="reference external" href="mailto:d.sluijk&#64;onestein.nl">d.sluijk&#64;onestein.nl</a>&gt;</li>
<li>Aldo Soares &lt;<a class="reference external" href="mailto:soares_aldo&#64;hotmail.com">soares_aldo&#64;hotmail.com</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Ernesto Tejeda</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="maintainers">
@ -430,7 +435,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/12.0/web_listview_range_select">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/13.0/web_listview_range_select">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

@ -7,6 +7,15 @@ odoo.define("web_listview_range_select", function(require) {
var ListRenderer = require("web.ListRenderer");
ListRenderer.include({
/*
I extend 'events' because in v13 Odoo catches 'change' event instead
of the 'click' event for the selector .o_list_record_selector ",
so shift + [click] is not caught.
https://github.com/OCA/OCB/blob/13.0/addons/web/static/src/js/views/list/list_renderer.js#L42:L42
*/
events: _.extend({}, ListRenderer.prototype.events, {
"click tbody .o_list_record_selector": "_onClickSelectRecord",
}),
_range_history: [],
_render: function() {
@ -17,7 +26,6 @@ odoo.define("web_listview_range_select", function(require) {
_getRangeSelection: function() {
var self = this;
// Get start and end
var start = null,
end = null;
@ -28,7 +36,7 @@ odoo.define("web_listview_range_select", function(require) {
.data("id");
var checked = self._range_history.indexOf(id) !== -1;
if (checked && $(el).is(":checked")) {
if (start == null) {
if (start === null) {
start = i;
} else {
end = i;
@ -49,9 +57,9 @@ odoo.define("web_listview_range_select", function(require) {
.closest("tr")
.each(function(i, el) {
var record_id = $(el).data("id");
if (start != null && end != null && i >= start && i <= end) {
if (start !== null && end !== null && i >= start && i <= end) {
result.push(record_id);
} else if (start != null && end == null && start == i) {
} else if (start !== null && end === null && start === i) {
result.push(record_id);
}
});
@ -70,9 +78,8 @@ odoo.define("web_listview_range_select", function(require) {
window.getSelection().removeAllRanges();
},
_onSelectRecord: function(event) {
_onClickSelectRecord: function(event) {
var el = $(event.currentTarget);
var res = this._super(event);
// Firefox shift click fix
if (/firefox/i.test(navigator.userAgent) && event.shiftKey) {
@ -102,7 +109,6 @@ odoo.define("web_listview_range_select", function(require) {
this._updateSelection();
this._deselectTable();
}
return res;
},
});
});