blob: 0079fb5843dff2aa3056c187ac26812accd79132 (
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
|
<%doc>
Display a link with javascript to replace text within a element.
Usage:
<& /elements/link-replace_element_text.html, {
target_id => 'input_id',
replace_text => 'hello',
element_type => 'input', # Uses jquery val() method to replace text
element_type => 'div', # Uses jquery text() method to replace text
href => ...
style => ...
class => ...
}
&>
</%doc>
<a href="<% $param{href} %>"
style="<% $param{style} %>"
% if ($param{class}) {
class="<% $param{class} %>"
% }
onClick="$('#<% $param{target_id} %>').<% $param{jmethod} %>('<% $param{replace_text} |h %>');"><% $param{link_text} %></a>
<%init>
die "template call requires a parameter hashref" unless ref $_[0];
# Defaults that can be overridden in param hashref
my %param = (
target_id => 'SPECIFY_AN_INPUT_ELEMENT_ID',
replace_text => 'REPLACEMENT_TEXT_FOR_INPUT_ELEMENT',
element_type => 'input',
link_text => qq{<img src="${fsurl}images/eye.png">},
href => 'javascript:void(0)',
style => 'text-decoration:none;',
class => undef,
%{ $_[0] },
);
$param{jmethod} = $param{element_type} eq 'input' ? 'val' : 'text';
</%init>
|