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.
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.