ModelHandle/website/o3dv/js/sidebarpanel.js
2021-08-18 17:08:25 +02:00

60 lines
1.3 KiB
JavaScript

OV.SidebarPanel = class
{
constructor (parentDiv)
{
this.parentDiv = parentDiv;
this.panelDiv = $('<div>').appendTo (this.parentDiv).hide ();
this.titleDiv = null;
this.contentDiv = null;
this.visible = false;
}
Init (callbacks)
{
this.titleDiv = $('<div>').addClass ('ov_sidebar_title').appendTo (this.panelDiv);
this.contentDiv = $('<div>').addClass ('ov_sidebar_content').addClass ('ov_thin_scrollbar').appendTo (this.panelDiv);
$('<div>').addClass ('ov_sidebar_title_text').html (this.GetTitle ()).appendTo (this.titleDiv);
let titleImg = OV.CreateSvgIcon (this.titleDiv, 'close', 'ov_sidebar_title_img');
titleImg.click (() => {
callbacks.onClose ();
});
}
GetTitle ()
{
return '';
}
Show (show)
{
this.visible = show;
if (this.visible) {
this.panelDiv.show ();
} else {
this.panelDiv.hide ();
}
}
IsVisible ()
{
return this.visible;
}
Resize ()
{
let titleHeight = this.titleDiv.outerHeight (true);
let height = this.parentDiv.height ();
this.contentDiv.outerHeight (height - titleHeight, true);
}
Clear ()
{
this.contentDiv.empty ();
}
HidePopups ()
{
}
};