Author: richter
Date: Mon Oct 13 13:56:26 2014
New Revision: 1631394

URL: http://svn.apache.org/r1631394
Log:
selectdyn control enhancements

Modified:
    perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm

Modified: perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm?rev=1631394&r1=1631393&r2=1631394&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm Mon Oct 13 13:56:26 
2014
@@ -101,9 +101,27 @@ __EMBPERL__
 
 my $name     = $self -> {name} ;
 my $class = $self -> {class} ;
+
+my $doctypes ;
+my $datasrc = $self -> {datasrc} ;
+if ($datasrc)
+    {
+    my %doctypes ;
+    my $datasource = CouchDB::AppServ::DataSource -> get_datasource ($datasrc) 
;
+    my $docclasses = $datasource -> get_doctypes_for_datasrc () ;
+    foreach my $doctype (@$docclasses)
+        {
+        my $docclass = CouchDB::AppServ::Docclass -> find_docclass ($doctype) ;
+        next if (!$docclass || $docclass -> abstract_doctype eq ref $docclass) 
;
+        #next if ($subclass -> is_allowed ('new', $reqdata, $reqdata -> 
{document}) != 1) ;
+        $doctypes{$docclass -> title ($reqdata -> {i18n})} = $docclass -> 
doctype ;            
+        }
+    $doctypes = join (',', map {( $doctypes{$_}, $_) } sort keys %doctypes) ;  
  
+    }
+
 $]
 
-<input name="_opt_[+ $name +]" [+ do { local $escmode = 0 ; $self -> 
get_std_control_attr($req) } +]
+<input name="_opt_[+ $name +]" [+ do { local $escmode = 0 ; $self -> 
get_std_control_attr($req, undef, undef, 'ef-context-menu') } +]
 type="text" _ef_attach="ef_selectdyn"
 [$if $self -> {size}            $]size="[+ $self->{size} +]" [$endif$]
 [$if $self -> {showurl}         $]_ef_show_url="[+ $self -> {showurl} +]" 
[$endif$] 
@@ -113,7 +131,9 @@ type="text" _ef_attach="ef_selectdyn"
 [$if $self -> {datasrctermmax}  $]_ef_datasrc_term_max="[+ $self -> 
{datasrctermmax} +]" [$endif$] 
 [$if $self -> {use_ajax}        $]_ef_use_ajax="[+ $self -> {use_ajax} +]" 
[$endif$] 
 [$if $self -> {show_on_select}  $]_ef_show_on_select="[+ $self -> 
{show_on_select}?'1':'' +]" [$endif$] 
+[$if $doctypes                  $]_ef_doctypes="[+ $doctypes +]" [$endif$] 
 >
+[$if !$self -> {no_button} $]<span class="ui-icon ui-icon-triangle-1-s ef-icon 
ef-control-selectdyn-ctrl ef-context-menu"></span>[$endif$]
 <input type="hidden" name="[+ $name +]">
 <input type="hidden" name="_id_[+ $name +]">
 [$endsub$]



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org
For additional commands, e-mail: embperl-cvs-h...@perl.apache.org

Reply via email to