|
21 | 21 | package com.flowingcode.vaadin.addons.localecombobox; |
22 | 22 |
|
23 | 23 | import com.flowingcode.vaadin.addons.demo.DemoSource; |
| 24 | +import com.vaadin.flow.component.Text; |
24 | 25 | import com.vaadin.flow.component.html.Div; |
| 26 | +import com.vaadin.flow.component.html.Span; |
| 27 | +import com.vaadin.flow.component.orderedlayout.FlexComponent.Alignment; |
| 28 | +import com.vaadin.flow.component.orderedlayout.FlexComponent.JustifyContentMode; |
| 29 | +import com.vaadin.flow.component.orderedlayout.HorizontalLayout; |
25 | 30 | import com.vaadin.flow.router.PageTitle; |
26 | 31 | import com.vaadin.flow.router.Route; |
| 32 | +import java.util.Locale; |
27 | 33 |
|
28 | 34 | @DemoSource |
29 | | -@PageTitle("LocaleComboBox Add-on Demo") |
| 35 | +@PageTitle("Display modes") |
30 | 36 | @SuppressWarnings("serial") |
31 | 37 | @Route(value = "demo", layout = LocaleComboBoxDemoView.class) |
32 | 38 | public class LocaleComboBoxDemo extends Div { |
33 | 39 |
|
34 | 40 | public LocaleComboBoxDemo() { |
35 | | - add(new LocaleComboBox()); |
| 41 | + |
| 42 | + LocaleComboBox defaultDisplayLocale = new LocaleComboBox(); |
| 43 | + LocaleComboBox franceLocaleCombo = new LocaleComboBox(); |
| 44 | + LocaleComboBox germanyLocaleCombo = new LocaleComboBox(); |
| 45 | + LocaleComboBox koreanLocaleCombo = new LocaleComboBox(); |
| 46 | + LocaleComboBox selectedLocaleCombo = new LocaleComboBox(); |
| 47 | + |
| 48 | + defaultDisplayLocale.setValue(Locale.ITALY); |
| 49 | + |
| 50 | + franceLocaleCombo.setDisplayLocale(Locale.FRANCE); |
| 51 | + franceLocaleCombo.setDisplayMode(LocaleComboBox.DISPLAY_CUSTOM); |
| 52 | + franceLocaleCombo.setValue(Locale.ITALY); |
| 53 | + |
| 54 | + germanyLocaleCombo.setDisplayLocale(Locale.GERMANY); |
| 55 | + germanyLocaleCombo.setDisplayMode(LocaleComboBox.DISPLAY_CUSTOM); |
| 56 | + germanyLocaleCombo.setValue(Locale.ITALY); |
| 57 | + |
| 58 | + koreanLocaleCombo.setDisplayLocale(Locale.KOREA); |
| 59 | + koreanLocaleCombo.setDisplayMode(LocaleComboBox.DISPLAY_CUSTOM); |
| 60 | + koreanLocaleCombo.setValue(Locale.ITALY); |
| 61 | + |
| 62 | + selectedLocaleCombo.setDisplayMode(LocaleComboBox.DISPLAY_SELECTED); |
| 63 | + selectedLocaleCombo.setValue(Locale.ITALY); |
| 64 | + |
| 65 | + // #if vaadin eq 0 |
| 66 | + add(createHorizontalContainer("Default display mode (uses default locale):", defaultDisplayLocale), |
| 67 | + createHorizontalContainer("Display locales with France locale:", franceLocaleCombo), |
| 68 | + createHorizontalContainer("Display locales with with Germany locale:", germanyLocaleCombo), |
| 69 | + createHorizontalContainer("Display locales with Korean locale:", koreanLocaleCombo), |
| 70 | + createHorizontalContainer("Display locales with selected locale:", selectedLocaleCombo)); |
| 71 | + // #endif |
| 72 | + // show-source add(defaultDisplayLocale); |
| 73 | + // show-source add(franceLocaleCombo, germanyLocaleCombo, koreanLocaleCombo); |
| 74 | + // show-source add(selectedLocaleCombo); |
36 | 75 | } |
| 76 | + |
| 77 | + // #if vaadin eq 0 |
| 78 | + private HorizontalLayout createHorizontalContainer(String title, LocaleComboBox combo) { |
| 79 | + Span titleSpan = new Span(new Text(title)); |
| 80 | + titleSpan.setWidth("300px"); |
| 81 | + HorizontalLayout container = new HorizontalLayout(); |
| 82 | + container.setWidthFull(); |
| 83 | + container.setAlignItems(Alignment.CENTER); |
| 84 | + container.setJustifyContentMode(JustifyContentMode.BETWEEN); |
| 85 | + container.add(titleSpan, combo); |
| 86 | + container.expand(combo); |
| 87 | + return container; |
| 88 | + } |
| 89 | + // #endif |
| 90 | + |
37 | 91 | } |
0 commit comments