The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#
# This file is part of HTML-FormFu-ExtJS
#
# This software is Copyright (c) 2011 by Moritz Onken.
#
# This is free software, licensed under:
#
#   The (three-clause) BSD License
#
package HTML::FormFu::ExtJS::Util;
BEGIN {
  $HTML::FormFu::ExtJS::Util::VERSION = '0.090';
}

use strict;
use warnings;

use HTML::FormFu::Util qw/require_class/;
use Exporter qw/ import /;
use Carp qw/ croak /;

our @EXPORT_OK = qw(
    _camel_case
    _css_case
    ext_class_of
);

sub _camel_case {
    return lcfirst(join('', map { ucfirst($_) } split(/\./, $_[0])));
}

sub _css_case {
    my $data_index = shift;
    $data_index =~ s/\./-/g;

    return $data_index;
}

sub ext_class_of {
    my $element = shift;
    my $classname;

    croak "cannot determine ext class for element '" . (ref $element) . "'"
        unless ($element->can( 'type' ));

    if ($element->type =~ /^(.*)::Element::(.*?)$/) {
        $classname = $1 . '::ExtJS::Element::' . $2;
    }
    else {
        $classname = "HTML::FormFu::ExtJS::Element::" . $element->type;
    }
    require_class( $classname );

    return $classname;
}


__END__
=pod

=head1 NAME

HTML::FormFu::ExtJS::Util

=head1 VERSION

version 0.090

=head1 AUTHOR

Moritz Onken <onken@netcubed.de>

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2011 by Moritz Onken.

This is free software, licensed under:

  The (three-clause) BSD License

=cut