[ Index ]

PHP Cross Reference of Akelos Framework

title

Body

[close]

/AkActionView/helpers/ -> javascript_macros_helper.php (summary)

(no description)

Author: Bermi Ferrer
Author: Jerome Loyet
Copyright: Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org
License: GNU Lesser General Public License
File Size: 269 lines (12 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 2 files
 AkActionView/helpers/form_helper.php
 AkActionView/helpers/tag_helper.php

Defines 1 class

JavascriptMacrosHelper:: (5 methods):
  in_place_editor()
  auto_complete_field()
  auto_complete_result()
  text_field_with_auto_complete()
  _auto_complete_stylesheet()


Class: JavascriptMacrosHelper  - X-Ref

Provides a set of helpers for creating JavaScript macros that rely on and often bundle methods from JavaScriptHelper into
larger units. These macros are deprecated and will be removed on Akelos 0.9

in_place_editor($field_id, $options = array()   X-Ref
Makes an HTML element specified by the DOM ID +field_id+ become an in-place
editor of a property.

A form is automatically created and displayed when the user clicks the element,
something like this:
<form id="myElement-in-place-edit-form" target="specified url">
<input name="value" text="The content of myElement"/>
<input type="submit" value="ok"/>
<a onclick="javascript to cancel the editing">cancel</a>
</form>

The form is serialized and sent to the server using an AJAX call, the action on
the server should process the value and return the updated value in the body of
the reponse. The element will automatically be updated with the changed value
(as returned from the server).

Required +options+ are:
<tt>url</tt>::       Specifies the url where the updated value should
be sent after the user presses "ok".

Addtional +options+ are:
<tt>rows</tt>::              Number of rows (more than 1 will use a TEXTAREA)
<tt>cancel_text</tt>::       The text on the cancel link. (default: "cancel")
<tt>save_text</tt>::         The text on the save link. (default: "ok")
<tt>external_control</tt>::  The id of an external control used to enter edit mode.
<tt>options</tt>::           Pass through options to the AJAX call (see prototype's Ajax.Updater)
<tt>with</tt>::              JavaScript snippet that should return what is to be sent
in the AJAX call, +form+ is an implicit parameter

auto_complete_field($field_id, $options = array()   X-Ref
Adds AJAX autocomplete functionality to the text input field with the
DOM ID specified by +field_id+.

This function expects that the called action returns a HTML <ul> list,
or nothing if no entries should be displayed for autocompletion.

You'll probably want to turn the browser's built-in autocompletion off,
so be sure to include a autocomplete="off" attribute with your text
input field.

The autocompleter object is assigned to a Javascript variable named <tt>field_id</tt>_auto_completer.
This object is useful if you for example want to trigger the auto-complete suggestions through
other means than user input (for that specific case, call the <tt>activate</tt> method on that object).

Required +options+ are:
<tt>url</tt>::       URL to call for autocompletion results
in url_for format.

Addtional +options+ are:
<tt>update</tt>::    Specifies the DOM ID of the element whose
innerHTML should be updated with the autocomplete
entries returned by the AJAX request.
Defaults to field_id + '_auto_complete'
<tt>with</tt>::      A JavaScript expression specifying the
parameters for the XMLHttpRequest. This defaults
to 'fieldname=value'.
<tt>indicator</tt>:: Specifies the DOM ID of an element which will be
displayed while autocomplete is running.
<tt>tokens</tt>::    A string or an array of strings containing
separator tokens for tokenized incremental
autocompletion. Example: <tt>tokens => ','</tt> would
allow multiple autocompletion entries, separated
by commas.
<tt>min_chars</tt>:: The minimum number of characters that should be
in the input field before an Ajax call is made
to the server.
<tt>on_hide</tt>::   A Javascript expression that is called when the
autocompletion div is hidden. The expression
should take two variables: element and update.
Element is a DOM element for the field, update
is a DOM element for the div from which the
innerHTML is replaced.
<tt>on_show</tt>::   Like on_hide, only now the expression is called
then the div is shown.
<tt>select</tt>::    Pick the class of the element from which the value for
insertion should be extracted. If this is not specified,
the entire element is used.

auto_complete_result($entries, $field, $phrase = null)   X-Ref
Use this method in your view to generate a return for the AJAX autocomplete requests.

Example action:

function auto_complete_for_item_title()
{
$this->items = $Item->find('all', array('conditions' => array('strtolower($description).' LIKE ?', '%' . strtolower($this->_controller->Request->getRawPostData(). '%' ))))
return $this->_controller->render(array('inline'=> '<?= $javascript_macros->auto_complete_result(@$items, 'description') ?>'));
}

The auto_complete_result can of course also be called from a view belonging to the
auto_complete action if you need to decorate it further.


text_field_with_auto_complete($object, $method, $tag_options = array()   X-Ref
Wrapper for text_field with added AJAX autocompletion functionality.

In your controller, you'll need to define an action called
auto_complete_for_object_method to respond the AJAX calls,


_auto_complete_stylesheet()   X-Ref




Generated: Mon Oct 27 12:43:49 2008 Cross-referenced by PHPXref 0.6