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.mail.app.verify;
35
36 import info.magnolia.i18nsystem.SimpleTranslator;
37 import info.magnolia.ui.vaadin.form.FormViewReduced;
38 import info.magnolia.ui.vaadin.layout.SmallAppLayout;
39
40 import java.util.HashMap;
41 import java.util.Map;
42
43 import com.google.inject.Inject;
44 import com.vaadin.ui.Button;
45 import com.vaadin.ui.Button.ClickEvent;
46 import com.vaadin.ui.Button.ClickListener;
47 import com.vaadin.ui.Component;
48 import com.vaadin.ui.CssLayout;
49
50
51
52
53 public class MailVerifyViewImpl implements MailVerifyView {
54
55 private SmallAppLayout root = new SmallAppLayout();
56 private Listener listener;
57 private Map<String, FormViewReduced> formViews = new HashMap<String, FormViewReduced>();
58 private SimpleTranslator translator;
59
60 @Inject
61 public MailVerifyViewImpl(SimpleTranslator translator) {
62 this.translator = translator;
63 }
64
65 @Override
66 public void build() {
67 Button simpleSendMailButton = new Button(translator.translate("mail.app.verify.button.simple.caption"));
68 simpleSendMailButton.addStyleName("v-button-smallapp");
69 simpleSendMailButton.addStyleName("commit");
70 simpleSendMailButton.addClickListener(new ClickListener() {
71
72 @Override
73 public void buttonClick(ClickEvent event) {
74 getListener().sendSimpleMail();
75 }
76 });
77
78 Button templateSendMailButton = new Button(translator.translate("mail.app.verify.button.template.caption"));
79 templateSendMailButton.addStyleName("v-button-smallapp");
80 templateSendMailButton.addStyleName("commit");
81 templateSendMailButton.addClickListener(new ClickListener() {
82
83 @Override
84 public void buttonClick(ClickEvent event) {
85 getListener().sendTemplateMail();
86 }
87 });
88
89 CssLayout buttonLayout = new CssLayout();
90 buttonLayout.addStyleName("v-csslayout-smallapp-actions");
91 buttonLayout.addComponent(simpleSendMailButton);
92
93 CssLayout firstSection = new CssLayout();
94 firstSection.addComponent(formViews.get("simple").asVaadinComponent());
95 firstSection.addComponent(buttonLayout);
96
97 buttonLayout = new CssLayout();
98 buttonLayout.addStyleName("v-csslayout-smallapp-actions");
99 buttonLayout.addComponent(templateSendMailButton);
100
101 CssLayout secondSection = new CssLayout();
102 secondSection.addComponent(formViews.get("template").asVaadinComponent());
103 secondSection.addComponent(buttonLayout);
104
105 root.setDescription(translator.translate("mail.app.verify.description"));
106 root.addSection(firstSection);
107 root.addSection(secondSection);
108 }
109
110 @Override
111 public Component asVaadinComponent() {
112 return root;
113 }
114
115 @Override
116 public void addFormViewReduced(String label, FormViewReduced formView) {
117 this.formViews.put(label, formView);
118 }
119
120 @Override
121 public void setListner(Listener listener) {
122 this.listener = listener;
123 }
124
125 public Listener getListener() {
126 return listener;
127 }
128
129 }