apex.message
ネームスペースは、クライアント側でのOracle Application Expressのメッセージの表示と管理を処理するために使用されます。
このファンクションは、APEXリージョン・プラグインの開発者用です。エラーのある(またはエラー状態である可能性のある)アイテム(ページ・アイテムまたは列アイテム)に移動するには、エラー・アイテムにフォーカスする前にエラー・アイテムを表示可能にする必要があります。コンテンツを非表示にする可能性のあるリージョン・タイプには、このメソッドを使用して可視性チェック・ファンクションを追加する必要があります。表示可能にする必要のあるリージョンまたはアイテムに対して、追加された各ファンクションがコールされます。
構文
apex.message.addVisibilityCheck( pFunction )
パラメータ
表31-27 apex.message.addVisibilityCheck
名前 | タイプ | 説明 |
---|---|---|
|
ファンクション |
要素IDでコールされるファンクション。要素が、このファンクションを追加したリージョン・タイプによって管理または制御される場合、このファンクションによって要素が確実に表示される必要があります。 |
例
次の例では、コンテンツを表示または非表示にし、ページ・アイテムを含むことのできる、Expander
というリージョン・プラグイン・タイプについて説明します。この例の目的のために、このプラグインはt-Expander
クラスをリージョン要素に追加します。また、コンテンツを展開するためのexpand
メソッドを使用できます。
このリージョンは、次のように可視性チェック・ファンクションを登録する必要があります。
apex.message.addVisibilityCheck( function( id ) { var lExpander$ = $( "#" + id ).closest( "t-Expander" ); // Check if lExpander$ is an 'expander' region if ( lExpander$.hasClass( "t-Expander" ) ) { // If so, expander region must show its contents lExpander$.expander( "expand" ); } });
このファンクションは、指定されたメッセージと「OK」ボタンを示すアラート・ダイアログを表示します。pCallback
パラメータとして渡されるコールバック・ファンクションは、ダイアログを閉じるときにコールされます。jQuery UI Dialog
ウィジェットを使用してダイアログが表示されます。
このファンクションとブラウザの組込みのアラート・ファンクションには、いくつかの相違点があります。
ダイアログ・スタイルは残りのアプリケーションと一致しています。
ダイアログは移動可能です。
apex.message.alert
へのコールはブロックされません。apex.message.alert
へのコールに続いて定義されたコードは、ユーザーが「OK」を押す前に実行されます。このため、ユーザーがダイアログを閉じた後に実行されるコードは、次の例に示すようにコールバック内で実行される必要があります。
注意:
次の2つの前提条件のいずれかが満たされない場合、ファンクションはブラウザの組込みアラートを使用してフォールバックします。
ページ上でjQuery UIダイアログ・ウィジェット・コードをロードする必要があります。
ブラウザは標準モードで実行されている必要があります。これは、互換モードで実行されている場合(一部の古いテーマの場合)、ダイアログが表示可能なビューポートの中央ではなくページの垂直中心に配置されるという、表示位置の問題が発生する可能性があるためです。
構文
apex.message.alert( pMessage, pCallback )
パラメータ
表31-28 apex.message.alert
名前 | タイプ | 説明 |
---|---|---|
|
String |
確認ダイアログに表示するメッセージ。 |
|
ファンクション |
ダイアログを閉じるときにコールされるコールバック・ファンクション。 |
例
次の例では、アラート「ロードが完了しました」を表示した後、ダイアログが閉じられてからafterLoad()
ファンクションを実行します。
このリージョンは、次のように可視性チェック・ファンクションを登録する必要があります。
apex.message.alert( "Load complete.", function(){ afterLoad(); });
このファンクションは、現在ページに表示されているすべてのエラーをクリアします。
構文
apex.message.clearErrors()
パラメータ
なし
例
次の例では、現在ページに表示されているすべてのエラーをクリアする方法を示します。
apex.message.clearErrors();
このファンクションは、指定されたメッセージと「OK」および「取消」ボタンを示す確認ダイアログを表示します。pCallback
パラメータとして渡されるコールバック・ファンクションが、ダイアログを閉じるときにコールされ、「OK」が押された場合はtrue
、それ以外の場合はfalseが渡されます。jQuery UI Dialog
ウィジェットを使用してダイアログが表示されます。
このファンクションとブラウザの組込みのアラート・ファンクションには、いくつかの相違点があります。
ダイアログ・スタイルは残りのアプリケーションと一致しています。
ダイアログは移動可能です。
apex.message.confirm
へのコールはブロックされません。apex.message.confirm
へのコールに続いて定義されたコードは、ユーザーが「OK」または「取消」を押す前に実行されます。このため、ユーザーの選択に基づくアクションは、次の例に示すようにコールバック内で実行される必要があります。
注意:
次の2つの前提条件のいずれかが満たされない場合、ファンクションはブラウザの組込みの確認を使用してフォールバックします。
ページ上でjQuery UIダイアログ・ウィジェット・コードをロードする必要があります。
ブラウザは標準モードで実行されている必要があります。これは、互換モードで実行されている場合(一部の古いテーマの場合)、ダイアログが表示可能なビューポートの中央ではなくページの垂直中心に配置されるという、表示位置の問題が発生する可能性があるためです。
構文
apex.message.confirm( pMessage, pCallback )
パラメータ
表31-29 apex.message.confirm
名前 | タイプ | 説明 |
---|---|---|
|
String |
確認ダイアログに表示するメッセージ。 |
|
ファンクション |
ダイアログを閉じるときにコールされるコールバック・ファンクション。ファンクションは次のパラメータを渡します。
|
例
次の例では、確認メッセージのAre you sure?を表示し、「OK」が押された場合はdeleteIt()
ファンクションを実行します。
このリージョンは、次のように可視性チェック・ファンクションを登録する必要があります。
apex.message.confirm( "Are you sure?", function( okPressed ) { if( okPressed ) { deleteIt(); } });
このファンクションは、ページレベルの成功メッセージを非表示にします。
ヒント:
テーマ開発者は、ページレベルの成功ページを非表示にしたときに何が起きるかに影響を与えたり、上書きしたりできます。詳細は、apex.message.setThemeHooks
ファンクションを参照してください(特にbeforeHide
コールバック・ファンクション。ページレベルの成功メッセージを非表示にする際にpMsgType === apex.message.TYPE.SUCCESS
を確認して分離する必要があります)。
構文
apex.message.hidePageSuccess()
パラメータ
なし
例
このファンクションは、テーマがapex.message
APIによって提供される一部の動作に影響を与えられるようにします。このファンクションは、テーマ・ページ初期化コードからコールできます。
構文
apex.message.setThemeHooks( pOptions )
パラメータ
表31-30 apex.message.setThemeHooks
名前 | タイプ | 説明 |
---|---|---|
|
Object |
次の表で説明する |
表31-31 pOptionsのプロパティ
名前 | タイプ | 説明 |
---|---|---|
|
ファンクション |
デフォルトのページ通知表示機能の前にコールされるコールバック・ファンクション。オプションで、デフォルトの表示機能を完全に上書きするために、コールバックから
|
|
ファンクション |
デフォルトのページ通知非表示機能の前にコールされるコールバック・ファンクション。オプションで、デフォルトの非表示機能を完全に上書きするために、コールバックから
|
|
String |
通知で「閉じる」ボタンを識別するjQueryセレクタ。ユニバーサル・テーマで使用されるものにデフォルト設定されます( |
例
次の例では、beforeShow
およびbeforeHide
コールバックが定義されます。デフォルトの表示および非表示ロジックの前に、通知要素で追加クラスanimate-msg
を追加および削除します。これはpMsgType
に対する品質チェックによってのみ、成功メッセージに対して行われます。
注意:
コールバックでは何も返されないため、デフォルトの表示/非表示動作はコールバック後に行われます。
apex.message.setThemeHooks( beforeShow: function( pMsgType, pElement$ ){ if ( pMsgType === apex.message.TYPE.SUCCESS ) { pElement$.addClass( "animate-msg" ); } }, beforeHide: function( pMsgType, pElement$ ){ if ( pMsgType === apex.message.TYPE.SUCCESS ) { pElement$.removeClass( "animate-msg" ); } } });
このファンクションは、すべてのエラーをapex.message
エラー・スタックに表示します。スタックに追加しない場合は、まずclearErrors()
をコールする必要があります。現在のアプリケーションのテーマのテンプレートを使用して、エラーを表示します。ページレベル・メッセージの場合(場所= page
)、エラー・メッセージはページ・テンプレートのサブテンプレート>通知属性のマークアップを使用します。アイテムレベル・メッセージの場合(場所= inline
)、エラー・メッセージはアイテムのラベル・テンプレートのエラー表示>エラー・テンプレート属性のマークアップを使用します。
ヒント:
テーマのエラーを表示するには、前述のテンプレート属性を両方とも定義する必要があります。さらに、inline
エラーの場合は、ラベル・テンプレートは、ラベル・テンプレートのBefore ItemまたはAfter Item属性のいずれかで#ERROR_TEMPLATE#
置換文字列を参照する必要があります。
テーマ開発者は、ページレベルのエラーを表示したときに何が起きるかに影響を与えたり、上書きしたりできます。詳細は、apex.message.setThemeHooks
ファンクションを参照してください(特にbeforeShow
コールバック・ファンクション。ページレベルのエラーを表示する際にpMsgType === apex.message.TYPE.ERROR
を確認して分離する必要があります)。
構文
apex.message.showErrors( pErrors )
パラメータ
表31-32 apex.message.showErrors
名前 | タイプ | 説明 |
---|---|---|
|
オブジェクトまたは配列 |
次の表で説明するプロパティを持つオブジェクトまたはオブジェクトの配列 |
表31-33 pErrors
名前 | タイプ | 説明 |
---|---|---|
|
String |
|
|
文字列|配列 |
使用できる値: |
|
String |
|
|
String |
エラー・メッセージ。 |
|
ブール |
メッセージが |
例
次の例では、まず表示された既存のエラーをクリアして、次に2つのエラーを表示します。2つのエラーを表示するために、2つのエラー・オブジェクトを含む配列がshowErrors
コールに渡されます。最初のエラー・メッセージはName is required!
で、page
レベルとinline
の両方でアイテムP1_ENAME
とともに表示されます。2番目のエラー・メッセージはPage error has occurred!
で、page
レベルでのみ表示されます。両方のエラーで、メッセージ・テキストは安全とみなされるため、エスケープされません。
// First clear the errors apex.message.clearErrors(); // Now show new errors apex.message.showErrors([ { type: "error", location: [ "page", "inline" ], pageItem: "P1_ENAME", message: "Name is required!", unsafe: false }, { type: "error", location: "page", message: "Page error has occurred!", unsafe: false } ]);
このファンクションは、ページレベルの成功メッセージを表示します。表示された以前の成功メッセージをクリアし、エラーがないと想定して以前に表示されたエラーをクリアします。現在のアプリケーションのテーマのテンプレートを使用して、成功メッセージを表示します。特に、ページ成功メッセージの場合は、ページ・テンプレートのサブテンプレート>成功メッセージ属性のマークアップが使用されます。
ヒント:
テーマ開発者は、ページレベルの成功ページを表示したときに何が起きるかに影響を与えたり、上書きしたりできます。詳細は、apex.message.setThemeHooks
ファンクションを参照してください(特にbeforeShow
コールバック・ファンクション。ページレベルの成功メッセージを表示する際にpMsgType === apex.message.TYPE.SUCCESS
を確認して分離する必要があります)。
構文
apex.message.showPageSuccess( pMessage )
パラメータ
表31-34 apex.message.showPageSuccess
名前 | タイプ | 説明 |
---|---|---|
|
String |
表示する成功メッセージ。 |
例
次の例では、ページレベルの成功メッセージChanges saved!
を示します。
apex.message.showPageSuccess( "Changes saved!" );
TYPE
プロパティはプロパティ(定数)を含むオブジェクトで、apex.message
APIをコールするときに便利です。たとえば、setThemeHooks
です。
プロパティ
表31-35 apex.message.TYPEのプロパティ
値 | 説明 |
---|---|
|
成功メッセージを識別します |
|
エラー・メッセージを識別します |
例
使用例は、apex.message.setThemeHooksを参照してください。