基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > ウィザードの作成 > ウィザード処理 > 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 マップを使用して追加情報を渡すことができます。ほとんどの場合、作成または修正されたオブジェクトの情報ページに自動転送する必要はありません。作成処理の後、新規オブジェクトの情報ページへのリンクを含むインラインメッセージが表示されます。この方法によって操作後の自動転送が可能となります。コンポーネントの onAfterAction メソッドを修正して次のコードシーケンスを追加します。
if (formResult.actionName === 'checkout') {
PTC.infoPage.goTo(formResult.getUpdatedOids()[0]);
}
return true;
特定の操作で自動転送する可能なすべてのコンポーネントに、一般的な操作ハンドラを追加できます。次のサンプルコードにこの詳細を示します。ただし、一部のページとコンポーネントでは進行中のデータが失われる可能性があるため、この操作は必ずしも実行する必要はありません。
PTC.action.on('objectsaffected', function (formResult) {
if (formResult.actionName === 'checkout') {
PTC.infoPage.goTo(formResult.getUpdatedOids()[0]);
}
return true;
});