Sidebar.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { UITabbedPanel, UISpan } from './libs/ui.js';
  2. import { SidebarScene } from './Sidebar.Scene.js';
  3. import { SidebarProperties } from './Sidebar.Properties.js';
  4. import { SidebarProject } from './Sidebar.Project.js';
  5. import { SidebarSettings } from './Sidebar.Settings.js';
  6. function Sidebar( editor ) {
  7. const strings = editor.strings;
  8. const container = new UITabbedPanel();
  9. container.setId( 'sidebar' );
  10. const sidebarProperties = new SidebarProperties( editor );
  11. const scene = new UISpan().add(
  12. new SidebarScene( editor ),
  13. sidebarProperties
  14. );
  15. const project = new SidebarProject( editor );
  16. const settings = new SidebarSettings( editor );
  17. container.addTab( 'scene', strings.getKey( 'sidebar/scene' ), scene );
  18. container.addTab( 'project', strings.getKey( 'sidebar/project' ), project );
  19. container.addTab( 'settings', strings.getKey( 'sidebar/settings' ), settings );
  20. container.select( 'scene' );
  21. const sidebarPropertiesResizeObserver = new ResizeObserver( function () {
  22. sidebarProperties.tabsDiv.setWidth( getComputedStyle( container.dom ).width );
  23. } );
  24. sidebarPropertiesResizeObserver.observe( container.tabsDiv.dom );
  25. return container;
  26. }
  27. export { Sidebar };