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.imageprovider.ImageProvider;
47
48 import javax.inject.Inject;
49
50 import com.vaadin.data.Item;
51 import com.vaadin.ui.Field;
52
53
54
55
56 public class BasicUploadFieldFactory extends AbstractFieldFactory<BasicUploadFieldDefinition, UploadReceiver> {
57
58 private final ImageProvider imageProvider;
59 private final UiContext uiContext;
60 private final SimpleTranslator i18n;
61 private final ComponentProvider componentProvider;
62
63 @Inject
64 public BasicUploadFieldFactory(BasicUploadFieldDefinition definition, Item relatedFieldItem, UiContext uiContext, I18NAuthoringSupport i18NAuthoringSupport, ImageProvider imageProvider, SimpleTranslator i18n, ComponentProvider componentProvider) {
65 super(definition, relatedFieldItem, uiContext, i18NAuthoringSupport);
66 this.imageProvider = imageProvider;
67 this.uiContext = uiContext;
68 this.i18n = i18n;
69 this.componentProvider = componentProvider;
70 }
71
72
73
74
75 @Deprecated
76 public BasicUploadFieldFactory(BasicUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, UiContext uiContext, SimpleTranslator i18n, ComponentProvider componentProvider, EventBus admincentralEventBus) {
77 this(definition, relatedFieldItem, uiContext, Components.getComponent(I18NAuthoringSupport.class), imageProvider, i18n, componentProvider);
78 }
79
80
81
82
83 @Deprecated
84 public BasicUploadFieldFactory(BasicUploadFieldDefinition definition, Item relatedFieldItem, ImageProvider imageProvider, UiContext uiContext, SimpleTranslator i18n, ComponentProvider componentProvider) {
85 this(definition, relatedFieldItem, uiContext, Components.getComponent(I18NAuthoringSupport.class), imageProvider, i18n, componentProvider);
86 }
87
88 @Override
89 protected Field<UploadReceiver> createFieldComponent() {
90 return new BasicUploadField<>(imageProvider, uiContext, definition, i18n);
91 }
92
93
94
95
96 @Override
97 protected Transformer<?> initializeTransformer(Class<? extends Transformer<?>> transformerClass) {
98 return this.componentProvider.newInstance(transformerClass, item, definition, UploadReceiver.class);
99 }
100 }