The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Waft::JS - JavaScript extensions for Waft

SYNOPSIS

    package MyWebApp;

    use Waft with => '::JS'; # for Waft 0.9905 or later

or

    package MyWebApp;

    use base qw( Waft::JS Waft );

DESCRIPTION

Waft のアクションメソッドを起動する JavaScript API を提供する。

JavaScript API

  • Waft.JS.url

    Arguments: page, [keys], [data]

    Waft のメソッド url と同様の動作を行う JavaScript 用のメソッド。

    page には Waftpage を指定する。

    keys には保持したい Waft のオブジェクト変数のキーを配列で指定する。

    data には追加したい Waft のオブジェクト変数のキーと値のペアを 連想配列で指定する。

        <%
        $self->{page} = 0;
        $self->set_values( sort => qw( id ASC ) );
        %>
        Waft.JS.url('record.html', ['page', 'sort'], { id: 1 });
    
        mywebapp.cgi?p=record.html&v=id-1+page-0+sort-id-ASC

    Waft.JS.url は、実際は JavaScript のメソッドではなく、 Waft::convert_text_part をオーバーライドする Waft::JS::convert_text_part がテンプレート処理時にスクリプトに 置き換えるためのフレーズである。

        Waft.JS.url

    は、

        $self->output_js_make_url_script;

    に置き換えられ、

        ( function (page, keys, data) { var base_url = ' ...

    のように出力される。

AUTHOR

Yuji Tamashiro, <yuji@tamashiro.org>

COPYRIGHT AND LICENSE

Copyright (C) 2008, 2009 by Yuji Tamashiro

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.