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.poc;
35
36 import static com.vaadin.server.Sizeable.Unit.*;
37
38 import info.magnolia.ui.incub.LinkField;
39
40 import java.util.stream.StreamSupport;
41
42 import javax.servlet.annotation.WebServlet;
43
44 import org.vaadin.aceeditor.AceEditor;
45
46 import com.vaadin.annotations.Theme;
47 import com.vaadin.annotations.Title;
48 import com.vaadin.annotations.VaadinServletConfiguration;
49 import com.vaadin.annotations.Widgetset;
50 import com.vaadin.server.VaadinRequest;
51 import com.vaadin.server.VaadinServlet;
52 import com.vaadin.ui.Button;
53 import com.vaadin.ui.CheckBoxGroup;
54 import com.vaadin.ui.ComboBox;
55 import com.vaadin.ui.FormLayout;
56 import com.vaadin.ui.Label;
57 import com.vaadin.ui.RadioButtonGroup;
58 import com.vaadin.ui.TextField;
59 import com.vaadin.ui.TwinColSelect;
60 import com.vaadin.ui.UI;
61
62 @Theme("poctheme")
63 @Title("Magnolia 6 Resurface - Option Fields Components")
64 @Widgetset("info.magnolia.poc.Widgetset")
65 public class DisabledFieldsComponentUI extends UI {
66
67 @Override
68 protected void init(VaadinRequest vaadinRequest) {
69
70 FormLayout layout = new FormLayout();
71 layout.setMargin(true);
72 layout.setWidth(926, PIXELS);
73
74 TextField textField = new TextField("Text field");
75 textField.setValue("Nullam quis risus eget urna mollis ornare vel eu leo");
76
77 TextField disabledTextField = new TextField("Text field");
78 disabledTextField.setValue("Nullam quis risus eget urna mollis ornare vel eu leo");
79 disabledTextField.setEnabled(false);
80
81 ComboBox<String> selectField = new ComboBox<>("Select field");
82 selectField.setPlaceholder("Select...");
83 selectField.setEmptySelectionAllowed(false);
84
85 ComboBox<String> disabledSelectField = new ComboBox<>("Select field");
86 disabledSelectField.setPlaceholder("Select...");
87 disabledSelectField.setEmptySelectionAllowed(false);
88 disabledSelectField.setEnabled(false);
89
90 CheckBoxGroup<String> checkBoxGroup = new CheckBoxGroup<>("CheckBox field");
91 checkBoxGroup.setItems("Select to display title");
92
93 CheckBoxGroup<String> disabledCheckBoxGroup = new CheckBoxGroup<>("CheckBox field");
94 disabledCheckBoxGroup.setItems("Select to display title");
95 disabledCheckBoxGroup.setEnabled(false);
96
97 CheckBoxGroup<String> optionGroupFieldCheck = new CheckBoxGroup<>("Option group field check");
98 optionGroupFieldCheck.setItems("Navigation Title", "None", "Page title");
99 optionGroupFieldCheck.select("Page title");
100
101 CheckBoxGroup<String> disabledOptionGroupFieldCheck = new CheckBoxGroup<>("Option group field check");
102 disabledOptionGroupFieldCheck.setItems("Navigation Title", "None", "Page title");
103 disabledOptionGroupFieldCheck.select("Page title");
104 disabledOptionGroupFieldCheck.setEnabled(false);
105
106 RadioButtonGroup<String> optionGroupFieldRadio = new RadioButtonGroup<>("Option group field radio");
107 optionGroupFieldRadio.setItems("Navigation Title", "None", "Page");
108 optionGroupFieldRadio.setSelectedItem("Page");
109
110 RadioButtonGroup<String> disabledOptionGroupFieldRadio = new RadioButtonGroup<>("Option group field radio");
111 disabledOptionGroupFieldRadio.setItems("Navigation Title", "None", "Page");
112 disabledOptionGroupFieldRadio.setSelectedItem("Page");
113 disabledOptionGroupFieldRadio.setEnabled(false);
114
115 TwinColSelect<String> twinColSelect = new TwinColSelect<>("Twin-column field");
116 twinColSelect.setItems("Celebrities", "Holidays", "Local", " Pets", "Sports");
117 twinColSelect.setLeftColumnCaption("From");
118 twinColSelect.setRightColumnCaption("To");
119 twinColSelect.select("Sports");
120
121 TwinColSelect<String> disabledTwinColSelect = new TwinColSelect<>("Twin-column field");
122 disabledTwinColSelect.setItems("Celebrities", "Holidays", "Local", " Pets", "Sports");
123 disabledTwinColSelect.setLeftColumnCaption("From");
124 disabledTwinColSelect.setRightColumnCaption("To");
125 disabledTwinColSelect.select("Sports");
126 disabledTwinColSelect.setEnabled(false);
127
128 AceEditor codeField = new AceEditor();
129 codeField.setStyleName("textcodefield");
130 codeField.setUseWorker(false);
131 codeField.setCaption("Code field");
132 codeField.setValue("class Resurface {\n" +
133 "\t{\n" +
134 "\t\tSystem.out.println(\"Hello Resurface\");\n" +
135 "\t}\n" +
136 "}\n");
137
138 AceEditor disabledCodeField = new AceEditor();
139 disabledCodeField.setStyleName("textcodefield");
140 disabledCodeField.setUseWorker(false);
141 disabledCodeField.setCaption("Code field");
142 disabledCodeField.setEnabled(false);
143 disabledCodeField.setValue("class Resurface {\n" +
144 "\t{\n" +
145 "\t\tSystem.out.println(\"Hello Resurface\");\n" +
146 "\t}\n" +
147 "}\n");
148
149 LinkField emptyLinkField = new LinkField();
150 emptyLinkField.setButtonCaptionNew("Select new");
151 emptyLinkField.setCaption("Link empty field");
152
153 LinkField disabledEmptyLinkField = new LinkField();
154 disabledEmptyLinkField.setButtonCaptionNew("Select new");
155 disabledEmptyLinkField.setCaption("Link empty field");
156 disabledEmptyLinkField.setEnabled(false);
157
158 Label dummy = new Label("");
159
160 layout.addComponents(
161 textField,
162 disabledTextField,
163 selectField,
164 disabledSelectField,
165 optionGroupFieldCheck,
166 disabledOptionGroupFieldCheck,
167 optionGroupFieldRadio,
168 disabledOptionGroupFieldRadio,
169 twinColSelect,
170 disabledTwinColSelect,
171 codeField,
172 disabledCodeField,
173 emptyLinkField,
174 disabledEmptyLinkField,
175
176 dummy);
177
178 StreamSupport.stream(layout.spliterator(), false)
179 .filter(component -> !(component instanceof Button))
180 .forEach(component -> component.setWidth(100, PERCENTAGE));
181
182 setContent(layout);
183 }
184
185 @WebServlet(value = "/disabled/*", asyncSupported = true)
186 @VaadinServletConfiguration(productionMode = false, ui = DisabledFieldsComponentUI.class)
187 public static class Servlet extends VaadinServlet {
188 }
189 }