view Lib/IMPL/Web/View/Metadata/FormProvider.pm @ 365:7c621bb95e53

working on the metadata model
author sergey
date Mon, 02 Dec 2013 02:13:12 +0400
parents 82b6c967bcf1
children 935629bf80df
line wrap: on
line source

package IMPL::Web::View::Metadata::FormProvider;
use strict;

use IMPL::declare {
	require => {
		Meta => 'IMPL::Web::View::Metadata::FormMeta'
	},
	base => [
		'IMPL::Object' => undef
	]
};

sub GetFormMetadata {
	my ($this,$model, $form) = @_;
}

sub PopulateChildren {
	my ($this,$meta) = @_;
	
	map Meta->new($this,), $meta->schema->content->childNodes;
}

sub GetChild {
	
}

sub _IsErrorRelates {
    my ($node,$source,$err) = @_;
    
    # this is an own error
    return 1 if ($node && $err->node && $err->node == $node) || (not($node) && $err->schema == $source );
    
    # this error relates to the child control 
    
    return 0 unless $node;
    
    for (my $n = $err->parent; $n ; $n = $n->parentNode) {
        return 1 if $n == $node;
    }
    
    return 0;
} 

1;