The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Data::Navigation::Item - Data object for navigation item.

SYNOPSIS

use Data::Navigation::Item;

my $obj = Data::Navigation::Item->new(%params);
my $class = $obj->class;
my $desc = $obj->desc;
my $id = $obj->id;
my $image = $obj->image;
my $location = $obj->location;
my $title = $obj->title;

METHODS

new

my $obj = Data::Navigation::Item->new(%params);

Constructor.

  • class

    Navigation item class.

    Value type is same as CSS class.

    It's optional.

    Default value is undef.

  • desc

    Navigation item description.

    Maximum length is 1000 characters.

    Default value is undef.

  • id

    Navigation item id. It's number.

    It's optional.

    Default value is undef.

  • image

    Navigation item image location.

    It's optional.

    Default value is undef.

  • location

    Navigation item location. Link to content.

    It's optional.

    Default value is undef.

  • title

    Navigation item title.

    Maximum length is 100 characters.

    It's required.

    Default value is undef.

Returns instance of object.

class

my $class = $obj->class;

Get navigation item class.

Returns string.

desc

my $desc = $obj->desc;

Get navigation item description.

Returns string.

id

my $id = $obj->id;

Get navigation item id.

Returns number.

image

my $image = $obj->image;

Get navigation item image location.

Returns string.

location

my $location = $obj->location;

title

my $title = $obj->title;

Get navigation item title;

Returns string.

ERRORS

new():
        From Mo::utils:
                From Mo::utils::check_number_id():
                        Parameter 'id' must be a number.
                                Value: %s
                From Mo::utils::check_length():
                        Parameter 'desc' has length greater than '1000'.
                                Value: %s
                        Parameter 'title' has length greater than '100'.
                                Value: %s
                From Mo::utils::check_required():
                        Parameter 'title' is required.
                From Mo::utils::CSS::check_css_class():
                        Parameter 'class' has bad CSS class name.
                                Value: %s
                        Parameter 'class' has bad CSS class name (number on begin).
                                Value: %s
                From Mo::utils::URI::check_location():
                        Parameter 'image' doesn't contain valid location.
                                Value: %s
                        Parameter 'location' doesn't contain valid location.
                                Value: %s

EXAMPLE

use strict;
use warnings;

use Data::Navigation::Item;

my $obj = Data::Navigation::Item->new(
        'class' => 'nav-item',
        'desc' => 'This is description',
        'id' => 1,
        'image' => '/img/foo.png',
        'location' => '/title',
        'title' => 'Title',
);

# Print out.
print 'Class: '.$obj->class."\n";
print 'Description: '.$obj->desc."\n";
print 'Id: '.$obj->id."\n";
print 'Image: '.$obj->image."\n";
print 'Location: '.$obj->location."\n";
print 'Title: '.$obj->title."\n";

# Output:
# Class: nav-item
# Description: This is description
# Id: 1
# Image: /img/foo.png
# Location: /title
# Title: Title

DEPENDENCIES

Mo, Mo::utils, Mo::utils::CSS, Mo::utils::URI.

REPOSITORY

https://github.com/michal-josef-spacek/Data-Navigation-Item

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2024 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.02