You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2 KiB
JavaScript

import { UITabbedPanel, UISpan } from './libs/ui.js';
import { SidebarScene } from './Sidebar.Scene.js';
import { SidebarProperties } from './Sidebar.Properties.js';
import { SidebarProject } from './Sidebar.Project.js';
import { SidebarSettings } from './Sidebar.Settings.js';
function Sidebar( editor ) {
const strings = editor.strings;
const container = new UITabbedPanel();
container.setId( 'sidebar' );
const sidebarProperties = new SidebarProperties( editor );
const scene = new UISpan().add(
new SidebarScene( editor ),
sidebarProperties
);
const project = new SidebarProject( editor );
const settings = new SidebarSettings( editor );
container.addTab( 'scene', strings.getKey( 'sidebar/scene' ), scene );
container.addTab( 'project', strings.getKey( 'sidebar/project' ), project );
container.addTab( 'settings', strings.getKey( 'sidebar/settings' ), settings );
container.select( 'scene' );
const sidebarPropertiesResizeObserver = new ResizeObserver( function () {
sidebarProperties.tabsDiv.setWidth( getComputedStyle( container.dom ).width );
} );
sidebarPropertiesResizeObserver.observe( container.tabsDiv.dom );
return container;
}
export { Sidebar };