KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > info > magnolia > module > admininterface > lists > WebsiteSearchList


1 package info.magnolia.module.admininterface.lists;
2
3 import info.magnolia.cms.beans.config.ContentRepository;
4 import info.magnolia.cms.gui.control.ContextMenu;
5 import info.magnolia.cms.gui.control.ContextMenuItem;
6 import info.magnolia.cms.gui.control.FunctionBar;
7 import info.magnolia.cms.gui.control.FunctionBarItem;
8 import info.magnolia.cms.gui.controlx.list.ListColumn;
9 import info.magnolia.cms.gui.controlx.list.ListControl;
10 import info.magnolia.cms.gui.controlx.list.ListModel;
11 import info.magnolia.cms.gui.controlx.search.RepositorySearchListModel;
12 import info.magnolia.cms.gui.controlx.search.SearchConfig;
13 import info.magnolia.cms.gui.query.SearchQuery;
14 import info.magnolia.cms.gui.query.SearchQueryExpression;
15 import info.magnolia.cms.gui.query.StringSearchQueryParameter;
16 import info.magnolia.cms.i18n.Messages;
17 import info.magnolia.cms.i18n.MessagesManager;
18 import info.magnolia.context.MgnlContext;
19
20 import javax.servlet.http.HttpServletRequest JavaDoc;
21 import javax.servlet.http.HttpServletResponse JavaDoc;
22
23 import org.apache.commons.lang.StringUtils;
24
25
26 public class WebsiteSearchList extends AbstractSimpleSearchList {
27
28     protected Messages msgs = MessagesManager.getMessages();
29
30     public WebsiteSearchList(String JavaDoc name, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
31         super(name, request, response);
32     }
33
34     public ListModel getModel() {
35         return new RepositorySearchListModel(ContentRepository.WEBSITE);
36     }
37
38     public void configureList(ListControl list) {
39         list.setRenderer(new AdminListControlRenderer() {
40
41             public String JavaDoc onSelect(ListControl list, Integer JavaDoc index) {
42                 String JavaDoc js = "mgnl.admininterface.WebsiteSearchList.selected = '" + list.getIteratorValue("path") + "';";
43                 js += super.onSelect(list, index);
44                 return js;
45             }
46         });
47
48         // show the icon by the name
49
list.addColumn(new ListColumn() {
50
51             {
52                 setName("name");
53                 setColumnName("name");
54                 setLabel("Name");
55                 setWidth("200");
56             }
57
58             public String JavaDoc render() {
59                 return "<span style=\"vertical-align: middle\"><img SRC=\""
60                     + MgnlContext.getContextPath()
61                     + "/.resources/icons/16/document_plain_earth.gif\"/></span>"
62                     + this.getValue();
63             }
64
65         });
66
67         list.addColumn(new ListColumn("mgnl:authorid", "User", "200", true));
68         list.addColumn(new ListColumn("title", "Title", "200", true));
69
70         list.addSortableField("name");
71         list.addSortableField("title");
72
73         list.addGroupableField("mgnl:authorid");
74     }
75
76     protected void configureContextMenu(ContextMenu menu) {
77         ContextMenuItem open = new ContextMenuItem("open");
78         open.setLabel(msgs.get("tree.web.menu.open")); //$NON-NLS-1$
79
open.setIcon(request.getContextPath() + "/.resources/icons/16/document_plain_earth.gif"); //$NON-NLS-1$
80
open.setOnclick("mgnl.admininterface.WebsiteSearchList.show();"); //$NON-NLS-1$
81
open
82             .addJavascriptCondition("{test: function(){return mgnl.admininterface.WebsiteSearchList.selected != null}}");
83
84         ContextMenuItem navigate = new ContextMenuItem("navigate");
85         navigate.setLabel(msgs.get("tree.menu.navigate")); //$NON-NLS-1$
86
navigate.setIcon(request.getContextPath() + "/.resources/icons/16/compass.gif"); //$NON-NLS-1$
87
navigate.setOnclick("mgnl.admininterface.WebsiteSearchList.navigate();"); //$NON-NLS-1$
88
navigate
89             .addJavascriptCondition("{test: function(){return mgnl.admininterface.WebsiteSearchList.selected != null}}");
90
91         menu.addMenuItem(open);
92         menu.addMenuItem(null);
93         menu.addMenuItem(navigate);
94     }
95
96     protected void configureFunctionBar(FunctionBar bar) {
97         bar.setSearchable(true);
98         bar.setSearchStr(this.getSearchStr());
99         bar.setOnSearchFunction("mgnl.admininterface.WebsiteSearchList.search");
100
101         ContextMenu menu = this.getContextMenu();
102
103         bar.addMenuItem(new FunctionBarItem(menu.getMenuItemByName("open")));
104         bar.addMenuItem(new FunctionBarItem(menu.getMenuItemByName("navigate")));
105
106     }
107
108     /**
109      * Here we create a all over query
110      */

111     public SearchQuery getQuery() {
112         SearchQuery query = new SearchQuery();
113         if (StringUtils.isNotEmpty(this.getSearchStr())) {
114             SearchQueryExpression exp = new StringSearchQueryParameter(
115                 "*",
116                 this.getSearchStr(),
117                 StringSearchQueryParameter.CONTAINS);
118             query.setRootExpression(exp);
119         }
120         return query;
121     }
122
123     /**
124      * Not used in this context
125      */

126     public SearchConfig getSearchConfig() {
127         return null;
128     }
129
130 }
131
Popular Tags