<af:popup>

af:popup popup popup

UIComponentクラス: oracle.adf.view.rich.component.rich.RichPopup
コンポーネントのタイプ: oracle.adf.RichPopup
サポートされないエージェント: pda

popupコンポーネントは非表示のコンテナ・コントロールで、そのコンテンツはコンテキスト・メニュー、ノート・ウィンドウ、ダイアログおよびポップアップ・セレクタなど、ポップアップ・ウィンドウで使用されます。これらポップアップ・ウィンドウのタイプは同じブラウザのウィンドウ内にあり、HTMLのレイヤーを使用して外部ブラウザのウィンドウをシミュレートします。

インライン・ポップアップをダイアログ・フレームワークと混同しないでください。ダイアログ・フレームワークの詳細は、コンポーネントのコマンド・ファミリを参照してください。

インライン・ポップアップのタイプ

インライン・ポップアップには、異なるユーザー体験を提供する複数のタイプがあります。次のマトリックスは、インライン・ポップアップのプロパティを比較するものです。

タイプ 区分 表示の特性 動作 一般的な使用例
インライン・セレクタ

インライン・セレクタ・タイプのポップアップは、その他の適格なコンポーネント(af:noteWindowaf:panelWindowaf:dialogおよびaf:menu)のいずれかが直下の子として提供されない場合に、デフォルトのタイプになります。

<af:popup id="inlineSelector">
  Hello World!
</af:popup>
                         

このタイプのポップアップは、richスキンでは角が丸く、mediumおよびsimpleスキンでは角が直角になります。

インライン・セレクタ・タイプのポップアップは、別の要素に位置を合せる必要があります。位置合せのプロパティに指定がないとき、デフォルトの位置合せはページの最上部に対して行われます。

表示されると、このタイプのポップアップによりフォーカスがプライマリ・ウィンドウからポップアップに移動します。またフォーカスは、コンテンツで最初のフォーカス可能な要素をフォーカスするように設定されます。

インライン・セレクタ・タイプのポップアップは、フォーカスがポップアップのコンテンツから外れると、自動的に消えます。インライン・セレクタの表示中にポップアップの起動ソースをアクティブ化すると、このタイプのポップアップは消えます。ポップアップが可視できない場合に起動ソースをアクティブ化すると、ポップアップが表示されます。インライン・セレクタは、位置合せ要素がクリップされ、ブラウザ・ウィンドウで可視できなくなると、自動で閉じます。

インライン・セレクタは、任意のコンテンツの表示に適しています。消去の特性があるため、その他の入力コンポーネントとともに使用しないでください。これを使用する最良の方法は、読取り専用のコンテンツを表示することです。

ノート・ウィンドウ

ノート・ウィンドウ・タイプのポップアップは、popupおよびaf:noteWindowコンポーネントを使用して定義されています。af:noteWindowコンポーネントはpopupコンポーネントの最初の子である必要があります。

<af:popup id="noteWindow">
  <af:noteWindow>
    Hello World!
  </af:noteWindow>
</af:popup>
                         

ノート・ウィンドウのポップアップは、直角の角および位置合せのコンポーネントを指す円錐を持ちます。

ノート・ウィンドウのポップアップは、別の要素またはマウスの位置に合せる必要があります。デフォルトの位置合せはaf:showPopupBehaviorタグを使用すると実行されます。ノート・ウィンドウでは、クリッピング防止のため、位置合せがブラウザの位置に基づいて自動で再計算されます。

ノート・ウィンドウのポップアップは、表示されてもフォーカスされず、フォーカスは起動ソースに残されたままになります。

ノート・ウィンドウは、フォーカスがノート・ウィンドウのコンテンツから外れたとき、または起動ソースから外れたとき、自動で閉じます。ノート・ウィンドウは位置合せする要素がクリップされ、可視できなくなると自動で閉じます。

ノート・ウィンドウは、別のコンポーネントに関連する、読取り専用の情報を表示するように設計されています。ノート・ウィンドウの円錐は、位置合せする関連コンポーネントを指します。ノート・ウィンドウは、編集可能なコンポーネントを含めるものではないことに注意してください。

ダイアログ

ダイアログ・コンポーネントには、af:dialogおよびaf:panelWindowの2つがあります。これらは両方ともaf:popupの直下の子としてのみ使用されます。

<af:popup id="dialog">
  <af:dialog title="test">
    <af:inputText text="Say" value="Hello World!"/>
  </af:dialog>
</af:popup>

<af:popup id="panelWindow">
  <af:panelWindow title="test">
    <af:inputText text="Say" value="Hello World!"/>
  </af:panelWindow>
</af:popup>
                         

ダイアログ・コンポーネントはウィンドウのようなもので、タイトル・バーおよび「閉じる」アイコンを持つフレームで囲まれています。richスキンではフレームの角は丸くなり、mediumまたはsimpleスキンでは角が直角になります。両方のコンポーネントはモーダルまたはモードレスで表示できます。モーダルとして表示されると、プライマリ・ウィンドウがガラス・ペインで覆われ、ダイアログは新規のプライマリ・ウィンドウになります。af:dialogコンポーネントにはボタン・バー・フッターがありますが、af:panelWindowには、これがありません。

ダイアログはコンポーネントに位置合せできますが、一般的に、これはデフォルトの位置合せとともに使用されます。ダイアログのデフォルトの位置合せは、ブラウザ・ウィンドウの中央です。ダイアログは、ドラッグ・アンド・ドロップを使用して、ページで再配置可能です。タイトル・バーはドラッグ・ソースのグリッパです。ブラウザのサイズが変更され、ブラウザ・ウィンドウがダイアログより大きいかぎり、ダイアログはブラウザ・ウィンドウ内に自動で配置されます。

ダイアログは、その他のタイプのポップアップのように、自動で閉じることはありません。ダイアログはフォーカスから外れても閉じません。これらは他のタイプのポップアップのように、クロップされても自動で閉じません。ダイアログを閉じるには、「閉じる」アイコン、事前定義のボタン構成(af:dialogのみ)またはJavaScriptフラグメントを使用したプログラムを使用します。

ダイアログを開くと、フォーカスがプライマリ・ウィンドウからダイアログに移ります。[Ctrl]+[Alt]+[w]の組合せキーは、プライマリ・ウィンドウ上で開いているダイアログのインスタンスを循環するために使用します。モーダルのダイアログは、プライマリ・ウィンドウとして定義されています。ダイアログがフォーカスから外れると、表示が変わり、非アクティブの状態になります。

ダイアログはデータ入力用に設計されています。これらはその他のタイプのポップアップのような暗黙的な消去の特性を持たないため、理想的な追加データ・コレクション・フローとなっています。

メニュー

ポップアップ・メニューは、af:popupおよびaf:menuコンポーネントの組合せを使用して提供されます。menuはpopupコンポーネントの直下の子である必要があります。

<af:popup id="popupMenu">
  <af:menu>
    <af:commandMenuItem text="Item 1"/>
    <af:commandMenuItem text="Item 2"/>
    <af:commandMenuItem text="Item 3"/>  
  </af:menu>
</af:popup>
                         

ポップアップ・メニューはすべてのスキンで角が直角となります。また、メニューの表示特性を持ちます。

ポップアップ・メニューは通常、コンテキスト・メニューで使用されますが、必ずしも、contextMenuクライアントのイベント・タイプを使用して起動する必要はありません。

ポップアップ・メニューが自動で閉じるのは、子のコマンド・メニュー項目がセレクタになった後、またはフォーカスがメニューから移ったときです。

ポップアップ・メニューが開くと、プライマリ・ウィンドウからポップアップ・メニューにフォーカスが移ります。

ポップアップ・メニューは通常、文脈依存のナビゲーションを提供する、コンテキスト・メニューとして使用されます。

クライアントへのコンテンツの配信方法

popupコンポーネントは、ページ・フラグメントを持つコンテナです。ページ・フラグメントはデフォルトで非表示になるため、これを表示するにはクライアントが処理またはイベントを実行する必要があります。ポップアップは条件付きで、contentDeliveryプロパティを使用してマークアップをクライアントに送信するタイミングを決定します。デフォルトのコンテンツ配信は、lazyです。つまり、ポップアップのコンテンツは、最初に表示されるまで、クライアントに配信されません。

オプションは次のとおりです。

ポップアップのコンテンツ配信のオプションは、しばしば誤って解釈されることがあります。コンテンツ配信は、マークアップがクライアントのブラウザに配信されるタイミングを定義するものです。popupコンポーネントでは、af:regionコンポーネントのようなコンポーネントのサブ・ビューを、知的に管理する試みが行われていません。これはコンテンツを表すサブ・コンポーネントのツリーが、すでにビルドされているものと想定します。

サポートされる部分送信のコマンド

インラインのポップアップは、ブラウザのウィンドウに埋め込まれます。クライアント・サービスがいくつか提供されており、レイヤーの配置、位置調整、消去およびモダリティが管理されています。ブラウザのページがリロードされると、これらのサービスが初期化され、開いた状態のインラインのポップアップがすべて閉じられます。このためポップアップ内のコマンド・コンポーネント(activeCommandToolbarButton、commandButton, commandImageLink、commandLink、commandMenuItem、commandNavigationItem、commandToolbarButtonなど)では、partialSubmitのみがサポートされています。af:popup内のすべてのコマンド・コンポーネントのpartialSubmit属性がtrueに設定されていることを確認してください。部分送信のコマンドは、ページ全体をリロードすることなく、サーバーにポストバックする処理を実行するものです。

<af:commandButton text="popup button" partialSubmit="true" actionListener="#{mybean.mylistener}"/> 
                   

ポップアップの表示/非表示

インライン・ポップアップは、クライアント中心を意図しており、その状態や動作はクライアントのイベントおよびアクションに基づきます。クライアントのpopupコンポーネントには、ポップアップの開閉処理が含まれます。またJavaScriptの拡張ポイントの他、宣言および想定される動作が含まれます。

宣言

ポップアップを表示する最善の方法は、af:showPopupBehaviorタグを使用することです。単純に、このタグをページのどこかでコマンド・コンポーネントに追加し、このコマンドを起動すると、ポップアップ動作タグが表示されます。ポップアップ、インライン・セレクタ、ノート・ウィンドウ、メニュー、ダイアログおよびパネル・ウィンドウといった様々なタイプのポップアップで使用すると、JavaScriptを記述することなく、ビルトインされた想定動作の多くが確実に得られます。

たとえばaf:showPopupBehaviorタグでは、mouseHoverトリガー・タイプと、正しいコンテキストでポップアップが表示されているかどうかを判断するために、実行された起動ソースのポップアップ・リクエストから追跡する追加ロジックを使用して、ポップアップを表示する際に遅延を加えます。popupFetchListenerのような拡張済ポップアップのオプションは、af:showPopupBehaviorタグと一緒の場合にのみ動作します。ポップアップの様々なタイプの自動消去オプションの多くは、この動作タグの使用に依存します。

<af:outputText id="text" value="hover over this text with the mouse to launch a note window">
  <af:showPopupBehavior popupid="noteWindow" triggerType="mouseHover" alignid="text"/> 
</af:outputText>
                 
プログラム関連

ポップアップはJavaScriptを使用して開けますが、最善の方法はaf:showPopupBehaviorタグを使用することです。スクリプトでポップアップを開くには、ポップアップを検索して表示メソッドを呼び出すクライアント・フレームワークAPIの使用に関する知識が必要になります。表示メソッドはヒントのマップを渡します。ポップアップのヒントのパラメータは、位置合せのような様々な動作と通信します。ヒントの多くはprivateとみなされ、publicとして公開されるものはわずかです。af:showPopupBehaviorタグは、プログラムのポップアップ表示メソッドでは公開できない機能を、privateのヒントを使用して取得します。

ポップアップの消去には、非表示と取消しの2種類があります。ポップアップは、自動消去で閉じられると、取り消されます。肯定条件で閉じられた場合は、非表示になります。どちらのタイプの消去でも、ポップアップの閉じられたイベントがアクティブ化されます。ポップアップを取り消すと、関連するサーバー側機能を持つクライアント・ポップアップ取消イベントがアクティブ化されます。

publicとみなされるポップアップのヒントは、AdfRichPopupクライアント・コンポーネントで取得でき、位置合せの調整で使用されます。ページのどこにポップアップを表示するかを定義するマップ・キーは2つあります。最初のキーであるAdfRichPopup.HINT_ALIGN_IDは、ポップアップを位置合せするクライアント・コンポーネントのID指定で使用します。これは、関連するランチャ・コンポーネントから相対的に位置調整するaf:showPopupBehaviorタグのpopupId属性とは異なり、popupコンポーネントの完全修飾クライアントのIDである必要があります。2つめのパラメータであるAdfRichPopup.HINT_ALIGNは、ポップアップが対象となるコンポーネントに位置合せする方法を定義するものです。

定数で表された、事前定義の位置の列挙は9つあります。

  1. AdfRichPopup.ALIGN_AFTER_START: ポップアップは要素の下に表示されます。このときポップアップの左上角は、要素の左下角に位置合せされます。要素およびポップアップの左端が位置合せされた状態です。

  2. AdfRichPopup.ALIGN_AFTER_END: ポップアップは要素の下に表示されます。このときポップアップの右上角は要素の右下角に位置合せされます。要素およびポップアップの右端が位置合せされた状態です。

  3. AdfRichPopup.ALIGN_BEFORE_START: ポップアップは要素の上に表示されます。このときポップアップの左下角は要素の左上角に位置合せされます。要素およびポップアップの左端が位置合せされた状態です。

  4. AdfRichPopup.ALIGN_BEFORE_END: ポップアップは要素の上に表示されます。このときポップアップの右下角は要素の右上角に位置合せされます。要素およびポップアップの右端が位置合せされた状態です。

  5. AdfRichPopup.ALIGN_END_AFTER: ポップアップは要素の右に表示されます。このときポップアップの左下角は要素の右下角に位置合せされます。要素およびポップアップの下端が位置合せされた状態です。

  6. AdfRichPopup.ALIGN_END_BEFORE: ポップアップは要素の右に表示されます。このときポップアップの左上角は要素の右上角に位置合せされます。要素およびポップアップの上端が位置合せされた状態です。

  7. AdfRichPopup.ALIGN_START_AFTER: ポップアップは要素の左に表示されます。このときポップアップの右下角は要素の左下角に位置合せされます。要素およびポップアップの下端が位置合せされた状態です。

  8. AdfRichPopup.ALIGN_START_BEFORE: ポップアップは要素の左に表示されます。このときポップアップの右上角は要素の左上角に位置合せされます。要素およびポップアップの上端が位置合せされた状態です。

  9. AdfRichPopup.ALIGN_OVERLAP: ポップアップは要素の上に表示されます。このとき要素およびポップアップの左上角が位置合せされます。

次に示すJSPおよびスクリプトのスニペットは、ポップアップをプログラムで表示および非表示にする方法を示します。

...
...                    
<f:facet name="metaContainer">
  <f:verbatim>
    
  </f:verbatim>
</f:facet>
...
...
<af:form>
 <af:popup id="popup">
    Hello World!
 </af:popup>
 
 <af:outputText value="Show Popup">
   <af:clientListener method="showPopup" type="mouseOver"/>
 </af:outputText>
 



<af:outputText value="Hide Popup"> <af:clientListener method="hidePopup" type="mouseOver"/> <af:clientAttribute name="popupId" value="popup"/> </af:outputText> <af:outputText value="Cancel Popup"> <af:clientListener method="hidePopup" type="mouseOver"/> <af:clientAttribute name="popupId" value="popup"/> <af:clientAttribute name="isCanceled" value="true"/> </af:outputText> </af:form> ... ...

アクション・リスナーのようなサーバー側のリスナーは、ポップアップを開くことができます。これはクライアント中心であるとする、インライン・ポップアップ・フレームワークの説明に矛盾しています。実際、サーバー側にはポップアップを開くAPIは存在しません。サーバー側でポップアップを開くには、フレームワークの拡張済スクリプト・サービスを使用し、ポップアップ表示のためクライアントに送信されるスクリプト・フラグメントを作成する必要があります。これには以前の説明と同じ機能の制限が含まれます。クライアント・コンポーネントには、プログラム的に動作を追加する公開APIが存在しないため、このメソッドはaf:showPopupBehaviorタグの使用ほど充実してはいません。

次のコードは、サーバー側でのポップアップの開閉方法を示すものです。

...
...                       
<af:form>
   <af:popup id="popup" binding="#{testBean.popup}">
     <af:panelWindow title="Test">
       <af:commandButton text="Hide" partialSubmit="true" actionListener="#{testBean.hidePopupActionListener}"/>
     </af:panelWindow>
   </af:popup>
   <af:commandButton text="Show" partialSubmit="true" actionListener="#{testBean.showPopupActionListener}"/>
</af:form>
...
...
public void showPopupActionListener(ActionEvent event) 
{
  FacesContext context = FacesContext.getCurrentInstance();
  UIComponent source = (UIComponent) event.getSource();
  String alignId = source.getClientId(context);
  String popupId = popup.getClientId(context);
    
  StringBuilder script = new StringBuilder();
  script.append("var popup = AdfPage.PAGE.findComponent('").append(popupId).append("'); ")
        .append("if (!popup.isPopupVisible()) { ")
        .append("var hints = {}; ")
        .append("hints[AdfRichPopup.HINT_ALIGN_ID] = '").append(alignId).append("'; ") 
        .append("hints[AdfRichPopup.HINT_ALIGN] = AdfRichPopup.ALIGN_AFTER_START; ")
        .append("popup.show(hints);}");
  ExtendedRenderKitService erks = 
    Service.getService(context.getRenderKit(), ExtendedRenderKitService.class);
  erks.addScript(context, script.toString());
}
public void hidePopupActionListener(ActionEvent event) 
{
  FacesContext context = FacesContext.getCurrentInstance();
  String popupId = popup.getClientId(context);
    
  StringBuilder script = new StringBuilder();
  script.append("var popup = AdfPage.PAGE.findComponent('").append(popupId).append("'); ")
        .append("if (popup.isPopupVisible()) { ")
        .append("popup.hide();}");
  ExtendedRenderKitService erks = 
    Service.getService(context.getRenderKit(), ExtendedRenderKitService.class);
  erks.addScript(context, script.toString());
}
                  

クライアント専用のポップアップ・イベント

処理に加え、インライン・ポップアップには複数のクライアント・イベントが含まれます。クライアント・イベントの多くには、対応するフェース・イベントまたはサーバー側のリスナーは含まれません。ただし、popupCanceledイベントでは、対応するサーバー側のイベントが提供されます。これらのイベントは、clientListenerタグおよびカスタムのJavaScript関数を使用して悪用される可能性があります。

  1. popupOpening: 取消し可能なクライアント専用のイベント。このイベントがクライアント側のリスナーで取り消されると、ポップアップは表示されません。

  2. popupOpened: このイベントは、ポップアップが表示可能になった後、起動されます。このイベントは、ポップアップでデフォルトのフォーカスをオーバーライドする、カスタムのルール作成で使用します。

  3. popupCanceled: 取消イベントは、自動消去やポップアップ・クライアント・コンポーネントのcancelメソッドの明示的な起動によってポップアップが予期せずに閉じると、起動します。

  4. popupClosed: 閉じられたイベントは、クライアント専用のイベントです。これはポップアップが非表示になると、起動します。

すべてのインラインのポップアップで、すべてのクライアント・イベントに相当するサーバー側機能が提供されるわけではありません。ただし、カスタムのクライアント・イベント・リスナーは、af:serverListenerで処理されるCustomEventをアクティブ化するJavaScriptを起動できます。

...
...
<f:facet >
  <f:verbatim>
    
  </f:verbatim>
</f:facet>
<af:form>
  <af:popup >
    <af:dialog title="Test">
      <f:verbatim>Hello World</f:verbatim>
    </af:dialog>
    <af:clientListener method="popupClosedListener" type="popupClosed"/>
    <af:serverListener type="serverPopupClosed" method="#{testBean.serverPopupClosedListener}"/>
  </af:popup>

  <af:commandButton text="show">
    <af:showPopupBehavior popupid="popup"/>
  </af:commandButton>        
</af:form>
...
...
public void serverPopupClosedListener(ClientEvent event)
{
  String popupId = (String) event.getParameters().get("popupId");
  System.out.print("Popup Closed: " + popupId);
}                 
                  

サーバー側のポップアップ・イベント

PopupFetchEventはサーバー側の2つのポップアップ・イベントのうちの1つで、対応するクライアント・イベントはありません。ポップアップ・フェッチ・イベントは、コンテンツの配信中に呼び出されます。つまりこのイベントは、lazyまたはlazyUncachedcontentDeliveryタイプを持つポップアップでのみ、キューに入ります。またイベントは、ポップアップがaf:showPopupBehaviorタグを使用して表示された場合にのみ動作することに注意してください。

ポップアップには、このPopupFetchEventイベントで動作する、2つのプロパティおよび1つのリスナーが含まれます。eventContextプロパティは、popupFetchListenerが呼び出される現在の選択の設定で使用します。これはaf:tableコンポーネントのような、スタンプ設定されたコンポーネントと同じ概念を持つものです。実際、このプロパティでは、af:showPopupBehaviorタグを使用してaf:table内でコンポーネントから起動する、共有ポップアップ・インスタンスの作成が許可されます。ランチャ・コンポーネントはコンテキスト内に配置され、インスタンスはポップアップのlauncherVarプロパティを介して使用可能になります。

popupFetchListenerに加えてaf:setPropertyListenerは、PopupFetchEventがキューされた場合に、値をある場所から別の場所に移すのに使用します。

次の例は、ポップアップ・フェッチ・イベントの使用方法を示すものです。

<af:popup id="noteWindow" contentDelivery="lazyUncached" eventContext="launcher" launcerVar="source">
  <af:noteWindow>
    <af:outputText value="#{testBean.fullName}"/>
  </af:noteWindow>
  <af:setPropertyListener from="#{source.attributes.fullName}" to="#{testBean.fullName}" type="popupFetch"/>
</af:popup>
<af:table var="person" value="#{testBean.people}">
  <af:column id="firstName">
    <f:facet name="header">
      <af:outputText value="First Name"/>
    </f:facet>
    <af:commandLink text="#{person.firstName}">
      <af:showPopupBehavior popupid="O__noteWindow" triggerType="mouseHover"/>
      <af:clientAttribute name="fullName" value="#{person.fullName}"/>
    </af:commandLink>
  </af:column>
</af:table>
                

PopupCanceledEventは、サーバー側の2番目のタイプのポップアップ・イベントです。PopupFetchEventと異なり、対応するクライアント・イベントがあります。取消イベントは、自動消去やクライアント・コンポーネントでのcancelメソッドのコールによってポップアップが予期せずに閉じると、起動します。

af:dialogおよびaf:panelWindowでは、この予期しない消去の概念が「取消」ボタンや閉じるアイコンに適用されます。これらのコンポーネントでは、「取消」ボタン(af:dialogのみ)や閉じるアイコンを選択すると、取消イベントがアクティブ化されます。

PopupCanceledEventイベントには、最適化されたイベント配信が備わっています。つまり、このイベントに登録されたサーバー・リスナーが存在しないかぎり、これはサーバーに伝播されません。取消イベントは、immediateですが、ポップアップの子でライフサイクルのリセット処理を回避するため、送信された値はすべて無視され、検証はスキップされます。さらに、このイベントには個々にフラグが立てられます。個々のイベントは、単一のリクエストで切り離してサーバーに送信されます。単一のサーバー・リクエストでこれらのイベントが複数のイベントと結合されることはありません。

次の例は、ポップアップ取消イベントの使用方法を示すものです。

<af:popup contentDelivery="lazyUncached" eventContext="launcher"
          launcherVar="source" id="popupRegion1" 
          popupCanceledListener="#{pageFlowScope.PopupDynamicRegionBean.swapEmptyTaskFlow}">
  <af:setPropertyListener from="#{source.attributes.employee}"
                          type="popupFetch" to="#{pageFlowScope.employeeId}"/>
  <af:setPropertyListener from="#{pageFlowScope.PopupDynamicRegionBean.popupTaskFlowId}"
                          to="#{pageFlowScope.PopupDynamicRegionBean.dynamicTaskFlowId}"
                          type="popupFetch"/>
  <af:panelWindow title="Employee Popup" id="window">
    <af:region value="#{bindings.dynamicRegion1.regionModel}"
                       id="dynam1"
                       regionNavigationListener="#{pageFlowScope.PopupDynamicRegionBean.navigationListener}"/>
   </af:panelWindow>
</af:popup>
...
...
<af:column>
  <af:commandButton text="Update" partialSubmit="true"
                    clientComponent="true" id="updateEmployee">
    <af:clientAttribute name="employee" value="#{row.Empno}"/>
    <af:showPopupBehavior popupid="O__popupRegion1"/>
  </af:commandButton>
</af:column>
...
...
public void swapEmptyTaskFlow(PopupCanceledEvent event) 
{
  setDynamicTaskFlowId("");
}                
                

イベント

フェーズ 説明
oracle.adf.view.rich.event.PopupFetchEvent リクエスト値の適用 popupFetchEventは、contentDeliveryがlazyまたはlazyUncachedで、ポップアップがサーバーからコンテンツを取得するようにリクエストされている場合に配信されます。
oracle.adf.view.rich.event.PopupCanceledEvent リクエスト値の適用 PopupClosedEventは、ポップアップが予期せずに閉じたとき、またはクライアント・ポップアップ・コンポーネントでのcancelメソッドの起動によって配信されます。
org.apache.myfaces.trinidad.event.AttributeChangeEvent アプリケーションの起動、
リクエスト値の適用
属性変更を記述するために配信されるイベント。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。

属性

名前 ELのサポート 説明
animate String あり 有効な値: default、false

ポップアップで使用する動画を指定します。ポップアップの動画は、システムの動画設定(trinidad-configの"animation-enabled")および個別のポップアップ・タイプ(af:menu、af:dailog、af:noteWindowなど)のスキンのプロパティで制御されます。falseを使用すると、ポップアップの動画はシステムの設定にかかわらず、オフになります。デフォルト値はdefaultで、これは暗黙的にシステムの設定およびスキンのプロパティを使用することを意味します。
attributeChangeListener javax.el.MethodExpression ELのみ 属性変更リスナーへのメソッド・リファレンス。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。
binding oracle.adf.view.rich.component.<wbr/>rich.RichPopup ELのみ コンポーネント・インスタンスをBean上に格納するELリファレンス。これは、バッキングBeanからコンポーネントへのプログラム的なアクセスを提供するため、またはコンポーネントの作成をバッキングBeanに移動するために使用できます。
clientComponent boolean あり クライアント側のコンポーネントが生成されるかどうか。このフラグを設定してもしなくてもコンポーネントは生成されますが、クライアントJavascriptがコンポーネント・オブジェクトを必要とする場合、コンポーネントの存在を保証するにはtrueに設定する必要があります。現在デフォルトで生成されるクライアント・コンポーネント・オブジェクトは、将来は存在しない可能性があります。このフラグを設定することがコンポーネントの存在を保証する唯一の方法であり、クライアントは暗黙的な動作に依存できません。ただし、このフラグの設定にはパフォーマンス・コストが伴うため、絶対に必要でないかぎり、クライアントではクライアント・コンポーネントを有効にすることを避ける必要があります。
contentDelivery String あり 有効な値: immediate、lazy、lazyUncached

ポップアップのコンテンツが最初のページとともに配信されるかどうか。contentDeliveryがimmediateのとき、コンテンツは最初のページにインラインされます。contentDeliveryがlazyのとき、ポップアップのコンテンツは、ポップアップを表示する最初のリクエストの後、クライアントに配信されます。contentDeliveryがlazyUncachedのとき、ポップアップのコンテンツはポップアップの表示ごとに更新され、配信されます。デフォルトはlazyで、コンテンツがクライアントに先に送信されることはありません。ただし1度ロードされると、これはキャッシュされます。
customizationId String あり この属性は推奨されていません。永続的なカスタマイズを適用するには、id属性を使用する必要があります。この属性は、次のリリースでは削除されます。
eventContext String あり 有効な値: self、launcher

ポップアップで配信されたイベントおよびその子孫が起動ソースのコンテキストに配信されるかどうかを指定します。

「コンテキスト内」について説明すると、たとえば表のようなものでは、イベントは「コンテキスト内」に配信され、イベント・リスナーがコールされる前にクリックした行のデータが「現在」になります。そのためgetRowData()がイベント・リスナーのcollectionModelでコールされると、イベントをトリガーした行のデータが返されます。

共有ポップアップの場合は、ポップアップが開いたとき、その親が起動ソースに変更されたかのように動作させることが必要になります。つまり、起動ソースで使用可能なデータにアクセスできるように、起動ソースのコンテキストで配信されるポップアップからのイベントがすべて必要になります。eventContextがlauncherに設定されている場合、popupFetchイベントおよびポップアップの内部から起動されるイベントは、起動ソースのコンテキストで配信されます。

id String なし コンポーネントの識別子。識別子は、HTMLで許可される構文のサブセットに準拠している必要があります。
  • 長さゼロの文字列は指定しないでください。
  • 最初の文字は、ASCII文字(A-Za-z)またはアンダースコア(_)にする必要があります。
  • 後続の文字は、ASCII文字または数字(A-Za-z0-9)、アンダースコア(_)またはダッシュ(-)である必要があります。
launcherVar String あり リクエストでの起動コンポーネントの参照で使用する変数の名前。これにより、ELに到達可能になります。起動コンポーネントは、ポップアップを起動したコンポーネントを参照してください。この変数が使用できるのは、ポップアップまたは子孫でイベントが配信されている間のみです。イベントの配信以外では、この変数は削除されます(または元の値に戻されます)。この値が使用できるのは、eventContextがlauncherに設定されているときのみです。この値が設定されていないとき、起動コンポーネントはイベントの配信中にリクエストで使用可能になりません。
partialTriggers String[] あり 部分更新をトリガーするコンポーネントのID。このコンポーネントは、トリガー・コンポーネント上でリスニングします。トリガー・コンポーネントの1つがなんらかの更新を発生させるイベントを受信した場合、このコンポーネントも更新されることをリクエストします。識別子はソース・コンポーネント(このコンポーネント)に対して相対的であり、NamingContainerで構成されている必要があります。コンポーネントがすでにネーミング・コンテナ内にある場合、単一のコロンを使用するとページのルートから検索を開始でき、複数のコロンを使用するとNamingContainerを上方向に移動できます。たとえば、::を前に置くと、コンポーネントのネーミング・コンテナ(または、コンポーネントがネーミング・コンテナである場合にはそのコンポーネント自体)から出てそこから検索を開始します。:::を前に置くと、2つのネーミング・コンテナ(コンポーネントがネーミング・コンテナである場合にはそのコンポーネント自体も含まれます)から出てそこから検索を開始します。
popupCanceledListener javax.el.MethodExpression ELのみ popupCanceledListenerメソッドへのメソッド・リファレンス。PopupCancledEventは、ポップアップが予期せずに閉じたとき、またはクライアント・ポップアップ・コンポーネントでのcancelメソッドの起動によって配信されます。
popupFetchListener javax.el.MethodExpression ELのみ popupFetchListenerメソッドへのメソッド・リファレンス。
rendered boolean あり コンポーネントがレンダリングされるかどうか。falseに設定した場合、このコンポーネントについて出力は配信されません(コンポーネントはどのような方法でもレンダリングされず、クライアントで表示できません)。
visible boolean あり コンポーネントの可視性。falseの場合、コンポーネントはクライアント上で非表示となります。renderedとは異なり、これはサーバーでのライフサイクルには影響を与えません(コンポーネントに実行済バインディングがある、など)。コンポーネントの可視性は、クライアント上で切り替えるか、PPRを使用して切り替えることができます。renderedがfalseの場合、コンポーネントはどのような方法でもレンダリングされず、クライアントで表示できません。ほとんどの場合、visibleプロパティのかわりにrenderedプロパティを使用します。
次のレンダーキットではサポートされていません。 org.apache.myfaces.trinidad.core