0.1 からの移行
vastgrid 0.2 は、書かれた仕様の上にグリッドを作り直したものです。0.1 の機能のほとんどがありますが、API は別のものです。このページは変わったことを並べます。GitHub の移行ガイドの全文(英語)は、0.1 の機能のそれぞれを 0.2 に対応させ、互換性のない変更を詳しく書いています。
| 0.1 | vastgrid 0.2 |
|---|---|
vastgrid(React 18 以降) |
vastgrid。React 19.3 以降が必要。vastgrid/core に React を使わないストアとトランスポートがある |
vastgrid-core |
なくなった。その部品は vastgrid/core と vastgrid-spec にある |
| 0.1 のメモリー上のソース | vastgrid-js の memoryEngine |
vastgrid-browser |
なくなった。vastgrid-js がWeb Worker の中でファイルと Parquet の URL を読む |
vastgrid-duckdb:TableEngine、createTableHandler |
vastgrid-duckdb:DuckDBEngine、createHttpHandler(サーバーのファイルを参照) |
グリッドはトランスポートを受け取る
Section titled “グリッドはトランスポートを受け取る”0.1 のグリッドは source プロパティでソースのオブジェクトを受け取りました。0.2 のグリッドは、エンジンへのトランスポートとテーブルの名前か、useCreateGridStore で作ったストアを受け取ります。
import { DataGrid, localTransport } from "vastgrid";import { memoryEngine } from "vastgrid-js";
const transport = localTransport(memoryEngine({ tables: { orders: { columns, rows } } }));
<DataGrid transport={transport} table="orders" style={{ height: 480 }} />;列は仕様の論理型を持ち、値は型の付いた JSON です。小数と大きな整数は、桁を失わないよう文字列です。0.1 のリモートのソースとそのテーブルサーバーは、httpTransport と DuckDB エンジンの HTTP ハンドラーになり、0.2 の電文で話します。
状態はドキュメント・セッション・コマンド
Section titled “状態はドキュメント・セッション・コマンド”0.1 がコントローラーに持ち、ref のメソッドとイベントで渡していたものは、いまは素の JSON です。ドキュメント(ビューとその列:並べ替え・絞り込み・グループ・数式・幅・固定・書式)と、セッション(選択・スクロールの位置・チェックした行・元に戻す履歴)です。どちらも document と onDocumentChange、session と onSessionChange で制御できます。変更はすべて型の付いたコマンドで、グリッドのメニューと同じようにコードからディスパッチします。ref が渡すのは { store, dispatch, focus } だけです。ドキュメント・セッション・コマンドを参照してください。
0.1 で保存した GridState は、vastgrid-spec の migrateGridState に表の列を渡すと、ドキュメントに移せます。
import { migrateGridState } from "vastgrid-spec";
// columns: the table's columns, as the engine reports them (snapshot.table.columns once it is open)const { document, dropped, reasons } = migrateGridState(savedState, columns);// <DataGrid … defaultDocument={document} />dropped は移せなかったものを 0.1 の状態の中の JSON Pointer で並べ、reasons はその理由を示します。左右に固定した列は pin: "left" と pin: "right" に、グループはプランの aggregate になります(仕様の §5.6)。
0.1 の数式の言語は 0.2 でもコンパイルでき、0.1 の関数はすべてあります。数式はプランの派生列になります。0.1 はすべての数値を 64 ビットの浮動小数点数で計算しましたが、0.2 は小数を正確に保ち、値を DuckDB の文字列の形で書くので、いくつかの数式は別の結果になります(ROUND(0.285, 2) は 0.28 ではなく 0.29)。数式の列と §4.11 にその一覧があります。
0.2 にないもの
Section titled “0.2 にないもの”- 行のツリー。0.1 にもありませんでした。列に階層を持つデータは、いくつかのキーでグループ化します。
- いくつかの列の幅を一度に変えること。列ごとに幅を変えるか、列のメニューから値に合わせます。
移行ガイドの全文(英語)には、すべての機能と互換性のない変更、それぞれにすることが書いてあります。