Пример #1
0
 /**
  * Cria a toolbar.
  * @param Boolean $save define se irá aparecer o botão padrão Salvar.
  * @param Boolean $saveClose Botão para salvar e fechar
  * @param Boolean $printForm Botão para imprimir
  * @param Boolean $deleteForm Botão para deletar
  * @param Boolean $clearForm Botão limpar dados de um formulário
  * @param Boolean $includeForm Botão para incluir
  * @param Boolean $editForm Botão para editar
  * @param Boolean $backForm Botão para voltar
  * @param Boolean $execute Botão para executar processo [GAMBI]
  * @param Boolean $returnPendency Botão para processar dados [GAMBI]
  * @param Boolean $processData Botão para processar dados [GAMBI]
  * @param Boolean $block Botão para bloquear recursos [GAMBI]
  * @param Boolean $disable Botão para desativar recursos [GAMBI]
  */
 public function createToolbar($save = false, $saveClose = false, $printForm = false, $deleteForm = false, $clearForm = false, $includeForm = false, $editForm = false, $backForm = false, $execute = false, $returnPendency = false, $processData = false, $block = false, $disable = false, array $params = null)
 {
     $elementsList = array();
     $elementsNameList = array();
     if ($save) {
         $saveForm = new Zend_Form_Element_Submit('saveForm');
         $saveForm->setLabel('Salvar');
         $saveForm->setAttrib('class', 'save');
         $saveForm->setDecorators(array(array('ViewHelper'), array('description'), array('HtmlTag', array('tag' => 'li'))));
         $elementsList[] = $saveForm;
         $elementsNameList[] = "saveForm";
     }
     if ($saveClose) {
         $saveCloseForm = new Zend_Form_Element_Submit('saveCloseForm');
         // $saveCloseForm = new Zend_Form_Element_Hidden('saveCloseForm');
         $saveCloseForm->setLabel('Salvar/Fechar');
         $saveCloseForm->setAttrib('class', 'save_close');
         // $saveCloseForm->setDescription('<a href="" class="save_close" id="save_close">Salvar/Fechar</a>');
         $saveCloseForm->setDecorators(array(array('ViewHelper'), array('description'), array('HtmlTag', array('tag' => 'li'))));
         $saveCloseForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $saveCloseForm;
         $elementsNameList[] = "saveCloseForm";
     }
     if ($execute) {
         $execute = new Zend_Form_Element_Hidden('execute');
         $execute->setDescription('<a href="" id="execute" class="execute">Executar</a>');
         $execute->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'execute'))));
         $execute->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $execute;
         $elementsNameList[] = "execute";
     }
     if ($returnPendency) {
         $returnPendency = new Zend_Form_Element_Hidden('returnPendency');
         $returnPendency->setDescription('<a href="" id="rtPendency" class="back">Retornar pendência</a>');
         $returnPendency->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'back'))));
         $returnPendency->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $returnPendency;
         $elementsNameList[] = "returnPendency";
     }
     if ($processData) {
         $processData = new Zend_Form_Element_Hidden('processData');
         $processData->setDescription('<a href="" id="processData" class="process">Dados do processo</a>');
         $processData->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'process'))));
         $processData->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $processData;
         $elementsNameList[] = "processData";
     }
     if ($clearForm) {
         $clearForm = new Zend_Form_Element_Hidden('clearForm');
         $clearForm->setDescription('<a href="" id="clear_btn" class="clean">Limpar</a>');
         $clearForm->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'clear'))));
         $clearForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $clearForm;
         $elementsNameList[] = "clearForm";
     }
     if ($includeForm) {
         $includeForm = new Zend_Form_Element_Hidden('includeForm');
         $includeForm->setDescription('<a href="#" id="include_btn" class="include">Incluir</a>');
         $includeForm->setDecorators(array(array('ViewHelper'), array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'include'))));
         $includeForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $includeForm;
         $elementsNameList[] = "includeForm";
     }
     if ($editForm) {
         $editForm = new Zend_Form_Element_Hidden('editForm');
         $editForm->setDescription('<a href="#" id="edit_btn" class="edit">Editar</a>');
         $editForm->setDecorators(array(array('ViewHelper'), array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'edit'))));
         $editForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $editForm;
         $elementsNameList[] = "editForm";
     }
     if ($deleteForm) {
         $deleteForm = new Zend_Form_Element_Hidden('deleteForm');
         $deleteForm->setDescription('<a href="" id="delete_btn" class="delete">Excluir</a>');
         $deleteForm->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'delete'))));
         $deleteForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $deleteForm;
         $elementsNameList[] = "deleteForm";
     }
     if ($block) {
         $block = new Zend_Form_Element_Hidden('blockForm');
         $block->setDescription('<a href="" id="block_btn" class="block">Bloquear/Desbloquear</a>');
         $block->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'block'))));
         $block->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $block;
         $elementsNameList[] = "blockForm";
     }
     if ($disable) {
         $disable = new Zend_Form_Element_Hidden('disableForm');
         $disable->setDescription('<a href="" id="disable_btn" class="disable">Ativar/Desativar</a>');
         $disable->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'disable'))));
         $disable->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $disable;
         $elementsNameList[] = "disableForm";
     }
     if ($printForm) {
         $printForm = new Zend_Form_Element_Hidden('printForm');
         $printForm->setDescription('<a href="" id="print_btn" class="prints">Impressões</a>');
         $printForm->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'prints'))));
         $printForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $printForm;
         $elementsNameList[] = "printForm";
     }
     if ($backForm) {
         $backForm = new Zend_Form_Element_Hidden('backForm');
         $backForm->setDescription('<a href="' . $_SERVER['HTTP_REFERER'] . '" id="back_btn" class="back">Voltar</a>');
         $backForm->setDecorators(array(array('ViewHelper'), array('description'), array('HtmlTag', array('tag' => 'li', 'class' => 'back'))));
         $backForm->getDecorator('description')->setOption('escape', false);
         $elementsList[] = $backForm;
         $elementsNameList[] = "backForm";
     }
     if (isset($params)) {
         foreach ($params as $idParam => $valueParam) {
             $objectZendForm = "Zend_Form_Element_" . $valueParam["typeButton"];
             $idParam = new $objectZendForm($valueParam["name"]);
             if ($valueParam["typeButton"] == "Hidden") {
                 $idParam->setDescription('<a href="' . $valueParam["href"] . '" id="' . $valueParam["name"] . '" class="' . $valueParam["class"] . '">' . $valueParam["label"] . '</a>');
                 $idParam->setDecorators(array(array('description'), array('HtmlTag', array('tag' => 'li'))));
                 $idParam->getDecorator('description')->setOption('escape', false);
             } else {
                 if ($valueParam["typeButton"] == "Submit") {
                     $idParam->setLabel($valueParam["label"]);
                     $idParam->setAttrib('class', $valueParam["class"]);
                     $idParam->setDecorators(array(array('ViewHelper'), array('description'), array('HtmlTag', array('tag' => 'li'))));
                 }
             }
             $elementsList[] = $idParam;
             $elementsNameList[] = $valueParam["name"];
         }
     }
     $this->clearDecorators();
     $this->addDecorator('FormElements')->addDecorator('HtmlTag', array('tag' => '<ul>'))->addDecorator('Form');
     $this->addElements($elementsList);
     $this->addDisplayGroup($elementsNameList, 'toolbar', array('legend' => ''));
     $toolbar = $this->getDisplayGroup('toolbar');
     $toolbar->setDecorators(array('FormElements', array('HtmlTag', array('tag' => 'ul', 'id' => 'toolbar'))));
 }