メインコンテンツへスキップ
ビューとは、オブジェクトのレコードをどのように表示するかについての保存された設定です。どのフィールドを表示するか、その順序、表示・非表示、および適用されるフィルターやグループなどを含みます。 defineView() を使用して、アプリにあらかじめ設定されたビューを組み込みます。通常は、作成する各カスタムオブジェクトに対してデフォルトのインデックスビューを用意します。
src/views/example-view.ts

主なポイント

  • objectUniversalIdentifier は、このビューを適用するオブジェクトを指定します。 定義したカスタムオブジェクトでも、Twenty の標準オブジェクトでも可能です。
  • key: ViewKey.INDEX は、そのビューがオブジェクトのメイン一覧ビュー(OBJECT ナビゲーション項目を開いたときに表示されるビュー)であることを示します。
  • fields は、どの列をどの順序で表示するかを制御します。 各フィールドは fieldMetadataUniversalIdentifier を参照します。 createdAt などの自動作成システムフィールドの参照方法については、システムフィールドのターゲット指定を参照してください。
  • さらに高度な構成のために、filtersfilterGroupssortsgroupsfieldGroups も定義できます。
  • 同じオブジェクトに複数のビューがある場合、position が表示順を制御します。

オプションのプロパティ

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

フィルター

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

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

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

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

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

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

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