基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > ウィザードの作成 > ウィザード処理 > FormResult/クライアント側でのフォームの後処理 > JCA コンポーネントの再表示/更新 > カスタム操作処理の例 > FormResultAction.FORWARD と LOAD_OPENER_URL の置き換え
  
FormResultAction.FORWARD と LOAD_OPENER_URL の置き換え
コンポーネントによって動作は異なり、クライアントプラットフォームによって URL パターンは異なるため、FormResult に包括的に URL を指定することはサポートされていません。各コンポーネントはその方法を個別に決定でき、infopageminiNavigator などの一般的なコンポーネントの afterAction リスナーには、これらのコンポーネントを再表示するための一般的なロジックがすでに備わっています。たとえば、miniNavigator は新規 URL に移動するとユーザーが現在のコンテキストから外れるため、代わりにそれ自体を再表示します。
コンポーネント固有のイベントリスナーに一意の操作を実行させる方法については、次のチェックアウトの例を参照してください。js ファイル内のコード PTC.miniNavigator.onAfterAction および PTC.infoPage.onAfterAction を参照してください。クライアント側で URL を構築するために追加の URL パラメータが必要な場合、FormResult.extraData マップを使用して追加情報を渡すことができます。
特定のテーブルにおけるオブジェクトの処理方法を変更できます。たとえば、(wip.jsfrag から) 既存の行にチェックアウトグリフを追加する代わりに、チェックアウトテーブルに行を追加します。
PTC.wip = {};
/**
* add/remove rows from the checkouts table for the wip actions
*/
PTC.wip.checkoutsTableObjectsAffectedWrapper = function(original, formResult) {
if (formResult.actionName === 'checkout') {
var added_new_rows = formResult.getUpdatedOids();

if(added_new_rows.length > 0) {
clearActionFormData();
rowHandler.addRows(added_new_rows, this.id, null, {
doAjaxUpdate : true,
addSorted : true
});
}
return true;
}
return original.call(this, formResult);
};
PTC.wip.addCheckoutTableListeners = function (table) {
table.onObjectsAffected = table.onObjectsAffected.wrap
(PTC.wip.checkoutsTableObjectsAffectedWrapper);
};
Ext.ComponentMgr.onAvailable('checkedout.work.table',
PTC.wip.addCheckoutTableListeners);