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.cms.gui.control;
35
36 import info.magnolia.cms.core.Content;
37 import info.magnolia.cms.core.NodeData;
38 import info.magnolia.cms.util.MetaDataUtil;
39 import info.magnolia.cms.util.NodeDataUtil;
40 import info.magnolia.context.MgnlContext;
41
42
43
44
45
46 public class TreeColumnHtmlRendererImpl implements TreeColumnHtmlRenderer {
47
48
49
50
51 public String renderHtml(TreeColumn treeColumn, Content content) {
52 String html;
53 if (treeColumn.getIsMeta()) {
54 html = MetaDataUtil.getPropertyValueString(content, treeColumn.getName(), treeColumn.getDateFormat());
55 }
56 else if (treeColumn.getIsLabel()) {
57 html = content.getName();
58 }
59 else if (treeColumn.getIsIcons()) {
60 html = getHtmlIcons(treeColumn, content);
61 }
62 else {
63 NodeData data = content.getNodeData(treeColumn.getName());
64 html = ControlImpl.escapeHTML(NodeDataUtil.getValueString(data, treeColumn.getDateFormat()));
65 }
66
67 if (treeColumn.getKeyValue().size() != 0) {
68 String value = (String) treeColumn.getKeyValue().get(html);
69 if (value != null) {
70 html = value;
71 }
72 }
73 return html;
74
75 }
76
77
78
79
80
81
82
83 private String getHtmlIcons(TreeColumn treeColumn, Content content) {
84 StringBuffer html = new StringBuffer();
85 if (treeColumn.getIconsActivation()) {
86 String imgSrc = Tree.ICONDOCROOT + MetaDataUtil.getActivationStatusIcon(content);
87 html.append("<img src=\"").append(MgnlContext.getContextPath()).append(imgSrc).append("\" />");
88 }
89 if (treeColumn.getIconsPermission()) {
90 if (!content.isGranted(info.magnolia.cms.security.Permission.WRITE)) {
91 html.append("<img src=\"")
92 .append(treeColumn.getRequest().getContextPath())
93 .append(Tree.ICONDOCROOT)
94 .append("pen_blue_canceled.gif\" />");
95 }
96 }
97 return html.toString();
98 }
99
100 }