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.googlesitemap.app.subapp.sitemapdetail.pages;
35
36 import info.magnolia.i18nsystem.SimpleTranslator;
37 import info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.base.SiteMapContentViewImpl;
38 import info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.component.SiteMapTreeTable;
39 import info.magnolia.module.googlesitemap.bean.SiteMapEntry;
40 import info.magnolia.ui.vaadin.grid.MagnoliaTreeTable;
41
42 import javax.inject.Inject;
43
44 import com.vaadin.ui.Tree;
45
46
47
48
49 public class SiteMapPagesViewImpl extends SiteMapContentViewImpl<MagnoliaTreeTable, SiteMapPagesView.Listener> implements SiteMapPagesView {
50
51
52 @Inject
53 public SiteMapPagesViewImpl(SimpleTranslator translator) {
54 super(new SiteMapTreeTable(), translator);
55
56 getTable().addExpandListener(new Tree.ExpandListener() {
57 @Override
58 public void nodeExpand(Tree.ExpandEvent event) {
59 SiteMapEntry entry = (SiteMapEntry) event.getItemId();
60 getListener().onEntryExpanded(entry);
61 }
62 });
63
64 getTable().addCollapseListener(new Tree.CollapseListener() {
65 @Override
66 public void nodeCollapse(Tree.CollapseEvent event) {
67 SiteMapEntry entry = (SiteMapEntry) event.getItemId();
68 getListener().onEntryCollapsed(entry);
69 }
70 });
71 }
72
73 @Override
74 protected String[] getColumnCaptions() {
75 return new String[] {"siteMaps.entry.pagename", "siteMaps.entry.path", "siteMaps.entry.show", "siteMaps.entry.priority", "siteMaps.entry.change_frequency"};
76 }
77
78 @Override
79 protected String[] getColumnIds() {
80 return new String[]{"pageName", "path", "styleAlert", "priority", "changefreq"};
81 }
82
83 @Override
84 public void expandEntry(SiteMapEntry entry) {
85 getTable().setCollapsed(entry, false);
86 }
87 }