/** * Construtor * @param \stdClass $param */ public function __construct($param) { $this->_controls = Div::factory()->addClass('controls'); $this->_label = Label::factory($this->safeToggle($param, 'label'))->addClass('control-label'); if (TRUE == $this->safeToggle($param, 'required')) { $span = new Span(); $span->addClass(Input::T_INPUT_REQUIRED_CLASS)->add(new Text(Input::T_INPUT_REQUIRED_MASK)); $this->_label->add($span); } # @todo expandir este metodo para suportar qualquer tipo de input $this->_controls->add(new Input($param->name, $param->type)); $this->_inputLabel = Div::factory()->addClass('control-group')->add($this->_label)->add($this->_controls); }
/** * wizard para inclusao de elementos no form * * @param string $txLabel * @param ElementAbstract|string $element * @param boolean $isRequired * @param string $posLegend * @param boolean * @return ScreenFormForm * */ public function wAdd($txLabel, $element, $isRequired = FALSE, $posLegend = NULL, $returnCreatedElem = FALSE) { $divCtlGroup = Div::factory()->addClass('control-group'); $divCtrls = Div::factory()->addClass('controls'); if (!$element instanceof ElementAbstract) { $element = Text::factory($element); } $for = $element->getAttr('id') ?: $element->getAttr('name'); $label = Label::factory(NULL, $for)->addClass('control-label'); $divCtlGroup->add(array($label, $divCtrls)); if (TRUE == $isRequired) { $element->addClass('required'); $span = Span::factory()->addClass('required')->setContent(self::T_SCRENFORMFORM_REQUIRED_TOKEN); $label->add($span); } $label->add(Text::factory($txLabel)); $divCtrls->add($element); if (NULL != $posLegend) { if (!$posLegend instanceof ElementAbstract) { $posLegend = Text::factory(' ' . $posLegend); } $divCtrls->add($posLegend); } if ($returnCreatedElem) { return $divCtlGroup; } $this->_container->add($divCtlGroup); return $this; }