Author: dward
Date: 2007-09-27 23:18:45 +0200 (Thu, 27 Sep 2007)
New Revision: 5114

Modified:
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ActionColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ContributorColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/editor/ViewPanel.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/ResultsPanel.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorMainPanel.java
Log:
- CURRIKI-882
 - Allow pressing enter in terms area to start search
 - CB version now has contributor info come up in a new window
 - Comments view now shown when review clicked

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ActionColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ActionColumn.java
      2007-09-27 19:17:45 UTC (rev 5113)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ActionColumn.java
      2007-09-27 21:18:45 UTC (rev 5114)
@@ -57,7 +57,9 @@
 
     public Widget getDisplayWidget(Document value)
     {
-        if (resourceAdder != null && (Main.getSingleton().getUser() != null) 
&& 
!(Main.getSingleton().getUser().getFullName().equals(Constants.USER_XWIKI_GUEST))){
+        if ((resourceAdder != null) && (cancelListener != null) &&
+            (Main.getSingleton().getUser() != null) &&
+            
!(Main.getSingleton().getUser().getFullName().equals(Constants.USER_XWIKI_GUEST))){
             Hyperlink a = new Hyperlink();
             a.addStyleName("results-action-cell-link");
             a.setHTML(Main.getTranslation("editor.btt_add"));

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ContributorColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ContributorColumn.java
 2007-09-27 19:17:45 UTC (rev 5113)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ContributorColumn.java
 2007-09-27 21:18:45 UTC (rev 5114)
@@ -30,6 +30,8 @@
 
 public class ContributorColumn extends ResultsColumn
 {
+    protected boolean useNewWindow = false;
+
     public ContributorColumn()
     {
         this.header = Main.getTranslation("search.results.col.creator");
@@ -58,9 +60,17 @@
         if (name.length() > 0){
             name = name.replaceFirst("XWiki.", "");
             String url = Constants.USER_URL_PREFIX+name;
-            nameCol.setHTML("<a href=\""+url+"\">"+name+"</a>");
+            String target = "";
+            if (useNewWindow){
+                target = " target=\"AssetContributor\" ";
+            }
+            nameCol.setHTML("<a href=\""+url+"\""+target+">"+name+"</a>");
         }
 
         return nameCol;
     }
+
+    public void setUseNewWindow(boolean useNewWindow){
+        this.useNewWindow = useNewWindow;
+    }
 }

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
      2007-09-27 19:17:45 UTC (rev 5113)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
      2007-09-27 21:18:45 UTC (rev 5114)
@@ -28,9 +28,21 @@
 import com.xpn.xwiki.gwt.api.client.Document;
 import org.curriki.gwt.client.Constants;
 import org.curriki.gwt.client.Main;
+import org.curriki.gwt.client.utils.ClickListenerString;
+import org.curriki.gwt.client.utils.ClickListenerDocument;
+import org.curriki.gwt.client.search.editor.ViewPanel;
+import org.curriki.gwt.client.search.editor.Viewer;
+import org.curriki.gwt.client.search.editor.ResourceAdder;
 
-public class ReviewColumn extends ResultsColumn
+import java.util.Map;
+import java.util.HashMap;
+
+public class ReviewColumn extends ResultsColumn implements Viewer
 {
+    protected Viewer viewer;
+    protected ResourceAdder wizard;
+    protected ClickListener cancelListener = null;
+
     public ReviewColumn()
     {
         this.header = Main.getTranslation("search.results.col.review");
@@ -66,15 +78,67 @@
         if (rating.length() > 0){
             if (!rating.equals("0")){
                 img = new Image(Constants.ICON_PATH+"CRS"+rating+".png");
-                img.addClickListener(new ClickListener() {
-                    public void onClick(Widget sender) {
-                        Main.changeWindowHref(url);
-                    }
-                });
+                if (viewer == null){
+                    // If in site
+                    img.addClickListener(new ClickListener() {
+                        public void onClick(Widget sender) {
+                            Main.changeWindowHref(url);
+                        }
+                    });
+                } else {
+                    // If in CB
+                    img.addClickListener(new ClickListenerDocument(value) {
+                        public void onClick(Widget sender) {
+                            viewer.displayView(doc);
+                        }
+                    });
+                }
                 this.addTooltip(img, 
Main.getTranslation("search.crs.tooltip."+rating));
             }
         }
 
         return img;
     }
+
+    public void displayView(Document asset){
+        String assetName = asset.getFullName();
+        // View needs to put the rendered text in (this) window with 
ADD/BACK/CANCEL buttons above it
+
+        // Create View Panel
+        // Top has ADD/BACK/CANCEL buttons (RHS)
+        Map args = new HashMap();
+        args.put("viewer", "comments");
+        ViewPanel panel = new ViewPanel(new AddAsset(assetName), args);
+
+        // Bottom has the rendered version of the asset (unclickable)
+        panel.displayResource(assetName);
+    }
+
+    private class AddAsset extends ClickListenerString
+    {
+        public AddAsset(String arg) {
+            super(arg);
+        }
+
+        public void onClick(Widget sender) {
+            if (wizard != null){
+                if (cancelListener != null){
+                    cancelListener.onClick(sender);
+                }
+                wizard.addExistingResource(arg);
+            }
+        }
+    }
+    
+    public void setViewer(Viewer viewer){
+        this.viewer = viewer;
+    }
+
+    public void setResourceAdder(ResourceAdder wizard){
+        this.wizard = wizard;
+    }
+
+    public void setCancelListener(ClickListener cancelListener){
+        this.cancelListener = cancelListener;
+    }
 }

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/editor/ViewPanel.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/editor/ViewPanel.java
  2007-09-27 19:17:45 UTC (rev 5113)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/editor/ViewPanel.java
  2007-09-27 21:18:45 UTC (rev 5114)
@@ -26,20 +26,35 @@
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Element;
 import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.ui.*;
+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.HorizontalPanel;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
 import org.curriki.gwt.client.CurrikiAsyncCallback;
 import org.curriki.gwt.client.CurrikiService;
 import org.curriki.gwt.client.Main;
 import org.curriki.gwt.client.utils.ClickListenerListener;
 
+import java.util.Map;
+
 public class ViewPanel extends VerticalPanel {
     ScrollPanel view;
     ModalDialog dialog;
+    Map args = null;
 
     public ViewPanel(ClickListener act_add) {
         initPanel(act_add);
     }
 
+    public ViewPanel(ClickListener act_add, Map args) {
+        initPanel(act_add);
+        this.args = args;
+    }
+
     private void initPanel(ClickListener act_add) {
         VerticalPanel main = new VerticalPanel();
         main.addStyleName("view-main");
@@ -86,7 +101,7 @@
 
     public void displayResource(String resourceName){
         // Fetch resource to display
-        CurrikiService.App.getInstance().getDocumentContent(resourceName, 
true, new displayRenderedContent(view));
+        CurrikiService.App.getInstance().getDocumentContent(resourceName, 
true, args, new displayRenderedContent(view));
     }
 
     public class displayRenderedContent extends CurrikiAsyncCallback {

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/ResultsPanel.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/ResultsPanel.java
       2007-09-27 19:17:45 UTC (rev 5113)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/ResultsPanel.java
       2007-09-27 21:18:45 UTC (rev 5114)
@@ -22,24 +22,19 @@
  */
 package org.curriki.gwt.client.search.panels;
 
+import com.google.gwt.user.client.History;
+import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.FlexTable;
 import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.ScrollPanel;
 import com.google.gwt.user.client.ui.SourcesTableEvents;
 import com.google.gwt.user.client.ui.TableListener;
 import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.ScrollPanel;
-import com.google.gwt.user.client.History;
 import com.xpn.xwiki.gwt.api.client.Document;
 import org.curriki.gwt.client.Constants;
 import org.curriki.gwt.client.Main;
 import org.curriki.gwt.client.search.Results;
-import org.curriki.gwt.client.search.editor.Viewer;
-import org.curriki.gwt.client.search.editor.ResourceAdder;
-import org.curriki.gwt.client.search.history.SearcherHistory;
-import org.curriki.gwt.client.search.history.KeepsState;
-import org.curriki.gwt.client.search.history.ClientState;
 import org.curriki.gwt.client.search.columns.ActionColumn;
 import org.curriki.gwt.client.search.columns.ContributorColumn;
 import org.curriki.gwt.client.search.columns.InstructionalTypeColumn;
@@ -47,6 +42,11 @@
 import org.curriki.gwt.client.search.columns.ReviewColumn;
 import org.curriki.gwt.client.search.columns.SortableColumnHeader;
 import org.curriki.gwt.client.search.columns.TitleColumn;
+import org.curriki.gwt.client.search.editor.ResourceAdder;
+import org.curriki.gwt.client.search.editor.Viewer;
+import org.curriki.gwt.client.search.history.ClientState;
+import org.curriki.gwt.client.search.history.KeepsState;
+import org.curriki.gwt.client.search.history.SearcherHistory;
 import org.curriki.gwt.client.search.queries.DoesSearch;
 import org.curriki.gwt.client.search.queries.LuceneAssetQuery;
 import org.curriki.gwt.client.search.queries.Paginator;
@@ -251,6 +251,10 @@
             TitleColumn title = (TitleColumn) columns[0];
             title.setCancelListener(cancelCallback);
         }
+        if (columns[3] instanceof ReviewColumn){
+            ReviewColumn review = (ReviewColumn) columns[3];
+            review.setCancelListener(cancelCallback);
+        }
         if (columns[4] instanceof ActionColumn){
             ActionColumn act = (ActionColumn) columns[4];
             act.setCancelListener(cancelCallback);
@@ -264,6 +268,10 @@
             TitleColumn title = (TitleColumn) columns[0];
             title.setViewer(viewer);
         }
+        if (columns[3] instanceof ReviewColumn){
+            ReviewColumn review = (ReviewColumn) columns[3];
+            review.setViewer(viewer);
+        }
     }
 
    public void setResourceAdder(ResourceAdder resourceAdder)
@@ -276,6 +284,17 @@
                 setViewer(title);
             }
         }
+        if (columns[2] instanceof ContributorColumn){
+            ContributorColumn creator = (ContributorColumn) columns[2];
+            creator.setUseNewWindow(true);
+        }
+        if (columns[3] instanceof ReviewColumn){
+            ReviewColumn review = (ReviewColumn) columns[3];
+            review.setResourceAdder(resourceAdder);
+            if (viewer == null){
+                setViewer(review);
+            }
+        }
         if (columns[4] instanceof ActionColumn){
             ActionColumn act = (ActionColumn) columns[4];
             act.setResourceAdder(resourceAdder);

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorMainPanel.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorMainPanel.java
  2007-09-27 19:17:45 UTC (rev 5113)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorMainPanel.java
  2007-09-27 21:18:45 UTC (rev 5114)
@@ -139,7 +139,7 @@
 
     public void onClick(Widget widget)
     {
-        if (widget.equals(search)){
+        if (widget.equals(search) || widget.equals(terms)){
             clickListeners.fireClick(this);
         }
         if (widget.equals(cancel)){

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to