3
0
Fork 0

[MIG] web_listview_range_select: Migration to 14.0

16.0
Kévin Roche 2021-01-13 14:52:36 +01:00 committed by Christopher Rogos
parent 91c2757133
commit 7485491f0b
5 changed files with 22 additions and 30 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/13.0/web_listview_range_select
:target: https://github.com/OCA/web/tree/14.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-13-0/web-13-0-web_listview_range_select
:target: https://translation.odoo-community.org/projects/web-14-0/web-14-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/13.0
:target: https://runbot.odoo-community.org/runbot/162/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@ -55,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:%2013.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:%2014.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.
@ -89,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/13.0/web_listview_range_select>`_ project on GitHub.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/14.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,10 +6,10 @@
"summary": """
Enables selecting a range of records using the shift key
""",
"version": "13.0.1.0.0",
"version": "14.0.1.0.0",
"category": "Web",
"author": "Onestein, Odoo Community Association (OCA)",
"website": "https://github.com/oca/web",
"website": "https://github.com/OCA/web",
"license": "AGPL-3",
"depends": ["web"],
"data": ["templates/assets.xml"],

View File

@ -3,7 +3,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"

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_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><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_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-14-0/web-14-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/14.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">
@ -406,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:%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_listview_range_select%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">
@ -435,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/13.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/14.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

@ -1,39 +1,31 @@
/* Copyright 2017 Onestein
* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
odoo.define("web_listview_range_select", function(require) {
odoo.define("web_listview_range_select", function (require) {
"use strict";
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() {
_render: function () {
var res = this._super.apply(this, arguments);
this.$table = this.$el.find(".o_list_view");
return res;
},
_getRangeSelection: function() {
_getRangeSelection: function () {
var self = this;
// Get start and end
var start = null,
end = null;
this.$el.find("td.o_list_record_selector input").each(function(i, el) {
var id = $(el)
.closest("tr")
.data("id");
this.$el.find("td.o_list_record_selector input").each(function (i, el) {
var id = $(el).closest("tr").data("id");
var checked = self._range_history.indexOf(id) !== -1;
if (checked && $(el).is(":checked")) {
if (start === null) {
@ -50,12 +42,12 @@ odoo.define("web_listview_range_select", function(require) {
return current_selection;
},
_getSelectionByRange: function(start, end) {
_getSelectionByRange: function (start, end) {
var result = [];
this.$el
.find("td.o_list_record_selector input")
.closest("tr")
.each(function(i, el) {
.each(function (i, el) {
var record_id = $(el).data("id");
if (start !== null && end !== null && i >= start && i <= end) {
result.push(record_id);
@ -66,19 +58,19 @@ odoo.define("web_listview_range_select", function(require) {
return result;
},
_pushRangeHistory: function(id) {
_pushRangeHistory: function (id) {
if (this._range_history.length === 2) {
this._range_history = [];
}
this._range_history.push(id);
},
_deselectTable: function() {
_deselectTable: function () {
// This is needed because the checkboxes are not real checkboxes.
window.getSelection().removeAllRanges();
},
_onClickSelectRecord: function(event) {
_onClickSelectRecord: function (event) {
var el = $(event.currentTarget);
// Firefox shift click fix
@ -96,7 +88,7 @@ odoo.define("web_listview_range_select", function(require) {
var $rows = this.$el
.find("td.o_list_record_selector input")
.closest("tr");
$rows.each(function() {
$rows.each(function () {
// Check input visual
var record_id = $(this).data("id");
if (selection.indexOf(record_id) !== -1) {