aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/ViewPort/Field/Collection.pm
blob: b772e02a162515aba23715273d14b567c5356bac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package Reaction::UI::ViewPort::Field::Collection;

use Reaction::Class;
use Scalar::Util 'blessed';
use aliased 'Reaction::UI::ViewPort::Field::Array';

class Collection is Array, which {

  has value => (
    is => 'rw', lazy_build => 1,
    isa => 'Reaction::InterfaceModel::Collection'
  );

  implements _build_value_names => as {
    my $self = shift;
    my $meth = $self->value_map_method;
    my @names = map { blessed($_) ? $_->$meth : $_ } $self->value->members;
    return [ sort @names ];
  };

};

1;