13 |
extends 'Frey::Web::Button'; |
extends 'Frey::Web::Button'; |
14 |
#with 'BonusTypes'; |
#with 'BonusTypes'; |
15 |
|
|
16 |
has _render_as => ( is => 'rw', isa => 'Str', required => 1, default => 'view' ); |
use Moose::Util::TypeConstraints; |
17 |
|
|
18 |
|
enum 'Render_as' => qw( view edit none ); |
19 |
|
has _render_as => ( is => 'rw', isa => 'Render_as', required => 1, default => 'view' ); |
20 |
|
|
21 |
|
has _fey => ( |
22 |
|
is => 'rw', |
23 |
|
label => 'Fey object', |
24 |
|
isa => 'Strix::User', |
25 |
|
); |
26 |
|
|
27 |
|
enum 'Layouts' => qw( div table columns ); |
28 |
|
has _layout => ( |
29 |
|
is => 'rw', |
30 |
|
isa => 'Layouts', |
31 |
|
default => 'div', |
32 |
|
required => 1, |
33 |
|
); |
34 |
|
|
35 |
sub render_iterator { |
sub render_iterator { |
36 |
confess "BACKWARD INCOMATIBLE CHANGE: render_iterator works ONLY with 2 params!" unless $#_ == 1; |
confess "BACKWARD INCOMATIBLE CHANGE: render_iterator works ONLY with 2 params!" unless $#_ == 1; |
68 |
sub delete_button { |
sub delete_button { |
69 |
my $self = shift; |
my $self = shift; |
70 |
$self->add_button('Delete' => sub { |
$self->add_button('Delete' => sub { |
|
print STDERR "delete ID @{[$self->id]}!\n"; |
|
71 |
$self->_fey->delete; |
$self->_fey->delete; |
72 |
$self->next("Deleted id @{[$self->id]}!"); |
$self->next( qq|<div class="notice">Deleted id @{[$self->id]}!</div>|); |
73 |
$self->_render_as( 'deleted' ); |
$self->_render_as( 'none' ); |
74 |
Strix::Schema->ClearObjectCaches(); # XXX important! |
# Strix::Schema->ClearObjectCaches(); # XXX important! |
75 |
}); |
}); |
76 |
} |
} |
77 |
|
|
203 |
|
|
204 |
} |
} |
205 |
|
|
|
has _fey => ( |
|
|
is => 'rw', |
|
|
label => 'Fey object', |
|
|
isa => 'Strix::User', |
|
|
); |
|
|
|
|
|
use Moose::Util::TypeConstraints; |
|
|
|
|
|
enum 'Layouts' => qw( div table columns ); |
|
|
|
|
|
has _layout => ( |
|
|
is => 'rw', |
|
|
isa => 'Layouts', |
|
|
default => 'div', |
|
|
); |
|
|
|
|
206 |
1; |
1; |