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