* Throw out focusin/focusout: the m2o widget's completion list is
created at the page top (body) so the editable listview can't
generically handle arbitrary widgets via mere focusin/focusout.
* Move responsibility of focus/blur events to the form view and its
widgets.
* Events could not just be named ``focus`` and ``blur`` due to usage
of jquery's event system: jquery will automatically call a method of
the event's name if it exists on the object, which conflicts with
.web.form.Field#focus and leads to an infinite loop (as Field#focus
focuses the field's root element, which triggers the focus event,
which calls the focus method,...) => form-* and widget-*, can be
switched back in trunk
* m2o mess kind-of complex, basically:
- the core input and the menu button behave as blur/focus triggers
- when the autocompletion list is clicked, it will temporarily
remove the focus from the input (blurring it), and put it back
later... on a timer. Issue is the timer, we don't want to rely on
having a bigger timer (as later revisions of the library may
change our timings and it's iffy to rely on timers conserving
order perfectly); on the other hand we know the focus *will* come
back to the input eventually. So we can just avoid propagating
blur iif the blur is the consequence of having clicked on the
completion list.
- roughly the same thing happens when clicking on $drop_down (after
fixing the handling of its final focus to be consistent, as
$drop_down would not re-focus the input if it was *closing* the
completion list)
- pretty sure the menu thing does *not work at all*, but I don't
have the courage of fixing it before committing this part.
Date/datetime widget remains to be handled, basically the core focus
handling is the same as in e.g. a charfield *but* needs to handle (and
ignore) loss of focus from clicking inside the picker
widget. Expecting the level of suck to reach unknown heights.
bzr revid: xmo@openerp.com-20120619072518-lsrhzij5asxt2aea
the user has not modified the editable line after opening it (whether to create a new record or to edit an existing one), so shouldn't be invalid
bzr revid: xmo@openerp.com-20120613153555-fq0moy1q464l92yj
Don't prefilter via name_search if no data has been entered in the m2o
field, it's going to return all records (not paginated) so it's a
waste of time and resources
bzr revid: xmo@openerp.com-20120606124717-h2p211vbrydazado
- Normally when user click on 'Search More' on many2one fields, relation
object records are prefiltered based on the text user entered in the
many2one field.
But if user do not enter any text before click on 'Search More',
system will call name_search() with an empty search criteria - and
this could be quite expensive depending on the size of the dataset!.
(this of name_search() on more that 10.000 products...)
We now do not prefilter records if search value is empty (standard domain
filtering still apply).
bzr revid: xal@openerp.com-20120525131416-ie958wu0cihjslgc
Autobound on 'n' fails with absolute positioned elements.
Make tipsy checks that it's element is still attached to another element
bzr revid: fme@openerp.com-20120209105401-1jl11sy9z1qdwu3t
processed field list protects against onchange recursion (direct or indirect), but it also prevented from triggering onchanges on other fields as well
bzr revid: xmo@openerp.com-20120207161733-wh2hqtax4s1nx9ic