Bivio::UI::HTML::Widget::ControlBase
# Copyright (c) 2005-2008 bivio Software, Inc. All Rights Reserved.
# $Id$
package Bivio::UI::HTML::Widget::ControlBase;
use strict;
use Bivio::Base 'HTMLWidget';
use Bivio::UI::ViewLanguageAUTOLOAD;
sub control_on_render {
my($self, $source, $buffer) = @_;
$$buffer .= vs_html_attrs_render(
$self, $source, $self->unsafe_get('html_attrs'));
return;
}
sub initialize {
my($self) = @_;
unless ($self->unsafe_get('html_attrs')) {
my($a) = $self->map_each(sub {
my(undef, $k) = @_;
return $k =~ /^[A-Z][\_\-A-Z0-9]+$/ ? $k : ();
});
$self->put(html_attrs => vs_html_attrs_merge([sort(@$a)]))
if @$a;
}
vs_html_attrs_initialize($self, $self->unsafe_get('html_attrs'));
return shift->SUPER::initialize(@_);
}
1;