feat: recursion format element context
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { ElementType } from '../../../../dataset/enum/Element'
|
import { ElementType } from '../../../../dataset/enum/Element'
|
||||||
import { IElement, IElementPosition } from '../../../../interface/Element'
|
import { IElement, IElementPosition } from '../../../../interface/Element'
|
||||||
import { IRowElement } from '../../../../interface/Row'
|
import { IRowElement } from '../../../../interface/Row'
|
||||||
|
import { formatElementContext } from '../../../../utils/element'
|
||||||
import { RangeManager } from '../../../range/RangeManager'
|
import { RangeManager } from '../../../range/RangeManager'
|
||||||
import { Draw } from '../../Draw'
|
import { Draw } from '../../Draw'
|
||||||
import { DatePicker } from './DatePicker'
|
import { DatePicker } from './DatePicker'
|
||||||
@@ -53,14 +54,16 @@ export class DateParticle {
|
|||||||
this.draw.spliceElementList(elementList, leftIndex + 1, rightIndex - leftIndex)
|
this.draw.spliceElementList(elementList, leftIndex + 1, rightIndex - leftIndex)
|
||||||
this.range.setRange(leftIndex, leftIndex)
|
this.range.setRange(leftIndex, leftIndex)
|
||||||
// 插入新时间
|
// 插入新时间
|
||||||
this.draw.insertElementList([{
|
const dateElement: IElement = {
|
||||||
type: ElementType.DATE,
|
type: ElementType.DATE,
|
||||||
value: '',
|
value: '',
|
||||||
dateFormat: startElement.dateFormat,
|
dateFormat: startElement.dateFormat,
|
||||||
valueList: [{
|
valueList: [{
|
||||||
value: date
|
value: date
|
||||||
}]
|
}]
|
||||||
}])
|
}
|
||||||
|
formatElementContext(elementList, [dateElement], leftIndex)
|
||||||
|
this.draw.insertElementList([dateElement])
|
||||||
}
|
}
|
||||||
|
|
||||||
public getDateElementRange(): [number, number] | null {
|
public getDateElementRange(): [number, number] | null {
|
||||||
|
|||||||
@@ -551,6 +551,9 @@ export function formatElementContext(sourceElementList: IElement[], formatElemen
|
|||||||
if (!copyElement) return
|
if (!copyElement) return
|
||||||
for (let e = 0; e < formatElementList.length; e++) {
|
for (let e = 0; e < formatElementList.length; e++) {
|
||||||
const targetElement = formatElementList[e]
|
const targetElement = formatElementList[e]
|
||||||
|
if (targetElement.valueList && targetElement.valueList.length) {
|
||||||
|
formatElementContext(sourceElementList, targetElement.valueList, anchorIndex)
|
||||||
|
}
|
||||||
for (let i = 0; i < EDITOR_ELEMENT_CONTEXT_ATTR.length; i++) {
|
for (let i = 0; i < EDITOR_ELEMENT_CONTEXT_ATTR.length; i++) {
|
||||||
const attr = EDITOR_ELEMENT_CONTEXT_ATTR[i]
|
const attr = EDITOR_ELEMENT_CONTEXT_ATTR[i]
|
||||||
const value = copyElement[attr] as never
|
const value = copyElement[attr] as never
|
||||||
|
|||||||
Reference in New Issue
Block a user