SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...
    interface Events {
        onClose?(source: INamedCollection): void;
        onCollectionChange?(source: INamedCollection): void;
        onInvalidated?(source: INamedCollection): void;
    }
    Index
    • Called when the names this collection holds, or the regions they designate, change.

      Parameters

      Returns void

      Not a per-item change event: editing a name's comment or hiding it does not surface here, and a consumer wanting that listens to the item.

      What a name refers to does surface, though — it is part of what the collection holds, and a consumer asking "what is this region called?" (INamedCollection.getByRanges) has nowhere else to hear about it. It cannot subscribe to an item it does not yet hold, and defining a name is two steps: it is added, and then bound to a region. Both are announced, as are a redefinition and an undo that moves one. So this can fire more than once for a single definition, and a listener that re-reads the collection is the intended response.

    • Called when an undo or a redo has moved what this collection presents, and a consumer holding it needs to re-read.

      Parameters

      Returns void

      Separate from onCollectionChange because a restore is not a write, and some listeners treat the two very differently: the calculation engine recalculates on a change, and firing that for a restore would recalculate a second time on top of the one the restore already did. A consumer rendering a LIST wants both, and subscribes to both.

      A derived name is what makes this necessary. A table's name is read back off the table rather than stored here, so an undo of a rename moves no state of this collection's and a change-only listener hears nothing.