Af:panelTabbed
I use an <af:panelTabbed> in which I have tab A and tab B. in tab A I have some inputText and in tab B I have a button which use a bean.I want that when I click on the button, values of inputText will be shown.But the problem is when write in the inputText then I switch from tab A to tab B and I click on the button, values of inputText returned are null. How can I do?
Thanks.
Hi,
Couple of questions to get clarified:
Where are you storing the inputText values(in tabA) in bean or in view object attribute?
If it is in bean, then what is the scope of the bean? Have you tried changing the scope of a bean?
Sireesha
Similar Messages
-
Af:panelTabbed not working in safari 4 & 5
Hi,
af:panelTabbed is not working in safari 4 and 5 .
On click of each tab it calls a javascript method.
the javascript method do the functionality of watermark.
The code i use for watermark is
function adf$noValueText$intialize(event) {
var component = event.getSource();
component.visitChildren(adf$noValueText$replaceEmptyWithText, null, false);
function adf$noValueText$onFocus(event) {
adf$noValueText$replaceTextWithEmpty(event.getSource());
function adf$noValueText$onBlur(event) {
adf$noValueText$replaceEmptyWithText(event.getSource());
function adf$noValueText$replaceTextWithEmpty(component) {
var noValueText = component.getProperty("noValueText");
if (typeof noValueText != 'undefined') {
var domNode = document.getElementById(component.getClientId() + "::content");
if (domNode.value == component.getProperty("noValueText")) {
domNode.value = "";
function adf$noValueText$replaceEmptyWithText(component) {
var noValueText = component.getProperty("noValueText");
if (typeof noValueText != 'undefined') {
var domNode = document.getElementById(component.getClientId() + "::content");
if (domNode.value == "") {
domNode.value = component.getProperty("noValueText");
function refresh() {
location.reload();
Can somebody tell me whether this javascript is correct and the reason why af:paneltabbed not working in safari 4 & 5 browser.
Pls reply asap.
Thanks in advance<af:panelTabbed id="pt2" >
<af:showDetailItem text="Team Members"
id="sdi2" immediate="true">
<af:clientListener method="refresh" type="disclosure"/>
<af:outputFormatted value="TEAM MEMBERS" id="of49" />
<af:subform id="s2">
<af:panelLabelAndMessage label="FIRST_AND_LAST" id="plam1"/>
<af:inputText id="it1FnLastValid" value="#{ForgotUsernameBean.initials}" required="true"
maximumLength="2" autoSubmit="true" requiredMessageDetail="ENTER_FIRST_AND_LAST">
<af:clientAttribute name="noValueText" value="Ex.AA"/>
<af:clientListener method="adf$noValueText$onFocus" type="focus"/>
<af:clientListener method="adf$noValueText$onBlur" type="blur"/>
</af:inputText>
<af:panelLabelAndMessage styleClass="label-msg" label="BIRTH_DATE(DD/YY)" id="plam2"/>
<af:inputText value="#{ForgotUsernameBean.dateOfBirth}"
requiredMessageDetail="ENTER_BIRTH_DATE"
required="true"
maximumLength="5"
autoSubmit="true" id="it1">
<af:clientAttribute name="noValueText"
value="DD/YY"/>
<af:clientListener method="adf$noValueText$onFocus"
type="focus"/>
<af:clientListener method="adf$noValueText$onBlur"
type="blur"/>
</af:inputText>
<af:panelLabelAndMessage styleClass="label-msg"
label="RESTAURANT_NUMBER"
id="RTM3"/>
<af:inputText label="" id="it3ValidnRestNo"
styleClass="errorTextForgotUN"
value="#{ForgotUsernameBean.restaurantNumber}"
required="true"
maximumLength="4"
autoSubmit="true"
requiredMessageDetail="RESTAURANT_NUMBER'">
<af:clientAttribute name="noValueText" value="****"/>
<af:clientListener method="adf$noValueText$onFocus" type="focus"/>
<af:clientListener method="adf$noValueText$onBlur" type="blur"/>
</af:inputText>
<af:panelLabelAndMessage styleClass="label-msg" label="POS_ID" id="plam3"/>
<af:inputText label="" id="it4InpPosIdValidn"
value="#{ForgotUsernameBean.posId}"
required="true"
maximumLength="4"
autoSubmit="true"
requiredMessageDetail="POS ID">
<af:validateLength minimum="3" maximum="4"
messageDetailNotInRange="POSID NOTINRANGE"/>
<af:validateRegExp pattern="[0-9]*"
messageDetailNoMatch="POSID INVALID"/>
<af:clientAttribute name="noValueText"
value="****"/>
<af:clientListener method="adf$noValueText$onFocus"
type="focus"/>
<af:clientListener method="adf$noValueText$onBlur"
type="blur"/>
</af:inputText>
<af:commandButton styleClass="pollsVote backBt"
text="#{resources['COMMON.ENTER']}"
action="#{ForgotUsernameBean.validateUserDetailsTM}"
partialTriggers="it4InpPosIdValidn it3ValidnRestNo it1FnLastValid it1"
disabled="#{ForgotUsernameBean.posId==null||ForgotUsernameBean.restaurantNumber==null||ForgotUsernameBean.dateOfBirth==null||ForgotUsernameBean.initials==null}"
id="teambutton1"/>
</af:subform>
</af:showDetailItem>
<af:showDetailItem text="RESTAURANT MANAGERS" id="sdi3" immediate="true">
<af:outputFormatted value="RESTAURANT MANAGERS" id="magH"/>
<af:subform id="s1">
<af:panelLabelAndMessage styleClass="label-msg" label="RESTAURANT NUMBER"id="m3"/>
<af:inputText label="" id="it5"
styleClass="errorTextForgotUN"
value="#{ForgotUsernameBean.rmRestaurantNumber}"
required="true"
maximumLength="4"
autoSubmit="true"
requiredMessageDetail="RESTAURANT NUMBER">
<af:clientAttribute name="noValueText"
value="****"/>
<af:clientListener method="adf$noValueText$onFocus"
type="focus"/>
<af:clientListener method="adf$noValueText$onBlur"
type="blur"/>
</af:inputText>
<af:panelLabelAndMessage styleClass="label-msg" label="BIRTH DATE(MM/DD/YYYY)" id="m9"/>
<af:inputText value="#{ForgotUsernameBean.rmdateOfBirth}"
required="true"
autoSubmit="true"
requiredMessageDetail="BIRTH DATE" id="it6" maximumLength="10">
<af:clientAttribute name="noValueText"
value="MM/DD/YYYY"/>
<af:clientListener method="adf$noValueText$onFocus"
type="focus"/>
<af:clientListener method="adf$noValueText$onBlur"
type="blur"/>
</af:inputText>
<af:panelLabelAndMessage styleClass="label-msg"
label="EMPLOYEE_ID"
id="m26"/>
<af:inputText label="" id="it7"
value="#{ForgotUsernameBean.last4DigitEmpId}"
required="true"
autoSubmit="true"
maximumLength="4"
requiredMessageDetail="EMPLOYEE_ID">
<af:clientAttribute name="noValueText"
value="****"/>
<af:clientListener method="adf$noValueText$onFocus"
type="focus"/>
<af:clientListener method="adf$noValueText$onBlur"
type="blur"/>
</af:inputText>
<af:commandButton styleClass="pgrl_loginbutton login_button floatL"
text="#{resources['COMMON.ENTER']}"
partialTriggers="it5 it6 it7"
disabled="#{ForgotUsernameBean.rmdateOfBirth==null||ForgotUsernameBean.last4DigitEmpId==null||ForgotUsernameBean.rmRestaurantNumber==null}"
action="#{ForgotUsernameBean.validateUserDetailsRM}"
id="m40"/>
</af:subform>
</af:showDetailItem>
</af:panelTabbed>
this is the code i used for paneltabbed.
refresh method is called after each showdetailitem <af:clientListener method="refresh" type="disclosure"/>
when i remove this clientlistener which calls refresh method,panel tab is working fine in safari.
But the problem is watermark functionality works only if a refresh is given
So now im stuck up.. :(
Can somebody pls provide me a soln for this issue.... ?? -
Change color of the showDetailItem in panelTabbed in 11G
Dear All,
I have to change the color of showDetailItem in panelTabbed from gray to dark blue. But when I am trying to set the color from style the color of whole panel gets changed. I want to change the color of of the tab only.
Please help its Urgent.
Thanks in advance.I was having this same problem, and found another issue with the scroll bar coloring. The ScrollBar.thumb UI property cannot use a color that has a reduced alpha value.
I wanted the JList hightlight and JScrollBar thumb to be a lighter version of the background color, but I found that the color.brighter() method returns a color that does not necessarily match the original color very well. For example, if you call it multiple times, the resulting color can be completely different. If I constructed a new color by lowing the alpha value of the original color (using the code below), the JList highlights were perfect, but the JScrollBar thumb had a large black "blob" in the middle of it.
Color c = this.getBackground(); //"this" refers to a JPanel
Color cb = new Color(c.getRed(),c.getGreen(),c.getBlue(),50); //alpha value of 50The only way to get rid of the black "blob" on the JScrollBar thumb, is to use the following line of code where you set this property:
UIManager.put("ScrollBar.thumb", new ColorUIResource(cb));Unfortunately, the ColorUIResource object does not appear to support altering the alpha value, so it strips it away, leaving you with the darker version of the color (completely negating your efforts to lighten the color).
Does anyone know how to resolve this issue? -
How can I get the panelTabbed to have a scroll bar when needed?
I have a panelTabbed with4 tabs and I want a scrollbar to appear when I shrink the size of the page down. I discovered that the tabs dissappear and there is not way to access them during some accessibility testing.
I tried inserting a panelGrouLayout around the paf:panelTabbed, but it did not help
<af:panelHeader id="ph3" text="#{acrResBundle['Header.Reports']}">
<af:panelGroupLayout id="pgl1" layout="scroll">
<af:panelTabbed id="panelTabbed1" styleClass="AFStretchWidth"
childCreation="lazy" inlineStyle="height:410px">
<af:showDetailItem disclosed="true" id="showDetailItem1"
stretchChildren="first"
text="#{resBundle['Header.TopPredictors']}">
<af:panelGroupLayout id="pgl3" layout="scroll">
<af:region id="TopDr1"
value="#{bindings.TopDriversRegion1.regionModel}"/>
</af:panelGroupLayout>
</af:showDetailItem>
Also, the outer page, which uses fnd:applicationsPanel with scroll="true", that the above is embedded in does get a scroll bar when needed by other af:panelHeader sections of the page.Looks like the problem only occurs in screenReader mode, i.e., the ">>" link does not show up at all in screenReader mode, but does show up when not using screenReader mode. I filed bug 10407797
Edited by: klaus gross on Dec 16, 2010 3:21 PM -
How to determime active panelTab in t:panelTabbedPane in tomhack My faces
I have a requirement of finding out the tab which is active and set it to the hidden varaible pref Id.
To my knowledge I know I need to write a javascript fuinction onclick() in <t:panelTabbedPane>and capture the active form. As I am new to JSF I am pretty much confused how can I accompkis this task
using java script.
Any one can help me with peice of source code would be greatly helpful.
If there is any other approach also I would welcome
</f:view>
</head>
<body>
<h:form id="FilterReportOnlineForm">
<t:panelTabbedPane id="FilterPane" bgcolor="#FFFFCC" activeTabStyleClass="editorPane_activeTab" inactiveTabStyleClass="editorPane_inactiveTab" tabContentStyleClass="editorPane_tabContent">
<t:panelTab id="allResults" label="All Contacts" title="All Contacts" >
<jsp:include page="FilterAllReport.jsp"/>
</t:panelTab>
<t:panelTab id="emailResults" label="Email Contacts" title="Email Contacts" >
<jsp:include page="CzAnnmtFilterEmailReport.jsp"/>
</t:panelTab>
<t:panelTab id="faxResults" label="Fax Contacts" title="Fax Contacts" >
<jsp:include page="CzAnnmtFilterFaxReport.jsp"/>
</t:panelTab>
<t:panelTab id="hardcopyResults" label="Hardcopy Contacts" title="Hardcopy Contacts" >
<jsp:include page="CzAnnmtFilterHardcopyReport.jsp"/>
</t:panelTab>
</t:panelTabbedPane>
<h:inputHidden id="annmtId" value="#{announcementBackingBean.annmtId}"/>
<h:inputHidden id="prefId" value="ALL" />
</h:form>
</body>
</html>
</f:view>In the source pane on the left click on "faces"
You may want to watch the iphoto tutorials - https://ssl.apple.com/findouthow/photos/
LN -
How to insert Commandbutton using paneltab in ADF Faces
hi all,
i am developing the ADF application where i created JSF page(.jspx).In that i have used the panelTabbed and dropped one VO(viewobject) as a table.I need to add one commandbutton and inputtext(any objects) after the table...But commandbutton or whatever components are not visible in the page..Please help on this.
The below code for your reference.....
<af:showDetailItem text="Add" id="sdi3">
<af:panelGroupLayout id="pgl2">
<af:table value="#{bindings.RejctVO1.collectionModel}"
var="row"
rows="#{bindings.RejctVO1.rangeSize}"
emptyText="#{bindings.RejctVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
fetchSize="#{bindings.RejctVO1.rangeSize}"
rowBandingInterval="0" id="t1">
<af:column sortProperty="RejctId" sortable="false"
headerText="#{bindings.RejctVO1.hints.RejctId.label}"
id="c2">
<af:inputText value="#{row.bindings.RejctId.inputValue}"
label="#{bindings.RejctVO1.hints.RejctId.label}"
required="#{bindings.RejctVO1.hints.RejctId.mandatory}"
columns="#{bindings.RejctVO1.hints.RejctId.displayWidth}"
maximumLength="#{bindings.RejctVO1.hints.RejctId.precision}"
shortDesc="#{bindings.RejctVO1.hints.RejctId.tooltip}"
id="it2">
<f:validator binding="#{row.bindings.RejctId.validator}"/>
<af:convertNumber groupingUsed="false"
pattern="#{bindings.RejctVO1.hints.RejctId.format}"/>
</af:inputText>
</af:column>
<af:column sortProperty="RejctDs" sortable="false"
headerText="#{bindings.RejctVO1.hints.RejctDs.label}"
id="c1">
<af:inputText value="#{row.bindings.RejctDs.inputValue}"
label="#{bindings.RejctVO1.hints.RejctDs.label}"
required="#{bindings.RejctVO1.hints.RejctDs.mandatory}"
columns="#{bindings.RejctVO1.hints.RejctDs.displayWidth}"
maximumLength="#{bindings.RejctVO1.hints.RejctDs.precision}"
shortDesc="#{bindings.RejctVO1.hints.RejctDs.tooltip}"
id="it1">
<f:validator binding="#{row.bindings.RejctDs.validator}"/>
</af:inputText>
</af:column>
</af:table>
</af:panelGroupLayout>
<af:spacer id="s1"/>
<af:commandButton text="commandButton 1" id="cb1"/>
</af:showDetailItem>
Regards
muraliHi Muralli,
First u can display the command button near to the table by surrounding the af:table by panelCollection and panelCollection has some facets... even af:table too have some facets
In panelcollection facets make use of toolbar facet
<af:panelCollection ....
<f:facet name="toolbar">
<af:toolbar id="t2">
<af:commandButton text="commandButton 1" id="cb1"/>
</af:toolbar>
</f:facet>
<af:table ....
</af:table>
</af:panelCollection>
Have look on this documents for Table and Collection
Table : http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e12419/tagdoc/af_table.html
PanelCollection : http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e12419/tagdoc/af_panelCollection.html
Regards,
Suganth.G -
How do I remove white space on top of panelTabbed
I have a menu bar on top of a panelTabbed. I would like no gap between the the content inside of the panelTabbed and the menu bar.
Even if I set the tabs to below I still have a gap.
Any ideas?
Thanks
justinHi,
skinning could help. For this you can use Firebug to identify the area and the skin selector that makes up the gap. See to learn about skinning and how to debug it: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf-insider-skinning/adf-insider-skinning.html
Frank -
Help sizing panelTabbed components - how do I get it to 100% height
firefox 2.0.0.4
Is there any trick to getting a panelTabbed component to size itself (height and width) smartly? By default it always seems to be approx 200 pixels by 200 pixels, even if its children are bigger and even if I add my panelTabbed to a panelStretchLayout.
When I try to force the height of my panelTabbed to 100%, I get wierd results. For instance, the entire panelTabbed component disappears (I can't find it in my browser, almost as if the height gets set to zero).
When I look at the FusionOrderDemo home.jspx example, it looks like the author is hardcoding the panelTabs as a fixed height in pixels.
Has anyone figured out any tricks for getting panelTabbed componets to use a % of the screen?
I want to have a way that my panelTabbed component takes up as much space as my browser allows.
Thanks,
daveThis is the code for the page:
<af:form>
<af:panelGroupLayout inlineStyle="position:absolute">
<af:table value="#{bindings.EmployeeView1.collectionModel}" var="row"
rows="#{bindings.EmployeeView1.rangeSize}"
first="#{bindings.EmployeeView1.rangeStart}"
emptyText="#{bindings.EmployeeView1.viewable ? 'No rows yet.' : 'Access Denied.'}"
fetchSize="#{bindings.EmployeeView1.rangeSize}"
inlineStyle="width:100%; height:100%;">
<af:column sortProperty="EmpId" sortable="false"
headerText="#{bindings.EmployeeView1.hints.EmpId.label}">
<af:outputText value="#{row.EmpId}">
<af:convertNumber groupingUsed="false"
pattern="#{bindings.EmployeeView1.hints.EmpId.format}"/>
</af:outputText>
</af:column>
<af:column sortProperty="FName" sortable="false"
headerText="#{bindings.EmployeeView1.hints.FName.label}">
<af:outputText value="#{row.FName}"/>
</af:column>
<af:column sortProperty="LName" sortable="false"
headerText="#{bindings.EmployeeView1.hints.LName.label}">
<af:outputText value="#{row.LName}"/>
</af:column>
</af:table>
</af:panelGroupLayout>
</af:form>
Well this is not the scenario I’m looking for, what I need to do is to place a table inside of a panel group and that panel group to be inside a panel splitter, actually the table shows up fine, but I just need to remove the box that surround it i.e the table size to fit with the surrounding box. So when I set the table width & height to 100% the table rows are not shown. -
Apply custom style to the first tab of af|panelTab component
Hi,
Could anyone please advice me how to apply custom style to the first and last tabs of af|panelTab component.
For eg- If I have 6 tabs and I want tab1 and tab6 to be in Red and rest of the tabs in blue, what should I add. Please advice.
Regards
Jeffry Roy
Edited by: Jeffry on Mar 8, 2011 4:45 AMHi Rishit,
Please let me know if you have applied Fix pacK3 for Xcelsius.
I have seen this issue in FP2, which got fixed in FP3. The workaround you can try is including a blank cell.
Thanks,
Amit. -
Submit data of all tab in panelTabbed
Hi all,
I have a problem with af:panelTabbed. When I click the submit button, there is only data of current select tab were submit to the server.
I wonder that, we can submit all data in all tab of panelTabbed to the server or not?
Do you have any idea about it?
Thanks a lot!Hi "in the line of fire",
In my situation, I can't using AM. So, we can have other way to do that?
Thanks so much! -
Jdev 11.1.14
My page has a paneltabbed with two tabs.
In each tab I have a region with jsff (page fragments).
When I run the application, tab 1 displays. It has some fields that are mandatory (because they are defined this way in the entity object).
When I click in the sacond tab, a mandatory validation error raises. I don't want this to happen because I just want to go to the second tab that is a diferrent screen and I want to do nothing with the first tab.
I have tried to modify the pagedef with skipvalidation=true but I get exactly the same error.
Then I have changed the mandatory definition in the entity object and made the field optional. It works ok (but then it never validates !). Then I have put a client validation (mandatory=yes in the property inspector). Even with immediate=true in the showdetalitem of the panetabbed, I continue getting the mandatory error if I try to change the tab.
I need the field to be normally validated as mandatory except if I click in the second tab of the paneltabbed. How can I do ?I have put it in both tabs but it doesn't work in my use case. I can send you the piece of code if you like.
This is the definition of the "mandatory field" (remember that it is inside a page fragment):
<af:selectOneChoice value="#{bindings.SvagrCodigo.inputValue}"
label="#{viewcontrollerBundle['ALU.SVAGRCODIGO']}"
required="#{bindings.SvagrCodigo.hints.mandatory}"
shortDesc="#{bindings.SvagrCodigo.hints.tooltip}"
binding="#{backingBeanScope.AluCertIniBB.soc2}"
id="soc2"
valueChangeListener="#{backingBeanScope.AluCertIniBB.soc1_changeListener}"
autoSubmit="true" immediate="true">
and this is the panltabbed (whose showDetailItem display the regions where the page fragments are):
<af:panelTabbed id="pt2">
<af:showDetailItem text="#{viewcontrollerBundle['ALU.CERTIFICADOS']}" id="sdi1"
stretchChildren="first" immediate="true">
<af:region value="#{bindings.AlumnosSolCertificados1.regionModel}"
id="r1"/>
</af:showDetailItem>
<af:showDetailItem text="#{viewcontrollerBundle['ALU.COMPULSAS']}" id="sdi2"
immediate="true">
<af:region value="#{bindings.AluComp1.regionModel}" id="r2"/>
</af:showDetailItem>
</af:panelTabbed>
It doesn't work.
If this field is declared as mandatory in the entity object, an error alert is displayed when trying to move from tab 1 to the second.
Edited by: user10867691 on 09-jul-2012 4:56 -
Deactivating region (taskflow) when changing showDetailItem in panelTabbed
Jdev 11.1.1.4
I have a JSF page with a af:panelTabbed wiith two af:showDetailItem
In every af:showDetailItem I have a region mapping to the same task flow in both regions (in order to reuse).
The taskflow has to main steps: First one method call initializing some view objects and variables. the second a view displaying a JSF.
Every time the af:showDetailItem is changed (by clicking on the tab) I need the taskflow to be restarted and begin a new fresh copy of it.
To achieve this I have defined both af:showDetailItem like this
<af:showDetailItem text="#{viewcontrollerBundle['ALU.CERTIFICADOS']}" id="sdi1"
stretchChildren="first" immediate="true"
binding="#{backingBeanScope.pertanasSolCertCompBB.sdi1}"
*disclosureListener="#{backingBeanScope.pertanasSolCertCompBB.sdi1_disclosureListener}"*
partialTriggers="r1">
and
<af:showDetailItem text="#{viewcontrollerBundle['ALU.COMPULSAS']}" id="sdi2"
immediate="true"
binding="#{backingBeanScope.pertanasSolCertCompBB.sdi2}"
*disclosureListener="#{backingBeanScope.pertanasSolCertCompBB.sdi2_disclosureListener}"*
stretchChildren="first" partialTriggers="r2">
The sdi1_disclosureListener is defined:
public void sdi1_disclosureListener(DisclosureEvent disclosureEvent) {
activacionRegion activeRegionBean = (activacionRegion)resolveELExpression("#{activacionRegion}");
if (disclosureEvent.isExpanded()) {
activeRegionBean.setRegionCertificadosActivation(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(r1);
AdfFacesContext.getCurrentInstance().addPartialTarget(r2);
else activeRegionBean.setRegionCertificadosActivation(false);
the sdi2_disclosureListener is defined more or less the same but opposite:
public void sdi2_disclosureListener(DisclosureEvent disclosureEvent) {
activacionRegion activeRegionBean = (activacionRegion)resolveELExpression("#{activacionRegion}");
if (disclosureEvent.isExpanded()) {
activeRegionBean.setRegionCompulsasActivation(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(r2);
AdfFacesContext.getCurrentInstance().addPartialTarget(r1);
else activeRegionBean.setRegionCompulsasActivation(false);
The activeRegionBean.setRegionCompulsasActivation(false); and activeRegionBean.setRegionCertificadosActivation(false); is a bean controlling the binding of the regions in the page:
<taskFlow id="AlumnosSolCertificados1"
taskFlowId="/WEB-INF/Aumnos/AlumnosSolCertificados.xml#AlumnosSolCertificados"
activation="conditional"
xmlns="http://xmlns.oracle.com/adf/controller/binding"
active="#{activacionRegion.regionCertificadosActivation}">
<parameters>
<parameter id="TipoPantalla"
xmlns="http://xmlns.oracle.com/adfm/uimodel"
value="CERTIFICADOS"/>
</parameters>
</taskFlow>
and
<taskFlow id="AlumnosSolCertificados2"
taskFlowId="/WEB-INF/Aumnos/AlumnosSolCertificados.xml#AlumnosSolCertificados"
activation="conditional"
xmlns="http://xmlns.oracle.com/adf/controller/binding"
active="#{activacionRegion.regionCompulsasActivation}">
<parameters>
<parameter id="TipoPantalla"
xmlns="http://xmlns.oracle.com/adfm/uimodel"
value="COMPULSAS"/>
</parameters>
</taskFlow>
All this works ok when I click on B showdetailitem after intially having shown A. The task flow first terminates and then initiates a new taskflow.
But when I reactivate showdetailitem A clicking on it, the taskflow is first activated and then deactivated loosing all its initialization.
The problem is that ADF first executes always the conditional activation of the first showdetailitem and the the conditional activation of the second showdetailitem what is ok in one sense but not on the other because it closes the taskflow after having been opened.
Do I have any way to avoid this and control that the taskflow is always first deactivated and then activated ?Jdev 11.1.1.4
I have a JSF page with a af:panelTabbed wiith two af:showDetailItem
In every af:showDetailItem I have a region mapping to the same task flow in both regions (in order to reuse).
The taskflow has to main steps: First one method call initializing some view objects and variables. the second a view displaying a JSF.
Every time the af:showDetailItem is changed (by clicking on the tab) I need the taskflow to be restarted and begin a new fresh copy of it.
To achieve this I have defined both af:showDetailItem like this
<af:showDetailItem text="#{viewcontrollerBundle['ALU.CERTIFICADOS']}" id="sdi1"
stretchChildren="first" immediate="true"
binding="#{backingBeanScope.pertanasSolCertCompBB.sdi1}"
*disclosureListener="#{backingBeanScope.pertanasSolCertCompBB.sdi1_disclosureListener}"*
partialTriggers="r1">
and
<af:showDetailItem text="#{viewcontrollerBundle['ALU.COMPULSAS']}" id="sdi2"
immediate="true"
binding="#{backingBeanScope.pertanasSolCertCompBB.sdi2}"
*disclosureListener="#{backingBeanScope.pertanasSolCertCompBB.sdi2_disclosureListener}"*
stretchChildren="first" partialTriggers="r2">
The sdi1_disclosureListener is defined:
public void sdi1_disclosureListener(DisclosureEvent disclosureEvent) {
activacionRegion activeRegionBean = (activacionRegion)resolveELExpression("#{activacionRegion}");
if (disclosureEvent.isExpanded()) {
activeRegionBean.setRegionCertificadosActivation(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(r1);
AdfFacesContext.getCurrentInstance().addPartialTarget(r2);
else activeRegionBean.setRegionCertificadosActivation(false);
the sdi2_disclosureListener is defined more or less the same but opposite:
public void sdi2_disclosureListener(DisclosureEvent disclosureEvent) {
activacionRegion activeRegionBean = (activacionRegion)resolveELExpression("#{activacionRegion}");
if (disclosureEvent.isExpanded()) {
activeRegionBean.setRegionCompulsasActivation(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(r2);
AdfFacesContext.getCurrentInstance().addPartialTarget(r1);
else activeRegionBean.setRegionCompulsasActivation(false);
The activeRegionBean.setRegionCompulsasActivation(false); and activeRegionBean.setRegionCertificadosActivation(false); is a bean controlling the binding of the regions in the page:
<taskFlow id="AlumnosSolCertificados1"
taskFlowId="/WEB-INF/Aumnos/AlumnosSolCertificados.xml#AlumnosSolCertificados"
activation="conditional"
xmlns="http://xmlns.oracle.com/adf/controller/binding"
active="#{activacionRegion.regionCertificadosActivation}">
<parameters>
<parameter id="TipoPantalla"
xmlns="http://xmlns.oracle.com/adfm/uimodel"
value="CERTIFICADOS"/>
</parameters>
</taskFlow>
and
<taskFlow id="AlumnosSolCertificados2"
taskFlowId="/WEB-INF/Aumnos/AlumnosSolCertificados.xml#AlumnosSolCertificados"
activation="conditional"
xmlns="http://xmlns.oracle.com/adf/controller/binding"
active="#{activacionRegion.regionCompulsasActivation}">
<parameters>
<parameter id="TipoPantalla"
xmlns="http://xmlns.oracle.com/adfm/uimodel"
value="COMPULSAS"/>
</parameters>
</taskFlow>
All this works ok when I click on B showdetailitem after intially having shown A. The task flow first terminates and then initiates a new taskflow.
But when I reactivate showdetailitem A clicking on it, the taskflow is first activated and then deactivated loosing all its initialization.
The problem is that ADF first executes always the conditional activation of the first showdetailitem and the the conditional activation of the second showdetailitem what is ok in one sense but not on the other because it closes the taskflow after having been opened.
Do I have any way to avoid this and control that the taskflow is always first deactivated and then activated ? -
Simple question about af:panelTabbed and required="true"
Hello,
I have a component af:panelTabbed with four tabs:
In the fourth tab i have an af:inputText with the tag required="true"
The problem is: The required is only applied if i am at the fourth tab (where the inputText is on).
If i am at first tab, the form is commited and the required is not applied.
Any help, please ?
Victor JaburTo complement, here is my jspx and my Managed Bean:
When i click at cb1 button, the focus would have to go for tab4, but the partial refresh doesn't work. If i use the refreshPage() method posted above, the focus works, but as mentioned, it's not web 2.0 common use.
JSPX:
<?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">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document id="d1" title="Test Tab Component">
<af:form id="fm1">
<af:commandButton id="cb1" text="Execution Action" action="#{myBean.executeAction}" partialSubmit="true"/>
<af:panelTabbed id="ptab" styleClass="AFStretchWidth">
<af:showDetailItem id="tab1" text="Tab 1"/>
<af:showDetailItem id="tab2" text="Tab 2"/>
<af:showDetailItem id="tab3" text="Tab 3"/>
<af:showDetailItem id="tab4" text="Tab 4" binding="#{myBean.tab4}" clientComponent="true">
<af:inputText id="it1" label="Input Text" binding="#{myBean.inputText}" clientComponent="true"/>
</af:showDetailItem>
</af:panelTabbed>
</af:form>
</af:document>
</f:view>
</jsp:root>
Managed Bean:
package com.test;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import oracle.adf.view.rich.component.rich.input.RichInputText;
import oracle.adf.view.rich.component.rich.layout.RichShowDetailItem;
import oracle.adf.view.rich.context.AdfFacesContext;
public class MyBean {
private RichInputText inputText = new RichInputText();
private RichShowDetailItem tab4 = new RichShowDetailItem();
public void executeAction(){
if(this.inputText != null){
if (this.tab4 != null) {
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Enter a value", "");
context.addMessage(this.inputText.getClientId(context), facesMsg);
this.inputText.setValid(false);
this.tab4.setDisclosed(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(this.inputText);
AdfFacesContext.getCurrentInstance().addPartialTarget(this.tab4);
//AdfFacesContext.getCurrentInstance().partialUpdateNotify(this.inputText);
//AdfFacesContext.getCurrentInstance().partialUpdateNotify(this.tab4);
public void setInputText(RichInputText inputText) {
this.inputText = inputText;
public RichInputText getInputText() {
return inputText;
public void setTab4(RichShowDetailItem tab4) {
this.tab4 = tab4;
public RichShowDetailItem getTab4() {
return tab4;
} -
Unable to switch between Tabs in a af:panelTabbed component
Hi all,
Good Day,
I am working on a POC which has 6 tabs in an af:panelTabbed component. All the tabs (af:showDetailItem components) are with the default properties.
While running the application it is working fine till one or two tab clicks but after clicking on 1 or 2 tabs , with the next tab click the application seems to be not responding
and I am getting the below error in the server logs.
*<UIXShowDetail> <broadcast> Event org.apache.myfaces.trinidad.event.DisclosureEvent[phaseId=INVOKE_APPLICATION 5,component=RichShowDetailItem[UINodeFacesBean, id=sdi4],expanded=true] was delivered to a showDetail already in that disclosure state.*
I am not sure what would have gone wrong. Please help me in this.
Thanks In Advance.Hi paramu,
Thanks for your help. I haven't created bindigs for af:showDetailItem.
and in each tab I have created some tables from datasource and Name of each tab is different.
Regards
Phanindra. -
Paneltab always remember user prev selection but not programmatic disclosed
Hi,
Like the similar post Programmatic disclosure of showDetailItem under panelTabbed i would like the tab to be selected / disclosed based on the button the user click.
I have a paneltabbed component in a page called site which consists of 3 showdetailframe components ..let's call it as (tab1,tab2,tab3) . I have a button (go to site) in entirely different page called plot which should navigate to site page and open tab3 by default.
This works fine, for the first time. But let's say if user explictly clicked tab2 and then gone to plot page, click GoToSite button which navigates to Site page, but remembers the last selection user has made and selecting tab2 by default.
I have the following method in site page taskflow which is called always and evaluates the value which i set in the request scope on clicking GoToSite button.
public void setCopyPlotTabOnSiteDetails()
FacesContext context = FacesContext.getCurrentInstance();
Map request = context.getCurrentInstance().getExternalContext().getRequestMap();
Boolean copyPlotFlag = (Boolean)request.get("copyPlotReq");
if (Boolean.TRUE.equals(copyPlotFlag) && panelTab != null)
List<UIComponent> element = panelTab.getChildren();
for (UIComponent child : element)
RichShowDetailItem sdi = (RichShowDetailItem)child;
if ("sdi2".equals(sdi.getId()))
sdi.setDisclosed(true);
_addAttributeChange(sdi, "disclosed", true);
AdfFacesContext.getCurrentInstance().addPartialTarget(sdi);
else
sdi.setDisclosed(false);
_addAttributeChange(sdi, "disclosed", false);
AdfFacesContext.getCurrentInstance().addPartialTarget(sdi);
AdfFacesContext.getCurrentInstance().addPartialTarget(siteDetails);
AdfFacesContext.getCurrentInstance().addPartialTarget(panelTab);
After following the post Programmatic disclosure of showDetailItem under panelTabbed i added this method call addAttributeChange
private static void _addAttributeChange(UIComponent uic, String attribName,
Object attribValue) {
try
FacesContext fc = FacesContext.getCurrentInstance();
ChangeManager cm = RequestContext.getCurrentInstance().getChangeManager();
ComponentChange cc = new AttributeComponentChange(attribName, attribValue);
cm.addComponentChange(fc, uic, cc);
catch (Exception e)
// TODO: Add catch code
e.printStackTrace();
But is giving NullPointerException on ChangeManager.
Even otherwise, i have removed the option Enable User Customizations from my View Project (checked in web.xml) and removed the ShowDetailFrame tag in Adf-config.xml. Put the disclosed property in DontPersist attribute of all those showdetail frame components. But nothing worked, i face the same issues...Can any one please help me?
Regards
PrabhuHi,
why do you work so cmplicated. Wouldn't it be simpler to point the disclosed property to a managed bean that then evaluates whether true/false should be returned instead of parsing the component tree? The managed bean would need to be in viewScope. Also note that a request parameter should be read by a pahse listener (f:view afterMethod listening to RESTORE_VIEW) because the ADF Faces page is not rendered in a single round trip but deferred by default which means that subsequent requests are issued. So the first request will be intercepted and then the value added to a bean or attribute in view scope for use by the tabs.
Another cause of error we frequently see is that personalization is enabled (with or witjout MDS) in which case the tab selection is saved as personalizes setting.
Also have a look at: http://docs.oracle.com/cd/E23943_01/apirefs.1111/e12419/tagdoc/af_showDetailItem.html
See: disclosedTransient and disclosed property and how to use them
Frank -
Some thing taht I want to understand in Css in ADF in panelTabbed
I want to make style to panel tabbed when I hove a tab
so I wrote
af|panelTabbed::tab-content:hover{
background-image: url("../img/tab1.png");
vertical-align: middle;
text-align: center;
width: 170px;
}But this didn't work
but When I used
af|panelTabbed::tab:hover af|panelTabbed::tab-content{
background-image: url("../img/tab1.png");
vertical-align: middle;
text-align: center;
width: 170px;
}This worked with no problem
but I want to understand this
This line
af|panelTabbed::tab-content:hover
makes sense
but this line
af|panelTabbed::tab:hover af|panelTabbed::tab-content
dont't make sense
I want to understand this to be able to make my custom skin
and what is the meaning of writing
af|panelTabbed::tab:hover af|panelTabbed::tab-content
without comma ","between them
what this meansThis thread is a duplicate of {thread:id=2175114}
Maybe you are looking for
-
How can I create more than one printer queue for a printer
I would like to have more than one "default" setting for my printer. This is so I can use a 3rd party print utility (fingerprint) to print to a non-airprint printer from my ipad. The utility prints using the default configuration. I don't need to
-
How to restore mac to single partition?
Im shure this question has been aked before, however I am unable to find an anser to my specific problem. I am trying to restore to a single OS X Mountain Lion patition on a iMac mid 2011 after allocating 300 GB to a seperat partition for Ubuntu. Th
-
Why are all my songs now classified as 'Other' and not visible on my phone any more?
Here's an idea of what's happened recently; Got a new a computer and set up my iTunes library no problem, had access to all the same music I had on my old PC. Just added a new album to my iTunes library, which also worked fine, but when I tried to sy
-
How to make the location of an iPhone that was stolen?
how to make the location of an iPhone that was stolen?
-
Leopord Users with intermittent access problems
We have intermittent issues with network users on two separate servers not being able to login, or loading the wrong group permissions from the server. We have tried deleting /Library/Managed Preferences on the local machine to force reloading,and it