X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fpopup_link_onclick.html;h=8faa27f7f78778668788409da0d8d9e61d2b4c6e;hb=ada2ac371279555b1009db1f995861eee2fa4bf2;hp=d14a2e79568c8c0bf1b8c31a4fdc26406ffd7d21;hpb=ca121e95ebea9fd78f2a06cfdddb159463c8e47c;p=freeside.git
diff --git a/httemplate/elements/popup_link_onclick.html b/httemplate/elements/popup_link_onclick.html
index d14a2e795..8faa27f7f 100644
--- a/httemplate/elements/popup_link_onclick.html
+++ b/httemplate/elements/popup_link_onclick.html
@@ -2,33 +2,45 @@
Example:
-
-
+ include('/elements/init_overlib.html')
include( '/elements/popup_link_onclick.html', { #hashref or a list, either way
#required
'action' => 'content.html', # uri for content of popup
-
+
#strongly recommended
'actionlabel => 'You clicked', # popup title
+ #alternately, use instead of action, values will be passed unquoted to overlib
+ 'js_action' => 'url', # javascript variable or expression
+ 'js_actionlabel' => 'actionlabel', # javascript variable or expression
+
#opt
- 'width' => '540',
+ 'width' => 540,
+ 'height' => 336,
'color' => '#ff0000',
'closetext' => 'Go Away', # the value '' removes the link
+
+ #uncommon opt
+ 'frame' => 0, #bool
+ 'scrolling' => 'yes', #scrollbars:
+ # 'auto' (default if omitted), 'yes' or 'no'.
+ 'nofalse' => 0, #bool, eliminates "return false;"
+
} )
%doc>
% if ($action) {
-<% $onclick %>\
+<% $onclick |n %>\
% }
<%init>
my( $action, $actionlabel, $frame ) = ( '', '', '' );
my( $width, $height ) = ( 540, 336 );
-my $closetext = 'Close';
+my $closetext = emt('Close');
my $color = '#333399';
+my $scrolling = 'auto';
my $params;
if (ref($_[0]) eq 'HASH') {
@@ -39,24 +51,31 @@ if (ref($_[0]) eq 'HASH') {
$params = { @_ };
}
-$action = $params->{'action'} if exists $params->{'action'};
-$actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'};
+$action = q(') . $params->{'action'} . q(');
+$action = $params->{'js_action'} if exists $params->{'js_action'};
+$actionlabel = q(') . $params->{'actionlabel'} . q(');
+$actionlabel = $params->{'js_actionlabel'} if exists $params->{'js_actionlabel'};
$width = $params->{'width'} if exists $params->{'width'};
$height = $params->{'height'} if exists $params->{'height'};
$color = $params->{'color'} if exists $params->{'color'};
$closetext = $params->{'closetext'} if exists $params->{'closetext'};
$frame = $params->{'frame'} if exists $params->{'frame'};
+$scrolling = $params->{'scrolling'} if exists $params->{'scrolling'};
#stupid safari is caching the "location" of popup iframs, and submitting them
#instead of displaying them. this should prevent that.
-my $popup_name = 'popup-'.time. "-$$-". rand() * 2**32;
+my $popup_name = 'popup-'.random_id();
my $onclick =
- "overlib( OLiframeContent('$action', $width, $height, '$popup_name' ), ".
- "CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, ".
+ "overlib( OLiframeContent($action, $width, $height, '$popup_name', 0, '$scrolling' ), ".
+ "CAPTION, $actionlabel, STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, ".
"DRAGGABLE, CLOSECLICK, ".
- "BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '$closetext'".
+ "BGCOLOR, '$color', CGCOLOR, '$color', FGCOLOR, '#f8f8f8', ".
+ "CLOSETEXT, '$closetext'".
( $frame ? ", FRAME, $frame" : '' ).
- "); return false;";
+ ");";
+
+$onclick .= " return false;"
+ unless $params->{'nofalse'};
%init>