This commit introduces a date picker OWL component meant to handle the
following use-cases:
- date picker
- date & time picker
- date range picker
- date & time range picker
Basically, this component is the union of the two previous third-party
libraries handling these cases: TempusDominus and DateRangePicker.
New components introduced:
* The main addition of this commit is the `DateTimePicker` itself which
handles the display and interactions of the calendar and time pickers.
> see @web/core/datetime/datetime_picker
* The picker can then be coupled to an input using the
`useDateTimePicker` hook. The purpose of this hook is to handle events
on a given input element and syncronize its value to a date picker it
will spawn in a popover.
> see @web/core/datetime/datetime_hook
* Lastly, a simple `DateTimeInput` component will render an input and
call the hook mentioned above to handle it. This component is
effectively replacing the previous DatePicker and DateTimePicker
components (note that it does not handle range values).
> see @web/core/datetime/datetime_input
Another noticeable change of this commit is the definition of daterange
fields in views:
- Previously, the arch would have to define both fields
and bind them via their options, while also adding an arrow between
inputs or other forms of connection.
- In the new implementation, only the start date field must be declared,
and a date range can be spawned by providing an `end_date_field` in its
options.
Example:
```xml
<field
name="start_datetime"
widget="daterange"
options="{'end_date_field': 'end_datetime'}"
/>
```
warning Added limitations:
- this new way of declaring date ranges means that templates have been
revised to declare one field tag instead of two. This means that list
views using date ranges have lost the ability to be sorted on their end
date fields.
> Justification: the current use cases have been reviewed and it has
been decided that it was not needed to sort on the end date on the
affected list views.
> Workaround: drop the date range and declare both fields as simple date
pickers (i.e. without the end_date_field option).
- all modifiers applied to a field using a date range will be copied and
applied to the end date field. There is no way to define modifiers
specific to one field or the other.
> Justification: there was no use case where one of the two fields
needed specific modifiers.
> Workaround: same as the previous point: split the range into 2 simple
date picker fields.
Additional notes:
- the widget="daterange" is not mandatory in form views, but is required
in list views because only fields with explicit widgets will not be
rendered as simple <span> elements. The date range feature will be
available as soon as an end_date_field is specified.
- as the end date field is not explicitly defined in the view anymore,
any modifier depending on it need to have it defined as invisible
somewhere in the arch.
Task ID: 3121497
closesodoo/documentation#4330
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit updates the documentation of JS fields:
- style and notation have been adapted to keep in line with the current
documentation writing guidelines;
- some outdated bits have been updated or removed (this is rather a
correction of misleading information than a proper update as no new
information has been added).
Part-of: odoo/documentation#4330
This commit adds some documentation for features recently added to SelectMenu
and TagsList components during the saas-16.3 development. A screenshot has
been provided to the advances use case of the SelectMenu, with a customization
of the bottom area of the dropdown, to create display a button allowing the
creation of items.
closesodoo/documentation#4468
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The JavaScript cheatsheet is outdated, we therefore remove it and
replace it by multiple howtos:
- Create a view from scratch
- Extending an existing view
- Create a field from scratch
- Extend an existing field
- Create a client action
There is other subjects to introduce as the web framework is big. Other
future contributions will cover them.
closesodoo/documentation#4020
X-original-commit: 7e4435deb8
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
This commit adds the documentation for core components that have
been improved or moved during the Studio refactor. Some new props
have been added, and the documentation is now present as expected.
Components involved:
- Notebook
- SelectMenu
- TagsList
closesodoo/documentation#4007
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
RST cleanup to comply with the RST guidelines. This is required so we
can use "make test", as there are currently hundreds of errors. For now,
it is unusable because of the oldest code in this repo.
closesodoo/documentation#3589
X-original-commit: 7ae76bad42
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Those components were added during the Owl rewrite of the webclient
that happened in 16.0. Unfortunately, there was still no documentation
for them.
This commits fixes that by adding documentation for the Notebook and
the Colorlist components.
closesodoo/documentation#3586
X-original-commit: 7a9d807bcc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
This commit adds the documentation for the SelectMenu component, introduced
in saas-16.1. This documentation gives some example of its usage.
An image is also added, to better illustrate the grouping functionality.
closesodoo/documentation#3575
X-original-commit: 4a220d61fe
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
Since 16.0, the documentation for this component was no longer
correct, since the component was moved to web during the refactor
of the webclient views. This commit also adds documentation of
props that were introduced during the refactor, already present
in 16.0.
closesodoo/documentation#3507
X-original-commit: fc79df42fd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Add a new content focused on SCSS and user-interface.
- SCSS coding guidelines: regroup information already available (eg [1])
or based on "oral tradition".
The aim is not to establish new rules, ~99% of the current codebase
is already compliant.
- SCSS inheritance: explain how SCSS assets management works in odoo.
For example, people still find confusing that overrides are defined
*before* the variable to customize.
- SCSS optimization tips: suggestions to lean SCSS code. Based on SCSS
optimization task's know-how [2].
- CSS variables: explain how this feature is commonly used in odoo to
adapt layout & design without raw CSS overrides.
- UI Icons: Add link to fontAwesome4 library . Replace the picture of
odoo icons with the actual font (90kb image VS 15Kb font)
[1] https://github.com/odoo/odoo/wiki/SCSS-coding-guidelines
[2] https://www.odoo.com/web#id=2704984&menu_id=4720&cids=1&model=project.task&view_type=form
task-3090800
closesodoo/documentation#3327
X-original-commit: 2ca32b40bc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit adds the chapter 3,4,5,6 and 7 of the JavaScript web
framework tutorial.
This new tutorial allows people to discover Owl and the building blocks
of the Odoo JavaScript framework.
closesodoo/documentation#3325
X-original-commit: 54628b4f5b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Géry Debongnie <ged@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit updates the documentation of the position hook, to add
the latest variant "fit". This variant was introduced recently in
commit (1), when using it in the SelectMenu component.
(1): c21c415f38closesodoo/documentation#3261
Signed-off-by: Luca Vitali <luvi@odoo.com>
This commit brings the documentation for the useSpellCheck hook,
introduced in commit (1). The documentation contains some example
and details on how to use the hook properly.
(1): 130719e584
Part-of: odoo/documentation#3261
This commit replaces hard-coded occurrences of the version and of the
last, current and next releases' version with placeholders interpolated
at build time to avoid manually updating these after each freeze.
task-2917614
closesodoo/documentation#3170
X-original-commit: fa2d0f6363
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This adds a simple documentation for the editor's Powerbox and creates
the base for the editor's own documentation in general.
closesodoo/documentation#2586
Signed-off-by: Antoine Guenet (age) <age@odoo.com>
Now that a new styling for API references was added with commit 934f45c,
we can remove the extra CSS that was crafted specifically for JavaScript
API references with commit 05a0a49a. While we're at it, this commit also
applies the new styling to definition lists that were missing it, like
it was done for the page on views with commit 120ae785.
closesodoo/documentation#2378
X-original-commit: 31a9d4a340
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Since odoo/documentation#903, the guideline for the location of new
resource (images, downloadable files, RST includes...) files is to place
those inside the directory of the RST page that references them.
For example, if `doc1.rst` has a reference to `image.png` and to
`download.zip`, the file structure should look like this:
├── parent_doc/
│ └── doc1/
│ │ └── image.png
│ │ └── download.zip
│ └── doc1.rst
│ └── doc2.rst
├── parent_doc.rst
Before this commit, most of the resource files were still located inside
'media' directories holding all the resource files referenced by RST
pages located at the same level as these directories. In the example
above, a single 'media' directory would hold all the resource files
referenced by both `doc1.rst` and `doc2.rst`. Doing so prevented us from
figuring out easily which resource file was referenced by which RST page
and, thus, lead to unused resource files piling up in the repository. It
also made it more complicated to define codeowners regex rules because a
team could not simply be assigned to `/some_page.*` but needed to be
assigned to both `/some_page\.rst` and to the location of 'media'.
In order to help new content writers figure out the guideline when
taking examples from other RST pages, this commit retroactively applies
the guideline to existing resource files and 'media' directories. The
left-over resource files that are not referenced by any RST page are
removed.
task-2497965
Part-of: odoo/documentation#2068
Only `no_create` is required to hide both the 'Create "xxx"' and the
'Create and Edit...' dropdown menu options.
closesodoo/documentation#2016
X-original-commit: 599a137ffc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
closesodoo/documentation#1969
X-original-commit: 9db567159d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
Co-authored-by: William Andre <wan@odoo.com>
Co-authored-by: Ivan Yelizariev <iel@odoo.com>
Recently, the API of useAutofocus has been simplified (see 4308de6aab).
Here we adapt its documentation.
closesodoo/documentation#1572
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Adding basic information about `How to make a test tour`.
task-2742841
closesodoo/documentation#1524
X-original-commit: dbd5a1e1bb
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit adds the developer documentation for a
component recently added to the web_enterprise module.
It also includes examples and a screenshot used in the
documentation.
closesodoo/documentation#1432
X-original-commit: 7763c22db4
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
The "qweb key of the manifest" file was still mentionned even if it has
been replaced by the assets bundles.
See related task: 2352566
closesodoo/documentation#1434
X-original-commit: dc832e1cc8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit applies some remarks by Antoine.
closesodoo/documentation#1328
X-original-commit: 8c1003e363
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>