<%perl> # Show the story summary if needed. if ($show_summary) { my $type = $element->get_object_type; # Nab the story from the story_prof widget my $asset = get_state_data($type.'_prof', $type); $m->comp('/widgets/summary/summary.mc', asset => $asset, number => ++$i); } <& '/widgets/wrappers/sharky/table_top.mc', caption => $lang->maketext('Bulk Edit [_1]', $element->get_name), id => 'containerprof', number => ++$i, &>
Element:
<% $et->get_name %> <% $show_element_flags->($et) %>
Default Field:
<%perl>; my $opts = [ [ '' => '' ], map { [ $_ => $_ ] } sort { $a cmp $b } keys %seen_fields ]; <& '/widgets/profile/select.mc', name => $widget.'|default_field', options => $opts, value => $def_field, useTable => 0, &> <& '/widgets/buttons/submit.mc', disp => "Change", widget => $widget, cb => "change_default_field_cb", button => "change_red", value => "Change", useTable => 0, &>
<% $lang->maketext('Words') %>
<& '/widgets/profile/text.mc', id => 'words', name => 'words', value => '', useTable => 0, &>
<% $lang->maketext('Characters') %>
<& '/widgets/profile/text.mc', id => 'chars', name => 'chars', value => '', useTable => 0, &>
<& '/widgets/profile/textarea.mc', name => "$widget|text", value => $args->{__use_text__} ? $args->{"$widget|text"} : $element->serialize_to_pod($def_field), rows => 40, cols => 80, useTable => 0, js => qq{onkeyup="wordCount(document.theForm, '$widget|text', 'words', 'chars');"}, &> <& /widgets/dialog_box/find.mc, field_id => "$widget|text", dialog_id => 'finddialog', &> <&| /widgets/dialog_box/dialog_box.mc, id => 'cheat_sheet', title => 'Cheat Sheet', close_label => 'Close', &>
% $gen_cheat_sheet->($m, $et, \%seen_fields, {});
<& '/widgets/wrappers/sharky/table_bottom.mc' &> <& '/widgets/buttons/submit.mc', disp => 'Save', widget => $widget, cb => 'bulk_save_and_up_cb', button => 'save_red', useTable => 0, &> <& '/widgets/buttons/submit.mc', disp => 'Save and Stay', widget => $widget, cb => 'bulk_save_cb', button => 'save_and_stay_lgreen', useTable => 0, &> <& '/widgets/buttons/submit.mc', disp => 'Return without Saving', widget => $widget, cb => 'bulk_up_cb', button => 'cancel_red', useTable => 0, &> <%args> $widget $show_summary $args <%init>; # the element object my $element = get_state_data($widget, 'element'); #my $preserve = get_state_data($widget, 'preserve'); my $i = 0; my $et = $element->get_element_type; my $def_field = get_state_data( '_tmp_prefs', 'container_prof.' . $et->get_id . '.def_field' ); my %seen_fields; <%once>; my $show_element_flags = sub { my $et = shift; my @flags; push @flags, 'paginated' if $et->is_paginated; push @flags, 'top level' if $et->is_top_level; push @flags, 'fixed uri' if $et->is_fixed_uri; push @flags, 'media' if $et->is_media; push @flags, 'related media' if $et->is_related_media; push @flags, 'related story' if $et->is_related_story; return '' unless @flags; return ' (' . join(', ', @flags) . ')'; }; my $show_data_flags = sub { my $dt = shift; my @flags; push @flags, 'required' if $dt->get_required; push @flags, 'repeatable' if $dt->get_quantifier; return '' unless @flags; return ' (' . join(', ', @flags) . ')'; }; my $gen_cheat_sheet; $gen_cheat_sheet = sub { my ($m, $et, $seen_fields, $seen_elems) = @_; my $fields = $et->get_field_types; my $subs = $et->get_containers; return unless @$fields || @$subs; $m->print("\n"); };