js-action エレメント

js-action エレメントは、カスタム・アクションの JavaScript 実装を定義します。

js-action エレメントには、以下のエレメントが以下に指定する順序で含まれます。
js-include
js-include エレメントは、ページにインクルードする JavaScript ファイルを定義します。 オプションであり、0 個以上指定できます。
object-name
object-name エレメントは、カスタム・アクションを定義する JavaScript オブジェクト の名前を指定します。 この JavaScript オブジェクト は、js-file エレメントまたは js-content エレメントのいずれかによって指定 される JavaScript コードに含まれていなければなりません。object-name エレメント は必須であり、1 個しか指定できません。
js-file
js-file エレメントは、JavaScript カスタム・アクション・オブジェクトの定義 を含む JavaScript ファイルの URL を定義します。 指定したファイルがページにインクルードされます。js-file エレメントは オプションであり、指定しないか、指定する場合は 1 個のみ指定できます。js-file または js-content のいずれかを指定する必要があります。
例:
<js-file>/MyWebApp/scripts/detailviewer.js</js-file>
js-content
js-content エレメントは、JavaScript カスタム・アクション・オブジェクトの定義 を含む JavaScript コードを定義します。 指定した定義がページにインクルードされます。js-content エレメントは オプションであり、指定しないか、指定する場合は 1 個のみ指定できます。js-file または js-content のいずれかを指定する必要があります。
例:
<js-content><![CDATA[
function MyCustomAction() {
	this.init = function(initParameters, context) {
		return true;
	}
	this.execute = function(context) {
	}
}
]]&gt;
</js-content>
js-messages
js-messages エレメントは、JavaScript カスタム・アクションから使用できるようにするメッセージを定義します。 それらのメッセージには、serviceregistry.formatMessage() 関数を使用してアクセスします。 js-messages エレメントには、次のエレメントが含まれます。
js-message-bundle
js-message-bundle は、メッセージ・バンドルを定義します。1 個以上指定できます。 js-message-bundle エレメントには、以下のエレメントが以下に指定する順序で含まれます。
  • js-message-bundle-name
  • js-message-bundle-name エレメントは、必要なメッセージを含んでいるメッセージ・バンドルの 完全修飾名を定義します。1 個指定する必要があります。
  • js-message-key
  • js-message-key エレメントは、必要なメッセージのキーを定義します。 オプションであり、0 個以上指定できます。メッセージ・キーは 指定するメッセージ・バンドルに含まれている必要があります。
  • 指定された js-message-bundle エレメントに js-message-key エレメントが定義されていない 場合は、指定したバンドルからのすべてのメッセージをカスタム・アクションで使用できます。 メッセージ・キーを 1 つでも指定した場合は、それらのキーのみが カスタム・アクションから使用可能です。
次に、js-messages エレメントの例を示します。
<js-messages>
<js-message-bundle>
<js-message-bundle-name>com.ibm.serviceregistry.customaction.examples.LabelsResourceBundle</js-message-bundle-name>
		<js-message-key>customaction.name</js-message-key>
		<js-message-key>customaction.error</js-message-key>
</js-message-bundle>
</js-messages>