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.ui.incub;
35
36 import org.apache.commons.lang3.ObjectUtils;
37
38 import com.vaadin.ui.CustomComponent;
39 import com.vaadin.ui.FormLayout;
40 import com.vaadin.ui.Label;
41 import com.vaadin.ui.VerticalLayout;
42
43
44
45
46
47
48 public class UploadFieldDetailComponent extends CustomComponent {
49
50 private final Label fileName;
51 private final Label fileSize;
52 private final Label fileFormat;
53 private VerticalLayout rootLayout;
54
55
56 public UploadFieldDetailComponent() {
57
58 this.rootLayout = new VerticalLayout();
59 this.rootLayout.setMargin(false);
60 setCompositionRoot(rootLayout);
61
62 fileName = new Label();
63 fileName.setCaption("Title");
64
65 fileSize = new Label();
66 fileSize.setCaption("Size");
67
68 fileFormat = new Label();
69 fileFormat.setCaption("Format");
70
71 FormLayout fileInfo = new FormLayout();
72 fileInfo.setSizeUndefined();
73 fileInfo.addStyleName("file-details");
74 fileInfo.addComponents(fileName, fileSize, fileFormat);
75 rootLayout.addComponent(fileInfo);
76 }
77
78 public void updateFileDetail(String fileName, String fileSize, String fileFormat) {
79 if (ObjectUtils.anyNotNull(fileName, fileSize, fileFormat)) {
80 this.fileName.setValue(fileName);
81 this.fileSize.setValue(fileSize);
82 this.fileFormat.setValue(fileFormat);
83 refreshRootLayout();
84 } else {
85 clearRootLayout();
86 }
87
88 }
89
90 protected void clearRootLayout() {
91 this.rootLayout.setVisible(false);
92 removeStyleName("done");
93 }
94
95 protected void refreshRootLayout() {
96 this.rootLayout.setVisible(true);
97 addStyleName("done");
98 }
99
100 }