Selection
| Packages | @univerjs/sheets |
|---|
Represents the active selection in the sheet.
This class should not be instantiated directly. Use factory methods on
univerAPIinstead.
Overview
@univerjs/sheets
| Method | Description |
|---|---|
getActiveRange | Represents the active selection in the sheet |
getActiveRangeList | Represents the active selection list in the sheet |
getActiveSheet | Returns the active sheet in the spreadsheet |
getCurrentCell | Represents the current select cell in the sheet |
getNextDataRange | Get the next primary cell in the specified direction |
updatePrimaryCell | Update the primary cell in the selection |
APIs
Getters & Queries
getActiveRange
Represents the active selection in the sheet. Which means the selection contains the active cell.
Signature
getActiveRange(): FRange | nullReturns
FRange— The active selection.
Examples
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
const fRange = fWorksheet.getRange('A10:B11');
fRange.activate();
const fSelection = fWorksheet.getSelection();
console.log(fSelection.getActiveRange().getA1Notation()); // A10:B11@univerjs/sheets
getActiveRangeList
Represents the active selection list in the sheet.
Signature
getActiveRangeList(): FRange[]Returns
FRange[]— The active selection list.
Examples
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
const fSelection = fWorksheet.getSelection();
const activeRangeList = fSelection.getActiveRangeList();
activeRangeList.forEach((range) => {
console.log(range.getA1Notation());
});@univerjs/sheets
getActiveSheet
Returns the active sheet in the spreadsheet.
Signature
getActiveSheet(): FWorksheetReturns
FWorksheet— The active sheet in the spreadsheet.
Examples
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
const fSelection = fWorksheet.getSelection();
const activeSheet = fSelection.getActiveSheet();
console.log(activeSheet.equalTo(fWorksheet)); // true@univerjs/sheets
getCurrentCell
Represents the current select cell in the sheet.
Signature
getCurrentCell(): Nullable<ISelectionCell>Returns
Nullable<ISelectionCell>— The current select cell info.Pay attention to the type of the return value.
Examples
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
const fRange = fWorksheet.getRange('A10:B11');
fRange.activate();
const fSelection = fWorksheet.getSelection();
const currentCell = fSelection.getCurrentCell();
const { actualRow, actualColumn } = currentCell;
console.log(currentCell);
console.log(`actualRow: ${actualRow}, actualColumn: ${actualColumn}`); // actualRow: 9, actualColumn: 0@univerjs/sheets
getNextDataRange
Get the next primary cell in the specified direction. If the primary cell not exists in selections, return null. The next primary cell in the specified direction is the next cell only within the current selection range. For example, if the current selection is A1:B2, and the primary cell is B1, the next cell in the right direction is A2 instead of C1.
Signature
getNextDataRange(direction: Direction): FRange | nullParameters
directionDirection— No description
Returns
FRange— The next primary cell in the specified direction.
Examples
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
// make sure the active cell is A1 and selection is A1:B2
const fRange = fWorksheet.getRange('A1:B2');
fRange.activate();
// get the next cell in the right direction, and update the primary cell to the next cell, now the active cell is B1
let fSelection = fWorksheet.getSelection();
const nextCell = fSelection.getNextDataRange(univerAPI.Enum.Direction.RIGHT);
console.log(nextCell?.getA1Notation()); // B1
fSelection = fSelection.updatePrimaryCell(nextCell);
// get the next cell in the right direction, the next cell is A2
const nextCell2 = fSelection.getNextDataRange(univerAPI.Enum.Direction.RIGHT);
console.log(nextCell2?.getA1Notation()); // A2@univerjs/sheets
Setters & Modifiers
updatePrimaryCell
Update the primary cell in the selection. if the primary cell not exists in selections, add it to the selections and clear the old selections.
Signature
updatePrimaryCell(cell: FRange): FSelectionParameters
cellFRange— No description
Returns
FSelection— The new selection after updating the primary cell.Because the selection is immutable, the return value is a new selection.
Examples
const fWorkbook = univerAPI.getActiveWorkbook();
const fWorksheet = fWorkbook.getActiveSheet();
const fRange = fWorksheet.getRange('A10:B11');
fRange.activate();
const cell = fWorksheet.getRange('B11');
let fSelection = fWorksheet.getSelection();
fSelection = fSelection.updatePrimaryCell(cell);
const currentCell = fSelection.getCurrentCell();
const { actualRow, actualColumn } = currentCell;
console.log(currentCell);
console.log(`actualRow: ${actualRow}, actualColumn: ${actualColumn}`); // actualRow: 10, actualColumn: 1@univerjs/sheets