new admin bar
This commit is contained in:
parent
4e4afa83cf
commit
124b62f960
11 changed files with 441 additions and 19 deletions
3
docs/upgrades/upgrade_6.5.5-6.6.0.sql
Normal file
3
docs/upgrades/upgrade_6.5.5-6.6.0.sql
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
insert into webguiVersion values ('6.5.5','upgrade',unix_timestamp());
|
||||
update template set template='^StyleSheet(^Extras;/slidePanel/slidePanel.css);\r\n^JavaScript(^Extras;/slidePanel/slidePanel.js);\r\n\r\n<script type=\"text/javascript\">\r\n\r\n var slider = new createSlidePanelBar(\'WebGUIAdminBar\');\r\n var panel;\r\n\r\n panel = new createPanel(\'adminconsole\',\'Admin Console\');\r\n<tmpl_loop adminConsole_loop>\r\n <tmpl_if canUse>\r\n panel.addLink(\'<tmpl_var icon.small>\',\'<tmpl_var title>\',\"<tmpl_var url>\");\r\n </tmpl_if>\r\n</tmpl_loop>\r\n slider.addPanel(panel);\r\n\r\n panel = new createPanel(\'clipboard\',\'Clipboard\');\r\n<tmpl_loop clipboard_loop>\r\n panel.addLink(\'<tmpl_var icon.small>\',\'<tmpl_var label>\',\"<tmpl_var url>\");\r\n</tmpl_loop>\r\n slider.addPanel(panel);\r\n\r\n panel = new createPanel(\'packages\',\'Packages\');\r\n<tmpl_loop package_loop>\r\n panel.addLink(\'<tmpl_var icon.small>\',\'<tmpl_var label>\',\"<tmpl_var url>\");\r\n</tmpl_loop>\r\n slider.addPanel(panel);\r\n\r\n\r\n panel = new createPanel(\'assets\',\'New Content\');\r\n <tmpl_loop container_loop>\r\n panel.addLink(\'<tmpl_var icon.small>\',\'<tmpl_var label>\',\"<tmpl_var url>\");\r\n</tmpl_loop>\r\n <tmpl_loop contentTypes_loop>\r\n panel.addLink(\'<tmpl_var icon.small>\',\'<tmpl_var label>\',\"<tmpl_var url>\");\r\n</tmpl_loop>\r\n slider.addPanel(panel);\r\n slider.draw();\r\n\r\n\r\n</script>\r\n' where assetId='PBtmpl0000000000000090';
|
||||
|
||||
|
|
@ -77,6 +77,7 @@ sub _formatFunction {
|
|||
return {
|
||||
title=>WebGUI::International::get($function->{title}{id}, $function->{title}{namespace}),
|
||||
icon=>$session{config}{extrasURL}."/adminConsole/".$function->{icon},
|
||||
'icon.small'=>$session{config}{extrasURL}."/adminConsole/small/".$function->{icon},
|
||||
url=>$url,
|
||||
canUse=>WebGUI::Grouping::isInGroup($function->{group})
|
||||
};
|
||||
|
|
|
|||
|
|
@ -706,7 +706,9 @@ sub getAssetAdderLinks {
|
|||
} else {
|
||||
my $url = $self->getUrl("func=add&class=".$class);
|
||||
$url = WebGUI::URL::append($url,$addToUrl) if ($addToUrl);
|
||||
$links{$label} = $url;
|
||||
$links{$label}{url} = $url;
|
||||
$links{$label}{icon} = $class->getIcon;
|
||||
$links{$label}{'icon.small'} = $class->getIcon(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -721,13 +723,17 @@ sub getAssetAdderLinks {
|
|||
my $asset = WebGUI::Asset->newByDynamicClass($id,$class);
|
||||
my $url = $self->getUrl("func=add&class=".$class."&prototype=".$id);
|
||||
$url = WebGUI::URL::append($url,$addToUrl) if ($addToUrl);
|
||||
$links{$asset->get("title")} = $url;
|
||||
$links{$asset->get("title")}{url} = $url;
|
||||
$links{$asset->get("title")}{icon} = $asset->getIcon;
|
||||
$links{$asset->get("title")}{'icon.small'} = $asset->getIcon(1);
|
||||
}
|
||||
my @sortedLinks;
|
||||
foreach my $label (sort keys %links) {
|
||||
push(@sortedLinks,{
|
||||
label=>$label,
|
||||
url=>$links{$label}
|
||||
url=>$links{$label}{url},
|
||||
icon=>$links{$label}{icon},
|
||||
'icon.small'=>$links{$label}{'icon.small'}
|
||||
});
|
||||
}
|
||||
return \@sortedLinks;
|
||||
|
|
|
|||
|
|
@ -156,7 +156,9 @@ sub getFileIconUrl {
|
|||
sub getIcon {
|
||||
my $self = shift;
|
||||
my $small = shift;
|
||||
if ($small) {
|
||||
if ($small && ref($self) eq '') {
|
||||
return $session{config}{extrasURL}.'/assets/small/file.gif';
|
||||
} elsif ($small) {
|
||||
return $self->getFileIconUrl;
|
||||
}
|
||||
return $session{config}{extrasURL}.'/assets/file.gif';
|
||||
|
|
|
|||
|
|
@ -37,33 +37,36 @@ sub process {
|
|||
$var{'packages.canAdd'} = ($session{user}{uiLevel} >= 7);
|
||||
$var{'packages.label'} = WebGUI::International::get(376);
|
||||
$var{'contentTypes.label'} = WebGUI::International::get(1083);
|
||||
$var{'addcontent.label'} = WebGUI::International::get(1);
|
||||
$var{'clipboard.label'} = WebGUI::International::get(1082);
|
||||
if (exists $session{asset}) {
|
||||
foreach my $package (@{$session{asset}->getPackageList}) {
|
||||
my $title = $package->{title};
|
||||
$title =~ s/'//g; # stops it from breaking the javascript menus
|
||||
my $asset = WebGUI::Asset->newByDynamicClass($package->{assetId},$package->{className});
|
||||
push(@{$var{'package_loop'}},{
|
||||
'package.url'=>$session{asset}->getUrl("func=deployPackage&assetId=".$package->{assetId}),
|
||||
'package.label'=>$title
|
||||
'url'=>$session{asset}->getUrl("func=deployPackage&assetId=".$package->{assetId}),
|
||||
'label'=>$title,
|
||||
'icon.small'=>$asset->getIcon(1),
|
||||
'icon'=>$asset->getIcon()
|
||||
});
|
||||
}
|
||||
foreach my $link (@{$session{asset}->getAssetAdderLinks}) {
|
||||
push(@{$var{'contenttypes_loop'}},{'contenttype.url'=>$link->{url},'contenttype.label'=>$link->{label}});
|
||||
}
|
||||
foreach my $link (@{$session{asset}->getAssetAdderLinks(undef,1)}) {
|
||||
push(@{$var{'container_loop'}},{'container.url'=>$link->{url},'container.label'=>$link->{label}});
|
||||
}
|
||||
$var{contentTypes_loop} = $session{asset}->getAssetAdderLinks;
|
||||
$var{container_loop} = $session{asset}->getAssetAdderLinks(undef,1);
|
||||
foreach my $item (@{$session{asset}->getAssetsInClipboard(1)}) {
|
||||
my $title = $item->{title};
|
||||
$title =~ s/'//g; # stops it from breaking the javascript menus
|
||||
my $asset = WebGUI::Asset->newByDynamicClass($item->{assetId},$item->{className});
|
||||
push(@{$var{clipboard_loop}}, {
|
||||
'clipboard.label'=>$title,
|
||||
'clipboard.url'=>$session{asset}->getUrl("func=paste&assetId=".$item->{assetId})
|
||||
'label'=>$title,
|
||||
'url'=>$session{asset}->getUrl("func=paste&assetId=".$item->{assetId}),
|
||||
'icon.small'=>$asset->getIcon(1),
|
||||
'icon'=>$asset->getIcon()
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
#--admin functions
|
||||
$var{adminConsole_loop} = WebGUI::AdminConsole->getAdminFunction;
|
||||
return WebGUI::Asset::Template->new($templateId)->process(\%var);
|
||||
%hash = (
|
||||
'http://validator.w3.org/check?uri=referer'=>WebGUI::International::get(399),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -58,10 +58,13 @@ function Asset() {
|
|||
//---------Method Implementations -------------
|
||||
|
||||
this.registerEvents = function() {
|
||||
this.div.ondblclick=Asset_doubleClick;
|
||||
this.div.onmousedown=Asset_mouseDown;
|
||||
this.div.oncontextmenu=Asset_rightClick;
|
||||
|
||||
//if there is a div associated with the asset, register event handlers
|
||||
if (this.div) {
|
||||
this.div.ondblclick=Asset_doubleClick;
|
||||
this.div.onmousedown=Asset_mouseDown;
|
||||
this.div.oncontextmenu=Asset_rightClick;
|
||||
}
|
||||
}
|
||||
|
||||
//Moving to a new parent (move)
|
||||
|
|
|
|||
BIN
www/extras/slidePanel/arrowdown.gif
Normal file
BIN
www/extras/slidePanel/arrowdown.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 99 B |
BIN
www/extras/slidePanel/arrowup.gif
Normal file
BIN
www/extras/slidePanel/arrowup.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 100 B |
77
www/extras/slidePanel/slidePanel.css
Normal file
77
www/extras/slidePanel/slidePanel.css
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
#slidePanelBar {
|
||||
position:absolute;
|
||||
font:bold 12px Verdana;
|
||||
line-height:20px;
|
||||
}
|
||||
|
||||
#slidePanelBarHandle {
|
||||
z-index: 100000;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 3px;
|
||||
line-height: 100px;
|
||||
}
|
||||
|
||||
.panelButton {
|
||||
width:300;
|
||||
text-align:center;
|
||||
font-family:arial;
|
||||
font-size:11px;
|
||||
cursor:hand;
|
||||
border-width:2;
|
||||
border-style:outset;
|
||||
border-color: #dddddd;
|
||||
background-color:#dddddd;
|
||||
position:absolute;
|
||||
left:0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.panelButton A {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.scrollPanelUp {
|
||||
position:absolute;
|
||||
top:40;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.scrollPanelDown {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.slidePanel {
|
||||
position:absolute;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
|
||||
.panel, .panelLinkHolder {
|
||||
position:absolute;
|
||||
left:0;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
|
||||
.panelLinkOut {
|
||||
position:absolute;
|
||||
overflow: hidden;
|
||||
height: 20px;
|
||||
cursor: hand;
|
||||
left:0;
|
||||
border: 1px solid #eeeeee;
|
||||
font-size: 11px;
|
||||
font-family: helvetica, arial, sans;
|
||||
}
|
||||
.panelLinkIn {
|
||||
position:absolute;
|
||||
height: 20px;
|
||||
overflow: hidden;
|
||||
cursor: hand;
|
||||
left:0;
|
||||
border: 1px solid orange;
|
||||
font-size: 11px;
|
||||
font-family: helvetica, arial, sans;
|
||||
}
|
||||
|
||||
36
www/extras/slidePanel/slidePanel.html
Normal file
36
www/extras/slidePanel/slidePanel.html
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var slider = new createSlidePanelBar('WebGUIAdminBar');
|
||||
var panel;
|
||||
|
||||
panel = new createPanel('adminconsole','Admin Console');
|
||||
panel.addLink('/extras/adminConsole/users.gif','Users',"/index.pl/home?op=add");
|
||||
slider.addPanel(panel);
|
||||
|
||||
panel = new createPanel('clipboard','Clipboard');
|
||||
slider.addPanel(panel);
|
||||
|
||||
panel = new createPanel('packages','Packages');
|
||||
slider.addPanel(panel);
|
||||
|
||||
panel = new createPanel('prototypes','Prototypes');
|
||||
slider.addPanel(panel);
|
||||
|
||||
panel = new createPanel('assets','New Content');
|
||||
panel.addLink('/extras/assets/small/article.gif','Article',"/index.pl/home?op=add");
|
||||
panel.addLink('/extras/assets/small/article.gif','Collaboration System',"/index.pl/home?op=add");
|
||||
panel.addLink('/extras/assets/small/article.gif','Rediculously long tile for an asset',"/index.pl/home?op=add");
|
||||
panel.addLink('/extras/assets/small/article.gif','Article',"/index.pl/home?op=add");
|
||||
slider.addPanel(panel);
|
||||
slider.draw();
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
291
www/extras/slidePanel/slidePanel.js
Normal file
291
www/extras/slidePanel/slidePanel.js
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
var panelButtonHeight = 23;
|
||||
var panelLinkTop = 25;
|
||||
|
||||
|
||||
//create a crossbrowser layer object
|
||||
function createLayerObject(name) {
|
||||
this.name=name;
|
||||
this.obj=document.getElementById(name);
|
||||
this.cssobj.style;
|
||||
this.x=parseInt(this.css.left);
|
||||
this.y=parseInt(this.css.top);
|
||||
this.show=b_show;
|
||||
this.hide=b_hide;
|
||||
this.moveTo=b_moveTo;
|
||||
this.moveBy=b_moveBy;
|
||||
this.writeText=b_writeText;
|
||||
return this;
|
||||
}
|
||||
|
||||
//crossbrowser show
|
||||
function b_show(){
|
||||
this.css.visibility='visible';
|
||||
}
|
||||
|
||||
//crossbrowser hide
|
||||
function b_hide(){
|
||||
this.css.visibility='hidden';
|
||||
}
|
||||
|
||||
//crossbrowser move absolute
|
||||
function b_moveTo(x,y){
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.css.left=x;
|
||||
this.css.top=y;
|
||||
}
|
||||
|
||||
//crossbrowser move relative
|
||||
function b_moveBy(x,y){
|
||||
this.moveTo(this.x+x, this.y+y)
|
||||
}
|
||||
|
||||
//write text into a layer
|
||||
function b_writeText(text) {
|
||||
this.obj.innerHTML=text;
|
||||
}
|
||||
|
||||
//add one button to a panel
|
||||
function b_addLink(img, label, action) {
|
||||
this.img[this.img.length]=img;
|
||||
this.lbl[this.lbl.length]=label;
|
||||
this.act[this.act.length]=action;
|
||||
this.sta[this.sta.length]=0;
|
||||
return this
|
||||
}
|
||||
|
||||
//test if scroll buttons should be visible
|
||||
function b_testScroll() {
|
||||
var i=parseInt(this.obj.style.height);
|
||||
var j=parseInt(this.objf.style.height);
|
||||
var k=parseInt(this.objf.style.top);
|
||||
if (k==panelLinkTop)
|
||||
this.objm1.style.visibility='hidden';
|
||||
else
|
||||
this.objm1.style.visibility='visible';
|
||||
if ((j+k)<i)
|
||||
this.objm2.style.visibility='hidden';
|
||||
else
|
||||
this.objm2.style.visibility='visible';
|
||||
}
|
||||
|
||||
//scroll the panel content up
|
||||
function b_up(nr) {
|
||||
this.ftop = this.ftop - 5;
|
||||
this.objf.style.top=this.ftop;
|
||||
nr--
|
||||
if (nr>0)
|
||||
setTimeout(this.v+'.up('+nr+');',10);
|
||||
else
|
||||
this.testScroll();
|
||||
}
|
||||
|
||||
//scroll the panel content down
|
||||
function b_down(nr) {
|
||||
this.ftop = this.ftop + 5;
|
||||
if (this.ftop>=panelLinkTop) {
|
||||
this.ftop=panelLinkTop;
|
||||
nr=0;
|
||||
}
|
||||
this.objf.style.top=this.ftop;
|
||||
nr--
|
||||
if (nr>0)
|
||||
setTimeout(this.v+'.down('+nr+');',10);
|
||||
else
|
||||
this.testScroll();
|
||||
}
|
||||
|
||||
//create one panel
|
||||
function createPanel(name,caption) {
|
||||
this.name=name; // panel layer ID
|
||||
this.ftop=panelLinkTop; // actual panel scroll position
|
||||
this.obj=null; // panel layer object
|
||||
this.objc=null; // caption layer object
|
||||
this.objf=null; // panel field layer object
|
||||
this.objm1=null; // scroll button up
|
||||
this.objm2=null; // scroll button down
|
||||
this.caption=caption; // panel caption
|
||||
this.img=new Array(); // button images
|
||||
this.lbl=new Array(); // button labels
|
||||
this.act=new Array(); // button actions
|
||||
this.sta=new Array(); // button status (internal)
|
||||
this.addLink=b_addLink; // add one button to panel
|
||||
this.testScroll=b_testScroll; // test if scroll buttons should be visible
|
||||
this.up=b_up; // scroll panel buttons up
|
||||
this.down=b_down; // scroll panel buttons down
|
||||
this.v = this.name + "var"; // global var of 'this'
|
||||
eval(this.v + "=this");
|
||||
return this
|
||||
}
|
||||
|
||||
//add one panel to the slider
|
||||
function b_addPanel(panel) {
|
||||
panel.name=this.name+'_panel'+this.panels.length
|
||||
this.panels[this.panels.length] = panel;
|
||||
}
|
||||
|
||||
|
||||
// Draw the slider
|
||||
function b_draw() {
|
||||
var i;
|
||||
var j;
|
||||
var t=0;
|
||||
var h;
|
||||
var c=3;
|
||||
|
||||
//slide panel bar
|
||||
var slidemenu_width='160px' //specify width of menu (in pixels)
|
||||
var slidemenu_reveal='15px' //specify amount that menu should protrude initially
|
||||
var slidemenu_top='0px' //specify vertical offset of menu on page
|
||||
document.write('<div id="slidePanelBar" style="left:'+((parseInt(slidemenu_width)-parseInt(slidemenu_reveal))*-1)+'px; top:'+slidemenu_top+'; width:'+slidemenu_width+'" onmouseover="pullSlidePanelBar()" onmouseout="pushSlidePanelBar()">');
|
||||
document.write('<div id="slidePanelBarHandle">»<br />»<br />»<br />»<br />»<br /></div>');
|
||||
//slide panel .
|
||||
document.write('<div class="slidePanel" id='+this.name+' style="left:');
|
||||
document.write(this.xpos+'; top:'+this.ypos+'; width:'+this.width);
|
||||
document.write('; height:'+this.height+'; ')
|
||||
document.write('; clip:rect(0,'+this.width+','+this.height+',0)">');
|
||||
h=this.height-((this.panels.length-1)*panelButtonHeight)
|
||||
|
||||
//one layer for every panel...
|
||||
for (i=0;i<this.panels.length;i++) {
|
||||
document.write('<div class="panel" id='+this.name+'_panel'+i);
|
||||
document.write(' style="top:'+t);
|
||||
document.write('; width:'+this.width+'; height:'+h+'; clip:rect(0px, ');
|
||||
document.write(this.width+'px, '+h+'px, 0px);">');
|
||||
t=t+panelButtonHeight;
|
||||
|
||||
//one layer to host the panel links
|
||||
document.write('<div class="panelLinkHolder" id='+this.name+'_panel'+i);
|
||||
document.write('_f style="top:'+panelLinkTop+'; width:');
|
||||
document.write(this.width+'; height:');
|
||||
document.write((this.panels[i].img.length*this.buttonspace)+';">');
|
||||
mtop=0
|
||||
|
||||
for (j=0;j<this.panels[i].img.length;j++) {
|
||||
document.write('<div id="'+this.name+'_panel'+i+'_b'+j+'" class="panelLinkOut" style="top:'+mtop+';width:'+this.width+';" onmouseover="this.className=\'panelLinkIn\';" onmouseup="document.location=\''+this.panels[i].act[j]+'\';" onmouseout="this.className=\'panelLinkOut\';">');
|
||||
document.write('<img src="'+this.panels[i].img[j]+'" align="middle" border="0" alt="icon" />');
|
||||
document.write(' '+this.panels[i].lbl[j]);
|
||||
document.write('</div>');
|
||||
mtop=mtop+this.buttonspace;
|
||||
}
|
||||
|
||||
document.write('</div>');
|
||||
|
||||
document.write('<div id='+this.name+'_panel'+i+'_c class="panelButton" ');
|
||||
document.write('onClick="javascript:'+this.v+'.showPanel('+i);
|
||||
document.write(');" style="width:');
|
||||
document.write((this.width-c)+'; height:'+(panelButtonHeight-c)+';"><a href="#" ');
|
||||
document.write('onClick="'+this.v+'.showPanel('+i+');this.blur();');
|
||||
document.write('return false;">');
|
||||
document.write(this.panels[i].caption);
|
||||
document.write('</a></div>')
|
||||
|
||||
// scroll-up
|
||||
document.write('<div id='+this.name+'_panel'+i);
|
||||
document.write('_m1 class="scrollPanelUp" style="left:');
|
||||
document.write((this.width-20)+';"><a href="#" onclick="');
|
||||
document.write(this.panels[i].v+'.down(16);this.blur();return false;" >');
|
||||
document.write('<img src="'+getWebguiProperty("extrasURL")+'/slidePanel/arrowup.gif" border="0" alt="scroll up" />');
|
||||
document.write('</a></div>');
|
||||
|
||||
// scroll-down
|
||||
document.write('<div class="scrollPanelDown" id='+this.name+'_panel'+i);
|
||||
document.write('_m2 style="top:');
|
||||
document.write((this.height-(this.panels.length)*panelButtonHeight)+'; left:');
|
||||
document.write((this.width-20)+';"><a href="#" onclick="');
|
||||
document.write(this.panels[i].v+'.up(16);this.blur();return false">');
|
||||
document.write('<img src="'+getWebguiProperty("extrasURL")+'/slidePanel/arrowdown.gif" border="0" alt="scroll down" />');
|
||||
document.write('</a></div>');
|
||||
|
||||
document.write('</div>')
|
||||
|
||||
}
|
||||
document.write('</div>');
|
||||
|
||||
for (i=0;i<this.panels.length;i++) {
|
||||
this.panels[i].obj=document.getElementById(this.name+'_panel'+i);
|
||||
this.panels[i].objc=document.getElementById(this.name+'_panel'+i+'_c');
|
||||
this.panels[i].objf=document.getElementById(this.name+'_panel'+i+'_f');
|
||||
this.panels[i].objm1=document.getElementById(this.name+'_panel'+i+'_m1');
|
||||
this.panels[i].objm2=document.getElementById(this.name+'_panel'+i+'_m2');
|
||||
this.panels[i].testScroll();
|
||||
}
|
||||
rightboundary=0
|
||||
leftboundary=(parseInt(slidemenu_width)-parseInt(slidemenu_reveal))*-1
|
||||
|
||||
document.write('</div>')
|
||||
themenu=document.getElementById("slidePanelBar").style;
|
||||
|
||||
//activate last panel
|
||||
//actual panel is saved in a cookie
|
||||
if (document.cookie)
|
||||
this.showPanel(document.cookie);
|
||||
else
|
||||
this.showPanel(0);
|
||||
}
|
||||
|
||||
function b_showPanel(nr) {
|
||||
var i
|
||||
var l
|
||||
var o
|
||||
document.cookie=nr;
|
||||
this.aktPanel=nr;
|
||||
l = this.panels.length;
|
||||
for (i=0;i<l;i++) {
|
||||
if (i>nr) {
|
||||
this.panels[i].obj.style.top=this.height-((l-i)*panelButtonHeight);
|
||||
} else {
|
||||
this.panels[i].obj.style.top=i*panelButtonHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createSlidePanelBar(name) {
|
||||
this.aktPanel=0; // last open panel
|
||||
this.name=name // name
|
||||
this.xpos=0; // bar x-pos
|
||||
this.ypos=0; // bar y-pos
|
||||
this.width=160; // bar width
|
||||
this.height=((navigator.appVersion.indexOf("MSIE ") == -1)?innerHeight:document.body.offsetHeight)-10; // bar height
|
||||
this.buttonspace=25 // distance of panel buttons
|
||||
this.panels=new Array() // panels
|
||||
this.addPanel=b_addPanel; // add new panel to bar
|
||||
this.draw=b_draw; // write HTML code of bar
|
||||
this.showPanel=b_showPanel; // make a panel visible
|
||||
this.v = name + "var"; // global var of 'this'
|
||||
eval(this.v + "=this");
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
function pullSlidePanelBar(){
|
||||
if (window.drawit)
|
||||
clearInterval(drawit);
|
||||
pullit=setInterval("pullengine()",10);
|
||||
document.getElementById("slidePanelBarHandle").innerHTML="";
|
||||
}
|
||||
|
||||
function pushSlidePanelBar(){
|
||||
clearInterval(pullit);
|
||||
drawit=setInterval("drawengine()",10);
|
||||
document.getElementById("slidePanelBarHandle").innerHTML="»<br />»<br />»<br />»<br />»<br />";
|
||||
}
|
||||
|
||||
function pullengine(){
|
||||
if (parseInt(themenu.left)<rightboundary)
|
||||
themenu.left=parseInt(themenu.left)+10+"px";
|
||||
else if (window.pullit){
|
||||
themenu.left=0;
|
||||
clearInterval(pullit);
|
||||
}
|
||||
}
|
||||
|
||||
function drawengine(){
|
||||
if (parseInt(themenu.left)>leftboundary)
|
||||
themenu.left=parseInt(themenu.left)-10+"px";
|
||||
else if (window.drawit){
|
||||
themenu.left=leftboundary;
|
||||
clearInterval(drawit);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue