Popup window containing a portlet

Hi !
I am trying to open a new window (no portal header and footer) from a simple link on a community page. This window should contain just a page + a specific portlet. Any idea how to do it ?
Cathy

Portlets are distinct components on a portal page. A portal page may have multiple portlets, but not portlets within portlets.

Similar Messages

  • Open new browser popup window in an portlet application

    Hi all,
    I want to open a popup browser window from a portlet application.
    I found this in Oracle portlet bridge documentation:
    +ADF Faces Dialog Framework is not supported. If your application includes any buttons or icons that launch secondary browser windows, the contents of the new windows are not displayed properly when the application is run as a portlet. As such, you should avoid using these components if you plan to portletize your application. Examples of components that launch secondary windows are:
    <tr:inputDate>
    <tr:inputColor>
    <tr:popup>
    the useWindow attribute of <af:commandButton>
    +
    Is there any solution to it? Should I look at using javascript to open the popup browser window?

    Hi guys,
    Thanks for your answer,
    I tried the af:popup and it should work properly.
    However I have a problem with the popup itself and applet as my post here:
    Render phase of a popup in adf?
    When I put the applet in a popup, when the popup is displayed, two instance of the same applet is created at the same time.
    I don't know whether it is a problem with the popup life cycle or not?

  • Popup window question

    Hi,
    I did a Portal application using JSF and RAD 6.0 in the Portal page I have two portlets side by side the portlet in the right side has a link to open a popup window when I click in that link and the popup window opens the portlet in the left side is showing in the popup window is there any way to tell the popup np to show the portlet on the left side. I used jsf-popup
    thanks

    Here is how to open a TitleWindow and initialize some values
    in the newly opened TitleWindow.
    var myWin:
    YourTitleWin=YourTitleWin(PopUpManager.createPopUp( this,
    YourTitleWin , true));
    myWin.setParentRef(this);
    In the newly opened window you have to have a method
    setParentRef that accepts a window as an argument. Store the parm
    as a variable in the window.
    There are other ways to do this .. this is just one of
    them.

  • How to send data from popup window to parent window

    Hi,
    I need help some like this
    I have parent window ,in that i am clicking + button one dynamic row should add and one popup window has to diplay .Popup window contain 3 comboboxes and 5 text boxes. Once i am clicking OK button in popup window those values has to display at specified row in parent window
    Kindly help me ,
    Thanks
    jyothi

    See this
    http://www.oracle.com/technology/products/jdev/101/howtos/jsfdrilldown/index.html

  • Controlling popup window size

    Is there a way to influence the size of popup windows? I am
    developing help that will be displayed in a narrow panel, and
    popups get to be ridiculously narrow. It seems that the autosizing
    algorithm prioritizes tall over wide, so that a pupup topic that
    fits in the help display without scrollbars doesn't use as much
    width as it could. The width is extended as a last resort if the
    amount of text would otherwise demand a scrollbar. I would like the
    popups to be only a little narrower than the main window regardless
    of the text amount.

    GEWB,.
    Thanks. A bit of elaboration:
    I make extensive use of popups to display screen shots in a
    separate window so the user can browse help and go from topic to
    topic without necessarily navigating in the parent application at
    the same time. I also make the guide available in our DocWeb
    library as a standalone guide, so the user can read it with the
    parent application closed.
    Sometimes the popup window contains a fair amount of text in
    a subtopic that the user may need to read only once and never
    summon again. He or she has the option of ignoring that popup link
    on returning to the topic. It's the same principle as a Glossary
    definition. The link is there, but once you read it, why bother if
    you can remember it from last time?
    I haven't used dropdowns much, but as I recall they appear in
    the topic pane and push text down until they are dismissed. Useful,
    yes, but they wouldn't accomplish my purpose for popups.
    I looked through ehlpdhtm.js, which primarily serves IE. It
    figures out the autosize dimensions on the fly, and performs the
    dhtml effect on text, such as flying in and out, but
    Firefox/Mozilla/NS don't use dhtml effects.
    I can't find a place in ehlpdhtm.js where (if it's in this
    file) the default popup window is sized (it's about 300 px wide by
    150 px high).
    BSSCDHTM.JS doesn't appear in WebHelp output. Much of it is
    similar to the other js file. I have no idea how it's used. The RH
    help topic on output files mentions ehlpdhtm.js, but there is no
    reference to bsscdhtm.js.
    Is it possible that ehlp... replaced bssc.. and bssc... never
    was removed from the RH code? Or is bssc... perhaps used in
    generating html help?
    If it's in some dll file, I can't fiddle with it, unless you
    can tell me how to edit and save a dll file without destroying its
    dll file type. DHTMLFX.DLL has a lot of code that looks similar to
    the two .js files, but I can't find the default size. That's why I
    thought perhaps the non-ie browsers have a built-in default when
    the html code doesn't specify a custom size.
    I'm content with the workaround, using custom sizes for all
    popup windows, unless a real developer (of which I am not one) can
    help figure this out.
    Thanks again.
    Harvey

  • Studio Server Portlet in Popup Window

    I am trying to get a studio server portlet (a form) to open in a popup window. The code I'm using is as follows:
    <pt:gatewayLink xmlns:pt="http://www.plumtree.com/xmlschemas/ptui/" pt:objectID="201" pt:href="myStudioServerURL/studio/gw?m=apprun.viewPage" target="myWindow" onclick="window.top.open('','myWindow',height=400,width=500,status=no,toolbar=no,menubar=no,location=no')">Click Here</pt:gatewayLink>
    This seems to work (the portlet opens in a new window and functions like I'd expect), but the styles are missing. Is this the proper way to open portlets in a popup window? Do I do the same for studioi server portlets? If so, how do I invoke the styles as if the studio server portlet were in a community page.
    Joe Westgerdes

    I am trying to get a studio server portlet (a form) to open in a popup window. The code I'm using is as follows:
    <pt:gatewayLink xmlns:pt="http://www.plumtree.com/xmlschemas/ptui/" pt:objectID="201" pt:href="myStudioServerURL/studio/gw?m=apprun.viewPage" target="myWindow" onclick="window.top.open('','myWindow',height=400,width=500,status=no,toolbar=no,menubar=no,location=no')">Click Here</pt:gatewayLink>
    This seems to work (the portlet opens in a new window and functions like I'd expect), but the styles are missing. Is this the proper way to open portlets in a popup window? Do I do the same for studioi server portlets? If so, how do I invoke the styles as if the studio server portlet were in a community page.
    Joe Westgerdes

  • What is, how to fix, stop, small popup window from 'plugin-container.exe' with 3 digit number that won't stop re-appearing???

    I get very small windows popping up on the screen on top of anything else I'm doing regardless of what apps I'm running or not running. If I R-click on the icon in the task bar, it's identified as "plugin-container.exe"
    The window doesn't say why it's there, but only displays a 3 digit number (for example the on on the screen now says 587) and allows only the usual X to close, or an 'OK' button to close. But a short time later it pops up again.
    I'm running Windows 7 64bit MS Security Essentials and Firefox, though it will pop up even if I just booted and haven't started Firefox yet.
    It's really (really really) annoying. How can I fix it or disable it or whatever it takes to make it STOP.
    Perhaps if I had some idea what it was I could attack it that way, but I haven't a clue. BTW, I've cleaned the registry, and done full scan's for virus and turned up nada.
    Thanks.
    D.

    As per the web site:
    There will be no update to Waterfox 25.0 as a bug causes Adobe Flash to crash on 64-Bit Windows 7 systems. Bug here. Although Firefox 25.0.1 is now available and we could build it, there would be no point of releasing a new version of Waterfox for only two weeks.
    I mostly only use Waterfox and had no problem in the past. I suspect a flash problem may be at the root of my problem however.
    As stated, I've performed (full) virus scans with MS Security Essentials. Also with Housecall, and also with HiJackThis. No problems detected.
    Screen shot of popup window attached.

  • Open a Form in a popup window from a PL/SQL portlet

    Hi,
    I have a form that I want to open in a popup window from a URL in a PL/SQL portlet. What is the easiest way to do this? Are there any examples in here or on Metalink as to how to achieve this?
    Thanks,
    Steve West

    Is it a HTML page somewhere on a server with a HTML form on it? You can use javascript tags in ur link to do this maybe?
    javascript:window.open('http://<server name>/page.htm','mywindow','width=400,height=200')
    Obviously if this is a portal form you can also link directly to the show procedure no problems.

  • Need help with a popup window problem

    I have this code within my certAppB.js page :
    function AppSubmit() {
         str1 = "Submitting this form will begin the approval process.";
         str2 = "You will not be able to come back to this form to edit it again.";
         str3 = "Do you want to continue submitting this form?";
         if((confirm(str1 + "\n" + str2 + "\n" + str3))){
              document.forms[0].status.value="Submitted";
              document.forms[0].submit();
    Which produces a popup windows that says:
    Submitting this form will begin the approval process
    You will not be able to come back to this form to edit it again
    Do you want to continue submitting this form?
    OK Cancel (these are 2 buttons)
    I want to change this to say:
    Submitting this form will begin the approval process. You will not be able to change this form once submitted. You also agree that the following statement is true and correct to the best of your knowledge and belief:
    "I, [User Name], hereby certify and state on behalf of [Company Name] that the energy use data contained on this form are accurately determined and stated in accordance with federal test procedures set forth in 10 CFR Part 430 or 431, or 42U.S.C.�6314, as applicable, including authorized waivers, as they currently exist on [Date]."
    Do you want to continue submitting this form?
    OK           Cancel
    So I have to pull the users [User Name], [Company Name], and the [Date].
    On the approverView.jsp login page ( which is the first login page users see after loggin) it shows
    the users full name, so I nabbed the code from that page:
    <body>
    <jsp:include page="logo.jsp" />
    <jsp:include page="unav-navigate.jsp" />
    <table width="100%" border="0" cellspacing="0" cellpadding="5" class="info">
    <tr>
    <td width="25%" valign="top">
    <logic:present name="UserContainer" property="userView" scope="session">
    <span class="welcome">Welcome
    <bean:write name="UserContainer" property="userView.firstName" scope="session"/>
    <bean:write name="UserContainer" property="userView.lastName" scope="session"/>
    !</span><br>
    </logic:present>
    <span class="sm">If you are not this person, please click <html:link styleClass="norm" href="/fake_name/logoff.do">here</html:link>.</span></td>
    <td width="2%"> </td>
    <td width="73%" valign="top"><jsp:include page="instruction.jsp" /></td>
    </tr>
    </table>
    and made this code out of it to pull the username,companyname:
    <logic:present name="UserContainer" property="userView" scope="session">
    <span class="User"> User
    <bean:write name="UserContainer" property="userView.firstName" scope="session"/>
    <bean:write name="UserContainer" property="userView.lastName" scope="session"/>
    !</span><br>
    </logic:present>
    <logic:present name="UserContainer" property="userView" scope="session">
    <span class="Company">Company
         <bean:write name="UserContainer" property="userView.companyName" scope="session"/>
    !</span><br>
    </logic:present>
    This is the userView.java page that is referanced :
    * Created on Mar 28, 2003
    * To change this generated comment go to
    * Window>Preferences>Java>Code Generation>Code Template
    package org.fake.name.view;
    import java.io.Serializable;
    import java.util.List;
    import org.gama.cafs.businessobjects.TorqueDb;
    * @author chris
    public class UserView implements Serializable {
         private int userId;
         private int memberId;
         private int companyId;
         private String role;
         private String firstName;
         private String lastName;
         private String companyTitle;
         private String emailAddress;
         private String phoneNumber;
         private String companyName;
         private String address1;
         private String address2;
         private String address3;
         private String city;
         private String state;
         private String province;
         private String postalCode;
         private String countryName;
         private List productTypes = null;
         private List productTypeAcronyms = null;
         private List productTypeIds = null;
         private List tradeNameIds = null;
         private List tradeNames = null;
         private TorqueDb torqueDb = null;
         public UserView() { }
         * @return String
         public String getAddress1() {
              return address1;
         * @return String
         public String getAddress2() {
              return address2;
         * @return String
         public String getAddress3() {
              return address3;
         * @return String
         public String getCity() {
              return city;
         * @return String
         public String getCompanyName() {
              return companyName;
         * @return String
         public String getCompanyTitle() {
              return companyTitle;
         * @return String
         public String getCountryName() {
              return countryName;
         * @return String
         public String getEmailAddress() {
              return emailAddress;
         * @return String
         public String getFirstName() {
              return firstName;
         * @return String
         public String getLastName() {
              return lastName;
         * @return int
         public int getMemberId() {
              return memberId;
         * @return String
         public String getPhoneNumber() {
              return phoneNumber;
         * @return String
         public String getPostalCode() {
              return postalCode;
         * @return Set
         public List getProductTypes() {
              return productTypes;
         * @return String
         public String getProvince() {
              return province;
         * @return String
         public String getRole() {
              return role;
         * @return String
         public String getState() {
              return state;
         * @return int
         public int getUserId() {
              return userId;
         * Sets the address1.
         * @param address1 The address1 to set
         public void setAddress1(String address1) {
              this.address1 = trimString(address1);
         * Sets the address2.
         * @param address2 The address2 to set
         public void setAddress2(String address2) {
              this.address2 = trimString(address2);
         * Sets the address3.
         * @param address3 The address3 to set
         public void setAddress3(String address3) {
              this.address3 = trimString(address3);
         * Sets the city.
         * @param city The city to set
         public void setCity(String city) {
              this.city = trimString(city);
         * Sets the companyName.
         * @param companyName The companyName to set
         public void setCompanyName(String companyName) {
              this.companyName = trimString(companyName);
         * Sets the companyTitle.
         * @param companyTitle The companyTitle to set
         public void setCompanyTitle(String companyTitle) {
              this.companyTitle = trimString(companyTitle);
         * Sets the countryName.
         * @param countryName The countryName to set
         public void setCountryName(String countryName) {
              this.countryName = trimString(countryName);
         * Sets the emailAddress.
         * @param emailAddress The emailAddress to set
         public void setEmailAddress(String emailAddress) {
              this.emailAddress = trimString(emailAddress);
         * Sets the firstName.
         * @param firstName The firstName to set
         public void setFirstName(String firstName) {
              this.firstName = trimString(firstName);
         * Sets the lastName.
         * @param lastName The lastName to set
         public void setLastName(String lastName) {
              this.lastName = trimString(lastName);
         * Sets the memberId.
         * @param memberId The memberId to set
         public void setMemberId(int memberId) {
              this.memberId = memberId;
         * Sets the phoneNumber.
         * @param phoneNumber The phoneNumber to set
         public void setPhoneNumber(String phoneNumber) {
              this.phoneNumber = trimString(phoneNumber);
         * Sets the postalCode.
         * @param postalCode The postalCode to set
         public void setPostalCode(String postalCode) {
              this.postalCode = trimString(postalCode);
         * Sets the productTypes.
         * @param productTypes The productTypes to set
         public void setProductTypes(List productTypes) {
              this.productTypes = productTypes;
         * Sets the province.
         * @param province The province to set
         public void setProvince(String province) {
              this.province = trimString(province);
         * Sets the role.
         * @param role The role to set
         public void setRole(String role) {
              this.role = trimString(role);
         * Sets the state.
         * @param state The state to set
         public void setState(String state) {
              this.state = trimString(state);
         * Sets the userId.
         * @param userId The userId to set
         public void setUserId(int userId) {
              this.userId = userId;
         * @return List
         public List getProductTypeAcronyms() {
              return productTypeAcronyms;
         * Sets the productTypeIds.
         * @param productTypeIds The productTypeIds to set
         public void setProductTypeAcronyms(List productTypeAcronyms) {
              this.productTypeAcronyms = productTypeAcronyms;
         public List getProductTypeIds() {
              return productTypeIds;
         public void setProductTypeIds(List productTypeIds) {
              this.productTypeIds = productTypeIds;
         private String trimString(String str) {
              String tmp = null;
              if (str != null)
                   tmp = str.trim();
              else
                   tmp = str;
              return tmp;
         public List getTradeNameIds() {
              return tradeNameIds;
         public List getTradeNames() {
              return tradeNames;
         public void setTradeNameIds(List list) {
              tradeNameIds = list;
         public void setTradeNames(List list) {
              tradeNames = list;
         public TorqueDb getTorqueDb() {
              return torqueDb;
         public void setTorqueDb(TorqueDb db) {
              torqueDb = db;
         public int getCompanyId() {
              return companyId;
         public void setCompanyId(int i) {
              companyId = i;
    Question:
    How do I insert the code I assembled:
    <logic:present name="UserContainer" property="userView" scope="session">
    <span class="User"> User
    <bean:write name="UserContainer" property="userView.firstName" scope="session"/>
    <bean:write name="UserContainer" property="userView.lastName" scope="session"/>
    !</span><br>
    </logic:present>
    <logic:present name="UserContainer" property="userView" scope="session">
    <span class="Company">Company
         <bean:write name="UserContainer" property="userView.companyName" scope="session"/>
    !</span><br>
    </logic:present>
    INTO the function:
    function AppSubmit() {
         str1 = "Submitting this form will begin the approval process.";
         str2 = "You will not be able to come back to this form to edit it again.";
         str3 = "Do you want to continue submitting this form?";
         if((confirm(str1 + "\n" + str2 + "\n" + str3))){
              document.forms[0].status.value="Submitted";
              document.forms[0].submit();
    So that the popup window will show the [username], [CompanyName], [Date]. I can�t find any doc�s on how to insert logic into a function with str�s.
    Any help would be very much appreciated. Thanks in advance.
    Applications used by me: Sun solaris 8 server, Tomcat 4.1.24, pulling from postgresql 7.3, and I edit in Eclipse 2.11.

    These two tags:
    <logic:present name="UserContainer" property="userView" scope="session">
    </logic:present>
    surround things you only want to happen if there is a userView object present.
    This tag:
    <bean:write name="UserContainer" property="userView.firstName" scope="session"/>
    is replaced with the value of userView.getFirstName().
    So:
    <logic:present name="UserContainer" property="userView" scope="session">
    <span class="User"> User
    <bean:write name="UserContainer" property="userView.firstName" scope="session"/>
    <bean:write name="UserContainer" property="userView.lastName" scope="session"/>
    !</span><br>
    </logic:present>
    becomes:
    User Jim Steinberger !
    if the userView object is present and firstName == Jim and lastName == Steinberger.
    To insert those values into your JavaScript function:
    <logic:present name="UserContainer" property="userView" scope="session">
    function AppSubmit() {
    str1 = "Submitting this form will begin the approval process.";
    str2 = "You will not be able to come back to this form to edit it again.";
    str3 = "You also agree that the following statement is true and correct to the best of your knowledge and belief:";
    str4 = "";
    str5 = "I, <bean:write name="UserContainer" property="userView.firstName" scope="session"/>
    <bean:write name="UserContainer" property="userView.lastName" scope="session"/>, hereby certify and state on behalf of <bean:write name="UserContainer" property="userView.companyName" scope="session"/> that the energy use data contained on this form are accurately determined and stated in accordance with federal test procedures set forth in 10 CFR Part 430 or 431, or 42U.S.C.?6314, as applicable, including authorized waivers, as they currently exist on " + new Date().getDate() + "/" + new Date().getMonth() + "/" + new Date().getFullYear() + ".";
    str6 = "Do you want to continue submitting this form?";
    if((confirm( str1 + "\n" + str2 + "\n" + str3 + "\n\n\n" + str4 + "\n" + str5 + "\n" + str6 ))){
    document.forms[0].status.value="Submitted";
    document.forms[0].submit();
    </logic:present>
    Should become:
    function AppSubmit() {
    str1 = "Submitting this form will begin the approval process.";
    str2 = "You will not be able to come back to this form to edit it again.";
    str3 = "You also agree that the following statement is true and correct to the best of your knowledge and belief:";
    str4 = "I, Jim Steinberger, hereby certify and state on behalf of Dynamic Edge, Inc. that the energy use data contained on this form are accurately determined and stated in accordance with federal test procedures set forth in 10 CFR Part 430 or 431, or 42U.S.C.?6314, as applicable, including authorized waivers, as they currently exist on " + new Date().getDate() + "/" + new Date().getMonth() + "/" + new Date().getFullYear() + ".";
    str6 = "Do you want to continue submitting this form?";
    if((confirm( str1 + "\n" + str2 + "\n" + str3 + "\n\n" + str4 + "\n" + str5 + "\n\n" + str6 ))){
    document.forms[0].status.value="Submitted";
    document.forms[0].submit();
    after being processed by Tomcat and Struts. (Note: the function will not appear if userView is missing)
    By the way, you might be missing the closing bracket to function AppSubmit() { which might throw a JavaScript error. Just FYI :)
    Good luck!
    Jim Steinberger
    [email protected]

  • Firing a view based on a selection from a popup window

    Hi,
    I have a main window in which there is "Display Details" button and a view container to hold a view. On clicking this display button I'm showing a pop-up window which will show the user the options to select a particular view. After the selection and clicking on OK in the pop up window the corresponding view should be shown the view container.
    I tried this by firing an outboung plug to the corresponding view based on the selection in the popup window. The problem is I cannot create a navigation link in the window as the popup view is not part of the main window.
    Could you please provide me your insights on how to handle this scenario?
    Regards,
    Vivek

    Hi Vivek,
    Please refer this article: [Creating Navigations and Embedding Views at Runtime - Web Dynpro ABAP|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/50f3660d-ad29-2b10-2482-8120e56942dd?QuickLink=index&overridelayout=true]. Also refer [Thomas' reply in this thread|Embed a view dynamically in a ViewContainerUIElement;.
    Regards

  • How do I get a popup window to stay open with a validation failure?

    Environment:
    APEX 3.1.1.00.09 on AIX 5.3
    Oracle 10.2.0.2 EE on AIX 5.3
    Sample app on apex.oracle.com:
    Workspace: galway
    User: gwicke
    Pass: gwicke
    Steps:
    1- run Page 3
    2- select J & B Marketing from drop down
    3- select only contract from drop down
    4- click on Edit Existing Contract
    5- click on Add New Builder
    6- Enter the same builder from calling page: Builder Name: Alvarez Construction City: Baton Rouge State: LA
    7- click Add Builder
    The original version of this page would add the new builder to the database, pass the information back to the calling page and close the popup window. Cool.
    I have added a validation on the popup page (Page 4) to check for an existing builder with the same name and city.
    What I'd like to have happen is the popup window stay open so the user can see the error message with the instructions for them to click on the CANCEL button and then select the builder from the drop down list. When they click the CANCEL button I need to have the window close.
    What is happening is the window is closing as soon as the Add Builder button is clicked.
    This is because there is a region called 'scripts' that contains javascript to submit the page and close the window and the condition on the region is only that the Builder Name is not null. So, the good news is that I understand why the window is closing but I'm not sure the best way to keep it open when the error condition happens.
    Thanks very much for your help. I'm sure you recall everything about this app you helped me with many months ago. NOT!! :-)
    -gary

    Gary, I think I've got it working the way you want.
    1. I added a conditional branch to page 4 which fires on the not exists builder condition condition.
    2. I disabled the reset page process. With that running, the conditional branch to page 4 woul always fire because the builder name and city were always cleared by the time the branch executed.
    3. I noticed that the new builder did not show up in your select list until I refreshed page 2. I haven't had a chance to look at that. Maybe a branch back to page 2 from page 4 after successfully loading a new builder will take care of that.
    Bob

  • Need to dynamically include an image file when calling a popup window

    I am working on a web dynpro Java app which uses a button to call a popup window/view. Within the popup, I want to dynamically choose an image to show (from mime types) based on a criteria...there will be multiple buttons on the initial view that all call the same popup, but the popup will have content specific to which button called it (specifically the image embedded in the view).
    My question is, what is the proper/best way to do this?
    Here are some possible ways I can think of...
    1. Pass a parameter from each button during the call of the event, but how does that get sent to the implementation of the second view for use in determining which image? And, how do I modify the source property of the image element based on that parameter?
    2. Create multiple pages and views for each button to call...but this seems decidedly un-DRY.
    3. Saw one posting on how to dynamically create a cached image...I could use different event handlers in the initial view, then load individual images from the mime library at that point...cache it into a hard-coded image name...then just call the identical view every time. Not sure this is even possible...input?
    I don't know specifically how to implement any of these options, or know if there are other/better ways. Any help would be appreciated.

    Just create a context attribute "imageFileName" in the component controller or a custom controller, map this attribute from both views (the one that contains the buttons and the one in the popup window that displays the image).
    Now you can have an separate action for each button or one common action. In the first case just set the "imageFileName" inside the action handler for the specific button. In the second case use an action parameter "buttonId" and a parameter mapping
    button.mappingOfOnAction().setParameter("buttonId", button.getId());
    to determine which button triggered the action. After having checked which button was pressed, set the "imageFileName" accordingly.
    Armin

  • TIP: Building Modal Popup Windows

    Build Modal Popup Pages
    Introduction
    The following is based on the 'How To Document' - 'Build Custom Popup Pages'.
    This How To will show the developer how to create Modal Popup windows with the ability to pass information back to the parent window.
    Example Scenario
    The example described in this how to adds a custom modal popup LOV to a form on the SCOTT.EMP table. Clicking the popup LOV link on the form page will popup a Modal LOV page that allows users to search by ENAME, JOB, and SAL. Selecting a value from this LOV page will close that popup LOV page and populate the ENAME, JOB, and SAL fields on the form page with the selected values. Additionally, had the user entered some data into the ENAME, JOB, and/or SAL fields on the form page, that data would be used in the initial search when the popup LOV page is first shown.
    Step 1 - Create a simple form page on SCOTT.EMP
    To create the form page, simply step through the HTML DB "Form on a Table or View" wizard against the EMP table accepting the defaults. For this example, create the form with a page number of one, and make sure to allow the ename, job, and sal fields to be editable. When the wizard completes, page 1 of the application should have the items P1_ENAME, P1_JOB, and P1_SAL on it as text fields.
    Step 2 - Create a popup page with search fields
    Next, create a page that's to be used as the popup window: Page 2. Ultimately, this page will have javascript, a report region, and some buttons. For now, though, just create a page 2 with the items P2_ENAME, P2_JOB, and P2_SAL on it as text fields.
    Step 3 - Set Modal popup page header requirements
    A) Modal windows by default cache the information they display. When creating a popup window which displays different information each time it is called or to allow searching the caching default must be switched off.
    Add the following meta-tag to the "HTML Header" field of the page-level attributes screen for page 2 to accomplish this:
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    B) Modal windows by default open a new window when running any redirect calls. When creating a modal popup which passes back parameters to the parent window. The modal window has to be forced to fire redirect calls within its own window rather than open a new window for the redirect.
    Add the following tag to the "HTML Header" field of the page-level attributes screen for page 2 to accomplish this:
    <base target="_self">
    Step 4 - Add Javascript call to the popup page
    Because the popup page should filter its result set based on any values that the user might have entered onto the form page, you need to add a javascript function that would pass those values off. Add the following function to the "HTML Header" field of the page-level attributes screen for page 1 to accomplish this:
    <script language="JavaScript" type="text/javascript">
      function callMyPopup (formItem1,formItem2,formItem3) {
        var formVal1 = document.getElementById(formItem1).value;
        var formVal2 = document.getElementById(formItem2).value;
        var formVal3 = document.getElementById(formItem3).value;
        var url;
      url = 'f?p=&APP_ID.:2:&APP_SESSION.::::P2_ENAME,P2_JOB,P2_SAL:' + formVal1 + ',' + formVal2 + ',' + formVal3 ;
      // IE Browsers modal popup window
      if (window.showModalDialog) {
        w = showModalDialog(url, window.self,"status:0; scroll:1; resizable:1; dialogWidth:25; dialogHeight:43");
        // w is an array returned from the modal popup containing the passback values
        if (w) {
          document.getElementById("P1_ENAME").value = w[0];
          document.getElementById("P1_JOB").value = w[1];
          document.getElementById("P1_SAL").value = w[2];
          document.getElementById("P1_SAL").focus();
      else {
      // mozilla based browsers modal popup window
      w = open(url,"winLov","Scrollbars=1,resizable=1,width=800,height=600", modal="yes");
      if (w.opener == null)
        w.opener = self;
      w.focus();
    </script>Though you don't need to know how to read javascript for this example, it helps to understand that this function only does one important thing: it opens a modal popup window of page two in our application while passing values to P2_ENAME, P2_JOB, and P2_SAL. It gathers those values to pass from the names of the HTML DB items provided to it. The call to this function will be added in the next step below.
    Step 5 - Add a popup link next to the P1_SAL field on the form page
    Add a link to the form page that will call the callMyPopup function above and pass it the values it needs. To do so, place the following HTML in the "Post Element Text" field attribute of the P1_SAL item:
    <~a href="javascript:callMyPopup('P1_ENAME','P1_JOB','P1_SAL');">Click for LOV<~/a>NB. remove ~ from above when deploying
    Step 6 - Add the LOV report to the popup page
    The next step is to create a report on the popup page based on the values passed from the form on page one. The tricky part of this report is providing a means for the selected values to be passed back to the form page. This can be achieved by having a column of the report render as a javascript link that would close the popup window and pass the ename, job and sal values for that row back. Start by adding a simple report region to our Modal popup page that uses a query such as:
          select ename, job, sal , 'placeholder' the_link
            from emp
           where ename like '%'||:P2_ENAME||'%'
             and (job = :P2_JOB or :P2_JOB is null)
             and (sal = :P2_SAL or :P2_SAL is null)Note that the last column in this query is just a placeholder. once the region is created, turn that placeholder into a link by doing the following:
    Navigate to the Page Definition for page 2
    Next to the name of the report region created in step 6, Click Q
    Next to the column THE_LINK, click the edit icon
    In the "Link Text" field enter the string "select"
    In the URL field enter: javascript:passBack('#ENAME#','#JOB#','#SAL#'); Click the "Apply Changes" button
    Step 7 - Add the javascript function to the Modal popup page to pass selected values to the (parent) form page.
    In the previous step you added a call to a javascript function, passBack. Now add that function to the top of Modal popup page 2. In the same manner as step 4 above, add that passBack function to the page 2 by putting it in the "HTML Header" field of the page-level attributes screen. The function should look similar to the following:
    <script language="JavaScript">
       function passBack(passVal1, passVal2, passVal3)
         // IE Browser return the passback values in an array
         if (window.showModalDialog) {
           var retVal = new Array(passVal1, passVal2, passVal3);
           window.returnValue = retVal;
           window.close();
         // Mozilla based browsers right the passback values directly into the parent window
         else {
           opener.document.getElementById("P1_ENAME").value = passVal1;
           opener.document.getElementById("P1_JOB").value = passVal2;
           opener.document.getElementById("P1_SAL").value = passVal3;
           opener.document.getElementById("P1_SAL").focus();
           close();
    </script>This function simply sets the values of P1_ENAME, P1_JOB, and P1_SAL with the values of the whatever's stored to the three HTML DB item names passed to it. It also closes the current window and puts the cursor back into the P1_SAL field.
    Step 8 - Polishing
    The basic functionality of this custom modal popup window has been created in steps 1 though 7. To make its usage a little more friendly, it's advisable to add Cancel and Search buttons to the popup window page. The Search button should just be added as a regular button that branches back to the page 2. Adding this button allows users to re-query for LOV options without having to return to our form page. The Cancel button should be created with an "Action" of "Redirect to URL". The "URL Target" of the button should be javascript:window.close(). As the code suggests, the Cancel button would just close the popup window (with no values returned).
    Hope this is of use....

    Everything said above is working fine but in Mozilla small popup is coming in top left corner of browser..
    so please help me so that it is opened in proper width and height in mozilla.

  • Can't get popup window to work, could use code help.

    This is the first time I've tried to open a popup window in
    flash, and I can't get it to work. The site I'm building has the
    navigation buttons contained in an animated movie clip. All of the
    navigation buttons work fine. But there's a link that the company
    wants me to add that opens a window to another site who hosts a
    video commercial for the company (it has to be a link to the other
    site, it can't be added directly to the customers site).
    The link the other company sent me is for javascript (I'll
    include it in the attached code), and the code works great if I
    just insert the javascript in the html. But I wanted to try and get
    the link in the Flash menu. I've tried several versions of the
    code, from applying it directly to the button to naming an instance
    of it and attaching the actionscript in the movie clip. When I'm
    done, I get two different problems. On my XP machine, I get a
    warning error about the flash trying to open something to another
    server. On my Vista machine, nothing happens at all.
    Anyway, I'm including the original javascript and several
    versions of the actionscript I've tried (with the actual site
    information replaced with "fakeurl.com", wasn't sure how these
    forums felt about including site info). Any help at all would be
    greatly appreciated. I've searched and searched for about a week,
    and I'm tempted to just do away with the Flash button and use a
    cheesy javascript button for this one link.
    Thanks!
    MoAtt

    In article <[email protected]>,
    [email protected] wrote:
    > All I want to do is have a Close Window link in my popup window that works.
    Select your text that you want to act as a trigger to close the window,
    just as if you were going to create a link.
    Then paste the following line of code into the link Inspector:
    javascript:self.close();
    That should do the trick.
    Cheers Martin

  • How to pass value to popup window

    Hi all,
    I think it is simple but i am not having clear idea about this.
    In my case, i have a table in which one column contains a command link. on pressing this link i will get details for any particular row.
    now when i am not using popup and showing the details in the same page, i am getting output.
    but when i am invoking popup, then on clicking that link popup window opens and displays blank screen.
    I tried setting partial triggers on the popup to table and setting content delivery to immediate but still not getting output.= in popup window.
    Please suggest any solution.
    TIA,
    Bob

    Hi Navneeth,
    Below is my code in which i have a column Payload.
    I want to have a link "view Payload" in this column which executes a method and shows the result in a popup.
    when i am invoking popup inside the same link as in below code, it is not working.
    <af:table value="#{bindings.SerachResultVO1.collectionModel}" var="row"
    rows="#{bindings.SerachResultVO1.rangeSize}"
    emptyText="#{bindings.SerachResultVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.SerachResultVO1.rangeSize}"
    rowBandingInterval="0"
    selectionListener="#{bindings.SerachResultVO1.collectionModel.makeCurrent}"
    rowSelection="multiple" id="t1" autoHeightRows="25" width="680"
    contentDelivery="immediate">
    <af:column sortProperty="InterfaceId" sortable="true"
    headerText="#{bindings.SerachResultVO1.hints.InterfaceId.label}"
    id="c6" rendered="false">
    <af:outputText value="#{row.InterfaceId}" id="ot1">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.SerachResultVO1.hints.InterfaceId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="InstanceId" sortable="true"
    headerText="#{bindings.SerachResultVO1.hints.InstanceId.label}"
    id="c10" rendered="false">
    <af:outputText value="#{row.InstanceId}" id="ot6"/>
    </af:column>
    <af:column sortProperty="TransactionId" sortable="true"
    headerText="#{bindings.SerachResultVO1.hints.TransactionId.label}"
    id="c8" align="center" width="105">
    <af:outputText value="#{row.TransactionId}" id="ot10"/>
    </af:column>
    <af:column sortProperty="PayloadSequence" sortable="true"
    headerText="#{bindings.SerachResultVO1.hints.PayloadSequence.label}"
    id="c7" rendered="false">
    <af:outputText value="#{row.PayloadSequence}" id="ot18"/>
    </af:column>
    <af:column sortProperty="PayloadStage" sortable="true"
    headerText="#{bindings.SerachResultVO1.hints.PayloadStage.label}"
    id="c4" align="center" width="105">
    <af:outputText value="#{row.PayloadStage}" id="ot4"/>
    </af:column>
    <af:column sortProperty="CreationDate" sortable="true"
    headerText="#{bindings.SerachResultVO1.hints.CreationDate.label}"
    id="c9" align="center" width="105">
    <af:outputText value="#{row.CreationDate}" id="ot3">
    <af:convertDateTime pattern="#{bindings.SerachResultVO1.hints.CreationDate.format}"/>
    </af:outputText>
    </af:column>
    <af:column id="c12" headerText="*Payload*" align="center" width="105">
    <af:commandLink text="*view Payload*" id="cl1"
    *actionListener="#{bindings.getPayload.execute}"*
    disabled="#{!bindings.getPayload.enabled}">
    <af:setPropertyListener type="action"
    to="#{bindings.trans_id.inputValue}"
    from="#{row.TransactionId}"/>
    <af:setPropertyListener to="#{bindings.inst_id.inputValue}"
    type="action" from="#{row.InstanceId}"/>
    <af:setPropertyListener to="#{bindings.interfaceid.inputValue}"
    from="#{row.InterfaceId}" type="action"/>
    <af:setPropertyListener to="#{bindings.payload_seq.inputValue}"
    type="action"
    from="#{row.PayloadSequence}"/>
    <af:setActionListener from="#{true}"
    to="#{viewScope.resultIterator}"/>
         *<af:showPopupBehavior popupId="p1"/>*
    </af:commandLink>
    <af:popup id="p1" contentDelivery="lazyUncached"
    partialTriggers="::t1">
    <af:dialog id="d1" type="ok" resize="on" >
    <af:panelFormLayout id="pfl3" partialTriggers="::t1 c12">
    <af:panelLabelAndMessage label="#{bindings.intname.hints.label}"
    id="plam4">
    <af:outputText value="#{bindings.intname.inputValue}"
    id="ot13"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.payload_data.hints.label}"
    id="plam3">
    <af:outputText value="#{bindings.payload_data.inputValue}"
    id="ot14"/>
    </af:panelLabelAndMessage>
    </af:panelFormLayout>
    </af:dialog>
    </af:popup>
    </af:column>
    </af:table>
    but when i am invoking popup after executing method in the command link *popup*, it is giving me result. as shown in the below code:
    <af:column id="c12" headerText="*Payload*" align="center" width="105">
    <af:commandLink text="*view Payload*" id="cl1"
    *actionListener="#{bindings.getPayload.execute}"*
    disabled="#{!bindings.getPayload.enabled}">
    <af:setPropertyListener type="action"
    to="#{bindings.trans_id.inputValue}"
    from="#{row.TransactionId}"/>
    <af:setPropertyListener to="#{bindings.inst_id.inputValue}"
    type="action" from="#{row.InstanceId}"/>
    <af:setPropertyListener to="#{bindings.interfaceid.inputValue}"
    from="#{row.InterfaceId}" type="action"/>
    <af:setPropertyListener to="#{bindings.payload_seq.inputValue}"
    type="action"
    from="#{row.PayloadSequence}"/>
    <af:setActionListener from="#{true}"
    to="#{viewScope.resultIterator}"/>
    </af:commandLink>
    <af:commandLink text="*popup*" id="cl11" rendered="true">
    *<af:showPopupBehavior popupId="p1"/>*
    </af:commandLink>
    <af:popup id="p1" contentDelivery="lazyUncached"
    partialTriggers="::t1">
    <af:dialog id="d1" type="ok" resize="on" >
    <af:panelFormLayout id="pfl3" partialTriggers="::t1 c12">
    <af:panelLabelAndMessage label="#{bindings.intname.hints.label}"
    id="plam4">
    <af:outputText value="#{bindings.intname.inputValue}"
    id="ot13"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.payload_data.hints.label}"
    id="plam3">
    <af:outputText value="#{bindings.payload_data.inputValue}"
    id="ot14"/>
    </af:panelLabelAndMessage>
    </af:panelFormLayout>
    </af:dialog>
    </af:popup>
    </af:column>
    I need to have both the functionalities in the same link. please suggest how i can achieve this.
    Thanks,
    Vishal

Maybe you are looking for