index: number;
}
interface SelectionEvent {
selectedRows: RowArgs[];
deselectedRows: RowArgs[];
ctrlKey: boolean;
shiftKey?: boolean;
index?: number;
selected?: boolean;
}
interface UserSelectionEvent {
deselected: ReadonlyArray<number>;
selected: ReadonlyArray<number>;
}
function mapRowsToIds(rows: RowArgs[]): number[] {
return rows.map((row) => row.dataItem.id);
}
function convertSelectionEventToUserSelectionEvent(
selectionEvent: SelectionEvent,
): UserSelectionEvent {
return {
deselected: mapRowsToIds(selectionEvent.deselectedRows),
selected: mapRowsToIds(selectionEvent.selectedRows),
};
}
Длинные названия очень тяжело читать. Если подобный эвент только один, то я бы посмотрел в сторону использования класса с полиморфным конструктором. И все будет ок, так как по сути эти две сущности связаны между собой — одно мапим в другое.
Обсуждают сегодня