注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
ドラッグアンドドロップ機能を使用すると、あるアプリケーションから別のアプリケーションへデータをドラッグして、簡単に移動できます。よくある例として、画像をフォルダーにドラッグアンドドロップしたことがあるかもしれません。このドキュメントでは、ドラッグ元またはドラッグ先となるコンポーネントをドラッグアンドドロップ統合ポイントと呼びます。ドラッグアンドドロップ統合ポイントを1個追加するだけで、ドラッグアンドドロップ機能をサポートするほかのアプリケーションと連携し、新しいワークフローを作成できます。
ドラッグアンドドロップ機能は広く普及している Web 標準であり、アプリケーション間のシームレスな統合を可能にします。このドキュメントでは、Palantir プラットフォームへのデータのドラッグ、およびプラットフォームからのデータのドラッグを可能にする、Palantir 固有のドラッグアンドドロップの推奨事項とガイドを紹介します。これには、Gotham、Foundry、およびユーザーが開発したアプリケーションへのドラッグと、それらからのドラッグが含まれます。Palantir 固有のドラッグアンドドロップ機能の詳細については、Palantir メディアタイプを参照してください。

ドラッグアンドドロップ機能を実装するには、次の4つの主要な概念を理解しておく必要があります。
DataTransfer オブジェクトは、コンピューター上で何かをある場所から別の場所へ移動またはコピーするときに、情報を保持するコンテナのようなものです。DataTransfer オブジェクト(「DataTransfers」とも呼ばれます)は、画像をあるフォルダーから別のフォルダーに移動するといったドラッグアンドドロップ操作や、テキストをコピーしてドキュメントに貼り付けるといったコピーアンドペースト操作で使用されます。ドラッグアンドドロップのコンテキストでは、DataTransfer オブジェクトはドラッグペイロードとも呼ばれます。
DataTransfer は、テキストや画像など、さまざまな種類の情報を保持できます。DataTransfer オブジェクトはもともとドラッグアンドドロップ専用に作られましたが、現在ではほかの機能でも使用されています。詳しくは、DataTransfer に関する MDN ドキュメント ↗を参照してください。
メディアタイプは、以前は MIME タイプと呼ばれていたもので、転送されるデータの性質を表します。DataTransfer オブジェクトでは、メディアタイプを使用して転送されるデータの種類を識別します。たとえば、テキスト「Hello」を含む DataTransfer に text/plain メディアタイプを設定すると、テキストを有効なメディアタイプとして受け入れるコンポーネントがそのテキストにアクセスできるようになります。詳しくは、メディアタイプに関する MDN ドキュメント ↗を参照してください。
一般的なドラッグアンドドロップ機能で使用できる、MDN で受け入れられるメディアタイプの完全な一覧 ↗が公開されています。Palantir 固有の機能の詳細については、以下の Palantir メディアタイプを参照してください。
Palantir メディアタイプは、Palantir プラットフォーム固有の概念を表します。アプリケーションに Palantir 固有のドラッグアンドドロップのサポートを追加すると、ユーザーはそのアプリケーションと Palantir プラットフォーム間でデータを移動できるようになります。標準のメディアタイプを受け入れるドラッグゾーンとドロップゾーンはすでにありますが、ドラッグアンドドロップのワークフローを作成するときには、相互運用性を高めるためにドラッグペイロードに Palantir メディアタイプを追加することを推奨します。
Palantir プラットフォームには、ドラッグペイロードに Palantir メディアタイプを追加するドラッグゾーンや、これらのメディアタイプを持つドラッグペイロードを受け入れるドロップゾーンがあります。たとえば、Foundry のオブジェクトリソース識別子(RID)データを表すオブジェクトメディアタイプは、image/jpeg のような汎用的に使用されるメディアタイプではありません。オブジェクトメディアタイプは Palantir 固有の概念を表すため、このタイプのデータをアプリケーション間で移動するには、Palantir メディアのサポートが必要です。
現在サポートされている Palantir メディアタイプには、オブジェクトとオブジェクトセットがあります。
ドラッグゾーンは、ドキュメントオブジェクトモデル(DOM)↗上のインタラクティブな要素で、ユーザーがデータを「つかんで」別の場所に転送できるようにします。ユーザーがドラッグを開始すると、dragstart イベントが発生します。ドラッグゾーンは、DOM 要素の dragstart イベントを監視し、DataTransfer に追加のデータを追加することで動作します。

ドロップゾーンは DOM 上のインタラクティブな要素で、ユーザーがその要素にデータを「ドロップ」して転送できるようにします。ドロップゾーンは、DOM 要素の ondrop イベントを監視し、イベントが発生したときにそのイベントの DataTransfer から情報にアクセスすることで動作します。最適なユーザーエクスペリエンスを実現するには、ドラッグアンドドロップ操作中に視覚的なフィードバックを提供するよう、ドロップゾーンのスタイルを設定する必要があります。ドロップゾーンは、必要に応じて一部のメディアタイプのみを受け入れるように設定できるため、メディアタイプがそのドロップゾーンで有効か無効かを視覚的に示すと、ドラッグアンドドロップ機能がより直感的で使いやすくなります。

これらの概念をまとめると、ドラッグアンドドロップのインタラクションは、ユーザーがドラッグしているデータを保持する DataTransfer によって実現される、広く普及した Web 標準です。ドラッグゾーンのドラッグを開始すると、転送されるデータの種類に対応するメディアタイプとともに、データが DataTransfer に追加されます。その後、このデータを、ドラッグペイロードにアクセスできるドロップゾーンにドラッグできます。ドロップゾーンでは、ドラッグペイロードのメディアタイプに基づいてデータを選択的に受け入れることができるため、ユーザーが利用できるドラッグアンドドロップのインタラクションを調整できます。
ドラッグアンドドロップ機能の技術的な詳細を理解するには、ドラッグアンドドロップ統合ポイントを実装するチュートリアルに沿って進め、Workshop のドラッグアンドドロップのドキュメントを確認してください。