-
83web_listview_custom_element_number/README.rst
-
33web_listview_custom_element_number/__openerp__.py
-
24web_listview_custom_element_number/static/src/css/web_listview_custom_element_number.css
-
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
-
123web_listview_custom_element_number/static/src/js/web_listview_custom_element_number.js
-
39web_listview_custom_element_number/views/templates.xml
@ -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 <http://www.gnu.org/licenses/>. |
|
||||
******************************************************************************/ |
|
||||
|
/* |
||||
|
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 { |
.custom_element_number { |
||||
width:80px; |
width:80px; |
||||
|
height: 29px; |
||||
} |
} |
Before Width: 460 | Height: 180 | Size: 9.6 KiB After Width: 270 | Height: 177 | Size: 6.1 KiB |
Before Width: 460 | Height: 180 | Size: 15 KiB After Width: 260 | Height: 154 | Size: 7.2 KiB |
Before Width: 745 | Height: 243 | Size: 28 KiB After Width: 744 | Height: 251 | Size: 27 KiB |
@ -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 <http://www.gnu.org/licenses/>.
|
|
||||
******************************************************************************/ |
|
||||
|
|
||||
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. |
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; |
var self = this; |
||||
this._super.apply(this, arguments); |
|
||||
|
this._super($node); |
||||
|
|
||||
if (this.$pager){ |
|
||||
// unbind previous function that added a select tag
|
|
||||
this.$pager.find('.oe_list_pager_state').unbind("click"); |
|
||||
|
// 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(); |
|
||||
|
// 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("Unlimited") + '">' + |
||||
|
'</datalist>') |
||||
|
.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() |
||||
|
}); |
||||
}, |
}, |
||||
}); |
}); |
||||
}; |
|
||||
|
}); |
@ -1,30 +1,17 @@ |
|||||
<?xml version="1.0" encoding="UTF-8"?> |
<?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) |
|
||||
|
<!-- |
||||
|
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> |
||||
|
|
||||
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. |
|
||||
|
<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> |
||||
|
|
||||
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> |
|
||||
|
</odoo> |