Skip to content

SortModel

Defined in: api/node/typescript/models.ts:753

SortModel acts as an adapter model for a given source model by sorting all its rows according to the order given by compareFunction.

const source = new ArrayModel(["lorem", "ipsum", "dolor"]);
const sorted = new SortModel(source, (a, b) => a.localeCompare(b));
// prints dolor, ipsum, lorem
for (const x of sorted) {
console.log(x);
}
js

T

new SortModel<T>(sourceModel, compareFunction): SortModel<T>

Defined in: api/node/typescript/models.ts:770

Constructs a new SortModel that provides a sorted view on the given sourceModel by applying the order given by compareFunction.

Model<T>

the wrapped model.

(a, b) => number

compares two rows the same way the callback passed to Array.prototype.sort does.

SortModel<T>

Model<T>.constructor

readonly sourceModel: Model<T>

Defined in: api/node/typescript/models.ts:757

The source model that this SortModel sorts rows from.

[iterator](): Iterator<T>

Defined in: api/node/typescript/models.ts:232

Iterator<T>

Model.[iterator]


filter(filterFunction): FilterModel<T>

Defined in: api/node/typescript/models.ts:154

Returns a new Model that only contains the rows of this model for which filterFunction returns true.

(data) => boolean

returns true if a row should be visible.

FilterModel<T>

a new FilterModel that wraps the current model.

Model.filter


insertRow(_index, _data): void

Defined in: api/node/typescript/models.ts:226

Implementations of this function must add a row at the specified index, pushing all next rows to the right.

number

index of the row to insert.

T

new data item to store in a new row.

void

Model.insertRow


map<U>(mapFunction): MapModel<T, U>

Defined in: api/node/typescript/models.ts:144

Returns a new Model where all elements are mapped by the function mapFunction.

U

(data) => U

maps the data from T to U.

MapModel<T, U>

a new MapModel that wraps the current model.

Model.map


pushRow(_data): void

Defined in: api/node/typescript/models.ts:204

Implementations of this function must add a line to the model with the provided data.

T

new data item to store in a new row.

void

Model.pushRow


removeRow(_index): void

Defined in: api/node/typescript/models.ts:214

Implementations of this function must remove the row at the specified index.

number

index of the row to remove.

void

Model.removeRow


reset(): void

Defined in: api/node/typescript/models.ts:936

Re-applies the sort order on the rows of the source model. Use this if the compare function depends on state external to the source model and that state has changed.

void


reverse(): ReverseModel<T>

Defined in: api/node/typescript/models.ts:173

Returns a new Model with the same rows as this model, in reverse order.

ReverseModel<T>

a new ReverseModel that wraps the current model.

Model.reverse


rowCount(): number

Defined in: api/node/typescript/models.ts:898

Returns the number of entries in the sorted model.

number

Model.rowCount


rowData(row): T | undefined

Defined in: api/node/typescript/models.ts:907

Returns the data at the specified row.

number

index in range 0..(rowCount() - 1).

T | undefined

undefined if row is out of range otherwise the data.

Model.rowData


setRowData(row, data): void

Defined in: api/node/typescript/models.ts:923

Stores the given data in the source model at the row that corresponds to the given sorted row index. The source model’s own change notification is what drives re-evaluating the sort position for that row (see the class docs), so this simply forwards the write.

number

index in range 0..(rowCount() - 1).

T

new data item to store on the given row index.

void

Model.setRowData


sort(compareFunction): SortModel<T>

Defined in: api/node/typescript/models.ts:165

Returns a new Model with the same rows as this model, ordered according to compareFunction.

(a, b) => number

compares two rows the same way the callback passed to Array.prototype.sort does.

SortModel<T>

a new SortModel that wraps the current model.

Model.sort


unsortedRow(sortedRow): number | undefined

Defined in: api/node/typescript/models.ts:947

Given a sortedRow index into this SortModel, returns the corresponding row index in the source model.

number

index in range 0..(rowCount() - 1).

number | undefined

undefined if sortedRow is out of range otherwise the source row index.


© 2026 SixtyFPS GmbH