You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by rm...@apache.org on 2011/04/04 15:22:48 UTC
svn commit: r1088613 - in
/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher:
edit/EditAction.java view/edit/FieldFactory.java view/edit/Selector.java
view/form/HtmlFormBuilder.java
Author: rmatthews
Date: Mon Apr 4 13:22:48 2011
New Revision: 1088613
URL: http://svn.apache.org/viewvc?rev=1088613&view=rev
Log:
Dropdowns are marked as mandatory if no entry is available (and the field is required).
Clearable dropdown fields show as blank entries, rather than arbitrary text.
Modified:
incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/Selector.java
incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/HtmlFormBuilder.java
Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java?rev=1088613&r1=1088612&r2=1088613&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java Mon Apr 4 13:22:48 2011
@@ -222,10 +222,9 @@ public class EditAction implements Actio
FieldEditState fieldState = formState.createField(fieldId, newEntry);
Consent consent = null;
- if (field.isMandatory() && newEntry.equals("")) {
+ if (field.isMandatory() && (newEntry.equals("") || newEntry.equals("NULL"))) {
consent = new Veto(field.getName() + " required");
formState.setError("Not all fields have been set");
-
} else if (field.getSpecification().containsFacet(ParseableFacet.class)) {
try {
ParseableFacet facet = field.getSpecification().getFacet(ParseableFacet.class);
@@ -239,7 +238,7 @@ public class EditAction implements Actio
}
} else {
- ObjectAdapter associate = context.getMappedObject(newEntry);
+ ObjectAdapter associate = newEntry.equals("null") ? null : context.getMappedObject(newEntry);
if (associate != null) {
IsisContext.getPersistenceSession().resolveImmediately(associate);
}
Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java?rev=1088613&r1=1088612&r2=1088613&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java Mon Apr 4 13:22:48 2011
@@ -87,13 +87,9 @@ public class FieldFactory {
}
if (optionsForParameter != null) {
- int noOptions = optionsForParameter.length + (field.isRequired() ? 0 : 1);
+ int noOptions = optionsForParameter.length;
String[] optionValues = new String[noOptions];
String[] optionTitles = new String[noOptions];
- if (!field.isRequired()) {
- optionValues[0] = "null";
- optionTitles[0] = "[not set]";
- }
for (int j = 0; j < optionsForParameter.length; j++) {
int i = j + (field.isRequired() ? 0 : 1);
optionValues[i] = getValue(context, optionsForParameter[j]);
Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/Selector.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/Selector.java?rev=1088613&r1=1088612&r2=1088613&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/Selector.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/Selector.java Mon Apr 4 13:22:48 2011
@@ -137,7 +137,7 @@ public class Selector extends AbstractEl
Iterator<ObjectAdapter> iterator = facet.iterator(collection);
StringBuffer buffer = new StringBuffer();
if (allowNotSet) {
- buffer.append("<input type=\"radio\" name=\"" + field + "\" value=\"null\">" + "[not set]" + "</input><br/>\n");
+ buffer.append("<input type=\"radio\" name=\"" + field + "\" value=\"null\"></input><br/>\n");
}
while (iterator.hasNext()) {
ObjectAdapter element = iterator.next();
@@ -165,7 +165,7 @@ public class Selector extends AbstractEl
size = size == null ? "" : " size =\"" + size + "\"";
buffer.append("<select name=\"" + field + "\"" + size + " >\n");
if (allowNotSet) {
- buffer.append(" <option value=\"null\">" + "[not set]" + "</option>\n");
+ buffer.append(" <option value=\"null\"></option>\n");
}
while (iterator.hasNext()) {
ObjectAdapter element = iterator.next();
Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/HtmlFormBuilder.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/HtmlFormBuilder.java?rev=1088613&r1=1088612&r2=1088613&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/HtmlFormBuilder.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/form/HtmlFormBuilder.java Mon Apr 4 13:22:48 2011
@@ -174,6 +174,9 @@ public class HtmlFormBuilder {
str.append(" <option value=\"" + ids[i] + "\"" + selectedSegment + ">" + options[i] + "</option>\n");
}
}
+ if (!field.isRequired() || length == 0) {
+ str.append(" <option value=\"null\"></option>\n");
+ }
if (offerOther) {
str.append(" <option value=\"-OTHER-\">Other:</option>\n");
}
@@ -183,6 +186,9 @@ public class HtmlFormBuilder {
String hideSegment = " style=\"display: none;\" "; // TODO only hide when JS enabled
str.append(" <input type=\"text\" name=\"" + field.getName() + "-other\"" + hideSegment + lengthSegment + disabled + " />");
}
+ if (field.isRequired() && length == 0) {
+ str.append(" <span class=\"required\">*</span>");
+ }
str.append("\n");
return str.toString();
}