interface LayoutsState {
    autosave: LayoutAutosaveStatus;
    busy: boolean;
    catalog: null | WorkspaceCatalog;
    conflict: boolean;
    dirty: boolean;
    error: unknown;
    layoutId: null | string;
    revision: null | number;
    suspended: boolean;
}

Properties

busy: boolean

A layout operation (anything but an autosave) is queued or running.

catalog: null | WorkspaceCatalog

The newest catalog the controller has seen: its own copy, to read and not change. Null until the first load.

conflict: boolean

The held layout was changed or deleted in another session, or by another control on the page, since this controller last opened or saved it, and a write into it was refused or a reload found it so. save() and autosave are refused until overwrite(), saveAs() or open() settles it; a reload clears it only when it finds the layout as this controller left it.

dirty: boolean

The target differs from its layout. Checked when changes settle and by flush(); false with no layout.

error: unknown

Why the last operation or autosave failed; null after a success.

layoutId: null | string

The saved layout the target was opened from or last saved to; null for none.

revision: null | number

The revision the next write into the held layout is checked against; null until the first load. It trails catalog.revision while the held layout conflicts, so that write is refused rather than laid over a version nobody here has seen.

suspended: boolean

The target is suspended (LayoutTarget.suspended): autosave waits and open is refused. Since 2.5.10.