feat(audit): URL persistence фильтров + chip-list активных
Фильтры audit log теперь живут в URL search params: dict, action, user, bk, from, to, page, size. Result: - reload не сбрасывает фильтр - админ может поделиться ссылкой "audit за вчера на ground_station" - browser back/forward работает по фильтрам как навигация - ссылка из логов / тикета сразу открывает нужный срез Chip-list над таблицей показывает активные фильтры; клик на chip убирает только этот фильтр (не сбрасывает остальные). UX выгрузка без копания в свёрнутой панели. Apply на Enter для TextInput'ов user/businessKey — быстрее чем кнопка. Validation в validateSearch: action — enum, page — non-negative int, size — whitelist (50/100/200). Невалидные query params silently дропаются (не throw — admin-ui остаётся на странице).
This commit is contained in:
@@ -83,6 +83,8 @@ i18n
|
||||
'audit.filter.to': 'По',
|
||||
'audit.filter.reset': 'Сбросить',
|
||||
'audit.filter.apply': 'Применить',
|
||||
'audit.filter.active': 'Активные фильтры',
|
||||
'audit.filter.removeChip': 'Убрать фильтр',
|
||||
'audit.col.time': 'Время',
|
||||
'audit.col.action': 'Действие',
|
||||
'audit.col.dictionary': 'Справочник',
|
||||
@@ -348,6 +350,8 @@ i18n
|
||||
'audit.filter.to': 'To',
|
||||
'audit.filter.reset': 'Reset',
|
||||
'audit.filter.apply': 'Apply',
|
||||
'audit.filter.active': 'Active filters',
|
||||
'audit.filter.removeChip': 'Remove filter',
|
||||
'audit.col.time': 'Time',
|
||||
'audit.col.action': 'Action',
|
||||
'audit.col.dictionary': 'Dictionary',
|
||||
|
||||
Reference in New Issue
Block a user