]>
Commit | Line | Data |
---|---|---|
aff192e6 DM |
1 | package PVE::HTMLDropDown; |
2 | ||
3 | use strict; | |
4 | use vars qw(@ISA); | |
5 | ||
6 | my $umenuid = 0; | |
7 | ||
8 | sub new { | |
9 | my ($class) = @_; | |
10 | ||
11 | my $self = {}; | |
12 | $self->{count}=0; | |
13 | $self->{links}=0; | |
14 | $self->{uid} = "pvemenu_" . ++$umenuid; | |
15 | bless($self); | |
16 | return $self; | |
17 | } | |
18 | ||
19 | sub add_item { | |
20 | my ($self,$name,$link,$text,$img) = @_; | |
21 | if (!(defined($self->{$name}->{count}))) { $self->{$name}->{count}=0; } | |
22 | $self->{$name}->{$self->{$name}->{count}}->{link} = $link; | |
23 | $self->{$name}->{$self->{$name}->{count}}->{text} = $text; | |
24 | $self->{$name}->{$self->{$name}->{count}}->{image} = $img; | |
25 | $self->{$name}->{count} = $self->{$name}->{count} + 1; | |
26 | $self->{$name}->{menuid} = $self->{uid} . "_" . $name; | |
27 | } | |
28 | ||
29 | sub out_dropdown_menu { | |
30 | ||
31 | my ($self,$name) = @_; | |
32 | my $i; | |
33 | my $br=0; | |
34 | ||
35 | my $image = "/images/iarrdown.png"; | |
36 | ||
37 | my $menuid = $self->{$name}->{menuid}; | |
38 | ||
39 | my $html = ""; | |
40 | $html .= "<div id=\"$menuid\" onMouseOut =\"dropdown('$menuid',0);\" onMouseOver=\"dropdown('$menuid',1);\" style=\"position:absolute; top:0px; left:0px; visibility: hidden;\">"; | |
41 | ||
42 | $html .= "<span style='width:15px; color:#FFFFFF;'><img alt='' src='$image' border=0></span><br>"; | |
43 | ||
44 | $html .= "<div class='dropdown'>"; | |
45 | for $i (0 .. ($self->{$name}->{count}-1)) { | |
46 | ||
47 | ||
48 | if ($self->{$name}->{$i}->{text} eq "-" ) { | |
49 | $html = $html . "<hr width='175'>"; | |
50 | $br=0; | |
51 | } else { | |
52 | if ($br == 1) {$html = $html . "<br>"; } | |
53 | my $img = $self->{$name}->{$i}->{image}; | |
54 | my $imgtxt .= $img ? "<img alt='' src='$img' style='border:0px; vertical-align:text-bottom;'> " : ''; | |
55 | my $txt = $self->{$name}->{$i}->{text}; | |
56 | $txt =~ s/ / /g; | |
57 | $html .= "<a style='white-space:nowrap;' class='dropdown' id='${menuid}_ddlnk_$i' href='$self->{$name}->{$i}->{link}'>$imgtxt$txt</a>"; | |
58 | $br=1; | |
59 | } | |
60 | } | |
61 | ||
62 | $html .= "</div><br></div>"; | |
63 | ||
64 | return $html; | |
65 | } | |
66 | ||
67 | sub out_symbol { | |
68 | my ($self,$name,$shape,$elink) = @_; | |
69 | my $html; | |
70 | ||
71 | my $image = "/images/tarrdown.png"; | |
72 | if ($shape) { | |
73 | $image = "/images/$shape.png"; | |
74 | } | |
75 | ||
76 | my $menuid = $self->{$name}->{menuid}; | |
77 | ||
78 | my $lnk_name = $menuid . "_lnk_" . $self->{links}; | |
79 | if (defined($elink)) { $elink = ",'$elink'"; } | |
80 | $html = "<img alt='' style='cursor:pointer;' name='$lnk_name' src='$image' border=0 " . | |
81 | "onMousedown=\"javascript:dropdown('$menuid',1,'$lnk_name'$elink);\">"; | |
82 | $self->{links} = $self->{links} + 1; | |
83 | return $html; | |
84 | } | |
85 | ||
86 | 1; | |
87 |