fix(ui): QA report P3/P4 batch — 7 cosmetic/UX bugs

QA report cleanup (после P1/P2 ship'нутых в v2.31.4):

- **BUG-009**: Excel/SQL export форматы получили явный «скоро» badge поверх
  opacity-only disabled state. Title attribute оставлен.
- **BUG-010**: «Доступ актора» (audit scope column) переименован в «Scope» —
  компактнее, не переносится на 2 строки.
- **BUG-011**: Все audit table headers получили title attribute → hover
  tooltip когда text truncate'ится («ИЗМЕНЕН…» → full «Изменения»).
- **UX-001**: Scope chips в /dictionaries теперь показывают ✓ glyph когда
  selected → визуально clear что multi-select. Aria-label расширен:
  «Фильтр по области (можно выбрать несколько)».
- **UX-002**: Breadcrumb segments получили title attribute → hover показывает
  full label когда truncate'ится в narrow viewport.
- **UX-003**: При смене вкладки в редакторе справочника (records → relations
  и т.п.) URL params q/scopes сбрасываются — раньше search фильтр оставался
  применённым после возврата на records.
- **UX-004**: TimeTravel slider boundary метки получили 2-digit year:
  «05.05.26» вместо «05.05» — disambiguates конец декабря / начало января.
  Title attribute exposes full локальную дату.
- **UX-009**: «Удалить» button в RecordDrawer переименован в «Закрыть запись»
  — same action как row context menu «Закрыть» (bitemporal close, не truly
  delete). Consistent labeling across UI.
This commit is contained in:
Zimin A.N.
2026-05-16 00:09:41 +03:00
parent 55ac362a11
commit cb8a229adf
7 changed files with 50 additions and 20 deletions
+6 -6
View File
@@ -278,7 +278,7 @@ i18n
// User confusion: 'правки в public были, а тут RESTRICTED' —
// потому что у пользователя scope=RESTRICTED привилегия. Label
// 'Доступ актора' разъясняет это.
'audit.col.scope': 'Доступ актора',
'audit.col.scope': 'Scope',
'audit.col.trace': 'Trace',
'audit.col.diff': 'Изменения',
'audit.action.expand': 'Раскрыть',
@@ -334,7 +334,7 @@ i18n
'dict.list.deps.short': 'СО СВЯЗЯМИ',
// Catalog v2 (URL-driven filters + sort + density)
'dict.list.heading': 'Каталог справочников',
'dict.list.filter.scope': 'Фильтр по области',
'dict.list.filter.scope': 'Фильтр по области (можно выбрать несколько)',
'dict.list.sort.label': 'Сортировка',
'dict.list.sort.name': 'По названию',
'dict.list.sort.recordCount': 'По количеству записей',
@@ -424,7 +424,7 @@ i18n
'form.cancel': 'Отмена',
'form.save': 'Сохранить',
'form.saving': 'Сохранение...',
'form.delete': 'Удалить',
'form.delete': 'Закрыть запись',
'form.error.required': 'Обязательное поле',
'form.unsavedNFields_one': 'не сохранено · {{count}} поле',
'form.unsavedNFields_few': 'не сохранено · {{count}} поля',
@@ -1103,7 +1103,7 @@ i18n
'audit.col.dictionary': 'Dictionary',
'audit.col.businessKey': 'Business key',
'audit.col.user': 'User',
'audit.col.scope': 'Actor scope',
'audit.col.scope': 'Scope',
'audit.col.trace': 'Trace',
'audit.col.diff': 'Diff',
'audit.action.expand': 'Expand',
@@ -1157,7 +1157,7 @@ i18n
'dict.list.deps.short': 'WITH LINKS',
// Catalog v2
'dict.list.heading': 'Dictionary catalog',
'dict.list.filter.scope': 'Scope filter',
'dict.list.filter.scope': 'Scope filter (multi-select)',
'dict.list.sort.label': 'Sort',
'dict.list.sort.name': 'By name',
'dict.list.sort.recordCount': 'By record count',
@@ -1239,7 +1239,7 @@ i18n
'form.cancel': 'Cancel',
'form.save': 'Save',
'form.saving': 'Saving...',
'form.delete': 'Delete',
'form.delete': 'Close record',
'form.unsavedNFields_one': 'unsaved · {{count}} field',
'form.unsavedNFields_other': 'unsaved · {{count}} fields',
'drawer.collapse': 'Collapse to 520px',