package HTML::Mason::Commands;
use strict;
use vars qw($m $r);
my $_escape = \&HTML::Mason::Parser::_escape_perl_expression;
HTML::Mason::Component::FileBased->new
(
'code'=>sub {
my %ARGS;
if (@_ % 2 == 0) { %ARGS = @_ } else { die "Odd number of parameters passed to component expecting name/value pairs" }
my $widget = (!exists $ARGS{'widget'} ? die "no value sent for required parameter 'widget'" : $ARGS{'widget'});
my $param = (!exists $ARGS{'param'} ? undef : $ARGS{'param'});
my $_out = $m->current_sink;
$m->debug_hook($m->current_comp->path) if (%DB::);
;
my $story = get_state_data($widget, 'story');
my $keywords = $story->get_keywords || [];
;
$m->comp("/widgets/wrappers/sharky/table_top.mc",
caption => "Category Keywords", number => 1);
$m->out("
");
foreach my $cat ($story->get_categories) {
$m->out(qq{Category: | }
. $cat->get_name
. " |
\n");
my $flag = 'Keywords:';
foreach my $kw ($cat->keywords) {
$m->out(qq{$flag | }
. $kw->get_name . " |
\n");
$flag = ' ';
}
}
$m->out("
");
$m->comp("/widgets/wrappers/sharky/table_bottom.mc");
# Output the keywords.
$m->comp("/widgets/wrappers/sharky/table_top.mc",
caption => "Story Keywords", number => 2);
$m->comp('/widgets/add_more/add_more.mc', type => 'keyword', param => $param,
fields => [qw(keyword)], name => 'keyword', deleteLabelOnly => 1,
reset_key => $story->get_id, objs => $keywords, incr => 4,
no_edit => [qw(keyword)], num => @$keywords >= 4 ? @$keywords + 2 : 4);
$m->comp("/widgets/wrappers/sharky/table_bottom.mc");
# Output the save buttons.
$m->comp('/widgets/profile/formButtons.mc', type => 'story', section => 'workflow',
no_del => 1, widget => $widget, cb => 'add_kw_cb');
$_out->('
');
$_out->('
');
return undef;
},
'create_time'=>1001680234,
'declared_args'=> {
'$param' => {
'default' => ' undef'
},
'$widget' => {
'default' => undef
}
},
'object_size'=>2213,
'parser_version'=>0.8
)
;