Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

LoadingIndicatorConfigurationTest.java 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.vaadin.tests.components.ui;
  2. import com.vaadin.data.Property;
  3. import com.vaadin.data.Property.ValueChangeEvent;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUIWithLog;
  6. import com.vaadin.ui.Alignment;
  7. import com.vaadin.ui.Button.ClickEvent;
  8. import com.vaadin.ui.Button.ClickListener;
  9. import com.vaadin.ui.HorizontalLayout;
  10. import com.vaadin.ui.NativeButton;
  11. import com.vaadin.ui.TextField;
  12. public class LoadingIndicatorConfigurationTest extends AbstractTestUIWithLog {
  13. private TextField initialDelay;
  14. private TextField delayStateDelay;
  15. private TextField waitStateDelay;
  16. @Override
  17. protected void setup(VaadinRequest request) {
  18. final TextField delayField = new TextField("Delay (ms)");
  19. delayField.setConverter(Integer.class);
  20. delayField.setConvertedValue(1000);
  21. NativeButton delayButton = new NativeButton("Wait");
  22. delayButton.addClickListener(new ClickListener() {
  23. @Override
  24. public void buttonClick(ClickEvent event) {
  25. try {
  26. Thread.sleep((Integer) delayField.getConvertedValue());
  27. } catch (InterruptedException e) {
  28. e.printStackTrace();
  29. }
  30. }
  31. });
  32. initialDelay = createIntegerTextField("Initial delay (ms)",
  33. getState().loadingIndicatorConfiguration.initialDelay);
  34. initialDelay.addValueChangeListener(new Property.ValueChangeListener() {
  35. @Override
  36. public void valueChange(ValueChangeEvent event) {
  37. getLoadingIndicator().setInitialDelay(
  38. (Integer) initialDelay.getConvertedValue());
  39. }
  40. });
  41. delayStateDelay = createIntegerTextField("Delay state delay (ms)",
  42. getState().loadingIndicatorConfiguration.delayStateDelay);
  43. delayStateDelay
  44. .addValueChangeListener(new Property.ValueChangeListener() {
  45. @Override
  46. public void valueChange(ValueChangeEvent event) {
  47. getLoadingIndicator().setDelayStateDelay(
  48. (Integer) delayStateDelay.getConvertedValue());
  49. }
  50. });
  51. waitStateDelay = createIntegerTextField("Wait state delay (ms)",
  52. getState().loadingIndicatorConfiguration.waitStateDelay);
  53. waitStateDelay
  54. .addValueChangeListener(new Property.ValueChangeListener() {
  55. @Override
  56. public void valueChange(ValueChangeEvent event) {
  57. getLoadingIndicator().setWaitStateDelay(
  58. (Integer) waitStateDelay.getConvertedValue());
  59. }
  60. });
  61. getLayout()
  62. .addComponents(initialDelay, delayStateDelay, waitStateDelay);
  63. HorizontalLayout hl = new HorizontalLayout();
  64. hl.setMargin(true);
  65. hl.setDefaultComponentAlignment(Alignment.BOTTOM_RIGHT);
  66. hl.addComponents(delayField, delayButton);
  67. addComponent(hl);
  68. }
  69. private TextField createIntegerTextField(String caption, int initialValue) {
  70. TextField tf = new TextField(caption);
  71. tf.setId(caption);
  72. tf.setConverter(Integer.class);
  73. tf.setImmediate(true);
  74. tf.setConvertedValue(initialValue);
  75. return tf;
  76. }
  77. @Override
  78. protected String getTestDescription() {
  79. return "Tests that loading indicator delay can be configured";
  80. }
  81. @Override
  82. protected Integer getTicketNumber() {
  83. return 7448;
  84. }
  85. }