Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] web_widget_numeric_step: Migration to 18.0 #3031

Open
wants to merge 33 commits into
base: 18.0
Choose a base branch
from

Conversation

CarlosRoca13
Copy link
Contributor

quentinDupont and others added 30 commits December 23, 2024 12:08
Previous this commit the widget only works with 'dots', with
this commit works using odoo parse method that support other separators.
Previous this commit, the task for auto-step can enter in a
infinite loop. Now only creates a new task if no other task is running.
Currently translated at 100.0% (3 of 3 strings)

Translation: web-16.0/web-16.0-web_widget_numeric_step
Translate-URL: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_widget_numeric_step/es/
Currently translated at 100.0% (3 of 3 strings)

Translation: web-16.0/web-16.0-web_widget_numeric_step
Translate-URL: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_widget_numeric_step/it/
Mobile screens benefit most from this module's enhanced usability.

However, since the events used for displaying/hiding the +/- buttons depend on mouse, at the end you'll never see these buttons on mobile screens.

Thus, here's a new approach: smaller screens *always* display the buttons.

Besides, inputmode is now decimal, just like upstream float fields.

@moduon MT-4396
Before this patch, if a field was readonly, the user could still use the +/- buttons to alter its value. Not good!

@moduon MT-4396
… layout jumping otherwise

Before this patch:
- On a tablet, buttons wouldn't display (big screen; can't hover).
- On a PC, fields would make layout jumps while hovering.

@moduon MT-4472
If you're using a tablet and click on the ➕ or ➖ buttons created by this module, the result was that the numeric input related to that button got focused.

On tablets, that means that the on-screen keyboard pops up. This usually triggers a layout recalculation and becomes clunky. Besides, it's useless, because if you wanted to use the keyboard, you'd have clicked on the input by yourself, and not in one of those buttons.

After this change, when using a touch screen, if you click on the +/- buttons, you won't auto-focus on the input. Thus, the keyboard won't show up.

@moduon MT-4472
Before this patch, when navigating inputs hitting <kbd>TAB</kbd>, you were stopped before any numeric step input.

Now, you can navigate as usual and use Odoo without a 🐁.

@moduon MT-4657
Default width is too narrow for these fields in list views, which makes it uncomfortable to use in desktops.

@moduon MT-4472
…ing effect

The focus introduced on the 16.0 migration is causing a flickering effect
that is a bit annoying and does not make complete sense, because if you
click more than once the cursor is positioned at the end of the text,
which makes it difficult to edit the input.

The counterpart of these changes is that to edit the input using the
keyboard we will have to click on the field. Although this is how the
module has been operating since its inception.
Comment on lines 27 to 21
_onKeyDown(ev) {
if (ev.key === "ArrowUp") {
this._doStep("plus");
} else if (ev.key === "ArrowDown") {
this._doStep("minus");
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the user enters a number using the keyboard and changes focus, the value is lost. Could you please check this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! solved

@CarlosRoca13 CarlosRoca13 force-pushed the 18.0-MIG-web_widget_numeric_step branch from 500ef34 to 06128dd Compare December 24, 2024 06:57
@CarlosRoca13
Copy link
Contributor Author

/ocabot migration web_widget_numeric_step

@OCA-git-bot OCA-git-bot added this to the 18.0 milestone Dec 24, 2024
@OCA-git-bot OCA-git-bot mentioned this pull request Dec 24, 2024
25 tasks
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<template>
<t t-name="web_widget_numeric_step" owl="1">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is unnecessary starting from V17+.

Suggested change
<t t-name="web_widget_numeric_step" owl="1">
<t t-name="web_widget_numeric_step">

Comment on lines +17 to +21
if (ev.keyCode === 38) {
this._doStep("plus");
} else if (ev.keyCode === 40) {
this._doStep("minus");
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the user inputs a number directly using the keyboard, the minimum and maximum limits are not enforced. I think the behavior should be the same as when the user clicks the icons.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.