diff options
author | groditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-12-31 22:16:22 +0000 |
---|---|---|
committer | groditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-12-31 22:16:22 +0000 |
commit | 2f670e13aa8f30bbf6ba910f2d8ef97aa8a9e3e5 (patch) | |
tree | 512313d4cac594a322e3d1e2d4c81e4736a50567 /lib/Reaction/UI/Widget/Field/Mutable | |
parent | 5353e3f64517073ba9f06e732dd610fd2e52a01f (diff) | |
download | reaction-2f670e13aa8f30bbf6ba910f2d8ef97aa8a9e3e5.tar.gz reaction-2f670e13aa8f30bbf6ba910f2d8ef97aa8a9e3e5.zip |
renaming widget packages to match new viewports
Diffstat (limited to 'lib/Reaction/UI/Widget/Field/Mutable')
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm | 37 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm | 88 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm | 67 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm | 35 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/File.pm | 33 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm | 48 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/Number.pm | 29 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/Password.pm | 34 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/String.pm | 29 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/Text.pm | 29 | ||||
-rw-r--r-- | lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm | 31 |
11 files changed, 460 insertions, 0 deletions
diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm b/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm new file mode 100644 index 0000000..0afb40c --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/Boolean.pm @@ -0,0 +1,37 @@ +package Reaction::UI::Widget::Field::Mutable::Boolean; + +use Reaction::UI::WidgetClass; + +class Boolean is 'Reaction::UI::Widget::Field::Mutable', which { + + implements fragment is_checked { + if ($_{viewport}->value) { + render 'is_checked_yes'; + } else { + render 'is_checked_no'; + } + }; + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::Boolean + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm b/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm new file mode 100644 index 0000000..697e672 --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/ChooseMany.pm @@ -0,0 +1,88 @@ +package Reaction::UI::Widget::Field::Mutable::ChooseMany; + +use Reaction::UI::WidgetClass; + +class ChooseMany is 'Reaction::UI::Widget::Field::Mutable', which { + + implements fragment action_buttons { + foreach my $event ( + qw(add_all_values do_add_values do_remove_values remove_all_values) + ) { + arg "event_id_${event}" => event_id $event; + } + }; + + implements fragment current_values { + render hidden_value => over $_{viewport}->current_value_choices; + }; + + implements fragment selected_values { + arg event_id_remove_values => event_id 'remove_values'; + render value_option => over $_{viewport}->current_value_choices; + }; + + implements fragment available_values { + arg event_id_add_values => event_id 'add_values'; + render value_option => over $_{viewport}->available_value_choices; + }; + + implements fragment value_option { + arg option_name => $_->{name}; + arg option_value => $_->{value}; + }; + + implements fragment hidden_value { + arg hidden_value => $_->{value}; + }; + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::ChooseMany + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +This needs a refactor to not be tied to a dual select box, but ENOTIME + +=head1 FRAGMENTS + +=head2 field + +renders C<available_values>, C<action_buttons>, C<selected_values> and C<current_values> + +=head2 current values + +renders the viewport's current_value_choices over hidden_value + +=head2 hidden_value + +C<content> is the value of the current choice + +=head2 available_value + +rendersthe viewport's current_available_value_choices over the option fragment + +=head2 selected_value + +rendersthe viewport's current_selected_value_choices over the option fragment + +=head2 option + +C<content> is a dummy value but C<v_value> and C<v_name> are both set. + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm b/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm new file mode 100644 index 0000000..79c75fc --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/ChooseOne.pm @@ -0,0 +1,67 @@ +package Reaction::UI::Widget::Field::Mutable::ChooseOne; + +use Reaction::UI::WidgetClass; + +class ChooseOne is 'Reaction::UI::Widget::Field::Mutable', which { + + implements fragment option_is_required { + if ($_{viewport}->attribute->is_required) { + render 'options_is_required_yes'; + } else { + render 'options_is_required_no'; + } + }; + + implements fragment option_list { + render option => over $_{viewport}->value_choices; + }; + + implements fragment option { + arg option_name => $_->{name}; + arg option_value => $_->{value}; + }; + + implements fragment option_is_selected { + if ($_{viewport}->is_current_value($_->{value})) { + render 'option_is_selected_yes'; + } else { + render 'option_is_selected_no'; + } + }; + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::ChooseOne + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 FRAGMENTS + +=head2 field + +Renders a series fragment C<option> for each C<value_choices> in the viewport + +Additional varibles set: C<is_required> - Boolean, self-explanatory + +=head2 option + +C<content> is a dummy variable, but th additional variables C<v_value>, C<v_name> +and C<is_selected> are set + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm b/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm new file mode 100644 index 0000000..0095594 --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/DateTime.pm @@ -0,0 +1,35 @@ +package Reaction::UI::Widget::Field::Mutable::DateTime; + +use Reaction::UI::WidgetClass; + +class DateTime is 'Reaction::UI::Widget::Field::Mutable', which { + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::DateTime + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 FRAGMENTS + +=head2 field + +C<content> contains viewport's C<value_string> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/File.pm b/lib/Reaction/UI/Widget/Field/Mutable/File.pm new file mode 100644 index 0000000..42c1137 --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/File.pm @@ -0,0 +1,33 @@ +package Reaction::UI::Widget::Field::Mutable::File; + +use Reaction::UI::WidgetClass; + +class File is 'Reaction::UI::Widget::Field::Mutable', which { + + after fragment widget { + arg field_type => 'file'; + }; + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::File + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm b/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm new file mode 100644 index 0000000..675b2d1 --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/HiddenArray.pm @@ -0,0 +1,48 @@ +package Reaction::UI::Widget::Field::Mutable::HiddenArray; + +use Reaction::UI::WidgetClass; + +#move this to a normal list and let the hidden part be decided by the template.. +class HiddenArray is 'Reaction::UI::Widget::Field::Mutable', which { + + implements fragment hidden_list { + render hidden_field => over $_{viewport}->value; + }; + + implements fragment hidden_field { + arg field_value => $_; + }; + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::HiddenArray + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 FRAGMENTS + +=head2 field + +renders fragment C<item> over the values of 'value' arrayref + +=head2 item + +C<content> is $_{_} / $_ (current item in the 'value' array) + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Number.pm b/lib/Reaction/UI/Widget/Field/Mutable/Number.pm new file mode 100644 index 0000000..d73079c --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/Number.pm @@ -0,0 +1,29 @@ +package Reaction::UI::Widget::Field::Mutable::Number; + +use Reaction::UI::WidgetClass; + +class Number is 'Reaction::UI::Widget::Field::Mutable', which { + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::Number + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Password.pm b/lib/Reaction/UI/Widget/Field/Mutable/Password.pm new file mode 100644 index 0000000..c11a909 --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/Password.pm @@ -0,0 +1,34 @@ +package Reaction::UI::Widget::Field::Mutable::Password; + +use Reaction::UI::WidgetClass; + +class Password is 'Reaction::UI::Widget::Field::Mutable', which { + + around fragment widget { + call_next; + arg field_type => 'password'; + }; + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::Password + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/String.pm b/lib/Reaction/UI/Widget/Field/Mutable/String.pm new file mode 100644 index 0000000..7405c4a --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/String.pm @@ -0,0 +1,29 @@ +package Reaction::UI::Widget::Field::Mutable::String; + +use Reaction::UI::WidgetClass; + +class String is 'Reaction::UI::Widget::Field::Mutable', which { + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::String + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/Text.pm b/lib/Reaction/UI/Widget/Field/Mutable/Text.pm new file mode 100644 index 0000000..2cb7134 --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/Text.pm @@ -0,0 +1,29 @@ +package Reaction::UI::Widget::Field::Mutable::Text; + +use Reaction::UI::WidgetClass; + +class Text is 'Reaction::UI::Widget::Field::Mutable', which { + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::Text + +=head1 DESCRIPTION + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut diff --git a/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm b/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm new file mode 100644 index 0000000..0cdb4aa --- /dev/null +++ b/lib/Reaction/UI/Widget/Field/Mutable/TimeRange.pm @@ -0,0 +1,31 @@ +package Reaction::UI::Widget::Field::Mutable::TimeRange; + +use Reaction::UI::WidgetClass; + +class TimeRange is 'Reaction::UI::Widget::Field::Mutable', which { + +}; + +1; + +__END__; + +=head1 NAME + +Reaction::UI::Widget::Field::TimeRange + +=head1 DESCRIPTION + +Warning: INCOMPLETE CLASS + +See L<Reaction::UI::Widget::Field> + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut |