Revision c37fb9ef
Von Moritz Bunkus vor fast 8 Jahren hinzugefügt
SL/Layout/ActionBar.pm | ||
---|---|---|
7 | 7 |
use Scalar::Util qw(blessed); |
8 | 8 |
use SL::Layout::ActionBar::Action; |
9 | 9 |
use SL::Layout::ActionBar::ComboBox; |
10 |
use SL::Layout::ActionBar::Link; |
|
10 | 11 |
use SL::Layout::ActionBar::Separator; |
11 | 12 |
|
12 | 13 |
use constant HTML_CLASS => 'layout-actionbar'; |
... | ... | |
18 | 19 |
my %class_descriptors = ( |
19 | 20 |
action => { class => 'SL::Layout::ActionBar::Action', num_params => 1, }, |
20 | 21 |
combobox => { class => 'SL::Layout::ActionBar::ComboBox', num_params => 1, }, |
22 |
link => { class => 'SL::Layout::ActionBar::Link', num_params => 1, }, |
|
21 | 23 |
separator => { class => 'SL::Layout::ActionBar::Separator', num_params => 0, }, |
22 | 24 |
); |
23 | 25 |
|
SL/Layout/ActionBar/Link.pm | ||
---|---|---|
1 |
package SL::Layout::ActionBar::Link; |
|
2 |
|
|
3 |
use strict; |
|
4 |
use parent qw(SL::Layout::ActionBar::Action); |
|
5 |
|
|
6 |
sub from_params { |
|
7 |
my ($class, $data) = @_; |
|
8 |
|
|
9 |
my ($text, %params) = @$data; |
|
10 |
return SL::Layout::ActionBar::Link->new(text => $text, params => \%params); |
|
11 |
} |
|
12 |
|
|
13 |
sub render { |
|
14 |
my ($self) = @_; |
|
15 |
|
|
16 |
return $self->p->html_tag( |
|
17 |
'a', $self->text, |
|
18 |
%{ $self->params // {} }, |
|
19 |
id => $self->id, |
|
20 |
class => 'layout-actionbar-link', |
|
21 |
); |
|
22 |
} |
|
23 |
|
|
24 |
1; |
css/common.css | ||
---|---|---|
129 | 129 |
border-style: solid; |
130 | 130 |
} |
131 | 131 |
|
132 |
div.layout-actionbar .layout-actionbar-link { |
|
133 |
margin-left: 6px; |
|
134 |
margin-right: 6px; |
|
135 |
cursor: default; |
|
136 |
} |
|
137 |
|
|
132 | 138 |
div.layout-actionbar-combobox { |
133 | 139 |
position: relative; |
134 | 140 |
display: inline-block; |
Auch abrufbar als: Unified diff
ActionBar: neuer Typ für einfachen Link in Hauptzeile (nicht in Combo)