man HTML::Prototype::Js () - prototype library, embedded in perl
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, CWsri@oook.de Marcus Ramberg, CWmramberg@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.