use Reaction::UI::WidgetClass;
-class Action is 'Reaction::UI::Widget::Object', which {
-
- #before fragment widget {
- # arg form_id => $_{viewport}->location;
- #};
-
- #implements fragment field_list {
- # render field => over $_{viewport}->ordered_fields;
- #};
-
- #implements fragment field {
- # render 'viewport';
- #};
-
- implements fragment ok_button_fragment {
- if (grep { $_ eq 'ok' } $_{viewport}->accept_events) {
- arg 'event_id' => event_id 'ok';
- arg 'label' => $_{viewport}->ok_label;
- render 'ok_button';
- }
- };
-
- implements fragment apply_button_fragment {
- if (grep { $_ eq 'apply' } $_{viewport}->accept_events) {
- arg 'event_id' => event_id 'apply';
- arg 'label' => $_{viewport}->apply_label;
- render 'apply_button';
- }
- };
-
- implements fragment cancel_button_fragment {
- if (grep { $_ eq 'cancel' } $_{viewport}->accept_events) {
- arg 'event_id' => event_id 'cancel';
- arg 'label' => $_{viewport}->cancel_label;
- render 'cancel_button';
- }
- };
+use namespace::clean -except => [ qw(meta) ];
+extends 'Reaction::UI::Widget::Object::Mutable';
+after fragment widget {
+ arg 'method' => $_{viewport}->method;
};
+implements fragment ok_button_fragment {
+ if (grep { $_ eq 'ok' } $_{viewport}->accept_events) {
+ arg 'event_id' => event_id 'ok';
+ arg 'label' => localized $_{viewport}->ok_label;
+ render 'ok_button';
+ }
+};
+
+implements fragment apply_button_fragment {
+ if (grep { $_ eq 'apply' } $_{viewport}->accept_events) {
+ arg 'event_id' => event_id 'apply';
+ arg 'label' => localized $_{viewport}->apply_label;
+ render 'apply_button';
+ }
+};
+
+implements fragment cancel_button_fragment {
+ if (grep { $_ eq 'close' } $_{viewport}->accept_events) {
+ arg 'event_id' => event_id 'close';
+ arg 'label' => localized $_{viewport}->close_label;
+ render 'cancel_button';
+ }
+};
+
+__PACKAGE__->meta->make_immutable;
+
+
1;
__END__;
=head1 FRAGMENTS
-=head2 widget
-
-Renders "header", "field_list", "buttons" and "footer"
-
-=head2 field_list
-
-Sequentially renders the C<ordered_fields> of the viewport
-
-=head2 buttons
-
-Additional variables available in topic hash: "message"
-
-=head2 header
-
-Content is a dummy value
+=head2 ok_button_fragment
-=head2 footer
+=head2 apply_button_fragment
-Content is a dummy value
+=head2 cancel_button_fragment
=head1 AUTHORS