odoo.define('website_decimal_qty.VariantMixin', function (require) { 'use strict'; var VariantMixin = require('sale.VariantMixin'); /** * A custom implementation of the onClickAddCartJSON function in the * sale.VariantMixin module. It allows for decimal quantities to be added to the cart * by updating the input value with increments of 0.1. */ VariantMixin.onClickAddCartJSON = function (ev) { ev.preventDefault(); var $link = $(ev.currentTarget); var $input = $link.closest('.input-group').find("input"); var min = parseFloat($input.data("min") || 0); var max = parseFloat($input.data("max") || Infinity); var previousQty = parseFloat($input.val() || 0, 10); var quantity = ($link.has(".fa-minus").length ? -0.1 : 0.1) + previousQty; var newQt = quantity > min ? (quantity < max ? quantity : max) : min; if (newQt !== previousQty) { var newQty = newQt.toFixed(1); $input.val(newQty).trigger('change'); } newQty = newQt.toFixed(1); return false; } });