オントロジーの構築Dynamic Schedulingスケジュールレイヤーレベルのインタラクションドラッグアンドドロップ

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

ドラッグアンドドロップ

スケジューリングガントチャートウィジェットのドラッグアンドドロップ機能を使うと、エンドユーザーは「パック」を別の行や別の時点に割り当てたり、再割り当てしたりできます。ドラッグアンドドロップは、ウィジェット内のパックを操作する主要な方法です。

ドラッグアンドドロップの動作を設定する

ドラッグアンドドロップの動作を設定するには、ウィジェットの設定オプションで保存アクションハンドラーを指定する必要があります。パックをドラッグアンドドロップすると、ウィジェットはこのアクションを呼び出します。以下の手順では、最も一般的なアクションタイプ、つまり関連するスケジュールオブジェクトの開始、終了、割り当て先の行を変更するシンプルなアクションで、ドラッグアンドドロップの動作を設定する方法を説明します。この例では、スケジュールレイヤーをオブジェクトタイプ A と呼びます。

設定手順

  1. Ontology Manager でオブジェクトタイプ A に移動し、変更アクションタイプを作成します。このアクションタイプには、次のパラメーターを設定する必要があります。

    • オブジェクトタイプ A のオブジェクト。
    • その参照先オブジェクトの開始タイムスタンププロパティ
    • その参照先オブジェクトの終了タイムスタンププロパティ
    • その参照先オブジェクトの外部キープロパティ。このスケジュールオブジェクトの割り当て先である行 ID に対応します。 これにより、開始タイムスタンプ、終了タイムスタンプ、更新された外部キーのいずれかを入力すると、オブジェクトタイプ A のオブジェクトの値が調整されるようにアクションタイプを設定します。
  2. 次に、Workshop で入力データ (パック) > [スケジュールレイヤー] > ドラッグアンドドロップに移動します。

  3. ハンドラーアクションを保存で、設定したアクションタイプを選択します。

  4. 指定したアクションタイプの下で、設定するパラメーターを選択を選び、オブジェクト、開始タイムスタンプ、終了タイムスタンプ、外部キーのパラメーターを選択します。これで、設定にこれら4個のパラメーターが表示されます。次に、Scheduling Gantt の変数を選択して、これらのパラメーター値を事前入力します。

    1. オブジェクトパラメーターのローカルのデフォルト値で、ポップアップウィンドウのスケジュールオブジェクトを選択します。これにより、ドラッグアンドドロップ時に、ドラッグアンドドロップしているスケジュールオブジェクトがウィジェットから自動的に渡されます。
    2. 開始タイムスタンプパラメーターのローカルのデフォルト値で、ポップアップの選択された開始タイムスタンプを選択します。これにより、ドラッグアンドドロップ時に、スケジュールオブジェクトのドラッグ先となる新しい開始タイムスタンプがウィジェットから自動的に渡されます。
    3. 終了タイムスタンプパラメーターのローカルのデフォルト値で、ポップアップの選択された終了タイムスタンプを選択します。これにより、ドラッグアンドドロップ時に、スケジュールオブジェクトのドラッグ先となる新しい終了タイムスタンプがウィジェットから自動的に渡されます。
    4. 外部キーパラメーターのローカルのデフォルト値で、ポップアップのリソース ID を選択します。これにより、ドラッグアンドドロップ時に、スケジュールオブジェクトのドラッグ先となる新しい行(リソース)がウィジェットから自動的に渡されます。

これで、このスケジュールレイヤー内の任意のパックを、新しい行(リソース)や新しい開始タイムスタンプと終了タイムスタンプにドラッグアンドドロップできます。ドロップすると、これらの更新された値がパラメーターに事前入力された状態で、このアクションタイプがトリガーされます。追加のカスタマイズについては、次のセクションを参照してください。

ドラッグアンドドロップの設定。

ドラッグアンドドロップの動作のカスタマイズ

前のセクションで説明したシンプルな設定に加えて、ドラッグアンドドロップの動作をカスタマイズできます。

スナップ動作を更新する

デフォルトでは、ドラッグアンドドロップを設定すると、パックを1分単位でドラッグできます。スナップ動作を使うと、パックをドラッグする際の粒度をカスタマイズできます。たとえば、パックのドラッグアンドドロップ時に、表示上で前後に1分ではなく1日ずつ移動するようにしたい場合に使用できます。スナップ動作は、パックのエッジをドラッグして期間を延長または短縮する場合にも適用されます。設定するには、以下の手順に沿って進めます。

  1. 入力データ (パック) > [スケジュールレイヤー] > ドラッグアンドドロップ > スナップ動作に移動します。
  2. スナップ間隔の大きさを指定する数値変数を指定します。
  3. 時間の単位を選択します。たとえば、スナップ間隔の大きさを 3、時間の単位を日にすると、このレイヤー内でパックをドラッグアンドドロップするたびに、3日単位で移動します。
スナップ動作の設定。

高度な保存ハンドラーアクションタイプ

ドラッグアンドドロップ時に、ウィジェットは指定されたパラメーターを使って保存ハンドラーアクションタイプを呼び出します。標準的なケースでは、これらのプロパティを直接変更するシンプルなアクションタイプを使用します。ただし、ウィジェットがスケジュールオブジェクト、開始タイムスタンプ、終了タイムスタンプ、リソース ID を渡せる限り、アクションタイプの内部ロジックと結果は自由に設定できます。つまり、単純な編集ではなく、たとえばオブジェクトに対する関数に基づくアクションタイプを使用することもできます。また、Workshop から追加のパラメーターや値をアクションタイプに渡すこともできます。

次のような場合は、ドラッグアンドドロップ用に関数ベースのアクションタイプを使用することを検討してください。

  • スケジュールオブジェクトを編集し、オントロジー内のほかのオブジェクトに対する編集を条件付きでトリガーしたい場合。
  • スケジュールオブジェクトを編集し、オントロジー内に追加のオブジェクトを作成したい場合。
  • スケジュールオブジェクトを編集し、API を呼び出したい場合。

候補関数

パックを別の行や時刻にドラッグアンドドロップする際に、エンドユーザーにオンデマンドで推奨候補を提示したい場合があります。カスタム提案 > 提案関数では、ドラッグアンドドロップ時にトリガーされる関数を定義できます。この関数は、カスタムロジックに基づいてガントチャート上の時間枠を一時的に緑または赤で色付けし、ドロップ先として「適切」か「不適切」かを示すことができます。

詳細については、候補関数を参照してください。

スナップ動作の設定。