23 |
|
|
24 |
# List of callbacks, buttons for now |
# List of callbacks, buttons for now |
25 |
has callback => ( is => 'rw', default => sub {{}} ); |
has callback => ( is => 'rw', default => sub {{}} ); |
26 |
|
has callback_order => ( is => 'rw', isa => 'ArrayRef', default => sub { [] }); |
27 |
|
|
28 |
has renderer => ( is => 'rw', isa => 'HashRef', default => sub {{}}); |
has renderer => ( is => 'rw', isa => 'HashRef', default => sub {{}}); |
29 |
|
|
126 |
sub add_button { |
sub add_button { |
127 |
my ($self, $name, $callback) = @_; |
my ($self, $name, $callback) = @_; |
128 |
$self->callback->{$name} = $callback; |
$self->callback->{$name} = $callback; |
129 |
|
push @{ $self->callback_order }, $name; |
130 |
|
warn "## callback_order = ",dump( $self->callback_order ); |
131 |
} |
} |
132 |
|
|
133 |
sub remove_button { |
sub remove_button { |
138 |
sub render_buttons { |
sub render_buttons { |
139 |
my ($self) = @_; |
my ($self) = @_; |
140 |
my $out = ''; |
my $out = ''; |
141 |
foreach my $name (keys %{$self->callback}) { |
foreach my $name ( @{ $self->callback_order } ) { |
142 |
my $btn_name = $self->field_name($name); |
my $btn_name = $self->field_name($name); |
143 |
$out .= qq{ |
$out .= qq{ |
144 |
<input type="submit" name="@{[$btn_name]}" value="$name"> |
<input type="submit" name="@{[$btn_name]}" value="$name"> |