feat: add executeFocus api #796
This commit is contained in:
@@ -961,3 +961,13 @@ Usage:
|
|||||||
```javascript
|
```javascript
|
||||||
instance.command.executeInsertTitle(payload: IElement)
|
instance.command.executeInsertTitle(payload: IElement)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## executeFocus
|
||||||
|
|
||||||
|
Feature: focus
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
instance.command.executeFocus(payload?: IFocusOption)
|
||||||
|
```
|
||||||
|
|||||||
@@ -961,3 +961,13 @@ instance.command.executeUpdateOptions(payload: IUpdateOption)
|
|||||||
```javascript
|
```javascript
|
||||||
instance.command.executeInsertTitle(payload: IElement)
|
instance.command.executeInsertTitle(payload: IElement)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## executeFocus
|
||||||
|
|
||||||
|
功能:光标聚焦
|
||||||
|
|
||||||
|
用法:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
instance.command.executeFocus(payload?: IFocusOption)
|
||||||
|
```
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ export class Command {
|
|||||||
public executeInsertControl: CommandAdapt['insertControl']
|
public executeInsertControl: CommandAdapt['insertControl']
|
||||||
public executeUpdateOptions: CommandAdapt['updateOptions']
|
public executeUpdateOptions: CommandAdapt['updateOptions']
|
||||||
public executeInsertTitle: CommandAdapt['insertTitle']
|
public executeInsertTitle: CommandAdapt['insertTitle']
|
||||||
|
public executeFocus: CommandAdapt['focus']
|
||||||
public getCatalog: CommandAdapt['getCatalog']
|
public getCatalog: CommandAdapt['getCatalog']
|
||||||
public getImage: CommandAdapt['getImage']
|
public getImage: CommandAdapt['getImage']
|
||||||
public getOptions: CommandAdapt['getOptions']
|
public getOptions: CommandAdapt['getOptions']
|
||||||
@@ -214,6 +215,7 @@ export class Command {
|
|||||||
this.executeSetZone = adapt.setZone.bind(adapt)
|
this.executeSetZone = adapt.setZone.bind(adapt)
|
||||||
this.executeUpdateOptions = adapt.updateOptions.bind(adapt)
|
this.executeUpdateOptions = adapt.updateOptions.bind(adapt)
|
||||||
this.executeInsertTitle = adapt.insertTitle.bind(adapt)
|
this.executeInsertTitle = adapt.insertTitle.bind(adapt)
|
||||||
|
this.executeFocus = adapt.focus.bind(adapt)
|
||||||
// 获取
|
// 获取
|
||||||
this.getImage = adapt.getImage.bind(adapt)
|
this.getImage = adapt.getImage.bind(adapt)
|
||||||
this.getOptions = adapt.getOptions.bind(adapt)
|
this.getOptions = adapt.getOptions.bind(adapt)
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import {
|
|||||||
import { ElementType } from '../../dataset/enum/Element'
|
import { ElementType } from '../../dataset/enum/Element'
|
||||||
import { ElementStyleKey } from '../../dataset/enum/ElementStyle'
|
import { ElementStyleKey } from '../../dataset/enum/ElementStyle'
|
||||||
import { ListStyle, ListType } from '../../dataset/enum/List'
|
import { ListStyle, ListType } from '../../dataset/enum/List'
|
||||||
|
import { MoveDirection } from '../../dataset/enum/Observer'
|
||||||
import { RowFlex } from '../../dataset/enum/Row'
|
import { RowFlex } from '../../dataset/enum/Row'
|
||||||
import { TableBorder, TdBorder, TdSlash } from '../../dataset/enum/table/Table'
|
import { TableBorder, TdBorder, TdSlash } from '../../dataset/enum/table/Table'
|
||||||
import { TitleLevel } from '../../dataset/enum/Title'
|
import { TitleLevel } from '../../dataset/enum/Title'
|
||||||
@@ -52,6 +53,7 @@ import {
|
|||||||
IEditorOption,
|
IEditorOption,
|
||||||
IEditorResult,
|
IEditorResult,
|
||||||
IEditorText,
|
IEditorText,
|
||||||
|
IFocusOption,
|
||||||
ISetValueOption,
|
ISetValueOption,
|
||||||
IUpdateOption
|
IUpdateOption
|
||||||
} from '../../interface/Editor'
|
} from '../../interface/Editor'
|
||||||
@@ -2726,4 +2728,23 @@ export class CommandAdapt {
|
|||||||
// 插入标题
|
// 插入标题
|
||||||
this.draw.insertElementList([cloneElement])
|
this.draw.insertElementList([cloneElement])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public focus(payload?: IFocusOption) {
|
||||||
|
const { position = LocationPosition.AFTER } = payload || {}
|
||||||
|
const curIndex =
|
||||||
|
position === LocationPosition.BEFORE
|
||||||
|
? 0
|
||||||
|
: this.draw.getOriginalMainElementList().length - 1
|
||||||
|
this.range.setRange(curIndex, curIndex)
|
||||||
|
this.draw.render({
|
||||||
|
curIndex,
|
||||||
|
isCompute: false,
|
||||||
|
isSubmitHistory: false
|
||||||
|
})
|
||||||
|
const positionList = this.draw.getPosition().getPositionList()
|
||||||
|
this.draw.getCursor().moveCursorToVisible({
|
||||||
|
cursorPosition: positionList[curIndex],
|
||||||
|
direction: MoveDirection.DOWN
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { IElement } from '..'
|
import { IElement, LocationPosition } from '..'
|
||||||
import {
|
import {
|
||||||
EditorMode,
|
EditorMode,
|
||||||
PageMode,
|
PageMode,
|
||||||
@@ -125,3 +125,7 @@ export type IUpdateOption = Omit<
|
|||||||
export interface ISetValueOption {
|
export interface ISetValueOption {
|
||||||
isSetCursor?: boolean
|
isSetCursor?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IFocusOption {
|
||||||
|
position?: LocationPosition
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user