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.controlx.list.ListControl;
37 import info.magnolia.cms.gui.controlx.list.ListControlRenderer;
38
39
40 import org.apache.commons.lang.StringEscapeUtils;
41 import org.slf4j.Logger;
42 import org.slf4j.LoggerFactory;
43
44
45
46
47
48
49
50 public class AdminListControlRenderer extends ListControlRenderer {
51
52 public static Logger log = LoggerFactory.getLogger(AdminListControlRenderer.class);
53
54 private boolean border = false;
55
56 private String javaScriptClass = "mgnl.controls.List";
57
58
59
60
61 public AdminListControlRenderer() {
62 super();
63 setTemplateName("info/magnolia/module/admininterface/lists/ListControl.html");
64 }
65
66
67
68
69 public String onSelect(ListControl list, Integer index) {
70 return list.getName() + ".select(" + index + ");";
71 }
72
73
74
75
76 public String onRightClick(ListControl list, Integer index) {
77 if (list.getContextMenu() != null) {
78 return list.getContextMenu().getName() + ".show(event);";
79 }
80 return "";
81 }
82
83 public String onDblClick(ListControl list, Integer index) {
84 return list.getName() + ".show();";
85 }
86
87 public String getJavaScriptObject(ListControl list, Integer index){
88 return "{" + buildJavaScriptObject(list, list.getIteratorValueObject()) + "}";
89 }
90
91 protected String buildJavaScriptObject(ListControl list, Object value) {
92 return "id: '" + toViewId(list.getIteratorId()) + "'";
93 }
94
95 public String toViewId(String id) {
96 return StringEscapeUtils.escapeJavaScript(id);
97 }
98
99 public boolean isBorder() {
100 return this.border;
101 }
102
103 public void setBorder(boolean border) {
104 this.border = border;
105 }
106
107
108
109
110 public String getJavaScriptClass() {
111 return this.javaScriptClass;
112 }
113
114 public void setJavaScriptClass(String javaScriptClass) {
115 this.javaScriptClass = javaScriptClass;
116 }
117
118
119
120
121 public String getConstructorArguments(ListControl list){
122 return "'" + list.getName() + "', document.mgnlForm";
123 }
124 }