[JBoss JIRA] Created: (RF-5054) ScrollableDataTable. Autoscroll Problem. Selection-Problem.
by Buttau Alexander (JIRA)
ScrollableDataTable. Autoscroll Problem. Selection-Problem.
-----------------------------------------------------------
Key: RF-5054
URL: https://jira.jboss.org/jira/browse/RF-5054
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.0
Environment: Apache Tomcat 6.0.16 Server
Eclipse 3.3.2
Java 1.6
Windows XP SP3
RichFaces 3.3.0-20081124.104647-77
Reporter: Buttau Alexander
I have detected two problems concerning ScrollableDataTable.
I have created a Project that recreates these two problems. The project has only one page.
The page has a ScrollableDataTable with page size 30 (attribute row="30") bound to an array with 32 Items and a CommandButton that rerenders a Panel with a ScrollableDataTable inside and shows the current selection with 'javascript:alert(...)'.
Problem 1: Autoscroll Problem
1. You scroll down to the bottom.
2. Now you scroll to the top
3. After rerendering the ScrollableDataTable by clicking on CommandButton, it will automatically scroll down to the bottom after rendering.
Problem 2: Selection-Problem
Under some circumstances the selection of ScrollableDataTable gets corrupt.
Here is the Test-Case to recreate this Problem:
1. Call Page. No item selected
2. Now scroll to the bottom. (Row C-31 is shown)
3. Select an Item (for example C-25) and click on CommandLink "Selection"
4. The ScrollableDataTable is not properly rendered. No header is visible, and all columns are shown on the place of the first column. Probably a bug too? BUT IT IS NOT A PROBLEM YET.
5. Now F5 to reload a Page. The Table is rendered correct. But the Row C-27 has selection (Row C-25 was selected)
6. If you select a row now and click CommandButton "Selection" it shows always the wrong id. This id differs from really selected by 2. For example you select 30 => it shows 28.
Tested with Firefox 3 and Internet Explorer 7.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 11 months
[JBoss JIRA] Created: (RF-6257) Tree: JS Error after ajax selection of node.
by Alexander Dubovsky (JIRA)
Tree: JS Error after ajax selection of node.
--------------------------------------------
Key: RF-6257
URL: https://jira.jboss.org/jira/browse/RF-6257
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.1
Environment: 3.3.1.SNAPSHOT
jsp, facelets
All browsers
Reporter: Alexander Dubovsky
Assignee: Nick Belaevski
Source:
<h:form>
<rich:tree id="tree" switchType="server" value="#{tree.data}" var="data"
ajaxSubmitSelection="true">
</rich:tree>
</h:form>
Data:
if (data == null) {
TreeNodeImpl<String> n = new TreeNodeImpl<String>();
n.setData("rnode");
int i = 0;
for (i = 0; i < 10; i++) {
TreeNodeImpl<String> t = new TreeNodeImpl<String>();
t.setData("node-" + i);
n.addChild(Integer.valueOf(i), t);
}
data = new TreeNodeImpl<String>();
data.setData("data");
data.addChild(Integer.valueOf(i), n);
}
Steps:
# Expand tree
# Try to select any node
Result: JS Error -
E is undefined
toggleSelection()(undefined)ui.pack.js.jsf (line 533)
setSelection()(Object childs=[10] tree=Object elements=Object)ui.pack.js.jsf (line 290)
restoreSelection()()ui.pack.js.jsf (line 282)
initialize()(function(), "j_id_jsp_408862106_2:tree", "j_id_jsp_408862106_2:tree:input", "server", Object, function(), Object columnCount=0 0=j 1=_ 2=i 3=d 4=_ 5=j 6=s 7=p 8=_ 9=4 10=0)ui.pack.js.jsf (line 206)
wrap()()framewor...ck.js.jsf (line 91)
A()framewor...ck.js.jsf (line 6)
(?)()()tree.jsf (line 25)
tree.jsf()()tree.jsf (line 14)
[Break on this error] }if(E["treeItem"]){var D=this.elements.textElement;
In IE6-7 the same error occures independent on switchType. In all other browsers error occures only in case switchType=server
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 11 months
[JBoss JIRA] Created: (RF-6446) dataScroller: facet "controlSeparator" doesn't work
by Inna Shchibrya (JIRA)
dataScroller: facet "controlSeparator" doesn't work
---------------------------------------------------
Key: RF-6446
URL: https://jira.jboss.org/jira/browse/RF-6446
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.0
Environment: FF-3, IE6, IE7, Opera, Safari
Tomcat 6.0
sun RI 1.2.10
jsp
Reporter: Inna Shchibrya
Assignee: Nick Belaevski
For example:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<f:subview id="DataScrollerSubviewID">
<rich:dataTable id="dataTableId" value="#{dataScroller.dataTable}"
var="dT" cellpadding="5px" rows="5" border="1" reRender="dsID,dataTableId" sortMode="#{dataScroller.sortMode}">
<f:facet name="header">
<rich:datascroller for="dataTableId" ajaxSingle="#{dataScroller.ajaxSingle}" reRender="dataTableId"
boundaryControls="#{dataScroller.boundaryControls}"
binding="#{dataScroller.htmlDatascroller}" data="datascrData" fastStep="#{dataScroller.fastStep}" id="dsID"
page="#{dataScroller.page}" pagesVar="pages" pageIndexVar="index"
value="#{dataScroller.value}" status="a4jStatusID" stepControls="#{dataScroller.stepControls}"
eventsQueue="eventsQueue" inactiveStyle="#{style.inactiveStyle}" inactiveStyleClass="#{style.inactiveStyleClass}" selectedStyle="#{style.selectedStyle}" selectedStyleClass="#{style.selectedStyleClass}" style="#{style.style}" styleClass="#{style.styleClass}" tableStyle="#{style.tableStyle}" tableStyleClass="#{style.tableStyleClass}"
fastControls="#{dataScroller.fastControls}" action="#{dataScroller.act}" actionListener="#{dataScroller.actListener}"
align="center" rendered="#{dataScroller.render}"
limitToList="#{dataScroller.limitToList}"
renderIfSinglePage="#{dataScroller.renderIfSinglePage}"
maxPages="#{dataScroller.maxPages}"
scrollerListener="#{dataScroller.ScrollerListener}"
onclick="#{event.onclick}" oncomplete="#{event.oncomplete}"
ondblclick="#{event.ondblclick}" onkeydown="#{event.onkeydown}"
onkeypress="#{event.onkeypress}" onkeyup="#{event.onkeyup}"
onmousedown="#{event.onmousedown}"
onmousemove="#{event.onmousemove}" onmouseout="#{event.onmouseout}"
onmouseover="#{event.onmouseover}" onmouseup="#{event.onmouseup}">
<f:facet name="controlSeparator">
<h:graphicImage value="/image/sep.png"/>
</f:facet>
</rich:datascroller>
</f:facet>
<f:facet name="footer">
</f:facet>
<rich:column sortBy="#{dT.str0}" filterBy="#{dT.str0}" filterEvent="onkeyup"
selfSorted="#{dataScroller.selfSorted}" filterValue="#{dataScroller.filterValue}">
<h:outputText value="#{dT.str0}" />
</rich:column>
<rich:column sortBy="#{dT.int0}" filterBy="#{dT.int0}" filterEvent="onkeyup" selfSorted="#{dataScroller.selfSorted}">
<h:outputText value="#{dT.int0} " />
</rich:column>
</rich:dataTable>
<h:panelGrid id="dataScrollerActionID" columns="1">
<a4j:commandButton value="Show action" reRender="dataScrollerActionID" style=" width : 95px;"></a4j:commandButton>
<h:outputText value="#{dataScroller.action}" />
<h:outputText value="#{dataScroller.actionListener}" />
</h:panelGrid>
</f:subview>
Open the page in the browser --> Separators between controls didn't appear.
Expected result: Separators between controls should appear.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 11 months
[JBoss JIRA] Created: (RF-6540) inplaceSelect: the component is disappeared from the page after some actions (defaultLabel="defaultLabel", showControls="true," value doesn't set)
by Inna Shchibrya (JIRA)
inplaceSelect: the component is disappeared from the page after some actions (defaultLabel="defaultLabel", showControls="true," value doesn't set)
--------------------------------------------------------------------------------------------------------------------------------------------------
Key: RF-6540
URL: https://jira.jboss.org/jira/browse/RF-6540
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.0
Environment: FF-3, IE6, IE7, Safari
Tomcat 6.0
sun RI 1.2.10
jsp
Reporter: Inna Shchibrya
Assignee: Nick Belaevski
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<html>
<head>
<title>Custom Component</title>
</head>
<body>
<f:view>
<h:form>
</br>
This is because such an error can easily be made at programming level, <br />
and while invisible for the user who does not understand or cannot <br />
acquire the source code, many of those
<rich:inplaceSelect id="inplaceSelectID"
defaultLabel="defaultLabel" showControls="true" >
<f:selectItem itemLabel="errors" itemValue="errors" />
<f:selectItem itemLabel="fatals" itemValue="fatals" />
<f:selectItem itemLabel="infos" itemValue="infos" />
<f:selectItem itemLabel="passeds" itemValue="passeds" />
<f:selectItem itemLabel="warns" itemValue="warns" />
</rich:inplaceSelect>
are easy to exploit.
</h:form>
</f:view>
</body>
</html>
1. Click on the component. --> Pop-up is appeared, input field is empty, controls are present.
2. Click out from the component. --> Pop-up is disappeared.
3. Click Save control. --> The component is disappeared from the page.
Expected result: The component shouldn't disappear from the page. Default label should be present in the input field.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 11 months
[JBoss JIRA] Created: (RF-6544) inplaceSelect: component disappears from the page in case of using f:selectItems
by Tsikhon Kuprevich (JIRA)
inplaceSelect: component disappears from the page in case of using f:selectItems
--------------------------------------------------------------------------------
Key: RF-6544
URL: https://jira.jboss.org/jira/browse/RF-6544
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.1
Environment: tomcat
jsp
myfaces
FF 3
Reporter: Tsikhon Kuprevich
Assignee: Nick Belaevski
Just open the component for editing and then press Esc keyboard key immediately.
My page code:
<rich:inplaceSelect id="inplaceSelectID1" openOnEdit="true" onclick=""
showControls="false" layout="block" value="#{inplaceSelect.value}">
<f:selectItems value="#{inplaceSelect.itemsList}" />
</rich:inplaceSelect>
Backing Bean code:
package inplaceSelect;
import java.util.ArrayList;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import org.richfaces.component.html.HtmlInplaceSelect;
import util.componentInfo.ComponentInfo;
public class InplaceSelect {
private boolean applyFromControlsOnly;
private String controlsHorizontalPosition;
private String controlsVerticalPosition;
private String defaultLabel;
private String editEvent;
private boolean immediate;
private String listHeight;
private String listWidth;
private String maxSelectWidth;
private String minSelectWidth;
private boolean openOnEdit;
private boolean rendered;
private boolean required;
private String requiredMessage;
private String selectWidth;
private boolean showControls;
private boolean changedClass;
private String changedLabel;
private int tabindex;
private Object value;
private String valueCL;
private HtmlInplaceSelect myInplaceSelect = null;
private String bindLabel;
private String layout;
private List<SelectItem> itemsList;
public void addHtmlInplaceSelect(){
ComponentInfo info = ComponentInfo.getInstance();
info.addField(myInplaceSelect);
}
public InplaceSelect() {
valueCL = "---";
editEvent = "onclick";
maxSelectWidth = "150";
minSelectWidth = "85";
selectWidth = "170";
defaultLabel = "defaultLabel";
controlsVerticalPosition = "top";
controlsHorizontalPosition = "center";
value = "errors";
listWidth = "200";
listHeight = "150";
showControls = false;
applyFromControlsOnly = false;
openOnEdit = true;
rendered = true;
immediate = false;
bindLabel = "Click Binding";
changedLabel = "default";
changedClass = false;
required = false;
requiredMessage="requiredMessage";
layout = "inline";
itemsList = new ArrayList<SelectItem>();
itemsList.add(new SelectItem("1", "ItemOne"));
itemsList.add(new SelectItem("2", "ItemTwo"));
itemsList.add(new SelectItem("3", "ItemThree"));
itemsList.add(new SelectItem("4", "ItemFour"));
itemsList.add(new SelectItem("5", "ItemFive"));
}
public String getBindLabel() {
return bindLabel;
}
public void setBindLabel(String bindLabel) {
this.bindLabel = bindLabel;
}
public String getLayout() {
return layout;
}
public void setLayout(String layout) {
this.layout = layout;
}
public HtmlInplaceSelect getMyInplaceSelect(){
return myInplaceSelect;
}
public void setMyInplaceSelect(HtmlInplaceSelect myInplaceSelect){
this.myInplaceSelect = myInplaceSelect;
}
public String getbindLabel(){
return bindLabel;
}
public void checkBinding(ActionEvent actionEvent){
FacesContext context = FacesContext.getCurrentInstance();
bindLabel = myInplaceSelect.getClientId(context);
}
public void setbindLabel(String bindLabel){
this.bindLabel = bindLabel;
}
public void valueChangeListener(ValueChangeEvent event){
valueCL = "valueChangeListener work!";
}
public String getControlsHorizontalPosition() {
return controlsHorizontalPosition;
}
public String getControlsVerticalPosition() {
return controlsVerticalPosition;
}
public int getTabindex() {
return tabindex;
}
public void setTabindex(int tabindex) {
this.tabindex = tabindex;
}
public String getValueCL() {
return valueCL;
}
public void setValueCL(String valueCL) {
this.valueCL = valueCL;
}
public String getDefaultLabel() {
return defaultLabel;
}
public String getEditEvent() {
return editEvent;
}
public String getListHeight() {
return listHeight;
}
public String getListWidth() {
return listWidth;
}
public String getMaxSelectWidth() {
return maxSelectWidth;
}
public String getMinSelectWidth() {
return minSelectWidth;
}
public String getSelectWidth() {
return selectWidth;
}
public Object getValue() {
return value;
}
public boolean isApplyFromControlsOnly() {
return applyFromControlsOnly;
}
public boolean isImmediate() {
return immediate;
}
public boolean isOpenOnEdit() {
return openOnEdit;
}
public boolean isRendered() {
return rendered;
}
public boolean isShowControls() {
return showControls;
}
public void setApplyFromControlsOnly(boolean applyFromControlsOnly) {
this.applyFromControlsOnly = applyFromControlsOnly;
}
public void setControlsHorizontalPosition(String controlsHorizontalPosition) {
this.controlsHorizontalPosition = controlsHorizontalPosition;
}
public void setControlsVerticalPosition(String controlsVerticalPosition) {
this.controlsVerticalPosition = controlsVerticalPosition;
}
public void setDefaultLabel(String defaultLabel) {
this.defaultLabel = defaultLabel;
}
public void setEditEvent(String editEvent) {
this.editEvent = editEvent;
}
public void setImmediate(boolean immediate) {
this.immediate = immediate;
}
public void setListHeight(String listHeight) {
this.listHeight = listHeight;
}
public void setListWidth(String listWidth) {
this.listWidth = listWidth;
}
public void setMaxSelectWidth(String maxSelectWidth) {
this.maxSelectWidth = maxSelectWidth;
}
public void setMinSelectWidth(String minSelectWidth) {
this.minSelectWidth = minSelectWidth;
}
public void setOpenOnEdit(boolean openOnEdit) {
this.openOnEdit = openOnEdit;
}
public void setRendered(boolean rendered) {
this.rendered = rendered;
}
public void setSelectWidth(String selectWidth) {
this.selectWidth = selectWidth;
}
public void setShowControls(boolean showControls) {
this.showControls = showControls;
}
public void setValue(Object value) {
this.value = value;
}
public String getChangedLabel() {
return changedLabel;
}
public void setChangedLabel(String changedLabel) {
this.changedLabel = changedLabel;
}
public void checkChangedClass(){
if (changedClass){
setChangedLabel("activeTabStyle");
}
}
public boolean isChangedClass() {
return changedClass;
}
public void setChangedClass(boolean changedClass) {
this.changedClass = changedClass;
}
public boolean isRequired() {
return required;
}
public void setRequired(boolean required) {
this.required = required;
}
public String getRequiredMessage() {
return requiredMessage;
}
public void setRequiredMessage(String requiredMessage) {
this.requiredMessage = requiredMessage;
}
public List<SelectItem> getItemsList() {
return itemsList;
}
public void setItemsList(List<SelectItem> itemsList) {
this.itemsList = itemsList;
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 11 months