@univerjssheets-uiindexclassesBaseselectionrenderservice

@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

ParameterType
_injectorInjector
_themeServiceThemeService
_shortcutServiceIShortcutService
_sheetSkeletonManagerServiceSheetSkeletonManagerService

Returns

BaseSelectionRenderService

Overrides

Disposable.constructor

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:181

Properties

PropertyModifierTypeDefault valueDescriptionInherited fromDefined in
_activeViewportprotectedNullable<Viewport>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:175
_disposedprotectedbooleanfalse-Disposable._disposedsubmodules/univer/packages/core/src/shared/lifecycle.ts:93
_escapeShortcutDisposableprotectedNullable<IDisposable>null--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:179
_highlightHeaderprotectedbooleantrue--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:140
_injectorreadonlyInjectorundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:182
_rangeTypeprotectedRANGE_TYPERANGE_TYPE.NORMAL--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:143
_remainLastEnabledprotectedbooleanfalse--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:151
_sceneprotectedSceneundefinedFrom renderContext.-submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:137
_scenePointerMoveSubprotectedNullable<Subscription>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:96
_scenePointerUpSubprotectedNullable<Subscription>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:97
_scrollTimerprotectedScrollTimerundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:127
_selectionControlsprotectedSelectionShape[][]--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:104
_selectionMoveEnd$readonlyBehaviorSubject<ISelectionWithCoord[]>undefinedMainly emit by pointerup (pointerup is handled in _onPointerdown)-submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:159
_selectionMoveStart$readonlySubject<ISelectionWithCoord[]>undefinedMainly emit by pointerdown-submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:167
_selectionMoving$readonlySubject<ISelectionWithCoord[]>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:161
_selectionStyleprotectedISelectionStyleundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:146
_sheetSkeletonManagerServicereadonlySheetSkeletonManagerServiceundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:186
_shortcutServicereadonlyIShortcutServiceundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:185
_singleSelectionEnabledprotectedbooleanfalse--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:153
_skeletonprotectedSpreadsheetSkeletonundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:132
_skipLastEnabledprotectedbooleanfalse--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:152
_startRangeWhenPointerDownprotectedIRangeWithCoordundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:106
_startViewportPosXprotectednumber0the posX of viewport when the pointer down-submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:120
_startViewportPosYprotectednumber0the posY of viewport when the pointer down-submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:125
_themeServicereadonlyThemeServiceundefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:183
controlFillConfig$readonlyObservable<null | IControlFillConfig>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:102
interceptorreadonlyInterceptorManager<{ 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$readonlyObservable<ISelectionWithCoord[]>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:160
selectionMoveStart$readonlyObservable<ISelectionWithCoord[]>undefined--submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:168
selectionMoving$readonlyObservable<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

ParameterType
selectionWithStyleISelectionWithStyle

Returns

SelectionShape

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:333


_changeRuntime()

protected _changeRuntime(
   skeleton, 
   scene, 
   viewport?): void

Parameters

ParameterType
skeletonSpreadsheetSkeleton
sceneScene
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

ParameterType
evtIMouseEvent | 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

Nullable<IFreeze>

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

ParameterTypeDescription
offsetXnumberposition X in viewport.
offsetYnumber-
scaleXnumber-
scaleYnumber-
scrollXYobject-
scrollXY.xnumber-
scrollXY.ynumber-

Returns

Nullable<ISelectionWithCoord>

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

ParameterType
row?number
column?number

Returns

Nullable<Viewport>

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

ParameterType
currentCellICellWithCoord
startSelectionRangeIRangeWithCoord
skeletonSpreadsheetSkeleton
rangeTypeRANGE_TYPE
activeControlSelectionShape

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

ParameterType
offsetXnumber
offsetYnumber
activeSelectionControlNullable<SelectionShape>
rangeTypeRANGE_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

ParameterType
styleISelectionStyle

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

ParameterTypeDefault value
viewportMainNullable<Viewport>undefined
activeSelectionControlSelectionShapeundefined
rangeTypeRANGE_TYPEundefined
scrollTimerTypeScrollTimerTypeScrollTimerType.ALL
moveStartPosXnumberundefined
moveStartPosYnumberundefined

Returns

void

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:446


attachPrimaryWithCoord()

attachPrimaryWithCoord(primary): ICellWithCoord

Parameters

ParameterType
primaryICellInfo

Returns

ICellWithCoord

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

ParameterType
selectionWithStyleISelectionWithStyle

Returns

ISelectionWithCoord

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

IRenderModule.dispose

Inherited from

Disposable.dispose

Defined in

submodules/univer/packages/core/src/shared/lifecycle.ts:106


disposeWithMe()

disposeWithMe(disposable): IDisposable

Parameters

ParameterType
disposableDisposableLike

Returns

IDisposable

Inherited from

Disposable.disposeWithMe

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

Disposable.ensureNotDisposed

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

Nullable<IRange>

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 ParameterDefault type
T extends SelectionShapeSelectionShape

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

ParameterType
xnumber
ynumber

Returns

ICellWithCoord

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

ParameterType
xnumber
ynumber

Returns

ICellWithCoord

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

SelectionShape[]

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

ISelectionWithCoord[]

{range, primary, style}[]

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:311


getSkeleton()

getSkeleton(): SpreadsheetSkeleton

Returns

SpreadsheetSkeleton

Implementation of

ISheetSelectionRenderService.getSkeleton

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:303


getViewPort()

getViewPort(): Viewport

Returns

Viewport

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

ParameterType
sceneScene
skeletonSpreadsheetSkeleton
selectionISelectionWithStyle

Returns

SelectionShape

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

ParameterType
selectionsWithStyleListreadonly ISelectionWithStyle[]

Returns

void

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:262


setSingleSelectionEnabled()

setSingleSelectionEnabled(enabled): void

Parameters

ParameterTypeDefault value
enabledbooleanfalse

Returns

void

Implementation of

ISheetSelectionRenderService.setSingleSelectionEnabled

Defined in

submodules/univer/packages/sheets-ui/src/services/selection/base-selection-render.service.ts:226