———# -----------------------------------------------------------------------------
=encoding utf8
=head1 NAME
Quiq::Html::Base - Basisklasse fĂĽr HTML-Komponenten
=head1 BASE CLASS
L<Quiq::Hash>
=head1 DESCRIPTION
Die Klasse ist die Basisklasse fĂĽr alle HTML-Konstrukte, die aus
mehr als einem HTML-Tag aufgebaut sind und/oder eine komplexe
Logik besitzen, die durch eine Klasse gekapselt werden soll.
=head1 ATTRIBUTES
=over 4
=item class => $class (Default: undef)
CSS-Klasse.
=item id => $str (Default: undef)
DOM-Id der Komponente.
=item cssPrefix => $str (Default: '')
Präfix für CSS-Klassennamen. Dieser Präfix wird den
CSS-Klassennamen vorangestellt. (MEMO: dieses Konzept ist zweifelhaft
und sollte abgeschafft werden)
=back
=cut
# -----------------------------------------------------------------------------
package
Quiq::Html::Base;
use
v5.10;
use
strict;
use
warnings;
our
$VERSION
=
'1.225'
;
# -----------------------------------------------------------------------------
=head1 METHODS
=head2 Konstruktor
=head3 new() - Konstruktor
=head4 Synopsis
$obj = $class->new(@keyVal);
=head4 Description
Instantiiere eine Html-Komponente mit allen Attributen (auch
der Subklasse) und liefere eine Referenz auf das Objekt zurĂĽck.
=cut
# -----------------------------------------------------------------------------
sub
new {
my
$class
=
shift
;
# @_: @keyVal
my
$self
=
$class
->SUPER::new(
class
=>
undef
,
cssPrefix
=>
undef
,
id
=>
undef
,
);
$self
->unlockKeys;
$self
->set(
@_
);
# Wir dĂĽrfen die Attribute beliebig erweitern
$self
->lockKeys;
return
$self
;
}
# -----------------------------------------------------------------------------
=head1 VERSION
1.225
=head1 AUTHOR
Frank Seitz, L<http://fseitz.de/>
=head1 COPYRIGHT
Copyright (C) 2025 Frank Seitz
=head1 LICENSE
This code is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
# -----------------------------------------------------------------------------
1;
# eof