subTable, dataTabel and tooltip problems
mgenov1 Sep 24, 2007 2:09 PMHello guys, I have found some problems (in versiond 3.1.1-SNAPSHOT and 3.1.0 )
1. subTable problem.
When a subTable component is used ( 3.1.0 version ) all looks like a charm. After version is changed from 3.1.0 to 3.1.1-SNAPSHOT things looks different and the subtable borders aren't shown correctly.
2. toolTip with datatable.
When user enters the page for the first time and goes over a row which has a tooltip that looks like an empty box.
3. There is a problem with rendering of any of components. This is the error message which firefox is displaying when I'm trying to open the page.
XML Parsing Error: not well-formed Location: http://localhost:8080/agreement-web/pages/agreementsView.jsf Line Number 96, Column 123:<script type="text/javascript" language="Javascript">function dpf(f) {var adp = f.adp;if (adp != null) {for (var i = 0;i < adp.length;i++) {f.removeChild(adp);}}};function apf(f, pvp) {var adp = new Array();f.adp = adp;var ps = pvp.split(',');for (var i = 0,ii = 0;i < ps.length;i++,ii++) {var p = document.createElement("input");p.type = "hidden";p.name = ps;p.value = ps[i + 1];f.appendChild(p);adp[ii] = p;i += 1;}};function jsfcljs(f, pvp, t) {apf(f, pvp);var ft = f.target;if (t) {f.target = t;}f.submit();f.target = ft;dpf(f);};</script>
And also the full page source
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" xmlns:rich="http://richfaces.ajax4jsf.org/rich" xmlns:fn="http://java.sun.com/jsp/jstl/functions" xmlns:agr="http://agreements.com/agr"> <ui:composition template="/templates/agreements.xhtml"> <ui:define name="mainPage"> <a4j:outputPanel id="errorsPanel"> <h:messages /> </a4j:outputPanel> <h1>????????</h1> <br /> <h:form id="agreementsForm"> <table width="100%"> <tr> <td align="center"><a4j:outputPanel id="dataPanel"> <table> <tr> <td align="center">?????</td> <td align="center"> <h:selectOneMenu id="nameChangeButton" value="#{agreementView.nameState}"> <f:selectItems value="#{agreementView.nameStates}" /> <a4j:support event="onchange" reRender="dataPanel,agreementList,agreementScroller" action="#{agreementView.change}"/> </h:selectOneMenu> </td> <td align="center">?????</td> <td align="center">?.K. #</td> <td align="center"> <h:selectOneMenu id="personalChangeButton" value="#{agreementView.personalState}"> <f:selectItems value="#{agreementView.personalStates}" /> <a4j:support event="onchange" reRender="dataPanel,agreementList,agreementScroller" action="#{agreementView.change}"/> </h:selectOneMenu> </td> <td align="center">???</td> <td align="center">??? #</td> <td align="center"> <h:selectOneMenu id="ipMacChangeButton" value="#{agreementView.accountState}"> <f:selectItems value="#{agreementView.accountStates}" /> <a4j:support event="onchange" reRender="dataPanel,agreementList,agreementScroller" action="#{agreementView.change}" /> </h:selectOneMenu></td> </tr> <tr> <td><h:inputText id="searchIngoingNumber" value="#{searchBean.ingoingNumber}" size="6"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText></td> <td> <h:inputText id="searchName" value="#{searchBean.name}" rendered="#{agreementView.nameState == 'FIRSTNAME'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText> <h:inputText id="searchCompanyName" value="#{searchBean.companyName}" rendered="#{agreementView.nameState == 'COMPANY'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText> <h:inputText id="searchLastName" value="#{searchBean.lastName}" rendered="#{agreementView.nameState == 'LASTNAME'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText> </td> <td><h:inputText id="searchStreet" value="#{searchBean.street}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText></td> <td><h:inputText id="searchCardNumber" value="#{searchBean.cardNumber}" size="6"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText></td> <td> <h:inputText id="searchEmail" value="#{searchBean.email}" size="6" rendered="#{agreementView.personalState == 'EMAIL'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText> <h:inputText id="searchMobile" value="#{searchBean.mobile}" size="6" rendered="#{agreementView.personalState == 'GSM'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText> <h:inputText id="searchTelephone" value="#{searchBean.telephone}" size="6" rendered="#{agreementView.personalState == 'TELEPHONE'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText> </td> <td><h:inputText id="searchVatId" value="#{searchBean.vatId}" size="8"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText></td> <td><h:inputText id="searchTaxId" value="#{searchBean.taxId}" size="8"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="250" /> </h:inputText></td> <td> <h:inputText id="searchIp" value="#{searchBean.ip}" size="13" rendered="#{agreementView.accountState == 'IP'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="2500" /> </h:inputText> <h:inputText id="searchMAC" value="#{searchBean.mac}" size="13" rendered="#{agreementView.accountState == 'MAC'}"> <a4j:support event="onkeyup" reRender="agreementList,agreementScroller" action="#{agreementView.search}" requestDelay="2500" /> </h:inputText> </td> </tr> </table> </a4j:outputPanel></td> </tr> <tr> <td colspan="5" align="center"><t:buffer into="#{table}"> <a4j:region id="agreementViewRegion"> <rich:dataTable width="80%" id="agreementList" rows="5" value="#{agreementView.allAgreements}" var="agr"> <f:facet name="header"> <rich:columnGroup> <rich:column styleClass="headerText" colspan="8"> <h:outputText value="????????" /> </rich:column> <rich:column breakBefore="true"> <h:outputText styleClass="headerText" value="?????" /> </rich:column> <rich:column> <h:outputText styleClass="headerText" value="???" /> </rich:column> <rich:column> <h:outputText styleClass="headerText" value="???/?.?????" /> </rich:column> <rich:column colspan="5"> <h:outputText styleClass="headerText" value="???????" /> </rich:column> </rich:columnGroup> </f:facet> <rich:column> <h:outputText value="#{agr.ingoingNumber}" /> </rich:column> <rich:column> <h:outputText rendered="#{agr.client.clientType == 0}" value="#{agr.client.firstname} #{agr.client.family}" /> <h:outputText rendered="#{agr.client.clientType == 1}" value="#{agr.client.firmtype.firmtype} #{agr.client.firmName}" /> </rich:column> <rich:column> <h:outputText rendered="#{agr.client.clientType == 0}" value="#{agr.client.egn}" /> <h:outputText rendered="#{agr.client.clientType == 1}" value="#{agr.client.taxid}" /> </rich:column> <rich:column colspan="6" align="right"> <h:commandLink style="defaultLinkStyle" action="#{agreementView.viewAppendixes}" rendered="#{agr:isActionAllowed('viewAppendixes')}"> <h:graphicImage value="/images/document.png" alt="???????????" /> </h:commandLink> <h:commandLink style="defaultLinkStyle" action="#{agreementView.editAgreement}" rendered="#{agr:isActionAllowed('editAgreement')}"> <h:graphicImage value="/images/edit.gif" alt="???????????" /> </h:commandLink> <h:commandLink style="defaultLinkStyle" action="#{agreementView.printAgreement}" rendered="#{agr:isActionAllowed('printAgreement')}"> <h:graphicImage value="/images/print.gif" alt="?????" /> </h:commandLink> </rich:column> <rich:subTable var="adr" value="#{agr.client.addressesAsList}"> <rich:column> <f:facet name="header"> <rich:spacer /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.account.username}"></h:outputText> <f:facet name="header"> <h:outputText value="User" /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.telephone}"></h:outputText> <f:facet name="header"> <h:outputText value="???????" /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.mobile}"></h:outputText> <f:facet name="header"> <h:outputText value="???????" /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.street.streetname} ##{adr.streetnumber} #{adr.floor != '' ? '??:':''} #{adr.floor} #{adr.entrance != '' ? '??:':''} #{adr.entrance} #{adr.appartmentnumber != '' ? '??:':''} #{adr.appartmentnumber}"></h:outputText> <f:facet name="header"> <h:outputText value="?????" /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.account.ip}"></h:outputText> <f:facet name="header"> <h:outputText value="IP" /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.account.mac}"></h:outputText> <f:facet name="header"> <h:outputText value="Mac" /> </f:facet> </rich:column> <rich:column> <h:outputText value="#{adr.contactname}"></h:outputText> <f:facet name="header"> <h:outputText value="???? ?? ???????" /> </f:facet> </rich:column> </rich:subTable> </rich:dataTable> </a4j:region> </t:buffer> <rich:datascroller id="agreementScroller" for="agreementList" maxPages="20" scrollerListener="#{agreementView.listen}" stepControls="false" fastControls="hide" /> <h:outputText value="#{table}" escape="false" /></td> </tr> </table> </h:form> <rich:modalPanel id="addScreen" minHeight="200" minWidth="250" height="200" width="250" zindex="2000"> <f:facet name="header"> <h:outputText value="???????? ?? ??????????" /> </f:facet> <f:facet name="controls"> <h:graphicImage value="/images/minus.gif" style="cursor:pointer" onclick="Richfaces.hideModalPanel('mp')" /> </f:facet> <h:form id="streetAddingForm"> <a4j:outputPanel id="streetPanel"> </a4j:outputPanel> </h:form> </rich:modalPanel> </ui:define> </ui:composition> </html>
The screen shots of bugs #1 and #2 are at http://matrix.evo.bg/~matrix/screenshot/