From 1bbff5ec853ae88cdfe1446d22c06a87fe305c0f Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 8 Dec 2005 17:51:08 +0000 Subject: --- framework/Web/UI/TClientScriptManager.php | 93 +++++++++++++++++++++++++++++-- 1 file changed, 87 insertions(+), 6 deletions(-) (limited to 'framework/Web/UI/TClientScriptManager.php') diff --git a/framework/Web/UI/TClientScriptManager.php b/framework/Web/UI/TClientScriptManager.php index e42a0b20..0701a245 100644 --- a/framework/Web/UI/TClientScriptManager.php +++ b/framework/Web/UI/TClientScriptManager.php @@ -79,6 +79,10 @@ class TClientScriptManager extends TComponent private $_beginScripts=array(); private $_endScripts=array(); private $_scriptFiles=array(); + private $_headScriptFiles=array(); + private $_headScripts=array(); + private $_styleSheetFiles=array(); + private $_styleSheets=array(); private $_onSubmitStatements=array(); private $_arrayDeclares=array(); private $_expandoAttributes=array(); @@ -97,7 +101,10 @@ class TClientScriptManager extends TComponent if(!$options || (!$options->getPerformValidation() && !$options->getTrackFocus() && $options->getClientSubmit() && $options->getActionUrl()=='')) { $this->registerPostBackScript(); - $formID=$this->_page->getForm()->getClientID(); + if(($form=$this->_page->getForm())!==null) + $formID=$form->getClientID(); + else + throw new TInvalidConfigurationException('clientscriptmanager_form_required'); $postback=self::POSTBACK_FUNC.'(\''.$formID.'\',\''.$control->getUniqueID().'\',\''.THttpUtility::quoteJavaScriptString($parameter).'\')'; if($options && $options->getAutoPostBack()) $postback='setTimeout(\''.THttpUtility::quoteJavaScriptString($postback).'\',0)'; @@ -146,7 +153,10 @@ class TClientScriptManager extends TComponent if(!$flag) return ''; $this->registerPostBackScript(); - $formID=$this->_page->getForm()->getUniqueID(); + if(($form=$this->_page->getForm())!==null) + $formID=$form->getClientID(); + else + throw new TInvalidConfigurationException('clientscriptmanager_form_required'); $postback=self::POSTBACK_FUNC.'(\''.$formID.'\',\''.$control->getUniqueID().'\',\''.THttpUtility::quoteJavaScriptString($parameter).'\''.$opt.')'; if($options && $options->getAutoPostBack()) $postback='setTimeout(\''.THttpUtility::quoteJavaScriptString($postback).'\',0)'; @@ -213,9 +223,9 @@ class TClientScriptManager extends TComponent return isset($this->_hiddenFields[$key]); } - public function isScriptBlockRegistered($key) + public function isScriptRegistered($key) { - return isset($this->_scriptBlocks[$key]); + return isset($this->_scripts[$key]); } public function isScriptFileRegistered($key) @@ -233,6 +243,26 @@ class TClientScriptManager extends TComponent return isset($this->_endScripts[$key]); } + public function isHeadScriptFileRegistered($key) + { + return isset($this->_headScriptFiles[$key]); + } + + public function isHeadScriptRegistered($key) + { + return isset($this->_headScripts[$key]); + } + + public function isStyleSheetFileRegistered($key) + { + return isset($this->_styleSheetFiles[$key]); + } + + public function isStyleSheetRegistered($key) + { + return isset($this->_styleSheets[$key]); + } + public function isOnSubmitStatementRegistered($key) { return isset($this->_onSubmitStatements[$key]); @@ -268,6 +298,26 @@ class TClientScriptManager extends TComponent $this->_endScripts[$key]=$script; } + public function registerHeadScriptFile($key,$url) + { + $this->_headScriptFiles[$key]=$url; + } + + public function registerHeadScript($key,$script) + { + $this->_headScripts[$key]=$script; + } + + public function registerStyleSheetFile($key,$url) + { + $this->_styleSheetFiles[$key]=$url; + } + + public function registerStyleSheet($key,$css) + { + $this->_styleSheets[$key]=$css; + } + public function registerExpandoAttribute($controlID,$name,$value) { $this->_expandoAttributes[$controlID][$name]=$value; @@ -287,8 +337,10 @@ class TClientScriptManager extends TComponent public function renderScriptFiles($writer) { + $str=''; foreach($this->_scriptFiles as $include) - $writer->write("\n"); + $str.="\n"; + $writer->write($str); } public function renderOnSubmitStatements($writer) @@ -341,6 +393,36 @@ class TClientScriptManager extends TComponent } } + public function renderHeadScriptFiles($writer) + { + $str=''; + foreach($this->_styleSheetFiles as $url) + $str.="\n"; + $writer->write($str); + } + + public function renderHeadScripts($writer) + { + if(count($this->_headScripts)) + $writer->write("\n"); + } + + public function renderStyleSheetFiles($writer) + { + $str=''; + foreach($this->_styleSheetFiles as $url) + { + $str.="\n"; + } + $writer->write($str); + } + + public function renderStyleSheets($writer) + { + if(count($this->_styleSheets)) + $writer->write("\n"); + } + public function getHasHiddenFields() { return count($this->_hiddenFields)>0; @@ -353,7 +435,6 @@ class TClientScriptManager extends TComponent /* - internal void RenderWebFormsScript(HtmlTextWriter writer) private void EnsureEventValidationFieldLoaded(); internal string GetEventValidationFieldValue(); public string GetWebResourceUrl(Type type, string resourceName); -- cgit v1.2.3