예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 /**
  * Grupo de Radio button ou Checkbox.
  *
  * @param string $type
  * @param stdClass $config
  * @return Fieldset
  * */
 public function groupRadioAndCheck($type, \stdClass $config)
 {
     $fiedset = new Fieldset(isset($config->title) ? $config->title : NULL);
     $content = NULL;
     if (!isset($config->content)) {
         $config->content = array();
     }
     foreach ($config->data as $elm) {
         $elm = (object) $elm;
         $elmId = $this->genId($config);
         $label = new Label($elm->text, $elmId);
         $radio = new Input($config->name, $type);
         $radio->value = $elm->value;
         $radio->id = $elmId;
         if (isset($elm->checked)) {
             $radio->checked = 'checked';
         }
         $label->add($radio);
         $fiedset->add($label);
     }
     return $fiedset;
 }
예제 #3
0
 /**
  * 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;
 }
예제 #4
0
 /**
  * cria campo dentro de um controlgroup
  *
  * @param stdClass
  * @return Div
  * */
 private function _createControlGroupInput(\stdClass $param)
 {
     $group = new Div();
     $group->addClass('control-group');
     $label = new Label($param->label);
     $label->addClass('control-label');
     $input = new Input($param->name, $param->type);
     if (isset($param->required) && TRUE == $param->required) {
         $span = new Span();
         $span->addClass(Input::T_INPUT_REQUIRED_CLASS)->add(new Text(Input::T_INPUT_REQUIRED_MASK))->title = $this->safeToggle($param, 'requiredTitle', Input::T_INPUT_REQUIRED_TITLE);
         $label->add($span);
         $input->addClass(Input::T_INPUT_REQUIRED_CLASS);
     }
     $divInput = new Div();
     $divInput->addClass('controls')->add($input);
     // $label->add($divInput);
     $group->add($label)->add($divInput);
     return $group;
 }
예제 #5
0
 /**
  * cria textarea
  *
  * @param stdClass $param
  * @return TextArea
  * */
 public function textarea(\stdClass $param)
 {
     $element = $this->_component->textarea($param);
     if (isset($param->label)) {
         $controlGroup = Div::factory()->addClass('control-group');
         $label = new Label($param->label);
         $label->addClass('control-label');
         if (isset($param->required)) {
             $element->addClass('required');
             $span = Span::factory()->addClass('required');
             $span->setContent('*' . ' ');
             # label->span
             $label->add($span);
         }
         # div.control-group -> label
         $controlGroup->add($label);
         $element = $controlGroup->add(Div::factory()->addClass('controls')->add($element));
     }
     return $element;
 }