Prototype library, embedded in perl
our $prototype = do { package HTML::Prototype::Js; local $/; <DATA> };
This is the actual Prototype library embedded in a perl _\|_DATA_\|_ section, for easy inclusion in HTML::Prototype.
The prototype library provides some functions and classes which effectively change the basic syntax of the JavaScript you write.
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.
This uses fucntion references to allow namespace-like Class structures in javascript.
Simple inheritance for javacsript. Will set all properties of the child in the parent.
Allow function refs to be full object method references, through the use of extend and apply
Simple try/catch for a list of functions, will return the return value of the first that doesn't throw an exception.
implement push for arrays. returns number of elements in result.
Call a function on a given object, using eval.
The Prototype library provides a number of classes you can use to improve interaction with the end user.
Provides one useful function, getTransport. This function will return a XMLHttpRequest object suitable for your browser.
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.
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.
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'
Takes an element, and makes that element appear through a fade.
Takes an element, and zooms the content of that element.
Takes an element, and makes that element fade out and disappear.
Takes an element, and does a highlight of that element.
Takes an element, and makes that element \*(L"blow up\*(R" and disappear. (As in disappear in a puff of smoke).
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 \s-1EM\s0. No such restrictions for pictures.
Takes an element, and shrinks that element until it disappears.
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 \s-1DOM\s0. 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)
Adds some useful functions to \s-1HTML\s0 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.
Some useful utilies for \s-1HTML\s0 Forms. all of these take a form element as sole argument.
serialize: returns a \s-1URL\s0 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.
Some useful objects for Form Field Elements. These take an element as the sole argument.
serialize: url encode the element for use in a \s-1URI\s0 string. getValue: returns the value of the given element.
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.
This can be used in place of a innerHTML, to insert the content into the dom.
Puts content before a given dom node.
Puts content at the top of a given dom node.
Puts content at the bottom of a given dom node.
Puts content after a given dom node.
This object takes two parameters, a reference to a callback function, and a frequency in seconds. It will execute the callback every <frequency> second.
HTML::Prototype, Catalyst::Plugin::Prototype <http://prototype.conio.net/>
Sebastian Riedel, \*(C`[email protected]\*(C' Marcus Ramberg, \*(C`[email protected]\*(C'
Built around Prototype by Sam Stephenson. Much code is ported from Ruby on Rails javascript helpers.
This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.