view Lib/Schema/Form/Field.pm @ 4:e59f44f75f20

DOM - в разработке Testing - по мелочи Property - изменен механизм выбора имплементора
author Sergey
date Wed, 12 Aug 2009 17:36:07 +0400
parents 03e58a454b20
children 16ada169ca75
line wrap: on
line source

package Schema::Form::Field;
use strict;
use Common;
use base qw(Schema::Form::Item);

BEGIN {
    DeclareProperty Format => ACCESS_READ;
}

sub CTOR {
    my ($this,%args) = @_;
    
    $args{'Format'} or die new Exception('A format is required for a field');
    
    $args{'Attributes'} = { %{$args{Format}->Attributes},%{$args{Attributes} || {} } };
    
    $this->SUPER::CTOR(@args{qw(Name isMulti Filters Attributes)});
    $this->{$Format} = $args{'Format'};
}

=pod
Ñíà÷àëà ïðèìåíèòü ôèëüòðû ôîðìàòà à ïîòîì ôèëüòðû ïîëÿ
=cut
sub Filters {
    my ($this) = @_;
    
    my @filters = $this->{$Format}->Filters;
    push @filters,$this->SUPER::Filters;
    
    return @filters;
}

1;