A React component that hosts a multi-tabbed layout

Hierarchy

Properties

context: unknown

If using the new style context, re-declare this in your class to be the React.ContextType of your static contextType. Should be used with type annotation or static contextType.

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>

React Docs

props: Readonly<ILayoutProps>
refs: {
    [key: string]: ReactInstance;
}

Legacy React Docs

state: Readonly<{}>
contextType?: Context<any>

If set, this.context will be set at runtime to the current value of the given Context.

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}

https://react.dev/reference/react/Component#static-contexttype

Methods

  • Adds a new tab to the active tabset (if there is one)

    Parameters

    Returns undefined | TabNode

    the added tab node or undefined

  • Adds a new tab to the given tabset

    Parameters

    • tabsetId: string

      the id of the tabset where the new tab will be added

    • json: IJsonTabNode

      the json for the new tab node

    Returns undefined | TabNode

    the added tab node or undefined

  • Adds a new tab by dragging an item to the drop location, must be called from within an HTML drag start handler. You can use the setDragComponent() method to set the drag image before calling this method.

    Parameters

    • event: DragEvent

      the drag start event

    • json: IJsonTabNode

      the json for the new tab node

    • OptionalonDrop: ((node?: Node, event?: DragEvent<HTMLElement>) => void)

      a callback to call when the drag is complete

        • (node?, event?): void
        • Parameters

          • Optionalnode: Node
          • Optionalevent: DragEvent<HTMLElement>

          Returns void

    Returns void

  • Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.

    Parameters

    • error: Error
    • errorInfo: ErrorInfo

    Returns void

  • Called immediately after a component is mounted. Setting state here will trigger re-rendering.

    Returns void

  • Called immediately after updating occurs. Not called for the initial render.

    The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

    Parameters

    • prevProps: Readonly<ILayoutProps>
    • prevState: Readonly<{}>
    • Optionalsnapshot: any

    Returns void

  • Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

    Returns void

  • Parameters

    • Optionalcallback: (() => void)
        • (): void
        • Returns void

    Returns void

  • Get the root div element of the layout

    Returns null | HTMLDivElement

  • Runs before React applies the result of Component.render render to the document, and returns an object to be given to componentDidUpdate. Useful for saving things such as scroll position before Component.render render causes changes to it.

    Note: the presence of this method prevents any of the deprecated lifecycle events from running.

    Parameters

    Returns any

  • Move a tab/tabset using drag and drop, must be called from within an HTML drag start handler

    Parameters

    • event: DragEvent

      the drag start event

    • node: TabSetNode | TabNode

      the tab or tabset to drag

    Returns void

  • re-render the layout

    Returns void

  • Sets the drag image from a react component for a drag event

    Parameters

    • event: DragEvent

      the drag event

    • component: ReactNode

      the react component to be used for the drag image

    • x: number

      the x position of the drag cursor on the image

    • y: number

      the x position of the drag cursor on the image

    Returns void

  • Type Parameters

    • K extends never

    Parameters

    • state:
          | null
          | {}
          | ((prevState: Readonly<{}>, props: Readonly<ILayoutProps>) => null | {} | Pick<{}, K>)
          | Pick<{}, K>
    • Optionalcallback: (() => void)
        • (): void
        • Returns void

    Returns void

  • Called to determine whether the change in props and state should trigger a re-render.

    Component always returns true. PureComponent implements a shallow comparison on props and state and returns true if any props or states have changed.

    If false is returned, Component.render, componentWillUpdate and componentDidUpdate will not be called.

    Parameters

    • nextProps: Readonly<ILayoutProps>
    • nextState: Readonly<{}>
    • nextContext: any

    Returns boolean