A data model implementation for in-memory delimiter-separated data.

This model handles data with up to 2**32 characters.

Hierarchy

  • DataModel
    • DSVModel

Implements

Constructors

Accessors

  • get changed(): ISignal<this, ChangedArgs>
  • A signal emitted when the data model has changed.

    Returns ISignal<this, ChangedArgs>

Methods

  • Get the column count for a region in the data model.

    Parameters

    • region: ColumnRegion

      The column region of interest.

    Returns number

    • The column count for the region.
  • Get the data value for a cell in the data model.

    Parameters

    • region: CellRegion

      The cell region of interest.

    • row: number

      The row index of the cell of interest.

    • column: number

      The column index of the cell of interest.

    Returns string

  • Emit the changed signal for the data model.

    Subclasses should call this method whenever the data model has changed so that attached data grids can update themselves.

    Parameters

    • args: ChangedArgs

    Returns void

  • Get the index in the data string for the first character of a row and column.

    Parameters

    • row: number

      The row of the data item.

    • column: number

      The column of the data item.

    Returns number

    • The index into the data string where the data item starts.
  • Get the merged cell group corresponding to a region and index number.

    Parameters

    • region: CellRegion

      the cell region of cell group.

    • groupIndex: number

      the group index of the cell group.

    Returns null | CellGroup

    a cell group.

  • Get the count of merged cell groups pertaining to a given cell region.

    Parameters

    • region: CellRegion

      the target cell region.

    Returns number

  • Get the metadata for a cell in the data model.

    Parameters

    • region: CellRegion

      The cell region of interest.

    • row: number

      The row index of the cell of interest.

    • column: number

      The column index of the cell of interest.

    Returns Metadata

    The metadata for the specified cell.

    The returned metadata should be treated as immutable.

    This method is called often, and so should be efficient.

    The default implementation returns {}.

  • Parse the data string asynchronously.

    It can take several seconds to parse a several hundred megabyte string, so we parse the first 500 rows to get something up on the screen, then we parse the full data string asynchronously.

    Returns void

  • Get the row count for a region in the data model.

    Parameters

    • region: RowRegion

      The row region of interest.

    Returns number

    • The row count for the region.