diff options
Diffstat (limited to 'framework/Web/Javascripts/TJavaScript.php')
| -rw-r--r-- | framework/Web/Javascripts/TJavaScript.php | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/framework/Web/Javascripts/TJavaScript.php b/framework/Web/Javascripts/TJavaScript.php index 4066565b..a3848201 100644 --- a/framework/Web/Javascripts/TJavaScript.php +++ b/framework/Web/Javascripts/TJavaScript.php @@ -96,9 +96,16 @@ class TJavaScript  	 * //expects the following javascript code
  	 * // {'onLoading':'doit','onComplete':'more'}
  	 * </code>
 +	 * 
 +	 * To pass raw javascript statements start strings with 
 +	 * <tt>javascript:</tt>. E.g. 
 +	 * <code>
 +	 * $options['onLoading'] = "javascript:function(){ alert('hello'); }";
 +	 * //outputs {'onLoading':function(){ alert('hello'); }}
 +	 * </code>
  	 *
 -	 * For higher complexity data structures use {@link jsonEncode} and {@link jsonDecode}
 -	 * to serialize and unserialize.
 +	 * For higher complexity data structures use {@link jsonEncode} and {@link
 +	 * jsonDecode} to serialize and unserialize.
  	 *
  	 * @param mixed PHP variable to be encoded
  	 * @param boolean whether the output is a map or a list.
 @@ -115,6 +122,8 @@ class TJavaScript  				if(($first==='[' && $last===']') || ($first==='{' && $last==='}'))
  					return $value;
  			}
 +			else if(strpos($value, 'javascript:')===0)
 +				return substr($value,11);
  			return "'".self::quoteString($value)."'";
  		}
  		else if(is_bool($value))
 | 
