Ajax による UI のカスタマイズ
目的
このセクションでは、次の方法で Windchill ページの一部を動的に更新する方法について説明します。
1. Windchill 操作に組み込まれた部分ページ再表示機能とフォーム処理フレームワークを使用する方法または
2. JavaScript コードから直接、メソッドサーバーに Ajax 呼び出しをする方法
シナリオ 1
ページの UI コンポーネントが操作を実行します。操作が完了すると、起動ページの一部を更新して、操作の結果を反映させる必要があります。
• 例: ユーザーがウィザードを起動して、製品のフォルダブラウザから新しい部品を作成します。ユーザーが「OK」をクリックすると、フォームがサーバーに送信されて部品が作成されます。その後、作成したばかりの部品を表示する行がフォルダブラウザテーブルに追加される必要があります。
• 例: ユーザーが製品のフォルダブラウザのメニュー項目をクリックして、ドキュメントを削除します。メニュー項目の操作は、データベースからオブジェクトを削除するコマンドを呼び出します。コマンドが完了すると、フォルダブラウザテーブルからそのオブジェクトの行が削除される必要があります。
• ソリューション: Windchill 操作に組み込まれた部分ページ再表示機能とフォーム/コマンド処理フレームワークを使います。
シナリオ 2
なんらかのイベントが発生したときに、ページのインラインエレメントを再表示する必要があります。
• 例: デフォルトタイムゾーンの時刻を表示するページがあります。ページにはタイムゾーンを変更するボタンもあります。ユーザーがタイムゾーンを変更すると、それに応じて時刻を再表示する必要があります。
• ソリューション: requestHandler.doRequest() JavaScript 関数を呼び出して表示時刻を再計算する onChange イベントハンドラをタイムゾーンのボタンに追加します。
バックグラウンド
Windchill 製品をより高速でスケーラブルにするには、Ajax ベースの操作を使用してページの更新に要する時間を短縮する必要があります。可能であれば、すべての操作を Ajax ベースにしてください。Ajax ベースにしてはいけない操作は、ページの大半を更新する必要のある操作だけです。