-
Notifications
You must be signed in to change notification settings - Fork 5
/
InputWithDatalist.java
33 lines (30 loc) · 1.87 KB
/
InputWithDatalist.java
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
package org.genericsystem.reactor.gscomponents;
import org.genericsystem.reactor.annotations.BindText;
import org.genericsystem.reactor.annotations.Children;
import org.genericsystem.reactor.annotations.ForEach;
import org.genericsystem.reactor.annotations.Style;
import org.genericsystem.reactor.annotations.Style.GenericValueBackgroundColor;
import org.genericsystem.reactor.context.ObservableListExtractor;
import org.genericsystem.reactor.contextproperties.SelectionDefaults;
import org.genericsystem.reactor.gscomponents.HtmlTag.HtmlDatalist;
import org.genericsystem.reactor.gscomponents.HtmlTag.HtmlOption;
import org.genericsystem.reactor.gscomponents.InputTextWithConversion.InputTextEditorWithConversionForDatalist;
@Style(path = InputTextWithConversion.class, name = "flex", value = "1")
@Style(path = InputTextWithConversion.class, name = "width", value = "100%")
@Style(name = "flex", value = "1")
@Style(name = "width", value = "100%")
@GenericValueBackgroundColor(path = { HtmlDatalist.class, HtmlOption.class }, value = "")
@Children({ InputTextWithConversion.class, HtmlDatalist.class })
@Children(path = HtmlDatalist.class, value = HtmlOption.class)
@ForEach(path = { HtmlDatalist.class, HtmlOption.class }, value = ObservableListExtractor.SUBINSTANCES_ALPHABETICAL_ORDER.class)
@BindText(path = { HtmlDatalist.class, HtmlOption.class })
public class InputWithDatalist extends FlexDiv {
@Override
public void init() {
addPostfixBinding(context -> find(InputTextWithConversion.class).addAttribute(context, "list", context.getHtmlDomNode(find(HtmlDatalist.class)).getId()));
}
@ForEach(path = { HtmlDatalist.class, HtmlOption.class }, value = ObservableListExtractor.SUBINSTANCES_OF_META.class)
@Children({ InputTextEditorWithConversionForDatalist.class, HtmlDatalist.class })
public static class InputTextEditorWithDatalist extends InputWithDatalist implements SelectionDefaults {
}
}