1 /**
2 * Copyright © DiamondMVC 2019
3 * License: MIT (https://github.com/DiamondMVC/Diamond/blob/master/LICENSE)
4 * Author: Jacob Jensen (bausshf)
5 */
6 module diamond.web.elements.date;
7
8 import diamond.web.elements.input;
9
10 /// Wrapper around a date input.
11 final class Date : Input
12 {
13 private:
14 /// The min date.
15 string _minDate;
16 /// The max date.
17 string _maxDate;
18
19 public:
20 final:
21 /// Creates a new date input.
22 this()
23 {
24 super();
25
26 addAttribute("type", "date");
27 }
28
29 /**
30 * Creates a new date input.
31 * Params:
32 * date = The date of the input.
33 */
34 this(string date)
35 {
36 this();
37
38 super.value = date;
39 }
40
41 @property
42 {
43 /// Gets the min date.
44 string minDate() { return _minDate; }
45
46 /// Sets the min date.
47 void minDate(string newMinDate)
48 {
49 _minDate = newMinDate;
50
51 addAttribute("min", _minDate);
52 }
53
54 /// Gets the max date.
55 string maxDate() { return _maxDate; }
56
57 /// Sets the min date.
58 void maxDate(string newMaxDate)
59 {
60 _maxDate = newMaxDate;
61
62 addAttribute("max", _maxDate);
63 }
64 }
65 }