From 43ccb8a2dad863c6db8a276ca36e132fb5c78b4a Mon Sep 17 00:00:00 2001 From: Ali <010109ali@gmail.com> Date: Tue, 31 Mar 2026 15:26:06 +0400 Subject: [PATCH] feat: add double-click on item row to add to cart Co-Authored-By: Claude Opus 4.6 (1M context) --- selections/public/js/selection_dialog.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/selections/public/js/selection_dialog.js b/selections/public/js/selection_dialog.js index 5d9535a..d5b88bc 100644 --- a/selections/public/js/selection_dialog.js +++ b/selections/public/js/selection_dialog.js @@ -759,6 +759,23 @@ class SelectionDialog { } }); + // Двойной клик по строке — добавить в корзину + $grid.find('tbody tr').on('dblclick', function(e) { + if ($(e.target).closest('.btn-add-to-cart, .row-qty-input, .stock-indicator, .item-open-link').length) return; + const item_index = parseInt($(this).data('item-index')); + const item = me.items_data[item_index]; + if (!item) return; + const qty_val = parseFloat(($(this).find('.row-qty-input').val() || '').replace(',', '.')) || 1; + me.add_to_cart(item, qty_val); + + // Визуальная обратная связь + const $btn = $(this).find('.btn-add-to-cart'); + $btn.addClass('btn-success').removeClass('btn-primary'); + setTimeout(() => { + $btn.addClass('btn-primary').removeClass('btn-success'); + }, 600); + }); + // Фильтрация ввода для qty-инпутов грида $grid.find('tbody tr').each(function() { const item_index = parseInt($(this).data('item-index'));