From 944a4acadc18bcfe08f379fb4f17b36b932dd8b1 Mon Sep 17 00:00:00 2001 From: Carlos Roca Date: Tue, 24 Dec 2024 07:57:37 +0100 Subject: [PATCH] [MIG] web_widget_numeric_step: Migration to 18.0 --- web_pivot_computed_measure.zip | Bin 35946 -> 0 bytes web_widget_numeric_step/README.rst | 22 ++++++---- web_widget_numeric_step/__manifest__.py | 2 +- web_widget_numeric_step/readme/ROADMAP.md | 1 + .../static/description/index.html | 38 ++++++++++-------- .../static/src/numeric_step.esm.js | 23 +++++++---- .../static/src/numeric_step.xml | 2 +- 7 files changed, 55 insertions(+), 33 deletions(-) delete mode 100644 web_pivot_computed_measure.zip create mode 100644 web_widget_numeric_step/readme/ROADMAP.md diff --git a/web_pivot_computed_measure.zip b/web_pivot_computed_measure.zip deleted file mode 100644 index 0244e21ca76ef4f1598719799ed749ac4312005d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35946 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 diff --git a/web_widget_numeric_step/README.rst b/web_widget_numeric_step/README.rst index b5ddc5dc2..817182ac6 100644 --- a/web_widget_numeric_step/README.rst +++ b/web_widget_numeric_step/README.rst @@ -17,13 +17,13 @@ Web Widget Numeric Step :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github - :target: https://github.com/OCA/web/tree/17.0/web_widget_numeric_step + :target: https://github.com/OCA/web/tree/18.0/web_widget_numeric_step :alt: OCA/web .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/web-17-0/web-17-0-web_widget_numeric_step + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_widget_numeric_step :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -89,9 +89,15 @@ You can test the feature by going to Settings > Technical > Scheduled Actions. The field "Execute Every" is configured to use the widget with 2 step, min to 0 and max to 40. -.. |image1| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_widget_numeric_step/static/description/add_two_buttons.png -.. |image2| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_widget_numeric_step/static/description/step0,25andlimits.gif -.. |image3| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_widget_numeric_step/static/description/step10_limit15_placeholder117_with_onchange.gif +.. |image1| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_widget_numeric_step/static/description/add_two_buttons.png +.. |image2| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_widget_numeric_step/static/description/step0,25andlimits.gif +.. |image3| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_widget_numeric_step/static/description/step10_limit15_placeholder117_with_onchange.gif + +Known issues / Roadmap +====================== + +When the value is entered using the keyboard, the limits set in the +widget can be exceeded Bug Tracker =========== @@ -99,7 +105,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -152,6 +158,6 @@ Current `maintainers `__: |maintainer-rafaelbn| |maintainer-yajo| -This module is part of the `OCA/web `_ project on GitHub. +This module is part of the `OCA/web `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_widget_numeric_step/__manifest__.py b/web_widget_numeric_step/__manifest__.py index 63555bc54..d1cf0ae3e 100644 --- a/web_widget_numeric_step/__manifest__.py +++ b/web_widget_numeric_step/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Widget Numeric Step", "category": "web", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "author": "GRAP, Tecnativa, Odoo Community Association (OCA)", "license": "AGPL-3", "website": "https://github.com/OCA/web", diff --git a/web_widget_numeric_step/readme/ROADMAP.md b/web_widget_numeric_step/readme/ROADMAP.md new file mode 100644 index 000000000..953fb14c9 --- /dev/null +++ b/web_widget_numeric_step/readme/ROADMAP.md @@ -0,0 +1 @@ +When the value is entered using the keyboard, the limits set in the widget can be exceeded diff --git a/web_widget_numeric_step/static/description/index.html b/web_widget_numeric_step/static/description/index.html index 8b24125bf..52ccc3419 100644 --- a/web_widget_numeric_step/static/description/index.html +++ b/web_widget_numeric_step/static/description/index.html @@ -369,7 +369,7 @@ ul.auto-toc { !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:1062d0c26bb10198c524113d70fa069c5928514e9569f607316544fee88bb6d9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - +

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This widget changes input number field and make it easier to increment the number thanks to 2 buttons (+ and -). Use JS native logic for input number, so you can use the options min, max, step, @@ -380,11 +380,12 @@ number, so you can use the options min,

  • Usage
  • -
  • Bug Tracker
  • -
  • Credits @@ -394,7 +395,7 @@ number, so you can use the options min, In your xml view, add widget="numeric_step" This will add the 2 buttons “+” and “-” just next to the input field in edit mode. Iteration step by default is 1.

    -

    image1

    +

    image1

    Optional

    Add an option to choose the step iteration and limits (min and max values).

    @@ -415,33 +416,38 @@ False)
  • Iteration with 0.25 step, min to -1 and max to 10.

    Start to increment with button, continue incrementing with scrolling mouse.

    -

    image2

    +

    image2

    Iteration with 10 step, max limit 15, placeholder with onchange

    -

    image3

    +

    image3

    Demo

    You can test the feature by going to Settings > Technical > Scheduled Actions. The field “Execute Every” is configured to use the widget with 2 step, min to 0 and max to 40.

    +
    +

    Known issues / Roadmap

    +

    When the value is entered using the keyboard, the limits set in the +widget can be exceeded

    +
    -

    Bug Tracker

    +

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • GRAP
    • Tecnativa
    -

    Contributors

    +

    Contributors

    • GRAP:
      • Quentin DUPONT <quentin.dupont@grap.coop>
      • @@ -458,7 +464,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -468,7 +474,7 @@ mission is to support the collaborative development of Odoo features and promote its widespread use.

    Current maintainers:

    rafaelbn yajo

    -

    This module is part of the OCA/web project on GitHub.

    +

    This module is part of the OCA/web project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/web_widget_numeric_step/static/src/numeric_step.esm.js b/web_widget_numeric_step/static/src/numeric_step.esm.js index f4c885c94..986c0d9dd 100644 --- a/web_widget_numeric_step/static/src/numeric_step.esm.js +++ b/web_widget_numeric_step/static/src/numeric_step.esm.js @@ -1,6 +1,6 @@ /** @odoo-module */ -import {_lt} from "@web/core/l10n/translation"; +import {_t} from "@web/core/l10n/translation"; import {registry} from "@web/core/registry"; import {FloatField} from "@web/views/fields/float/float_field"; import {standardFieldProps} from "@web/views/fields/standard_field_props"; @@ -10,7 +10,7 @@ export class NumericStep extends FloatField { super.setup(); } _onStepClick(ev) { - const mode = $(ev.target).data("mode"); + const mode = ev.target.dataset.mode; this._doStep(mode); } _onKeyDown(ev) { @@ -22,10 +22,19 @@ export class NumericStep extends FloatField { } _onWheel(ev) { ev.preventDefault(); - if (ev.deltaY > 0) { - this._doStep("minus"); - } else { - this._doStep("plus"); + if (!this._lastWheelTime) { + this._lastWheelTime = 0; + } + const now = Date.now(); + const throttleLimit = 100; + if (now - this._lastWheelTime >= throttleLimit) { + this._lastWheelTime = now; + + if (ev.deltaY > 0) { + this._doStep("minus"); + } else { + this._doStep("plus"); + } } } updateField(val) { @@ -64,7 +73,7 @@ NumericStep.defaultProps = { export const numericStep = { component: NumericStep, supportedTypes: ["float"], - displayName: _lt("Numeric Step"), + displayName: _t("Numeric Step"), extractProps: ({attrs, options}) => { return { name: attrs.name, diff --git a/web_widget_numeric_step/static/src/numeric_step.xml b/web_widget_numeric_step/static/src/numeric_step.xml index e8d6e75fe..51c4b05ad 100644 --- a/web_widget_numeric_step/static/src/numeric_step.xml +++ b/web_widget_numeric_step/static/src/numeric_step.xml @@ -5,7 +5,7 @@ Copyright 2020 Tecnativa - Alexandre Díaz License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat