Issue #17: Использование data-* вместо классов#81
Conversation
Ревью PR #81Подход правильный — разделение логики (data-атрибуты) и стилей (классы). Есть несколько проблем, которые нужно исправить перед мержем. 1. БАГ:
|
| Модуль | Fallback |
|---|---|
| ms3.js (формы) | ✅ [data-ms3-form] или .ms3_form |
| ProductCardUI (кнопки) | ✅ [data-ms3-qty] → .qty-btn |
| CartUI (кнопки) | ❌ Только [data-ms3-qty] |
| CartUI (input) | ✅ [data-ms3-qty="input"], .qty-input |
| OrderUI (highlightErrors) | ❌ Только [data-ms3-error] |
Рекомендую привести fallback к единому паттерну во всех модулях.
…tributes # Conflicts: # assets/components/minishop3/js/web/ui/CartUI.js # assets/components/minishop3/js/web/ui/ProductCardUI.js
…piClient - Reformatted .eslintrc.json for consistency. - Enhanced error handling in ApiClient by wrapping fetch call in a try-catch block. - Updated error highlighting in OrderUI to include additional error class. - Improved quantity button and input initialization in QuantityUI to avoid duplicate event listeners. - Adjusted data attribute handling in ms3_customer.tpl for better error display.
…rt both data attributes and class selectors, ensuring unique event listeners are added.
Описание
Введение data-атрибутов
data-ms3-*для логики (селекция в JS), классы остаются для вёрстки и стилей (Issue #17).data-ms3-form,data-ms3-form="order"|"customer",data-ms3-qty="input"|"inc"|"dec",data-ms3-product-card,data-ms3-cart-options,data-ms3-error(на полях с ошибкой). Классы не удалялись.ms3.js, OrderUI, CustomerUI, CartUI, ProductCardUI; для обратной совместимости сохранён fallback на старые классы (.ms3_form,.ms3_order_form,.ms3_customer_form,.ms3-product-card,.qty-inputи т.д.).default.cssдобавлены селекторы[data-ms3-error]для подсветки ошибок; селекторы по.ms3_field_errorоставлены.ms3.jsдобавлен комментарий со схемой именования data-атрибутов.Менеджер (ExtJS) не трогался.
Тип изменений
Связанные Issues
Closes #17
Как это было протестировано?
Конфигурация тестирования:
Скриншоты (если применимо)
Не применимо — визуально без изменений.
Чеклист
Дополнительные заметки
cart_cost→cartCost) для соответствия ESLint; в хук по-прежнему передаются ключиcart_cost/delivery_cost.