[Jifty-commit] r1843 - jifty/trunk/lib/Jifty/Web/Form

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Aug 22 19:23:29 EDT 2006


Author: clkao
Date: Tue Aug 22 19:23:26 2006
New Revision: 1843

Modified:
   jifty/trunk/lib/Jifty/Web/Form/Clickable.pm
   jifty/trunk/lib/Jifty/Web/Form/Element.pm

Log:
Canonicalise {onclick}{submit} using the accessor wrapper.


Modified: jifty/trunk/lib/Jifty/Web/Form/Clickable.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Form/Clickable.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Form/Clickable.pm	Tue Aug 22 19:23:26 2006
@@ -175,10 +175,6 @@
         # If they have an onclick, add any and all submit actions to the onclick's submit list
         if ($self->{onclick}) {
             $self->{onclick} = [ (ref $self->{onclick} eq "ARRAY" ? @{ $self->{onclick} } : $self->{onclick}), map { submit => $_ }, @{$self->{submit}} ];
-            for (@{$self->{onclick}}) {
-                next unless ref $_;
-                $_->{submit} = $_->{submit}->moniker if UNIVERSAL::isa($_->{submit}, 'Jifty::Action');
-            }
         }
     }
 

Modified: jifty/trunk/lib/Jifty/Web/Form/Element.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Form/Element.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Form/Element.pm	Tue Aug 22 19:23:26 2006
@@ -136,7 +136,27 @@
 =cut
 
 sub accessors { shift->handlers, qw(class key_binding id label tooltip) }
-__PACKAGE__->mk_accessors(qw(onclick class key_binding id label tooltip));
+__PACKAGE__->mk_accessors(qw(_onclick class key_binding id label tooltip));
+
+=head2 onclick
+
+=cut
+
+sub onclick {
+    my $self = shift;
+    return $self->_onclick unless @_;
+
+    my ($arg) = @_;
+
+    if (ref($arg) eq 'ARRAY') {
+	for (@$arg) {
+	    $_->{submit} = $_->{submit}->moniker
+		if UNIVERSAL::can($_->{submit}, 'moniker');
+	}
+    }
+
+    $self->_onclick($arg);
+}
 
 =head2 javascript
 


More information about the Jifty-commit mailing list