Reaction::UI::Widget::Field::Mutable::ChooseOne - Choose one from a list of available values


Reaction documentation Contained in the Reaction distribution.

Index


Code Index:

NAME

Top

Reaction::UI::Widget::Field::Mutable::ChooseOne - Choose one from a list of available values

DESCRIPTION

Top

See Reaction::UI::Widget::Field::Mutable. This widget provides the user with a field where he can select a single value from a list of many.

FRAGMENTS

Top

field

Renders a series fragment option for each value_choices in the viewport

Additional varibles set: is_required - Boolean, self-explanatory

option

content is a dummy variable, but th additional variables v_value, v_name and is_selected are set

option_is_required

Renders either option_is_required_yes or option_is_required_no depending on the viewport's value_is_required attribute.

option_list

Renders the option fragment over the viewport's value_choices. This populates the list of available values.

option_is_selected

Renders either option_is_selected_yes or option_is_selected_no depending on if the viewport's is_current_value method returns true on the current topic arguments value key.

LAYOUT SETS

Top

base

  share/skin/base/layout/field/mutable/choose_one.tt

This layout set renders a select element with the available values as options.

AUTHORS

Top

See Reaction::Class for authors.

LICENSE

Top

See Reaction::Class for the license.


Reaction documentation Contained in the Reaction distribution.

package Reaction::UI::Widget::Field::Mutable::ChooseOne;

use Reaction::UI::WidgetClass;

use namespace::clean -except => [ qw(meta) ];
extends 'Reaction::UI::Widget::Field::Mutable';



implements fragment option_is_required {
  if ($_{viewport}->value_is_required) {
    render 'option_is_required_yes';
  } else {
    render 'option_is_required_no';
  }
};

implements fragment option_list {
  render option => over $_{viewport}->value_choices;
};

implements fragment option {
  arg option_name => $_->{name};
  arg option_value => $_->{value};
};

implements fragment option_is_selected {
  if ($_{viewport}->is_current_value($_->{value})) {
    render 'option_is_selected_yes';
  } else {
    render 'option_is_selected_no';
  }
};

__PACKAGE__->meta->make_immutable;


1;

__END__;