fix: add context param to the shrinkBoundary function #503

This commit is contained in:
Hufe921
2024-04-08 21:11:28 +08:00
parent 632f8f5af8
commit 6f690a805f
3 changed files with 7 additions and 6 deletions
+2 -2
View File
@@ -197,8 +197,8 @@ export class Control {
return this.range.getRange()
}
public shrinkBoundary() {
this.range.shrinkBoundary()
public shrinkBoundary(context: IControlContext = {}) {
this.range.shrinkBoundary(context)
}
public getActiveControl(): IControlInstance | null {
@@ -74,7 +74,7 @@ export class TextControl implements IControlInstance {
const elementList = context.elementList || this.control.getElementList()
const range = context.range || this.control.getRange()
// 收缩边界到Value内
this.control.shrinkBoundary()
this.control.shrinkBoundary(context)
const { startIndex, endIndex } = range
const draw = this.control.getDraw()
// 移除选区元素
+4 -3
View File
@@ -3,6 +3,7 @@ import { ZERO } from '../../dataset/constant/Common'
import { TEXTLIKE_ELEMENT_TYPE } from '../../dataset/constant/Element'
import { ControlComponent } from '../../dataset/enum/Control'
import { EditorContext } from '../../dataset/enum/Editor'
import { IControlContext } from '../../interface/Control'
import { IEditorOption } from '../../interface/Editor'
import { IElement } from '../../interface/Element'
import { EventBusMap } from '../../interface/EventBus'
@@ -480,9 +481,9 @@ export class RangeManager {
}
}
public shrinkBoundary() {
const elementList = this.draw.getElementList()
const range = this.getRange()
public shrinkBoundary(context: IControlContext = {}) {
const elementList = context.elementList || this.draw.getElementList()
const range = context.range || this.getRange()
const { startIndex, endIndex } = range
if (!~startIndex && !~endIndex) return
const startElement = elementList[startIndex]