Skip to content

Helper class for making ruler buttons in web applications.

Notifications You must be signed in to change notification settings

Perlover/WWW-Ruler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME
    WWW::Ruler - a helper for building rulers for visual presentation (in
    WWW applictions for example)

SYNOPSIS
    Now this module is beta. Not all documentation is finished yet.

        use WWW::Ruler;

        my $ruler = WWW::Ruler->new( page_size => $page_size, ruler_size => 15 );

        # $page_number - a number of current page
        # $array_length - a dimension of array of data
        my $piece = $ruler->cut_off( page_number => $page_number, amount => $array_length );

        # Detail in manual WWW::Ruler::Piece(3)
        $piece->outside;                    # true if piece are located outside of array of data. You can test before next methods
        $ruler_array = $piece->ruler;       # An array of ruler items for drawing
        $start_index = $piece->start;       # A start index of array (a base is zero) for cutting
        $end_index   = $piece->end;         # An end index  of array (a base is zero) for cutting
        $size        = $piece->size;        # A size (dimension) of piece of current page.

DESCRIPTION
    This class will help to make a ruler with a following layouts and
    calculate start and end indices. Ruler can look like these examples:

    [ << ] [ 1 ] [ ... ] [ 4 ] [ 5 ] ( 6 ) [ 7 ] [ 8 ] [ ... ] [ 999 ]
    [ >> ]

    [ 1 ] [ 4 ] [ 5 ] ( 6 ) [ 7 ] [ 8 ] [ ... ] [ 999 ] [ >> ]

    [ << ] [ 1 ] [ ... ] [ 4 ] [ 5 ] ( 6 ) [ 7 ] [ 8 ] [ >> ]

    Here ( 1 ) and ( 6 ) are "current" pages. A [ << ], [ >> ] and [ DIGIT ]
    - linked buttons for other pages for example. And the [ ... ] is an
    ellipse figure of span between page numbers (not linked).

CONSTRUCTOR
        $ruler = WWW::Ruler->new( page_size => $page_size, ruler_size => 15 );
        $ruler = WWW::Ruler->new;

    You can construct object with and without options.

OPTIONS
    These options can be passed in "new" and "cut_off" methods. Options in
    "cut_off" method redefine constructor's options.

    page_size
        Number. How many do you have items in one page?

    ruler_size
        A desired maximum number of buttons (not included button [<<], [>>]
        and [...]). It is only desired amount! Please notice that real items
        in ruler can be up 3-4 items! It option will be improved in next
        versions.

    page_number
        A current number of page for which this ruler to be builded. It
        starts from 1.

    amount
        An amount of items in whole array.

METHODS
    new( %opts )
        The constructor. The %opts are optional. Any options can be
        redefined in "cut_off" method.

    cut_off ( %opts )
        This method makes virtual *cut off* of array and contructs array of
        ruler items. Any options passed into this method redefine options of
        constructor (to see "SYNOPSIS").

        Returns an instance of WWW::Ruler::Piece object. You can test a
        validation of piece bounds by "outside" in WWW::Ruler::Piece method.

AUTHOR
    This module has been written by Perlover <perlover@perlover.com>

LICENSE
    This module is free software and is published under the same terms as
    Perl itself.

About

Helper class for making ruler buttons in web applications.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages