Skip to content

Commit 20074b1

Browse files
ngonzalezpazFCjavier-godoy
authored andcommitted
test(demo): integrate commons demo
1 parent fe1859d commit 20074b1

2 files changed

Lines changed: 98 additions & 61 deletions

File tree

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
/*-
2+
* #%L
3+
* Simple Timer Addon
4+
* %%
5+
* Copyright (C) 2019 - 2020 Flowing Code
6+
* %%
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
* #L%
19+
*/
20+
package com.flowingcode.vaadin.addons.simpletimer;
21+
22+
import com.vaadin.flow.component.button.Button;
23+
import com.vaadin.flow.component.checkbox.Checkbox;
24+
import com.vaadin.flow.component.html.Div;
25+
import com.vaadin.flow.component.html.Span;
26+
import com.vaadin.flow.component.notification.Notification;
27+
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
28+
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
29+
import com.vaadin.flow.component.orderedlayout.FlexComponent.Alignment;
30+
import com.vaadin.flow.component.textfield.TextField;
31+
import java.math.BigDecimal;
32+
33+
@SuppressWarnings("serial")
34+
public class SimpletimerDemo extends Div {
35+
36+
public SimpletimerDemo() {
37+
this.setSizeFull();
38+
final SimpleTimer timer = new SimpleTimer();
39+
timer.setWidth("100px");
40+
timer.setHeight("50px");
41+
timer.getStyle().set("font-size", "40px");
42+
43+
Span timerTitle = new Span("Simple Count Up Timer");
44+
45+
final TextField startTime = new TextField("Start Time", e -> timer.setStartTime(new BigDecimal(e.getValue())));
46+
final Checkbox countUp = new Checkbox("Count Up", false);
47+
countUp.addValueChangeListener(e -> {
48+
timer.setCountUp(countUp.getValue());
49+
if (e.getValue()) {
50+
startTime.setLabel("End Time");
51+
timerTitle.setText("Simple Count Up Timer");
52+
} else {
53+
startTime.setLabel("Start Time");
54+
timerTitle.setText("Simple Countdown Timer");
55+
}
56+
});
57+
final Button start = new Button("Start/Stop", e -> timer.start());
58+
final Button stop = new Button("Stop", e -> timer.pause());
59+
final Button reset = new Button("Reset", e -> {
60+
timer.reset();
61+
});
62+
final Button running = new Button("Current Time", e -> timer.getCurrentTimeAsync().thenAccept(
63+
time -> Notification.show(time.toPlainString() + (timer.isRunning() ? "" : " (Not Running)"))));
64+
final Checkbox fractions = new Checkbox("Fractions", true);
65+
fractions.addValueChangeListener(e -> timer.setFractions(e.getValue()));
66+
final Checkbox minutes = new Checkbox("Minutes", e -> timer.setMinutes(e.getValue()));
67+
final Checkbox hours = new Checkbox("Hours", e -> timer.setHours(e.getValue()));
68+
final Checkbox visible = new Checkbox("Visible", e->{
69+
if (e.isFromClient()) timer.setVisible(!timer.isVisible());
70+
});
71+
visible.setValue(true);
72+
73+
timer.addTimerEndEvent(e -> Notification.show("Timer Ended"));
74+
75+
final HorizontalLayout topLayout = new HorizontalLayout(timerTitle, timer);
76+
topLayout.setAlignItems(Alignment.CENTER);
77+
78+
HorizontalLayout options = new HorizontalLayout(countUp, fractions, minutes, hours, visible);
79+
options.setAlignItems(Alignment.CENTER);
80+
81+
final HorizontalLayout bottomLayout = new HorizontalLayout(start, stop, reset, running);
82+
bottomLayout.setAlignItems(Alignment.BASELINE);
83+
84+
add(new VerticalLayout(topLayout, startTime, options, bottomLayout));
85+
86+
}
87+
88+
}

src/test/java/com/flowingcode/vaadin/addons/simpletimer/SimpletimerDemoView.java

Lines changed: 10 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -20,72 +20,21 @@
2020
package com.flowingcode.vaadin.addons.simpletimer;
2121

2222
import com.flowingcode.vaadin.addons.DemoLayout;
23-
import com.vaadin.flow.component.button.Button;
24-
import com.vaadin.flow.component.checkbox.Checkbox;
25-
import com.vaadin.flow.component.html.Div;
26-
import com.vaadin.flow.component.html.Span;
27-
import com.vaadin.flow.component.notification.Notification;
28-
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
23+
import com.flowingcode.vaadin.addons.demo.impl.TabbedDemoImpl;
2924
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
30-
import com.vaadin.flow.component.orderedlayout.FlexComponent.Alignment;
31-
import com.vaadin.flow.component.textfield.TextField;
3225
import com.vaadin.flow.router.Route;
33-
import java.math.BigDecimal;
3426

3527
@SuppressWarnings("serial")
3628
@Route(value = "simple-timer", layout = DemoLayout.class)
37-
public class SimpletimerDemoView extends Div {
29+
public class SimpletimerDemoView extends VerticalLayout {
3830

39-
public SimpletimerDemoView() {
40-
this.setSizeFull();
41-
final SimpleTimer timer = new SimpleTimer();
42-
timer.setWidth("100px");
43-
timer.setHeight("50px");
44-
timer.getStyle().set("font-size", "40px");
45-
46-
Span timerTitle = new Span("Simple Count Up Timer");
47-
48-
final TextField startTime = new TextField("Start Time", e -> timer.setStartTime(new BigDecimal(e.getValue())));
49-
final Checkbox countUp = new Checkbox("Count Up", false);
50-
countUp.addValueChangeListener(e -> {
51-
timer.setCountUp(countUp.getValue());
52-
if (e.getValue()) {
53-
startTime.setLabel("End Time");
54-
timerTitle.setText("Simple Count Up Timer");
55-
} else {
56-
startTime.setLabel("Start Time");
57-
timerTitle.setText("Simple Countdown Timer");
58-
}
59-
});
60-
final Button start = new Button("Start/Stop", e -> timer.start());
61-
final Button stop = new Button("Stop", e -> timer.pause());
62-
final Button reset = new Button("Reset", e -> {
63-
timer.reset();
64-
});
65-
final Button running = new Button("Current Time", e -> timer.getCurrentTimeAsync().thenAccept(
66-
time -> Notification.show(time.toPlainString() + (timer.isRunning() ? "" : " (Not Running)"))));
67-
final Checkbox fractions = new Checkbox("Fractions", true);
68-
fractions.addValueChangeListener(e -> timer.setFractions(e.getValue()));
69-
final Checkbox minutes = new Checkbox("Minutes", e -> timer.setMinutes(e.getValue()));
70-
final Checkbox hours = new Checkbox("Hours", e -> timer.setHours(e.getValue()));
71-
final Checkbox visible = new Checkbox("Visible", e->{
72-
if (e.isFromClient()) timer.setVisible(!timer.isVisible());
73-
});
74-
visible.setValue(true);
75-
76-
timer.addTimerEndEvent(e -> Notification.show("Timer Ended"));
77-
78-
final HorizontalLayout topLayout = new HorizontalLayout(timerTitle, timer);
79-
topLayout.setAlignItems(Alignment.CENTER);
80-
81-
HorizontalLayout options = new HorizontalLayout(countUp, fractions, minutes, hours, visible);
82-
options.setAlignItems(Alignment.CENTER);
83-
84-
final HorizontalLayout bottomLayout = new HorizontalLayout(start, stop, reset, running);
85-
bottomLayout.setAlignItems(Alignment.BASELINE);
86-
87-
add(new VerticalLayout(topLayout, startTime, options, bottomLayout));
31+
private static final String ST_DEMO = "Simple Timer Demo";
32+
private static final String ST_SOURCE = "https://github.com/FlowingCode/SimpleTimerAddon/blob/master/src/test/java/com/flowingcode/vaadin/addons/simpletimer/SimpletimerDemo.java";
8833

34+
public SimpletimerDemoView() {
35+
TabbedDemoImpl<SimpletimerDemo> stDemo = new TabbedDemoImpl<SimpletimerDemo>(new SimpletimerDemo(), ST_DEMO,
36+
ST_SOURCE);
37+
setSizeFull();
38+
add(stDemo);
8939
}
90-
91-
}
40+
}

0 commit comments

Comments
 (0)