UNPKG

@deephaven/golden-layout

Version:

A multi-screen javascript Layout manager

150 lines 4.83 kB
import type { ItemConfig } from './ItemConfig'; export type Config = { settings: Partial<Settings>; dimensions: Dimensions; labels: Labels; content: ItemConfig[]; maximisedItemId?: string; openPopouts?: PopoutConfig[]; }; export type PopoutConfig = Config & { parentId: string; indexInParent: number; dimensions: Dimensions & { width: number; height: number; left: number; top: number; }; }; export interface Settings { /** * Turns headers on or off. If false, the layout will be displayed with splitters only. * Default: true */ hasHeaders: boolean; /** * Constrains the area in which items can be dragged to the layout's container. Will be set to false * automatically when layout.createDragSource() is called. * Default: true */ constrainDragToContainer: boolean; /** * If true, the user can re-arrange the layout by dragging items by their tabs to the desired location. * Default: true */ reorderEnabled: boolean; /** * If true, the user can select items by clicking on their header. This sets the value of layout.selectedItem to * the clicked item, highlights its header and the layout emits a 'selectionChanged' event. * Default: false */ selectionEnabled: boolean; /** * Decides what will be opened in a new window if the user clicks the popout icon. If true the entire stack will * be transferred to the new window, if false only the active component will be opened. * Default: false */ popoutWholeStack: boolean; /** * Specifies if an error is thrown when a popout is blocked by the browser (e.g. by opening it programmatically). * If false, the popout call will fail silently. * Default: true */ blockedPopoutsThrowError: boolean; /** * Specifies if all popouts should be closed when the page that created them is closed. Popouts don't have a * strong dependency on their parent and can exist on their own, but can be quite annoying to close by hand. In * addition, any changes made to popouts won't be stored after the parent is closed. * Default: true */ closePopoutsOnUnload: boolean; /** * Specifies if the popout icon should be displayed in the header-bar. * Default: true */ showPopoutIcon: boolean; /** * Specifies if the maximise icon should be displayed in the header-bar. * Default: true */ showMaximiseIcon: boolean; /** * Specifies if the close icon should be displayed in the header-bar. * Default: true */ showCloseIcon: boolean; responsiveMode: 'onload' | 'always' | 'none'; /** * Maximum pixel overlap per tab */ tabOverlapAllowance: number; tabControlOffset: number; /** * The default config to apply to Components */ defaultComponentConfig: Partial<Omit<ItemConfig, 'type'>>; } export interface Dimensions { /** * The width of the borders between the layout items in pixel. Please note: The actual draggable area is wider * than the visible one, making it safe to set this to small values without affecting usability. * Default: 5 */ borderWidth: number; borderGrabWidth: number; /** * The minimum height an item can be resized to (in pixel). * Default: 10 */ minItemHeight: number; /** * The minimum width an item can be resized to (in pixel). * Default: 10 */ minItemWidth: number; /** * The height of the header elements in pixel. This can be changed, but your theme's header css needs to be * adjusted accordingly. * Default: 20 */ headerHeight: number; /** * The width of the element that appears when an item is dragged (in pixel). * Default: 300 */ dragProxyWidth: number; /** * The height of the element that appears when an item is dragged (in pixel). * Default: 200 */ dragProxyHeight: number; } export interface Labels { /** * The tooltip text that appears when hovering over the close icon. * Default: 'close' */ close: string; /** * The tooltip text that appears when hovering over the maximise icon. * Default: 'maximise' */ maximise: string; /** * The tooltip text that appears when hovering over the minimise icon. * Default: 'minimise' */ minimise: string; /** * The tooltip text that appears when hovering over the popout icon. * Default: 'open in new window' */ popout: string; tabDropdown: string; tabNextLabel: string; tabPreviousLabel: string; popin: string; } export declare const defaultConfig: Config; //# sourceMappingURL=Config.d.ts.map