Block a user
@cyrmex/datagrid (0.4.1)
Published 2026-06-24 14:34:04 +00:00 by fdebef
Installation
@cyrmex:registry=https://gitea.cyrmex.cz/api/packages/fdebef/npm/npm install @cyrmex/datagrid@0.4.1"@cyrmex/datagrid": "0.4.1"About this package
Sdílený DataGrid pro Cyrmex SvelteKit aplikace
@cyrmex/datagrid
Sdílený DataGrid pro Cyrmex SvelteKit aplikace (Svelte 5 runes, Tailwind 4).
Instalace
"@cyrmex/datagrid": "git+ssh://git@gitea.cyrmex.cz:2234/fdebef/cyrmex-datagrid.git#v0.2.0"
Lokální vývoj balíčku:
cd cyrmex-datagrid && npm link
cd farmis-tools && npm link @cyrmex/datagrid
V appce:
vite.config.ts→resolve.dedupe: ['svelte'],optimizeDeps.exclude: ['@cyrmex/datagrid'],ssr.noExternal: ['@cyrmex/datagrid']@sveltejs/vite-plugin-svelte≥ 7.1.2 (fix CSS virtual modulů u excluded ship-source deps v dev)src/app.css→@source '../node_modules/@cyrmex/datagrid/src/lib';
Použití
<script lang="ts">
import { DataGrid } from '@cyrmex/datagrid';
import type { DataGridColumn } from '@cyrmex/datagrid';
</script>
<DataGrid {columns} {data} storageKey="my-grid" />
Výběr řádků (unified)
Jeden store — store.selection.selected (Set<id>). Checkbox sloupec, mouse i klávesnice mutují stejný Set.
| Prop / API | Popis |
|---|---|
type: 'selection' sloupec |
Checkbox výběr |
enableSelection |
CTRL/SHIFT/klávesnice (CTRL+A, Esc, Shift+šipky) |
enableDragSelection |
Tažení myší — vybere rozsah, další drag přepíše (default = enableSelection) |
suppressRowSelection (sloupec) |
Buňka blokuje row selection — priorita interakce |
| Shift+klik / Shift+checkbox | Přidá rozsah kotva→klik k existujícímu výběru |
onSelectionChange(Set) |
Callback při změně výběru |
store.getSelectedIds() |
Helper: Array.from(Set) |
store.setSelectedIds([...]) |
Helper: nahradí celý výběr |
store.selection.clearSelection() |
Vymaže výběr |
Architektura
- Ship-source — žádný build, appka kompiluje
src/libpřímo - Distribuce — git tag v Gitea, ne npm registry
- App-specifické editory (ATC/PDK) zůstávají v appkách, zapojují se přes
renderEditCell
Dependencies
Dependencies
| ID | Version |
|---|---|
| clsx | ^2.1.1 |
Development Dependencies
| ID | Version |
|---|---|
| @lucide/svelte | ^1.0.0 |
| @sveltejs/package | ^2.5.8 |
| @sveltejs/vite-plugin-svelte | ^7.0.0 |
| @tailwindcss/cli | ^4.3.1 |
| svelte | ^5.0.0 |
| svelte-check | ^4.0.0 |
| tailwindcss | ^4.3.1 |
| typescript | ^6.0.0 |
Peer Dependencies
| ID | Version |
|---|---|
| @lucide/svelte | ^1.0.0 |
| svelte | ^5.0.0 |