Alien::GvaScript - Gva extension to the prototype javascript framework


Alien-GvaScript documentation Contained in the Alien-GvaScript distribution.

Index


Code Index:

NAME

Top

Alien::GvaScript - Gva extension to the prototype javascript framework

SYNOPSIS

Top

  use Alien::GvaScript;
  ...
  $path    = Alien::GvaScript->path();
  ...
  Alien::GvaScript->install( $my_destination_directory );

DESCRIPTION

Top

GvaScript (pronounce "gee-vascript") is a javascript framework born in Geneva, Switzerland (GVA is the IATA code for Geneva Cointrin International Airport).

It is built on top of the prototype object-oriented javascript framework (http://www.prototypejs.org) and offers a number of extensions and widgets, such as keymap handling, application-specific events, autocompletion on input field, tree navigation, and forms with autofocus and repeated sections. These functionalities are described in separate documentation pages (see Alien::GvaScript::Intro).

GvaScript is distributed using Perl tools, but the actual content of the library is pure javascript; hence its location in the Alien namespace (see the Alien manifesto).

GvaScript runtime library does not need Perl; you can integrate it in any other Web programming framework. Perl is only needed for developers who want to modify GvaScript sources and recreate a distribution package.

INSTALLATION

Top

With usual Perl CPAN tools

Install Alien::GvaScript just as any other CPAN module. Then you can write

  perl -MAlien::GvaScript -e "Alien::GvaScript->install('/my/web/directory')"

to copy the dthml files to your Web server.

Without Perl tools

Unzip and untar this distribution, then grab the files in lib/Alien/GvaScript/lib subdirectory and copy them to your Web server.

Note about the documentation

The documentation sources are written in Perl's "POD" format. An HTML version is automatically generated and included in this distribution, under the lib/Alien/GvaScript/html directory; this documentation uses GvaScript's treeNavigator widget for easier browsing.

If this distribution is installed as a CPAN module, then another HTML version will probably be generated automatically by your CPAN tool (but without the treeNavigator widget).

METHODS

Top

path

Returns the directory where GvaScript files are stored.

html

Returns the directory where GvaScript documentation is stored.

install

Copies GvaScript files into the directory supplied as argument

AUTHORS

Top

Laurent Dami, <laurent.d...@etat.ge.ch>

Mona Remlawi, <mona.r...@etat.ge.ch>

Jean_Christophe Durand

Sébastien Cuendet

BUGS

Top

Please report any bugs or feature requests to bug-alien-gvascript at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Alien-GvaScript. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc Alien::GvaScript

You can also look for information at:

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/Alien-GvaScript

* CPAN Ratings

http://cpanratings.perl.org/d/Alien-GvaScript

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-GvaScript

* Search CPAN

http://search.cpan.org/dist/Alien-GvaScript

ACKNOWLEDGEMENTS

Top

The packaging as an Alien module was heavily inspired from Alien::scriptaculous by Graham TerMarsch.

COPYRIGHT & LICENSE

Top


Alien-GvaScript documentation Contained in the Alien-GvaScript distribution.

package Alien::GvaScript;
use strict;
use warnings;

use File::Copy qw(copy);
use File::Path qw(mkpath);

our $VERSION = '1.22';

sub path {
  (my $path = __FILE__) =~ s[\.pm$][/lib];
  return $path;
}

sub html {
  (my $html_path = __FILE__) =~ s[\.pm$][/html];
  return $html_path;
}

sub install {
    my ($class, $destdir) = @_;
    if (!-d $destdir) {
        mkpath( $destdir ) 
          or die "can't create '$destdir'; $!";
    }

    my $path = $class->path();
    my @files = grep { -f $_ } glob "$path/*";
    foreach my $file (@files) {
        copy( $file, $destdir ) 
          or die "can't copy '$file' to '$destdir'; $!";
    }
}

1;

__END__


1; # End of Alien::GvaScript