/**
  * 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);
             }
         }
     }
 }
Beispiel #2
0
 /**
  * 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);
     }
 }