AEM Forms Workspace の「追跡」タブは、ログインしたユーザーが関係するプロセスインスタンスの詳細を表示するのに使用されます。追跡テーブルを表示するには、最初に左ペインでプロセス名を選択して中央ペインでインスタンスのリストを表示します。プロセスインスタンスを選択すると、このインスタンスによって生成されたタスクのテーブルが右ペインに表示されます。デフォルトで、テーブル列に以下のタスク属性が表示されます(タスクモデルの対応する属性は括弧内に表示)。

  • ID (taskId
  • 名前(stepName
  • Instructions (instructions
  • 選択されたアクション(selectedRoute
  • Creation Time (createTime
  • Completion Time (completeTime
  • 所有者(currentAssignment.queueOwner
タスクテーブルに表示できるタスクモデルの残りの属性を以下に示します。

actionInstanceId

isOpenFullScreen

reminderCount

classOfTask

isOwner

routeList

consultGroupId

isRouteSelectionRequired

savedFormCount

contentType

isShowAttachments

serializedImageTicket

createTime

isStartTask

serviceName

creationId

isVisible

serviceTitle

currentAssignment

nextReminder

showACLActions

deadline

numForms

showDirectActions

description

numFormsToBeSaved

status

displayName

outOfOfficeUserId

summaryUrl

forwardGroupId

outOfOfficeUserName

supportsSave

isApprovalUI

priority

taskACL

isCustomUI

processInstanceId

taskFormType

isDefaultImage

processInstanceStatus

taskUserInfo

isLocked

processVariables

 

isMustOpenToComplete

readerSubmitOptions

 

以下のタスクテーブルのカスタマイズの場合は、ソースコードでセマンティックの変更を行う必要があります。Workspace SDK を使用してセマンティックの変更を行い、変更されたソースから縮小パッケージを構築する方法については、「AEM Forms Workspace のカスタマイズの概要」を参照してください。

テーブル列と順序の変更

  1. テーブルに表示されたタスク属性とそれらの順序を変更するには、ファイル /ws/js/runtime/templates/processinstancehistory.html を設定します。

    <table class="fixedTaskTableHeader" cellpadding="0" cellspacing="0">
        <thead>
            <tr>
                <!-- put the column headings in order here, for example-->
                <th class="taskName"><%= $.t('history.fixedTaskTableHeader.taskName')%></th>
                <th class="taskInstructions"><%= $.t('history.fixedTaskTableHeader.taskInstructions')%></th>
                <th class="taskRoute"><%= $.t('history.fixedTaskTableHeader.taskRoute')%></th>
                <th class="taskCreateTime"><%= $.t('history.fixedTaskTableHeader.taskCreateTime')%></th>
                <th class="taskCompleteTime"><%= $.t('history.fixedTaskTableHeader.taskCompleteTime')%></th>
            </tr>
        </thead>
    </table>
    <table class="taskTable" cellpadding="0" cellspacing="0">
        <tbody>
            <%_.each(obj, function(task){%>
            <tr class="taskRow">
                <!-- Put the task attributes in the order of headings, for example -->
                <td class="taskName"><%= task.stepName %></td>
                <td class="taskInstructions"><%= task.instructions %></td>
                <td class="taskRoute"><%= !task.selectedRoute?'':(task.selectedRoute=='null'?'Default':task.selectedRoute) %></td>
                <td class="taskCreateTime"><%= task.createTime?task.formattedCreateTime:'' %></td>
                <td class="taskCompleteTime"><%= task.completeTime? task.formattedCompleteTime:'' %></td>
            </tr>
            <%});%>
        </tbody>
    </table>

追跡テーブルの並べ替え

列の見出しをクリックするときにタスクリストテーブルを並べ替えるには:

  1. ファイル js/runtime/views/processinstancehistory.js.fixedTaskTableHeader th にクリックハンドラーを登録します。

    events: {
        //other handlers
        "click .fixedTaskTableHeader th": "onTaskTableHeaderClick",
        //other handlers
    }

    ハンドラーで、js/runtime/util/history.jsonTaskTableHeaderClick 関数を呼び出します。

    onTaskTableHeaderClick: function (event) {
            history.onTaskTableHeaderClick(event);
    }
  2. TaskTableHeaderClick メソッドを js/runtime/util/history.js に表示します。

    メソッドはクリックイベントからタスク属性を検索し、その属性のタスクリストを並べ替えて、並べ替えられたタスクリストでタスクテーブルをレンダリングします。

    並べ替えは、比較関数を指定することによって、タスクリストコレクションの Backbone 並べ替え関数を使用して行われます。

        return {
            //other methods
            onTaskTableHeaderClick  : onTaskTableHeaderClick,
            //other methods
        };
    onTaskTableHeaderClick = function (event) {
            var target = $(event.target),
            	comparator,
                attribute;
            if(target.hasClass('taskName')){
            	attribute = 'stepName';
            } else if(target.hasClass('taskInstructions')){
                attribute = 'instructions'; 
            } else if(target.hasClass('taskRoute')){
                attribute = 'selectedRoute'; 
            } else if(target.hasClass('taskCreateTime')){
                attribute = 'createTime'; 
            } else if(target.hasClass('taskCompleteTime')){
                attribute = 'completeTime'; 
            }
            taskList.comparator = function (task) {
            	return task.get(attribute);
            };
            taskList.sort();
            render();
        };

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー