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.dam.app.assets.field;
35
36 import info.magnolia.event.EventBus;
37 import info.magnolia.i18nsystem.SimpleTranslator;
38 import info.magnolia.ui.contentapp.field.WorkbenchField;
39 import info.magnolia.ui.framework.ioc.AdmincentralFlavour;
40 import info.magnolia.ui.imageprovider.definition.ImageProviderDefinition;
41 import info.magnolia.ui.vaadin.actionbar.Actionbar;
42 import info.magnolia.ui.workbench.WorkbenchPresenter;
43 import info.magnolia.ui.workbench.definition.WorkbenchDefinition;
44
45 import com.vaadin.server.Resource;
46 import com.vaadin.ui.Component;
47 import com.vaadin.v7.ui.HorizontalLayout;
48
49
50
51
52 public class DamWorkbenchField extends WorkbenchField {
53
54 private static final String PREVIEW_SECTION_NAME = "preview";
55
56 private final SimpleTranslator i18n;
57
58 private Actionbar previewBar = new Actionbar();
59
60 public DamWorkbenchField(WorkbenchDefinition definition, ImageProviderDefinition imageProvider, WorkbenchPresenter presenter, EventBus eventBus, SimpleTranslator i18n) {
61 super(definition, imageProvider, presenter, eventBus);
62 this.i18n = i18n;
63 }
64
65 @Override
66 protected Component initContent() {
67 HorizontalLayout chooseDialogLayout = new HorizontalLayout();
68 chooseDialogLayout.setSizeFull();
69 chooseDialogLayout.setMargin(false);
70
71 Component workbenchComponent = super.initContent();
72 chooseDialogLayout.addComponent(workbenchComponent);
73 chooseDialogLayout.setExpandRatio(workbenchComponent, 1f);
74
75 previewBar.setHeightUndefined();
76 if (AdmincentralFlavour.get().isM5()) {
77 previewBar.addStyleName("section-actionbar-m5");
78 } else {
79 previewBar.addStyleName("section-actionbar-compatibility");
80 }
81
82 chooseDialogLayout.addComponent(previewBar);
83 chooseDialogLayout.setExpandRatio(previewBar, 0f);
84
85 return chooseDialogLayout;
86 }
87
88 public void setPreviewResource(Object resource) {
89 previewBar.addSection(PREVIEW_SECTION_NAME, i18n.translate((resource instanceof Resource) ? "actionbar.preview" : "actionbar.noPreview"));
90 previewBar.setSectionPreview((resource instanceof Resource) ? (Resource) resource : null, PREVIEW_SECTION_NAME);
91 }
92 }