628 Commits
Author SHA1 Message Date
Cédric Krier 30b867691a Use larger translation dialog for expanded widget
Closes #13987
2025-04-28 22:12:01 +02:00
Cédric Krier 56a3bd14d9 Set richtext widget inside an .input-group in translation dialog
It is needed to benefit from 6e2ff4b6.

Closes #13987
2025-04-28 22:10:50 +02:00
Cédric Krier 524c3b3cce Hide resizer of last column of tree view
This prevents the table to overflow and create an horizontal scrollbar because
of the negative inset.

Closes #13992
2025-04-29 23:24:16 +02:00
Cédric Krier d1e96023aa Set direction to column for text and richtext widget
Such that the toolbar is put on top and the input is taking the remaining
vertical space.

Closes #13986
2025-04-28 22:07:40 +02:00
Cédric Krier 8348ca4379 Increase minimal ECMAScript version to 8 2025-04-14 17:22:34 +02:00
Cédric Krier e7fb100d8f Increase display size only once per more row
This ensures that the growing rate between display size and rows is the same.

Closes #13972
2025-04-14 09:52:31 +02:00
Cédric Krier 296532218f Declare vals_to_set on the common block where it is used
e38f22986aac reuse vals_to_set later so linter may complain about it not being
defined.
2025-04-30 08:44:05 +02:00
Cédric Krier ae5b18eba0 Increase version number 2025-04-28 16:40:56 +02:00
Cédric Krier 04487b81d4 Prepare release 7.6.0 2025-04-28 16:12:25 +02:00
Cédric Krier 1c794eae1b Use locale format in domain parser and search filter for numbers
Closes #13966
2025-04-07 23:43:31 +02:00
Cédric Krier 2ed845b7e0 Compute digits of float value before applying factor
When applying the factor, we introduce new rounding issue which falsify the
computation of digits.
So it is better to compute the digits using the initial value (coming from the
string parsing) and update the digits based on the order of the factor.

Closes #13964
2025-04-04 18:51:30 +02:00
Cédric Krier 2aafc5626b Correctly clear all kinds of info bar messages
Closes #13951
2025-03-28 17:20:49 +01:00
Cédric Krier e3ad7a6f2b Trigger record message even if current record has not changed
a2c50d4993cc disabled the trigger but it is needed to update the toolbar label
when the number of selected record is changed but not the current record.
2025-03-28 17:13:21 +01:00
Nicolas Évrard 13345232ea Use hasOwnProperty to check for key presence in object 2025-04-15 18:38:45 +02:00
Nicolas Évrard 032f96cdca Do not set twice the result of an on_change call in a x2many
Closes #13971
2025-04-15 16:14:37 +02:00
Cédric Krier 81134c70da Update window form buttons when record is modified
This synchronize the behavior of these buttons with the one from the One2Many
widget.

Closes #13949
2025-03-28 15:53:05 +01:00
Cédric Krier 3b253210ae Initialize position of One2Many widget to None/null 2025-03-28 15:51:55 +01:00
Cédric Krier 1d68553044 Clear browser selection when selecting multiple rows
Closes #13952
2025-03-31 23:18:30 +02:00
Cédric Krier b26b3538cf Always use flex display for #tabcontent except on small screen
On form view, this put the scrollbar for long form only on the form without the
preview.
On small screen the form is switch back to block so the panel-body with the
flex-direction column push the #tabcontent to expand more than the height of
the viewport.

With the content of the preview being always visible without scrollbar (except
for the screen), we can put the navigation at the bottom as natural place.
2025-04-12 12:42:54 +02:00
Nicolas Évrard cfc38c8070 Store column widths by screen size 2025-04-14 22:57:36 +02:00
Nicolas Évrard 8b6e83e5b2 Allow column widths to be reset 2025-04-14 23:16:26 +02:00
Nicolas Évrard 93ae0df5c3 Allow column resizing in Sao
Closes #13115
2025-04-14 23:11:48 +02:00
Nicolas Évrard 15b3e1f5cf Use the position:sticky on the row of the thead
It was previously put on the th because neither Firefox nor Chrome supported it
on thead or tr but it has been solved now.

https://caniuse.com/css-sticky
2024-12-12 10:50:15 +01:00
Nicolas Évrard 4f195c7ffe Add simple chat widget on sidebar of clients 2025-04-12 17:25:28 +02:00
Nicolas Évrard a17172f6dd Toggle the option's selected state on mousedown in the filter window
This applies the changes from 3b0ae1dadfa0 to the filter window
2025-04-12 21:32:15 +02:00
Nicolas Évrard 83d280fede Display checkbox in multiselection in the filter window
This applies the changes from 97e82c27dc17 to the filter window
2025-04-12 21:30:56 +02:00
Nicolas Évrard 9babb76a0f Set sao's multiselection widget height according to its content 2025-03-05 18:13:37 +01:00
Nicolas Évrard baaf7784fa Ensure that update_selection is called if init_selection has failed
Closes #13960
2025-04-03 16:46:56 +02:00
Cédric Krier f7b37fcf3b Display xxx2Many widgets when they become visible
When a tree is used in a xxx2Many widget then we can lazily request the content
of the tree by relying on the intersection observer that is already present at
the bottom of the table.
2025-04-10 19:09:38 +02:00
Cédric Krier 7a9820e5af Change current record for the first selected only if there is no current record
#4028 added the behavior to apply the selected record also on form view the
first time.
But when switching to a calendar view from a form view, the tree states is
stored with the current record. If the calendar view is cleared (always with
sao via the search_filter), then the tree_states_done is cleared and on the
second switch to the form view the current record is override by record stored
in the tree states (from the first form switch).

Closes #13939
2025-03-26 20:07:54 +01:00
Cédric Krier b426fe621c Restore asynchronous save but protected by a single promise
The write RPC must be done asynchronously in order to manage any concurrency
exception.
But the asynchronous RPC can only be done sequentially, so we ensure there can
be only one single pending promise.

Closes #13940
2025-03-25 13:49:53 +01:00
Cédric Krier 6daed3eb95 Test if views attribute is empty using jQuery.isEmptyObject
The views attribute can be just an empty object when the xxx2Many field is
using a different widget like a multiselection.

Closes #13917
2025-03-31 20:01:42 +02:00
Cédric Krier a6c548b400 Check for new record only when saving an actual current record
49cbc9b99ed8 added the calculation of a new variable but before the test that a
current record is actually being saved.

Closes #13946
2025-03-28 16:04:21 +01:00
Cédric Krier ae8c47d987 Use save current feature of Window Form when editing Many2Many record
This show the "Save" button instead of the "Apply changes" which is more
accurate.

Closes #13924
2025-03-15 15:52:40 +01:00
Cédric Krier 9557984b3f Set readonly Screen of One2Many when parent group is readonly
The user must not be allowed to modify records of a One2Many if the parent
record can not be saved.

Closes #13923
2025-03-15 15:47:29 +01:00
Cédric Krier 0719694b36 Set grid template columns to 100% of dict container on XS screen
On XS screen, the dict container has only one column so it must take 100% of
the width instead of fit content of 50%.

Closes #13914
2025-03-10 13:00:29 +01:00
Cédric Krier 9489292259 Use .input-icon for date/time input button in Dict widget
The hidden input is not correctly aligned with the button of the
.input-group-btn.

Closes #13913
2025-03-10 12:54:56 +01:00
Cédric Krier 0059cd28cd Do not use instanceof on value of Date and DateTime of Dict field
Instead we must use the attributes isDate and isDateTime.

Closes #13845
2025-03-10 11:06:00 +01:00
Cédric Krier 4520ef1527 Scroll to the first selected element in tree view
Closes #13344
2025-01-16 16:42:49 +01:00
Cédric Krier 203a5f3a34 Add color as type of icon and image
Closes #13808
2025-01-09 18:52:36 +01:00
Cédric Krier ff6f920521 Return an empty gif as image URL without data
<img> must always have a src attribute so using an empty image is more
compliant with the standards.
2025-01-09 18:41:45 +01:00
Cédric Krier 093fb115ff Add color widget to form view
Closes #13800
2025-01-08 16:53:34 +01:00
Cédric Krier e119120af3 Deactivate open button of One2Many widget if there is no form view
Closes #13797
2025-01-06 17:39:48 +01:00
Nicolas Évrard 1168597b27 Handle errors when processing wizard steps
Closes #13906
2025-02-13 18:35:32 +01:00
Cédric Krier ba23d579e2 Prevent delete record if screen is not deletable
Closes #13885
2025-02-22 23:56:54 +01:00
Cédric Krier e395782ec3 Prevent saving record for readonly screen
Closes #13885
2025-02-22 23:55:57 +01:00
Cédric Krier 65d3f86149 Store the ignore search limit option of export
Closes #13601
2024-12-12 23:16:41 +01:00
Cédric Krier 96de1ae302 Make save call synchronous
This avoid to trigger multiple save in parallel which may raise a concurrency
exception.

Closes #13848
2025-01-30 10:12:49 +01:00
Cédric Krier 8072751d7f Do not load validated fields
If the field is not loaded, there is no need to validate it.
2024-12-28 18:50:04 +01:00
Cédric Krier 8da6e82a15 Fix checkbox and radio alignment
By restoring from the original Bootswatch theme and correctly construct the
checkbox class from Bootstrap.

Closes #13643
2025-02-08 21:14:00 +01:00