
Waft::JS - JavaScript extensions for Waft

package MyWebApp;
use Waft with => '::JS'; # for Waft 0.9905 or later
or
package MyWebApp;
use base qw( Waft::JS Waft );

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

Arguments: page, [keys], [data]
Waft のメソッド url と同様の動作を行う JavaScript 用のメソッド。
page には Waft の page を指定する。
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 = ' ...
のように出力される。

Yuji Tamashiro, <yuji@tamashiro.org>

Copyright (C) 2008 by Yuji Tamashiro
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.