feat: get range row and paragraph element list #255
This commit is contained in:
@@ -67,6 +67,26 @@ Usage:
|
||||
const rangeContext = instance.command.getRangeContext()
|
||||
```
|
||||
|
||||
## getRangeRow
|
||||
|
||||
Feature: Get selection row element list
|
||||
|
||||
Usage:
|
||||
|
||||
```javascript
|
||||
const rowElementList = instance.command.getRangeRow()
|
||||
```
|
||||
|
||||
## getRangeParagraph
|
||||
|
||||
Feature: Get selection paragraph element list
|
||||
|
||||
Usage:
|
||||
|
||||
```javascript
|
||||
const paragraphElementList = instance.command.getRangeParagraph()
|
||||
```
|
||||
|
||||
## getPaperMargin
|
||||
|
||||
Feature: Gets the margins
|
||||
@@ -137,4 +157,4 @@ const {
|
||||
|
||||
```javascript
|
||||
const locale = await instance.command.getLocale()
|
||||
```
|
||||
```
|
||||
|
||||
@@ -67,6 +67,26 @@ const rangeText = instance.command.getRangeText()
|
||||
const rangeContext = instance.command.getRangeContext()
|
||||
```
|
||||
|
||||
## getRangeRow
|
||||
|
||||
功能:获取选区所在行元素列表
|
||||
|
||||
用法:
|
||||
|
||||
```javascript
|
||||
const rowElementList = instance.command.getRangeRow()
|
||||
```
|
||||
|
||||
## getRangeParagraph
|
||||
|
||||
功能:获取选区所在段落元素列表
|
||||
|
||||
用法:
|
||||
|
||||
```javascript
|
||||
const paragraphElementList = instance.command.getRangeParagraph()
|
||||
```
|
||||
|
||||
## getPaperMargin
|
||||
|
||||
功能:获取页边距
|
||||
|
||||
@@ -84,6 +84,8 @@ export class Command {
|
||||
public getWordCount: CommandAdapt['getWordCount']
|
||||
public getRangeText: CommandAdapt['getRangeText']
|
||||
public getRangeContext: CommandAdapt['getRangeContext']
|
||||
public getRangeRow: CommandAdapt['getRangeRow']
|
||||
public getRangeParagraph: CommandAdapt['getRangeParagraph']
|
||||
public getPaperMargin: CommandAdapt['getPaperMargin']
|
||||
public getSearchNavigateInfo: CommandAdapt['getSearchNavigateInfo']
|
||||
public getLocale: CommandAdapt['getLocale']
|
||||
@@ -180,6 +182,8 @@ export class Command {
|
||||
this.getWordCount = adapt.getWordCount.bind(adapt)
|
||||
this.getRangeText = adapt.getRangeText.bind(adapt)
|
||||
this.getRangeContext = adapt.getRangeContext.bind(adapt)
|
||||
this.getRangeRow = adapt.getRangeRow.bind(adapt)
|
||||
this.getRangeParagraph = adapt.getRangeParagraph.bind(adapt)
|
||||
this.getCatalog = adapt.getCatalog.bind(adapt)
|
||||
this.getPaperMargin = adapt.getPaperMargin.bind(adapt)
|
||||
this.getSearchNavigateInfo = adapt.getSearchNavigateInfo.bind(adapt)
|
||||
|
||||
@@ -47,7 +47,8 @@ import {
|
||||
isTextLikeElement,
|
||||
pickElementAttr,
|
||||
getElementListByHTML,
|
||||
getTextFromElementList
|
||||
getTextFromElementList,
|
||||
zipElementList
|
||||
} from '../../utils/element'
|
||||
import { printImageBase64 } from '../../utils/print'
|
||||
import { Control } from '../draw/control/Control'
|
||||
@@ -434,7 +435,7 @@ export class CommandAdapt {
|
||||
// 需要改变的元素列表
|
||||
const changeElementList =
|
||||
startIndex === endIndex
|
||||
? this.range.getRangeElementList()
|
||||
? this.range.getRangeParagraphElementList()
|
||||
: elementList.slice(startIndex + 1, endIndex + 1)
|
||||
if (!changeElementList || !changeElementList.length) return
|
||||
// 设置值
|
||||
@@ -470,7 +471,7 @@ export class CommandAdapt {
|
||||
const { startIndex, endIndex } = this.range.getRange()
|
||||
if (!~startIndex && !~endIndex) return
|
||||
// 需要改变的元素列表
|
||||
const changeElementList = this.range.getRangeElementList()
|
||||
const changeElementList = this.range.getRangeParagraphElementList()
|
||||
if (!changeElementList || !changeElementList.length) return
|
||||
// 如果包含列表则设置为取消列表
|
||||
const isUnsetList = changeElementList.find(
|
||||
@@ -1749,6 +1750,16 @@ export class CommandAdapt {
|
||||
})
|
||||
}
|
||||
|
||||
public getRangeRow(): IElement[] | null {
|
||||
const rowElementList = this.range.getRangeRowElementList()
|
||||
return rowElementList ? zipElementList(rowElementList) : null
|
||||
}
|
||||
|
||||
public getRangeParagraph(): IElement[] | null {
|
||||
const paragraphElementList = this.range.getRangeParagraphElementList()
|
||||
return paragraphElementList ? zipElementList(paragraphElementList) : null
|
||||
}
|
||||
|
||||
public pageMode(payload: PageMode) {
|
||||
this.draw.setPageMode(payload)
|
||||
}
|
||||
|
||||
@@ -200,8 +200,8 @@ export class RangeManager {
|
||||
return rangeRow
|
||||
}
|
||||
|
||||
// 获取选区元素列表
|
||||
public getRangeElementList(): IElement[] | null {
|
||||
// 获取选区段落元素列表
|
||||
public getRangeParagraphElementList(): IElement[] | null {
|
||||
const { startIndex, endIndex } = this.range
|
||||
if (!~startIndex && !~endIndex) return null
|
||||
// 需要改变的元素列表
|
||||
|
||||
Reference in New Issue
Block a user