| Age | Commit message (Collapse) | Author |
|
Some widgets like list editable use and change values dictionary. When the write is called, the values in the cache is equal to the changes send => field no dirty => no change triggered.
|
|
Provide a more informative error message than "undefined is not a
function" when a method passed by name to the events object is missing
on the widget.
|
|
url from livechat to male it work outside odoo server. In website_livechat, the web.session js namespace is redifined, and i'm still not sure this is a good idea
|
|
to compute the offset of a DOM element
|
|
When a button in the modal's footer has an onclick handler and closes the
modal, the action of closing the modal should wait for the potential deferred
returned by the handler.
For instance, if an handler performs an asynchronous call and, when resolved,
triggers a notification, the notification doesn't reach the webclient if the
modal is already closed because the widgets hierarchy is broken.
|
|
|
|
This attribute can be used when the view needs a searchview but wants it to be hidden.
|
|
|
|
Contains a new ajax post function that comes from mdo's
original code and that I was not able to get rid of.
|
|
Widgets and website display images or display the type with icon like pdf, doc...
|
|
from 500 to 1000, as requested by fp
|
|
contain the record
|
|
|
|
|
|
The dataset implementation has been improved to handle the result of a `read`
on ids that are already modified in the dataset: the lists `to_create` and
`to_write` are updated properly.
|
|
Add a key icon in the view's prototype corresponding to the font-awesome icon
to display in the view switcher.
|
|
If the module barcodes is installed, a BarcodeEvents singleton is
automatically instanciated. It listens to keypresses and, when a
sequence of keys represents a barcode, it broadcasts a 'barcode_scanned'
event on core.bus containing the barcode string.
|
|
Since rev. 16eb36ff, do_show() and do_hide() on widgets toggle the classname
o_hidden on which the rule 'display: none' is defined, instead of calling
jQuery's show() and hide().
The method do_toggle(), sharing the same logic, has been introduced in rev.
74c5f772.
From now on, every widgets should call do_toggle() instead of $el.toggle() as
it will have undesiderable effects (they should call do_show() and do_hide()
instead of $el.show() and $el.hide() as well, this as been done in 16eb36ff).
This rev. replaces all calls to $el.toggle() by do_toggle(). It also adds
an optional argument to do_toggle() to force hidding or showing the widget.
|
|
Add "Alert" and "Confirmation" as default titles for
alert and confirm dialogs
|
|
This allows to open a simple message dialog with potential
action when the unique "ok" button is clicked
|
|
|
|
Backport of the Notification system
|
|
|
|
The problem of $el.show()/hide() is that calling show() on a jQuery element on which
there is no display rule in the stylesheet automatically sets 'display: block'.
However, when a jQuery element is not yet in the DOM, the rules defined on it are not yet
applied, meaning that calling show() will set its display to block (in inline style),
even if there is different a css rule (e.g. 'dislay: flex'). As the inline style takes the
priority over the stylesheet, the correct display won't be applied, even when the widget
will be appended in the DOM, resulting in a possibly broken layout.
|
|
The main purpose of this commit is to be consistent with the enterprise edition,
in which the event 'DOM_updated' is triggered when new content is inserted in
the DOM. This way, addons that need to know when a view has been attached in the DOM
(e.g. web_tip) can listen to this event and will work fine with both editions
of the web addon.
With the actual structure of the webclient (action_manager, view_manager),
there is no easy way to decide whether or not a view is attached in the DOM,
because every rendering is performed in a detached element. For instance,
when a view_manager instantiates a new view, it appends it in its $el once
the view is ready, but it can't know if its $el is attached in the DOM (it is
only the case if the view_manager is the current action of the action manager).
This rev. introduces utility functions to centralize the appending/prepending of
content, so that an event can be triggered (at a unique place) when the content
is really in the DOM. These functions are used by the the action_manager and the
view_manager.
Another change is that the action_manager keeps the view_manager informed when
they are attached in/detached from the DOM, through the variable is_in_DOM.
|
|
|
|
for html field) and website
|
|
must call web.DataModel.
|
|
takes now an object of options for the Dialog, containing two possible
callbacks (for confirm and cancel).
|
|
introduced by forwardport: a3041949364141eaa66b22ab0d72227b675df324
initial commit in 8.0: 19eda68547917cfabe923ea41edb8ac7beb141b6
|
|
|
|
Pager's state can now be edited (mainly to change the limit,
but the range of values as well).
|
|
Error when click on other record after an update on a one2many record in list editable which have an 'add an item' by checkbox selection
|
|
|
|
|
|
|
|
|
|
|
|
Let arrow keys, tab and escape pass through. We still want users to be
able to use eg. arrow keys to be used when selecting a radio item. This
will always work in Chrom{e,ium} because they do not dispatch keypress
events for these types of keys, only keydown/keyup events. Firefox does
dispatch keypress events. This makes sure that we do not touch those
types of events in Firefox.
devices have to fire keypresses every 50ms minimum
Previously this was 100ms. This works just as well, but was mainly in
there for testing purposes.
|
|
Before this, users were only able to press a key when all other keys
were released to prevent a key from repeating. This works but when
typing you usually press the next key before releasing the current
one. This allows users to do exactly that while still blocking keys from
repeating.
|
|
Implement a new way of dealing with barcode events. This was necessary
because the old way of dealing with input coming from barcode devices
did not stop keyevents. This lead to all kinds of issues (eg. barcode
reader output being inserted as tender in a paymentline).
This new class inserts itself so that it handles all keyevents before
everything else. This means that it has authority on what keypress
events pass and which ones do not. It differentiates between 'real'
keyboard input and input coming from devices by buffering events. When a
certain amount of events come in fast enough, it is handled as a barcode
and a 'barcode_scanned' event is emitted on core.bus. When buffered
events are decided to not be a barcode, they are recreated and
redispatched.
|
|
|
|
This commit adds event bubbling in the event dispatcher mixin (which
inherits from parentedmixins). To do this, it introduces a new small
class 'OdooEvent', which register the target and if the event is stopped.
Also, widgets have a new 'custom_events' dictionary to easily register
callbacks like the event dictionary.
|
|
The bus class listen for many mouse/keyboard events and trigger them on
itself. This was intended for the main bus, but not for custom buses.
This commit should improve the performance when using many buses.
|
|
|
|
|
|
type action in help message and fix account dashboard help message
|
|
|
|
|
|
error.
Better solution welcome.
|