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.form.field.factory;
35
36 import info.magnolia.event.EventBus;
37 import info.magnolia.i18nsystem.SimpleTranslator;
38 import info.magnolia.objectfactory.ComponentProvider;
39 import info.magnolia.objectfactory.Components;
40 import info.magnolia.ui.api.context.UiContext;
41 import info.magnolia.ui.api.i18n.I18NAuthoringSupport;
42 import info.magnolia.ui.form.field.definition.BasicUploadFieldDefinition;
43 import info.magnolia.ui.form.field.transformer.Transformer;
44 import info.magnolia.ui.form.field.upload.UploadReceiver;
45 import info.magnolia.ui.form.field.upload.basic.BasicUploadField;
46 import info.magnolia.ui.form.field.upload.basic.ResurfaceBasicUploadField;
47 import info.magnolia.ui.framework.ioc.AdmincentralFlavour;
48 import info.magnolia.ui.imageprovider.ImageProvider;
49
50 import javax.inject.Inject;
51
52 import com.vaadin.v7.data.Item;
53 import com.vaadin.v7.ui.Field;
54
55
56
57
58 public class BasicUploadFieldFactory extends AbstractFieldFactory<BasicUploadFieldDefinition, UploadReceiver> {
59
60 private final ImageProvider imageProvider;
61 private final UiContext uiContext;
62 private final SimpleTranslator i18n;
63 private final ComponentProvider componentProvider;
64
65 @Inject
66 public BasicUploadFieldFactory(BasicUploadFieldDefinition definition, Item relatedFieldItem, UiContext uiContext, I18NAuthoringSupport i18NAuthoringSupport, ImageProvider imageProvider, SimpleTranslator i18n, ComponentProvider componentProvider) {
67 super(definition, relatedFieldItem, uiContext, i18NAuthoringSupport);
68 this.imageProvider = imageProvider;
69 this.uiContext = uiContext;
70 this.i18n = i18n;
71 this.componentProvider = componentProvider;
72 }
73
74
75
76
77 @Deprecated
78 public BasicUploadFieldFactory(BasicUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, UiContext uiContext, SimpleTranslator i18n, ComponentProvider componentProvider, EventBus admincentralEventBus) {
79 this(definition, relatedFieldItem, uiContext, Components.getComponent(I18NAuthoringSupport.class), imageProvider, i18n, componentProvider);
80 }
81
82
83
84
85 @Deprecated
86 public BasicUploadFieldFactory(BasicUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, UiContext uiContext, SimpleTranslator i18n, ComponentProvider componentProvider) {
87 this(definition, relatedFieldItem, uiContext, Components.getComponent(I18NAuthoringSupport.class), imageProvider, i18n, componentProvider);
88 }
89
90 @Override
91 protected Field<UploadReceiver> createFieldComponent() {
92 if (AdmincentralFlavour.get().isM5()) {
93 return new BasicUploadField<>(imageProvider, uiContext, definition, i18n);
94 } else {
95 return new ResurfaceBasicUploadField<>(imageProvider, uiContext, definition, i18n);
96 }
97 }
98
99
100
101
102 @Override
103 protected Transformer<?> initializeTransformer(Class<? extends Transformer<?>> transformerClass) {
104 return this.componentProvider.newInstance(transformerClass, item, definition, UploadReceiver.class);
105 }
106 }