fix: get controls within the table #628
This commit is contained in:
@@ -821,19 +821,33 @@ export class Control {
|
||||
}
|
||||
|
||||
public getList(): IElement[] {
|
||||
const controlElementList: IElement[] = []
|
||||
function getControlElementList(elementList: IElement[]) {
|
||||
for (let e = 0; e < elementList.length; e++) {
|
||||
const element = elementList[e]
|
||||
if (element.type === ElementType.TABLE) {
|
||||
const trList = element.trList!
|
||||
for (let r = 0; r < trList.length; r++) {
|
||||
const tr = trList[r]
|
||||
for (let d = 0; d < tr.tdList.length; d++) {
|
||||
const td = tr.tdList[d]
|
||||
const tdElement = td.value
|
||||
getControlElementList(tdElement)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (element.controlId) {
|
||||
controlElementList.push(element)
|
||||
}
|
||||
}
|
||||
}
|
||||
const data = [
|
||||
this.draw.getHeader().getElementList(),
|
||||
this.draw.getOriginalMainElementList(),
|
||||
this.draw.getFooter().getElementList()
|
||||
]
|
||||
const controlElementList: IElement[] = []
|
||||
for (const elementList of data) {
|
||||
for (let e = 0; e < elementList.length; e++) {
|
||||
const element = elementList[e]
|
||||
if (element.controlId) {
|
||||
controlElementList.push(element)
|
||||
}
|
||||
}
|
||||
getControlElementList(elementList)
|
||||
}
|
||||
return zipElementList(controlElementList)
|
||||
}
|
||||
|
||||
@@ -327,13 +327,10 @@ export class DateControl implements IControlInstance {
|
||||
this.datePicker = new DatePicker(this.draw, {
|
||||
onSubmit: this._setDate.bind(this)
|
||||
})
|
||||
const range = this.getValueRange()
|
||||
const value = range
|
||||
? elementList
|
||||
.slice(range[0] + 1, range[1] + 1)
|
||||
const value =
|
||||
this.getValue()
|
||||
.map(el => el.value)
|
||||
.join('')
|
||||
: ''
|
||||
.join('') || ''
|
||||
const dateFormat = this.element.control?.dateFormat
|
||||
this.datePicker.render({
|
||||
value,
|
||||
|
||||
Reference in New Issue
Block a user