From f30c38fcc9d6cdfa7aafa5078a58645192c11974 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sun, 11 Jun 2006 22:01:52 +0000 Subject: Prado js files are not rendered at the beginning of the form --- framework/Web/UI/WebControls/TImageButton.php | 2 +- framework/Web/UI/WebControls/TImageMap.php | 12 ++---------- framework/Web/UI/WebControls/TListControl.php | 14 ++++++++++---- 3 files changed, 13 insertions(+), 15 deletions(-) (limited to 'framework/Web/UI/WebControls') diff --git a/framework/Web/UI/WebControls/TImageButton.php b/framework/Web/UI/WebControls/TImageButton.php index df8ace43..f7f6408a 100644 --- a/framework/Web/UI/WebControls/TImageButton.php +++ b/framework/Web/UI/WebControls/TImageButton.php @@ -88,7 +88,7 @@ class TImageButton extends TImage implements IPostBackDataHandler, IPostBackEven if(($uniqueID=$this->getUniqueID())!=='') $writer->addAttribute('name',$uniqueID); if($this->getEnabled(true)) - $this->renderClientControlScript($writer); + $this->renderClientControlScript($writer); else if($this->getEnabled()) // in this case, parent will not render 'disabled' $writer->addAttribute('disabled','disabled'); parent::addAttributesToRender($writer); diff --git a/framework/Web/UI/WebControls/TImageMap.php b/framework/Web/UI/WebControls/TImageMap.php index be7bfea9..b6acf39e 100644 --- a/framework/Web/UI/WebControls/TImageMap.php +++ b/framework/Web/UI/WebControls/TImageMap.php @@ -94,6 +94,7 @@ class TImageMap extends TImage implements IPostBackEventHandler $i=0; $options['EventTarget'] = $this->getUniqueID(); $options['StopEvent'] = true; + $cs=$this->getPage()->getClientScript(); foreach($hotspots as $hotspot) { if($hotspot->getHotSpotMode()==='NotSet') @@ -109,7 +110,7 @@ class TImageMap extends TImage implements IPostBackEventHandler $options['EventParameter']="$i"; $options['CausesValidation']=$hotspot->getCausesValidation(); $options['ValidationGroup']=$hotspot->getValidationGroup(); - $cs->renderClientControlScript($writer,$options); + $cs->registerPostBackControl('Prado.WebUI.TImageMap',$options); } $hotspot->render($writer); $writer->writeLine(); @@ -119,15 +120,6 @@ class TImageMap extends TImage implements IPostBackEventHandler } } - /** - * Renders the client-script code. - */ - protected function renderClientControlScript($writer,$options) - { - $cs = $this->getPage()->getClientScript(); - $cs->registerPostBackControl('Prado.WebUI.TImageMap',$options); - } - /** * Raises the postback event. * This method is required by {@link IPostBackEventHandler} interface. diff --git a/framework/Web/UI/WebControls/TListControl.php b/framework/Web/UI/WebControls/TListControl.php index 2c42c462..ccb400dc 100644 --- a/framework/Web/UI/WebControls/TListControl.php +++ b/framework/Web/UI/WebControls/TListControl.php @@ -116,16 +116,22 @@ abstract class TListControl extends TDataBoundControl if($this->getEnabled(true)) { if($this->getAutoPostBack() && $page->getClientSupportsJavaScript()) - { - $writer->addAttribute('id',$this->getClientID()); - $this->getPage()->getClientScript()->registerPostBackControl($this->getClientClassName(),$this->getPostBackOptions()); - } + $this->renderClientControlScript($writer); } else if($this->getEnabled()) $writer->addAttribute('disabled','disabled'); parent::addAttributesToRender($writer); } + /** + * Renders the javascript for list control. + */ + protected function renderClientControlScript($writer) + { + $writer->addAttribute('id',$this->getClientID()); + $this->getPage()->getClientScript()->registerPostBackControl($this->getClientClassName(),$this->getPostBackOptions()); + } + /** * Gets the name of the javascript class responsible for performing postback for this control. * This method overrides the parent implementation. -- cgit v1.2.3