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.workbench.thumbnail;
35
36 import info.magnolia.event.EventBus;
37 import info.magnolia.objectfactory.ComponentProvider;
38 import info.magnolia.ui.framework.ioc.AdmincentralFlavour;
39 import info.magnolia.ui.imageprovider.ImageProvider;
40 import info.magnolia.ui.vaadin.integration.contentconnector.ContentConnector;
41 import info.magnolia.ui.vaadin.integration.contentconnector.JcrContentConnector;
42 import info.magnolia.ui.vaadin.integration.contentconnector.JcrContentConnectorDefinition;
43 import info.magnolia.ui.workbench.AbstractContentPresenter;
44 import info.magnolia.ui.workbench.ContentView;
45 import info.magnolia.ui.workbench.container.Refreshable;
46 import info.magnolia.ui.workbench.definition.WorkbenchDefinition;
47
48 import java.util.List;
49
50 import javax.inject.Inject;
51
52 import com.vaadin.v7.data.Container;
53
54
55
56
57 public class ThumbnailPresenter extends AbstractContentPresenter implements ThumbnailView.Listener {
58
59 private final ThumbnailView view;
60
61 private final ImageProvider imageProvider;
62
63 private Container container;
64
65 @Inject
66 public ThumbnailPresenter(ThumbnailView view, ImageProvider imageProvider, ComponentProvider componentProvider) {
67 super(componentProvider);
68 this.view = view;
69 this.imageProvider = imageProvider;
70 }
71
72 public ImageProvider getImageProvider() {
73 return imageProvider;
74 }
75
76 @Override
77 public ContentView start(WorkbenchDefinition workbench, EventBus eventBus, String viewTypeName, ContentConnector contentConnector) {
78 super.start(workbench, eventBus, viewTypeName, contentConnector);
79
80 container = initializeContainer();
81
82 view.setListener(this);
83 view.setContainer(container);
84 if (AdmincentralFlavour.get().isM5()) {
85 view.setThumbnailSize(73, 73);
86 } else {
87 view.setThumbnailSize(150, 120);
88 }
89
90 return view;
91 }
92
93 @Override
94 public void refresh() {
95 super.refresh();
96 if (container instanceof Refreshable) {
97 ((Refreshable) container).refresh();
98 }
99 view.refresh();
100 }
101
102 @Override
103 protected Container initializeContainer() {
104 JcrContentConnectorDefinition connectorDefinition = ((JcrContentConnector) contentConnector).getContentConnectorDefinition();
105 return new JcrThumbnailContainer(imageProvider, connectorDefinition);
106 }
107
108 @Override
109 public void select(List<Object> itemIds) {
110 view.select(itemIds);
111 }
112 }