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 parameters.
- 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, "[email protected]" Marcus Ramberg, "[email protected]"
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.