[jboss-svn-commits] JBL Code SVN: r5390 - in labs/jbosslabs/trunk/portal-extensions/forge-tagme/src: java/org/jboss/labs/tagme java/org/jboss/labs/tagme/gwt/client java/org/jboss/labs/tagme/services web/images

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 1 18:07:17 EDT 2006


Author: szimano
Date: 2006-08-01 18:07:14 -0400 (Tue, 01 Aug 2006)
New Revision: 5390

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsClickListener.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/DivPanel.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/web/images/closebutton.gif
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsPanel.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/BrowseTagsPanel.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchTagsPanel.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/web/images/delete.gif
Log:
further modifications to tagem.
JBLAB-706
- This line, and those below, will be ignored--

M    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/BrowseTagsPanel.java
A    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/DivPanel.java
M    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchTagsPanel.java
M    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java
A    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsClickListener.java
M    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsPanel.java
M    forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java
M    forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java
M    forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java
AM   forge-tagme/src/web/images/closebutton.gif
M    forge-tagme/src/web/images/delete.gif


Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -29,7 +29,7 @@
 
 import org.jboss.forge.common.soa.LabsServices;
 import org.jboss.forge.common.soa.primates.PrimatesService;
-import org.jboss.labs.tagme.gwt.client.TagMeClickListener;
+import org.jboss.labs.tagme.gwt.client.AddTagsClickListener;
 import org.jboss.labs.tagme.gwt.client.TaggingService;
 import org.jboss.labs.tagme.services.TagMeTagger;
 import org.jboss.logging.Logger;
@@ -77,9 +77,9 @@
 					.newInstance();
 
 			log.debug("tags: " + tags + "\nspliter: "
-					+ TagMeClickListener.TAG_SEP);
-			String[] tagsTable = tags.split(TagMeClickListener.TAG_SEP);
-			String[] descTable = descriptions.split(TagMeClickListener.TAG_SEP);
+					+ AddTagsClickListener.TAG_SEP);
+			String[] tagsTable = tags.split(AddTagsClickListener.TAG_SEP);
+			String[] descTable = descriptions.split(AddTagsClickListener.TAG_SEP);
 
 			for (int i = 0; i < tagsTable.length; i++) {
 				tagger.addTag(user, path, tagsTable[i], descTable[i], website);

Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsClickListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsClickListener.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsClickListener.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -0,0 +1,165 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.labs.tagme.gwt.client;
+
+import java.util.Vector;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.rpc.ServiceDefTarget;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.CheckBox;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+public class AddTagsClickListener implements ClickListener {
+
+	public static final String TAG_SEP = ";&&tagMeSeparator&&;";
+
+	private String path;
+
+	private String user;
+
+	private Vector textBoxes;
+
+	private Vector descBoxes;
+
+	private String clas;
+
+	private Label info;
+
+	private Button button;
+
+	private TagMeShowPopupListener parent;
+
+	private ListBox suggBox;
+
+	private ListBox allTagsBox;
+
+	private boolean website;
+
+	public AddTagsClickListener(String path, String user, String clas,
+			Vector textBoxes, Vector descBoxes, Label info, ListBox suggBox,
+			ListBox allTagsBox, TagMeShowPopupListener parent, boolean website) {
+		this.path = path;
+		this.user = user;
+		this.textBoxes = textBoxes;
+		this.clas = clas;
+		this.info = info;
+		this.parent = parent;
+		this.suggBox = suggBox;
+		this.allTagsBox = allTagsBox;
+		this.descBoxes = descBoxes;
+		this.website = website;
+	}
+
+	public void onClick(Widget sender) {
+		TaggingServiceAsync tagging = (TaggingServiceAsync) GWT
+				.create(TaggingService.class);
+
+		this.button = (Button) sender;
+
+		ServiceDefTarget endpoint = (ServiceDefTarget) tagging;
+		endpoint.setServiceEntryPoint("/tagme-servlet/tag/");
+
+		parent.startProgressAnim("Adding tags");
+
+		AsyncCallback callback = new AsyncCallback() {
+			public void onSuccess(Object result) {
+				button.setEnabled(true);
+				parent.refreshTags();
+
+				for (int i = 0; i < textBoxes.size(); i++) {
+					((TextBox) textBoxes.get(i)).setText("");
+					((TextBox) descBoxes.get(i)).setText("");
+				}
+			}
+
+			public void onFailure(Throwable caught) {
+				Window
+						.alert("Please fill in at least one tag or check at least one suggestion (if available)");
+				parent.stopProgressAnim("Error while adding tags");
+			}
+		};
+
+		button.setEnabled(false);
+
+		String tags = "";
+		String descs = "";
+
+		for (int i = 0; i < textBoxes.size(); i++) {
+			String tag = ((TextBox) textBoxes.get(i)).getText();
+			String desc = ((TextBox) descBoxes.get(i)).getText();
+
+			if (desc == null || desc.length() == 0) {
+				desc = tag;
+			}
+
+			if (tag != null && tag.length() > 0) {
+				if (tags.length() == 0) {
+					tags = tag;
+					descs = desc;
+				} else {
+					tags += TAG_SEP + tag;
+					descs += TAG_SEP
+							+ ((desc != null && desc.length() > 0) ? desc : tag);
+				}
+			}
+		}
+
+		// suggboxes
+		for (int i = 0; i < suggBox.getItemCount(); i++) {
+
+			if (suggBox.isItemSelected(i)) {
+				if (tags.length() == 0) {
+					tags = suggBox.getItemText(i);
+					descs = suggBox.getItemText(i);
+				} else {
+					tags += TAG_SEP + suggBox.getItemText(i);
+					descs += TAG_SEP + suggBox.getItemText(i);
+				}
+			}
+		}
+
+		// all tags boxes
+		for (int i = 0; i < allTagsBox.getItemCount(); i++) {
+
+			if (allTagsBox.isItemSelected(i)) {
+				if (tags.length() == 0) {
+					tags = allTagsBox.getItemText(i);
+					descs = allTagsBox.getItemText(i);
+				} else {
+					tags += TAG_SEP + allTagsBox.getItemText(i);
+					descs += TAG_SEP + allTagsBox.getItemText(i);
+				}
+			}
+		}
+
+		tagging.addTag(user, path, clas, tags, descs, website, callback);
+
+	}
+
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsPanel.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsPanel.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/AddTagsPanel.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -13,7 +13,9 @@
 import com.google.gwt.user.client.ui.FlexTable;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
+import com.google.gwt.user.client.ui.HasVerticalAlignment;
 import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TextBox;
@@ -21,6 +23,9 @@
 import com.google.gwt.user.client.ui.Widget;
 
 public class AddTagsPanel extends VerticalPanel {
+	
+	private static final int ADD_TAG_BOXES_NUMBER = 1;
+
 	private String path;
 
 	private String user;
@@ -88,8 +93,12 @@
 
 		myTagsTable.setStyleName("tagmetable");
 
-		panel.add(myTagsTable);
+		LabsSimplePanel myTagDiv = new LabsSimplePanel();
+		DOM.setAttribute(myTagDiv.getElement(), "id", "myTagsTableDiv");
+		myTagDiv.add(myTagsTable);
 
+		panel.add(myTagDiv);
+
 		panel.add(new HTML("<h2>Tag this content</h2>"));
 
 		FlexTable boxesAndDesc = new FlexTable();
@@ -108,7 +117,7 @@
 		Vector textBoxes = new Vector();
 		Vector descBoxes = new Vector();
 
-		for (int i = 0; i < 3; i++) {
+		for (int i = 0; i < ADD_TAG_BOXES_NUMBER; i++) {
 			TextBox box = new TextBox();
 			TextBox desc = new TextBox();
 
@@ -124,29 +133,14 @@
 
 		panel.add(input);
 
-		HorizontalPanel btnPanel = new HorizontalPanel();
-		btnPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
-
 		this.saveBtn = new Button(TagMeShowPopupListener.SAVE_BTN,
-				new TagMeClickListener(path, user, clas, textBoxes, descBoxes,
-						info, suggBox, allTagsBox, parent, website));
-		btnPanel.add(saveBtn);
-
+				new AddTagsClickListener(path, user, clas, textBoxes,
+						descBoxes, info, suggBox, allTagsBox, parent, website));
 		saveBtn.setStyleName("button");
+		customs.add(saveBtn);
+		
+		customs.setCellVerticalAlignment(saveBtn, HasVerticalAlignment.ALIGN_BOTTOM);
 
-		Button closeBtn = new Button(TagMeShowPopupListener.CANCEL_BTN,
-				new ClickListener() {
-
-					public void onClick(Widget sender) {
-						dialog.hide();
-					}
-
-				});
-
-		closeBtn.setStyleName("button");
-
-		btnPanel.add(closeBtn);
-
 		LabsSimplePanel outlinePanel = new LabsSimplePanel();
 
 		outlinePanel.add(panel);
@@ -154,20 +148,32 @@
 		DOM.setAttribute(outlinePanel.getElement(), "id", "tagmeoutline");
 
 		this.add(outlinePanel);
-		this.add(btnPanel);
 
 	}
 
 	public void clearMyTags() {
-		myTagsTable.clear();
+		while (myTagsTable.getRowCount() > 0) {
+			for (int i = 0; i < myTagsTable.getCellCount(0); i++) {
+				myTagsTable.removeCell(0, i);
+			}
+		}
+
 		myTagsTable.setWidget(0, 0, new Label("Tag Name"));
 		myTagsTable.getCellFormatter().setStyleName(0, 0, "tagmetable-header");
 		myTagsTable.setWidget(0, 1, new Label("Description"));
+		myTagsTable.getCellFormatter().setStyleName(0, 1, "tagmetable-header");
+		myTagsTable.setWidget(0, 2, new Label("Delete"));
 		myTagsTable.getCellFormatter()
-				.setStyleName(0, 1, "tagmetable-headernr");
+				.setStyleName(0, 2, "tagmetable-headernr");
 	}
 
 	public void addMyTag(String tagName, String description) {
+		Image im = new Image("/tagme-servlet/images/delete.gif");
+		im.setStyleName("tagme_btn");
+
+		im.addClickListener(new DeleteTagClickListener(user, tagName, path,
+				parent, clas));
+
 		int row = myTagsTable.getRowCount();
 
 		myTagsTable.setWidget(row, 0, new Label(tagName));
@@ -175,13 +181,19 @@
 				row,
 				0,
 				((row % 2 == 0) ? "tagmetable-stripegrey"
-						: "tagmetable-stripegrey"));
+						: "tagmetable-stripewhite"));
 		myTagsTable.setWidget(row, 1, new Label(description));
 		myTagsTable.getCellFormatter().setStyleName(
 				row,
 				1,
+				((row % 2 == 0) ? "tagmetable-stripegrey"
+						: "tagmetable-stripewhite"));
+		myTagsTable.setWidget(row, 2, im);
+		myTagsTable.getCellFormatter().setStyleName(
+				row,
+				2,
 				((row % 2 == 0) ? "tagmetable-stripegreynr"
-						: "tagmetable-stripegreynr" ));
+						: "tagmetable-stripewhitenr"));
 
 		myTagsTable.getRowFormatter()
 				.setStyleName(

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/BrowseTagsPanel.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/BrowseTagsPanel.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/BrowseTagsPanel.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -92,28 +92,6 @@
 		
 		panel.add(addATag);
 
-		HorizontalPanel btnPanel = new HorizontalPanel();
-		btnPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
-
-		Button saveBtn = new Button(TagMeShowPopupListener.SAVE_BTN);
-		
-		saveBtn.setStyleName("buttonNotEnabled");
-		
-		saveBtn.setEnabled(false);
-
-		Button closeBtn = new Button(TagMeShowPopupListener.CANCEL_BTN, new ClickListener() {
-
-			public void onClick(Widget sender) {
-				dialog.hide();
-			}
-
-		});
-
-		closeBtn.setStyleName("button");
-
-		btnPanel.add(saveBtn);
-		btnPanel.add(closeBtn);
-
 		LabsSimplePanel outlinePanel = new LabsSimplePanel();
 
 		outlinePanel.add(panel);
@@ -121,7 +99,6 @@
 		DOM.setAttribute(outlinePanel.getElement(), "id", "tagmeoutline");
 
 		this.add(outlinePanel);
-		this.add(btnPanel);
 	}
 
 	public void refreshTags() {
@@ -153,7 +130,7 @@
 
 				for (int i = 0; i < vect.size(); i++) {
 					String[] to = ((String) vect.get(i))
-							.split(TagMeClickListener.TAG_SEP);
+							.split(AddTagsClickListener.TAG_SEP);
 
 					String tag = to[0];
 					String user = to[1];
@@ -189,18 +166,16 @@
 
 					if (currentUser.equals(user)) {
 						// current user - add delete button
-						Image im = new Image("/tagme-servlet/images/delete.gif");
-						im.setStyleName("tagme_btn");
+						
 
 						HorizontalPanel hpanel = new HorizontalPanel();
 
 						hpanel.add(parent.getLink(desc, feed, allResFeed, tag,
 								user));
 
-						hpanel.add(im);
+						//hpanel.add(im);
 
-						im.addClickListener(new DeleteTagClickListener(user,
-								tag, path, parent, clas));
+						
 
 						// table.setWidget(curRow, table.getCellCount(curRow),
 						// hpanel);
@@ -217,24 +192,6 @@
 					}
 				}
 
-				/*
-				 * if ((rowsNum + 1) < table.getRowCount()) { for (int i =
-				 * rowsNum + 1; i < table.getRowCount(); i++) { for (int j = 0;
-				 * j < table.getCellCount(i); j++) { table.setWidget(i, j, new
-				 * Label("")); } } } // add all non-existing tds // find the
-				 * longest one int cellMax = 0; for (int i = 0; i <
-				 * table.getRowCount(); i++) { if (cellMax <
-				 * table.getCellCount(i)) { cellMax = table.getCellCount(i); } } //
-				 * make all rows same length
-				 * 
-				 * for (int i = 0; i < table.getRowCount(); i++) { for (int j =
-				 * table.getCellCount(i); j < cellMax; j++) { table.setWidget(i,
-				 * j, new HTML("&nbsp;"));
-				 * 
-				 * if (i == 0) { table.getCellFormatter().setStyleName(i, j,
-				 * "tagmetable-headernr"); } } }
-				 */
-
 				// set styles
 				for (int i = 1; i < table.getRowCount(); i++) {
 

Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/DivPanel.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/DivPanel.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/DivPanel.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -0,0 +1,11 @@
+package org.jboss.labs.tagme.gwt.client;
+
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.ui.AbsolutePanel;
+
+public class DivPanel extends AbsolutePanel {
+	public DivPanel(Element elem) {
+		setElement(elem);
+		onAttach();
+	}
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -6,6 +6,7 @@
 import java.util.Vector;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.rpc.ServiceDefTarget;
@@ -37,8 +38,13 @@
 
 	private VerticalPanel authorList;
 
+	private boolean showAll;
+
+	private int SHOW_NUMBER = 10;
+
 	public SearchListener(VerticalPanel results, VerticalPanel authorList,
-			TextBox tags, TextBox author, TextBox keyword, String clas, HTML bio) {
+			TextBox tags, TextBox author, TextBox keyword, String clas,
+			HTML bio, boolean showAll) {
 		this.results = results;
 		this.clas = clas;
 		this.tags = tags;
@@ -46,10 +52,23 @@
 		this.author = author;
 		this.bio = bio;
 		this.authorList = authorList;
+		this.showAll = showAll;
 	}
 
 	public void onClick(Widget sender) {
+		authorList.clear();
 		results.clear();
+
+		if (!showAll) {
+			results
+					.add(new HTML(
+							"<div class=\"tagme-search-results\">Search results (top 10 subscribed)</div>"));
+		} else {
+			results
+					.add(new HTML(
+							"<div class=\"tagme-search-results\">Search results (all results)</div>"));
+		}
+
 		bio.setHTML(" ");
 
 		button = ((Button) sender);
@@ -63,6 +82,7 @@
 		endpoint.setServiceEntryPoint("/tagme-servlet/tag/");
 
 		AsyncCallback callback = new AsyncCallback() {
+
 			public void onSuccess(Object result) {
 				Vector res = (Vector) result;
 
@@ -71,8 +91,17 @@
 
 				Set allAuthors = new HashSet();
 
-				for (int i = 0; i < res.size(); i += 8) {
+				int showed = 0;
 
+				LabsSimplePanel resultBoxDiv = new LabsSimplePanel();
+				DOM.setAttribute(resultBoxDiv.getElement(), "id", "resultBox");
+				
+				VerticalPanel resultBox = new VerticalPanel();
+				resultBoxDiv.add(resultBox);
+				
+				for (int i = 0; (i < res.size())
+						&& (showAll || showed < SHOW_NUMBER); i += 8) {
+
 					String tag = (String) res.get(i);
 					String author = (String) res.get(i + 1);
 					String desc = (String) res.get(i + 2);
@@ -95,13 +124,16 @@
 						}
 					}
 
-					results.add(TagMeShowPopupListener.getLink(desc, feed,
+					resultBox.add(TagMeShowPopupListener.getLink(desc, feed,
 							allResFeed, tag, author));
+					showed++;
 
 					// results.add(new HTML("<a href=\""
 					// + res.get(i + 1).toString() + "\">"
 					// + res.get(i).toString() + "</a>"));
 				}
+				
+				results.add(resultBoxDiv);
 
 				if (res.size() == 0) {
 					results.add(new HTML("<i>No results available</i>"));
@@ -118,6 +150,14 @@
 					}
 				}
 
+				if (!showAll) {
+					Button showAll = new Button("Show all", new SearchListener(
+							results, authorList, tags, author, keyword, clas,
+							bio, true));
+					showAll.setStyleName("button");
+					results.add(showAll);
+				}
+
 				button.setEnabled(true);
 
 			}
@@ -151,7 +191,7 @@
 
 		AsyncCallback callback = new AsyncCallback() {
 			public void onSuccess(Object result) {
-				bio.setHTML(result.toString());
+				bio.setHTML("<div id='bioBox'>" + result.toString() + "</div>");
 			}
 
 			public void onFailure(Throwable caught) {

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchTagsPanel.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchTagsPanel.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchTagsPanel.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -1,5 +1,6 @@
 package org.jboss.labs.tagme.gwt.client;
 
+import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.HTML;
@@ -57,47 +58,33 @@
 		keyword.setText("");
 		searchPanel.add(keyword);
 
+		Button searchBtn = new Button(TagMeShowPopupListener.SEARCH_BTN);
+
+		searchBtn.setStyleName("button");
+
+		searchPanel.add(searchBtn);
+
 		bio = new HTML();
 
 		searchPanel.add(bio);
 
 		authorList = new VerticalPanel();
-		
+
 		searchPanel.add(authorList);
 
-		searchPanel.add(new HTML(
-				"<div class=\"tagme-search-results\">Search results</div>"));
-
 		VerticalPanel results = new VerticalPanel();
-
+		
 		searchPanel.add(results);
 
-		HorizontalPanel buttons = new HorizontalPanel();
+		LabsSimplePanel outlinePanel = new LabsSimplePanel();
 
-		Button searchBtn = new Button(TagMeShowPopupListener.SEARCH_BTN,
-				new SearchListener(results, authorList, tags, author, keyword,
-						clas, bio));
+		outlinePanel.add(searchPanel);
 
-		searchBtn.setStyleName("button");
+		DOM.setAttribute(outlinePanel.getElement(), "id", "tagmeoutline");
 
-		buttons.add(searchBtn);
-
-		searchPanel.add(buttons);
-
-		Button closeBtn = new Button(TagMeShowPopupListener.CANCEL_BTN,
-				new ClickListener() {
-
-					public void onClick(Widget sender) {
-						dialog.hide();
-					}
-
-				});
-		closeBtn.setStyleName("button");
-
-		buttons.add(closeBtn);
-
-		searchPanel.add(buttons);
-
-		this.add(searchPanel);
+		this.add(outlinePanel);
+		
+		searchBtn.addClickListener(new SearchListener(results, authorList, tags, author, keyword,
+						clas, bio, false));
 	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -23,10 +23,12 @@
 
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.RootPanel;
 import com.google.gwt.user.client.ui.TabPanel;
 import com.google.gwt.user.client.ui.Widget;
 
@@ -42,8 +44,6 @@
 
 	private String clas;
 
-	private Button saveBtn;
-
 	private Image parentButton;
 
 	private boolean website;
@@ -57,9 +57,11 @@
 	private SearchTagsPanel searchTags;
 
 	private TabPanel tabs;
-	
-	public final static String SAVE_BTN = "Save";
-	
+
+	private Image closeDialogButton;
+
+	public final static String SAVE_BTN = "Add";
+
 	public final static String CANCEL_BTN = "Cancel";
 
 	public static final byte BROWSE_TAB = 0;
@@ -69,7 +71,6 @@
 	public static final byte SEARCH_TAB = 2;
 
 	public static final String SEARCH_BTN = "Search";
-	
 
 	public TagMeShowPopupListener(String path, String user, String clas,
 			Image parentButton, boolean website) {
@@ -110,13 +111,19 @@
 	}
 
 	public void switchTab(byte tab) {
-		switch(tab) {
-		case BROWSE_TAB: tabs.selectTab(0); break;
-		case ADDTAG_TAB: tabs.selectTab(1); break;
-		case SEARCH_TAB: tabs.selectTab(2); break;
+		switch (tab) {
+		case BROWSE_TAB:
+			tabs.selectTab(0);
+			break;
+		case ADDTAG_TAB:
+			tabs.selectTab(1);
+			break;
+		case SEARCH_TAB:
+			tabs.selectTab(2);
+			break;
 		}
 	}
-	
+
 	public void onClick(Widget sender) {
 
 		dialog = new LabsDialogBox();
@@ -143,8 +150,9 @@
 						"<div class='tagBar-inside'><span class='bar' >My&nbsp;Tags</span></div>",
 						true);
 
-		searchTags = new SearchTagsPanel(path, currentUser, clas, website, this, dialog);
-		
+		searchTags = new SearchTagsPanel(path, currentUser, clas, website,
+				this, dialog);
+
 		tabs
 				.add(
 						searchTags,
@@ -157,13 +165,29 @@
 
 		dialog.setStyleName(TAGME_STYLE);
 
-		dialog.setText("Tag Me");
+		if (closeDialogButton == null) {
+			closeDialogButton = new Image("/tagme-servlet/images/closebutton.gif");
+			closeDialogButton.setStyleName("tagme_btn");
 
+			closeDialogButton.addClickListener(new ClickListener() {
+
+				public void onClick(Widget sender) {
+					dialog.hide();
+				}
+
+			});
+		}
+
+		dialog.setHTML("<table class='tagme-barTable' cellspacing='0' cellpadding='0' >"
+				+ "<tr><td class='tagme-title'>Tag Me</td>"
+				+ "<td class='tagme-controls'><div id='controlsdiv'> </div></td></tr></table>");
+
 		dialog.setPopupPosition(DOM.getAbsoluteLeft(parentButton.getElement()),
 				DOM.getAbsoluteTop(parentButton.getElement()));
 
 		dialog.show();
-		
+
+		new DivPanel(DOM.getElementById("controlsdiv")).add(closeDialogButton);
 		refreshTags();
 
 	}
@@ -186,7 +210,6 @@
 
 	public void stopProgressAnim(String text) {
 		timer.cancel();
-		saveBtn.setEnabled(true);
 		browseTags.setInfo(text);
 		addTags.setInfo(text);
 	}
@@ -196,9 +219,8 @@
 		browseTags.refreshTags();
 		addTags.refreshTags();
 	}
-	
+
 	public void addMyTag(String tagName, String description) {
 		addTags.addMyTag(tagName, description);
 	}
-
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java	2006-08-01 21:29:38 UTC (rev 5389)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java	2006-08-01 22:07:14 UTC (rev 5390)
@@ -28,7 +28,7 @@
 import java.util.List;
 import java.util.Vector;
 
-import org.jboss.labs.tagme.gwt.client.TagMeClickListener;
+import org.jboss.labs.tagme.gwt.client.AddTagsClickListener;
 import org.jboss.logging.Logger;
 import org.jboss.shotoku.tags.ShotokuTag;
 import org.jboss.shotoku.tags.Tag;
@@ -96,23 +96,23 @@
 				feedData.add(tag.getAuthor());
 
 				tags.add(tag.getName()
-						+ TagMeClickListener.TAG_SEP
+						+ AddTagsClickListener.TAG_SEP
 						+ tag.getAuthor()
-						+ TagMeClickListener.TAG_SEP
+						+ AddTagsClickListener.TAG_SEP
 						+ TagMeTools.getFullName(tag.getAuthor())
-						+ TagMeClickListener.TAG_SEP
+						+ AddTagsClickListener.TAG_SEP
 						+ service.getFeedLink(FeedType.AUTHOR_TAG, feedData,
 								"rss2")
-						+ TagMeClickListener.TAG_SEP
+						+ AddTagsClickListener.TAG_SEP
 						+ service.getFeedLink(FeedType.AUTHOR_ALL, tag
 								.getAuthor(), "rss2")
-						+ TagMeClickListener.TAG_SEP
+						+ AddTagsClickListener.TAG_SEP
 						+ service.getFeedLink(FeedType.AUTHOR_UNIQUE, tag
 								.getAuthor(), "rss2")
-						+ TagMeClickListener.TAG_SEP
+						+ AddTagsClickListener.TAG_SEP
 						+ service.getFeedLink(FeedType.TAGS, tag.getName(),
-								"rss2") + TagMeClickListener.TAG_SEP
-						+ tag.getData() + TagMeClickListener.TAG_SEP
+								"rss2") + AddTagsClickListener.TAG_SEP
+						+ tag.getData() + AddTagsClickListener.TAG_SEP
 						+ service.getAllSubscribers(tag.getAuthor()));
 			}
 
@@ -124,8 +124,8 @@
 		Collections.sort(tags, new Comparator<String>() {
 
 			public int compare(String o1, String o2) {
-				String[] o1Splited = o1.split(TagMeClickListener.TAG_SEP);
-				String[] o2Splited = o2.split(TagMeClickListener.TAG_SEP);
+				String[] o1Splited = o1.split(AddTagsClickListener.TAG_SEP);
+				String[] o2Splited = o2.split(AddTagsClickListener.TAG_SEP);
 
 				return 0 - ((Integer.valueOf(o1Splited[8]).compareTo(
 						Integer.valueOf(o2Splited[8])) == 0) ? (0 - o1Splited[2]

Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/web/images/closebutton.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/web/images/closebutton.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/web/images/delete.gif
===================================================================
(Binary files differ)




More information about the jboss-svn-commits mailing list