Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c37fb9ef

Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt

  • ID c37fb9ef8fda87c074eb7585c458f1400d326af0
  • Vorgänger ff424b75
  • Nachfolger ffb2fb4c

ActionBar: neuer Typ für einfachen Link in Hauptzeile (nicht in Combo)

Unterschiede anzeigen:

SL/Layout/ActionBar.pm
use Scalar::Util qw(blessed);
use SL::Layout::ActionBar::Action;
use SL::Layout::ActionBar::ComboBox;
use SL::Layout::ActionBar::Link;
use SL::Layout::ActionBar::Separator;
use constant HTML_CLASS => 'layout-actionbar';
......
my %class_descriptors = (
action => { class => 'SL::Layout::ActionBar::Action', num_params => 1, },
combobox => { class => 'SL::Layout::ActionBar::ComboBox', num_params => 1, },
link => { class => 'SL::Layout::ActionBar::Link', num_params => 1, },
separator => { class => 'SL::Layout::ActionBar::Separator', num_params => 0, },
);
SL/Layout/ActionBar/Link.pm
package SL::Layout::ActionBar::Link;
use strict;
use parent qw(SL::Layout::ActionBar::Action);
sub from_params {
my ($class, $data) = @_;
my ($text, %params) = @$data;
return SL::Layout::ActionBar::Link->new(text => $text, params => \%params);
}
sub render {
my ($self) = @_;
return $self->p->html_tag(
'a', $self->text,
%{ $self->params // {} },
id => $self->id,
class => 'layout-actionbar-link',
);
}
1;
css/common.css
border-style: solid;
}
div.layout-actionbar .layout-actionbar-link {
margin-left: 6px;
margin-right: 6px;
cursor: default;
}
div.layout-actionbar-combobox {
position: relative;
display: inline-block;

Auch abrufbar als: Unified diff