NAME¶
HTML::Prototype::Js - prototype library, embedded in perl
SYNOPSIS¶
our $prototype = do { package HTML::Prototype::Js; local $/; <DATA> };
DESCRIPTION¶
This is the actual Prototype library embedded in a perl __DATA__ section, for
easy inclusion in HTML::Prototype.
NEW SYNTAX¶
The prototype library provides some functions and classes which effectively
change the basic syntax of the JavaScript you write.
- $(element)
- This function takes an element / element list and gets all
string elements using document.getElementbyId. This is probably one of the
most common functions when using javascript for web development, so it
will save you a lot of typing.
- Class
- This uses fucntion references to allow namespace-like Class
structures in javascript.
- Object.extend
- Simple inheritance for javacsript. Will set all properties
of the child in the parent.
- Function.bind
- Allow function refs to be full object method references,
through the use of extend and apply
- Try.these
- Simple try/catch for a list of functions, will return the
return value of the first that doesn't throw an exception.
- Array.push
- implement push for arrays. returns number of elements in
result.
- Function.apply
- Call a function on a given object, using eval.
JS OBJECTS¶
The Prototype library provides a number of classes you can use to improve
interaction with the end user.
- Ajax
- Provides one useful function, getTransport. This function
will return a XMLHttpRequest object suitable for your browser.
- Ajax.Base
- An abstract base class for the Ajax objects described
below. Sets some common options for Ajax objects;
method: http method, defaults to post.
asynchronous: process in the background, true/false, defaults to
true.
parameters: extra parameters, defaults to blank.
- Ajax.Updater
- a subclass of Ajax.Base, this class uses Ajax.Request to
populate a container in your web page. Takes container, url and Ajax.Base
options as paramters.
- Ajax.Request
- This object represents a plain ajax request. It extends
base to add a constructor, as well as some events to handle events. The
constructor takes an url, as well as the options described in Ajax.Base.
Currently handles the following events:
'Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'
- Effect.Appear
- Takes an element, and makes that element appear through a
fade.
- Effect.ContentZoom
- Takes an element, and zooms the content of that
element.
- Effect.Fade
- Takes an element, and makes that element fade out and
disappear.
- Effect.Highlight
- Takes an element, and does a highlight of that
element.
- Effect.Puff
- Takes an element, and makes that element "blow
up" and disappear. (As in disappear in a puff of smoke).
- Effect.Scale
- Takes an element, and a size, in percent, and scales that
element to the given size. If it's a div, the initial size will have to be
given in EM. No such restrictions for pictures.
- Effect.Squish
- Takes an element, and shrinks that element until it
disappears.
- Element
- A collection of functions related to basic elements. takes
one or more elements.
toggle: Toggles the element display style.
hide: Turns off the element's display style.
show: Turns on the element's display style.
remove: Delete this element from the DOM.
getHeight: Get the element height.
Also provides a convenience object, Toggle, with one method display which
aliases to toggle, so you can call it as
Toggle.display(element)
- Field
- Adds some useful functions to HTML Fields with several
elements:
clear: remove all content.
focus: Give the element focus.
present: returns true if all arguments are filled in, false
otherwise.
select(element): Select the given element in a form.
activate(element): give the selected element focus, and select
it.
- Form
- Some useful utilies for HTML Forms. all of these take a
form element as sole argument.
serialize: returns a URL serialized version of a given form.
getElements: returns all elements in the form.
disable: blurs and disables every element in the form.
focusFirstElement: Give first element in the form focus.
reset: reset all form elements.
- Form.Element
- Some useful objects for Form Field Elements. These take an
element as the sole argument.
serialize: url encode the element for use in a URI string.
getValue: returns the value of the given element.
- Form.Element.Observer
- Form.Element.Serializers
- Serializers for various element types. Takes the input
element as argument.
input: determines the element type, and chooses the right
serializer.
inputSelector: serialize checkbox/radio.
- Form.Element.Observer
- Insertion
- This can be used in place of a innerHTML, to insert the
content into the dom.
- Insertion.Before
- Puts content before a given dom node.
- Insertion.Top
- Puts content at the top of a given dom node.
- Insertion.Bottom
- Puts content at the bottom of a given dom node.
- Insertion.After
- Puts content after a given dom node.
- PeriodicalExecuter
- This object takes two parameters, a reference to a callback
function, and a frequency in seconds. It will execute the callback every
<frequency> second.
SEE ALSO¶
HTML::Prototype, Catalyst::Plugin::Prototype <
http://prototype.conio.net/>
AUTHOR¶
Sebastian Riedel, "sri@oook.de" Marcus Ramberg,
"mramberg@cpan.org"
Built around Prototype by Sam Stephenson. Much code is ported from Ruby on Rails
javascript helpers.
LICENSE¶
This library is free software. You can redistribute it and/or modify it under
the same terms as perl itself.