feat(editor): + Экспорт button в InfoPanel per redesign dark theme screenshot

User dropped /Users/zimin/Downloads/Ordinis (3) — full project dump.
Dark theme editor screenshot (uploads/draw-4b771386...png) показывает
INFO PANEL c двумя buttons:
  - ↓ Экспорт…
  - ⟲ Time-travel…

У нас был Time-travel + AOI — добавил Экспорт как third button.

Implementation:
  - EditorInfoPanel.actions.onExport + exportPending props
  - DownloadSimpleIcon кнопка 'Экспорт…'
  - Wired к useBulkExportRecords mutation:
    * Selection не empty -> export selected
    * Selection empty -> export all filtered records
  - disabled когда mutation pending, label 'Экспорт…'

Project dump reviewed:
  - design_handoff_dictionary_catalog — старый handoff, всё уже реализовано
    (List view MR !62, Hub MR earlier, Graph earlier)
  - patches/ — @nstart/ui patches, moot (мы dropped @nstart/ui MR !52)
  - redesign/ — уже синхронизированы colors MR !71, layout MR !69
  - uploads/ — user-provided screenshots, main delta = Export button
This commit is contained in:
Zimin A.N.
2026-05-11 18:03:52 +03:00
parent 36fb70fc00
commit e15a3916bf
2 changed files with 28 additions and 2 deletions
@@ -570,6 +570,17 @@ function DictionaryDetail() {
timeTravelActive: Boolean(timeTravelAt),
onAoi: () => setAoiOpen(true),
aoiActive: Boolean(aoi),
onExport: () => {
// Export all visible records (filtered + paginated set OR full
// dictionary). Если selection непустой — exports selection,
// иначе — все filtered records.
const keys =
selection.size > 0
? Array.from(selection)
: filteredRecords.map((r) => r.businessKey)
if (keys.length > 0) bulkExportMut.mutate(keys)
},
exportPending: bulkExportMut.isPending,
}}
/>
)}