示例#1
0
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     if (method_exists($renderer->getJavascriptBuilder(), 'addValidateJs')) {
         $renderer->getJavascriptBuilder()->addValidateJs('errorElement: "span"');
     }
     return parent::render($renderer);
 }
 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;
 }
示例#3
0
文件: sliiing.php 项目: grlf/eyedock
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     $renderer->getJavascriptBuilder()->addElementJavascript($this->getJs());
     return parent::render($renderer);
 }
示例#4
0
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     $renderer->renderHidden($this);
     $this->renderClientRules($renderer->getJavascriptBuilder());
     return $renderer;
 }
示例#5
0
 /**
  * Renders the form using the given renderer
  *
  * @param    HTML_QuickForm2_Renderer    Renderer instance
  * @return   HTML_QuickForm2_Renderer
  */
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     $renderer->startForm($this);
     $renderer->getJavascriptBuilder()->setFormId($this->getId());
     foreach ($this as $element) {
         $element->render($renderer);
     }
     $this->renderClientRules($renderer->getJavascriptBuilder());
     $renderer->finishForm($this);
     return $renderer;
 }
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     $renderer->getJavascriptBuilder()->addLibrary('bricks-editor', 'bricks-editor.js', REL_ROOT_URL . '/application/default/views/public/js');
     return parent::render($renderer);
 }
示例#7
0
    public function render(HTML_QuickForm2_Renderer $renderer)
    {
        $id = $this->getId();
        $url = REL_ROOT_URL . '/application/default/views/public/js/ckeditor/ckeditor.js';
        $renderer->getJavascriptBuilder()->addElementJavascript(<<<CUT
if (!window.CKEDITOR) {            
    var script = \$('<script type="text/javascript" src="{$url}"></' + 'script>');  
    \$('head').append(script);    
}
CUT
);
        if (!$this->dontInitMce) {
            $options = $this->mceOptions ? Am_Controller::getJson($this->mceOptions) : '{}';
            $renderer->getJavascriptBuilder()->addElementJavascript(<<<CUT
\$(function(){            
    initCkeditor('{$id}', {$options});
});
CUT
);
        }
        return parent::render($renderer);
    }
示例#8
0
 /**
  * Renders the element using the given renderer
  *
  * @param    HTML_QuickForm2_Renderer    Renderer instance
  * @return   HTML_QuickForm2_Renderer
  */
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     foreach ($this->rules as $rule) {
         if ($rule[1] & HTML_QuickForm2_Rule::RUNAT_CLIENT) {
             $renderer->getJavascriptBuilder()->addRule($rule[0]);
         }
     }
     $renderer->renderElement($this);
     return $renderer;
 }
示例#9
0
 public function getJavascriptBuilder()
 {
     return $this->_renderer->getJavascriptBuilder();
 }
示例#10
0
 /**
  * Renders the container using the given renderer
  *
  * Container will be output N + 1 times, where N are visible items and 1 is
  * the hidden prototype used by Javascript code to create new items.
  *
  * @param HTML_QuickForm2_Renderer $renderer renderer to use
  *
  * @return   HTML_QuickForm2_Renderer
  */
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     $backup = $this->backupChildAttributes(true, true);
     $hiddens = $renderer->getOption('group_hiddens');
     $jsBuilder = $renderer->getJavascriptBuilder();
     $evalBuilder = new HTML_QuickForm2_Container_Repeat_JavascriptBuilder();
     $renderer->setJavascriptBuilder($evalBuilder)->setOption('group_hiddens', false)->startContainer($this);
     // first, render a (hidden) prototype
     $this->getPrototype()->addClass('repeatItem repeatPrototype');
     $this->getPrototype()->render($renderer);
     $this->getPrototype()->removeClass('repeatPrototype');
     // restore original JS builder
     $evalBuilder->passLibraries($jsBuilder);
     $renderer->setJavascriptBuilder($jsBuilder);
     // next, render all available rows
     foreach ($this->getIndexes() as $index) {
         $this->replaceIndexTemplates($index, $backup);
         /* @var HTML_QuickForm2_Node $child */
         foreach ($this->getRecursiveIterator() as $child) {
             if (isset($this->childErrors[$hash = spl_object_hash($child)]) && isset($this->childErrors[$hash][$index])) {
                 $child->setError($this->childErrors[$hash][$index]);
             }
         }
         $this->getPrototype()->render($renderer);
     }
     $this->restoreChildAttributes($backup);
     // only add javascript if not frozen
     if (!$this->toggleFrozen()) {
         $jsBuilder->addLibrary('repeat', 'quickform-repeat.js');
         $jsBuilder->addElementJavascript($this->_generateInitScript($evalBuilder));
         $this->renderClientRules($jsBuilder);
     }
     $renderer->finishContainer($this);
     $renderer->setOption('group_hiddens', $hiddens);
     return $renderer;
 }
示例#11
0
 /**
  * Renders the container using the given renderer
  *
  * @param    HTML_QuickForm2_Renderer    Renderer instance
  * @return   HTML_QuickForm2_Renderer
  */
 public function render(HTML_QuickForm2_Renderer $renderer)
 {
     foreach ($this->rules as $rule) {
         if ($rule[1] & HTML_QuickForm2_Rule::RUNAT_CLIENT) {
             $renderer->getJavascriptBuilder()->addRule($rule[0]);
         }
     }
     $renderer->startContainer($this);
     foreach ($this as $element) {
         $element->render($renderer);
     }
     $renderer->finishContainer($this);
     return $renderer;
 }