You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2005/03/12 23:50:08 UTC
svn commit: r157291 -
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java
Author: sylvain
Date: Sat Mar 12 14:50:07 2005
New Revision: 157291
URL: http://svn.apache.org/viewcvs?view=rev&rev=157291
Log:
Do not clear selection after adding rows
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java?view=diff&r1=157290&r2=157291
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java Sat Mar 12 14:50:07 2005
@@ -118,7 +118,8 @@
//---------------------------------------------------------------------------------------------
/**
- * The definition of a repeater action that insert rows before the selected rows in a sibling repeater.
+ * The definition of a repeater action that insert rows before the selected rows in a sibling repeater,
+ * or at the end of the repeater if no row is selected.
*/
public static class InsertRowsActionDefinition extends RepeaterActionDefinition {
@@ -131,14 +132,20 @@
this.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
Repeater repeater = ((RepeaterAction)event.getSource()).getRepeater();
+ boolean foundSelection = false;
for (int i = repeater.getSize() - 1; i >= 0; i--) {
Repeater.RepeaterRow row = repeater.getRow(i);
Widget selectWidget = row.getChild(selectName);
if (Boolean.TRUE.equals(selectWidget.getValue())) {
- // Clear selection and add a row
- selectWidget.setValue(Boolean.FALSE);
+ // Add a row
repeater.addRow(i);
+ foundSelection = true;
}
+ }
+
+ if (!foundSelection) {
+ // Add a row at the end
+ repeater.addRow();
}
}
});