diff options
author | xue <> | 2006-08-05 21:34:30 +0000 |
---|---|---|
committer | xue <> | 2006-08-05 21:34:30 +0000 |
commit | b7f95ce37ae577e95a81e64aa2aaf3e2e698109d (patch) | |
tree | 85c6b9961ebbd4c9283fbd9b841703f9e4c47307 /framework/Web/UI/TClientScriptManager.php | |
parent | 550ba06593b467b643862d41a00ca2dd12ee704b (diff) |
merge from 3.0 branch till 1329.
Diffstat (limited to 'framework/Web/UI/TClientScriptManager.php')
-rw-r--r-- | framework/Web/UI/TClientScriptManager.php | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/framework/Web/UI/TClientScriptManager.php b/framework/Web/UI/TClientScriptManager.php index 540ea01e..d1f3f457 100644 --- a/framework/Web/UI/TClientScriptManager.php +++ b/framework/Web/UI/TClientScriptManager.php @@ -145,7 +145,7 @@ class TClientScriptManager extends TApplicationComponent } } - /** + /** * Renders the <script> tag that will load the javascript library files. * @param THtmlWriter writer that renders the <script> tag. */ @@ -163,7 +163,7 @@ class TClientScriptManager extends TApplicationComponent } } - /** + /** * Returns javascript statement that create a new callback request object. * @param ICallbackEventHandler callback response handler * @param array additional callback options @@ -244,8 +244,11 @@ class TClientScriptManager extends TApplicationComponent */ public function registerFocusControl($target) { - $this->registerPradoScriptInternal('prado'); - $this->_endScripts['prado:focus']='Prado.Focus.setFocus("'.TJavaScript::quoteString($target).'");'; + $this->registerPradoScriptInternal('effects'); + if($target instanceof TControl) + $target=$target->getClientID(); + $id = TJavaScript::quoteString($target); + $this->_endScripts['prado:focus'] = 'new Effect.ScrollTo("'.$id.'"); Prado.Element.focus("'.$id.'");'; $params=func_get_args(); $this->_page->registerCachingAction('Page.ClientScript','registerFocusControl',$params); @@ -268,10 +271,14 @@ class TClientScriptManager extends TApplicationComponent * Registers a CSS file to be rendered in the page head * @param string a unique key identifying the file * @param string URL to the CSS file + * @param string media type of the CSS (such as 'print', 'screen', etc.). Defaults to empty, meaning the CSS applies to all media types. */ - public function registerStyleSheetFile($key,$url) + public function registerStyleSheetFile($key,$url,$media='') { - $this->_styleSheetFiles[$key]=$url; + if($media==='') + $this->_styleSheetFiles[$key]=$url; + else + $this->_styleSheetFiles[$key]=array($url,$media); $params=func_get_args(); $this->_page->registerCachingAction('Page.ClientScript','registerStyleSheetFile',$params); @@ -282,7 +289,7 @@ class TClientScriptManager extends TApplicationComponent * @param string a unique key identifying the CSS block * @param string CSS block */ - public function registerStyleSheet($key,$css) + public function registerStyleSheet($key,$css,$media='') { $this->_styleSheets[$key]=$css; @@ -431,7 +438,7 @@ class TClientScriptManager extends TApplicationComponent { return isset($this->_endScripts[$key]); } - + /** * @return boolean true if any end scripts are registered. */ @@ -439,7 +446,7 @@ class TClientScriptManager extends TApplicationComponent { return count($this->_endScripts) > 0; } - + /** * @return boolean true if any begin scripts are registered. */ @@ -464,7 +471,12 @@ class TClientScriptManager extends TApplicationComponent { $str=''; foreach($this->_styleSheetFiles as $url) - $str.="<link rel=\"stylesheet\" type=\"text/css\" href=\"".THttpUtility::htmlEncode($url)."\" />\n"; + { + if(is_array($url)) + $str.="<link rel=\"stylesheet\" type=\"text/css\" media=\"{$url[1]}\" href=\"".THttpUtility::htmlEncode($url[0])."\" />\n"; + else + $str.="<link rel=\"stylesheet\" type=\"text/css\" href=\"".THttpUtility::htmlEncode($url)."\" />\n"; + } $writer->write($str); } @@ -620,4 +632,4 @@ abstract class TClientSideOptions extends TComponent } } -?>
\ No newline at end of file +?> |