/** * Renders and replaces the panel's content on the client-side. * When render() is called before the OnPreRender event, such as when render() * is called during a callback event handler, the rendering * is defered until OnPreRender event is raised. * @param THtmlWriter html writer */ public function render($writer) { if ($this->getHasPreRendered()) { parent::render($writer); if ($this->getActiveControl()->canUpdateClientSide()) { $this->getPage()->getCallbackClient()->replaceContent($this, $writer); } } else { $this->getPage()->getAdapter()->registerControlToRender($this, $writer); if ($this->getHasControls()) { // If we update a TActivePanel on callback, // We shouldn't update all childs, because the whole content will be replaced by // the parent foreach ($this->findControlsByType('IActiveControl', false) as $control) { $control->getActiveControl()->setEnableUpdate(false); } } } }
/** * Renders and replaces the panel's content on the client-side. * When render() is called before the OnPreRender event, such as when render() * is called during a callback event handler, the rendering * is defered until OnPreRender event is raised. * @param THtmlWriter html writer */ public function render($writer) { if ($this->getHasPreRendered()) { parent::render($writer); if ($this->getActiveControl()->canUpdateClientSide()) { $this->getPage()->getCallbackClient()->replaceContent($this->_container, $writer); } } else { $this->getPage()->getAdapter()->registerControlToRender($this->_container, $writer); } }