logologo
スタート
マニュアル
開発
プラグイン
API
ホーム
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
スタート
マニュアル
開発
プラグイン
API
ホーム
logologo

クイックスタート

概要
ブロックプラグイン作成
Next Page概要
TIP

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

#ブロック拡張の概要

NocoBase 2.0では、ブロック拡張の仕組みが大幅に簡素化されました。開発者は、対応する FlowModel 基底クラスを継承し、関連するインターフェースメソッド(主に renderComponent() メソッド)を実装するだけで、ブロックを素早くカスタマイズできます。

#ブロックの分類

NocoBaseでは、ブロックが3つのカテゴリに分類され、設定画面でグループごとに表示されます。

  • データブロック(Data blocks):DataBlockModel または CollectionBlockModel を継承するブロック
  • フィルターブロック(Filter blocks):FilterBlockModel を継承するブロック
  • その他のブロック(Other blocks):BlockModel を直接継承するブロック

ブロックのグループ分けは、対応する基底クラスによって決定されます。分類ロジックは継承関係に基づいており、追加の設定は不要です。

#基底クラスの説明

システムは、拡張のために4つの基底クラスを提供しています。

#BlockModel

基本ブロックモデルは、最も汎用的なブロック基底クラスです。

  • 純粋な表示のみでデータに依存しないブロックに適しています。
  • その他のブロック グループに分類されます。
  • 個別化されたシナリオに適用できます。

#DataBlockModel

**データブロックモデル(データテーブルにバインドしない)**は、カスタムデータソースを持つブロック向けです。

  • データテーブルに直接バインドされず、データ取得ロジックをカスタマイズできます。
  • データブロック グループに分類されます。
  • 外部APIの呼び出し、カスタムデータ処理、統計グラフなどのシナリオに適用できます。

#CollectionBlockModel

コレクションブロックモデルは、データテーブルにバインドする必要があるブロック向けです。

  • データテーブルモデルの基底クラスへのバインドが必要です。
  • データブロック グループに分類されます。
  • リスト、フォーム、カンバンボードなど、特定のデータテーブルに明確に依存するブロックに適用できます。

#FilterBlockModel

フィルターブロックモデルは、フィルター条件を構築するためのブロックです。

  • フィルター条件を構築するためのモデル基底クラスです。
  • フィルターブロック グループに分類されます。
  • 通常、データブロックと連携して動作します。

#基底クラスの選択方法

基底クラスを選択する際は、以下の原則に従ってください。

  • 特定のデータテーブルにバインドする必要がある場合:CollectionBlockModel を優先的に選択します。
  • カスタムデータソースを使用する場合:DataBlockModel を選択します。
  • フィルター条件を設定し、データブロックと連携する場合:FilterBlockModel を選択します。
  • どのように分類すればよいか不明な場合:BlockModel を選択します。

#クイックスタート

カスタムブロックの作成は、たった3つのステップで完了します。

  1. 対応する基底クラス(例:BlockModel)を継承します。
  2. renderComponent() メソッドを実装し、Reactコンポーネントを返します。
  3. プラグインにブロックモデルを登録します。

詳細な例については、ブロックプラグインの作成 を参照してください。