Javascript Generator helper class for easy use of JavaScript.
JsHelper provides an abstract interface for authoring JavaScript with a given client-side library.
$_bufferedScripts
protected array
$_engineName
protected string
$_jsVars
protected array
$bufferScripts
public boolean
$helpers
public array
$setVariable
public string
call__ Allows for dispatching of methods to the Engine Helper. methods in the Engines bufferedMethods list will be automatically buffered. You can control buffering with the buffer param as well. By setting the last parameter to any engine method to a boolean you can force or disable buffering.
Parse a set of Options and extract the Html options. Extracted Html Options are removed from the $options param.
Generate an 'Ajax' link. Uses the selected JS engine to create a link element that is enhanced with Javascript. Options can include both those for HtmlHelper::link() and JsBaseEngine::request(), JsBaseEngine::event();
Pass variables into Javascript. Allows you to set variables that will be output when the buffer is fetched with JsHelper::getBuffer()
or JsHelper::writeBuffer()
The Javascript variable used to output set variables can be controlled with JsHelper::$setVariable
Uses the selected JS engine to create a submit input element that is enhanced with Javascript. Options can include both those for FormHelper::submit() and JsBaseEngine::request(), JsBaseEngine::event();
Overwrite inherited Helper::value() See JsBaseEngineHelper::value() for more information on this method.
Writes all Javascript generated so far to a code block or caches them to a file and returns a linked script. If no scripts have been buffered this method will return null. If the request is an XHR(ajax) request onDomReady will be set to false. As the dom is already 'ready'.
__call( string $method , array $params )
call__ Allows for dispatching of methods to the Engine Helper. methods in the Engines bufferedMethods list will be automatically buffered. You can control buffering with the buffer param as well. By setting the last parameter to any engine method to a boolean you can force or disable buffering.
e.g. $js->get('#foo')->effect('fadeIn', array('speed' => 'slow'), true);
Will force buffering for the effect method. If the method takes an options array you may also add a 'buffer' param to the options array and control buffering there as well.
e.g. $js->get('#foo')->event('click', $functionContents, array('buffer' => true));
The buffer parameter will not be passed onto the EngineHelper.
$method
$params
__construct( View $View , string|array $settings array() )
Constructor - determines engine helper
View
$View
$settings
optional array() _createVars( )
Generates the object string for variables passed to javascript and adds to buffer
_getHtmlOptions( array $options , array $additional array() )
Parse a set of Options and extract the Html options. Extracted Html Options are removed from the $options param.
$options
$additional
optional array() buffer( string $script , boolean $top false )
Write a script to the buffered scripts.
$script
$top
optional false If true the script will be added to the top of the buffered scripts array. If false the bottom.
getBuffer( boolean $clear true )
Get all the buffered scripts
$clear
optional true link( string $title , string|array $url null , array $options array() )
Generate an 'Ajax' link. Uses the selected JS engine to create a link element that is enhanced with Javascript. Options can include both those for HtmlHelper::link() and JsBaseEngine::request(), JsBaseEngine::event();
confirm
- Generate a confirm() dialog before sending the event.id
- use a custom id.htmlAttributes
- additional non-standard htmlAttributes. Standard attributes are class, id, rel, title, escape, onblur and onfocus.buffer
- Disable the buffering and return a script tag in addition to the link.$title
$url
optional null $options
optional array() set( string|array $one , string|array $two null )
Pass variables into Javascript. Allows you to set variables that will be output when the buffer is fetched with JsHelper::getBuffer()
or JsHelper::writeBuffer()
The Javascript variable used to output set variables can be controlled with JsHelper::$setVariable
$one
$two
optional null submit( string $caption null , array $options array() )
Uses the selected JS engine to create a submit input element that is enhanced with Javascript. Options can include both those for FormHelper::submit() and JsBaseEngine::request(), JsBaseEngine::event();
Forms submitting with this method, cannot send files. Files do not transfer over XmlHttpRequest and require an iframe or flash.
url
The url you wish the XHR request to submit to.confirm
A string to use for a confirm() message prior to submitting the request.method
The method you wish the form to send by, defaults to POSTbuffer
Whether or not you wish the script code to be buffered, defaults to true.$caption
optional null $options
optional array() value( mixed $val array() , boolean $quoteString null , string $key 'value' )
Overwrite inherited Helper::value() See JsBaseEngineHelper::value() for more information on this method.
$val
optional array() $quoteString
optional null $key
optional 'value' writeBuffer( array $options array() )
Writes all Javascript generated so far to a code block or caches them to a file and returns a linked script. If no scripts have been buffered this method will return null. If the request is an XHR(ajax) request onDomReady will be set to false. As the dom is already 'ready'.
inline
- Set to true to have scripts output as a script block inline if cache
is also true, a script link tag will be generated. (default true)cache
- Set to true to have scripts cached to a file and linked in (default false)clear
- Set to false to prevent script cache from being cleared (default true)onDomReady
- wrap cached scripts in domready event (default true)safe
- if an inline block is generated should it be wrapped in (default true)$options
optional array() Completed javascript tag if there are scripts, if there are no buffered scripts null will be returned.
protected array
Scripts that are queued for output
array()
public FormHelper
public HtmlHelper
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-JsHelper.html