[IMP] cleanup advanced search fields
bzr revid: xmo@openerp.com-20120516122551-c670k5lrqxnyx5ej
This commit is contained in:
parent
5bd32b9373
commit
378100e3ac
|
@ -1772,22 +1772,18 @@ instance.web.search.ExtendedSearchProposition = instance.web.OldWidget.extend(/*
|
|||
}
|
||||
|
||||
var type = field.type;
|
||||
var obj = instance.web.search.custom_filters.get_object(type);
|
||||
if(obj === null) {
|
||||
obj = instance.web.search.custom_filters.get_object("char");
|
||||
}
|
||||
this.value = new (obj) (this);
|
||||
if(this.value.set_field) {
|
||||
this.value.set_field(field);
|
||||
var Field = instance.web.search.custom_filters.get_object(type);
|
||||
if(!Field) {
|
||||
Field = instance.web.search.custom_filters.get_object("char");
|
||||
}
|
||||
this.value = new Field(this, field);
|
||||
_.each(this.value.operators, function(operator) {
|
||||
$('<option>', {value: operator.value})
|
||||
.text(String(operator.text))
|
||||
.appendTo(self.$element.find('.searchview_extended_prop_op'));
|
||||
});
|
||||
this.$element.find('.searchview_extended_prop_value').html(
|
||||
this.value.render({}));
|
||||
this.value.start();
|
||||
var $value_loc = this.$element.find('.searchview_extended_prop_value').empty();
|
||||
this.value.appendTo($value_loc);
|
||||
|
||||
},
|
||||
get_proposition: function() {
|
||||
|
@ -1800,9 +1796,10 @@ instance.web.search.ExtendedSearchProposition = instance.web.OldWidget.extend(/*
|
|||
}
|
||||
});
|
||||
|
||||
instance.web.search.ExtendedSearchProposition.Field = instance.web.OldWidget.extend({
|
||||
start: function () {
|
||||
this.$element = $("#" + this.element_id);
|
||||
instance.web.search.ExtendedSearchProposition.Field = instance.web.Widget.extend({
|
||||
init: function (parent, field) {
|
||||
this._super(parent);
|
||||
this.field = field;
|
||||
}
|
||||
});
|
||||
instance.web.search.ExtendedSearchProposition.Char = instance.web.search.ExtendedSearchProposition.Field.extend({
|
||||
|
@ -1827,33 +1824,23 @@ instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.Ext
|
|||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
],
|
||||
/**
|
||||
* Date widgets live in view_form which is not yet loaded when this is
|
||||
* initialized -_-
|
||||
*/
|
||||
widget: function () { return instance.web.DateTimeWidget; },
|
||||
get_value: function() {
|
||||
return this.datewidget.get_value();
|
||||
},
|
||||
start: function() {
|
||||
this._super();
|
||||
this.datewidget = new instance.web.DateTimeWidget(this);
|
||||
this.datewidget.prependTo(this.$element);
|
||||
var ready = this._super();
|
||||
this.datewidget = new (this.widget())(this);
|
||||
this.datewidget.appendTo(this.$element);
|
||||
return ready;
|
||||
}
|
||||
});
|
||||
instance.web.search.ExtendedSearchProposition.Date = instance.web.search.ExtendedSearchProposition.Field.extend({
|
||||
template: 'SearchView.extended_search.proposition.empty',
|
||||
operators: [
|
||||
{value: "=", text: _lt("is equal to")},
|
||||
{value: "!=", text: _lt("is not equal to")},
|
||||
{value: ">", text: _lt("greater than")},
|
||||
{value: "<", text: _lt("less than")},
|
||||
{value: ">=", text: _lt("greater or equal than")},
|
||||
{value: "<=", text: _lt("less or equal than")}
|
||||
],
|
||||
get_value: function() {
|
||||
return this.datewidget.get_value();
|
||||
},
|
||||
start: function() {
|
||||
this._super();
|
||||
this.datewidget = new instance.web.DateWidget(this);
|
||||
this.datewidget.prependTo(this.$element);
|
||||
}
|
||||
instance.web.search.ExtendedSearchProposition.Date = instance.web.search.ExtendedSearchProposition.DateTime.extend({
|
||||
widget: function () { return instance.web.DateWidget; }
|
||||
});
|
||||
instance.web.search.ExtendedSearchProposition.Integer = instance.web.search.ExtendedSearchProposition.Field.extend({
|
||||
template: 'SearchView.extended_search.proposition.integer',
|
||||
|
@ -1900,9 +1887,6 @@ instance.web.search.ExtendedSearchProposition.Selection = instance.web.search.Ex
|
|||
{value: "=", text: _lt("is")},
|
||||
{value: "!=", text: _lt("is not")}
|
||||
],
|
||||
set_field: function(field) {
|
||||
this.field = field;
|
||||
},
|
||||
get_value: function() {
|
||||
return this.$element.val();
|
||||
}
|
||||
|
|
|
@ -975,11 +975,12 @@
|
|||
</div>
|
||||
</t>
|
||||
<t t-name="web.datetimepicker">
|
||||
<t t-set="placeholder" t-value="widget.getParent().node and widget.getParent().node.attrs.placeholder"/>
|
||||
<div class="oe_datepicker_root oe_form_field_datetime">
|
||||
<input type="text" class="oe_datepicker_container" disabled="disabled" style="display: none;"/>
|
||||
<input type="text"
|
||||
t-att-name="widget.name"
|
||||
t-att-placeholder="widget.getParent().node.attrs.placeholder"
|
||||
t-att-placeholder="placeholder"
|
||||
t-attf-class="oe_datepicker_master field_#{widget.type_of_date} oe_form_field_#{widget.type_of_date}"
|
||||
/><img class="oe_input_icon oe_datepicker_trigger" t-att-src='_s + "/web/static/src/img/ui/field_calendar.png"'
|
||||
title="Select date" width="16" height="16" border="0"/>
|
||||
|
@ -1513,21 +1514,21 @@
|
|||
</li>
|
||||
</t>
|
||||
<t t-name="SearchView.extended_search.proposition.char">
|
||||
<input t-att-id="widget.element_id" class="field_char"/>
|
||||
<input class="field_char"/>
|
||||
</t>
|
||||
<t t-name="SearchView.extended_search.proposition.empty">
|
||||
<span t-att-id="widget.element_id"></span>
|
||||
<span/>
|
||||
</t>
|
||||
<t t-name="SearchView.extended_search.proposition.integer">
|
||||
<input type="number" t-att-id="widget.element_id" class="field_integer" step="1"/>
|
||||
<input type="number" class="field_integer" step="1"/>
|
||||
</t>
|
||||
<t t-name="SearchView.extended_search.proposition.float">
|
||||
<input type="number" t-att-id="widget.element_id" class="field_float" step="0.01"/>
|
||||
<input type="number" class="field_float" step="0.01"/>
|
||||
</t>
|
||||
<t t-name="SearchView.extended_search.proposition.boolean">
|
||||
</t>
|
||||
<t t-name="SearchView.extended_search.proposition.selection">
|
||||
<select t-att-id="widget.element_id">
|
||||
<select>
|
||||
<t t-foreach="widget.field.selection" t-as="element">
|
||||
<option t-att-value="element[0]"><t t-esc="element[1]"/></option>
|
||||
</t>
|
||||
|
|
|
@ -462,9 +462,21 @@ Many To One
|
|||
Advanced Search
|
||||
+++++++++++++++
|
||||
|
||||
The advanced search is now a more standard
|
||||
:js:class:`~openerp.web.search.Input` configured to be rendered in the
|
||||
drawer.
|
||||
* The advanced search is now a more standard
|
||||
:js:class:`~openerp.web.search.Input` configured to be rendered in
|
||||
the drawer.
|
||||
|
||||
* :js:class:`~openerp.web.search.ExtendedSearchProposition.Field` are
|
||||
now standard widgets, with the "right" behaviors (they don't rebind
|
||||
their ``$element`` in ``start()``)
|
||||
|
||||
* The ad-hoc optional setting of the openerp field descriptor on a
|
||||
:js:class:`~openerp.web.search.ExtendedSearchProposition.Field` has
|
||||
been removed, the field descriptor is now passed as second argument
|
||||
to the
|
||||
:js:class:`~openerp.web.search.ExtendedSearchProposition.Field`'s
|
||||
constructor, and bound to its
|
||||
:js:attr:`~openerp.web.search.ExtendedSearchProposition.Field.field`.
|
||||
|
||||
.. [#previous]
|
||||
|
||||
|
|
Loading…
Reference in New Issue