Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
205d3de
[ADD] Widget Numeric step
quentinDupont Sep 4, 2019
817056b
[IMP] web_widget_numeric_step: Better CSS and supports mobile layouts
Tardo Feb 7, 2020
7460a31
[FIX] web_widget_numeric_step: Float Precision
Tardo Feb 25, 2020
a2a4858
[FIX] web_widget_numeric_step: Fix _onChange input fields methods dis…
sergio-teruel Mar 4, 2020
6ad20a2
[IMP] web_widget_numeric_step: Event handler
Tardo Mar 4, 2020
82304b0
[FIX] web_widget_numeric_step: Change number parse method
Tardo Mar 11, 2020
821c419
[FIX] web_widget_numeri_step: Change click interval
Tardo Mar 23, 2020
da25f01
Added translation using Weblate (Spanish)
claudiagn Aug 6, 2020
8387144
[IMP] web_widget_numeric_step: better visualization in list view cells
Dec 13, 2020
541ed81
[FIX] web_widget_numeric_step: Only modify widget parent
Tardo Dec 29, 2020
2984eea
[IMP] web_widget_numeric_step: black, isort, prettier
Jan 25, 2021
f9a6166
[MIG] web_widget_numeric_step: Migration to v13
Jan 25, 2021
534bafe
Added translation using Weblate (Italian)
alessandro-fiorino Feb 4, 2021
39c4c83
[IMP] web_widget_numeric_step: Add auto_select option
Tardo Mar 31, 2021
afcc050
[IMP] web_widget_numeric_step: isort, black, prettier.
fshah-initos Jul 7, 2021
6307778
[MIG] Migrate module web_widget_numeric_step to v14.
hkapatel-initos Jul 8, 2021
d2f5355
Added translation using Weblate (German)
Corneliuus Oct 13, 2021
3ffccaf
[MIG] web_widget_numeric_step: Migration to 15.0
BankyKmitl Dec 13, 2021
8de6c9e
[IMP] web_widget_numeric_step: pre-commit stuff
dsolanki-initos Mar 15, 2023
653efae
[MIG] web_widget_numeric_step: Migration to 16.0
dsolanki-initos Mar 21, 2023
1423bc7
Translated using Weblate (Spanish)
Ivorra78 Oct 15, 2023
5ac9b79
Translated using Weblate (Italian)
mymage Nov 27, 2023
ab1e566
[IMP] web_widget_numeric_step: display always on mobile
yajo Dec 12, 2023
23efcc0
[FIX] web_widget_numeric_step: disable buttons on readonly fields
yajo Dec 12, 2023
ce4620b
[FIX] web_widget_numeric_step: always display on touch screens; avoid…
yajo Dec 14, 2023
b58655c
[FIX] web_widget_numeric_step: no input focus on touch screens
yajo Dec 22, 2023
e66917d
[FIX] web_widget_numeric_step: restore tab navigation
yajo Jan 11, 2024
65a8932
[FIX] web_widget_numeric_step: list view column min width
yajo Jan 23, 2024
9d368fc
[IMP] web_widget_numeric_step: pre-commit auto fixes
achulii May 16, 2024
9a1eb13
[MIG] web_widget_numeric_step: Migration to 17.0
achulii May 16, 2024
8e2651c
[IMP] web_widget_numeric_step: Add demo data to test the module
Aug 7, 2024
732c76b
[FIX] web_widget_numeric_step: Remove focus to avoid annoying flicker…
Aug 8, 2024
6cc9307
[MIG] web_widget_numeric_step: Migration to 18.0
Dec 24, 2024
44255d2
[FIX] web_widget_numeric_step: remove odoo-module tag and fix sort-im…
xaviedoanhduy Feb 11, 2025
32c1ff2
[IMP] web_widget_numeric_step: be able to add classes
chienandalu Jul 12, 2024
4e9b944
[MIG] web_widget_numeric_step: Migration to 19.0
hoattk-komit Feb 4, 2026
6b280f4
[IMP] web_widget_numeric_step: pre-commit auto fixes
carlosdauden Oct 17, 2026
c6ba58e
[MIG] web_widget_numeric_step: Migration to 20.0
carlosdauden Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 168 additions & 0 deletions web_widget_numeric_step/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=======================
Web Widget Numeric Step
=======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9025ad79e52a5b2790d7a9406dc6aa4fd495d56b12bb3fea65d626b83ded7bb5
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
: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/20.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-20-0/web-20-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=20.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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``,
``placeholder``.

**Table of contents**

.. contents::
:local:

Usage
=====

In your xml view, add ``widget="numeric_step"`` to a float or integer
field. This will add the 2 buttons "+" and "-" just next to the input
field in edit mode. Iteration step by default is 1.

|image1|

**Optional**

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

Example for an 0.25 step, min to -1 and max to 10 :

.. code:: xml

<field name="sale_delay" widget="numeric_step" options="{'step': 0.25, 'min': -1, 'max': 10}" /> days

**Available Options**

- step > Amount to increase/decrease (default: 1.0)
- min > Min. value allowed (default: no limit)
- max > Max. value allowed (default: no limit)
- auto_select > Select the content when the element get focus (default:
False)
- placeholder > Define the placeholder text (default: None)
- class > Define additional classes for the input (default: None)

**Examples**

Iteration with 0.25 step, min to -1 and max to 10.

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

|image2|

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

|image3|

**Demo**

You can test the feature by going to Settings > Technical > Reporting >
Paper Format. The fields "Top Margin (mm)" and "Bottom Margin (mm)" are
configured to use the widget with 0.5 step, min to 0 and max to 100, and
the fields "Left Margin (mm)" and "Right Margin (mm)" with 1 step, min
to 0 and max to 50. The integer field "Header spacing" is configured
with 5 step, min to 0 and max to 100.

.. |image1| image:: https://raw.githubusercontent.com/OCA/web/20.0/web_widget_numeric_step/static/description/add_two_buttons.png
.. |image2| image:: https://raw.githubusercontent.com/OCA/web/20.0/web_widget_numeric_step/static/description/step0,25andlimits.gif
.. |image3| image:: https://raw.githubusercontent.com/OCA/web/20.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
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/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 <https://github.com/OCA/web/issues/new?body=module:%20web_widget_numeric_step%0Aversion:%2020.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* GRAP
* Tecnativa

Contributors
------------

- `GRAP <http://www.grap.coop>`__:

- Quentin DUPONT <quentin.dupont@grap.coop>

- `Tecnativa <https://www.tecnativa.com/>`__:

- Alexandre Díaz
- Carlos Roca

- Helly kapatel <helly.kapatel@initos.com>
- Thanakrit Pintana <thanakrit.p39@gmail.com>
- Dhara Solanki <dhara.solanki@initos.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px
:target: https://github.com/rafaelbn
:alt: rafaelbn
.. |maintainer-yajo| image:: https://github.com/yajo.png?size=40px
:target: https://github.com/yajo
:alt: yajo

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-rafaelbn| |maintainer-yajo|

This module is part of the `OCA/web <https://github.com/OCA/web/tree/20.0/web_widget_numeric_step>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Empty file.
25 changes: 25 additions & 0 deletions web_widget_numeric_step/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2019 GRAP - Quentin DUPONT
# Copyright 2020 Tecnativa - Alexandre Díaz
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)

{
"name": "Web Widget Numeric Step",
"category": "web",
"version": "20.0.1.0.0",
"author": "GRAP, Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"website": "https://github.com/OCA/web",
"depends": ["web"],
"demo": ["demo/report_paperformat.xml"],
"assets": {
"web.assets_backend": [
"web_widget_numeric_step/static/src/*",
],
"web.assets_unit_tests": [
"web_widget_numeric_step/static/tests/**/*",
],
},
"maintainers": ["rafaelbn", "yajo"],
"auto_install": False,
"installable": True,
}
33 changes: 33 additions & 0 deletions web_widget_numeric_step/demo/report_paperformat.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="paperformat_view_form" model="ir.ui.view">
<field name="model">report.paperformat</field>
<field name="inherit_id" ref="base.paperformat_view_form" />
<field name="arch" type="xml">
<field name="margin_top" position="attributes">
<attribute name="widget">numeric_step</attribute>
<attribute
name="options"
>{'step': 0.5, 'min': 0, 'max': 100}</attribute>
</field>
<field name="margin_bottom" position="attributes">
<attribute name="widget">numeric_step</attribute>
<attribute
name="options"
>{'step': 0.5, 'min': 0, 'max': 100}</attribute>
</field>
<field name="margin_left" position="attributes">
<attribute name="widget">numeric_step</attribute>
<attribute name="options">{'step': 1, 'min': 0, 'max': 50}</attribute>
</field>
<field name="margin_right" position="attributes">
<attribute name="widget">numeric_step</attribute>
<attribute name="options">{'step': 1, 'min': 0, 'max': 50}</attribute>
</field>
<field name="header_spacing" position="attributes">
<attribute name="widget">numeric_step</attribute>
<attribute name="options">{'step': 5, 'min': 0, 'max': 100}</attribute>
</field>
</field>
</record>
</odoo>
39 changes: 39 additions & 0 deletions web_widget_numeric_step/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_widget_numeric_step
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-10-13 20:46+0000\n"
"Last-Translator: Corneliuus <cornelius@clk-it.de>\n"
"Language-Team: none\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Minus"
msgstr "Minus"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.esm.js:0
msgid "Numeric Step"
msgstr ""

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Plus"
msgstr "Plus"

#, python-format
#~ msgid "Value"
#~ msgstr "Wert"
39 changes: 39 additions & 0 deletions web_widget_numeric_step/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_widget_numeric_step
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-15 20:36+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Minus"
msgstr "Menos"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.esm.js:0
msgid "Numeric Step"
msgstr "Paso Numérico"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Plus"
msgstr "Más"

#, python-format
#~ msgid "Value"
#~ msgstr "Valor"
35 changes: 35 additions & 0 deletions web_widget_numeric_step/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_widget_number_ux_choice
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-08-30 12:07+0000\n"
"PO-Revision-Date: 2019-08-30 12:07+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Minus"
msgstr "Moins"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.esm.js:0
msgid "Numeric Step"
msgstr ""

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Plus"
msgstr "Plus"
39 changes: 39 additions & 0 deletions web_widget_numeric_step/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_widget_numeric_step
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-11-27 11:33+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Minus"
msgstr "Meno"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.esm.js:0
msgid "Numeric Step"
msgstr "Passo numerico"

#. module: web_widget_numeric_step
#. odoo-javascript
#: code:addons/web_widget_numeric_step/static/src/numeric_step.xml:0
msgid "Plus"
msgstr "Più"

#, python-format
#~ msgid "Value"
#~ msgstr "Valore"
Loading
Loading