HTML-Object

 view release on metacpan or  search on metacpan

lib/HTML/Object/DOM/Element/FieldSet.pm  view on Meta::CPAN

##----------------------------------------------------------------------------
## HTML Object - ~/lib/HTML/Object/DOM/Element/FieldSet.pm
## Version v0.2.1
## Copyright(c) 2022 DEGUEST Pte. Ltd.
## Author: Jacques Deguest <jack@deguest.jp>
## Created 2021/12/23
## Modified 2024/04/30
## All rights reserved
## 
## 
## This program is free software; you can redistribute  it  and/or  modify  it
## under the same terms as Perl itself.
##----------------------------------------------------------------------------
package HTML::Object::DOM::Element::FieldSet;
BEGIN
{
    use strict;
    use warnings;
    warnings::register_categories( 'HTML::Object' );
    use parent qw( HTML::Object::DOM::Element );
    use vars qw( $VERSION );
    use HTML::Object::DOM::Element::Shared qw( :fieldset );
    our $VERSION = 'v0.2.1';
};

use strict;
use warnings;

sub init
{
    my $self = shift( @_ );
    $self->{_init_strict_use_sub} = 1;
    $self->SUPER::init( @_ ) || return( $self->pass_error );
    $self->{tag} = 'audio' if( !CORE::length( "$self->{tag}" ) );
    $self->{type} = 'fieldset';
    return( $self );
}

# Note: method checkValidity inherited

# Note: property disabled inherited

# Note: property read-only
sub elements
{
    my $self = shift( @_ );
    my $children = $self->children;
    # my $form_elements = $self->new_array( [qw( button datalist fieldset input label legend meter optgroup option output progress select textarea )] );
    # <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements#value>
    my $form_elements = $self->new_array( [qw( button fieldset input object output select textarea )] );
    my $list = $form_elements->as_hash;
    my $results = $children->grep(sub{ exists( $form_elements->{ $_->tag } ) });
    my $col = $self->new_collection_elements;
    $col->push( $results->list );
    return( $col );
}

# Note: property read-only form inherited

# Note: property name inherited

# Note: method reportValidity inherited

# Note: method setCustomValidity inherited

# Note: property read-only different from the attribute type
sub type : lvalue { return( shift->_set_get_scalar_as_object( 'type' ) ); }

# Note: property validationMessage inherited

# Note: property validity inherited

# Note: property willValidate inherited

1;
# NOTE: POD
__END__

=encoding utf-8

=head1 NAME

HTML::Object::DOM::Element::FieldSet - HTML Object DOM Field Set Class

=head1 SYNOPSIS

    use HTML::Object::DOM::Element::FieldSet;
    my $set = HTML::Object::DOM::Element::FieldSet->new || 
        die( HTML::Object::DOM::Element::FieldSet->error, "\n" );

=head1 VERSION

    v0.2.1

=head1 DESCRIPTION

This interface provides special properties and methods (beyond the regular L<HTML::Object::Element> interface it also has available to it by inheritance) for manipulating the layout and presentation of C<<fieldset>> elements.

=head1 INHERITANCE

    +-----------------------+     +---------------------------+     +-------------------------+     +----------------------------+     +--------------------------------------+
    | HTML::Object::Element | --> | HTML::Object::EventTarget | --> | HTML::Object::DOM::Node | --> | HTML::Object::DOM::Element | --> | HTML::Object::DOM::Element::FieldSet |
    +-----------------------+     +---------------------------+     +-------------------------+     +----------------------------+     +--------------------------------------+

=head1 PROPERTIES

Inherits properties from its parent L<HTML::Object::DOM::Element>



( run in 0.546 second using v1.01-cache-2.11-cpan-39bf76dae61 )