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.imageprovider.definition.ImageProviderDefinition;
40 import info.magnolia.ui.vaadin.actionbar.Actionbar;
41 import info.magnolia.ui.workbench.WorkbenchPresenter;
42 import info.magnolia.ui.workbench.definition.WorkbenchDefinition;
43
44 import com.vaadin.server.Resource;
45 import com.vaadin.ui.Component;
46 import com.vaadin.v7.ui.HorizontalLayout;
47
48
49
50
51 public class DamWorkbenchField extends WorkbenchField {
52
53 private static final String DEFAULT_HEIGHT = "400px";
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.setHeight(DEFAULT_HEIGHT);
76 chooseDialogLayout.addComponent(previewBar);
77 chooseDialogLayout.setExpandRatio(previewBar, 0f);
78
79 return chooseDialogLayout;
80 }
81
82 public void setPreviewResource(Object resource) {
83 previewBar.addSection(PREVIEW_SECTION_NAME, i18n.translate((resource instanceof Resource) ? "actionbar.preview" : "actionbar.noPreview"));
84 previewBar.setSectionPreview((resource instanceof Resource) ? (Resource) resource : null, PREVIEW_SECTION_NAME);
85 }
86 }