Browse Source
Merge pull request #172 from akretion/8.0_PORT_web_listview_custom_element_number
Merge pull request #172 from akretion/8.0_PORT_web_listview_custom_element_number
8.0 port web listview custom element numberpull/186/head
Guewen Baconnier
10 years ago
12 changed files with 292 additions and 0 deletions
-
74web_listview_custom_element_number/README.rst
-
1web_listview_custom_element_number/__init__.py
-
38web_listview_custom_element_number/__openerp__.py
-
23web_listview_custom_element_number/i18n/fr.po
-
23web_listview_custom_element_number/i18n/web_listview_custom_element_number.pot
-
22web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css
-
BINweb_listview_custom_element_number/static/src/img/icon.png
-
BINweb_listview_custom_element_number/static/src/img/screnshot_chrome.png
-
BINweb_listview_custom_element_number/static/src/img/screnshot_firefox.png
-
BINweb_listview_custom_element_number/static/src/img/screnshot_partner_limit.png
-
81web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js
-
30web_listview_custom_element_number/views/templates.xml
@ -0,0 +1,74 @@ |
|||||
|
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; |
||||
|
|
||||
|
Technical information |
||||
|
--------------------- |
||||
|
|
||||
|
* 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); |
||||
|
|
||||
|
* WARNING: 'Datalist' is a HTML5 tag; If your browser is not HTML5 |
||||
|
compliant, the options will not be displayed (but it is possible for |
||||
|
user to select manually a value); |
||||
|
See browser Support: http://www.w3schools.com/tags/tag_datalist.asp |
||||
|
|
||||
|
|
||||
|
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: |
||||
|
|
||||
|
.. 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 <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 |
||||
|
`here <https://github.com/OCA/web/issues/new?body=module:%20web_listview_custom_element_number%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
|
||||
|
* Sylvain LE GAL (https://twitter.com/legalsylvain) |
||||
|
|
||||
|
Maintainer |
||||
|
---------- |
||||
|
|
||||
|
.. image:: http://odoo-community.org/logo.png |
||||
|
:alt: Odoo Community Association |
||||
|
:target: http://odoo-community.org |
||||
|
|
||||
|
This module is maintained by the OCA. |
||||
|
|
||||
|
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. |
@ -0,0 +1 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
@ -0,0 +1,38 @@ |
|||||
|
# -*- 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 <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
{ |
||||
|
'name': 'Web - Custom Element Number in ListView', |
||||
|
'summary': 'Allow users to set manually a quantity of items to display' |
||||
|
' in a tree view', |
||||
|
'version': '1.0', |
||||
|
'category': 'web', |
||||
|
'author': "Akretion,Odoo Community Association (OCA)", |
||||
|
'website': 'http://www.akretion.com', |
||||
|
'license': 'AGPL-3', |
||||
|
'depends': [ |
||||
|
'web', |
||||
|
], |
||||
|
'data': [ |
||||
|
'views/templates.xml', |
||||
|
], |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
# Translation of OpenERP Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: OpenERP Server 7.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2015-06-07 23:26+0000\n" |
||||
|
"PO-Revision-Date: 2015-06-07 23:26+0000\n" |
||||
|
"Last-Translator: <>\n" |
||||
|
"Language-Team: \n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Plural-Forms: \n" |
||||
|
|
||||
|
#. module: web_listview_custom_element_number |
||||
|
#. openerp-web |
||||
|
#: code:addons/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js:56 |
||||
|
#, python-format |
||||
|
msgid "0 (Unlimited)" |
||||
|
msgstr "0 (Illimité)" |
||||
|
|
@ -0,0 +1,23 @@ |
|||||
|
# Translation of OpenERP Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: OpenERP Server 7.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2015-06-07 23:25+0000\n" |
||||
|
"PO-Revision-Date: 2015-06-07 23:25+0000\n" |
||||
|
"Last-Translator: <>\n" |
||||
|
"Language-Team: \n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Plural-Forms: \n" |
||||
|
|
||||
|
#. module: web_listview_custom_element_number |
||||
|
#. openerp-web |
||||
|
#: code:addons/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js:56 |
||||
|
#, python-format |
||||
|
msgid "0 (Unlimited)" |
||||
|
msgstr "" |
||||
|
|
@ -0,0 +1,22 @@ |
|||||
|
/****************************************************************************** |
||||
|
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 <http://www.gnu.org/licenses/>. |
||||
|
******************************************************************************/ |
||||
|
|
||||
|
.custom_element_number { |
||||
|
width:80px; |
||||
|
} |
After Width: 128 | Height: 128 | Size: 3.3 KiB |
After Width: 460 | Height: 180 | Size: 9.6 KiB |
After Width: 460 | Height: 180 | Size: 15 KiB |
After Width: 745 | Height: 243 | Size: 28 KiB |
@ -0,0 +1,81 @@ |
|||||
|
/****************************************************************************** |
||||
|
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 <http://www.gnu.org/licenses/>.
|
||||
|
******************************************************************************/ |
||||
|
|
||||
|
openerp.web_listview_custom_element_number = function (instance) { |
||||
|
module = instance.web; |
||||
|
_t = module._t; |
||||
|
|
||||
|
/*************************************************************************** |
||||
|
Extend the widget 'instance.web.ListView' to replace the select tag by an |
||||
|
input with datalist option. |
||||
|
***************************************************************************/ |
||||
|
module.ListView.include({ |
||||
|
|
||||
|
/** |
||||
|
* Overload 'load_list' function: |
||||
|
*/ |
||||
|
load_list: function(data) { |
||||
|
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"); |
||||
|
|
||||
|
// 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 = $('<input list="page_value" class="custom_element_number" type="text" placeholder="' + (self._limit || '0') + '">') |
||||
|
.appendTo($this.empty()) |
||||
|
.click(function (e) {e.stopPropagation();}) |
||||
|
.append( |
||||
|
'<datalist id="page_value">' + |
||||
|
'<option value="80">' + |
||||
|
'<option value="200">' + |
||||
|
'<option value="500">' + |
||||
|
'<option value="2000">' + |
||||
|
'<option value="0" label="'+_t("0 (Unlimited)") + '">' + |
||||
|
'</datalist>') |
||||
|
.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(); |
||||
|
} |
||||
|
}).blur(function() { |
||||
|
$(this).trigger('change'); |
||||
|
}) |
||||
|
.keypress(function(e) { |
||||
|
if(e.which == 13) { |
||||
|
$(this).trigger('change'); |
||||
|
} |
||||
|
}) |
||||
|
.focus() |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
}); |
||||
|
}; |
@ -0,0 +1,30 @@ |
|||||
|
<?xml version="1.0" 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 <http://www.gnu.org/licenses/>. |
||||
|
****************************************************************************--> |
||||
|
|
||||
|
<openerp> |
||||
|
<data> |
||||
|
<template id="assets_backend" name="web_listview_custom_element_number assets" inherit_id="web.assets_backend"> |
||||
|
<xpath expr="." position="inside"> |
||||
|
<link rel="stylesheet" href="/web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css"/> |
||||
|
<script type="text/javascript" src="/web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js"></script> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
</data> |
||||
|
</openerp> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue