Enable focus inside the text box when creating a new group. This solves Issue 36.
[pithos] / src / gr / ebs / gss / client / AbstractPropertiesDialog.java
index 6316b91..b940e66 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * Copyright 2007, 2008, 2009 Electronic Business Systems Ltd.\r
+ * Copyright 2007, 2008, 2009, 2010 Electronic Business Systems Ltd.\r
  *\r
  * This file is part of GSS.\r
  *\r
@@ -21,7 +21,6 @@ package gr.ebs.gss.client;
 import gr.ebs.gss.client.rest.GetCommand;\r
 import gr.ebs.gss.client.rest.resource.TagsResource;\r
 \r
-import java.util.Iterator;\r
 import java.util.List;\r
 \r
 import com.google.gwt.core.client.GWT;\r
@@ -31,9 +30,10 @@ import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.event.dom.client.KeyCodes;\r
 import com.google.gwt.user.client.DeferredCommand;\r
 import com.google.gwt.user.client.Event.NativePreviewEvent;\r
-import com.google.gwt.user.client.ui.Button;\r
+import com.google.gwt.user.client.ui.Anchor;\r
 import com.google.gwt.user.client.ui.DialogBox;\r
 import com.google.gwt.user.client.ui.FlowPanel;\r
+import com.google.gwt.user.client.ui.Label;\r
 import com.google.gwt.user.client.ui.TabPanel;\r
 import com.google.gwt.user.client.ui.TextBox;\r
 \r
@@ -73,36 +73,42 @@ public abstract class AbstractPropertiesDialog extends DialogBox {
                setAnimationEnabled(true);\r
 \r
        }\r
-\r
        /**\r
         * Retrieves all user tags from the server and updates the FlowPanel\r
         *\r
         * @param userId\r
         */\r
        protected void updateTags() {\r
-               GetCommand<TagsResource> tc = new GetCommand<TagsResource>(TagsResource.class, GSS.get().getCurrentUserResource().getTagsPath()) {\r
+               GetCommand<TagsResource> tc = new GetCommand<TagsResource>(TagsResource.class, GSS.get().getCurrentUserResource().getTagsPath(),null) {\r
 \r
                        @Override\r
                        public void onComplete() {\r
                                allTagsContent.clear();\r
                                TagsResource tagr = getResult();\r
                                List<String> userTags = tagr.getTags();\r
-                               Iterator t = userTags.iterator();\r
-                               while (t.hasNext()) {\r
-                                       final Button tag = new Button((String) t.next(), new ClickHandler() {\r
+                               Anchor tag = null;\r
+                               for(String usrTag : userTags){\r
+                                       tag = new Anchor(usrTag.toString(), false);\r
+                                       tag.addStyleName("gss-tag");\r
+                                       allTagsContent.add(tag);\r
+                                       Label separator = new Label(", ");\r
+                                       separator.addStyleName("gss-tag");\r
+                                       allTagsContent.add(separator);\r
+                                       tag.addClickHandler( new ClickHandler() {\r
 \r
                                                @Override\r
                                                public void onClick(ClickEvent event) {\r
                                                        String existing = tags.getText();\r
                                                        if (MULTIPLE_VALUES_TEXT.equals(existing)) existing = "";\r
-                                                       String newTag = ((Button) event.getSource()).getText().trim();\r
+                                                       String newTag = ((Anchor) event.getSource()).getText().trim();\r
                                                        // insert the new tag only if it is not in the list\r
                                                        // already\r
-                                                       if (existing.indexOf(newTag + ",") == -1 && !existing.trim().endsWith(newTag))\r
-                                                               tags.setText(existing.trim() + (existing.length() > 0 ? ", " : "") + newTag);\r
+                                                       if (existing.indexOf(newTag) == -1 && !existing.trim().endsWith(newTag))\r
+                                                               tags.setText(existing.trim()\r
+                                                                                       + (existing.length() > 0 ? ", " : "")\r
+                                                                                       + newTag);\r
                                                }\r
                                        });\r
-                                       allTagsContent.add(tag);\r
                                }\r
                        }\r
 \r