Mercurial > pub > Impl
comparison Lib/IMPL/Web/View/Metadata/FormMeta.pm @ 366:935629bf80df
model metadata, in progress
author | cin |
---|---|
date | Mon, 02 Dec 2013 17:44:38 +0400 |
parents | 7c621bb95e53 |
children | 608e74bc309f |
comparison
equal
deleted
inserted
replaced
365:7c621bb95e53 | 366:935629bf80df |
---|---|
34 } | 34 } |
35 | 35 |
36 sub isOptional { | 36 sub isOptional { |
37 shift->decl->isOptional; | 37 shift->decl->isOptional; |
38 } | 38 } |
39 | |
40 | 39 |
41 sub GetOwnErrors { | 40 sub GetOwnErrors { |
42 my ($this) = @_; | 41 my ($this) = @_; |
43 | 42 |
44 my $node = undef; | 43 my $node = undef; |
86 Ссылка на массив с узлами документа. В теории количество узлов может быть | 85 Ссылка на массив с узлами документа. В теории количество узлов может быть |
87 произвольным, поскольку документ может быть некорректным, т.е. их может | 86 произвольным, поскольку документ может быть некорректным, т.е. их может |
88 быть более одного в то время, как C<isMultiple = false> или, напротив, ни | 87 быть более одного в то время, как C<isMultiple = false> или, напротив, ни |
89 одного при C<isOptional = false>. | 88 одного при C<isOptional = false>. |
90 | 89 |
90 Как правило для построения формы данное свойство не требуется. | |
91 | |
91 =head2 C<[get]modelType> | 92 =head2 C<[get]modelType> |
92 | 93 |
93 Название типа данных из схемы документа (C<< schema->name >>), если тип не имеет название, то это | 94 Название типа данных из схемы документа (C<< schema->name >>), если тип не имеет название, то это |
94 C<ComplexNode> для сложных узлов и C<SimpleNode> для простых. | 95 C<ComplexNode> для сложных узлов и C<SimpleNode> для простых. |
95 | 96 |
96 Для моделей с множественными значениями это свойство означает тип элементов. | 97 Для моделей с множественными значениями это свойство не задано. Тип элементов |
98 храниться в свойстве C<holdingType> | |
97 | 99 |
98 =head2 C<[get]decl> | 100 =head2 C<[get]decl> |
99 | 101 |
100 Объявление элемента формы, объявление может совпадать со схемой в случае, | 102 Объявление элемента формы, объявление может совпадать со схемой в случае, |
101 когда это был C<SimpleNode> или C<ComplexNode>, иначе это C<Node> ссылающийся | 103 когда это был C<SimpleNode> или C<ComplexNode>, иначе это C<Node> ссылающийся |
117 не свойства а сами элементы, в данном случае они их именами будут индексы. | 119 не свойства а сами элементы, в данном случае они их именами будут индексы. |
118 | 120 |
119 =begin code | 121 =begin code |
120 | 122 |
121 for(my $i=0; $i< 10; $i++) { | 123 for(my $i=0; $i< 10; $i++) { |
122 display_model( | 124 display_for($i,'template'); |
123 $meta->model->[$i], | 125 } |
124 schema => meta->schema, | 126 |
125 ); | 127 sub display_for { |
128 my ($index,$tmpl) = @_; | |
129 | |
130 if ($index =~ /^\d+$/) { | |
131 return render($tmpl, meta => { $meta->GetItem($index) }); | |
132 } else { | |
133 return render($tmpl, meta => { $meta->GetProperty($index) }); | |
134 } | |
126 } | 135 } |
127 | 136 |
128 =end code | 137 =end code |
129 | 138 |
130 =head2 C<GetOwnErrors()> | 139 =head2 C<GetOwnErrors()> |