ModelHandle/website/o3dv/js/navigatorfilespanel.js

67 lines
2.0 KiB
JavaScript

OV.NavigatorFilesPanel = class extends OV.NavigatorPanel
{
constructor (parentDiv)
{
super (parentDiv);
}
GetName ()
{
return 'Files';
}
GetIcon ()
{
return 'files';
}
Resize ()
{
let titleHeight = OV.GetDomElementOuterHeight (this.titleDiv);
let height = this.parentDiv.offsetHeight;
OV.SetDomElementHeight (this.treeDiv, height - titleHeight);
}
Clear ()
{
super.Clear ();
}
Fill (importResult)
{
super.Fill (importResult);
const usedFiles = importResult.usedFiles;
const missingFiles = importResult.missingFiles;
if (missingFiles.length > 0) {
let missingFilesItem = new OV.TreeViewGroupItem ('Missing Files', null);
missingFilesItem.ShowChildren (true);
this.treeView.AddChild (missingFilesItem);
for (let i = 0; i < missingFiles.length; i++) {
let file = missingFiles[i];
let item = new OV.TreeViewButtonItem (file);
let browseButton = new OV.TreeViewButton ('open');
browseButton.OnClick (() => {
this.callbacks.onFileBrowseButtonClicked ();
});
item.AppendButton (browseButton);
missingFilesItem.AddChild (item);
}
let filesItem = new OV.TreeViewGroupItem ('Available Files', null);
filesItem.ShowChildren (true);
this.treeView.AddChild (filesItem);
for (let i = 0; i < usedFiles.length; i++) {
let file = usedFiles[i];
let item = new OV.TreeViewSingleItem (file);
filesItem.AddChild (item);
}
} else {
for (let i = 0; i < usedFiles.length; i++) {
let file = usedFiles[i];
let item = new OV.TreeViewSingleItem (file);
this.treeView.AddChild (item);
}
}
}
};