feat(records): scheduled records empty-state hint
Fixes UX bug: пользователь создаёт запись с validFrom на будущую дату
(e.g. 18.05), открывает catalog 15.05 — пустая таблица, никаких хинтов
о том что запись существует.
Backend (read-api):
- New endpoint GET /api/v1/{dict}/records/scheduled-summary
- Returns {count, nearestValidFrom} для записей с validFrom > now AND
validTo > now в текущем scope view
- Single-aggregate JPA query (COUNT + MIN), respect scope filter same way
as listActive — INTERNAL scheduled не учитывается для PUBLIC consumer'а
Frontend:
- New useScheduledSummary hook + ScheduledRecordsSummary type
- Empty-state в dictionaries.$name now shows: "Запланировано N, ближайшая
на DD.MM [Перейти к этой дате]" с CTA который set'ает time-travel на
nearestValidFrom
- i18n keys для ru/en plural forms
Связан с MR !219 (TimeTravelPicker 30-day future window) — теперь slider
позволяет дойти до даты записи, и empty-state hint позволяет узнать что
запись существует.
This commit is contained in:
@@ -349,6 +349,15 @@ i18n
|
||||
'dict.list.fk.usedBy_many': '← {{count}} использ.',
|
||||
'dict.list.fk.usedBy_other': '← {{count}} использ.',
|
||||
'dict.empty': 'В этом справочнике пока нет записей',
|
||||
'dict.scheduled.hint_one':
|
||||
'Запланирована {{count}} запись на {{date}}',
|
||||
'dict.scheduled.hint_few':
|
||||
'Запланировано {{count}} записи, ближайшая на {{date}}',
|
||||
'dict.scheduled.hint_many':
|
||||
'Запланировано {{count}} записей, ближайшая на {{date}}',
|
||||
'dict.scheduled.hint_other':
|
||||
'Запланировано {{count}} записей, ближайшая на {{date}}',
|
||||
'dict.scheduled.cta': 'Перейти к этой дате',
|
||||
'dict.col.businessKey': 'Бизнес-ключ',
|
||||
'dict.col.scope': 'Scope',
|
||||
'dict.col.validFrom': 'Действует с',
|
||||
@@ -1151,6 +1160,11 @@ i18n
|
||||
'dict.list.fk.usedBy_one': '← {{count}} used by',
|
||||
'dict.list.fk.usedBy_other': '← {{count}} used by',
|
||||
'dict.empty': 'No records in this dictionary yet',
|
||||
'dict.scheduled.hint_one':
|
||||
'{{count}} record scheduled for {{date}}',
|
||||
'dict.scheduled.hint_other':
|
||||
'{{count}} records scheduled, earliest on {{date}}',
|
||||
'dict.scheduled.cta': 'Jump to that date',
|
||||
'dict.col.businessKey': 'Business key',
|
||||
'dict.col.scope': 'Scope',
|
||||
'dict.col.validFrom': 'Valid from',
|
||||
|
||||
Reference in New Issue
Block a user