[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ic] Passing options to widgets via table-editor



On Mar 13, 2008, at 10:40 AM, Mike Heins wrote:

User:      heins
Date:      2008-03-13 14:17:28 GMT
Modified:  lib/Vend/Table Editor.pm
Log:
* Add ability to set arbitrary options from table editor callouts.
 Sparked by:

   http://www.icdevgroup.org/pipermail/interchange-users/2008-March/048740.html

Now allows an option to be set with the opts callout, for example the "ampm"
 option for the time widget.

	  [table-editor
	  	label.starttime='Start Time'
		filter.starttime=date_change
		widget.starttime=time
		opts.starttime="ampm=1"
	   ]

Options are specified in Interchange string option format as interpreted
 by get_option_hash() routine.


Revision  Changes    Path
1.90      +13 -3     interchange/lib/Vend/Table/Editor.pm


rev 1.90, prev_rev 1.89
Index: Editor.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/Editor.pm,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- Editor.pm	18 Sep 2007 18:51:19 -0000	1.89
+++ Editor.pm	13 Mar 2008 14:17:28 -0000	1.90
@@ -1,6 +1,6 @@
# Vend::Table::Editor - Swiss-army-knife table editor for Interchange
#
-# $Id: Editor.pm,v 1.89 2007/09/18 18:51:19 racke Exp $
+# $Id: Editor.pm,v 1.90 2008/03/13 14:17:28 mheins Exp $
#
# Copyright (C) 2002-2007 Interchange Development Group
# Copyright (C) 2002 Mike Heins <suppressed>
@@ -26,7 +26,7 @@
package Vend::Table::Editor;

use vars qw($VERSION);
-$VERSION = substr(q$Revision: 1.89 $, 10);
+$VERSION = substr(q$Revision: 1.90 $, 10);

use Vend::Util;
use Vend::Interpolate;
@@ -940,6 +940,14 @@
			$record->{$_} =~ s/_UI_KEY_/$key/g;
		}

+		if($opt->{opts}) {
+			my $r = get_option_hash(delete $opt->{opts});
+			for my $k (keys %$r) {
+				$record->{$k} = $r->{$k};
+			}
+		}
+
+
#::logDebug("overriding defaults");
#::logDebug("passed=$record->{passed}") if $record->{debug};
		my %things = (
@@ -957,7 +965,7 @@
			$record->{$k} = $v;
		}

-#::logDebug("calling Vend::Form");
+#::logDebug("calling Vend::Form with record=" . ::uneval($record));
		if($record->{save_defaults}) {
			my $sd = $Vend::Session->{meta_defaults} ||= {};
			$sd = $sd->{"${table}::$column"} ||= {};
@@ -2336,6 +2344,7 @@
	my $meta         = $opt->{meta};
	my $js_check     = $opt->{js_check};
	my $maxlength    = $opt->{maxlength};
+	my $opts         = $opt->{opts};
	my $options      = $opt->{options};
	my $outboard     = $opt->{outboard};
	my $override     = $opt->{override};
@@ -3966,6 +3975,7 @@
							options				=> $options->{$c},
							outboard			=> $outboard->{$c},
							override			=> $overridden,
+							opts				=> $opts->{$c},
							passed				=> $passed->{$c},
							pre_filter			=> $pre_filter->{$c},
							prepend				=> $prepend->{$c},



Thanks a lot. I'll try it out.

Bill Carr
suppressed



_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.