Switching dynamic tabs causes loss of entered values

I am running into a fundamental issue with dynamic tabs.
When the user has multiple tabs open, and he is busy entering values in one tab, and then switches to another tab without saving the values in the first tab, the entered values in the first tab are lost when the user triggers at least one http request in the new tab. If the user switches to the new tab, does not do anything and returns immediately to the first tab, the entered values are still there. I understand that the JSF model update phase is skipped when switching tabs because immediate="true". But the apply request values phase is still performed, so the UI components should still have the submitted value. Somehow, these values get lost when a subsequent request is send while those UI components are no longer visible. I tried changing the rendered property of the regions in the page template to "visible" so the UI components are kept in the component tree, but that didn't help.
Th idea of temporarily switching to another task, similar to switching browser tabs, is undermined with this behavior because end users don't like it when some of their work is lost.
Does anybody know a solution for this problem?
Thanks,
Steven.

I think you need to use static instead of dynamic regions that way you can keep the region modification across all the tabs. The visible property on the regions some how its not working for me so I am surronding each region with PageGroupLayout and setting the visible property to it and set rendered property to region. The visible property and rendered property condition can be controlled by the tab action.

Similar Messages

  • Set_Block_Property invoke has caused the earlier enter value get disappear

    Hi all,
    I got a simple field which set to let user to enter a value and from the entered value user will need to press the button to search for the next display value. I have set when_button_pressed with set_block_property
    go_block('ot_mat_iss_head');
    Set_Block_Property('OT_MAT_ISS_HEAD', default_WHERE, 'MIH_NO = '''|| :OT_MAT_ISS_HEAD.MIH_NO1 ||''' ');
    go_block('OT_MAT_ISS_HEAD');
    execute_query;
    the above query work fine where I got the next field display with value that what I want. However, the first column that ask user to enter the value was get disappeared. How come ? How to get it display in this case ?
    Thanks.
    Regards,
    Lim

    The first column where I ask user to enter value was in the same block with the second column that display the value. Immediately, the second value get display the first value get disappeared after press on the button.This is expected. Because your non-base table item is part of the block you are querying, when you call EXECUTE_QUERY, it clears the block (including any non-base table items) and queries the selected record.
    If you want the search value to continue to be displayed in your non-base table item, then move the non-base table item to a Control block (non-base table block). Then the EXECUTE_QUERY will not affect the value of the item.
    OT_MAT_ISS_HEAD.MIH_NO1 is a non db field. If I changed to DB field when I execute the button, system will prompt to ask me whether want to save my record.Again, this is expected because Forms recognizes that you have changed a record displayed in your table. Therefore, Forms will ask you if you want to save your changes. If you want to continue to display the searched value in your non-base table item, move it to a Control block.
    Craig...

  • Dynamic Cascading Parameters - cannot select/enter parameter value

    I am rather new working with Crystal Reports and am having problems with Dynamic Cascading Parameters.
    I am using CR 2008 SP2, Version 12.2.0.290.  Data is from SQL server.
    I have a report to print labels for parts in an order.  I want to be able to enter the ShipTo ID then the contract number.  From there I would like a list of the parts on the contract and be able to select multiple parts to print labels for.
    I right clicked on Parameter Fields and chose New.  I named it ShipToContractPartNo, Type String, List of Values=Dynamic. 
    I added the values as follows:
    ShipToID - Editable, Allow Multiple=False, Allow Discrete=True (cannot be changed), Allow Range=False
    ...ContractNo - Allow Multiple=False, Allow Discrete=True (cannot be changed), Allow Range=False
    ... ...CustPartNo - Allow Multiple=True Allow Discrete=True (cannot be changed), Allow Range=False
    I added the Customer Part parameter to the label.
    When I test the label the parameter Enter Values window looks good but the drop down for Enter ShipToID does not have any ShipTo ID's to choose from and I cannot enter a value, therefore I cannot continue.  I also do not have a Cancel button and always have to end through Task Manager but that's probably a different, unrelated issue.
    I have tried this with and without entering Select Expert records.
    Could someone please tell me if I have missed a step or if there is a known issue?  I searched this site, I looked in CR Help, I referred to the book I have and I googled but have not found this speciic issue.
    Thanks in advance for your assistance.  Let me know if additional information is necessary.
    Jan

    OK.  I have rejoined/relinked all my tablesas follows (with abbreviated names for ease of reading). The actual SQL is at the end.
    ..Job_Hdr JOINED to Job_Shipto
    .....Job_Shipto JOINED to Job_Line
    ........Job_Line JOINED to Job_Bin
    ............Job_Line JOINED to Inv_Mast
    When I create a Dynamic Cascading Parameter prompt on just ContractNo (parent - from table Job_Hdr) and ShipTo (child - from table Job_ShipTo) then it gives me list of Contracts to select from and then a list of ShipTo's for that Contract to select from.  I place them in the Report Header.  I do not add them to the Select Expert.  This works great.
    Now I need to be able to select the parts necessary from the Contract/ShipTo.  When I try to create a Dynamic Cascading Parameter with ContractNo and ShipTo (set up the same as above)  and add in ContractPartNumber (from table Job_Bin) to the parameter then my ContractNo and ShipTo parameters no longer work.  It gives me only 1 contract number to choose from, which isn't the one I want.
    I have tried so many different things and I cannot get the parameters to work when I try to add PartNo into the parameters.
    Any suggestions now?
    Jan
    SELECT "p21_view_inv_mast"."item_desc", "p21_view_job_price_line"."customer_part_no", "p21_view_job_price_hdr"."contract_no", "p21_view_job_price_bin"."min_qty", "p21_view_job_price_bin"."reorder_qty", "p21_view_job_price_bin"."line_station", "p21_view_job_price_line"."row_status_flag", "p21_view_job_price_bin"."line_feed", "p21_view_job_price_bin"."row_status_flag", "p21_view_job_price_bin"."contract_bin_id"
    FROM   ((("Prophet21"."dbo"."p21_view_job_price_hdr" "p21_view_job_price_hdr"
    INNER JOIN "Prophet21"."dbo"."p21_view_job_price_customer_shipto" "p21_view_job_price_customer_shipto" ON "p21_view_job_price_hdr"."job_price_hdr_uid"="p21_view_job_price_customer_shipto"."job_price_hdr_uid")
    INNER JOIN "Prophet21"."dbo"."p21_view_job_price_line" "p21_view_job_price_line" ON "p21_view_job_price_customer_shipto"."job_price_hdr_uid"="p21_view_job_price_line"."job_price_hdr_uid")
    INNER JOIN "Prophet21"."dbo"."p21_view_job_price_bin" "p21_view_job_price_bin" ON ("p21_view_job_price_customer_shipto"."ship_to_id"="p21_view_job_price_bin"."ship_to_id") AND ("p21_view_job_price_line"."job_price_line_uid"="p21_view_job_price_bin"."job_price_line_uid"))
    INNER JOIN "Prophet21"."dbo"."p21_view_inv_mast" "p21_view_inv_mast" ON "p21_view_job_price_line"."inv_mast_uid"="p21_view_inv_mast"."inv_mast_uid"
    WHERE  "p21_view_job_price_bin"."row_status_flag"=704 AND "p21_view_job_price_line"."row_status_flag"=704
    ORDER BY "p21_view_job_price_bin"."line_feed", "p21_view_job_price_bin"."line_station"

  • Dynamic tabs based on table values

    Hi all,
    How can you display tabs dynamically based on user authorization and values in a table that contains the page id's and tab id's for example?

    based on user authorizationThat is already standard Apex functionality.
    and values in a tableYou can use jQuery to hide a tab. So, you create a tab in Apex, but hide it when necessary when running the page. Something like:
    if (<some condition>) {
       $("#tab_id").hide();
    };Put this in the "Execute when Page Loads" in the JavaScript section on the Page definition.

  • Redirection causes loss of param/attribute values

    Hello I am new to JSF and I have a few questions regarding the same .
    I am using (JSf-struts) for a web application in which I redirect a page (in the config class) .I am not able to access param/attribute values in the action class after redirection.
    Does redirection cause the loss of param values , if so what should be the remidy.
    If I want add an attribute (with session scope) how do I add it in the JSF
    can I do something like this ....
    <f:param name="datasets" scope="session" value="Master.txt" />

    Put in session
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(key,
                                                                                       obj);

  • Mixing static and dynamic content in a single outputText value causes NPEs

    Hi,
    I am having a problem and I'm wondering if it is a result of my error or if this is a bug.
    I am mixing dynamic and static content in the value attribute of tags (e.g., outputText). On initial page load, everything works fine. However, if the same view is reloaded (e.g., after a failed validation) I get an NPE from JSF:
    [#|2006-10-24T08:49:03.756-0500|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=12;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
    java.lang.NullPointerException
            at com.sun.faces.el.MixedELValueParser.getNextToken(MixedELValueParser.java:140)
            at com.sun.faces.el.MixedELValueParser.parse(MixedELValueParser.java:123)
            at com.sun.faces.el.MixedELValueBinding.getValue(MixedELValueBinding.java:60)
            at javax.faces.component.UIOutput.getValue(UIOutput.java:147)
            at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:82)
            at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:201)
            at com.sun.faces.renderkit.html_basic.LabelRenderer.encodeBegin(LabelRenderer.java:128)
            at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:683)
            at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:443)
            at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
            at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
            at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:130)
            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
            at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
            at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
            at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
            at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:130)
            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
            at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:445)
            at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
            at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:609)
            at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
            at com.sun.faces.taglib.html_basic.PanelGridTag.doEndTag(PanelGridTag.java:460)
            at org.apache.jsp.registration_jsp._jspx_meth_h_panelGrid_0(registration_jsp.java:324)
            at org.apache.jsp.registration_jsp._jspx_meth_h_form_0(registration_jsp.java:223)
            at org.apache.jsp.registration_jsp._jspx_meth_f_view_0(registration_jsp.java:157)
            at org.apache.jsp.registration_jsp._jspService(registration_jsp.java:118)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:297)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:247)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
            at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
            at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
            at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
            at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
            at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
            at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:482)
            at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417)
            at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80)
            at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313)
            at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:326)
            at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:132)
            at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
            at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
            at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:194)
            at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
            at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
            at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
            at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
            at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)My code looks like this:
    <h:outputText escape="false"
              value='<link href="#{myBean.styleSheet}" rel="stylesheet" type="text/css"  />' />If I replace this with a much more convoluted set of tags, it works:
    <h:outputText escape="false"
              value='<link href="' /><h:outputText escape="false" value="#{myBean.styleSheet}"
              /><h:outputText escape="false" value='" rel="stylesheet" type="text/css" />' />So is the problem that I am mixing dynamic and static content with a single value? If so, why does it work on the first view, and not after?
    If it matters, I'm using the reference implementation version 1.1 (as included with NetBeans 5.5RC2) on SuSE 10.0 w/ JDK 1.5_09.
    Thanks,
    Bill

    Yes, that's how I originally had it, but then changed it to the outputText approach since a single tag could do what I wanted, as long as I was allowed to mix static and dynamic content within a single value.
    I think this is a bug in JSF 1.1, since if what I am doing is illegal, it should throw an exception on the first page view, not work on first view and throw an exception on subsequent views. I'm guessing that this has something to do with the fact that on first page view it only runs the restore view and render response JSF phases, while on subsequent requests all of the phases will be run, and it's in one of those other phases that the exception is thrown.
    For now, multiple tags is the work-around, I guess.
    Thanks,
    Bill

  • Dynamic Tabs & PDF form display cause IE CPU up and PC hang

    Hi Experts,
    I create dynamic tabs and inside each tab I create interactive form with PDF data inside to display PDF. After running for a while,  the CPU goes up and PC hang. What could be the problem for this? (I'm  using IE7)
    Thanks,
    - Anthony -

    Hi Thomas,
    Thank you for your reply!
    I've re-designed it in a way that only one instance of Adobe Reader in the current selected tab. Whenever user choose another tab, I remove Adobe Reader from that tab and create in the new selected tab. The problem still exists. I don't know what and where exactly problem is. This is excerpt code in WDDOMODIFYVIEW to remove interactive form first and all tabs later. Do you see any problem with this piece of code?
    Be noted that the IE get hang only (CPU 100%) when I run it for a while, meanings select selecte items in view1 and pdf preview in view2, back to view 1 to select other items go to view2 to preview pdf....
    data: lo_f             type ref to cl_wd_interactive_form,
             lo_tabstrip  type ref to cl_wd_tabstrip,
             lo_tab        type ref to cl_wd_tab,
            ls_pdftab    type wd_this->element_pdftab.
    if lo_tabstrip->has_tabs( ) = 'X'.
        " Remove adobe reader in the old tab
        if ls_pdftab-old_tab is not initial.
          lo_tab  = lo_tabstrip->get_tab( id = ls_pdftab-old_tab ).
          if lo_tab is not initial.
            lo_f ?= lo_tab->get_content( ).
            if lo_f is not initial.
              lo_f->unset__parent( ).
              lo_f->unregister_from_view( ).
              free lo_f.
            endif.
          endif.
        endif.
        " Remove all tabs
        lo_tabstrip->remove_all_tabs( ).
      endif.
    Thanks,
    - Anthony -

  • JSF Validation failure causes entered values to be lost

    I've created a JSP that has required="true" and a requiredMessage on several elements.
    If any one element on the page fails it's validation on submit(ie was left blank), when the screen is redrawn all the entered values have disappeared.
    This is obviously not going to be acceptable to a user as there may have been 5 valid entries and one mistake, and they now have to retype every entry.
    Can anyone suggest why the form might be being cleared like this?

    I'm using reference implementation 1.2 04-b10
    I've tried using an implementation of validator and it makes no difference.
    It's the only example of an inline validator other than required, which seems to work ok.
    I've got around the problem for now by doing the validation in the method called when the user hits submit. It's not quite right as if the 'required' validation fails they get mutliple messages showing these failures, but the codeRef validation doesn't even fire until all the other validation passes.

  • Is it possible to get the 'Switch to tab' option higher when typing in the Awesome Bar?

    Hello,
    I'm currently running the latest version of Aurora and although I really like it, there's one thing that kind of annoys me. I'm often running more than 100 tabs at once, and searching all of them to find the desired tab takes a long time, therefore I'd love to use the 'Switch to tab' function, but more often than not, that option is very far down the list of suggestions, causing me to not notice them. So I'd like to know if it's possible to have this option display as one of the first suggestions, instead of putting in further down the list.
    Thanks in advance,
    xMyth

    you can also change the character within the firefox configuration: enter '''about:config''' into the firefox location bar (confirm the info message in case it shows up) & search for the preference named '''browser.urlbar.restrict.openpage'''. double-click it and change its value to any other key instead of the preconfigured %.

  • How to populate Dynamic tab page details depending upon tab details.

    I have developed a dynamic tab, using two tables, Employees and Deaprtments. using the Department table i dynamically created tab based on Department Names, and in each tab want to
    display the relevent employees.
    I am able to even run the page when it opens it displays the first department tab as "Administrator" and also displays it's employees in that tab but when i click on other tab
    i get's error "
    java.lang.NullPointerException
    ADF_FACES-60097:For more information, please see the server's error log for an entry beginning with: ADF_FACES-60096:Server Exception during PPR, #1 "
    Can any one please tell me what to do. as i am am using af:iterator.
    Thanks.

    Below is the code :
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:dvt="http://xmlns.oracle.com/dss/adf/faces">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelStretchLayout topHeight="50px" id="psl1">
    <f:facet name="top"/>
    <f:facet name="center">
    <af:panelTabbed id="pt1">
    <af:iterator id="i1"
    value="#{bindings.Departments_Inst1.collectionModel}"
    var="deptrow">
    <af:showDetailItem text="#{deptrow.DepartmentName}" id="sdi1"
    disclosureListener="#{GraphBean.onTabDisclosure}">
    <f:attribute name="rowKey" value="#{deptrow.makeCurrent}"/>
    <af:table value="#{bindings.Employees_Inst.collectionModel}"
    var="row"
    rows="#{bindings.Employees_Inst.rangeSize}"
    emptyText="#{bindings.Employees_Inst.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.Employees_Inst.rangeSize}"
    rowBandingInterval="0" id="t1">
    <af:column sortProperty="EmployeeId" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.EmployeeId.label}"
    id="c2">
    <af:inputText value="#{row.bindings.EmployeeId.inputValue}"
    label="#{bindings.Employees_Inst.hints.EmployeeId.label}"
    required="#{bindings.Employees_Inst.hints.EmployeeId.mandatory}"
    columns="#{bindings.Employees_Inst.hints.EmployeeId.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.EmployeeId.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.EmployeeId.tooltip}"
    id="it1">
    <f:validator binding="#{row.bindings.EmployeeId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.EmployeeId.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="FirstName" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.FirstName.label}"
    id="c3">
    <af:inputText value="#{row.bindings.FirstName.inputValue}"
    label="#{bindings.Employees_Inst.hints.FirstName.label}"
    required="#{bindings.Employees_Inst.hints.FirstName.mandatory}"
    columns="#{bindings.Employees_Inst.hints.FirstName.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.FirstName.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.FirstName.tooltip}"
    id="it7">
    <f:validator binding="#{row.bindings.FirstName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="LastName" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.LastName.label}"
    id="c5">
    <af:inputText value="#{row.bindings.LastName.inputValue}"
    label="#{bindings.Employees_Inst.hints.LastName.label}"
    required="#{bindings.Employees_Inst.hints.LastName.mandatory}"
    columns="#{bindings.Employees_Inst.hints.LastName.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.LastName.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.LastName.tooltip}"
    id="it4">
    <f:validator binding="#{row.bindings.LastName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="Email" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.Email.label}"
    id="c1">
    <af:inputText value="#{row.bindings.Email.inputValue}"
    label="#{bindings.Employees_Inst.hints.Email.label}"
    required="#{bindings.Employees_Inst.hints.Email.mandatory}"
    columns="#{bindings.Employees_Inst.hints.Email.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.Email.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.Email.tooltip}"
    id="it5">
    <f:validator binding="#{row.bindings.Email.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="Salary" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.Salary.label}"
    id="c6">
    <af:inputText value="#{row.bindings.Salary.inputValue}"
    label="#{bindings.Employees_Inst.hints.Salary.label}"
    required="#{bindings.Employees_Inst.hints.Salary.mandatory}"
    columns="#{bindings.Employees_Inst.hints.Salary.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.Salary.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.Salary.tooltip}"
    id="it3">
    <f:validator binding="#{row.bindings.Salary.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.Salary.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="ManagerId" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.ManagerId.label}"
    id="c7">
    <af:inputText value="#{row.bindings.ManagerId.inputValue}"
    label="#{bindings.Employees_Inst.hints.ManagerId.label}"
    required="#{bindings.Employees_Inst.hints.ManagerId.mandatory}"
    columns="#{bindings.Employees_Inst.hints.ManagerId.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.ManagerId.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.ManagerId.tooltip}"
    id="it2">
    <f:validator binding="#{row.bindings.ManagerId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.ManagerId.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="DepartmentId" sortable="false"
    headerText="#{bindings.Employees_Inst.hints.DepartmentId.label}"
    id="c4">
    <af:inputText value="#{row.bindings.DepartmentId.inputValue}"
    label="#{bindings.Employees_Inst.hints.DepartmentId.label}"
    required="#{bindings.Employees_Inst.hints.DepartmentId.mandatory}"
    columns="#{bindings.Employees_Inst.hints.DepartmentId.displayWidth}"
    maximumLength="#{bindings.Employees_Inst.hints.DepartmentId.precision}"
    shortDesc="#{bindings.Employees_Inst.hints.DepartmentId.tooltip}"
    id="it6">
    <f:validator binding="#{row.bindings.DepartmentId.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.Employees_Inst.hints.DepartmentId.format}"/>
    </af:inputText>
    </af:column>
    </af:table>
    </af:showDetailItem>
    </af:iterator>
    </af:panelTabbed>
    <!-- id="af_one_column_header_stretched" -->
    </f:facet>
    </af:panelStretchLayout>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    -- Below is the log :
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
    javax.el.ELException: java.lang.NullPointerException
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
         at org.apache.myfaces.trinidad.component.UIXShowDetail.broadcast(UIXShowDetail.java:154)
         at oracle.adf.view.rich.component.rich.layout.RichShowDetailItem.broadcast(RichShowDetailItem.java:192)
         at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NullPointerException
         at view.GraphBean.onTabDisclosure(GraphBean.java:40)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         ... 46 more
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    javax.el.ELException: java.lang.NullPointerException
         at com.sun.el.parser.AstValue.invoke(Unknown Source)
         at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
         at org.apache.myfaces.trinidad.component.UIXShowDetail.broadcast(UIXShowDetail.java:154)
         at oracle.adf.view.rich.component.rich.layout.RichShowDetailItem.broadcast(RichShowDetailItem.java:192)
         at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NullPointerException
         at view.GraphBean.onTabDisclosure(GraphBean.java:40)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         ... 46 more

  • UI Dynamic Tabs Shell - Child Taskflow not rendering / instantiated

    Hi All,
    I have had this problem, ever since rebuilding my application using Jdev 11.1.2, although I am not convinced this is a problem with Jdveloper verison.
    Basically, I have developed the UI to open new task flows as dynamic tabs, making use of the tab context API as published. The application works perfectly and I can create new dynamic tabs and close them fine.
    Once I add a data control af:table to the child taskflow however and display this, the taskflow opens fine. The weird behavior begins, after I close this, using the standard UI removecurrent tab icon (the little x to the far right of the form), I cannot re-open another task flow. A new tab is created, however the taskflow within this (one being called) does not render or instantiate.
    If I remove the table from the page fragment, normal behavior resumes.
    I am at a complete loss as to why this is occurring.
    Any insights would be great.
    I would also like to point out... no errors are written to the log, even at the Finest level. The launch method also completes successfully. If I don't close, I am only able to open a maximum of 3 tabs before the render issue occurs.
    Cheers,
    Simo
    Edited by: Simo on Oct 30, 2011 10:38 PM

    Hi Frank,
    Well you were right, this was an implementation issue, but one being caused by some different behaviour in 11.1.2. I was actually setting the tab_id dynamically after the user has selected a row, via clicking a link. The ID was returning null hence the weird tab behaviour.
    Ironically, it was actually another recent note that you have posted http://blogs.oracle.com/jdevotnharvest/entry/jdeveloper_11_1_2_command that led me to the solution!!
    So thanks inadvertently !!
    Cheers,
    Simo

  • How can I make open link in new tab cause tabs to the new tab's left to shift left rather than tabs to the new tabs right to shift right?

    When I follow a link in a new tab, the tab opens to the right of the current tab as expected. To make room for the tab on the tab bar, any tabs to the right of the current tab shift right. If there is room for all the tabs on the bar, this behavior is perfect. If however, there isn't sufficient room, some tabs must be hidden to the right or the left of the visible bar. Currently the rightmost visible tab is hidden. This behavior is suboptimal for me because I very often want to switch to tabs on the far right while I very seldom want to switch to tabs on the far left. Is there is a way to cause tabs to the left of the new tab to shift left thereby hiding the leftmost visible tab? Thanks

    I'm not aware of a way to make Firefox hide the first tab instead of the last tab; maybe there is an add-on with that feature.
    There is a hidden setting to open the new tab at the end of the bar instead of next to the page you're reading. Then, of course, you won't have this problem. Instead, you'll have the problem that it's hard to figure out which tab had that link in it. In case you want to try it out, here's how.
    (1) In a new tab, type or paste '''about:config''' in the address bar and press Enter. Click the button promising to be careful.
    (2) In the search box above the list, type or paste '''tabs''' and pause while the list is filtered
    (3) Double-click the '''browser.tabs.insertRelatedAfterCurrent''' preference to switch it from true to false (it should turn bold)
    You're done here. You can keep it open in case you hate the change and watch to switch it right back. In that case, double-click again to switch it back to true.

  • Dynamic tab not showing data

    JDev 11.1.1.4, JHS 11.1.1.3
    I have a table with a groupLink field that opens another group in a dynamic tab. When I put in some debug output I can see that the underlying view for the new dynamic tab is querying up the correct data, but when the tab opens up it says "No rows found". I have a couple of other groupLinks on other pages, one of which works, one of which gives the same result as this one. They are all setup according to the directions in the JHS developer's guide. Any insight anyone has would be appreciated.
    Here's the output from the JDev console (lines beginning with "Debug" are my output inserted into executeQuery method):
    <BreadcrumbManager> <processBreadcrumbs> Executing processBreadcrumbs for null
    <BreadcrumbManager> <loadBreadcrumbConfig> loadBreadcrumbConfig: pagePath is null
    <SetCurrentRowBean> <execute> Calling queryByKeyValue on app module with voUsage MyView1 and rowKeyValue 1028
    <JhsApplicationModuleImpl> <queryByKeyValueInternal> executing queryByKeyValueInternal(value=1028) for MyView1
    <JhsApplicationModuleImpl> <queryByKeyValueInternal> executing queryByKeyValueInternal(key=Id, value=1028) for MyView1
    Debug - execute query
    Debug - [SQL Statement]
    Debug - 1 rows found
    Debug - id of found row = 1028
    <JhsPageLifecycle> <validateRegion> Executing validateRegion for region com_pq_tracs_view_pageDefs_AccountsPageDef_WEB_INF_adfc_config_Accounts_xml_AccountsTaskFlow
    <JhsPageLifecycle> <refreshRegion> Executing refreshRegion for region com_pq_tracs_view_pageDefs_AccountsPageDef_WEB_INF_adfc_config_Accounts_xml_AccountsTaskFlow current page fragment: /AccountsTaskFlow/Accounts
    <JhsApplicationModuleImpl> <applyBindParams> Executing applyBindParams for Lookup1
    <JhsApplicationModuleImpl> <applyBindParams> ViewObject Lookup1: bind parameter values have not changed, NO Requery performed
    <JhsApplicationModuleImpl> <applyBindParams> Executing applyBindParams for Lookup2
    <JhsApplicationModuleImpl> <applyBindParams> ViewObject Lookup2: bind parameter values have not changed, NO Requery performed
    <JhsApplicationModuleImpl> <applyBindParams> Executing applyBindParams for Lookup3
    <JhsApplicationModuleImpl> <applyBindParams> No query Bind parameters passed into applyBindParams for Lookup3, do nothing
    <JhsApplicationModuleImpl> <applyBindParams> Executing applyBindParams for Lookup4
    <JhsApplicationModuleImpl> <applyBindParams> ViewObject Lookup4: bind parameter values have not changed, NO Requery performed
    <BreadcrumbManager> <processBreadcrumbs> Executing processBreadcrumbs for /AccountsTaskFlow/Accounts
    <BreadcrumbStack> <add> Adding breadcrumb to stack: "null" (/AccountsTaskFlow/Accounts)
    <BreadcrumbManager> <processBreadcrumbs> Executing processBreadcrumbs for /UIShell

    Steve,
    I think you are hitting an issue we solved in the upcoming release.
    Can you try replacing the GROUP_HAS_ROW and PARENT_GROUP_HAS_ROW macros in common.vm with the code below?
    #macro (GROUP_HAS_ROW)
    ## we need to get current row through viewObject instead of directly from iter binding
    ## otherwise a full-table query will still be performed when auto query switched off!
    ## but we only do this when auto-query switched off, otherwise in form alyout, the
    ## switcher element shows "no rows"!
    #if ($JHS.current.group.databound) #if ($JHS.current.group.autoQuery)#ITERATOR().currentRow!=null #else(#ITERATOR().viewObject!=null and #ITERATOR().viewObject.currentRow!=null)#end#else(true)#end#end
    #macro (PARENT_GROUP_HAS_ROW)
    #if ($JHS.current.group.databound && $JHS.page.group!=$JHS.current.group)#if (${JHS.current.group.parentGroup} && ${JHS.current.group.parentGroup.databound})#if ($JHS.current.group.parentGroup.autoQuery) #PARENT_ITERATOR().currentRow!=null #else (#PARENT_ITERATOR().viewObject!=null and #PARENT_ITERATOR().viewObject.currentRow!=null)#end#else true#end#else(true)#end#end
    Steven Davelaar,
    Jheadstart team.

  • How to focus and navigate the  UIShell Dynamic Tabs through keyboard

    Hi,
    I am using the UIShell which will have the Dynamic tab concept. Here i need to give the keyboard navigation for focusing and navigating between the Dynamic tabs. I have given By providing the access Key concept, By sending the tab(task flow) title preceding with the & and title am displaying through the textAndAccesKey attribute. But in dynamic tab concept, i should not use this, since am allowing the user can open same task flow more than once(with single accesskey multiple tabs will be there). is there any other possibility of quick access without using the accesskey concept like how the IE and Mozilla tab navigation will works by pressing the CTRL+TAB.
    Regards,
    Brahma...
    Edited by: Brahma on Aug 13, 2010 3:37 AM

    Hi,
    the solution is a bit ore complex, so here's the outline
    1. Create an af:serverListener on the page that can be called to send messages to a managed bean on the server (see chapter 5 of the web developer guide to learn about af:serverListener).
    2. Add the following script to a JS library that you reference from af:resource on the page
    function registerKeyBoardHandler(serverListener, afdocument) {
        _serverListener = serverListener;
        var document = AdfPage.PAGE.findComponentByAbsoluteId(afdocument);
        _document = document;
        for (var i = keyRegistry.length - 1; i >= 0; i--)
          var keyStroke = AdfKeyStroke.getKeyStrokeFromMarshalledString(keyRegistry);
    AdfRichUIPeer.registerKeyStroke(document, keyStroke, callBack);
    function callBack(keyCode) {
    var activeComponentClientId = AdfPage.PAGE.getActiveComponentId();
    //send the marshalled key code to the server listener for the developer
    //to handle the function key in a managed bean method
    var marshalledKeyCode = keyCode.toMarshalledString();
    // {AdfUIComponent} component Component to queue the custom event on
    // {String} name of serverListener
    // {Object} params a set of parameters to include on the event.
    // {Boolean} immediate whether the custom event is "immediate" - which will cause it
    // to be delivered during Apply Request Values on the server, or not immediate, in which
    // case it will be delivered during Invoke Application.
    //Note that if one of the keyboard functions is to create ADF bound rows, immediate must be set
    //to false. There is no option yet for the ClientEvent to be queued for later - InvokeApplication
    //- on the server.
    AdfCustomEvent.queue(_document,_serverListener,{keycode:marshalledKeyCode, activeComponentClientId:activeComponentClientId},false);
    //indicate to the client that the key was handled and that there
    //is no need to pass the event to the browser to handle it
    return true;
    3. The JavaScript file also contains the registry of keys you want to listen for
    var keyRegistry = new Array();
    keyRegistry[0]="F1";
    keyRegistry[1]="F2";
    keyRegistry[2]="F3";
    keyRegistry[3]="F4";
    keyRegistry[11]="alt 2";
    4. on the beforePhase property on the f:view tag of the page, reference a managed bean method like thispublic void registerKeyboardMapping(PhaseEvent phaseEvent) {
    if(phaseEvent.getPhaseId() == PhaseId.RENDER_RESPONSE){
    FacesContext fctx = FacesContext.getCurrentInstance();
    ExtendedRenderKitService erks = Service.getRenderKitService(fctx, ExtendedRenderKitService.class);
    List<UIComponent> childComponents = fctx.getViewRoot().getChildren();
    //First child component in an ADF Faces page - and the only child - is af:document
    //Thus no need to parse the child components and check for their component family
    //type
    String id = ((UIComponent)childComponents.get(0)).getClientId(fctx);
    StringBuffer script = new StringBuffer();
    script.append("window.registerKeyBoardHandler('keyboardToServerNotify','" + id +"')");
    erks.addScript(fctx, script.toString());
    The "keyboardToServerNotify" name is the name my af:serverListener component has
    5. The serverListener defined on the page<af:serverListener type="keyboardToServerNotify"
    method="#{viewScope.keyboardMappingHandler.handleKeyboardEvent}"/>
    The above codes send the marshalled string for all pressed keys (that you have registered) to the server (the method configured for the serverListener. This way you can now on the server handle the keys and the
    component the key is pressed on. To register dynamic tabs in the UI Shell (the part I did not yet implement) is to have a keyboard shortcut to register a key for a tab and then another keyboard shortcut to invoke a
    method (disclosed) on a tab is the registered key is pressed.
    Hope this helps.
    Frank
    Ps.: The full sample is part of my OOW demo (September) which I am currently preparing for. Once OOW is over and the dust has settled, I'll document the full sample and release it on ADF Coder Corner with a sample workspace to try                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Spry Dynamic Tabs - reCAPTCHA is missing when loading external php file

    Hello,
    I have solved all my problems lately on this forum.
    But now im converting my site to use Dynamic tabs, and something goes wrong.
    The dynamic tabs load content from external files. It loads html but i think something goes wrong with php and my buttons.
    You need to know ALL is working perfect on the old site.
    2 problems;
    I dont know how to convert my buttons to this new style.
    I dont know why the reCAP suddently is missing.
    Why is reCAPTCHA missing?
    SOURCE HTML (index.html);
    <?php include("PHP/form.php"); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
         <title>Wientjes Voegwerk &amp; Renovatie - Home</title>
        <meta http-equiv="Content-Language" content="NL" />
         <meta http-equiv="imagetoolbar" content="no" />
         <meta name="MSSmartTagsPreventParsing" content="true" />
        <meta name="description" content="Wientjes Voegwerk en Renovatie is een voeg- en renovatiebedrijf gespecialiseerd in gevelrenovatie. Dagelijkse werkzaamheden zijn het voegen van nieuwbouwwerk, en alle voorkomende vormen van gevelrenovatie. Ik geef uw woning, garage of schoorsteen de aandacht die het verdient en ben trots op het resultaat van mijn werk!"/>
        <meta name="keywords" content="Voegwerk, Renovatie, Reinigen, Impregneren, Muur, Voegen, Steen, Woning, Garage, Schoorsteen, Bedrijf, Gevel, Wientjes, Uitslijten, Kappen, Fundering, Vorstschade, Metselen, Metselwerk, Vocht" />
        <meta name="author" content="Rob Nijlaan" />
        <link href="CSS/Style2.css" rel="stylesheet" type="text/css" />
        <script src="JAVASCRIPT/SpryTabbedPanels.js" type="text/javascript"></script>
        <script src="JAVASCRIPT/SpryEffects.js" type="text/javascript"></script>
         <script src="JAVASCRIPT/SpryData.js" type="text/javascript"></script>
        <script src="JAVASCRIPT/xpath.js" type="text/javascript"></script>
         <script type="text/javascript">
         <!--
         function FadeAndUpdateContent(ele, url){
              try {
                   Spry.Effect.DoFade(ele,{
                        duration: 500, from: 100, to: 0, finish: function() {
                             Spry.Utils.updateContent(ele, url, function() {
                                  Spry.Effect.DoFade(ele,{ duration: 500, from: 0, to: 100 });
              catch(e){ alert(e); }
         -->
         </script>
    </head>
    <body>
    <div id="WContainer">
      <div id="WHeader" align="center"> <img src="Art/VoegenRenLos.png" width="540" height="58" alt="Voeg en Renovatiebedrijf" /><br />
        <img src="Art/WientLogo.png" width="600" height="136" alt="Wientjes Voegwerk &amp; Renovatie" /> </div>
      <script type="text/javascript">
         var dsTabs = new Spry.Data.XMLDataSet("data/data.xml", "tabs/tab");
         function loadContent(panel,url){
              Spry.Utils.updateContent(panel,url);
         Spry.Data.Region.addObserver("example1Region",dateLoadedCallback);
         function dateLoadedCallback(notificationType, notifier, data){
              if (notificationType =="onPostUpdate"){    
                   row= dsTabs.getRowByRowNumber(0)
                   if(row){
                        loadContent('0',row.url)
         </script>
      <div id="example1Region" spry:region="dsTabs">
        <div id="dynamicTabs" class="TabbedPanels">
          <ul class="TabbedPanelsTabGroup" >
            <li spry:repeat="dsTabs" class="TabbedPanelsTab" onclick="loadContent('{ds_RowID}','{url}');" tabindex="0">{title}</li>
          </ul>
          <div class="TabbedPanelsContentGroup">
            <div spry:repeat="dsTabs" id="{ds_RowID}" class="TabbedPanelsContent"></div>
          </div>
        </div>
        <script type="text/javascript">
                var t1 = new Spry.Widget.TabbedPanels("dynamicTabs");
                 </script>
      </div>
      <div id="WFooter" align="center">
        <p class="footer">Wientjes Voegwerk &amp; Renovatie     ,    03- '02       »      Site by ;    <b>Rob Nijlaan</b></p>
      </div>
    </div>
    </body>
    </html>
    Dont mind the extra javascripts they are not used for now (like SpryEffects.js) its for future use.
    SOURCE XML (data.xml);
    <?xml version="1.0" encoding="UTF-8"?>
    <tabs>
        <tab>
            <title>
              tab 1
              </title>
            <url>../data/HOME.html</url>
        </tab>
        <tab>
            <title>Tab2</title>
            <url>examples/tab2.html</url>
        </tab>
         <tab>
            <title>Tab3</title>
            <url>examples/tab2.html</url>
        </tab>
         <tab>
            <title>Tab4</title>
            <url>../PHP/form.php</url>
        </tab>
    </tabs>
    The html file loads like it should be, but the php form has problems.
    See it yourself: http://www.wientjesvoegwerk.nl/index2.html
    The tab 1 displays a html file like it should.
    The tab 4 displays the contact form but you will see the reCAPTHCA is missing.
    I have really no clue why it happens, exept maybe its a PHP issue.
    Maybe the script isnt compatible with non-html documents...
    Can someone please tell me whats the problem and if there is a solution????
    How do i change this button?
    I used this in my previous site:
    <table class="Button"  >
         <tr>
         <td style="padding-right:0px" title ="Home">
         <a href="#" title="Home" style="background-image:url(/Buttons/Home.png);width:172px;height:75px;display:block;"><br/>
         </a></td>
         </tr>
    </table>
    But the dynamic script uses {title} to get the <title> out of the xml.
    I tryd to put this straight into the title tags in the xml but obviously it wont work.
    And i really dont have a clue how to change this.
    My button has a mouseover img. Basicly its 2 buttons in 1 img stacked on top of each other.
    Like this: http://www.wientjesvoegwerk.nl/Buttons/contact.png
    Because of the CSS script it hovers to the right position.
    Part of SOURCE CSS (Style.css)
    .Button a{display:block;}
    .Button a:hover{background-position:left bottom;}
    a.Button {display:none}
    How can i change the xml and the script so "title" can be replaced with the button.
    Or how can i change the button so the mouseover works and the script still takes the button-img from the xml???
    Any help would be nice, because im finnaly in a postition to finish this site, and this is the only blockade left to conquer...

    Maybe it is not liking that the index page is an HTML page and not a PHP page. Try this way:
    In your form.php, remove the following code:
    <?php
    require_once('recaptchalib.php');
    $publickey = "6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm"; // you got this from the signup page
    echo recaptcha_get_html($publickey);
    ?>
    Replace it with:
    <script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm"></script>
        <noscript>
              <iframe src="http://api.recaptcha.net/noscript?k=6LfKNwwAAAAAAEdS6PjiDSHRQBDOYrGcM8R1eQQm" height="300" width="500" frameborder="0"></iframe><br/>
              <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
              <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
        </noscript>
    The replacement code is the same code that is outputted from the recaptchalib.php file.

Maybe you are looking for

  • Where is my purchased music in iTunes?...they are listed but not showing in the list

    I went into iTunes to check out the new "Purchased" area and found a really helpful list of artists on the left hand side.  Each one has a number next to it which I believe is the number of songs for each artist.  When I click on many of the artists

  • Dynamic text (Titles/Section titles)

    Hi, I'm diving into Keynote for the first time and am struggling with trying to figure out how to create dynamic text within my masters. I'd like to be able to have the user enter the title of the presentation on their title slide (using the title ma

  • Zen Micro screen doesn't wo

    The music plays and the backlite lights up, but the lcd pixels aren't working. I had a problem a couple of days ago where the lcd was messing up and looking real weird but after a while it sorted itself out. Now the lcd just doesn't work.

  • XPath and SQL

    Hey Guys, I have a huge XML with me which contains the data that i need to populate the database with. I was able to extract particular elements from the xml and populate the databse. I was wondering if i can use SQL quries with XPath to populate the

  • Rotate swf files

    Hi. i need to rotate swf files. I have a movie that displays logos. Currently, there are 29. We will wind up with about 140. I would like to beak it down so the viewer doesn't see the same logos over and over. I was thinking of 7 logos per movie, 20