@univerjs/sheets-ui v0.5.0-beta.1 • Docs
Class: BaseSelectionRenderService
The basic implementation of selection rendering logics. It is designed to be reused for different purposes.
Extends
Extended by
Implements
Constructors
new BaseSelectionRenderService()
new BaseSelectionRenderService(
_injector,
_themeService,
_shortcutService,
_sheetSkeletonManagerService): BaseSelectionRenderService
Parameters
Parameter | Type |
---|---|
_injector | Injector |
_themeService | ThemeService |
_shortcutService | IShortcutService |
_sheetSkeletonManagerService | SheetSkeletonManagerService |
Returns
Overrides
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:181
Properties
Property | Modifier | Type | Default value | Description | Inherited from | Defined in |
---|---|---|---|---|---|---|
_activeViewport | protected | Nullable <Viewport > | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:175 |
_disposed | protected | boolean | false | - | Disposable ._disposed | submodules/univer/packages/core/src/shared/lifecycle.ts:93 |
_escapeShortcutDisposable | protected | Nullable <IDisposable > | null | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:179 |
_highlightHeader | protected | boolean | true | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:140 |
_injector | readonly | Injector | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:182 |
_rangeType | protected | RANGE_TYPE | RANGE_TYPE.NORMAL | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:143 |
_remainLastEnabled | protected | boolean | false | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:151 |
_scene | protected | Scene | undefined | From renderContext. | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:137 |
_scenePointerMoveSub | protected | Nullable <Subscription > | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:96 |
_scenePointerUpSub | protected | Nullable <Subscription > | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:97 |
_scrollTimer | protected | ScrollTimer | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:127 |
_selectionControls | protected | SelectionShape [] | [] | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:104 |
_selectionMoveEnd$ | readonly | BehaviorSubject <ISelectionWithCoord []> | undefined | Mainly emit by pointerup (pointerup is handled in _onPointerdown) | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:159 |
_selectionMoveStart$ | readonly | Subject <ISelectionWithCoord []> | undefined | Mainly emit by pointerdown | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:167 |
_selectionMoving$ | readonly | Subject <ISelectionWithCoord []> | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:161 |
_selectionStyle | protected | ISelectionStyle | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:146 |
_sheetSkeletonManagerService | readonly | SheetSkeletonManagerService | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:186 |
_shortcutService | readonly | IShortcutService | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:185 |
_singleSelectionEnabled | protected | boolean | false | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:153 |
_skeleton | protected | SpreadsheetSkeleton | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:132 |
_skipLastEnabled | protected | boolean | false | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:152 |
_startRangeWhenPointerDown | protected | IRangeWithCoord | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:106 |
_startViewportPosX | protected | number | 0 | the posX of viewport when the pointer down | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:120 |
_startViewportPosY | protected | number | 0 | the posY of viewport when the pointer down | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:125 |
_themeService | readonly | ThemeService | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:183 |
controlFillConfig$ | readonly | Observable <null | IControlFillConfig > | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:102 |
interceptor | readonly | InterceptorManager <{ RANGE_FILL_PERMISSION_CHECK : IInterceptor <boolean , { scene : Scene ; skeleton : SpreadsheetSkeleton ; x : number ; y : number ; }>; RANGE_MOVE_PERMISSION_CHECK : IInterceptor <boolean , null >; }> | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:177 |
selectionMoveEnd$ | readonly | Observable <ISelectionWithCoord []> | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:160 |
selectionMoveStart$ | readonly | Observable <ISelectionWithCoord []> | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:168 |
selectionMoving$ | readonly | Observable <ISelectionWithCoord []> | undefined | - | - | submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:162 |
Accessors
selectionMoving
Get Signature
get selectionMoving(): boolean
Returns
boolean
Implementation of
ISheetSelectionRenderService
.selectionMoving
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:171
Methods
_addEndingListeners()
protected _addEndingListeners(): void
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:735
_addSelectionControlByModelData()
protected _addSelectionControlByModelData(selectionWithStyle): SelectionShape
Add a selection in spreadsheet, create a new SelectionControl and then update this control by range derives from selection.
Parameters
Parameter | Type |
---|---|
selectionWithStyle | ISelectionWithStyle |
Returns
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:333
_changeRuntime()
protected _changeRuntime(
skeleton,
scene,
viewport?): void
Parameters
Parameter | Type |
---|---|
skeleton | SpreadsheetSkeleton |
scene | Scene |
viewport ? | Viewport |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:293
_checkClearPreviousControls()
protected _checkClearPreviousControls(evt): void
Parameters
Parameter | Type |
---|---|
evt | IMouseEvent | IPointerEvent |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:831
_clearAllSelectionControls()
protected _clearAllSelectionControls(): void
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:343
_clearUpdatingListeners()
protected _clearUpdatingListeners(): void
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:720
_getFreeze()
protected _getFreeze(): Nullable<IFreeze>
Returns
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:352
_getSelectionWithCoordByOffset()
protected _getSelectionWithCoordByOffset(
offsetX,
offsetY,
scaleX,
scaleY,
scrollXY): Nullable<ISelectionWithCoord>
Get visible selection range & coord by offset on viewport. Nearly same as skeleton.getCellWithCoordByOffset Returning selection is only one cell. primary and range are same cell.
visible selection range means getCellWithCoordByOffset needs first matched row/col in rowHeightAccumulation & colWidthAccumulation. Original name: _getCellRangeByCursorPosition
Parameters
Parameter | Type | Description |
---|---|---|
offsetX | number | position X in viewport. |
offsetY | number | - |
scaleX | number | - |
scaleY | number | - |
scrollXY | object | - |
scrollXY.x | number | - |
scrollXY.y | number | - |
Returns
selection range with coord.
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:765
_getViewportByCell()
protected _getViewportByCell(row?, column?): Nullable<Viewport>
Parameters
Parameter | Type |
---|---|
row ? | number |
column ? | number |
Returns
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:357
_makeSelectionByTwoCells()
protected _makeSelectionByTwoCells(
currentCell,
startSelectionRange,
skeleton,
rangeType,
activeControl): void
Parameters
Parameter | Type |
---|---|
currentCell | ICellWithCoord |
startSelectionRange | IRangeWithCoord |
skeleton | SpreadsheetSkeleton |
rangeType | RANGE_TYPE |
activeControl | SelectionShape |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:844
_movingHandler()
protected _movingHandler(
offsetX,
offsetY,
activeSelectionControl,
rangeType): void
When mousedown and mouseup need to go to the coordination and undo stack, when mousemove does not need to go to the coordination and undo stack
Parameters
Parameter | Type |
---|---|
offsetX | number |
offsetY | number |
activeSelectionControl | Nullable <SelectionShape > |
rangeType | RANGE_TYPE |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:646
_reset()
protected _reset(): void
Clear existed selections by workbookSelections.selectionMoveEnd$
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:422
_resetSelectionStyle()
protected _resetSelectionStyle(): void
Reset this._selectionStyle to default normal selection style
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:217
_setSelectionStyle()
protected _setSelectionStyle(style): void
Parameters
Parameter | Type |
---|---|
style | ISelectionStyle |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:210
_setupPointerMoveListener()
protected _setupPointerMoveListener(
viewportMain,
activeSelectionControl,
rangeType,
scrollTimerType,
moveStartPosX,
moveStartPosY): void
Init pointer move listener in each pointer down, unbind in each pointer up. Both cell selections and row-column selections are supported by this method.
Parameters
Parameter | Type | Default value |
---|---|---|
viewportMain | Nullable <Viewport > | undefined |
activeSelectionControl | SelectionShape | undefined |
rangeType | RANGE_TYPE | undefined |
scrollTimerType | ScrollTimerType | ScrollTimerType.ALL |
moveStartPosX | number | undefined |
moveStartPosY | number | undefined |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:446
attachPrimaryWithCoord()
attachPrimaryWithCoord(primary): ICellWithCoord
Parameters
Parameter | Type |
---|---|
primary | ICellInfo |
Returns
Deprecated
Use the function attachPrimaryWithCoord
instead`.
Implementation of
ISheetSelectionRenderService
.attachPrimaryWithCoord
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:622
attachSelectionWithCoord()
attachSelectionWithCoord(selectionWithStyle): ISelectionWithCoord
Parameters
Parameter | Type |
---|---|
selectionWithStyle | ISelectionWithStyle |
Returns
Deprecated
Use the function attachSelectionWithCoord
instead`.
Implementation of
ISheetSelectionRenderService
.attachSelectionWithCoord
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:617
dispose()
dispose(): void
Returns
void
Implementation of
Inherited from
Defined in
submodules/univer/packages/core/src/shared/lifecycle.ts:106
disposeWithMe()
disposeWithMe(disposable): IDisposable
Parameters
Parameter | Type |
---|---|
disposable | DisposableLike |
Returns
Inherited from
Defined in
submodules/univer/packages/core/src/shared/lifecycle.ts:96
endSelection()
endSelection(): void
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:410
ensureNotDisposed()
protected ensureNotDisposed(): void
Returns
void
Inherited from
Defined in
submodules/univer/packages/core/src/shared/lifecycle.ts:100
getActiveRange()
getActiveRange(): Nullable<IRange>
Returns the selected range in the active sheet, or null if there is no active range. If multiple ranges are selected this method returns only the last selected range.
Returns
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:386
getActiveSelectionControl()
getActiveSelectionControl<T>(): Nullable<T>
get active(actually last) selection control
Type Parameters
Type Parameter | Default type |
---|---|
T extends SelectionShape | SelectionShape |
Returns
Nullable
<T
>
T extends SelectionControl
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:403
getCellWithCoordByOffset()
getCellWithCoordByOffset(x, y): ICellWithCoord
Parameters
Parameter | Type |
---|---|
x | number |
y | number |
Returns
Implementation of
ISheetSelectionRenderService
.getCellWithCoordByOffset
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:633
getSelectionCellByPosition()
getSelectionCellByPosition(x, y): ICellWithCoord
Parameters
Parameter | Type |
---|---|
x | number |
y | number |
Returns
Deprecated
Please use getCellWithCoordByOffset
instead.
Implementation of
ISheetSelectionRenderService
.getSelectionCellByPosition
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:629
getSelectionControls()
getSelectionControls(): SelectionShape[]
Returns
TODO
lumixraku DO NOT expose private props.
Implementation of
ISheetSelectionRenderService
.getSelectionControls
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:325
getSelectionDataWithStyle()
getSelectionDataWithStyle(): ISelectionWithCoord[]
Generate selectionData from this._selectionControls.model .
Returns
{range, primary, style}[]
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:311
getSkeleton()
getSkeleton(): SpreadsheetSkeleton
Returns
Implementation of
ISheetSelectionRenderService
.getSkeleton
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:303
getViewPort()
getViewPort(): Viewport
Returns
Deprecated
This should not be provided by the selection render service.
Implementation of
ISheetSelectionRenderService
.getViewPort
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:222
newSelectionControl()
newSelectionControl(
scene,
skeleton,
selection): SelectionShape
Parameters
Parameter | Type |
---|---|
scene | Scene |
skeleton | SpreadsheetSkeleton |
selection | ISelectionWithStyle |
Returns
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:230
refreshSelectionMoveEnd()
refreshSelectionMoveEnd(): void
Returns
void
Implementation of
ISheetSelectionRenderService
.refreshSelectionMoveEnd
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:289
refreshSelectionMoveStart()
refreshSelectionMoveStart(): void
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:285
resetSelectionsByModelData()
resetSelectionsByModelData(selectionsWithStyleList): void
Update the corresponding selectionControl based on selectionsData. selectionData[i] syncs selectionControls[i]
Parameters
Parameter | Type |
---|---|
selectionsWithStyleList | readonly ISelectionWithStyle [] |
Returns
void
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:262
setSingleSelectionEnabled()
setSingleSelectionEnabled(enabled): void
Parameters
Parameter | Type | Default value |
---|---|---|
enabled | boolean | false |
Returns
void
Implementation of
ISheetSelectionRenderService
.setSingleSelectionEnabled
Defined in
submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:226