mcpField
T
table-features

table-features

github.com/tanstack開発28.5k66 回インストール1 週間前に更新
リポジトリ

table-features について

TanStack Table v9 の機能設定を支援するコーディングスキルです。機能の登録や依存関係の確認、目的に応じた参照先の選択を案内します。

主な機能

  1. 01任意のテーブル機能を登録
  2. 02機能の前提条件を確認
  3. 03タスク別に参照先を選択
  4. 04導入済み機能 API を調査

活用シーン

  1. 01ソートやフィルタリングの追加
  2. 02行処理ステージの選択
  3. 03API が利用できない原因の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tanstack/table --skill table-features

インストール後、Claude Code で/table-featuresを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
aggregation.md
cell-selection.md
cell-spanning.md
client-vs-server.md
column-faceting.md
column-filtering.md
column-ordering.md
column-pinning.md
column-resizing.md
column-sizing.md
column-visibility.md
expanding.md
global-filtering.md
grouping.md
pagination.md
row-pinning.md
row-selection.md
sorting.md

詳細

機能アーキテクチャ

ヘッドレスモデルと安定した入力については、まずcoreをお読みください。

テーブルが使用する動作を登録する

import {
  createSortedRowModel,
  rowSortingFeature,
  sortFn_alphanumeric,
  tableFeatures,
} from '@tanstack/table-core'

export const features = tableFeatures({
  rowSortingFeature,
  sortedRowModel: createSortedRowModel(),
  sortFns: { alphanumeric: sortFn_alphanumeric },
})

安定したfeaturesオブジェクトを、インストール済みアダプターのコンストラクターに渡します。具体的なレジストリによって、オプションのAPI、オプション、状態スライス、およびそれらの型が決まります。コアの行モデルは自動的に適用されます。カスタムのコアモデルを使用する場合は、coreRowModelを指定します。

登録ルール

  • 同じtableFeatures呼び出し内では、依存するスロットより先に、各前提機能を登録してください。処理ファクトリーだけでは、その機能のAPIや状態をインストールできません。
  • 行モデルファクトリーには、create*RowModel()機能スロットを使用します。名前と前提条件は機能リファレンスに記載されています。関数レジストリの引数は不要です。
  • filterFns、sortFns、aggregationFnsはテーブルオプションではなく、機能スロットです。それぞれcolumnFilteringFeature、rowSortingFeature、rowAggregationFeatureが必要です。
  • sortFn_alphanumericなどの組み込み機能を個別にインポートし、慣例に従ったキーを登録します。これらのキーは型付きの文字列名となり、'auto'で解決できるのは登録済みの関数だけです。列に名前付きレジストリエントリが不要な場合は、関数を直接渡してください。レジストリの完全版のエクスポートには、すべての組み込み機能が含まれます。
  • columnResizingFeatureにはcolumnSizingFeatureが必要です。globalFilteringFeatureにはcolumnFilteringFeatureが必要です。その他の依存関係については、インストール済みのFeatureSlotPrereqsを確認してください。
  • 通常の構築では、明示的な機能を使用してください。stockFeaturesは、すべての機能を含む利便性のため、または一時的な移行支援として意図的に使用するものであり、それに応じたバンドルコストが発生します。

APIが見つからない場合は、登録が不足している可能性があります。型アサーションを行ったり、APIを再作成したり、v9で削除されたと判断したりする前に、具体的な機能オブジェクトを確認してください。

要求された変更に応じて参照資料を選ぶ

要求された動作とその依存関係(追加する機能を含む)に必要な参照資料だけを読みます。テーブルに登録済みの無関係な機能があっても、その参照資料を読む必要はありません。

タスクの内容読む資料
手動モード、サーバーデータ、混在する行処理ステージ、またはデータセットのスコープクライアント/サーバーの所有権
合計、複数の集計、グループ化された集計値、またはカスタム集計定義集計
ファセットの選択肢数、数値範囲、または不完全なサーバーファセット列のファセット
列ごとのフィルター、フィルター関数、メタデータ、または入れ子になった行のフィルタリング列のフィルタリング
行のグループ化、プレースホルダー、または展開/ページネーションを伴うグループ化グループ化
ドラッグによる並べ替え、またはリーフ列の順序が状態と異なる場合列の順序
固定列領域、論理的な始点/終点、または固定時の隙間列の固定
ドラッグによるサイズ変更ハンドル、ジェスチャーイベント、またはサイズ変更のパフォーマンス列のサイズ変更
数値の幅、最小/最大の制限、またはモデルと CSS のサイズの不一致列幅
非表示列、表示状態を考慮したレンダリング、または非表示コントロール列の表示設定
列をまたいだ検索、またはグローバルフィルターの対象条件グローバルフィルタリング
階層化されたサブ行、詳細パネル、または展開とページ操作の連携展開
ページ分割、件数、ナビゲーション、またはページインデックスのリセットページネーション
上部/下部に固定する行、または現在のページ外での行の表示状態行の固定
矩形のセル選択、範囲の包含/除外、またはドラッグによるアウトラインセル選択
本文セルの結合、対象セル、または行順に応じて変化するスパンセルのスパン
行のチェックボックス、すべて選択、Shift による範囲選択、またはページをまたぐ ID行選択
ソート、比較関数、未定義値、またはソート操作のサイクルソート

状態の制御やリセット動作については、共有状態を読み、リアクティブな連携のためにインストール済みアダプターの状態スキルも読み込みます。

インストール済み API の調査

スロットと FeatureSlotPrereqs を確認するには、node_modules/@tanstack/table-core/dist/types/TableFeatures.d.ts を調べます。正確な状態、オプション、インスタンスの宣言については、dist/features/<feature>/ を参照します。各参照資料には、対応する機能のディレクトリが記載されています。

コメント