コード例 #1
0
ファイル: InputLabel.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * 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
ファイル: Breadcrumb.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * @param object @param
  * */
 public function __construct($param)
 {
     $this->_breadcrumb = new UL();
     $divider = new Span(' / ');
     $this->_breadcrumb->addClass('breadcrumb');
     $divider->addClass('divider');
     $itens = $this->safeToggle($param, 'item', array());
     foreach ($itens as $item) {
         $this->_listItem = new LI();
         if (end($itens) == $item) {
             $link = new Text($item['text']);
             $this->_listItem->add($link)->addClass('active');
         } else {
             $link = new Anchor($item['text'], $item['href']);
             $this->_listItem->add($link)->add($divider);
         }
         $this->_breadcrumb->add($this->_listItem);
     }
 }
コード例 #3
0
ファイル: ButtonBar.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * Adiciona os elementos que irão compor o buttonBar
  *
  * @param stdClass $param
  * @return ButtonBar
  * @throws IllegalArgumentException
  * */
 private function _addElements(\stdClass $param = NULL)
 {
     foreach ($this->safeToggle($param, 'options', new \stdClass()) as $elm) {
         if (is_object($elm)) {
             $type = $elm->type;
             unset($elm->type);
         } else {
             $type = $elm;
         }
         IllegalArgumentException::throwsExceptionIfParamIsNull(isset($this->_elements[$type]), self::T_BUTTONBARABSTRACT_INVALID_BUTTON);
         $property = (object) $this->_elements[$type];
         if (is_object($elm)) {
             foreach ($elm as $prop => $value) {
                 $property->{$prop} = $value;
             }
         }
         switch ($property->element) {
             case 'button':
                 $button = new Button($property->label, $property->name);
                 break;
             case 'anchor':
                 $href = isset($property->href) ? $property->href : '#';
                 $button = new Anchor($property->label, $href);
                 break;
         }
         $button->id = $this->genId($property);
         $button->addClass(array('btn', 'btn-' . $property->name));
         if (isset($property->type)) {
             $button->attr('type', $property->type);
         }
         if (isset($property->icon)) {
             $span = new Span();
             $span->addClass($property->icon);
             $button->add($span);
         }
         if (isset($param->primary) && $param->primary == $property->name) {
             $button->addClass('btn-primary');
             if (isset($property->icon)) {
                 $span->addClass('icon-white');
             }
         }
         $this->_buttonBar->add($button)->add(new Text(' '));
     }
     return $this;
 }
コード例 #4
0
ファイル: DecoratorHTML.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * Barra de botões de ações.
  *
  * @param stdClass $config
  * @return Div
  * @throws IllegalArgumentException
  * */
 public function buttonbar(\stdClass $config)
 {
     $elemnts = array('first' => array('label' => 'primeiro', 'name' => 'first', 'icon' => 'icon-fast-backward'), 'prev' => array('label' => 'anterior', 'name' => 'previous', 'icon' => 'icon-chevron-left'), 'next' => array('label' => 'próximo', 'name' => 'next', 'icon' => 'icon-chevron-right'), 'last' => array('label' => 'último', 'name' => 'last', 'icon' => 'icon-fast-forward'), 'save' => array('label' => 'salvar', 'name' => 'save', 'icon' => 'icon-download-alt'), 'edit' => array('label' => 'alterar', 'name' => 'edit', 'icon' => 'icon-pencil'), 'complete' => array('label' => 'concluir', 'name' => 'complete', 'icon' => 'icon-ok'), 'abort' => array('label' => 'anterior', 'name' => 'about', 'icon' => 'icon-remove'), 'cancel' => array('label' => 'cancelar', 'name' => 'cancel', 'icon' => 'icon-ban-circle'), 'delete' => array('label' => 'excluir', 'name' => 'delete', 'icon' => 'icon-trash'));
     $buttonbar = new Div();
     $buttonbar->addClass('form-actions');
     foreach ($config->elements as $elm) {
         IllegalArgumentException::throwsExceptionIfParamIsNull(isset($elemnts[$elm]), 'botão indisponível');
         $property = (object) $elemnts[$elm];
         $button = $this->button($property);
         $span = new Span();
         $span->addClass($property->icon);
         $button->add($span);
         $buttonbar->add($button);
     }
     return $buttonbar;
 }
コード例 #5
0
ファイル: Grid.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * @return ElementAbstract
  * */
 public function controllButton($col)
 {
     $btnGroup = new Div();
     $btnGroup->addClass(array('btn-group', 'grid-column-btn-group'))->attr('id', $col);
     if ($this->_canEdit) {
         $anchor = new Anchor();
         $anchor->addClass('edit');
         $span = new Span();
         $span->addClass('icon-pencil');
         $anchor->setContent($span);
         $anchor->addClass(array('btn', 'btn-mini'));
         $btnGroup->add($anchor);
     }
     if ($this->_canDetail) {
         $anchor = new Anchor();
         $anchor->addClass('detail');
         $span = new Span();
         $span->addClass('icon-eye-open');
         $anchor->setContent($span);
         $anchor->addClass(array('btn', 'btn-mini'));
         $btnGroup->add($anchor);
     }
     if ($this->_canChangeStatus) {
         $anchor = new Anchor();
         $anchor->addClass('status');
         $span = new Span();
         $span->addClass('icon-off');
         $anchor->setContent($span);
         $anchor->addClass(array('btn', 'btn-mini'));
         $btnGroup->add($anchor);
     }
     if ($this->_canDelete) {
         $anchor = new Anchor();
         $anchor->addClass('delete');
         $span = new Span();
         $span->addClass('icon-trash');
         $anchor->setContent($span);
         $anchor->addClass(array('btn', 'btn-mini'));
         $btnGroup->add($anchor);
     }
     if ($this->_canPrint) {
         $anchor = new Anchor();
         $anchor->addClass('print');
         $span = new Span();
         $span->addClass('icon-print');
         $anchor->setContent($span);
         $anchor->addClass(array('btn', 'btn-mini'));
         $btnGroup->add($anchor);
     }
     if ($this->_canExonerate) {
         $anchor = new Anchor();
         $anchor->addClass('exonerate');
         $span = new Span();
         $span->addClass('icon-exonerate');
         $anchor->setContent($span);
         $anchor->addClass(array('btn', 'btn-mini'));
         $btnGroup->add($anchor);
     }
     return $btnGroup;
 }
コード例 #6
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;
 }
コード例 #7
0
ファイル: SAFHTML.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * 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;
 }
コード例 #8
0
ファイル: Custom.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * 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;
 }