1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.admininterface.lists;
35
36 import info.magnolia.cms.gui.control.ContextMenu;
37 import info.magnolia.cms.gui.control.ContextMenuItem;
38 import info.magnolia.cms.gui.control.FunctionBar;
39 import info.magnolia.cms.gui.control.FunctionBarItem;
40 import info.magnolia.cms.gui.controlx.list.ListColumn;
41 import info.magnolia.cms.gui.controlx.list.ListControl;
42 import info.magnolia.cms.gui.controlx.list.ListModel;
43 import info.magnolia.cms.gui.controlx.search.RepositorySearchListModel;
44 import info.magnolia.cms.gui.controlx.search.SearchConfig;
45 import info.magnolia.cms.gui.controlx.search.SimpleSearchUtil;
46 import info.magnolia.cms.gui.query.SearchQuery;
47 import info.magnolia.cms.i18n.Messages;
48 import info.magnolia.cms.i18n.MessagesManager;
49 import info.magnolia.context.MgnlContext;
50 import info.magnolia.repository.RepositoryConstants;
51
52 import javax.servlet.http.HttpServletRequest;
53 import javax.servlet.http.HttpServletResponse;
54
55 public class WebsiteSearchList extends AbstractSimpleSearchList {
56
57 protected Messages msgs = MessagesManager.getMessages();
58
59 public WebsiteSearchList(String name, HttpServletRequest request, HttpServletResponse response) {
60 super(name, request, response);
61 }
62
63 @Override
64 public ListModel getModel() {
65 return new RepositorySearchListModel(RepositoryConstants.WEBSITE);
66 }
67
68 @Override
69 public void configureList(ListControl list) {
70 list.setRenderer(new AdminListControlRenderer() {
71
72 @Override
73 public String onDblClick(ListControl list, Integer index) {
74 return "mgnl.admininterface.WebsiteSearchList.show();";
75 }
76
77 @Override
78 public String onSelect(ListControl list, Integer index) {
79 String js = "mgnl.admininterface.WebsiteSearchList.selected = '" + list.getIteratorValue("path") + "';";
80 js += super.onSelect(list, index);
81 return js;
82 }
83 });
84
85
86 list.addColumn(new ListColumn() {
87
88 {
89 setName("name");
90 setColumnName("name");
91 setLabel("Name");
92 setWidth("200");
93 }
94
95 @Override
96 public String render() {
97 return "<span style=\"vertical-align: middle\"><img src=\""
98 + MgnlContext.getContextPath()
99 + "/.resources/icons/16/document_plain_earth.gif\"/></span>"
100 + this.getValue();
101 }
102
103 });
104
105 list.addColumn(new ListColumn("mgnl:authorid", "User", "200", true));
106 list.addColumn(new ListColumn("title", "Title", "200", true));
107
108 list.addSortableField("name");
109 list.addSortableField("title");
110
111 list.addGroupableField("mgnl:authorid");
112 }
113
114 @Override
115 protected void configureContextMenu(ContextMenu menu) {
116 ContextMenuItem open = new ContextMenuItem("open");
117 open.setLabel(msgs.get("tree.web.menu.open"));
118 open.setIcon(request.getContextPath() + "/.resources/icons/16/document_plain_earth.gif");
119 open.setOnclick("mgnl.admininterface.WebsiteSearchList.show();");
120 open.addJavascriptCondition("{test: function(){return mgnl.admininterface.WebsiteSearchList.selected != null}}");
121
122 ContextMenuItem navigate = new ContextMenuItem("navigate");
123 navigate.setLabel(msgs.get("tree.menu.navigate"));
124 navigate.setIcon(request.getContextPath() + "/.resources/icons/16/compass.gif");
125 navigate.setOnclick("mgnl.admininterface.WebsiteSearchList.navigate();");
126 navigate.addJavascriptCondition("{test: function(){return mgnl.admininterface.WebsiteSearchList.selected != null}}");
127
128 menu.addMenuItem(open);
129 menu.addMenuItem(null);
130 menu.addMenuItem(navigate);
131 }
132
133 @Override
134 protected void configureFunctionBar(FunctionBar bar) {
135 super.configureFunctionBar(bar);
136 bar.setOnSearchFunction("mgnl.admininterface.WebsiteSearchList.search");
137
138 ContextMenu menu = this.getContextMenu();
139
140 bar.addMenuItem(new FunctionBarItem(menu.getMenuItemByName("open")));
141 bar.addMenuItem(new FunctionBarItem(menu.getMenuItemByName("navigate")));
142
143 }
144
145
146
147
148 @Override
149 public SearchQuery getQuery() {
150 return SimpleSearchUtil.getSimpleSearchQuery(this.getSearchStr());
151
152 }
153
154
155
156
157 @Override
158 public SearchConfig getSearchConfig() {
159 return null;
160 }
161
162 }