Author: dward
Date: 2007-09-26 20:38:56 +0200 (Wed, 26 Sep 2007)
New Revision: 5100
Added:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/ClientState.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/KeepsState.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/SearcherHistory.java
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Activity.gif
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Book.gif
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Curriculum.gif
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Multiple.gif
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Other.gif
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Resource.gif
Removed:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SelectionCollection.java
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Activity.png
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Book.png
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Curriculum.png
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Multiple.png
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Other.png
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Resource.png
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/Searcher.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/InstructionalTypeColumn.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/PaginationPanel.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/SearcherPanel.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorFilterPanel.java
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/SelectorPanel.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorTogglePanel.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DocumentSearcher.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DoesSearch.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/LuceneQuery.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/DropdownSelector.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/Selectable.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TermSelector.java
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TextInputSelector.java
Log:
- CURRIKI-882
- Make sure that the title column has a value
- Move to using GIF ICT Icons for better transparency around IE6 bug
- Add state holding class
- Add history functionality
- Fixup creator column values
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -29,7 +29,7 @@
public static final String TRANSLATION_PAGE =
"XWiki.CurrikiGWTTranslation";
public static final String CURRIKI_SERVICE = "/xwiki/gwt/CurrikiService";
- public static final String USER_URL_PREFIX = "/xwiki/bin/view/XWiki/";
+ public static final String USER_URL_PREFIX =
"/xwiki/bin/view/XWiki/XWiki/";
public static final String SKIN_PATH = "/xwiki/skins/curriki8/";
public static final String MIMETYPE_PATH = SKIN_PATH+"mimetypes/";
@@ -214,4 +214,8 @@
public static final String CURRIKI_REVIEW_RATING_PROPERTY = "rating";
public static final String CURRIKI_REVIEW_DATE_PROPERTY = "date";
public static final String CURRIKI_REVIEW_COMMENT_PROPERTY = "comment";
+
+ public static final String HISTORY_FIELD_SORTBY = "__sortBy";
+ public static final String HISTORY_FIELD_ATITEM = "__atItem";
+ public static final String HISTORY_FIELD_ADV_TOGGLE = "__advShow";
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/Searcher.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/Searcher.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/Searcher.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -25,22 +25,23 @@
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.RootPanel;
import org.curriki.gwt.client.search.panels.SearcherPanel;
+import org.curriki.gwt.client.search.history.ClientState;
+import org.curriki.gwt.client.search.history.SearcherHistory;
public class Searcher
{
- private org.curriki.gwt.client.search.SearcherHistory history;
+ private SearcherHistory history;
+ private ClientState state;
public void init()
{
- history = new org.curriki.gwt.client.search.SearcherHistory();
+ history = new SearcherHistory();
+ History.addHistoryListener(history);
+ state = new ClientState();
+ history.addState(state);
String initToken = History.getToken();
- boolean doSearch = false;
- if (initToken.length() == 0){
- /* An empty token can be a state -- just "search page" */
- //initToken = "_";
- doSearch = true;
- }
+ state.InitFromToken(initToken);
// History needs to track search parameters and what page we are on
for results
@@ -58,21 +59,18 @@
// Have buttons "Previous" 11 12 13 ... 19 20 "Next"
SearcherPanel main = new SearcherPanel();
+ main.addHistory(history);
history.addSearcher(main.getSearcher());
+ history.addSelector(main.getSelector());
+ history.addPaginator(main.getPaginator());
- // Sets up defaults based on history
- history.onHistoryChanged(initToken);
-
if (RootPanel.get("searchElement") != null){
RootPanel.get("searchElement").add(main);
} else {
RootPanel.get().add(main);
}
- History.addHistoryListener(history);
-
- if (doSearch){
- main.getSearcher().doSearch();
- }
+ // Sets up defaults based on history
+ history.onHistoryChanged(initToken);
}
}
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-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ContributorColumn.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -55,10 +55,12 @@
{
HTML nameCol = new HTML();
String name = getDisplayString(value);
- String url = Constants.USER_URL_PREFIX+name;
+ if (name.length() > 0){
+ name = name.replaceFirst("XWiki.", "");
+ String url = Constants.USER_URL_PREFIX+name;
+ nameCol.setHTML("<a href=\""+url+"\">"+name+"</a>");
+ }
- nameCol.setHTML("<a href=\""+url+"\">"+name+"</a>");
-
return nameCol;
}
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -71,7 +71,7 @@
String icon = name.replaceAll(":.*", "");
name = name.replaceFirst(icon+":", "");
if (icon.length() > 0) {
- Image img = new
Image(Constants.ICON_PATH+"ICTIcon-"+icon+".png");
+ Image img = new
Image(Constants.ICON_PATH+"ICTIcon-"+icon+".gif");
img.setTitle(icon);
ret.add(img);
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -79,9 +79,14 @@
if (value.getObject(Constants.ASSET_CLASS) != null){
value.use(Constants.ASSET_CLASS);
if (value.get(Constants.ASSET_TITLE_PROPERTY) != null){
- name = value.get(Constants.ASSET_TITLE_PROPERTY);
- if (name.length() > maxLength){
- name = name.substring(0, (maxLength-1))+"...";
+ String title = value.get(Constants.ASSET_TITLE_PROPERTY);
+ title = title.replaceAll("^ *", "");
+ title = title.replaceAll(" *$", "");
+ if (title.length() > 0){
+ name = title;
+ if (name.length() > maxLength){
+ name = name.substring(0, (maxLength-1))+"...";
+ }
}
}
@@ -90,6 +95,10 @@
}
}
+ if (name.length() < 1){
+ name = Main.getTranslation("search.unknown_title");
+ }
+
nameCol.setHTML("<a href=\""+url+"\">"+name+"</a>");
if (desc.length() > 0){
addTooltip(nameCol, "<b>Description:</b><br>"+desc);
Added:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/ClientState.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/ClientState.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/ClientState.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2007, The Global Education and Learning Community,
+ * and individual contributors as indicated by the contributors.txt.
+ *
+ * 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.
+ *
+ * @author dward
+ *
+ */
+package org.curriki.gwt.client.search.history;
+
+import java.util.HashMap;
+
+/***
+ * Class, that transform currect history token into state (hashmap)
+ */
+public class ClientState
+{
+ private HashMap paramsMap = new HashMap();
+
+ /**
+ * Constucts new state from specified token
+ */
+ public ClientState(String historyToken)
+ {
+ InitFromToken(historyToken);
+ }
+
+ /**
+ * Constructs new empty state
+ */
+ public ClientState()
+ {
+ }
+
+ /**
+ * Initialize state from token
+ */
+ public void InitFromToken(String historyToken)
+ {
+ paramsMap.clear();
+ if (historyToken != null && historyToken.length() > 1) {
+ String[] kvPairs = historyToken.split("&");
+ for (int i = 0; i < kvPairs.length; i++) {
+ String[] kv = kvPairs[i].split("=");
+ if (kv.length > 1) {
+ paramsMap.put(kv[0], kv[1]);
+ } else {
+ paramsMap.put(kv[0], "");
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns state's value with specified key
+ *
+ * @return state's value
+ */
+ public String getValue(String key)
+ {
+ if (paramsMap.containsKey(key))
+ return (String) paramsMap.get(key);
+ else return "";
+ }
+
+ /**
+ * Set state's value with specified key
+ */
+ public void setValue(String key, String value)
+ {
+ paramsMap.put(key, value);
+ }
+
+ /**
+ * Constructs token using current state
+ *
+ * @return History Token
+ */
+ public String getHistoryToken()
+ {
+ String result = "";
+ Object[] keys = paramsMap.keySet().toArray();
+ for (int c = 0; c < keys.length; c++) {
+ String key = (String) keys[c];
+ if (result != "") result += "&";
+ result += key + "=" + (String) paramsMap.get(key);
+ }
+ return result;
+ }
+}
\ No newline at end of file
Added:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/KeepsState.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/KeepsState.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/KeepsState.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2007, The Global Education and Learning Community,
+ * and individual contributors as indicated by the contributors.txt.
+ *
+ * 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.
+ *
+ * @author dward
+ *
+ */
+package org.curriki.gwt.client.search.history;
+
+public interface KeepsState
+{
+ public void loadState(ClientState state);
+ public void saveState(ClientState state);
+}
Copied:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/SearcherHistory.java
(from rev 5080,
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/SearcherHistory.java)
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/SearcherHistory.java
2007-09-24 13:44:42 UTC (rev 5080)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/history/SearcherHistory.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -0,0 +1,107 @@
+/*
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * 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.
+ *
+ * @author dward
+ *
+ */
+package org.curriki.gwt.client.search.history;
+
+import com.google.gwt.user.client.HistoryListener;
+import org.curriki.gwt.client.search.queries.DoesSearch;
+import org.curriki.gwt.client.search.queries.Paginator;
+import org.curriki.gwt.client.search.selectors.Selectable;
+
+public class SearcherHistory implements HistoryListener
+{
+ protected DoesSearch searcher;
+ protected Selectable selector;
+ protected Paginator paginator;
+ protected ClientState state;
+ protected boolean ignoreNextChange = false;
+
+ public boolean isIgnoreNextChange()
+ {
+ return ignoreNextChange;
+ }
+
+ public void setIgnoreNextChange(boolean ignoreNextChange)
+ {
+ this.ignoreNextChange = ignoreNextChange;
+ }
+
+ public void onHistoryChanged(String token)
+ {
+ if (!isIgnoreNextChange()){
+ state.InitFromToken(token);
+ loadState();
+ searcher.doSearchFromHistory();
+ } else {
+ setIgnoreNextChange(false);
+ }
+ }
+
+ public String createToken(){
+ saveState();
+ return state.getHistoryToken();
+ }
+
+ public void addSearcher(DoesSearch searcher)
+ {
+ this.searcher = searcher;
+ }
+
+ public void addSelector(Selectable selector)
+ {
+ this.selector = selector;
+ }
+
+ public void addPaginator(Paginator paginator)
+ {
+ this.paginator = paginator;
+ }
+
+ public void addState(ClientState state)
+ {
+ this.state = state;
+ }
+
+ public void saveState(){
+ if (searcher instanceof KeepsState){
+ ((KeepsState) searcher).saveState(state);
+ }
+ if (selector instanceof KeepsState){
+ ((KeepsState) selector).saveState(state);
+ }
+ if (paginator instanceof KeepsState){
+ ((KeepsState) paginator).saveState(state);
+ }
+ }
+
+ public void loadState(){
+ if (searcher instanceof KeepsState){
+ ((KeepsState) searcher).loadState(state);
+ }
+ if (selector instanceof KeepsState){
+ ((KeepsState) selector).loadState(state);
+ }
+ if (paginator instanceof KeepsState){
+ ((KeepsState) paginator).loadState(state);
+ }
+ }
+}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/PaginationPanel.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/PaginationPanel.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/PaginationPanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -33,8 +33,10 @@
import org.curriki.gwt.client.Main;
import org.curriki.gwt.client.search.queries.DoesSearch;
import org.curriki.gwt.client.search.queries.Paginator;
+import org.curriki.gwt.client.search.history.KeepsState;
+import org.curriki.gwt.client.search.history.ClientState;
-public class PaginationPanel extends VerticalPanel implements Paginator
+public class PaginationPanel extends VerticalPanel implements Paginator,
KeepsState
{
protected Hyperlink prev = new Hyperlink();
protected Hyperlink next = new Hyperlink();
@@ -266,4 +268,20 @@
{
this.searcher = searcher;
}
+
+ public void loadState(ClientState state)
+ {
+ try {
+ Integer i =
Integer.valueOf(state.getValue(Constants.HISTORY_FIELD_ATITEM));
+ start = i.intValue();
+ } catch (Exception e){
+ // Ignore
+ start = 1;
+ }
+ }
+
+ public void saveState(ClientState state)
+ {
+ state.setValue(Constants.HISTORY_FIELD_ATITEM,
Integer.toString(start));
+ }
}
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-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/ResultsPanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -27,9 +27,13 @@
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.History;
import com.xpn.xwiki.gwt.api.client.Document;
import org.curriki.gwt.client.Constants;
import org.curriki.gwt.client.search.Results;
+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;
@@ -42,8 +46,10 @@
import org.curriki.gwt.client.search.queries.Paginator;
import org.curriki.gwt.client.search.selectors.Selectable;
-public class ResultsPanel extends FlowPanel implements DoesSearch,
ResultsRenderer, TableListener
+public class ResultsPanel extends FlowPanel implements DoesSearch,
ResultsRenderer, TableListener,
+ KeepsState
{
+ protected SearcherHistory history;
protected Results results;
protected LuceneAssetQuery query;
protected Paginator paginator;
@@ -82,11 +88,21 @@
add(g);
}
- public void doSearch()
- {
- int start = 1;
- int count = Constants.DIALOG_FIND_FETCH_COUNT;
+ public void addHistory(SearcherHistory history){
+ this.history = history;
+ }
+ public void doSearch() {
+ history.setIgnoreNextChange(true);
+ History.newItem(history.createToken());
+ doRealSearch();
+ }
+
+ public void doSearchFromHistory(){
+ doRealSearch();
+ }
+
+ public void doRealSearch(){
if (results != null) {
query = new LuceneAssetQuery();
query.setReceiver(results);
@@ -101,10 +117,8 @@
query.setPaginator(paginator);
query.doSearch();
} else {
- query.doSearch(start, count);
+ query.doSearch(1, Constants.DIALOG_FIND_FETCH_COUNT);
}
-
- //TODO: Add to history
}
}
@@ -160,6 +174,24 @@
return sortBy;
}
+ public void loadState(ClientState state)
+ {
+ if (state.getValue(Constants.HISTORY_FIELD_SORTBY).length() > 0){
+ sortBy = state.getValue(Constants.HISTORY_FIELD_SORTBY);
+ } else {
+ sortBy = "";
+ }
+ }
+
+ public void saveState(ClientState state)
+ {
+ if (sortBy.length() > 0){
+ state.setValue(Constants.HISTORY_FIELD_SORTBY, sortBy);
+ } else {
+ state.setValue(Constants.HISTORY_FIELD_SORTBY, "");
+ }
+ }
+
public void onCellClicked(SourcesTableEvents sourcesTableEvents, int row,
int cell)
{
if (row == 0){ // Only accept clicks on headings
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SearcherPanel.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SearcherPanel.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SearcherPanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -28,6 +28,9 @@
import com.google.gwt.user.client.ui.Widget;
import org.curriki.gwt.client.Main;
import org.curriki.gwt.client.search.queries.DoesSearch;
+import org.curriki.gwt.client.search.queries.Paginator;
+import org.curriki.gwt.client.search.selectors.Selectable;
+import org.curriki.gwt.client.search.history.SearcherHistory;
public class SearcherPanel extends VerticalPanel implements ClickListener
{
@@ -61,11 +64,23 @@
add(pagination);
}
+ public void addHistory(SearcherHistory history){
+ results.addHistory(history);
+ }
+
public DoesSearch getSearcher()
{
return results;
}
+ public Selectable getSelector(){
+ return selector;
+ }
+
+ public Paginator getPaginator(){
+ return pagination;
+ }
+
public void onClick(Widget widget)
{
if (widget instanceof SelectorPanel){
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorFilterPanel.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorFilterPanel.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorFilterPanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -28,11 +28,12 @@
import com.google.gwt.user.client.ui.SourcesChangeEvents;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
+import org.curriki.gwt.client.search.history.ClientState;
+import org.curriki.gwt.client.search.history.KeepsState;
import org.curriki.gwt.client.search.selectors.EducationalLevelSelector;
import org.curriki.gwt.client.search.selectors.FileTypeSelector;
import org.curriki.gwt.client.search.selectors.InstructionalTypeSelector;
import org.curriki.gwt.client.search.selectors.Selectable;
-import org.curriki.gwt.client.search.selectors.SelectionCollection;
import org.curriki.gwt.client.search.selectors.SelectorCollection;
import org.curriki.gwt.client.search.selectors.SpecialFilterSelector;
import org.curriki.gwt.client.search.selectors.SubjectSelector;
@@ -40,7 +41,7 @@
import java.util.Iterator;
public class SelectorFilterPanel extends VerticalPanel implements
ChangeListener, Selectable,
- SourcesChangeEvents
+ SourcesChangeEvents, KeepsState
{
protected SelectorCollection selectors = new SelectorCollection();
protected String fieldName;
@@ -133,27 +134,25 @@
return filter;
}
- public SelectionCollection getSelected()
+ public void loadState(ClientState state)
{
- SelectionCollection selected = new SelectionCollection();
Iterator i = selectors.iterator();
while (i.hasNext()){
- Selectable s = (Selectable) i.next();
- Iterator j = s.getSelected().keySet().iterator();
- while (j.hasNext()){
- String key = (String) j.next();
- selected.put(key, s.getSelected().get(key));
+ Object s = i.next();
+ if (s instanceof KeepsState){
+ ((KeepsState) s).loadState(state);
}
}
-
- return selected;
}
- public void setSelected(SelectionCollection selection)
+ public void saveState(ClientState state)
{
Iterator i = selectors.iterator();
while (i.hasNext()){
- ((Selectable) i.next()).setSelected(selection);
+ Object s = i.next();
+ if (s instanceof KeepsState){
+ ((KeepsState) s).saveState(state);
+ }
}
}
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-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorMainPanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -28,13 +28,16 @@
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.ClickListenerCollection;
import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
import com.google.gwt.user.client.ui.SourcesChangeEvents;
import com.google.gwt.user.client.ui.SourcesClickEvents;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.KeyboardListener;
import org.curriki.gwt.client.Main;
+import org.curriki.gwt.client.search.history.ClientState;
+import org.curriki.gwt.client.search.history.KeepsState;
import org.curriki.gwt.client.search.selectors.Selectable;
-import org.curriki.gwt.client.search.selectors.SelectionCollection;
import org.curriki.gwt.client.search.selectors.SelectorCollection;
import org.curriki.gwt.client.search.selectors.TermSelector;
import org.curriki.gwt.client.search.selectors.TextInputSelector;
@@ -42,7 +45,7 @@
import java.util.Iterator;
public class SelectorMainPanel extends HorizontalPanel implements
ChangeListener, ClickListener,
- Selectable, SourcesChangeEvents, SourcesClickEvents
+ Selectable, SourcesChangeEvents, SourcesClickEvents, KeepsState
{
protected TextInputSelector terms;
protected Button search;
@@ -55,6 +58,13 @@
terms = new TermSelector();
terms.setFieldName("");
terms.addChangeListener(this);
+ terms.addKeyboardListener(new KeyboardListenerAdapter() {
+ public void onKeyDown(Widget sender, char keyCode, int modifiers){
+ if (keyCode == KeyboardListener.KEY_ENTER){
+ onClick(sender);
+ }
+ }
+ });
selectors.add(terms);
VerticalPanel pTerms = new VerticalPanel();
@@ -112,30 +122,6 @@
return filter;
}
- public SelectionCollection getSelected()
- {
- SelectionCollection selected = new SelectionCollection();
- Iterator i = selectors.iterator();
- while (i.hasNext()){
- Selectable s = (Selectable) i.next();
- Iterator j = s.getSelected().keySet().iterator();
- while (j.hasNext()){
- String key = (String) j.next();
- selected.put(key, s.getSelected().get(key));
- }
- }
-
- return selected;
- }
-
- public void setSelected(SelectionCollection selection)
- {
- Iterator i = selectors.iterator();
- while (i.hasNext()){
- ((Selectable) i.next()).setSelected(selection);
- }
- }
-
public void onChange(Widget widget)
{
if (widget instanceof Selectable) {
@@ -181,4 +167,26 @@
clickListeners.remove(clickListener);
}
}
+
+ public void loadState(ClientState state)
+ {
+ Iterator i = selectors.iterator();
+ while (i.hasNext()){
+ Object s = i.next();
+ if (s instanceof KeepsState){
+ ((KeepsState) s).loadState(state);
+ }
+ }
+ }
+
+ public void saveState(ClientState state)
+ {
+ Iterator i = selectors.iterator();
+ while (i.hasNext()){
+ Object s = i.next();
+ if (s instanceof KeepsState){
+ ((KeepsState) s).saveState(state);
+ }
+ }
+ }
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorPanel.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorPanel.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorPanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -28,14 +28,15 @@
import com.google.gwt.user.client.ui.SourcesClickEvents;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
+import org.curriki.gwt.client.search.history.ClientState;
+import org.curriki.gwt.client.search.history.KeepsState;
import org.curriki.gwt.client.search.selectors.Selectable;
-import org.curriki.gwt.client.search.selectors.SelectionCollection;
import org.curriki.gwt.client.search.selectors.SelectorCollection;
import java.util.Iterator;
public class SelectorPanel extends VerticalPanel implements ChangeListener,
ClickListener,
- Selectable, SourcesClickEvents
+ Selectable, SourcesClickEvents, KeepsState
{
protected SelectorMainPanel main;
protected SelectorFilterPanel filters;
@@ -109,30 +110,30 @@
return filter;
}
- public SelectionCollection getSelected()
+ public void loadState(ClientState state)
{
- SelectionCollection selected = new SelectionCollection();
Iterator i = selectors.iterator();
while (i.hasNext()){
- Selectable s = (Selectable) i.next();
- Iterator j = s.getSelected().keySet().iterator();
- while (j.hasNext()){
- String key = (String) j.next();
- selected.put(key, s.getSelected().get(key));
+ Object s = i.next();
+ if (s instanceof KeepsState){
+ ((KeepsState) s).loadState(state);
}
}
-
- return selected;
+ bottom.loadState(state);
}
- public void setSelected(SelectionCollection selection)
+ public void saveState(ClientState state)
{
Iterator i = selectors.iterator();
while (i.hasNext()){
- ((Selectable) i.next()).setSelected(selection);
+ Object s = i.next();
+ if (s instanceof KeepsState){
+ ((KeepsState) s).saveState(state);
+ }
}
+ bottom.saveState(state);
}
-
+
public void onChange(Widget widget)
{
//TODO: Get changed values
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorTogglePanel.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorTogglePanel.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/panels/SelectorTogglePanel.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -27,8 +27,11 @@
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Widget;
import org.curriki.gwt.client.Main;
+import org.curriki.gwt.client.Constants;
+import org.curriki.gwt.client.search.history.KeepsState;
+import org.curriki.gwt.client.search.history.ClientState;
-public class SelectorTogglePanel extends VerticalPanel implements ClickListener
+public class SelectorTogglePanel extends VerticalPanel implements
ClickListener, KeepsState
{
protected SelectorFilterPanel filters;
protected HTML toggleWidget;
@@ -75,8 +78,27 @@
}
}
+ public void setToggleValue(boolean show){
+ if (filters == null){
+ return;
+ }
+
+ filters.setVisible(show);
+ doSetToggleWidget();
+ }
+
public void onClick(Widget widget)
{
doToggle();
}
+
+ public void loadState(ClientState state){
+ if (state.getValue(Constants.HISTORY_FIELD_ADV_TOGGLE).length() > 0){
+
setToggleValue(state.getValue(Constants.HISTORY_FIELD_ADV_TOGGLE).equals("1"));
+ }
+ }
+
+ public void saveState(ClientState state){
+ state.setValue(Constants.HISTORY_FIELD_ADV_TOGGLE,
(filters.isVisible()?"1":"0"));
+ }
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DocumentSearcher.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DocumentSearcher.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DocumentSearcher.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -22,14 +22,12 @@
*/
package org.curriki.gwt.client.search.queries;
-import org.curriki.gwt.client.search.selectors.SelectionCollection;
-
import java.util.List;
public interface DocumentSearcher
{
public void setLimit(int limit);
- public void setCriteria(SelectionCollection criteria);
+ public void setCriteria(String criteria);
public void setReceiver(ResultsReceiver receiver);
public void doSearch(int start, int count);
public int getHitcount();
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DoesSearch.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DoesSearch.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/DoesSearch.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -25,5 +25,6 @@
public interface DoesSearch
{
public void doSearch();
+ public void doSearchFromHistory();
public void setPaginator(Paginator paginator);
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/LuceneQuery.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/LuceneQuery.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/queries/LuceneQuery.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -26,7 +26,6 @@
import org.curriki.gwt.client.Constants;
import org.curriki.gwt.client.CurrikiAsyncCallback;
import org.curriki.gwt.client.CurrikiService;
-import org.curriki.gwt.client.search.selectors.SelectionCollection;
import java.util.Iterator;
import java.util.List;
@@ -50,24 +49,6 @@
this.limit = limit;
}
- public void setCriteria(SelectionCollection criteria)
- {
- searchTerms = "";
- Iterator i = criteria.keySet().iterator();
- while (i.hasNext()){
- String key = (String) i.next();
- String value = criteria.get(key);
-
- if (value.length() > 0){
- if (key.length() > 0){
- searchTerms += " AND "+key+":"+value;
- } else {
- searchTerms += " AND "+value;
- }
- }
- }
- }
-
public void setCriteria(String criteria)
{
searchTerms = criteria;
@@ -93,7 +74,7 @@
public void doSearch(int start, int count)
{
- if (sortBy == null){
+ if ((sortBy == null) || (sortBy.length() == 0)){
sortBy = "name";
}
CurrikiService.App.getInstance().luceneSearch(searchTerms, start,
limit, sortBy, new LuceneQuery.populateResultsCallback());
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/DropdownSelector.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/DropdownSelector.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/DropdownSelector.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -31,12 +31,14 @@
import com.google.gwt.user.client.ui.Widget;
import org.curriki.gwt.client.Constants;
import org.curriki.gwt.client.Main;
+import org.curriki.gwt.client.search.history.KeepsState;
+import org.curriki.gwt.client.search.history.ClientState;
import org.curriki.gwt.client.widgets.metadata.TooltipMouseListener;
import java.util.HashMap;
import java.util.Map;
-abstract public class DropdownSelector extends ListBox implements Selectable
+abstract public class DropdownSelector extends ListBox implements Selectable,
KeepsState
{
protected Element selectbox;
protected Map groups = new HashMap();
@@ -106,6 +108,17 @@
return elem.options[index].selected;
}-*/;
+ /**
+ * Override setSelectedIndex() so that we get the n'th item in the options
array instead of the n'th child
+ */
+ public void setSelectedIndex(int index){
+ setItemSelected(this.getElement(), index, true);
+ }
+
+ public native void setItemSelected(Element elem, int index, boolean
selected) /*-{
+ elem.options[index].selected = selected;
+ }-*/;
+
public void setFieldName(String name)
{
this.fieldName = name;
@@ -142,25 +155,6 @@
return filter;
}
- public SelectionCollection getSelected()
- {
- SelectionCollection s = new SelectionCollection();
-
- String value = getValue(getSelectedIndex());
- if (value.length() > 0){
- s.put(getFieldName(), value);
- } else {
- s.remove(getFieldName());
- }
-
- return s;
- }
-
- public void setSelected(SelectionCollection selection)
- {
- //TODO: set selected items
- }
-
protected Widget getTooltip(String name) {
String txt = Main.getTranslation("search.selector." + name +
"_tooltip");
Image image = new Image(Constants.ICON_PATH+"exclamation.png");
@@ -171,4 +165,44 @@
image.addMouseListener(new TooltipMouseListener(popup));
return image;
}
+
+ public native int getOptionCount(Element element) /*-{
+ return elem.options.length;
+ }-*/;
+
+ public void saveState(ClientState state)
+ {
+ if (getFieldName().length() > 0){
+ String value = getValue(getSelectedIndex());
+ if (value.length() > 0){
+ state.setValue(getFieldName(), value);
+ } else {
+ state.setValue(getFieldName(), "");
+ }
+ }
+ }
+
+ public void loadState(ClientState state)
+ {
+ if (getFieldName().length() > 0){
+ String value = state.getValue(getFieldName());
+ if (value.length() > 0){
+ String curValue = getValue(getSelectedIndex());
+ if (!value.equals(curValue)){
+ Element e = this.getElement();
+ int children = getOptionCount(e);
+ for (int i=0; i<children; i++){
+ String opt = getValue(i);
+ if (opt.equals(value)){
+ // Set selected
+ setItemSelected(e, i, true);
+ } else {
+ // Set not selected
+ setItemSelected(e, i, false);
+ }
+ }
+ }
+ }
+ }
+ }
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/Selectable.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/Selectable.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/Selectable.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -30,6 +30,4 @@
public void setFieldName(String name);
public String getFieldName();
public String getFilter();
- public SelectionCollection getSelected();
- public void setSelected(SelectionCollection selection);
}
Deleted:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SelectionCollection.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SelectionCollection.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SelectionCollection.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -1,36 +0,0 @@
-/*
- * See the NOTICE file distributed with this work for additional
- * information regarding copyright ownership.
- *
- * 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.
- *
- * @author dward
- *
- */
-package org.curriki.gwt.client.search.selectors;
-
-import java.util.HashMap;
-
-public class SelectionCollection extends HashMap
-{
- public void put(String id, String value){
- super.put(id, value);
- }
-
- public String get(String id){
- return (String) super.get(id);
- }
-}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TermSelector.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TermSelector.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TermSelector.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -30,10 +30,11 @@
public class TermSelector extends TextInputSelector
{
protected int selectorSize = 30;
- protected String selector_id = "terms";
+ protected String selector_id = "__terms";
public TermSelector() {
super();
+ setName(selector_id);
setVisibleLength(selectorSize);
}
@@ -50,8 +51,8 @@
public Widget getLabel()
{
HorizontalPanel p = new HorizontalPanel();
- p.add(new Label(Main.getTranslation("search.selector."+selector_id)));
- p.add(getTooltip(selector_id));
+ p.add(new Label(Main.getTranslation("search.selector.terms")));
+ p.add(getTooltip("terms"));
return p;
}
}
Modified:
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TextInputSelector.java
===================================================================
---
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TextInputSelector.java
2007-09-26 15:46:50 UTC (rev 5099)
+++
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/TextInputSelector.java
2007-09-26 18:38:56 UTC (rev 5100)
@@ -29,9 +29,11 @@
import com.google.gwt.user.client.ui.HTML;
import org.curriki.gwt.client.Constants;
import org.curriki.gwt.client.Main;
+import org.curriki.gwt.client.search.history.KeepsState;
+import org.curriki.gwt.client.search.history.ClientState;
import org.curriki.gwt.client.widgets.metadata.TooltipMouseListener;
-abstract public class TextInputSelector extends TextBox implements Selectable
+abstract public class TextInputSelector extends TextBox implements Selectable,
KeepsState
{
protected String fieldName;
@@ -84,16 +86,17 @@
return filter;
}
- public SelectionCollection getSelected(){
- SelectionCollection s = new SelectionCollection();
- s.put(getName(), getText());
-
- return s;
+ public void loadState(ClientState state)
+ {
+ if (getName().length() > 0){
+ setText(state.getValue(getName()));
+ }
}
- public void setSelected(SelectionCollection selection){
- if (selection.containsKey(getName())){
- setText(selection.get(getName()));
+ public void saveState(ClientState state)
+ {
+ if (getName().length() > 0){
+ state.setValue(getName(), getText());
}
}
Added:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Activity.gif
===================================================================
(Binary files differ)
Property changes on:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Activity.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Activity.png
===================================================================
(Binary files differ)
Added:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Book.gif
===================================================================
(Binary files differ)
Property changes on:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Book.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Book.png
===================================================================
(Binary files differ)
Added:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Curriculum.gif
===================================================================
(Binary files differ)
Property changes on:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Curriculum.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Curriculum.png
===================================================================
(Binary files differ)
Added:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Multiple.gif
===================================================================
(Binary files differ)
Property changes on:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Multiple.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Multiple.png
===================================================================
(Binary files differ)
Added:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Other.gif
===================================================================
(Binary files differ)
Property changes on:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Other.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Other.png
===================================================================
(Binary files differ)
Added:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Resource.gif
===================================================================
(Binary files differ)
Property changes on:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Resource.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted:
xwiki-products/curriki/trunk/web/src/main/webapp/skins/curriki8/icons/ICTIcon-Resource.png
===================================================================
(Binary files differ)
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications