diff --git a/web_listview_custom_element_number/README.rst b/web_listview_custom_element_number/README.rst index 1b936dbf..6c9c2b61 100644 --- a/web_listview_custom_element_number/README.rst +++ b/web_listview_custom_element_number/README.rst @@ -1,14 +1,40 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +========================================================================= Allow users to set manually a quantity of items to display in a tree view ========================================================================= -By default, in Odoo, user can display 80 / 200 / 500 / 2000 elements in -a tree view. With that module, user can select a custom number of items to -display; +This module extends the functionality of web module, to improve list views and +to allow users to display custom quantity of items. + +(By default, in Odoo, user can only display 80 / 200 / 500 / 2000 elements in +a tree view) + +Usage +===== + +To use this module, you need to: + +#. Go to a list view +#. Click on the item '1 - 80 of xxx' +#. Tip a custom quantity of item you want to see, and then press return + +Sample for res.partner model with a limit of 3: + +.. image:: ./web_listview_custom_element_number/static/src/img/screnshot_partner_limit.png + + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/162/9.0 + Technical information ---------------------- +===================== -* replace a select element by an input with datalist option. That allows +* Replace a select element by an input with datalist option. That allows to set a custom value, or to select an option. (same options as before: 80 / 200 / 500 / 2000 / unlimited); @@ -17,38 +43,26 @@ Technical information user to select manually a value); See browser Support: http://www.w3schools.com/tags/tag_datalist.asp +* The display of the datalist input can be different depending of the browser. + * FireFox Display: + .. image:: ./web_listview_custom_element_number/static/src/img/screnshot_firefox.png + * Chrome Display: + .. image:: ./web_listview_custom_element_number/static/src/img/screnshot_chrome.png -Usage ------ - -* Sample for res.partner model with a limit of 3: - -.. image:: web_listview_custom_element_number/static/src/img/screnshot_partner_limit.png - -The display of the datalist input can be different depending of the browser. - -* FireFox Display: - -.. image:: web_listview_custom_element_number/static/src/img/screnshot_firefox.png -* Chrome Display: +Known issues / Roadmap +====================== -.. image:: web_listview_custom_element_number/static/src/img/screnshot_chrome.png - -Limits / Roadmap -================ * When pressing Esc key, it could be user friendly to return to the previous state (before editing the quantity). - Bug Tracker =========== -Bugs are tracked on `GitHub 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 -`here `_. - +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smash it by providing detailed and welcomed feedback. Credits ======= @@ -58,12 +72,19 @@ Contributors * Sylvain LE GAL (https://twitter.com/legalsylvain) +Funders +------- + +The development of this module has been financially supported by: + +* Akretion (http://www.akretion.com) + Maintainer ---------- -.. image:: http://odoo-community.org/logo.png +.. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association - :target: http://odoo-community.org + :target: https://odoo-community.org This module is maintained by the OCA. @@ -71,4 +92,4 @@ 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. -To contribute to this module, please visit http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. diff --git a/web_listview_custom_element_number/__openerp__.py b/web_listview_custom_element_number/__openerp__.py index f3130385..80a0200c 100644 --- a/web_listview_custom_element_number/__openerp__.py +++ b/web_listview_custom_element_number/__openerp__.py @@ -1,33 +1,16 @@ -# -*- encoding: utf-8 -*- -############################################################################## -# -# Web - Custom Element Number in ListView module for Odoo -# Copyright (C) 2015-Today Akretion (http://www.akretion.com) -# @author Sylvain LE GAL (https://twitter.com/legalsylvain) -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# -*- coding: utf-8 -*- +# Copyright (C) 2015-Today Akretion (http://www.akretion.com) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { 'name': 'Web - Custom Element Number in ListView', 'summary': 'Allow users to set manually a quantity of items to display' ' in a tree view', - 'version': '8.0.1.0.0', + 'version': '9.0.1.0.0', 'category': 'web', - 'author': "Akretion,Odoo Community Association (OCA)", - 'website': 'http://www.akretion.com', + 'author': "GRAP,Akretion,Odoo Community Association (OCA)", + 'website': 'https://odoo-community.org/', 'license': 'AGPL-3', 'depends': [ 'web', @@ -35,5 +18,5 @@ 'data': [ 'views/templates.xml', ], - 'installable': False, + 'installable': True, } diff --git a/web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css b/web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css index 2bc13715..478c1746 100644 --- a/web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css +++ b/web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css @@ -1,22 +1,10 @@ -/****************************************************************************** - Web - Custom Element Number in ListView module for Odoo - Copyright (C) 2015-Today Akretion (http://www.akretion.com) - @author Sylvain LE GAL (https://twitter.com/legalsylvain) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -******************************************************************************/ +/* +Copyright (C) 2015-Today Akretion (http://www.akretion.com) +@author: Sylvain LE GAL (https://twitter.com/legalsylvain) +License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ .custom_element_number { width:80px; + height: 29px; } diff --git a/web_listview_custom_element_number/static/src/img/screnshot_chrome.png b/web_listview_custom_element_number/static/src/img/screnshot_chrome.png index ef694434..e89183ef 100644 Binary files a/web_listview_custom_element_number/static/src/img/screnshot_chrome.png and b/web_listview_custom_element_number/static/src/img/screnshot_chrome.png differ diff --git a/web_listview_custom_element_number/static/src/img/screnshot_firefox.png b/web_listview_custom_element_number/static/src/img/screnshot_firefox.png index 7e239ce4..752c9527 100644 Binary files a/web_listview_custom_element_number/static/src/img/screnshot_firefox.png and b/web_listview_custom_element_number/static/src/img/screnshot_firefox.png differ diff --git a/web_listview_custom_element_number/static/src/img/screnshot_partner_limit.png b/web_listview_custom_element_number/static/src/img/screnshot_partner_limit.png index 8668139b..0bfa343f 100644 Binary files a/web_listview_custom_element_number/static/src/img/screnshot_partner_limit.png and b/web_listview_custom_element_number/static/src/img/screnshot_partner_limit.png differ diff --git a/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js b/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js index 5e6ecfb5..23180eee 100644 --- a/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js +++ b/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js @@ -1,81 +1,72 @@ -/****************************************************************************** - Web - Custom Element Number in ListView module for Odoo - Copyright (C) 2015-Today Akretion (http://www.akretion.com) - @author Sylvain LE GAL (https://twitter.com/legalsylvain) +/* +Copyright (C) 2015-Today Akretion (http://www.akretion.com) +@author: Sylvain LE GAL (https://twitter.com/legalsylvain) +License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. +odoo.define('web.web_listview_custom_element_number',function (require) { + "use strict"; - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. + var core = require('web.core'); + var ListView = require('web.ListView'); - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -******************************************************************************/ - -openerp.web_listview_custom_element_number = function (instance) { - module = instance.web; - _t = module._t; + var _t = core._t; /*************************************************************************** - Extend the widget 'instance.web.ListView' to replace the select tag by an + Extend the widget 'web.ListView' to replace the select tag by an input with datalist option. ***************************************************************************/ - module.ListView.include({ + ListView.include({ - /** - * Overload 'load_list' function: - */ - load_list: function(data) { + render_pager: function($node) { + // Call Original function var self = this; - this._super.apply(this, arguments); - - if (this.$pager){ - // unbind previous function that added a select tag - this.$pager.find('.oe_list_pager_state').unbind("click"); + this._super($node); + + // unbind previous function that added a select tag + this.$pager.find('.oe_list_pager_state').unbind("click"); - // bind a new function on click, that add a input type select - this.$pager.find('.oe_list_pager_state').click(function (e) { - e.stopPropagation(); - var $this = $(this); - var $select = $('') - .appendTo($this.empty()) - .click(function (e) {e.stopPropagation();}) - .append( - '' + - '') - .change(function () { - var val = parseInt($select.val(), 10); - if (!isNaN(val)){ - if (val == 0){ - self._limit = null; - } - else{ - self._limit = val; - } - self.page = 0; - self.reload_content(); + // bind a new function on click, that add a input type select + this.$pager.find('.oe_list_pager_state').click(function (e) { + e.stopPropagation(); + var $this = $(this); + var $select = $('') + .appendTo($this.empty()) + .click(function (e) {e.stopPropagation();}) + .append( + '' + + '') + .change(function () { + var val = parseInt($select.val(), 10); + if (!isNaN(val)){ + if (val == 0){ + self._limit = null; } - }).blur(function() { - $(this).trigger('change'); - }) - .keypress(function(e) { - if(e.which == 13) { - $(this).trigger('change'); + else{ + self._limit = val; } - }) - .focus() - }); - } + self.page = 0; + self.reload_content(); + } + }) + .blur(function() { + $(this).trigger('change'); + }) + .keypress(function(e) { + if(e.which == 13) { + $(this).trigger('change'); + } + }) + .bind('select', function () { + $(this).trigger('change'); + }) + .focus() + }); }, }); -}; +}); diff --git a/web_listview_custom_element_number/views/templates.xml b/web_listview_custom_element_number/views/templates.xml index 4a00a4a1..6b25de0e 100644 --- a/web_listview_custom_element_number/views/templates.xml +++ b/web_listview_custom_element_number/views/templates.xml @@ -1,30 +1,17 @@ - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. + - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. + - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -****************************************************************************--> - - - - - - +