File: /var/www/vhosts/creativefellows.nl/jhtaxatie.creativefellows.nl/classes/TaxationFormFieldGroup.php
<?php
final class TaxationFormFieldGroup extends Data
{
protected $fields = [];
protected $group;
protected $html;
protected $visibility = true;
function __construct($group,$post_data = [],$debug=false)
{
// d($post_data);
$this->group = $group;
$this->post_data = $post_data;
$this->debug = $debug;
}
function setFields(array $fields, array $post_data=[])
{
//setPostValue
foreach($fields as $id => $field)
{
$data = new TaxationFormFieldData($id,$field,$this->debug);
$data->setPostValue($this->post_data[$data->id()]);
$this->fields[] = $data;
}
}
public function setVisibility($visible)
{
$this->visibility = $visible;
}
public function unsetField($field)
{
unset($this->fields[ $field->id() ]);
}
public function fields()
{
return $this->fields;
}
public function group()
{
return $this->group;
}
public function html($confirm=false, $class=null)
{
$visible = $this->visibility === false ? " hide" : "";
$this->html .= '<div class="grid-x grid-margin-x'.$visible.'" id="group_'. $this->group() .'" data-toggler="hide" data-field-group>';
foreach($this->fields as $field)
{
$this->html .= $field->getHtml();
}
$this->html .= '</div>';
return $this->html;
}
public function emailHtml($confirm=false, $class=null)
{
$html = '';
foreach($this->fields as $field)
{
if($field->type() != "hidden"){
$html .= $field->htmlEmailRow();
}
}
return $html;
}
}