summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-05-16 12:39:56 +0530
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-05-16 12:39:56 +0530
commit28290faf6d2af77a62a19cd916c9a91ddcf55eaa (patch)
tree6a0ccda9f9b6a3fd6d4d67b29802b14a9d0e6a3a /addons/base/static/src
parentf9592082325796c0b3490ce33ac9832e2157d8cc (diff)
[FIX] Fixed button image position, limit of list and show more every time.
bzr revid: nicolas.vanhoren@openerp.com-20110516070956-63u36dkygncatr7c
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/css/base.css11
-rw-r--r--addons/base/static/src/js/m2o.js67
-rw-r--r--addons/base/static/src/xml/base.xml4
3 files changed, 38 insertions, 44 deletions
diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css
index 9b3ac6ef47c..26ea9e3df45 100644
--- a/addons/base/static/src/css/base.css
+++ b/addons/base/static/src/css/base.css
@@ -827,10 +827,11 @@ body.openerp {
/* Many2one Autosearch */
.openerp .ui_combo {
- height: 20px;
- margin-right: 1px;
- top: 4px;
- width: 22px;
+ height: 19px;
+ top: 6px;
+ width: 20px;
+ position: relative;
+ margin-left: -26px;
}
-/* ------------- End autocomplete ------- */
+/*------------- End autocomplete ------- */
diff --git a/addons/base/static/src/js/m2o.js b/addons/base/static/src/js/m2o.js
index b20eab0689e..d2e369eb8ac 100644
--- a/addons/base/static/src/js/m2o.js
+++ b/addons/base/static/src/js/m2o.js
@@ -7,12 +7,13 @@ openerp.base.m2o = function(openerp){
this.view_manager = view_manager
this.session = session;
this.element = element_id.find('input');
+ this.button = element_id.find('div');
this.dataset = dataset;
var cache = {};
var lastXhr;
this.relation = model;
- this.result_ids = []
- var self = this
+ this.result_ids = [];
+ var self = this;
var $input = this.element.autocomplete({
@@ -24,10 +25,10 @@ openerp.base.m2o = function(openerp){
}
//pass request to server
lastXhr = self.dataset.name_search(search_val, function(obj, status, xhr){
- var result = obj.result
+ var result = obj.result;
var values = [];
if (!result.length) {
- values.push({'value': 'Create...', id: 'create'})
+ values.push({'value': 'Create...', id: 'create', orig_val: ''});
}
$.each(result, function(i, val){
@@ -36,14 +37,13 @@ openerp.base.m2o = function(openerp){
id: val[0],
orig_val: val[1]
});
- self.result_ids.push(result[i][0])
+ self.result_ids.push(result[i][0]);
});
- if (values.length > 10) {
- values = values.slice(0, 10);
- values.push({'value': 'More...', id: 'more'})
+ if (values.length > 7) {
+ values = values.slice(0, 7);
}
- //process response
+ values.push({'value': 'More...', id: 'more', orig_val:''});
cache[search_val] = values;
response(values);
});
@@ -51,19 +51,19 @@ openerp.base.m2o = function(openerp){
},
select: function(event, ui){
- ui.item.value = ui.item.orig_val? ui.item.orig_val : self.element.data( "autocomplete" ).term
+ ui.item.value = ui.item.orig_val? ui.item.orig_val : self.element.data( "autocomplete" ).term;
if (ui.item.id == 'more') {
self.dataset.ids = self.result_ids;
self.dataset.count = self.dataset.ids.length;
- self.dataset.domain = []
- self.element.val('')
+ self.dataset.domain = [];
+ self.element.val('');
var pop = new openerp.base.form.Many2XSelectPopup(null, self.session);
pop.select_element(self.relation, self.dataset);
return;
}
if (ui.item.id == 'create') {
- var val = self.element.val()
+ var val = self.element.val();
self.dataset.create({'name': ui.item.value},
function(r){}, function(r){
var element_id = _.uniqueId("act_window_dialog");
@@ -73,7 +73,7 @@ openerp.base.m2o = function(openerp){
modal: true,
minWidth: 800
});
- self.element.val('')
+ self.element.val('');
var event_form = new openerp.base.FormView(self.view_manager, self.session, element_id, self.dataset, false);
event_form.start();
});
@@ -89,33 +89,26 @@ openerp.base.m2o = function(openerp){
if (ui.item.id == ('create')) {
return true;
}
- ui.item.value = self.element.data("autocomplete").term.length ? self.element.val() + '[' + ui.item.orig_val.substring(self.element.data("autocomplete").term.length) + ']' : this.lastSearch
+ ui.item.value = self.element.data("autocomplete").term.length ? self.element.val() + '[' + ui.item.orig_val.substring(self.element.data("autocomplete").term.length) + ']' : this.lastSearch;
},
});
- $("<div type='button' class='ui_combo'>&nbsp;</div>")
- .attr("tabIndex", -1)
- .attr("title", "Show All Items")
- .insertAfter($input)
- .button({
- icons: {
- primary: "ui-icon-triangle-1-s"
- },
- text: false
- })
- .removeClass("ui-corner-all")
- .addClass("ui-corner-right ui-button-icon")
- .click(function() {
- // close if already visible
- if ($input.autocomplete("widget").is(":visible")) {
- $input.autocomplete( "close" );
- return;
- }
- $(this).blur();
- $input.autocomplete("search", "" );
- $input.focus();
- });
+ this.button.button({
+ icons: {
+ primary: "ui-icon-triangle-1-s"},
+ text: false
+ })
+ .click(function() {
+ // close if already visible
+ if ($input.autocomplete("widget").is(":visible")) {
+ $input.autocomplete( "close" );
+ return;
+ }
+ $(this).blur();
+ $input.autocomplete("search", "" );
+ $input.focus();
+ });
}
});
} \ No newline at end of file
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index 856db3cedbd..141d8665d22 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -350,9 +350,9 @@
t-att-name="widget.name"
t-att-id="widget.element_id + '_field'"
t-att-class="'field_' + widget.type"
- t-att-type="widget.type"
+ t-att-type="widget.type"
style="width: 100%;"/>
-
+ <div type='button' class='ui_combo' tabindex="'-1'" title="'Show All Items'"></div>
</t>
<t t-name="FieldOne2Many">
<div t-att-id="widget.element_id">