summaryrefslogtreecommitdiff
path: root/httemplate/elements/popup_link.html
blob: 2394681ee2779b19d4e42263021db0be27546d48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<%doc>

Example:

  <& /elements/init_overlib.html &>

  <& /elements/popup_link.html', { #hashref or a list, either way is fine

    #required
    'action'         => 'content.html', # uri for content of popup
    'label'          => 'click me',     # text of <A> tag
   
    #strongly recommended
    'actionlabel'    => 'You clicked',  # popup title
   
    #opt
    'width'          => 540,
    'height'         => 336,
    'color'          => '#ff0000',
    'closetext'      => 'Go Away',      # the value '' removes the link
    'title'          => 'Hover Text',

    #uncommon opt
    'aname'          => "target", # link NAME= value, useful for #targets
    'target'         => '_parent',
    'style'          => 'css-attribute:value',
    'html_label'     => '<IMG SRC="something.png">',  # overrides label
  }
  &>

</%doc>
% if ($params->{'action'} && $label) {
<A HREF="javascript:void(0);"
   onClick="<% $onclick |n %>"
   <% $params->{'title'}  ? 'TITLE="' . $params->{'title'}.  '"' : '' |n %>
   <% $params->{'aname'}  ? 'NAME="'.   $params->{'aname'}.  '"' : '' |n %>
   <% $params->{'target'} ? 'TARGET="'. $params->{'target'}. '"' : '' |n %>
   <% $params->{'style'}  ? 'STYLE="'.  $params->{'style'}.  '"' : '' |n %>
><% $label %></A>\
% }
<%init>

my $params;
if (ref($_[0]) eq 'HASH') {
  #$params = { %$params, %{ $_[0] } };
  $params = shift;
} else {
  #$params = { %$params, @_ };
  $params = { @_ };
}

my $label = $params->{'label'};
$label = encode_entities($label);
$label =~ s/ /&nbsp;/g;
$label = $params->{'html_label'} || $label;
my $onclick = include('/elements/popup_link_onclick.html', $params);

</%init>