Commit Graph
32 Commits
Author SHA1 Message Date
Lucas Lefèvre (lul) f43f0c407c [REF] spreadsheet_dashboard: use web_search_read to load dashboards
Previously, the dashboard action needed two RPC calls to be ready:
1. load the dashboard groups (with the dashboards ids in the groups)
2. load the dashboard display names

Now, with the new `web_sear_read` we can load both at the same time,
saving one http request.

closes odoo/odoo#134984

Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
2023-09-25 15:20:16 +00:00
Rémi Rahir (rar) 83eaa9b37b [FIX] spreadsheet*: fix o-spreadsheet dependencies
The recent upgrade to chart.js 4.3.0 has forced us to make our own
plugin to support gauge charts. The plugin was added inside the
o-spreadsheet library which means that we now require chart.js to be
loaded before o-spreadsheet.

Notice we created a `spreadsheet.dependencies` assets bundle but
we don't include it in `spreadsheet.o_spreadsheet` bundle not do we use
it in the webclient code.

That's because `Chart.js` cannot be reloaded after the spreadsheet bundle
is loaded and the plugin was added. Reloading it after would override
`Chart.js` and remove the plugin. To prevent such situation, we
use `loadJS("/web/static/lib/Chart/Chart.js");` which is memoized. The same
call elsewhere in the code base won't actually ovewrite `Chart.js`.

closes odoo/odoo#133369

Task: 3482480
Related: odoo/enterprise#46424
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-08-31 09:04:56 +00:00
Pierre Paridans 6c2764a753 [IMP] web,*: remove legacy o_field_many2manytags class & styles
task-3439226

Part-of: odoo/odoo#133289
2023-08-31 06:15:55 +00:00
Chenyun YangandLucas Lefèvre dbdb7c9a7c [IMP] spreadsheet, spreadsheet_dashboard: share dashboard
This commit introduces models related to sharing dashboard, and
implements the sharing from dashboard view.
The basic idea is the same as sharing normal spreadsheet. The major
difference is that sharing a dashboard will direct to the dashboard view
instead of read-only spreadsheet view. A button and a side panel which
shows the global filters show up only in the dashboard view.

task 3378150

closes odoo/odoo#127370

Related: odoo/enterprise#43664
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
Co-authored-by: Lucas Lefèvre <lul@odoo.com>
2023-08-14 14:52:02 +02:00
Jorge Pinna Puissant e338487028 [REF] *: remove owl="1" from the templates
As all the templates are now imported in the owl app, there is not need
anymore to specify the owl="1" attribute in the templates.

Part of task~3443861

Part-of: odoo/odoo#130467
2023-08-11 14:32:30 +02:00
Elisabeth Dickinson d70da05100 [FIX] spreadsheet_dashboard: fix lost margins on dropdowns
During the Milk revamp, the dropdown items in the Dashboard's header
lost their horizontal margins. These have been put back by setting a gap
property to the parent.
When in the dashboard view under Sales > Product, the dropdowns had an
awkward spacing between them despite the fix. Another fix was to set
`w-100` to the `.o_field_tags` element. And finally a `.gap-1` is also
added to the latter to give its children some space when multiple tags
are selected.

It was noticed that some CSS, specifically the `.o-filter-value` class,
was not targeting anything. This has been fixed by moving the selector
into its correct parent element.

task-3326566
part of task-3326263

closes odoo/odoo#127010

X-original-commit: bd456bc89f896de6b3d8c040706dc02ab3799e6e
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-07-01 09:52:59 +02:00
Mathieu Duckerts-AntoineandLucas Lefevre dacb31aa85 [REF] spreadsheet: use name service in DisplayNameRepository
We make the class DisplayNameRepository use the name service instead of
BatchEndpoint. This makes the code simpler and allow to avoid a lot of
rpcs (in some occasions) when fetching display names.

closes odoo/odoo#124090

Related: odoo/enterprise#42124
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Lucas Lefevre <lul@odoo.com>
2023-06-09 17:00:48 +02:00
Brieuc-brd 418413e499 [IMP] web, *: directional icons
This commit adapts the directional icons to improve the usability and
maintain consistency with the ui icons library.

task-2818586

Part-of: odoo/odoo#116641
2023-05-12 22:59:22 +02:00
Damien Bouvy 1e706d3069 [IMP] web, *: milk adaptations
*: hr_holidays, stock, sale, product, web, sale, purchase, stock,
   website, survey

Adapt some custom control panels (mainly for custom reports) to the
milk controlpanel.

hr_holidays:
Move the buttons to create a new time off or a new allocation to the
"create button" slot and transform it into a dropdown (creating
allocation requests is clearly a secondary action, not a primary one)

stock:
3 lines does not fit, must be on 2 lines

Part-of: odoo/odoo#116641
2023-05-12 22:59:19 +02:00
Pierre Paridans caef16ee4e [REF] web,*: ControlPanel layout
This commit brings the ControlPanel into a single line with 3 main
sections:
- buttons & breadcrumb
- layout related actions (ie. the SearchBar in multirecord view or
  ButtonBox in formView)
- navigation (pager, switch view...)

Add new search bar menu, this is a merge of the following components
into one big component display in column:
* comparison_menu
* favorite_menu
* filter_menu
* group_by_menu

Also adapt navigation hook.

Part-of: odoo/odoo#116641
2023-05-12 22:59:16 +02:00
Adrien Minne (adrm) 2c1096da95 [IMP] web,spreadsheet_dashboard: add missing props validation
closes odoo/odoo#120323

Task: 3297417
Related: odoo/enterprise#40611
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-05-05 18:08:02 +02:00
Lucas LefèvreandAlexis Lacroix 7a1ae006eb [IMP] spreadsheet: update o_spreadsheet to latest version
https://github.com/odoo/o-spreadsheet/commit/6824b8a1 [REL] 16.3.0-alpha.4
https://github.com/odoo/o-spreadsheet/commit/9b911f61 [FIX] tests: fix indeterministic ui sheet
https://github.com/odoo/o-spreadsheet/commit/f20b7be5 [FIX] demo: Align font family with Odoo Task: 3269724
https://github.com/odoo/o-spreadsheet/commit/49a5ee0e [FIX] ColorPicker: Fix checkmark symbol Task: 3269724
https://github.com/odoo/o-spreadsheet/commit/4f2ecfec [REM] menu: remove icons on menu items
https://github.com/odoo/o-spreadsheet/commit/54fca81f [REF] *: rename 'menuItem' files to 'action' files
https://github.com/odoo/o-spreadsheet/commit/5c23e084 [REF] *: Change names of type 'MenuItem' to 'Action'
https://github.com/odoo/o-spreadsheet/commit/e5007fd1 [REF] replace xml tool bar in the xml top bar by menu item buttons
https://github.com/odoo/o-spreadsheet/commit/950abc45 [REF] menu registry: factorize menu registries by menu items
https://github.com/odoo/o-spreadsheet/commit/c02a7e96 [IMP] topbar menu: add icons for conditional menu items
https://github.com/odoo/o-spreadsheet/commit/a19d9cac [IMP] topbar menu: add icons for static menu items
https://github.com/odoo/o-spreadsheet/commit/7825124c [IMP] menu: replace right text icon by left icon
https://github.com/odoo/o-spreadsheet/commit/be3c3d6f [FIX] viewport: infinite loop with hidden headers
https://github.com/odoo/o-spreadsheet/commit/c05be1de [FIX] github: update release-action to latest version
https://github.com/odoo/o-spreadsheet/commit/9fdbdab2 [FIX] sheetview: correctly auto-size spreadsheet
https://github.com/odoo/o-spreadsheet/commit/7d18b589 [IMP] bottom_bar: hide add sheet button in readonly mode
https://github.com/odoo/o-spreadsheet/commit/108b89bd [FIX] menus: don't open submenu is not readonly
https://github.com/odoo/o-spreadsheet/commit/1edbc157 [FIX] top bar: remove useless "Save" menu item

closes odoo/odoo#118624

Related: odoo/enterprise#39801
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Alexis Lacroix <laa@odoo.com>
2023-04-17 09:27:58 +02:00
Lucas Lefèvre 052dadfc5b [REF] spreadsheet: introduce @odoo/o-spreadsheet module
Using o-spreadsheet features and functions is done using
the same import module as if it was installed from npm.

Additionaly, by adding the library as dev dependency in package.json[1], IDEs can
now leverage Typescript types for autocomplete and type checking.
The "alpha" release tag is always the lastest master version.

[1] enable web tooling `addons/web/tooling/enable.sh` ;)

closes odoo/odoo#115972

Related: odoo/enterprise#38471
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-03-30 17:57:44 +02:00
Adrien Dieudonne 28e989528d [FIX] web, spreadsheet_dashboard: filters can't always be cleared
To reproduce:

- Go to Dashboards
- Select a long product name
-> The tag overflows

opw-3053801

closes odoo/odoo#116899

X-original-commit: 94897fa258322d02a91b57df7f896d17b514b093
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Signed-off-by: Hubert Van De Walle <huvw@odoo.com>
2023-03-29 10:37:25 +02:00
Pierre Rousseau 906e6784c1 [REF] spreadsheet*: use @odoo/owl import
closes odoo/odoo#113133

Related: odoo/enterprise#37284
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2023-02-22 20:25:27 +01:00
Lucas Lefèvre a7fe381f71 [REF] spreadsheet_dashboard: remove badly named raw field
Up until now, the collaborative expected a field named `raw` containing
the serialized json data. This is historic and appeared because the field
containing the existing field `raw` on `document.document` contained this
data.

The name `raw` is meaningless. Now the collaborative expects a field
named `spreadsheet_data`.
I chose a field over a custom method because fields are more broadly
supported everywhere (web client services, web client mocks)

closes odoo/odoo#104167

Related: odoo/upgrade#4005
Related: odoo/enterprise#33246
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-01-20 20:58:01 +01:00
Rémi Rahir dfb88e4fa2 [IMP] spreadsheet: update o_spreadsheet to latest version
https://github.com/odoo/o-spreadsheet/commit/fc313d38 [IMP] images: delete images from the file store
https://github.com/odoo/o-spreadsheet/commit/d4e45186 [REF] config: move data external dependencies to config
https://github.com/odoo/o-spreadsheet/commit/3f6cd0f5 [FIX] headers: fix rounding error in header size
https://github.com/odoo/o-spreadsheet/commit/ac07e847 [FIX] functions: fix error message
https://github.com/odoo/o-spreadsheet/commit/e068c651 [IMP] clipboard: copy cell as HTML in OS clipboard

closes odoo/odoo#109497

Related: odoo/enterprise#35607
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-01-10 13:39:56 +01:00
Lucas Lefèvre d073dd968c [IMP] spreadsheet: update o_spreadsheet to latest version
### Contains the following commits:

https://github.com/odoo/o-spreadsheet/commit/7daa2dd5 [FIX] registry: introduce contains method
https://github.com/odoo/o-spreadsheet/commit/a71edfd9 [FIX] grid: Capture context menu events triggered by keyboard
https://github.com/odoo/o-spreadsheet/commit/475c646f [FIX] index.ts: export helper to create empty sheet
https://github.com/odoo/o-spreadsheet/commit/53707349 [FIX] GridOverlay: Only react to self targeted double clicks
https://github.com/odoo/o-spreadsheet/commit/77820dc0 [FIX] figure: apply dragging style on actual drag, not on mousedown
https://github.com/odoo/o-spreadsheet/commit/7c113676 [FIX] figure: Avoid scroll on a focused figure
https://github.com/odoo/o-spreadsheet/commit/1bda41ee [FIX] composer: keep focus after changing sheet
https://github.com/odoo/o-spreadsheet/commit/143764ae [FIX] composer: close text composer when changing sheet
https://github.com/odoo/o-spreadsheet/commit/b4aac2b3 [FIX] dashboard: copy event is still present
https://github.com/odoo/o-spreadsheet/commit/c1c6133a [FIX] bottom bar: very large numbers badly displayed in automatic sum
https://github.com/odoo/o-spreadsheet/commit/b593fd27 [FIX] data filter: icon not centered
https://github.com/odoo/o-spreadsheet/commit/1b37ce68 [FIX] images: import and export images
https://github.com/odoo/o-spreadsheet/commit/be10c889 [IMP] components: Remove sidePanelIsOpen props from components
https://github.com/odoo/o-spreadsheet/commit/5f680455 [FIX] dashboard: click cells to close filter menu

closes odoo/odoo#108364

Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2022-12-22 09:37:54 +01:00
Lucas Lefèvre 9f748a61e4 [REF] spreadsheet_dashboard: parse json data
The spreadsheet json data is no longer parsed downstream (see Enterprise
commit).
So we parse it when we fetch the data.

Part-of: odoo/odoo#106975
2022-12-14 18:33:04 +01:00
Lucas Lefèvre 4bb43e2554 [IMP] spreadsheet: update o_spreadsheet to latest version
https://github.com/odoo/o-spreadsheet/commit/ab6f47f9 [FIX] InternalViewport: compute the actual visible rect of a zone
https://github.com/odoo/o-spreadsheet/commit/966c311e [REF] plugins: unify position getters API
https://github.com/odoo/o-spreadsheet/commit/9f1c9695 [IMP] model: ignore type property in command payload
https://github.com/odoo/o-spreadsheet/commit/862dacbc [REF] selection: rename getPosition to getActivePosition
https://github.com/odoo/o-spreadsheet/commit/0144515a [REF] selection: getPosition return main position
https://github.com/odoo/o-spreadsheet/commit/38422f4f [FIX] find and replace: scroll on single match.
https://github.com/odoo/o-spreadsheet/commit/9be582c7 [FIX] selection_input: traceback when using unbounded ranges
https://github.com/odoo/o-spreadsheet/commit/49285322 [IMP] doc: add tables of contents
https://github.com/odoo/o-spreadsheet/commit/2c5d86af [IMP] model: config to provide external dependencies
https://github.com/odoo/o-spreadsheet/commit/5b442218 [REF] plugins: use object in constructor
https://github.com/odoo/o-spreadsheet/commit/ef98be1b [REM] plugins: remove useless modes
https://github.com/odoo/o-spreadsheet/commit/4f20d05f [IMP] data: reorganize data top menu

closes odoo/odoo#106583

Related: odoo/enterprise#34412
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2022-11-28 14:51:24 +01:00
Pierre RousseauandLucas Lefèvre 6da05b86d1 [IMP] spreadsheet_*: update o_spreadsheet to latest version
Contains the following commits

https://github.com/odoo/o-spreadsheet/commit/96166819 [REF] evaluation: decouple evaluation from core plugin
https://github.com/odoo/o-spreadsheet/commit/a5a67d88 [IMP] find & replace: displays 0 match
https://github.com/odoo/o-spreadsheet/commit/2e2d878f [FIX] overflowing cell with border rendering
https://github.com/odoo/o-spreadsheet/commit/40dfc80c [FIX] interactive merge: remove useless user confirmation
https://github.com/odoo/o-spreadsheet/commit/050e64f3 [IMP] format: support additional date formats

closes odoo/odoo#105997

Related: odoo/enterprise#34097
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Co-authored-by: Lucas Lefèvre <lul@odoo.com>
2022-11-18 14:00:05 +01:00
Pierre Rousseau 3aca42ab26 [IMP] spreadsheet: update o_spreadsheet to latest version
### Contains the following commits:

https://github.com/odoo/o-spreadsheet/commit/1f8e5fac [FIX] spreadsheet: deactivate keystroke inputs in dashboard mode
https://github.com/odoo/o-spreadsheet/commit/085c09b8 [REF] spreadsheet: remove local model
https://github.com/odoo/o-spreadsheet/commit/8dbb54ad [REF] spreadsheet_test: use model from helper
https://github.com/odoo/o-spreadsheet/commit/80fb9292 [REF] tests: mountSpreadsheet returns model
https://github.com/odoo/o-spreadsheet/commit/4bc9edd7 [REM] grid: remove ctrl+s shortcut
https://github.com/odoo/o-spreadsheet/commit/0673bc44 [IMP] spreadsheet: remove useless props
https://github.com/odoo/o-spreadsheet/commit/4e75de52 [IMP] *: add props validation
https://github.com/odoo/o-spreadsheet/commit/f78681ea [REM] tests: remove scroll bars mock
https://github.com/odoo/o-spreadsheet/commit/505e942b [FIX] sheetview: resize viewport when font size changes
https://github.com/odoo/o-spreadsheet/commit/c3997be9 [FIX] data filters: traceback at sheet duplication
https://github.com/odoo/o-spreadsheet/commit/0b35536e [FIX] filters: show rows when filter table is removed
https://github.com/odoo/o-spreadsheet/commit/3a897a36 [IMP] cell: Remove useless uuid generation for performance
https://github.com/odoo/o-spreadsheet/commit/d9d8a6fb [FIX] topbar: dropdown closing when clicking inside
https://github.com/odoo/o-spreadsheet/commit/29225920 [FIX] readme: cannot extend excel import

closes odoo/odoo#104274

Related: odoo/enterprise#33312
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2022-10-27 18:43:14 +02:00
Odoo's Mergebot c4febbbe3a [FW][MERGE] UI css fixes
Followup of #102259

Instead of adding a class to remove field borders, we want the opposite: hide the borders by default, except when specified specifically with a `.o_field_highlight` class (on a parent or the field itself). This makes it much easier to add field borders on specific parts of the ui (just add the class in the template), rather than having to _remove_ the class through a js override, which is far less discoverable.

I converted all the new rules to work opposite as before, same for the JS logic which added the class based on mobile device detection (size + touch support).

closes odoo/odoo#102977

Forward-port-of: odoo/odoo#102823
Signed-off-by: Michaël Mattiello <mcm@odoo.com>
Signed-off-by: Bouvy Damien (dbo) <dbo@odoo.com>
2022-10-11 13:16:11 +02:00
stefanorigano (SRI) d53d432361 [IMP] *: adapt for dark-mode
*: hr, hr_holidays, project, purchase, point_of_sale, rating,
spreadsheet_dashboard, stock, survey

This commit adapts modules and components in order to correctly handle
color-scheme variations.

task-2710677

Part-of: odoo/odoo#102868
2022-10-11 13:15:54 +02:00
Damien Bouvy 68facf03dc [FIX] dashboard, web: o_field_highlight class
Add a new .o_field_highlight class which can be used on fields and field
containers to force having a border on fields (e.g. in places where they
are heavily used inline, like Settings, or where it might not be clear
that you are using a form and that these are fields; e.g. sidepanel,
etc.

This class is automatically added when the device size goes below the
XSS breakpoint, or when the device has touch input (our best metric for
mobile device detection, where hovering is not possible).

X-original-commit: 0f0c8e3b9f7c42c5126dc49d3378d41ad76afbf3
2022-10-10 19:55:25 +02:00
Pierre Rousseau 347294a8d2 [FIX] spreadsheet, spreadsheet_dashboard: adapt to spreadsheet last update
closes odoo/odoo#102358

Related: odoo/enterprise#32366
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2022-10-06 17:00:21 +02:00
Pierre Rousseau 9d455d830b [FIX] spreadsheet_dashboard: set the first sheet as active sheet
Before this revision, the active sheet was not correctly set to the first
sheet.

Task-id 3002541

closes odoo/odoo#102148

X-original-commit: faf6cde43f5d092b8b053d4b6392c6641ec0a48e
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2022-10-04 22:00:40 +02:00
Pierre Rousseau bd71c6ae76 [IMP] spreadsheet_dashboard: grid cursor
closes odoo/odoo#101946

X-original-commit: 26ab6164e92b4ab7149a85b74cbff127c35fb4a0
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2022-10-03 16:19:05 +02:00
Adrien Minne 4b06783080 [IMP] spreadsheet: dashboard filters finetuning
Improve the CSS of the global filters in dashboards

Odoo task 2988046

closes odoo/odoo#100749

X-original-commit: 629c36f9763669e500c2664ad44037d915c29b10
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2022-09-21 22:45:46 +02:00
Pierre Rousseau ee3ff4064e [IMP] spreadsheet_dashboard: re-introduce border
Border was incorrectly removed here: e55cc83068
This commit re-introduce it.

closes odoo/odoo#100340

Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
2022-09-16 11:12:44 +02:00
Pierre Rousseau e55cc83068 [IMP] spreadsheet_dashboard: css tweaking
closes odoo/odoo#100083

Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2022-09-15 10:03:06 +02:00
Lucas LefèvreandPierre Rousseau cb5cca73a8 [ADD] spreadsheet_dashboard: introduce spreadsheet based dashboards
Our reporting dashboards are too tedious to use for the average user, and
doesn't allow for edition or advanced computations.

Using spreadsheet formulas allows almost endless possibilities.

Task-id 2799682

Part-of: odoo/odoo#97606
Co-authored-by: Lucas Lefèvre <lul@odoo.com>
Co-authored-by: Pierre Rousseau <pro@odoo.com>
2022-09-10 02:54:53 +02:00