A view zone is a full horizontal rectangle that 'pushes' text down. The editor reserves space for view zones when rendering.

interface IViewZone {
    afterColumn?: number;
    afterColumnAffinity?: PositionAffinity;
    afterLineNumber: number;
    domNode: HTMLElement;
    heightInLines?: number;
    heightInPx?: number;
    marginDomNode?: HTMLElement;
    minWidthInPx?: number;
    onComputedHeight?: ((height) => void);
    onDomNodeTop?: ((top) => void);
    ordinal?: number;
    showInHiddenAreas?: boolean;
    suppressMouseDown?: boolean;
}

Properties

afterColumn?: number

The column after which this zone should appear. If not set, the maxLineColumn of afterLineNumber will be used. This is relevant for wrapped lines.

afterColumnAffinity?: PositionAffinity

If the afterColumn has multiple view columns, the affinity specifies which one to use. Defaults to none.

afterLineNumber: number

The line number after which this zone should appear. Use 0 to place a view zone before the first line number.

domNode: HTMLElement

The dom node of the view zone

heightInLines?: number

The height in lines of the view zone. If specified, heightInPx will be used instead of this. If neither heightInPx nor heightInLines is specified, a default of heightInLines = 1 will be chosen.

heightInPx?: number

The height in px of the view zone. If this is set, the editor will give preference to it rather than heightInLines above. If neither heightInPx nor heightInLines is specified, a default of heightInLines = 1 will be chosen.

marginDomNode?: HTMLElement

An optional dom node for the view zone that will be placed in the margin area.

minWidthInPx?: number

The minimum width in px of the view zone. If this is set, the editor will ensure that the scroll width is >= than this value.

onComputedHeight?: ((height) => void)

Callback which gives the height in pixels of the view zone.

Type declaration

    • (height): void
    • Parameters

      • height: number

      Returns void

onDomNodeTop?: ((top) => void)

Callback which gives the relative top of the view zone as it appears (taking scrolling into account).

Type declaration

    • (top): void
    • Parameters

      • top: number

      Returns void

ordinal?: number

Tiebreaker that is used when multiple view zones want to be after the same line. Defaults to afterColumn otherwise 10000;

showInHiddenAreas?: boolean

Render the zone even when its line is hidden.

suppressMouseDown?: boolean

Suppress mouse down events. If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it. Defaults to false