File tree Expand file tree Collapse file tree 3 files changed +74
-8
lines changed Expand file tree Collapse file tree 3 files changed +74
-8
lines changed Original file line number Diff line number Diff line change @@ -134,6 +134,20 @@ public function addElementText($name, $validators = '')
134134 return $ this ->elements [$ name ];
135135 }
136136
137+ /**
138+ * @param $name
139+ * @param string $validators
140+ * @return \Merkeleon\Form\Form\Element\DateTime
141+ */
142+ public function addElementDateTime ($ name , $ validators = '' )
143+ {
144+ $ element = new Element \DateTime ($ name , $ validators );
145+ $ element ->setTheme ($ this ->theme );
146+
147+ $ this ->elements [$ name ] = $ element ;
148+ return $ this ->elements [$ name ];
149+ }
150+
137151 /**
138152 * @param $name
139153 * @param string $validators
@@ -375,12 +389,15 @@ public function errors()
375389 return $ this ->errors ;
376390 }
377391
378- public function values ()
392+ public function values ($ skipEmptyString = false )
379393 {
380394 $ data = [];
381395 foreach ($ this ->elements as $ name => $ element ) {
382396 if (!$ element ->isIgnored ()) {
383- array_set ($ data , $ name , $ element ->value ());
397+ $ value = $ element ->value ();
398+ if (!$ skipEmptyString || $ skipEmptyString && $ value !== '' ) {
399+ array_set ($ data , $ name , $ value );
400+ }
384401 }
385402 }
386403
Original file line number Diff line number Diff line change @@ -19,8 +19,7 @@ public function value()
1919 if ($ this ->value === '' ) {
2020 $ value = null ;
2121 } else {
22- $ value = Carbon::parse ($ this ->value , current_timezone ())
23- ->setTimezone ('UTC ' );
22+ $ value = Carbon::parse ($ this ->value );
2423 }
2524
2625 return $ value ;
@@ -30,17 +29,15 @@ public function setValue($value, $force = false)
3029 {
3130 if ($ force || !$ this ->hasOldValue )
3231 {
33- $ this ->value = Carbon::parse ($ value , 'UTC ' )
34- ->setTimezone (current_timezone ());
32+ $ this ->value = Carbon::parse ($ value );
3533 }
3634
3735 return $ this ;
3836 }
3937
40-
4138 public function view ()
4239 {
43- $ this ->addAttributes (['data-toggle ' => 'datetimepicker ' ]);
40+ $ this ->addAttributes (['data-toggle ' => 'datepicker ' ]);
4441
4542 return view ('form:: ' . $ this ->theme . '.element.text ' , [
4643 'name ' => $ this ->name ,
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Merkeleon \Form \Form \Element ;
4+
5+ use Carbon \Carbon ;
6+ use Merkeleon \Form \Form \Element ;
7+
8+ class DateTime extends Element
9+ {
10+
11+ public function value ()
12+ {
13+ if ($ this ->value === '' ) {
14+ $ value = null ;
15+ } else {
16+ $ value = Carbon::parse ($ this ->value , current_timezone ())
17+ ->setTimezone ('UTC ' );
18+ }
19+
20+ return $ value ;
21+ }
22+
23+ public function setValue ($ value , $ force = false )
24+ {
25+ if ($ force || !$ this ->hasOldValue )
26+ {
27+ $ this ->value = Carbon::parse ($ value , 'UTC ' )
28+ ->setTimezone (current_timezone ());
29+ }
30+
31+ return $ this ;
32+ }
33+
34+
35+ public function view ()
36+ {
37+ $ this ->addAttributes (['data-toggle ' => 'datetimepicker ' ]);
38+
39+ return view ('form:: ' . $ this ->theme . '.element.text ' , [
40+ 'name ' => $ this ->name ,
41+ 'elementName ' => $ this ->elementName ,
42+ 'error ' => $ this ->error ,
43+ 'label ' => $ this ->label ,
44+ 'value ' => $ this ->value ,
45+ 'placeholder ' => $ this ->placeholder ,
46+ 'postfix ' => $ this ->postfix ,
47+ 'class ' => $ this ->class ,
48+ 'attributes ' => $ this ->attributes
49+ ]);
50+ }
51+
52+ }
You can’t perform that action at this time.
0 commit comments