API Reference
@univerjs
@univerjs/sheets-ui
classes
Baseselectionrenderservice

@univerjs/sheets-ui v0.4.2Docs


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

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:175 (opens in a new tab)

Properties

PropertyModifierTypeDefault valueDescriptionInherited fromDefined in
_activeViewportprotectedNullable<Viewport>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:169 (opens in a new tab)
_disposedprotectedbooleanfalse-Disposable._disposedpackages/core/src/shared/lifecycle.ts:93 (opens in a new tab)
_injectorreadonlyInjectorundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:176 (opens in a new tab)
_isHeaderHighlightprotectedbooleantrue--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:134 (opens in a new tab)
_remainLastEnabledprotectedbooleanfalse--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:145 (opens in a new tab)
_sceneprotectedSceneundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:131 (opens in a new tab)
_scenePointerMoveSubprotectedNullable<Subscription>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:94 (opens in a new tab)
_scenePointerUpSubprotectedNullable<Subscription>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:95 (opens in a new tab)
_scrollTimerprotectedScrollTimerundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:125 (opens in a new tab)
_selectionControlsprotectedSelectionShape[][]--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:102 (opens in a new tab)
_selectionMoveEnd$readonlyBehaviorSubject<ISelectionWithCoordAndStyle[]>undefinedMainly emit by pointerup (pointerup is handled in _onPointerdown)-packages/sheets-ui/src/services/selection/base-selection-render.service.ts:153 (opens in a new tab)
_selectionMoveStart$readonlySubject<ISelectionWithCoordAndStyle[]>undefinedMainly emit by pointerdown-packages/sheets-ui/src/services/selection/base-selection-render.service.ts:161 (opens in a new tab)
_selectionMoving$readonlySubject<ISelectionWithCoordAndStyle[]>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:155 (opens in a new tab)
_selectionStyleprotectedISelectionStyleundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:140 (opens in a new tab)
_sheetSkeletonManagerServicereadonlySheetSkeletonManagerServiceundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:180 (opens in a new tab)
_shortcutServicereadonlyIShortcutServiceundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:179 (opens in a new tab)
_shouldDetectMergedCellsprotectedbooleantrue--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:137 (opens in a new tab)
_singleSelectionEnabledprotectedbooleanfalse--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:147 (opens in a new tab)
_skeletonprotectedSpreadsheetSkeletonundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:130 (opens in a new tab)
_skipLastEnabledprotectedbooleanfalse--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:146 (opens in a new tab)
_startRangeWhenPointerDownprotectedIRangeWithCoordundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:104 (opens in a new tab)
_startViewportPosXprotectednumber0the posX of viewport when the pointer down-packages/sheets-ui/src/services/selection/base-selection-render.service.ts:118 (opens in a new tab)
_startViewportPosYprotectednumber0the posY of viewport when the pointer down-packages/sheets-ui/src/services/selection/base-selection-render.service.ts:123 (opens in a new tab)
_themeServicereadonlyThemeServiceundefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:177 (opens in a new tab)
controlFillConfig$readonlyObservable<null | IControlFillConfig>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:100 (opens in a new tab)
interceptorreadonlyInterceptorManager<{ RANGE_FILL_PERMISSION_CHECK: IInterceptor<boolean, { scene: Scene; skeleton: SpreadsheetSkeleton; x: number; y: number; }>; RANGE_MOVE_PERMISSION_CHECK: IInterceptor<boolean, null>; }>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:171 (opens in a new tab)
selectionMoveEnd$readonlyObservable<ISelectionWithCoordAndStyle[]>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:154 (opens in a new tab)
selectionMoveStart$readonlyObservable<ISelectionWithCoordAndStyle[]>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:162 (opens in a new tab)
selectionMoving$readonlyObservable<ISelectionWithCoordAndStyle[]>undefined--packages/sheets-ui/src/services/selection/base-selection-render.service.ts:156 (opens in a new tab)

Accessors

selectionMoving

get selectionMoving(): boolean

Returns

boolean

Implementation of

ISheetSelectionRenderService.selectionMoving

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:165 (opens in a new tab)

Methods

_addEndingListeners()

protected _addEndingListeners(): void

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:888 (opens in a new tab)


_addSelectionControlBySelectionData()

protected _addSelectionControlBySelectionData(selection): void

Add a selection in spreadsheet, create a new SelectionControl and then update this control by range derives from selection.

Parameters

ParameterType
selectionISelectionWithCoordAndStyle

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:221 (opens in a new tab)


_changeRuntime()

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

Parameters

ParameterType
skeletonSpreadsheetSkeleton
sceneScene
viewport?Viewport

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:299 (opens in a new tab)


_checkClearPreviousControls()

protected _checkClearPreviousControls(evt): void

Parameters

ParameterType
evtIMouseEvent | IPointerEvent

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:976 (opens in a new tab)


_clearSelectionControls()

protected _clearSelectionControls(): void

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:332 (opens in a new tab)


_clearUpdatingListeners()

protected _clearUpdatingListeners(): void

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:873 (opens in a new tab)


_getCellRangeByCursorPosition()

protected _getCellRangeByCursorPosition(
   offsetX, 
   offsetY, 
   scaleX, 
   scaleY, 
scrollXY): Nullable<ISelectionWithCoord>

Parameters

ParameterType
offsetXnumber
offsetYnumber
scaleXnumber
scaleYnumber
scrollXYobject
scrollXY.xnumber
scrollXY.ynumber

Returns

Nullable<ISelectionWithCoord>

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:904 (opens in a new tab)


_getFreeze()

protected _getFreeze(): Nullable<IFreeze>

Returns

Nullable<IFreeze>

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:341 (opens in a new tab)


_getViewportByCell()

protected _getViewportByCell(row?, column?): Nullable<Viewport>

Parameters

ParameterType
row?number
column?number

Returns

Nullable<Viewport>

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:346 (opens in a new tab)


_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

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:768 (opens in a new tab)


_onPointerDown()

protected _onPointerDown(
   evt, 
   _zIndex, 
   rangeType, 
   viewport, 
   scrollTimerType): void

Handle pointer down event, then trigger selectionMoveStart$.

Parameters

ParameterTypeDefault value
evtIMouseEvent | IPointerEventundefined
_zIndexnumber0
rangeTypeRANGE_TYPERANGE_TYPE.NORMAL
viewportNullable<Viewport>undefined
scrollTimerTypeScrollTimerTypeScrollTimerType.ALL

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:433 (opens in a new tab)


_refreshSelectionControl()

protected _refreshSelectionControl(selectionsData): void

Reset all this.selectionControls by selectionsData.

Parameters

ParameterType
selectionsDatareadonly ISelectionWithStyle[]

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:1052 (opens in a new tab)


_reset()

protected _reset(): void

Clear existed selections.

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:411 (opens in a new tab)


_resetSelectionStyle()

protected _resetSelectionStyle(): void

Reset this._selectionStyle to default normal selection style

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:204 (opens in a new tab)


_setSelectionStyle()

protected _setSelectionStyle(style): void

Parameters

ParameterType
styleISelectionStyle

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:197 (opens in a new tab)


_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

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:570 (opens in a new tab)


_updateSelectionControlByRange()

protected _updateSelectionControlByRange(
   control, 
   newSelectionRange, 
   highlight): void

Update the selection control by range.

Parameters

ParameterType
controlSelectionShape
newSelectionRangeIRangeWithCoord
highlightNullable<ISelectionCellWithMergeInfo>

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:863 (opens in a new tab)


attachPrimaryWithCoord()

attachPrimaryWithCoord(primary): ISelectionCellWithMergeInfo

Parameters

ParameterType
primaryISelectionCell

Returns

ISelectionCellWithMergeInfo

Deprecated

Use the function attachPrimaryWithCoord instead`.

Implementation of

ISheetSelectionRenderService.attachPrimaryWithCoord

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:745 (opens in a new tab)


attachSelectionWithCoord()

attachSelectionWithCoord(selectionWithStyle): ISelectionWithCoordAndStyle

Parameters

ParameterType
selectionWithStyleISelectionWithStyle

Returns

ISelectionWithCoordAndStyle

Deprecated

Use the function attachSelectionWithCoord instead`.

Implementation of

ISheetSelectionRenderService.attachSelectionWithCoord

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:740 (opens in a new tab)


dispose()

dispose(): void

Returns

void

Implementation of

IRenderModule.dispose

Inherited from

Disposable.dispose

Defined in

packages/core/src/shared/lifecycle.ts:106 (opens in a new tab)


disposeWithMe()

disposeWithMe(disposable): IDisposable

Parameters

ParameterType
disposableDisposableLike

Returns

IDisposable

Inherited from

Disposable.disposeWithMe

Defined in

packages/core/src/shared/lifecycle.ts:96 (opens in a new tab)


endSelection()

endSelection(): void

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:399 (opens in a new tab)


ensureNotDisposed()

protected ensureNotDisposed(): void

Returns

void

Inherited from

Disposable.ensureNotDisposed

Defined in

packages/core/src/shared/lifecycle.ts:100 (opens in a new tab)


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

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:375 (opens in a new tab)


getActiveSelectionControl()

getActiveSelectionControl<T>(): Nullable<T>

get active selection control

Type Parameters

Type ParameterDefault type
T extends SelectionShapeSelectionShape

Returns

Nullable<T>

T extends SelectionControl

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:392 (opens in a new tab)


getSelectionCellByPosition()

getSelectionCellByPosition(x, y): Nullable<ISelectionCellWithMergeInfo>

Parameters

ParameterType
xnumber
ynumber

Returns

Nullable<ISelectionCellWithMergeInfo>

Implementation of

ISheetSelectionRenderService.getSelectionCellByPosition

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:749 (opens in a new tab)


getSelectionControls()

getSelectionControls(): SelectionShape[]

Returns

SelectionShape[]

Implementation of

ISheetSelectionRenderService.getSelectionControls

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:328 (opens in a new tab)


getSelectionDataWithStyle()

getSelectionDataWithStyle(): ISelectionWithCoordAndStyle[]

Generate selectionData from this._selectionControls.model .

Returns

ISelectionWithCoordAndStyle[]

{range, primary, style}[]

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:317 (opens in a new tab)


getSkeleton()

getSkeleton(): SpreadsheetSkeleton

Returns

SpreadsheetSkeleton

Implementation of

ISheetSelectionRenderService.getSkeleton

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:309 (opens in a new tab)


getViewPort()

getViewPort(): Viewport

Returns

Viewport

Deprecated

This should not be provided by the selection render service.

Implementation of

ISheetSelectionRenderService.getViewPort

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:209 (opens in a new tab)


newSelectionControl()

newSelectionControl(
   scene, 
   _rangeType, 
   skeleton): SelectionShape

Parameters

ParameterType
sceneScene
_rangeTypeRANGE_TYPE
skeletonSpreadsheetSkeleton

Returns

SelectionShape

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:245 (opens in a new tab)


refreshSelectionMoveEnd()

refreshSelectionMoveEnd(): void

Returns

void

Implementation of

ISheetSelectionRenderService.refreshSelectionMoveEnd

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:295 (opens in a new tab)


refreshSelectionMoveStart()

refreshSelectionMoveStart(): void

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:291 (opens in a new tab)


resetAndEndSelection()

resetAndEndSelection(): void

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:417 (opens in a new tab)


setSingleSelectionEnabled()

setSingleSelectionEnabled(enabled): void

Parameters

ParameterTypeDefault value
enabledbooleanfalse

Returns

void

Implementation of

ISheetSelectionRenderService.setSingleSelectionEnabled

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:213 (opens in a new tab)


updateControlForCurrentByRangeData()

updateControlForCurrentByRangeData(selections): void

Update the corresponding selectionControl based on selectionsData. selectionData[i] syncs selectionControls[i]

Parameters

ParameterType
selectionsISelectionWithCoordAndStyle[]

Returns

void

Defined in

packages/sheets-ui/src/services/selection/base-selection-render.service.ts:263 (opens in a new tab)


Copyright © 2021-2024 DreamNum Co,Ltd. All Rights Reserved.