use Reaction::UI::WidgetClass;
-class Action is 'Reaction::UI::Widget::Object', which {
-
- #before fragment widget {
- # arg form_id => $_{viewport}->location;
- #};
-
- 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 'close' } $_{viewport}->accept_events) {
- arg 'event_id' => event_id 'close';
- arg 'label' => $_{viewport}->close_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__;