注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
スケジューリングガントチャートウィジェットのドラッグアンドドロップ機能を使うと、エンドユーザーは「パック」を別の行や別の時点に割り当てたり、再割り当てしたりできます。ドラッグアンドドロップは、ウィジェット内のパックを操作する主要な方法です。
ドラッグアンドドロップの動作を設定するには、ウィジェットの設定オプションで保存アクションハンドラーを指定する必要があります。パックをドラッグアンドドロップすると、ウィジェットはこのアクションを呼び出します。以下の手順では、最も一般的なアクションタイプ、つまり関連するスケジュールオブジェクトの開始、終了、割り当て先の行を変更するシンプルなアクションで、ドラッグアンドドロップの動作を設定する方法を説明します。この例では、スケジュールレイヤーをオブジェクトタイプ A と呼びます。
Ontology Manager でオブジェクトタイプ A に移動し、変更アクションタイプを作成します。このアクションタイプには、次のパラメーターを設定する必要があります。
次に、Workshop で入力データ (パック) > [スケジュールレイヤー] > ドラッグアンドドロップに移動します。
ハンドラーアクションを保存で、設定したアクションタイプを選択します。
指定したアクションタイプの下で、設定するパラメーターを選択を選び、オブジェクト、開始タイムスタンプ、終了タイムスタンプ、外部キーのパラメーターを選択します。これで、設定にこれら4個のパラメーターが表示されます。次に、Scheduling Gantt の変数を選択して、これらのパラメーター値を事前入力します。
これで、このスケジュールレイヤー内の任意のパックを、新しい行(リソース)や新しい開始タイムスタンプと終了タイムスタンプにドラッグアンドドロップできます。ドロップすると、これらの更新された値がパラメーターに事前入力された状態で、このアクションタイプがトリガーされます。追加のカスタマイズについては、次のセクションを参照してください。
前のセクションで説明したシンプルな設定に加えて、ドラッグアンドドロップの動作をカスタマイズできます。
デフォルトでは、ドラッグアンドドロップを設定すると、パックを1分単位でドラッグできます。スナップ動作を使うと、パックをドラッグする際の粒度をカスタマイズできます。たとえば、パックのドラッグアンドドロップ時に、表示上で前後に1分ではなく1日ずつ移動するようにしたい場合に使用できます。スナップ動作は、パックのエッジをドラッグして期間を延長または短縮する場合にも適用されます。設定するには、以下の手順に沿って進めます。
3、時間の単位を日にすると、このレイヤー内でパックをドラッグアンドドロップするたびに、3日単位で移動します。
ドラッグアンドドロップ時に、ウィジェットは指定されたパラメーターを使って保存ハンドラーアクションタイプを呼び出します。標準的なケースでは、これらのプロパティを直接変更するシンプルなアクションタイプを使用します。ただし、ウィジェットがスケジュールオブジェクト、開始タイムスタンプ、終了タイムスタンプ、リソース ID を渡せる限り、アクションタイプの内部ロジックと結果は自由に設定できます。つまり、単純な編集ではなく、たとえばオブジェクトに対する関数に基づくアクションタイプを使用することもできます。また、Workshop から追加のパラメーターや値をアクションタイプに渡すこともできます。
次のような場合は、ドラッグアンドドロップ用に関数ベースのアクションタイプを使用することを検討してください。
パックを別の行や時刻にドラッグアンドドロップする際に、エンドユーザーにオンデマンドで推奨候補を提示したい場合があります。カスタム提案 > 提案関数では、ドラッグアンドドロップ時にトリガーされる関数を定義できます。この関数は、カスタムロジックに基づいてガントチャート上の時間枠を一時的に緑または赤で色付けし、ドロップ先として「適切」か「不適切」かを示すことができます。
詳細については、候補関数を参照してください。
