Упрощён компонент поиска товаров: убран мультивыбор, только single-select

- Удалён весь функционал множественного выбора
- Удалены кнопки 'Выбрать все' и 'Сбросить'
- Удалён счётчик выбранных товаров
- state.selected теперь содержит один объект вместо словаря
- Убраны параметры multi_select, max_selection, show_select_all
- onAddSelected теперь возвращает объект вместо массива
- Удалены методы getSelectedIds() и setSelection()
- Упрощена логика _toggleProduct для single-select
- Обновлены все callback'и для работы с одним товаром
- Компонент стал значительно проще и понятнее
This commit is contained in:
2025-12-11 00:26:48 +03:00
parent 1607fbe3fe
commit b115869b2d
3 changed files with 57 additions and 186 deletions

View File

@@ -107,7 +107,7 @@
<div class="card-body">
<!-- Компонент поиска товаров -->
<div class="mb-3">
{% include 'products/components/product_search_picker.html' with container_id='writeoff-document-picker' title='Найти товар для списания' warehouse_id=document.warehouse.id filter_in_stock_only=True categories=categories tags=tags add_button_text='Выбрать товар' multi_select=False show_select_all=False content_height='250px' %}
{% include 'products/components/product_search_picker.html' with container_id='writeoff-document-picker' title='Найти товар для списания' warehouse_id=document.warehouse.id filter_in_stock_only=True categories=categories tags=tags add_button_text='Выбрать товар' content_height='250px' %}
</div>
<!-- Информация о выбранном товаре -->
@@ -291,9 +291,9 @@ document.addEventListener('DOMContentLoaded', function() {
// Инициализация компонента поиска товаров
const picker = ProductSearchPicker.init('#writeoff-document-picker', {
onAddSelected: function(products, instance) {
if (products.length > 0) {
selectProduct(products[0]);
onAddSelected: function(product, instance) {
if (product) {
selectProduct(product);
instance.clearSelection();
}
}