== TEMPORARILY FORKED by Tom until my changes are accepted upstream, that's why it's living in our repository and not on the symfony site. == = Jquery Plug-In = The `sfJqueryReloadedPlugin` offers helpers that integrate the [http://www.jquery.com/ Jquery] Javascript framework. == Support == #symfony channel @ Freenode IRC. == Maintainer == Please report all bugs to Fourat Zouari (loca|host on IRC) == Licence == This plugin is licensed under the MIT license. For the full copyright and license information, please view the LICENSE file that was distributed with this source code. == Introduction == Jquery is offering an easy API, very well documented and can be a good replacement for the Prototype framework wich's used by default on symfony Javascript's helper. And since Jquery comes with its powerfull JqueryUI to do effects easily, there's no need to implement scriptaculous. The integration of `sfJqueryPlugin` is made simple, developers will have to use the new `jQuery` helper and prefix the old ''prototyped'' methods with '''jq_'''. So the prototype method: {{{ }}} will get this new Jquery form: {{{ }}} == Installation == * Install the plugin {{{ $ symfony $ symfony plugin:install sfJqueryReloadedPlugin }}} * Add jquery_web_dir in setting.yml {{{ all: .settings: jquery_web_dir: /sfJqueryPlugin/js/jquery-1.2.6.min.js }}} If you are under Microsoft Windows, you also have to manually copy the {{{./web}}} directory of the plugin in the {{{%SF_ROOT_DIR%/web}}} directory of your project and rename it to {{{sfJqueryReloadedPlugin}}}. == Basic syntax == === Declaring the helper in templates === * Inside a template {{{ }}} * In `settings.yml`, for all modules {{{ standard_helpers: [..., jQuery] }}} === Using Jquery methods === To use Jquery methods, refer to ''Chapter 11'' [http://www.symfony-project.com/book/1_0/11-Ajax-Integration Ajax Integration], all helper functions described on the chapter can be used with the '''jq_''' prefix. == jQuery Helpers documentation == Below are complete syntax for ready to use methods in the jQuery Helpers. * `jq_periodically_call_remote($options = array())` * `jq_link_to_function($name, $function, $html_options = array())` * `jq_link_to_remote($name, $options = array(), $html_options = array())` * `jq_update_element_function($element_id, $options = array())` * `jq_form_remote_tag($options = array(), $options_html = array())` * `jq_submit_to_remote($name, $value, $options = array(), $options_html = array())` * `jq_javascript_tag($content)` * `jq_visual_effect($effect, $element_id = false, $js_options = array())` * `jq_add_plugin($options = array()` * `jq_sortable_element($selector, $options)` (tom@punkave.com) These are the methods reconverted into jQuery functions till the `sfJqueryPlugin` last version. Future changes will integrate more functions. == Using JSON == http://trac.symfony-project.com/wiki/AjaxAndJSON#jsonwithoutheader and: {{{ '@delete')), 'dataType' => 'json', 'success' => 'leaveGroup(request)')) ?> }}} == TODO == * Add unit tests * Use `sprintf` for string manipulation * Implement the rest of the Javascript Helper: * sortable_element * draggable_element * drop_receiving_element * input_auto_complete_tag * input_in_place_editor_tag == Changelog == === 2009-03-10 1.2.3 === * boutell: upgraded to jQuery 1.3.x * boutell: ui.sortable for jq_sortable_element * boutell: fixed bugs in directory handling options in settings.yml * boutell: fixed bug in plugin loader * boutell: implemented jq_sortable element * boutell: fixed incorrect and undesired quoting of 'with' parameter to jq_remote_function (thanks to JoeZ99) === 2008-10-22 | 1.2.1 Stable === * yannick: Added BaseJavascriptHelper.php function wrapper * yannick: Added jq_button_to_remote function * yannick: Added jq_submit_image_to_remote function * yannick: Added jq_visual_effect function. * yannick: Added jquery script in web * yannick: Replaced app_sfJQueryPlugin_library_path by sf_jquery_path in setting.yml === Trunk === * Tiago.Ribeiro: Added JSON dataType support * Tiago.Ribeiro: Removed escaping from 'with' parameter * Tiago.Ribeiro: Added request parameter to `complete` callback * francois: Replaced `$` by `jQuery` * francois: Made the jQuery lib file configurable === 2007-10-17 | 1.0.0 Stable === * fourat: success, complete, beforeSend and error .ajax options updated just as the jQuery documentation. === 2007-10-17 | 0.0.8 Beta === * fourat: Fixed data parameter handling in `jq_remote_function()`. === 2007-10-16 | 0.0.7 Beta === * fourat: Fixed dataType parameter handling in `jq_remote_function()`. === 2007-10-15 | 0.0.6 Beta === * fourat: Jquery has fixed the documentation and now providing a dataType:text to forbid script execution in returned data (see ticket [http://dev.jquery.com/ticket/1788 1788]) === 2007-10-11 | 0.0.5 Beta === * fourat: Fixed `method` parameter and data serialisation in `jq_remote_function`. === 2007-10-10 | 0.0.4 Beta === * fourat: Initial release * fourat: Implementing basic ajax functions: * jq_periodically_call_remote * jq_link_to_function * jq_link_to_remote * jq_update_element_function * jq_form_remote_tag * jq_submit_to_remote * jq_javascript_tag