드래그 페이로드의 객체 식별자
객체 미디어 유형은 DataTransfer에 어떤 객체 식별자 목록을 넣는지 정하는 계약입니다. 브라우저는 이 형식만으로 객체를 조회하거나 권한을 부여하지 않으며, 수신 앱이 미디어 유형과 직렬화한 데이터를 해석합니다.
Foundry 객체 RID
| 항목 | 값 |
|---|---|
| 미디어 유형 | application/x-vnd.palantir.rid.phonograph2-objects.object |
| 디코딩한 데이터 | string[] |
| 내용 | Foundry 객체 RID 목록 |
DataTransfer의 문자열 슬롯에는 배열을 JSON.stringify한 값을 넣습니다.
export function writeFoundryObjectRids(
transfer: DataTransfer,
objectRids: readonly string[],
): void {
transfer.setData(
"application/x-vnd.palantir.rid.phonograph2-objects.object",
JSON.stringify(objectRids),
);
}
objectRids는 앱이 보유한 실제 객체 RID 목록입니다. 객체의 기본 키와 RID는 다르므로 객체 식별자를 확인합니다. 함수는 dragstart의 동기 실행 안에서 호출합니다.
Object Explorer의 객체 아이콘은 이 유형을 넣는 drag zone입니다.
Vertex 그래프처럼 이 유형을 받는 영역에 놓을 수 있습니다.
Gotham 객체 식별자
| 항목 | 값 |
|---|---|
| 미디어 유형 | application/x-vnd.palantir.rid.gotham.object |
| 디코딩한 데이터 | string[] |
| 내용 | Gotham 식별자, 즉 GID 목록 |
export function writeGothamObjectIds(
transfer: DataTransfer,
objectIds: readonly string[],
): void {
transfer.setData(
"application/x-vnd.palantir.rid.gotham.object",
JSON.stringify(objectIds),
);
}
Gotham Browser의 카드가 이 데이터의 drag zone이 될 수 있습니다.
Gaia 지도는 Gotham 객체 페이로드를 받는 예입니다.
Foundry와 Gotham의 문자열 목록은 형식이 같아도 식별자 의미와 미디어 유형이 다릅니다. 반대 플랫폼의 표현이 필요하면 보강과 유형 매핑을 사용합니다.