Skip to content

Commit 2c7b4a0

Browse files
committed
DataForm + Form light refactoring
1 parent 460f9eb commit 2c7b4a0

File tree

3 files changed

+40
-27
lines changed

3 files changed

+40
-27
lines changed

Ajax/semantic/html/collections/form/HtmlForm.php

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
use Ajax\semantic\html\collections\form\traits\FieldsTrait;
1010
use Ajax\semantic\html\elements\HtmlDivider;
1111
use Ajax\JsUtils;
12-
use Ajax\service\AjaxCall;
1312
use Ajax\semantic\html\collections\form\traits\FormTrait;
1413

1514
/**
@@ -36,7 +35,6 @@ public function __construct($identifier, $elements=array()) {
3635
$this->_states=[ State::ERROR,State::SUCCESS,State::WARNING,State::DISABLED ];
3736
$this->setProperty("name", $this->identifier);
3837
$this->_fields=array ();
39-
$this->_validationParams=[];
4038
$this->addItems($elements);
4139
}
4240

@@ -143,17 +141,7 @@ public function addMessage($identifier, $content, $header=NULL, $icon=NULL, $typ
143141
return $this->addItem($message);
144142
}
145143

146-
private function addCompoValidation($js,$compo,$field){
147-
$validation=$field->getValidation();
148-
if(isset($validation)){
149-
if(isset($compo)===false){
150-
$compo=$js->semantic()->form("#".$this->identifier);
151-
}
152-
$validation->setIdentifier($field->getDataField()->getIdentifier());
153-
$compo->addFieldValidation($validation);
154-
}
155-
return $compo;
156-
}
144+
157145

158146
public function compile(JsUtils $js=NULL,&$view=NULL){
159147
if(\sizeof($this->_validationParams)>0)
@@ -183,18 +171,6 @@ public function run(JsUtils $js) {
183171
return $this->_bsComponent;
184172
}
185173

186-
private function _runValidationParams(&$compo,JsUtils $js=NULL){
187-
if(isset($this->_validationParams["_ajaxSubmit"]) && $this->_validationParams["_ajaxSubmit"] instanceof AjaxCall){
188-
$compilation=$this->_validationParams["_ajaxSubmit"]->compile($js);
189-
$compilation=str_ireplace("\"","%quote%", $compilation);
190-
$this->onSuccess($compilation);
191-
unset($this->_validationParams["_ajaxSubmit"]);
192-
}
193-
$compo->addParams($this->_validationParams);
194-
$this->_bsComponent=$compo;
195-
$this->addEventsOnRun($js);
196-
}
197-
198174
public function addValidationParam($paramName,$paramValue){
199175
$this->_validationParams[$paramName]=$paramValue;
200176
return $this;
@@ -204,4 +180,9 @@ public function setValidationParams(array $_validationParams) {
204180
$this->_validationParams=$_validationParams;
205181
return $this;
206182
}
183+
184+
public function getValidationParams() {
185+
return $this->_validationParams;
186+
}
187+
207188
}

Ajax/semantic/html/collections/form/traits/FormTrait.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,42 @@
44
use Ajax\semantic\html\collections\form\HtmlForm;
55
use Ajax\semantic\html\collections\HtmlMessage;
66
use Ajax\service\AjaxCall;
7+
use Ajax\JsUtils;
78

89
trait FormTrait{
10+
911
/**
1012
* @return HtmlForm
1113
*/
1214
abstract protected function getForm();
1315

16+
protected function addCompoValidation($js,$compo,$field){
17+
$form=$this->getForm();
18+
$validation=$field->getValidation();
19+
if(isset($validation)){
20+
if(isset($compo)===false){
21+
$compo=$js->semantic()->form("#".$form->getIdentifier());
22+
}
23+
$validation->setIdentifier($field->getDataField()->getIdentifier());
24+
$compo->addFieldValidation($validation);
25+
}
26+
return $compo;
27+
}
28+
29+
protected function _runValidationParams(&$compo,JsUtils $js=NULL){
30+
$form=$this->getForm();
31+
$params=$form->getValidationParams();
32+
if(isset($params["_ajaxSubmit"]) && $params["_ajaxSubmit"] instanceof AjaxCall){
33+
$compilation=$params["_ajaxSubmit"]->compile($js);
34+
$compilation=str_ireplace("\"","%quote%", $compilation);
35+
$this->onSuccess($compilation);
36+
unset($params["_ajaxSubmit"]);
37+
}
38+
$compo->addParams($params);
39+
$form->setBsComponent($compo);
40+
$form->addEventsOnRun($js);
41+
}
42+
1443
public function setLoading() {
1544
return $this->getForm()->addToProperty("class", "loading");
1645
}

Ajax/semantic/widgets/dataform/DataForm.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,13 @@ protected function _generateContent($form){
5555
$separators[]=$count;
5656
for($i=0;$i<$size;$i++){
5757
$fields=\array_slice($values, $separators[$i]+1,$separators[$i+1]-$separators[$i]);
58+
//TODO check why $fields is empty
5859
if(\sizeof($fields)===1){
5960
$form->addField($fields[0]);
60-
}else
61-
$form->addFields($fields);
61+
}elseif(\sizeof($fields)>1){
62+
$form->addFields($fields,"grouped");
63+
$i+=\sizeof($fields)-1;
64+
}
6265
}
6366
}
6467
}

0 commit comments

Comments
 (0)