Mercurial > pub > Impl
diff 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 |
line wrap: on
line diff
--- a/Lib/IMPL/Web/View/Metadata/FormMeta.pm Mon Dec 02 02:13:12 2013 +0400 +++ b/Lib/IMPL/Web/View/Metadata/FormMeta.pm Mon Dec 02 17:44:38 2013 +0400 @@ -37,7 +37,6 @@ shift->decl->isOptional; } - sub GetOwnErrors { my ($this) = @_; @@ -88,12 +87,15 @@ быть более одного в то время, как C<isMultiple = false> или, напротив, ни одного при C<isOptional = false>. +Как правило для построения формы данное свойство не требуется. + =head2 C<[get]modelType> Название типа данных из схемы документа (C<< schema->name >>), если тип не имеет название, то это C<ComplexNode> для сложных узлов и C<SimpleNode> для простых. -Для моделей с множественными значениями это свойство означает тип элементов. +Для моделей с множественными значениями это свойство не задано. Тип элементов +храниться в свойстве C<holdingType> =head2 C<[get]decl> @@ -119,10 +121,17 @@ =begin code for(my $i=0; $i< 10; $i++) { - display_model( - $meta->model->[$i], - schema => meta->schema, - ); + display_for($i,'template'); +} + +sub display_for { + my ($index,$tmpl) = @_; + + if ($index =~ /^\d+$/) { + return render($tmpl, meta => { $meta->GetItem($index) }); + } else { + return render($tmpl, meta => { $meta->GetProperty($index) }); + } } =end code