基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > 操作の追加と UI への組み込み > Windchill クライアントアーキテクチャの操作フレームワーク > 新規操作の定義 > コマンド属性とコンポーネント属性
  
コマンド属性とコンポーネント属性
必要に応じて <action> タグのボディに <command> または <component> タグを挿入して、操作の処理を定義します。
<command
class="com.ptc.windchill.enterprise.doc.forms.CreateDocFormProcessor"
method="execute" windowType="popup" onClick="validateCreateLocation(event)"/>
または
<component name="my.component.id" windowType="page" />
class 属性によって、どのクラスを処理に使用するかが定義されます。
method 属性によって、どのメソッドをクラス内で実行するかが定義されます。
windowType 属性によって、どのウィンドウ操作を選択するかが決まります。
上記の例では、コマンドは操作ウィンドウ (ウィザード) である「新規ドキュメント」操作のためのものです。したがって、windowType は "popup" です。フレームワークによって、この操作を新しいウィンドウで起動する JavaScript が追加されます。指定したクラスとメソッドがサブミット時に実行されます。
コマンドパラメータ
パラメータ
デフォルト値
有効な値
必須
説明
class
いいえ
処理に使用されるクラス。
method
いいえ
クラス内の実行するメソッド。
url
いいえ
生成された URL のオーバーライドに使用します。
この属性を使用して、操作に関連する JSP の場所を指定できます。その値は、<Windchill>/codebase を基準とした JSP の相対パスにする必要があります。
onClick
いいえ
追加で呼び出す onClick 関数を指定します。これは特別な操作を実行するかどうかをユーザーに確認するのに便利です。
特定の場所で操作を使用する場合 (メニューバーやテーブル上のツールバーなど)、onClick が "if" 文に有効な定義式である必要があります。このため、onClick は単なる関数呼び出しでなければなりません。
以下は、onClick 関数が引数として渡すことのできるスコープ内変数です。
event - ブラウザイベント。
target - 'クリック' されたユーザーインタフェースコンポーネントを表すオブジェクト。
table - その操作を含むテーブル。テーブルに操作が含まれていなければ、これは null です。
onClick ではセミコロンや return ステートメントを使用してはいけません。例:
正:
onClick="doFoo()"
onClick="doFoo(event)"
誤:
onClick="doFoo();doBar();"
onclick="doFoo();Event.stop(event);"
* 
一重引用符 (') を入力する際に HTML エンコードされた記号を使用する必要はありません。普段どおりの一重引用符を使用してください。
操作が解析されると、操作フレームワークは問題のある定義を修復しようとします。修復できない場合、onClick 関数が警告に置き換えられます。操作が修復された場合には警告がログに記録され、そうでない場合にはエラーが記録されます。
操作に selectRequired 属性が設定されている場合、onClick ハンドラがその他のハンドラの前に呼び出されます。このため、onClick ハンドラはテーブル内で選択されているアイテムがあるかどうかをチェックする必要があります。
windowType
page
new
no_content
normal
popup
wizard_step
いいえ
new - ほかのウィンドウと外観は似ていますが、起動方法が異なります。すべてのフォームデータがポップアップウィンドウに表示され、より多くの情報を確認できます。ただし、追加分のフォームデータが、ポップアップ内にすでにあるフォームデータと重なって表示されることがあります。操作 URL をオーバーライドして情報を追加する方が簡単かもしれません。
no_content - ブラウザはこのリクエストに対するサーバーからの応答を無視します。この値はお勧めしません。JavaScript 関数で Ajax リクエストを手動で作成することをお勧めします。
normal - フォームをサブミットします。
page - 新規ページを表示します。
popup - モードレスのポップアップ操作ウィンドウを作成します。
wizard_step - 操作ウィンドウに操作をステップとして表示します。
コンポーネント属性は command 属性とよく似ています。しかし、直接 URL を指定する代わりに、MVC コンポーネント ID を指定すると URL が生成されます。MVC コンポーネントは、MVC 委任の正しい URL を判断できます。詳細については、MVC コンポーネントを参照してください。
コンポーネントパラメータ
パラメータ
デフォルト値
有効な値
必須
説明
name
Yes
この操作をクリックしたときに表示に使用する MVC コンポーネントの ID。
componentType
INFO
PICKER
SEARCH
TABLE
WIZARD
WIZARD_TABLE
WIZARD_ATTRIBUTES_TABLE
INFO_ATTRIBUTES_TABLE
SIMPLE
MINI_INFO
PRIMARY_ATTRIBUTES
いいえ
componentType によって、生成されたページに表示されるオブジェクトが編集可能か、読み取り専用か、検証によって非表示になるかが決まります。値は com.ptc.core.ui.resources.ComponentType で定義されています。
INFO などの特定の条件では、コンポーネントタイプは URL を typeBased に変更できます。一部の操作は、特定のコンポーネントタイプでしか使用できません。
urlParams
操作を描画するたびに、生成された MVC URL に追加される URL パラメータ。
typeBased
false
true
MVC 委任のルックアップ時に操作対象のオブジェクトのタイプを含めるかどうかを指定します。タイプベースのコンポーネントでは、生成される MVC URL は /comp/ ではなく /tcomp/ です。
onClick
いいえ
追加で呼び出す onClick 関数を指定します。これは特別な操作を実行するかどうかをユーザーに確認するのに便利です。
特定の場所で操作を使用する場合 (メニューバーやテーブル上のツールバーなど)、onClick が "if" 文に有効な定義式である必要があります。このため、onClick は単なる関数呼び出しでなければなりません。
以下は、onClick 関数が引数として渡すことのできるスコープ内変数です。
event - ブラウザイベント。
target - 'クリック' されたユーザーインタフェースコンポーネントを表すオブジェクト。
table - その操作を含むテーブル。テーブルに操作が含まれていなければ、これは null です。
onClick ではセミコロンや return ステートメントを使用してはいけません。例:
正:
onClick="doFoo()"
onClick="doFoo(event)"
誤:
onClick="doFoo();doBar();"
onclick="doFoo();Event.stop(event);"
* 
一重引用符 (') を入力する際に HTML エンコードされた記号を使用する必要はありません。普段どおりの一重引用符を使用してください。
操作が解析されると、操作フレームワークは問題のある定義を修復しようとします。修復できない場合、onClick 関数が警告に置き換えられます。操作が修復された場合には警告がログに記録され、そうでない場合にはエラーが記録されます。
操作に selectRequired 属性が設定されている場合、onClick ハンドラがその他のハンドラの前に呼び出されます。このため、onClick ハンドラはテーブル内で選択されているアイテムがあるかどうかをチェックする必要があります。
windowType
page
new
no_content
normal
popup
wizard_step
いいえ
new - ほかのウィンドウと外観は似ていますが、起動方法が異なります。すべてのフォームデータがポップアップウィンドウに表示され、より多くの情報を確認できます。ただし、追加分のフォームデータが、ポップアップ内にすでにあるフォームデータと重なって表示されることがあります。操作 URL をオーバーライドして情報を追加する方が簡単かもしれません。
no_content - ブラウザはこのリクエストに対するサーバーからの応答を無視します。この値はお勧めしません。JavaScript 関数で Ajax リクエストを手動で作成することをお勧めします。
normal - フォームをサブミットします。
page - 新規ページを表示します。
popup - モードレスのポップアップ操作ウィンドウを作成します。
wizard_step - 操作ウィンドウに操作をステップとして表示します。