Commit Graph

73 Commits

Author SHA1 Message Date
Julien Mougenot
d1c810739e [IMP] web: Owl DateTimePicker
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

closes odoo/documentation#4330

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-04 01:05:53 +02:00
Julien Mougenot
1479ddc2af [REF] web: update JS fields documentation
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
2023-07-04 01:05:52 +02:00
luvi
0aad6eafda [IMP] web: add documentation for Core components
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.

closes odoo/documentation#4468

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-06-06 12:49:44 +02:00
Mathieu Duckerts-Antoine
70b69857e9 [IMP] abstract actions: adapt code after some legacy code removal
closes odoo/documentation#3722

Signed-off-by: Géry Debongnie <ged@odoo.com>
2023-05-17 14:46:58 +02:00
Antoine Vandevenne (anv)
8c29d1fd6a [FIX] reference/services: mark optional the params parameter of rpc
closes odoo/documentation#4282

X-original-commit: c1b38dc1f3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-27 18:25:21 +02:00
Martin Trigaux
1e39949363 [IMP] reference: update markup documentation
closes odoo/documentation#3612

Related: odoo/odoo#111850
Related: odoo/enterprise#36728
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-04-13 16:39:45 +02:00
fdardenne
56a5b0480e [IMP] create JavaScript howtos
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.

closes odoo/documentation#4020

X-original-commit: 7e4435deb8
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
2023-04-05 13:57:53 +02:00
luvi
5e248b7017 [IMP] web: Add core components documentation
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

closes odoo/documentation#4007

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-04-04 18:07:11 +02:00
Géry Debongnie
f6ce2b9904 [IMP] developer: add description of disabled prop to Dropdown
This prop has been implemented in pr https://github.com/odoo/odoo/pull/115201/files

closes odoo/documentation#3828

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-14 17:03:41 +01:00
Jonathan Castillo (jcs)
65d71dd7be [FIX] *: RST cleanup
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.

closes odoo/documentation#3589

X-original-commit: 7ae76bad42
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-15 16:03:06 +01:00
luvi
f4c8a0f929 [ADD] web: add core components documentation
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.

closes odoo/documentation#3586

X-original-commit: 7a9d807bcc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-15 16:03:03 +01:00
luvi
a844c0aa12 [ADD] web: add SelectMenu documentation
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.

closes odoo/documentation#3575

X-original-commit: 4a220d61fe
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-14 18:12:04 +01:00
luvi
128bc1786c [FIX] web: fix wrong ActionSwiper documentation
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.

closes odoo/documentation#3507

X-original-commit: fc79df42fd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-08 16:50:05 +01:00
Mahmoud Metwally
c61c65da47 [FW][FIX] developer/javascript_reference: typos and phrasing
closes odoo/documentation#3476

Forward-port-of: odoo/documentation#3470
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-03 06:06:29 +01:00
stefanorigano (SRI)
9571a32131 [IMP] scss: update, improve preexisting content
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

closes odoo/documentation#3327

X-original-commit: 2ca32b40bc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-13 17:33:02 +01:00
fdardenne
8a30786495 [IMP] developer: JavaScript tutorial: chapter 3-7
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.

closes odoo/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>
2023-01-12 19:08:49 +01:00
Horacio Tellez
d8c9f6afa4 [FIX] developer: typo on a code example in the framework overview
There was a variable being used that was undeclared.

closes odoo/documentation#3316

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-11 15:39:02 +01:00
luvi
ad6cde3181 [IMP] web: update usePosition API
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): c21c415f38

closes odoo/documentation#3261

Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-01-09 12:22:44 +01:00
luvi
bca9ac151f [ADD] web: add useSpellCheck hook documentation
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
2023-01-09 12:22:44 +01:00
Mahmoud Metwally
1a95d1cd6f Update qweb.rst
closes odoo/documentation#3289

X-original-commit: 8cde1f7b74
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-04 15:48:18 +01:00
Antoine Vandevenne (anv)
b3a1f27461 [IMP] conf.py, *: interpolate the version and releases in the content
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

closes odoo/documentation#3170

X-original-commit: fa2d0f6363
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-12-09 13:03:46 +01:00
Victor Feyens
2d1361c026 [FIX] developer/*: code blocks linting & fixes
invalid xml
invalid python
correct indentation

closes odoo/documentation#3029

X-original-commit: b2121b7891
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-25 10:52:04 +01:00
Victor Feyens
2b75fb4bbb [FIX] developer/*: consistent code-block language specification
X-original-commit: 387cf15e7f
Part-of: odoo/documentation#3029
2022-11-25 10:52:04 +01:00
Ivan Kropotkin
6c7ee83bc4 [FW][FIX] developer/reference: code example
closes odoo/documentation#3028

Forward-port-of: odoo/documentation#2943
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-24 19:25:27 +01:00
Victor Feyens
17fa2e0333 [FIX] developer/mobile: use spaces and not tabs for indentation
closes odoo/documentation#2984

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-11-18 18:04:50 +01:00
Victor Feyens
197dbea3d2 [FIX] *: unbalanced literal markups
Part-of: odoo/documentation#2984
2022-11-18 18:04:50 +01:00
Victor Feyens
c2f8d4bd44 [FIX] *: remove trailing whitespaces
Part-of: odoo/documentation#2984
2022-11-18 18:04:50 +01:00
Victor Feyens
c60bc5f919 [FIX] *: enforce 1 newline on files end
Part-of: odoo/documentation#2984
2022-11-18 18:04:49 +01:00
Antoine Guenet
390126a28a [ADD] frontend: documentation for the editor's Powerbox
This adds a simple documentation for the editor's Powerbox and creates
the base for the editor's own documentation in general.

closes odoo/documentation#2586

Signed-off-by: Antoine Guenet (age) <age@odoo.com>
2022-08-19 11:52:46 +02:00
poma-odoo
ab03f8a9f3 [FW][FIX] developer/frontend: small typos
closes odoo/documentation#2610

Forward-port-of: odoo/documentation#2584
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-08-18 18:25:46 +02:00
Antoine Vandevenne (anv)
5244bd6e23 [IMP] developer/javascript: unify the styling of API references
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.

closes odoo/documentation#2378

X-original-commit: 31a9d4a340
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-07-04 17:47:40 +02:00
Gorash
7c4656f0c4 [IMP] qweb: document 't-cache' and 't-nocache' directives
related with: https://github.com/odoo/odoo/pull/88276

closes odoo/documentation#2056

Related: odoo/enterprise#27582
Related: odoo/upgrade#3451
Related: odoo/odoo#88276
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-06-03 16:40:21 +02:00
Antoine Vandevenne (anv)
8722ea902e [MOV] content/*: move resource files into their related page's directory
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
2022-05-20 14:18:54 +02:00
Beshoy Nabeih
d5d232bb50 [FIX] developer/frontend: typo in the user menu registry example
closes odoo/documentation#2039

X-original-commit: 6d30d81a76
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-19 18:06:18 +02:00
John Kirkwood (kij)
ded1e69553 [IMP] developer: clarify options for many2one widget
Only `no_create` is required to hide both the 'Create "xxx"' and the
'Create and Edit...' dropdown menu options.

closes odoo/documentation#2016

X-original-commit: 599a137ffc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-18 16:05:03 +02:00
wan
889c9cf0f9 [REF] i18n/localization.rst: rework the entire localization tutorial
closes odoo/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>
2022-05-09 14:03:24 +02:00
Bruno Boi
0c0a7086ac [IMP] hooks: usePosition new API
closes odoo/documentation#1598

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-21 10:15:16 +01:00
Victor Feyens
d4367c4d9a [FIX] developer/http: adapt to recent httppocalypse changes
See https://github.com/odoo/odoo/pull/78857

closes odoo/documentation#1640

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-02-28 15:25:48 +00:00
Mathieu Duckerts-Antoine
9f179bd49d [IMP] hooks: useAutofocus new API
Recently, the API of useAutofocus has been simplified (see 4308de6aab).
Here we adapt its documentation.

closes odoo/documentation#1572

Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2022-02-11 16:06:42 +00:00
Mathieu Duckerts-Antoine
2269ee51e8 [REF] notifications: removal of param messageIsHtml
closes odoo/documentation#1557

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-02-10 13:22:39 +00:00
Mathieu Duckerts-Antoine
484d245556 [IMP] hooks: document useAutofocus
Part-of: odoo/documentation#1557
2022-02-10 13:22:38 +00:00
Antoine Vandevenne (anv)
6172c98159 [ADD] developer/reference/frontend: add an icons library page
task-2704984

closes odoo/documentation#1462

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-08 14:26:42 +00:00
Demesmaeker
8966e001c2 [IMP] integration_testing: add information about JS touring
Adding basic information about `How to make a test tour`.

task-2742841

closes odoo/documentation#1524

X-original-commit: dbd5a1e1bb
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-02 15:55:41 +00:00
Niranjan Abhyankar
ce9cc2f48b [FIX] developer/javascript_cheatsheet: fix a typo
closes odoo/documentation#1521

X-original-commit: d9e2ab6feb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-02 13:46:10 +00:00
Stan
194f215662 [IMP] qweb: mention the two possible syntaxes for t-attf
closes odoo/documentation#1467

X-original-commit: cdb8d51131
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-01-12 09:56:04 +00:00
luvi
331b7b6285 [ADD] developer: actionswiper doc added
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.

closes odoo/documentation#1432

X-original-commit: 7763c22db4
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2021-12-21 07:42:52 +00:00
Julien Castiaux
e410776f24 [FIX] developer/reference/javascript_reference
The "qweb key of the manifest" file was still mentionned even if it has
been replaced by the assets bundles.

See related task: 2352566

closes odoo/documentation#1434

X-original-commit: dc832e1cc8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2021-12-17 11:37:39 +00:00
FrancoisGe
4335271352 [IMP] web: add tooltip on Dropdown
This commit adds the possibility to add a tooltip on a Dropdown.

closes odoo/documentation#1396

Signed-off-by: FrancoisGe <fge@odoo.com>
2021-12-15 08:12:01 +00:00
Samuel Degueldre
888fbb5c50 [IMP] web: adapt documentation to the removal of dropdown-item-selected
closes odoo/documentation#1404

Signed-off-by: Samuel Degueldre <sad@odoo.com>
2021-12-14 14:25:24 +00:00
Géry Debongnie
4233250b82 [IMP] developer: small rework of assets page (frontend)
This commit applies some remarks by Antoine.

closes odoo/documentation#1328

X-original-commit: 8c1003e363
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2021-11-19 13:35:18 +00:00