Skip to main content
보기는 객체 레코드가 어떻게 표시될지에 대한 저장된 구성입니다. 어떤 필드가 표시되는지, 그 순서, 표시 여부, 적용된 필터나 그룹 등을 정의합니다. 앱과 함께 미리 구성된 뷰를 제공하려면 defineView()를 사용하세요. 모든 개체는 서버에서 기본 목록 뷰(OBJECT 탐색 항목이 여는 “All …” 테이블)를 자동으로 프로비저닝됩니다. 여기에는 앱이 생성하는 개체도 포함되며, 앱이 선언한 각 필드당 하나의 열이 생성됩니다. defineView()로 정의한 뷰는 항상 해당 기본 뷰 위에 추가되는 추가 뷰입니다.
src/views/example-view.ts

핵심 요점

  • objectUniversalIdentifier는 이 뷰가 적용되는 객체를 지정합니다. 이 객체는 사용자가 정의한 커스텀 객체일 수도 있고, 표준 Twenty 객체일 수도 있습니다.
  • 개체의 기본 목록 뷰는 서버 소유입니다. key 는 더 이상 사용되지 않으며 무시되므로 매니페스트 뷰가 이를 소유할 수 없습니다. 사이드바에서 한 번의 클릭으로 뷰에 접근할 수 있게 하려면 VIEW 탐색 항목을 제공하십시오.
  • fields는 어떤 열을 어떤 순서로 표시할지를 제어합니다. 각 필드는 fieldMetadataUniversalIdentifier를 참조합니다. 자동 생성된 시스템 필드(예: createdAt)를 참조하는 방법은 시스템 메타데이터 대상으로 지정하기를 참조하세요.
  • 또한 더 고급 구성을 위해 filters, filterGroups, sorts, groups, fieldGroups를 선언할 수 있습니다.
  • position은 동일한 객체에 여러 뷰가 있을 때의 정렬 순서를 제어합니다.

선택적 속성

위의 모든 enum은 twenty-sdk/define에서 내보내집니다.

필터

뷰는 미리 적용된 필터와 함께 제공될 수 있습니다. 각 필터에는 세 가지 요소가 있습니다: 필터링할 필드, 연산자(어떻게 비교할지), 그리고 (무엇과 비교할지). 세 가지가 모두 맞아야 하며, 필드 유형에 적용되지 않는 연산자를 사용하면 동기화 시 거부됩니다.

필드 유형별 지원되는 연산자

유사한 이름을 가진 필드 타입이라도 전혀 다른 피연산자를 사용할 수 있습니다. 대표적인 예로 SELECTMULTI_SELECT가 있습니다.

피연산자별 값 구조

value 필드는 항상 JSON으로 직렬화할 수 있는 값이지만, 기대되는 구조는 피연산자에 따라 달라집니다:

보기가 UI에 표시되는 방식

보기만으로는 사이드바에서 직접 접근할 수 없습니다. 사이드바에 표시하려면, 해당 보기의 universalIdentifier를 가리키는 VIEW 타입의 탐색 메뉴 항목과 연결해야 합니다. 이것이 정형화된 패턴입니다. 모든 사용자 정의 객체는 생성 시 기본 인덱스 뷰가 자동으로 생성되므로, 이를 여는 사이드바 항목만 제공하면 됩니다.