/** * Renders this widget and returns the HTML as a string * * @return string */ public function render() { $form = new Form(); $form->setAttrib('class', 'inline'); $form->setMethod('GET'); $form->setUidDisabled(); $form->setTokenDisabled(); $form->setName($this->name); $form->addElement('select', $this->parameter, array('label' => $this->label, 'multiOptions' => $this->values, 'autosubmit' => true)); if ($this->request) { $form->populate($this->request->getParams()); } return $form; }
/** * Render this SortBox as HTML * * @return string */ public function render() { $columnForm = new Form(); $columnForm->setTokenDisabled(); $columnForm->setName($this->name . '-column'); $columnForm->setAttrib('class', 'inline'); $columnForm->addElement('select', 'sort', array('autosubmit' => true, 'label' => $this->view()->translate('Sort by'), 'multiOptions' => $this->sortFields, 'decorators' => array(array('ViewHelper'), array('Label')))); $orderForm = new Form(); $orderForm->setTokenDisabled(); $orderForm->setName($this->name . '-order'); $orderForm->setAttrib('class', 'inline'); $orderForm->addElement('select', 'dir', array('autosubmit' => true, 'label' => $this->view()->translate('Direction', 'sort direction'), 'multiOptions' => array('asc' => $this->view()->translate('Ascending', 'sort direction'), 'desc' => $this->view()->translate('Descending', 'sort direction')), 'decorators' => array(array('ViewHelper'), array('Label', array('class' => 'no-js'))))); $column = null; if ($this->request) { $url = $this->request->getUrl(); if ($url->hasParam('sort')) { $column = $url->getParam('sort'); if ($url->hasParam('dir')) { $direction = $url->getParam('dir'); } else { list($_, $direction) = $this->getSortDefaults($column); } } elseif ($url->hasParam('dir')) { $direction = $url->getParam('dir'); list($column, $_) = $this->getSortDefaults(); } } if ($column === null) { list($column, $direction) = $this->getSortDefaults(); } $columnForm->populate(array('sort' => $column)); $orderForm->populate(array('dir' => $direction)); return '<div class="sort-control">' . $columnForm . $orderForm . '</div>'; }
/** * Renders this widget via the given view and returns the * HTML as a string * * @return string */ public function render() { $form = new Form(); $form->setAttrib('class', 'inline'); $form->setMethod('GET'); $form->setTokenDisabled(); $form->setName($this->name); $form->addElement('select', 'sort', array('label' => 'Sort By', 'multiOptions' => $this->sortFields, 'class' => 'autosubmit')); $form->addElement('select', 'dir', array('multiOptions' => array('desc' => 'Desc', 'asc' => 'Asc'), 'class' => 'autosubmit')); $sort = $form->getElement('sort')->setDecorators(array('ViewHelper')); $dir = $form->getElement('dir')->setDecorators(array('ViewHelper')); // $form->enableAutoSubmit(array('sort', 'dir')); // $form->addElement($this->createFallbackSubmitButton()); if ($this->request) { $form->setAction($this->request->getRequestUri()); $form->populate($this->request->getParams()); } return $form; }
/** * Render this SortBox as HTML * * @return string */ public function render() { $columnForm = new Form(); $columnForm->setTokenDisabled(); $columnForm->setName($this->name . '-column'); $columnForm->setAttrib('class', 'inline'); $columnForm->addElement('select', 'sort', array('autosubmit' => true, 'label' => $this->view()->translate('Sort by'), 'multiOptions' => $this->sortFields, 'decorators' => array(array('ViewHelper'), array('Label')))); $column = null; if ($this->request) { $url = $this->request->getUrl(); if ($url->hasParam('sort')) { $column = $url->getParam('sort'); if ($url->hasParam('dir')) { $direction = $url->getParam('dir'); } else { list($_, $direction) = $this->getSortDefaults($column); } } elseif ($url->hasParam('dir')) { $direction = $url->getParam('dir'); list($column, $_) = $this->getSortDefaults(); } } if ($column === null) { list($column, $direction) = $this->getSortDefaults(); } // TODO(el): ToggleButton :) $toggle = array('asc' => 'sort-name-down', 'desc' => 'sort-name-up'); unset($toggle[$direction]); $newDirection = key($toggle); $icon = current($toggle); $orderForm = new Form(); $orderForm->setTokenDisabled(); $orderForm->setName($this->name . '-order'); $orderForm->setAttrib('class', 'inline sort-direction-control'); $orderForm->addElement('hidden', 'dir'); $orderForm->addElement('button', 'btn_submit', array('ignore' => true, 'type' => 'submit', 'label' => $this->view()->icon($icon), 'decorators' => array('ViewHelper'), 'escape' => false, 'class' => 'link-button spinner', 'value' => 'submit', 'title' => t('Change sort direction'))); $columnForm->populate(array('sort' => $column)); $orderForm->populate(array('dir' => $newDirection)); return '<div class="sort-control">' . $columnForm . $orderForm . '</div>'; }
/** * Render this SortBox as HTML * * @return string */ public function render() { $form = new Form(); $form->setTokenDisabled(); $form->setName($this->name); $form->setAttrib('class', 'sort-control inline'); $form->addElement('select', 'sort', array('autosubmit' => true, 'label' => $this->view()->translate('Sort by'), 'multiOptions' => $this->sortFields)); $form->getElement('sort')->setDecorators(array(array('ViewHelper'), array('Label'))); $form->addElement('select', 'dir', array('autosubmit' => true, 'multiOptions' => array('asc' => 'Asc', 'desc' => 'Desc'), 'decorators' => array(array('ViewHelper')))); if ($this->request) { $form->populate($this->request->getParams()); } return $form; }