Class JsHelper
Javascript Generator helper class for easy use of JavaScript.
JsHelper provides an abstract interface for authoring JavaScript with a given client-side library.
- AppHelper
- JsHelper
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/View/Helper/JsHelper.php
Properties summary
-
$_bufferedScripts
protectedScripts that are queued for outputarray
-
$_engineName
protectedCurrent Javascript Engine that is being usedstring
-
$_jsVars
protectedVariables to pass to Javascript.array
-
$bufferScripts
publicWhether or not you want scripts to be buffered or output.boolean
-
$helpers
publicHelper dependenciesarray
-
$setVariable
publicThe javascript variable created by set() variables.string
Magic properties summary
Method Summary
- __call() public
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.
- __construct() publicConstructor - determines engine helper
- _createVars() protectedGenerates the object string for variables passed to javascript and adds to buffer
- _getHtmlOptions() protected
Parse a set of Options and extract the Html options. Extracted Html Options are removed from the $options param.
- buffer() publicWrite a script to the buffered scripts.
- getBuffer() publicGet all the buffered scripts
- link() public
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();
- set() public
Pass variables into Javascript. Allows you to set variables that will be output when the buffer is fetched with
JsHelper::getBuffer()
orJsHelper::writeBuffer()
The Javascript variable used to output set variables can be controlled withJsHelper::$setVariable
- submit() public
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();
- value() public
Overwrite inherited Helper::value() See JsBaseEngineHelper::value() for more information on this method.
- writeBuffer() public
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'.
Method Detail
__call()source public
__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.
Parameters
- string
$method
- Method to be called
- array
$params
- Parameters for the method being called.
Returns
mixedDepends on the return of the dispatched method, or it could be an instance of the EngineHelper
__construct()source public
__construct( View $View , string|array $settings array() )
Constructor - determines engine helper
Parameters
-
View
$View
- the view object the helper is attached to.
- string|array
$settings
optional array() - Settings array contains name of engine helper.
_createVars()source protected
_createVars( )
Generates the object string for variables passed to javascript and adds to buffer
_getHtmlOptions()source protected
_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.
Parameters
- array
$options
- Options to filter.
- array
$additional
optional array() - Array of additional keys to extract and include in the return options array.
Returns
arrayArray of js options and Htmloptions
buffer()source public
buffer( string $script , boolean $top false )
Write a script to the buffered scripts.
Parameters
- string
$script
- Script string to add to the buffer.
- boolean
$top
optional false If true the script will be added to the top of the buffered scripts array. If false the bottom.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::buffergetBuffer()source public
getBuffer( boolean $clear true )
Get all the buffered scripts
Parameters
- boolean
$clear
optional true - Whether or not to clear the script caches (default true)
Returns
arrayArray of scripts added to the request.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::getBufferlink()source public
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();
Options
-
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.
Parameters
- string
$title
- Title for the link.
- string|array
$url
optional null - Mixed either a string URL or a CakePHP URL array.
- array
$options
optional array() - Options for both the HTML element and Js::request()
Returns
stringCompleted link. If buffering is disabled a script tag will be returned as well.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::linkset()source public
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
Parameters
- string|array
$one
- Either an array of variables to set, or the name of the variable to set.
- string|array
$two
optional null - If $one is a string, $two is the value for that key.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::setsubmit()source public
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.
Options
-
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 POST -
buffer
Whether or not you wish the script code to be buffered, defaults to true. - Also see options for JsHelper::request() and JsHelper::event()
Parameters
- string
$caption
optional null - The display text of the submit button.
- array
$options
optional array() - Array of options to use. See the options for the above mentioned methods.
Returns
stringCompleted submit button.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::submitvalue()source public
value( mixed $val array() , boolean $quoteString null , string $key 'value' )
Overwrite inherited Helper::value() See JsBaseEngineHelper::value() for more information on this method.
Parameters
- mixed
$val
optional array() - A PHP variable to be converted to JSON
- boolean
$quoteString
optional null - If false, leaves string values unquoted
- string
$key
optional 'value' - Key name.
Returns
stringa JavaScript-safe/JSON representation of $val
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::valuewriteBuffer()source public
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'.
Options
-
inline
- Set to true to have scripts output as a script block inline ifcache
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)
Parameters
- array
$options
optional array() - options for the code block
Returns
mixedCompleted javascript tag if there are scripts, if there are no buffered scripts null will be returned.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/js.html#JsHelper::writeBufferProperties detail
$_bufferedScriptssource
protected array
Scripts that are queued for output
See
JsHelper::buffer()array()
Magic properties detail
$Formsource
public FormHelper
$Htmlsource
public HtmlHelper
© 2005–2017 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.10/class-JsHelper.html