SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Everything the fill menu — the right-drag of the fill handle — needs to offer and run a fill.

    The drag has already decided what is read, what is covered and which way, so unlike FillSeries nothing here is asked per direction. The menu is presentation: it lists the entries it wants in the order it wants, greys those not in offered, and calls back.

    interface FillMenu {
        cancel: () => void;
        destination: ICellRange;
        direction: Direction;
        fill: (options: FillMenuOptions) => Promise<void>;
        offered: readonly string[];
        series: () => void;
        template: ICellRange;
    }
    Index
    cancel: () => void

    The menu closed without choosing — the drag is over and nothing is filled.

    The grid keeps the drag's dashed preview up while a choice is pending, since it shows which cells the menu is about; this is what lets it go. A no-op once fill or series was called — those settle the drag themselves, the dialog included — so a menu can call it from every close path without caring which one it was.

    destination: ICellRange

    The cells the fill covers, the template included — where the handle was released.

    direction: Direction

    Which way the drag went.

    fill: (options: FillMenuOptions) => Promise<void>

    Run the chosen fill and select the destination, as a left-drag would. A refused fill (a merge the destination cannot hold) is reported, not thrown.

    offered: readonly string[]

    The IAutoFill.Preset.ids that can be offered for the template, in registry order — see IAutoFill.DefaultCriteria.offered. Empty for a template with nothing in it.

    series: () => void

    Open the Series dialog on the drag's template, destination and direction.

    template: ICellRange

    The cells the fill reads — the selection the handle was dragged from.