メインコンテンツまでスキップ

TaskList コンポーネント

TaskList は、ページ上に Spark Tasks を表示するコンポーネントです。Task Designer に保存された Filter を基本データ範囲として使用し、タスク権限、タスクフィールド、タスク詳細、実行時検索機能を再利用します。

このガイドでは、次の設定方法を説明します。

  • Task Filter で TaskList の基本タスク範囲を限定する
  • Task Form で高度な検索条件を表示する
  • システムフィールドとカスタムフィールドをテーブル列として追加する
  • 列の順序、タイトル、幅、ソート、固定位置、省略表示を調整する
  • Task Key または別の列をタスクリンクとして設定する
  • フィルターバー、列設定、ページサイズを制御する
  • Assignee、Select、Date、DateTime フィールドの検索動作を検証する

1. TaskList を使用する場面​

TaskList は次のような場面に適しています。

  • ビジネスページに特定のタスクタイプ、または一連のタスクを表示する
  • TQL でタスクタイプ、ステータス、ステップなどの基本条件を固定する
  • タイトル、担当者、日時、カスタムフィールドで結果を絞り込めるようにする
  • リストのタスク番号やビジネスフィールドをクリックしてタスク詳細を開く
  • タスクのシステムフィールドとビジネス用カスタムフィールドを同じテーブルに表示する

TaskList、DataList、ProTable では扱うデータの範囲が異なります。

コンポーネント主なデータ検索定義代表的な用途
TaskListSpark TasksTask Filter + 実行時条件タスクリスト、承認リスト、業務用ワークキュー
DataListBusiness ObjectDQL + モデルフィルター注文、顧客、設備などのオブジェクトデータ
ProTableCustom URL またはモデルデータソースHTTP リクエストパラメーターまたはモデルクエリ外部 API、集計データ、独自ページネーションプロトコル

ページに表示するデータがタスクでない場合は、DataList または ProTable を使用してください。

2. 前提知識とサンプルの参照元​

TaskList は Spark Tasks のプロセスタスクを表示します。設定を始める前に、次の内容を完了しておくことをお勧めします。

  1. Process Designer の概要を読み、Task Type、フィールド、フォーム、ステップ、ワークフロー、権限スキームの関係を理解する。
  2. クイックスタート:購買承認ワークフローを完了し、DEV で Purchase Request を作成、処理できることを確認する。

このガイドでは、クイックスタートで設定済みの購買承認ワークフローをそのまま再利用し、プロセス資産は再作成しません。クイックスタートには次の基本資産が含まれます。

資産サンプル設定
Task TypePURCHASE / Purchase Request
WorkflowPurchase Approval
カスタムフィールドFinance Review Result、Department Review Result、Required Date などの購買申請フィールド
実行データDEV で作成し、異なる承認分岐を検証済みの Purchase Request

これらのプロセス資産を基に、このガイドでは TaskList に必要なリスト資産とページプロパティを設定します。

資産またはプロパティこのガイドの設定
Task FilterAll Purchase Request Tasks
Filter TQLtaskType = "PURCHASE" ORDER BY createdAt DESC
Query FormpurchaseQueryForm
Query Form フィールドAssignee、Finance Review Result、Department Review Result、Required Date
ColumnsTask Key、Title、Task Type、Current Step、Created At
Page Size20
Show Filter Barオン
Show Column Settingsオン

3. 必要な資産を準備する​

3.1 タスク資産を準備する​

現在のアプリケーションとデザインバージョンに、次の資産が保存されていることを確認します。

  1. Task Type にワークフロー、権限スキーム、必要なフォームが設定されている。
  2. 表示または検索するカスタムフィールドが Task Type に追加されている。
  3. TaskList から参照できる Task Filter が 1 つ以上存在する。
  4. 高度な検索が必要な場合は、専用の Task Form が作成されている。

TaskList の候補は、現在の App + Version に基づいて読み込まれます。DEV では、現在の開発バージョンに保存されたタスク資産を使用できます。TEST または PROD で検証する場合は、対応するバージョンが対象環境に公開済みであることを確認してください。

3.2 Task Filter を作成する​

Task Designer → Data & Permission → Filters を開き、Filter を作成して TQL を保存します。このガイドでは次の TQL を使用します。

taskType = "PURCHASE" ORDER BY createdAt DESC

taskType = と入力したら、現在のバージョンの候補リストから Purchase Request を選択します。TQL では安定した Task Type Key である PURCHASE を使用します。表示名で Key を置き換えないでください。

Task Filter は TaskList の基本タスク範囲を決定します。実行時ユーザーがこの TQL を削除することはできず、Filter によってタスク権限が拡張されることもありません。構文と権限境界については、Filter と TQLを参照してください。

3.3 Query Form を作成する​

Query Form は任意の設定であり、検索領域を表示するための必須条件ではありません。Show Filter Bar をオンにすると、Query Form を選択していない場合でも TaskList はデフォルトの検索条件を表示します。

  • 1 行目のクイック条件:Title、Status、Task Type、Created At。
  • More をクリックした後の高度な条件:Current Step、SLA Status、Assignee、Updated At。

Search は検索領域右側の主要ボタンとして表示されます。その直後に More と Reset のアイコンボタンが続き、操作グループの末尾に列設定が配置されます。Query Form を設定した場合も TaskList は上記のデフォルト条件を保持し、More 領域に Query Form のカスタムフィールドを追加します。Query Form がデフォルト条件を置き換えることはありません。Show Filter Bar をオフにすると、デフォルト条件と Query Form はどちらも表示されません。

ビジネス用のカスタム検索フィールドを追加する場合は、ユーザーが検索に本当に必要とするフィールドだけを含む専用 Task Form を作成してください。読み取り専用の詳細や添付フィールドが多数ある業務フォームをそのままコピーしないでください。

このガイドでは purchaseQueryForm を使用します。

フィールドフィールドタイプ実行時検索コントロール
AssigneeUserユーザーセレクター
Finance Review ResultSelectApproved / Rejected の選択リスト
Department Review ResultSelectApproved / Rejected の選択リスト
Required DateDate日付範囲ピッカー

検索で使用する Query Form は、特定の Task Type にバインドする必要はありません。ただし、フィールド定義は現在のアプリケーションとバージョンから取得されるため、フォームが参照するフィールドが削除されていないことを確認してください。

4. TaskList を追加して設定する​

  1. 対象ページを Page Designer で開きます。
  2. コンポーネントパレットの Task グループを展開します。
  3. TaskList を受け入れ可能なコンテナへドラッグします。
  4. TaskList を選択し、プロパティパネルで基本設定を行います。

TaskList の主なプロパティは次のとおりです。

プロパティ必須説明
Task FilterはいTask Designer に保存された Filter を選択し、実行時に Filter Key で TQL を読み込む
Query Formいいえデフォルト検索条件に加えて、Task Form のフィールドを More 領域に追加する
Columnsいいえシステムフィールドとカスタムフィールドを順番に設定する。未設定の場合はタスクリストのデフォルト列を使用する
Show Filter Barいいえ検索領域全体を表示するかどうかを制御する
Show Column Settingsいいえ右上の列設定入口を制御する。フィルターバーが表示されている場合のみ表示される
Page Sizeいいえ1 ページあたりのデフォルト件数。デフォルトは 20、許容範囲は 1 から 200

このガイドでは次の値を使用します。

Task Filter: All Purchase Request Tasks
Query Form: purchaseQueryForm
Show Filter Bar: On
Show Column Settings: On
Page Size: 20

Show Filter Bar をオフにすると、クイック条件、More、Search、Reset、列設定入口がすべて非表示になります。ページにはタスクテーブルとページネーションだけが残ります。検索範囲が固定されており、ユーザーに条件を変更させないページに適しています。

5. Columns を設定する​

5.1 列を追加して並べ替える​

TaskList 配下の Columns を展開し、Add をクリックします。追加するたびに左側のツリーに個別の Task Column が作成され、すべての列が 1 つの複数選択コントロールに保存されることはありません。

各列について次の設定を行います。

  1. Task Field でシステムフィールドまたはカスタムフィールドを選択します。
  2. 自動設定された Column Title を確認し、必要に応じてページの意味に合わせて変更します。
  3. Advanced を開き、必要に応じて幅、タスクリンク、ソート、固定位置、省略表示を設定します。
  4. 左側のツリーで Task Column をドラッグし、実行時の列順序を変更します。

デザインキャンバスのテーブルヘッダーは、Task Field、Column Title、列順序の変更に追従します。Column Title が列の表示名をすでに提供するため、追加の Display Name を管理する必要はありません。

5.2 選択可能なフィールド​

Task Field の候補は 2 つのグループに分かれます。

  • System Fields:Task Key、Title、Task Type、Status、Current Step、Assignee、Creator、Created At、Updated At、SLA など。
  • Custom Fields:現在のアプリケーションとバージョンで定義されたタスクフィールド。Amount、Category、Required Date、Department Review Result など。

カスタムフィールドが単独の Worklist のデフォルト表示列でない場合でも、ページ作成者は TaskList に明示的に追加できます。

5.3 列の詳細プロパティ​

プロパティ説明
Widthピクセル単位の列幅
Task Link列の値をクリックしたときにタスクを開く
Enable Sortingその列によるソートを許可する。バックエンドがソートをサポートするフィールドにのみ有効
Fixed Column列をテーブルの左側または右側に固定する
Show Ellipsis内容が列幅を超えた場合に省略表示する

SLA ステータス列が表示される場合は、常に先頭列に固定されます。その直後に Task Key と Title を配置し、両方で Task Link をオンにすることをお勧めします。その他のビジネスフィールドもタスクリンクにできます。特定の列で Task Link を明示的にオフにすると、その列は通常のテキストとして表示されます。

実行時の列設定では、設定済みの列を一時的に非表示にしたり、順序を変更したりできます。Page Designer の列構造や順序が変更されることはありません。

6. 実行時の検索領域​

6.1 クイック検索条件​

Show Filter Bar をオンにすると、TaskList の上部にはデフォルトで次のクイック条件が表示されます。

  • Title
  • Status
  • Task Type
  • Created At

これらのコントロールは Placeholder で用途を示し、可視 Label を重複して表示しません。右側には Search、More、Reset、列設定の順で配置されます。More と Reset は Tooltip 付きのアイコンボタンです。検索条件と操作グループは同じ水平線上で垂直方向に中央揃えされます。

More をクリックすると、次の条件が表示されます。

  • Current Step
  • SLA Status
  • Assignee
  • Updated At
  • Query Form に設定されたフィールド

組み込みの高度な条件も Placeholder を使用し、Label を重複して表示しません。Query Form のフィールドはフォーム固有のタイトルとレイアウトを保持するため、カスタムビジネス条件を識別できます。

6.2 Search と Reset​

  • Search:現在のクイック条件と Query Form の値を読み取り、1 ページ目から再検索します。
  • More アイコン:高度な条件と Query Form を展開または折りたたみます。
  • Reset アイコン:実行時条件と Query Form の値をクリアし、再検索します。
  • Enter:Title 入力欄で Enter キーを押すと、直接検索を実行します。

空の値は検索に含まれません。Task Filter、クイック条件、Query Form の条件は AND で結合されます。テナント、アプリケーション、環境、タスク閲覧権限は常にバックエンドで強制されます。

たとえば、このガイドの基本 Filter はすでに taskType = "PURCHASE" に限定されています。さらに Assignee と Required Date を選択すると、結果は次のすべてを満たす必要があります。

Purchase Request の基本範囲
AND 現在の Assignee
AND Required Date の範囲
AND 現在のユーザーのタスク閲覧権限

7. Query Form フィールドの検索ルール​

検索コントロールはフィールドの実際のタイプで決まり、フィールド名から推測されることはありません。

フィールドタイプ検索動作
Text、Textarea、Rich Text、Markdown部分一致
Select、Radio、Switch完全一致
複数選択フィールドIN によるコレクション一致
Number完全一致
User、Assigneeユーザーセレクターはユーザー ID を送信し、画面には引き続きユーザー名を表示する
Department部門ツリーセレクター
Date、DateTime開始と終了の両方の境界を含む範囲検索
Attachment検索モードでは表示しない

非表示フィールドは Query Form に含まれません。業務フォームでの Required 設定は検索モードでは強制されず、値が入力されていない条件は無視されます。

7.1 Assignee​

Assignee は現在のアプリケーションで利用可能なユーザーディレクトリを検索します。ユーザーを選択すると、検索リクエストは安定したユーザー ID を使用しますが、コントロールには引き続きユーザー名またはアカウントが表示されます。Search をクリックした後に数値 ID へ変わってはいけません。

7.2 Select​

Select はフィールドに設定された Options に従って表示する必要があります。このガイドの Department Review Result と Finance Review Result は、どちらも次の値を表示します。

Approved
Rejected

フィールド名に Department が含まれていても、Select が部門セレクターに変わることはありません。実際のタイプが Department のフィールドだけが部門ツリーを表示します。

7.3 Date と DateTime​

Query Form の Date と DateTime は範囲ピッカーを使用します。

  • 開始値だけを選択:field >= start で検索
  • 終了値だけを選択:field <= end で検索
  • 両方を選択:field >= start AND field <= end で検索

両方の境界が含まれます。Date フィールドは日付値で検索し、DateTime フィールドでは具体的な時刻を選択できます。

8. タスクを開く操作とページインタラクション​

列で Task Link をオンにすると、その列の値をクリックしてタスクを開けます。

  • onTaskClick 未設定:Spark 標準のタスク詳細ページを新しいブラウザータブで開き、現在のビジネスページはそのまま保持します。
  • onTaskClick 設定済み:現在のページで Page Designer のインタラクションを実行し、task と record のコンテキストを提供します。この場合、標準のタスク詳細ページは自動的に開きません。
  • Ctrl または Command キーを押しながらのクリックなど:ブラウザー標準のリンク動作を保持します。

ページ内の別のボタンから TaskList を更新するには、この Component API を対象コンポーネントに対して呼び出します。

reloadTable

9. サンプルの検証チェックリスト​

このガイドで使用する DEV 実行ページで、次の項目を順番に確認します。

  1. リストには Filter の範囲内にある Purchase Request だけが返される。
  2. ヘッダーが Task Key、Title、Task Type、Current Step、Created At の順に表示される。
  3. Task Key と Title がどちらもリンクになり、クリックすると対応するタスクが新しいブラウザータブで開く。
  4. More を展開すると、purchaseQueryForm の 4 フィールドが表示される。
  5. Assignee を選択して Search をクリックした後も、コントロールにユーザー名が表示される。
  6. Department Review Result に部門ツリーではなく Approved / Rejected が表示される。
  7. タスクの日付を含まない Required Date 範囲を選択すると、そのタスクが結果から除外される。
  8. Reset をクリックすると、Task Filter で定義された基本結果に戻る。
  9. 列設定で列を一時的に非表示にし、ソート可能なフィールドを切り替えられる。
  10. テーブルの最終行の直後に区切り線付きのページネーション領域が続き、大きな空白がない。

次のステップ​