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.external.app.field.factory;
35
36 import info.magnolia.dam.external.app.field.AssetMediaField;
37 import info.magnolia.dam.external.app.field.definition.AssetMediaFieldDefinition;
38 import info.magnolia.objectfactory.ComponentProvider;
39 import info.magnolia.ui.api.context.UiContext;
40 import info.magnolia.ui.api.i18n.I18NAuthoringSupport;
41 import info.magnolia.ui.form.field.factory.AbstractFieldFactory;
42
43 import javax.inject.Inject;
44
45 import com.vaadin.v7.data.Item;
46 import com.vaadin.v7.data.util.BeanItem;
47 import com.vaadin.v7.ui.Field;
48
49
50
51
52 public class AssetMediaFieldFactory extends AbstractFieldFactory<AssetMediaFieldDefinition, BeanItem> {
53
54 private ComponentProvider componentProvider;
55 private AssetMediaFieldDefinition definition;
56
57 @Inject
58 public AssetMediaFieldFactory(AssetMediaFieldDefinition definition, Item item, UiContext uiContext, I18NAuthoringSupport i18nAuthoringSupport, ComponentProvider componentProvider) {
59 super(definition, item, uiContext, i18nAuthoringSupport);
60 this.componentProvider = componentProvider;
61 this.definition = definition;
62 }
63
64
65
66
67 @Deprecated
68 public AssetMediaFieldFactory(AssetMediaFieldDefinition definition, Item item, ComponentProvider componentProvider) {
69 this(definition, item, componentProvider.getComponent(UiContext.class), componentProvider.getComponent(I18NAuthoringSupport.class), componentProvider);
70 }
71
72 @Override
73 protected Field<BeanItem> createFieldComponent() {
74 return new AssetMediaField(definition, item, componentProvider);
75 }
76
77
78 }