comparison Lib/IMPL/Web/TT/Form.pm @ 127:0dce0470a3d8

In the IMPL::Web::ControllerUnit added the ability to notify a form about a wrong data from a transaction added a relativeUrl function for a usage from a templates IMPL::Web::TT::Form now fully functional
author wizard
date Fri, 11 Jun 2010 20:21:07 +0400
parents c8dfbbdd8005
children c5bc900eefd3
comparison
equal deleted inserted replaced
126:c8dfbbdd8005 127:0dce0470a3d8
42 $path, 42 $path,
43 $this->element, 43 $this->element,
44 ) foreach @path; 44 ) foreach @path;
45 45
46 my $schema = $navi->Current; 46 my $schema = $navi->Current;
47 my $sourceSchema = $navi->SourceSchemaNode;
48 my $queryParameter = join '/', @path;
49 shift @path;
47 my $node = $this->data->selectSingleNode(@path); 50 my $node = $this->data->selectSingleNode(@path);
48 51
49 my @errors; 52 my @errors;
50 53
51 if ($node) { 54 if ($node) {
52 @errors = grep { ( $_->Node || $_->Parent) == $node } @{$this->errors}; 55 @errors = grep { ( $_->Node || $_->Parent) == $node } @{$this->errors};
53 } 56 }
54 57
55 return { 58 return {
56 schema => $schema, 59 schema => $schema,
57 sourceSchema => $navi->SourceSchemaNode, 60 sourceSchema => $sourceSchema,
58 errors => \@errors, 61 errors => \@errors,
59 data => $node, 62 data => $node,
60 formParameter => join '/', @path 63 nodeValue => $node && $node->nodeValue, # small hack set a non dom class property through
64 queryParameter => $queryParameter
61 }; 65 };
62 } 66 }
63 67
64 sub formErrors { 68 sub formErrors {
65 my ($this) = @_; 69 my ($this) = @_;
66 70
67 if (my $node = $this->data->selectSingleNode($this->base) ) { 71 if (my $node = $this->data ) {
68 return [ 72 return [
69 grep { 73 grep {
70 ( $_->Node || $_->Parent) == $node 74 ( $_->Node || $_->Parent) == $node
71 } @{$this->errors} 75 } @{$this->errors}
72 ]; 76 ];