Skip to main content
ビューとは、オブジェクトのレコードをどのように表示するかについての保存された設定です。どのフィールドを表示するか、その順序、表示・非表示、および適用されるフィルターやグループなどを含みます。 defineView() を使用して、事前設定済みのビューをアプリに同梱します。 すべてのオブジェクトには、サーバーによってプロビジョニングされるメインのリストビュー(OBJECT ナビゲーション項目で開かれる「All …」テーブル)が自動的に用意されます。これには、アプリが作成するオブジェクトも含まれ、アプリが宣言する各フィールドごとに 1 列が用意されます。 defineView() で定義したビューは、そのデフォルトビューに加えて常に追加のビューとして扱われます。
src/views/example-view.ts

主なポイント

  • objectUniversalIdentifier は、このビューを適用するオブジェクトを指定します。 定義したカスタムオブジェクトでも、Twenty の標準オブジェクトでも可能です。
  • オブジェクトのメインのリストビューはサーバー所有です。key は非推奨で無視されるため、マニフェストビューがそれを取得することはできません。 サイドバーから 1 クリックでビューにアクセスできるようにしたい場合は、VIEW ナビゲーション項目を追加してください。
  • fields は、どの列をどの順序で表示するかを制御します。 各フィールドは fieldMetadataUniversalIdentifier を参照します。 createdAt などの自動作成システムフィールドの参照方法については、システムフィールドのターゲット指定を参照してください。
  • さらに高度な構成のために、filtersfilterGroupssortsgroupsfieldGroups も定義できます。
  • 同じオブジェクトに複数のビューがある場合、position が表示順を制御します。

オプションのプロパティ

上記のすべての enum は twenty-sdk/define からエクスポートされています。

フィルター

ビューには、あらかじめフィルターを適用した状態で提供できます。 各フィルターには 3 つの要素があります: フィルタリング対象のフィールドオペランド(どのように比較するか)、(何と比較するか)。 この 3 つがすべてそろっている必要があります — フィールドの型に適用できないオペランドを使用すると、同期時に拒否されます。

フィールドタイプごとにサポートされているオペランド

名前が似ているフィールドタイプでも、まったく異なるオペランドを使用する場合があります。一般的な例としては SELECTMULTI_SELECT があります。

オペランドごとの値の形式

value フィールドは常に JSON シリアライズ可能な値ですが、想定される形式はオペランドによって異なります。

ビューが UI にどのように表示されるか

ビュー単体では、サイドバーから直接アクセスすることはできません。 それをサイドバーに表示するには、ビューの universalIdentifier を指す、種類が VIEWナビゲーションメニュー項目と組み合わせます。 それが標準的なパターンです。各カスタムオブジェクトには、作成時にデフォルトのインデックスビューが自動生成されるため、それを開くサイドバーエントリだけを用意しておけば十分です。