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