本文整理汇总了PHP中HTML_QuickForm2_Renderer::setJavascriptBuilder方法的典型用法代码示例。如果您正苦于以下问题:PHP HTML_QuickForm2_Renderer::setJavascriptBuilder方法的具体用法?PHP HTML_QuickForm2_Renderer::setJavascriptBuilder怎么用?PHP HTML_QuickForm2_Renderer::setJavascriptBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTML_QuickForm2_Renderer
的用法示例。
在下文中一共展示了HTML_QuickForm2_Renderer::setJavascriptBuilder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setJavascriptBuilder
public function setJavascriptBuilder(HTML_QuickForm2_JavascriptBuilder $builder = null)
{
$this->_renderer->setJavascriptBuilder($builder);
return $this;
}
示例2: render
/**
* 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;
}