feat(vue): Salvage PrimeVue barrel, cache-bust, and i18n - #702
Conversation
|
Проверил — большая часть переноса аккуратная, но в нынешнем виде PR ломает страницу редактирования товара, хотя сборка и CI зелёные. Блокер:
|
Replace InputChips with AutoComplete for VueTools 1.1.2 barrel, translate category published filter via lexicon, cache-bust CSS with filemtime, and drop unused salvage lexicon keys.
9e15b32 to
2aa46fe
Compare
|
@biz87 Спасибо за ревью — правки в Блокер InputChips: yes / no: в Cache-bust CSS: тот же Мелочь: неиспользуемые ключи Проверки: |
Import PrimeVue from the VueTools barrel so manager screens share one Theme instance. Reject primevue/* subpaths at Vite build time, bust vue-dist cache with filemtime, and keep Aura as the default preset. ModxManagerTheme and getActiveTheme stay out until vueTools#22. Fixes #701
Replace InputChips with AutoComplete for VueTools 1.1.2 barrel, translate category published filter via lexicon, cache-bust CSS with filemtime, and drop unused salvage lexicon keys.
8e33fe3 to
0955fe7
Compare
|
Спасибо за правки. yes/no через лексикон и cache-bust для CSS на месте. Слил ветку с актуальной Проверил на dev (VueTools 1.2.0-pl), сравнивал со сборкой
Возвращаю из-за поля
|
| Действие | beta (InputChips) |
PR (AutoComplete) |
|---|---|---|
| ввести значение и нажать Enter | добавлено | добавлено |
| ввести значение и запятую | добавлено | не добавлено, запятая остаётся в поле |
| ввести значение и уйти из поля | добавлено | не добавлено, значения нет в скрытом input — при сохранении товара оно потеряется |
Placeholder при этом по-прежнему обещает «Enter, запятая или клик вне поля добавят его».
Подсказки: у AutoComplete при typeahead=false onInput() не вызывает search() (ветка if (this.typeahead) в primevue/autocomplete), поэтому @complete не срабатывает и onComboOptionsComplete() не вызывается никогда. На beta запрос /api/mgr/options/suggestions уходит при вводе, в PR — нет. Сейчас пользователь этого не заметит только потому, что сам эндпоинт на beta всегда отдаёт пустой список — это отдельная ошибка, #745.
Как исправить — на выбор:
- Вернуть
InputChipsсseparator=",",add-on-blurи подсказками под полем, как наbeta. Причины замены больше нет: в VueTools 1.2.0-plInputChipsв барреле есть (src/vendor/primevue.js, коммит4594c33), а резолвер в этом PR уже требует 1.2.0-pl. Минус — компонент устаревший и при монтировании пишет в консоль предупреждение PrimeVue. - Оставить
AutoComplete, но сtypeahead(чтобы работал@complete) и своими обработчиками: Enter без выбранной подсказки, запятая и blur добавляют введённый текст. Кода больше, зато без устаревшего компонента.
В обоих случаях нужен тест на эти три сценария — сейчас ProductOptionField.vue тестами не покрыт, поэтому гейт зелёный.
Версия VueTools в резолвере не совпадает с описанием
_build/resolvers/resolver_01_setup.php в c1209efd требует 1.2.0-pl, а в описании — 1.1.2-pl. Если остаётся InputChips из VueTools — требование 1.2.0 оправдано, стоит поправить описание. Если нет — коду этого PR хватает 1.1.2, и поднимать версию логичнее в #738.
AutoComplete with typeahead=false dropped comma/blur commits and never fired suggestions. VueTools 1.2.0 barrels InputChips again; cover the three commit paths and suggestion load in unit tests.
|
@biz87 Спасибо — по comboOptions взяли первый вариант. InputChips: возвращён ( Тесты: Коммит: |
Описание
Из закрытого PR #640 в менеджер переносятся куски, которые не зависят от Modx-темы: named-импорты
import { X } from 'primevue'вместоprimevue/*, Vite-плагинrejectPrimeVueSubpaths, cache-bust vue-модулей поfilemtime(vue_module_cache_bust.inc.php), лексиконы ru/en для help, истории заказа, VendorCombo и Uppy Image Editor.Тема остаётся Aura (
preset: Aura,darkModeSelector: none) на VueTools 1.2.0-pl. Плотность контролов,severity="success"на Save и CSS с токенамиmodx.*сюда не входят. Без централизованной темы из vueTools#22 они ломают дефолтную Aura.Тип изменений
Связанные Issues
Closes #701
Связано: #640, vueTools#22
Как это было протестировано?
composer ci:phpи PHPStan по этому diff не гонялись: PHP-слой это include и три вызова вaddVueModule. Менеджер в браузере не проверялся.composer ci:php/composer test,npm run lint:ci,composer stan/ GitHub Actions CI)Конфигурация тестирования:
feat/issue-701-primevue-barrelСкриншоты (если применимо)
Не применимо. Критерий #701: менеджер визуально как текущая Aura.
Чеклист
composer stan/ CI jobPHPStan)npm run lint:ciдля Vue)Дополнительные заметки
getActiveTheme(), theme-aware плотность/CSS, проверкаimports['vuetools/theme']) ждёт vueTools#22.1.2.0-pl.yes/noвместо захардкоженных «Да» / «Нет».