Conversation
Ревью PR #80PR решает issue #78 и в целом сделан хорошо — лексиконы на двух языках, валидация значений, сброс на первую страницу при смене количества строк. Есть несколько замечаний: 1. Приоритет config vs localStorage (критично)Сейчас приоритет: config > localStorage > default(20). const configRows = ms3Config?.category_products_rows
if (configRows && rowsPerPageOptions.includes(Number(configRows))) {
rows.value = Number(configRows)
} else {
const saved = parseInt(localStorage.getItem(ROWS_STORAGE_KEY), 10)
...
}Если админ задал Правильный приоритет: localStorage (выбор пользователя) > config (дефолт от админа) > 20 2. Хеш в чанках — накопление старых файловchunkFileNames: 'assets/.../[name]-[hash].min.js'Vite не чистит Нужно добавить очистку перед сборкой, например: "prebuild": "rimraf ../assets/components/minishop3/js/mgr/vue-dist/index*.min.js"3. Конфликт с PR #79Изменение в 4. Нет try/catch при чтении localStorage в onMounted
|
…r-page-and-pagination
…roductsGrid component
Описание
localStorage(ms3_category_products_rows). При смене значения выполняется перезагрузка списка с первой страницы.[name]-[hash].min.js), чтобы избежать загрузки устаревших чанков после пересборки и ошибки «export named 'u'».Затронутые файлы:
CategoryProductsGrid.vue, лексиконыvue.inc.php(en/ru), контроллерcategory/update.class.php,vite.config.js.Тип изменений
Связанные Issues
Closes #78
Как это было протестировано?
Конфигурация тестирования:
Скриншоты (если применимо)
Чеклист
rows_per_page,first_page,last_pageДополнительные заметки
category_products_rows(опциональная настройкаms3_category_products_default_rows, по умолчанию 20).npm run buildимена видаindex-XXXX.min.js; entry-точки (category-products.min.jsи т.п.) без хеша.