public function render(HTML_QuickForm2_Renderer $renderer) { // render as a normal select when frozen if ($this->frozen) { $renderer->renderElement($this); } else { $jsBuilder = $renderer->getJavascriptBuilder(); $this->renderClientRules($jsBuilder); $jsBuilder->addLibrary('dualselect', 'dualselect.js', 'js/', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR); $keepSorted = empty($this->data['keepSorted']) ? 'false' : 'true'; $jsBuilder->addElementJavascript("qf.elements.dualselect.init('{$this->getId()}', {$keepSorted});"); // Fall back to using the Default renderer if custom one does not have a plugin if ($renderer->methodExists('renderDualSelect')) { $renderer->renderDualSelect($this); } else { $renderer->renderElement($this); } } return $renderer; }