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 @Override
70 public String onSelect(ListControl list, Integer index) {
71 return list.getName() + ".select(" + index + ");";
72 }
73
74
75
76
77 @Override
78 public String onRightClick(ListControl list, Integer index) {
79 if (list.getContextMenu() != null) {
80 return list.getContextMenu().getName() + ".show(event);";
81 }
82 return "";
83 }
84
85 @Override
86 public String onDblClick(ListControl list, Integer index) {
87 return list.getName() + ".show();";
88 }
89
90 public String getJavaScriptObject(ListControl list, Integer index){
91 return "{" + buildJavaScriptObject(list, list.getIteratorValueObject()) + "}";
92 }
93
94 protected String buildJavaScriptObject(ListControl list, Object value) {
95 return "id: '" + toViewId(list.getIteratorId()) + "'";
96 }
97
98 public String toViewId(String id) {
99 return StringEscapeUtils.escapeJavaScript(id);
100 }
101
102 public boolean isBorder() {
103 return this.border;
104 }
105
106 public void setBorder(boolean border) {
107 this.border = border;
108 }
109
110
111
112
113 public String getJavaScriptClass() {
114 return this.javaScriptClass;
115 }
116
117 public void setJavaScriptClass(String javaScriptClass) {
118 this.javaScriptClass = javaScriptClass;
119 }
120
121
122
123
124 public String getConstructorArguments(ListControl list){
125 return "'" + list.getName() + "', document.mgnlForm";
126 }
127 }