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
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 };
|