fix(mgr): визуальная согласованность Vue-менеджера с MODX - #621
Conversation
|
@biz87 Не рассматриваем пока - посмотрю, что останется после новой темы vueTools |
… MODX Conflict resolution: keep array-based fieldsBySections (merged modx-pro#620/modx-pro#611), port fieldHtmlId labels + isCheckboxXtype/normalizeCheckboxValue helpers on top.
Conflict resolution: PR 640 supersedes merged modx-pro#621 rework (same author, same intent) — took PR side for 36 files; manually preserved modx-pro#631 useConfirm grids, modx-pro#623 datefield dialog styles, modx-pro#643 gallery bits, modx-pro#605 order entry; ProductData sections rebuilt on groupProductDataSections (keeps modx-pro#611/modx-pro#620 sort_order) under PR 640 Panel layout.
|
Этот PR включён в тестовую интеграционную сборку всех открытых PR MiniShop3: AgelxNash/MiniShop3, ветка Сборка нужна, чтобы проверить совместимость взаимозависимых серий PR до их мержа — при последовательном слиянии они конфликтуют друг с другом. Это не ревью и не конкурирующий PR: авторство сохранено (1 PR = 1 коммит с исходным автором), ветка пересобирается по мере обновления PR. Как вошёл в сборку: Слит в ветку раньше #640. Файлы, перекрываемые более новым реворком #640, взяты из #640; наработки #621 (fieldHtmlId-лейблы, |
|
Привет! Просто пожелание: удачи с этим PR 🚀 Работа нужная — пусть рассмотрят и смержат как можно скорее. Успехов! |
5fba18d to
4d3f8e3
Compare
|
Слил Проверил на dev (VueTools 1.2.0-pl, MariaDB 10.6) в обеих темах, сравнивал со сборкой Возвращаю — основная часть расходится с моделью темизации из #701 / #738. 1. Aura перекрашивается по умолчаниюПо #701 дефолт — Aura как есть, вид «как MODX» — только через Высота контролов 2. «Успех» привязан к основному цвету темы
3. Лишние 109 КБ на каждой странице
4.
|
обычный sql_mode |
+ONLY_FULL_GROUP_BY |
|
|---|---|---|
beta |
17 полей | 0 полей |
| PR | 17 полей | 0 полей |
Запрос из PR на MariaDB 10.6 падает: 1055 'ms3.msOption.key' isn't in GROUP BY. MariaDB не выводит функциональную зависимость колонок msOption от msOption.id, в отличие от MySQL 5.7+/8, — на MySQL 8 фикс, вероятно, работает (не проверял). Ошибку getIterator() проглатывает — пустая вкладка без записи в журнал. AdminOptionFieldsGroupByContractTest проверяет регулярками текст исходника, а не выполнение запроса, поэтому этого не видит. Варианты: перечислить колонки msOption в GROUP BY или взять агрегаты подзапросом по msCategoryOption; и лог при неудачном запросе.
Там же вопрос по семантике: MIN(value) и MAX(required) для товара в нескольких категориях с разными настройками опции — стоит явно зафиксировать, что так и задумано.
Мелочи
ProductDataConfig.vue:540,640—severity="primary"вместоprimarySaveSeverity, подmodxэти две кнопки не станут success, как остальные.ProductLinksTab.vue:406-409и--pw-control-hвCustomersGrid.vueзадают2.25remв обходshouldInjectFormStylesOverride()— подmodxэто та самая разная высота контролов.
Что предлагаю
Разделить: функциональные правки (fieldHtmlId, a11y чекбокса и vtabs, InputText в связях, лексиконы, savingFields / savingSections, AdminOptionFields после исправления для MariaDB, раскладка фильтров и галереи без цветов и высот) — отдельным PR, их можно влить быстро. Перекрас Aura и плотность — либо убрать (MODX-вид уже даёт vuetools.theme=modx), либо вынести в issue с обоснованием, почему решение #701 пересматривается.
|
@biz87 Согласен с моделью #701 / #738. Перекрас и плотность убрал в
Высота инпутов Локально: |
Unify primary/success to AA-safe #4e8136 (preset + CSS var inject for VueTools-external PrimeVue), flatten ProductDataFields Card/for-id, fix option_fields under ONLY_FULL_GROUP_BY, and polish Utilities/Uppy/ vtabs/a11y/lexicons (#615).
Match MODX primary green, unify toolbar/tab spacing, and make gallery upload and bulk actions clearer and keyboard-friendly.
Force buttons and AutoComplete dropdowns to the shared 2.25rem control height, and fix product links search/dialog spacing inside .vueApp.
c67153c to
24c92d6
Compare
Описание
Vue Manager выглядел «инородным» в MODX: Card «Данные товара», сломанные
for/id, пустая вкладка «Опции» приONLY_FULL_GROUP_BY, прыгающие отступы и слабая affordance галереи.PR закрывает функциональную часть #615. Перекрас Aura и плотность 36px убраны по ревью: вид «как MODX» даёт
vuetools.theme=modx(#701 / #738), дефолтная Aura остаётся как есть.Совместимость с #701 / #738
createMs3VueApp→getManagerPrimeVueConfig()/getActiveTheme. Пресет Aura в бандл MS3 не входит.:rootне пишутся--p-primary-*,--p-emerald-*,--p-green-*.--ms3-text-success/--ms3-accent-greenостаются семантическими (#22c55e/#4caf50), не привязаны к primary.:severity="primarySaveSeverity"(success только приvuetools.theme=modx), включаяProductDataConfig.formStyles.jsкак наbeta. Локальные2.25remвProductLinksTabи--pw-control-hвCustomersGridубраны.Галерея и связи
InputText. Диалог create:append-to="self".Прочее из #615
for/id(fieldHtmlId).AdminOptionFields: агрегатыMAX(required)/MIN(value)/MIN(position)иGROUP BYкаждой колонкиmsOption(MariaDB 10.6 не выводит функциональную зависимость от PK). Ошибка запроса пишется в лог.Тип изменений
Связанные Issues
Closes #615
Refs #616
Follows: #701, #702, #738 (уже в
beta)Как это было протестировано?
php -l,AdminOptionFieldsGroupByContractTest, ESLint по затронутым Vue, VitestprimevueTheme. Запрос на MariaDB 10.6 сONLY_FULL_GROUP_BYлокально не гонялся.Чеклист
Дополнительные заметки
Семантика опции товара в нескольких категориях:
required= MAX (обязательна, если так пометила хотя бы одна категория),value= MIN (один детерминированный дефолт),position= MIN (самый ранний слот задаёт порядок).