HTML::Prototype::Js3pm
Prototype library, embedded in perl
Usage
our $prototype = do { package HTML::Prototype::Js; local $/; <DATA> };
Overview
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.
Releases
10 releases since Debian 4.0 (Etch); the text changed 5 times.