@@ -10,6 +10,9 @@ import { CellPosition, ParseFormulaReturnType, Span } from '../../../helpers/for
10
10
import { DASHED } from '../../dashedTextures' ;
11
11
import { drawDashedRectangle , drawDashedRectangleMarching } from './cellHighlightsDraw' ;
12
12
13
+ // TODO: these files need to be cleaned up and properly typed. Lots of untyped
14
+ // data passed around within the data.
15
+
13
16
export interface HighlightedCellRange {
14
17
column : number ;
15
18
row : number ;
@@ -134,7 +137,13 @@ export class CellHighlights extends Container {
134
137
}
135
138
136
139
private getSheet ( cellSheet : string | undefined , sheetId : string ) : string {
137
- return ( cellSheet ? sheets . getSheetByName ( cellSheet ) ?. id : sheetId ) ?? sheetId ;
140
+ if ( ! cellSheet ) return sheetId ;
141
+
142
+ // It may come in as either a sheet id or a sheet name.
143
+ if ( sheets . getById ( cellSheet ) ) {
144
+ return cellSheet ;
145
+ }
146
+ return sheets . getSheetByName ( cellSheet ) ?. id ?? sheetId ;
138
147
}
139
148
140
149
public evalCoord ( cell : { type : 'Relative' | 'Absolute' ; coord : number } , origin : number ) {
@@ -145,7 +154,7 @@ export class CellHighlights extends Container {
145
154
}
146
155
147
156
private fromCellRange (
148
- cellRange : { type : 'CellRange' ; start : CellPosition ; end : CellPosition } ,
157
+ cellRange : { type : 'CellRange' ; start : CellPosition ; end : CellPosition ; sheet ?: string } ,
149
158
origin : Coordinate ,
150
159
sheet : string ,
151
160
span : Span ,
@@ -155,13 +164,12 @@ export class CellHighlights extends Container {
155
164
const startY = this . evalCoord ( cellRange . start . y , origin . y ) ;
156
165
const endX = this . evalCoord ( cellRange . end . x , origin . x ) ;
157
166
const endY = this . evalCoord ( cellRange . end . y , origin . y ) ;
158
-
159
167
this . highlightedCells . push ( {
160
168
column : startX ,
161
169
row : startY ,
162
170
width : endX - startX ,
163
171
height : endY - startY ,
164
- sheet : this . getSheet ( cellRange . start . sheet , sheet ) ,
172
+ sheet : this . getSheet ( cellRange . sheet ?? cellRange . start . sheet , sheet ) ,
165
173
span,
166
174
index,
167
175
} ) ;
0 commit comments