1 package info.magnolia.ui.field;
2
3 import java.util.Arrays;
4 import java.util.List;
5
6 import com.vaadin.annotations.JavaScript;
7 import com.vaadin.server.AbstractClientConnector;
8 import com.vaadin.server.AbstractJavaScriptExtension;
9 import com.vaadin.ui.Component;
10
11
12
13
14
15
16
17
18
19
20
21
22
23 @JavaScript("formRowOutliner.js")
24 public class FormRowOutliner extends AbstractJavaScriptExtension {
25
26 private static final List<Class> supportedTypes = Arrays.asList(
27 CompositeFieldDefinition.class,
28 MultiFieldDefinition.class);
29
30 public static void considerOutlining(Component component, EditorPropertyDefinition definition) {
31 if (supportedTypes.stream().anyMatch(type -> type.isInstance(definition))) {
32 new FormRowOutliner().extend((AbstractClientConnector) component);
33 component.addStyleName("outlined");
34 }
35 }
36 }