r1532 - in xwiki/trunk/core/src/main/java/com/xpn/xwiki: . api doc objects/classes objects/meta
Ludovic Dubost
ludovic at users.forge.objectweb.org
Sat Nov 11 16:44:19 CET 2006
Author: ludovic
Date: 2006-11-11 16:44:19 +0100 (Sat, 11 Nov 2006)
New Revision: 1532
Modified:
xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/classes/ListClass.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/meta/ListMetaClass.java
Log:
Added class to tooltip html
Added sorting for list fields
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java 2006-11-11 11:05:30 UTC (rev 1531)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/XWiki.java 2006-11-11 15:44:19 UTC (rev 1532)
@@ -4199,7 +4199,7 @@
public String addTooltip(String html, String message, String params, XWikiContext context) {
StringBuffer buffer = new StringBuffer();
- buffer.append("<span onmouseover=\"");
+ buffer.append("<span class=\"tooltip_span\" onmouseover=\"");
buffer.append(params);
buffer.append("; return escape('");
buffer.append(message.replaceAll("'","\\'"));
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java 2006-11-11 11:05:30 UTC (rev 1531)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java 2006-11-11 15:44:19 UTC (rev 1532)
@@ -1294,8 +1294,15 @@
if (item.isFormField())
continue;
byte[] data = fileupload.getFileItemData(name, context);
+ String filename;
+ String fname = fileupload.getFileName("filepath", context);
+ int i = fname.indexOf("\\");
+ if (i==-1)
+ i = fname.indexOf("/");
+ filename = fname.substring(i+1);
+ filename = filename.replaceAll("\\+"," ");
+
if ((data != null) && (data.length > 0)){
- String fname = fileupload.getFileName(name, context);
XWikiAttachment attachment = addAttachment(fname, data);
getDoc().saveAttachmentContent(attachment, context);
getDoc().getAttachmentList().add(attachment);
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java 2006-11-11 11:05:30 UTC (rev 1531)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java 2006-11-11 15:44:19 UTC (rev 1532)
@@ -984,7 +984,7 @@
PropertyClass pclass = (PropertyClass) obj.getxWikiClass(context).get(fieldname);
String tooltip = pclass.getTooltip();
if ((tooltip!=null)&&(!tooltip.trim().equals(""))) {
- String img = "<img src=\"" + context.getWiki().getSkinFile("info.gif", context) + "\" align=\"middle\" />";
+ String img = "<img src=\"" + context.getWiki().getSkinFile("info.gif", context) + "\" class=\"tooltip_image\" align=\"middle\" />";
return context.getWiki().addTooltip(img, tooltip, context);
} else
return "";
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/classes/ListClass.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/classes/ListClass.java 2006-11-11 11:05:30 UTC (rev 1531)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/classes/ListClass.java 2006-11-11 15:44:19 UTC (rev 1532)
@@ -35,17 +35,13 @@
import com.xpn.xwiki.plugin.query.XWikiCriteria;
import com.xpn.xwiki.plugin.query.XWikiQuery;
import org.apache.commons.lang.StringUtils;
+import org.apache.commons.collections.ListUtils;
import org.apache.ecs.xhtml.input;
import org.apache.ecs.xhtml.option;
import org.apache.ecs.xhtml.select;
import org.dom4j.Element;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public abstract class ListClass extends PropertyClass {
@@ -77,7 +73,15 @@
setStringValue("displayType", type);
}
- public int getSize() {
+ public String getSort() {
+ return getStringValue("sort");
+ }
+
+ public void setSort(String sort) {
+ setStringValue("sort", sort);
+ }
+
+ public int getSize() {
return getIntValue("size");
}
@@ -324,6 +328,29 @@
}
}
+ protected class MapComparator implements Comparator {
+ protected Map map;
+ public MapComparator(Map map) {
+ this.map = map;
+ }
+
+ public int compare(Object o1, Object o2) {
+ String s1 = (String)map.get(o1);
+ String s2 = (String)map.get(o2);
+
+ if ((s1==null)&&(s2==null))
+ return 0;
+
+ if (s1==null)
+ return -1;
+
+ if (s2==null)
+ return 1;
+
+ return s1.compareTo(s2);
+ }
+ }
+
protected void displaySelectEdit(StringBuffer buffer, String name, String prefix, BaseCollection object, XWikiContext context) {
select select = new select(prefix + name, 1);
select.setMultiple(isMultiSelect());
@@ -333,6 +360,15 @@
List list = getList(context);
Map map = getMap(context);
+
+ String sort = getSort();
+ if (!"none".equals(sort)) {
+ if ("id".equals(sort))
+ Collections.sort(list);
+ if ("value".equals(sort))
+ Collections.sort(list , new MapComparator(map));
+ }
+
List selectlist;
BaseProperty prop = (BaseProperty) object.safeget(name);
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/meta/ListMetaClass.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/meta/ListMetaClass.java 2006-11-11 11:05:30 UTC (rev 1531)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/objects/meta/ListMetaClass.java 2006-11-11 15:44:19 UTC (rev 1532)
@@ -66,5 +66,11 @@
size_class.setSize(5);
size_class.setNumberType("integer");
safeput("size", size_class);
+
+ StaticListClass sort_class = new StaticListClass(this);
+ sort_class.setName("sort");
+ sort_class.setPrettyName("Sort");
+ sort_class.setValues("none|id|value");
+ safeput("sort", sort_class);
}
}
More information about the Xwiki-notifications
mailing list