@visactor/vtable 1.11.2 → 1.11.3-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.js +3 -3
- package/cjs/ListTable.js.map +1 -1
- package/cjs/components/react/react-custom-layout.d.ts +5 -1
- package/cjs/components/react/react-custom-layout.js +19 -5
- package/cjs/components/react/react-custom-layout.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -1
- package/cjs/core/BaseTable.js +3 -3
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/record-helper.js +5 -3
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +38 -7
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +3 -3
- package/es/ListTable.js.map +1 -1
- package/es/components/react/react-custom-layout.d.ts +5 -1
- package/es/components/react/react-custom-layout.js +19 -5
- package/es/components/react/react-custom-layout.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -1
- package/es/core/BaseTable.js +3 -3
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/record-helper.js +5 -3
- package/es/core/record-helper.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
|
@@ -269,7 +269,7 @@ function listTableAddRecords(records, recordIndex, table) {
|
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
function listTableDeleteRecords(recordIndexs, table) {
|
|
272
|
-
var _a, _b;
|
|
272
|
+
var _a, _b, _c, _d, _e, _f;
|
|
273
273
|
if ((null == recordIndexs ? void 0 : recordIndexs.length) > 0) if (table.options.groupBy) null === (_b = (_a = table.dataSource).deleteRecordsForGroup) || void 0 === _b || _b.call(_a, recordIndexs),
|
|
274
274
|
table.refreshRowColCount(), table.internalProps.layoutMap.clearCellRangeMap(), table.scenegraph.clearCells(),
|
|
275
275
|
table.scenegraph.createSceneGraph(); else if (table.sortState) table.dataSource.deleteRecordsForSorted(recordIndexs),
|
|
@@ -305,7 +305,8 @@ function listTableDeleteRecords(recordIndexs, table) {
|
|
|
305
305
|
col: 0,
|
|
306
306
|
row: row
|
|
307
307
|
});
|
|
308
|
-
table.transpose ? table.scenegraph.updateCol(delRows, [], updateRows) : table.scenegraph.updateRow(delRows, [], updateRows)
|
|
308
|
+
null === (_c = table.reactCustomLayout) || void 0 === _c || _c.clearCache(), table.transpose ? table.scenegraph.updateCol(delRows, [], updateRows) : table.scenegraph.updateRow(delRows, [], updateRows),
|
|
309
|
+
null === (_d = table.reactCustomLayout) || void 0 === _d || _d.updateAllCustomCell();
|
|
309
310
|
}
|
|
310
311
|
} else {
|
|
311
312
|
const delRows = [], headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount, topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount, bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;
|
|
@@ -334,7 +335,8 @@ function listTableDeleteRecords(recordIndexs, table) {
|
|
|
334
335
|
col: 0,
|
|
335
336
|
row: row
|
|
336
337
|
});
|
|
337
|
-
table.transpose ? table.scenegraph.updateCol(delRows, [], updateRows) : table.scenegraph.updateRow(delRows, [], updateRows)
|
|
338
|
+
null === (_e = table.reactCustomLayout) || void 0 === _e || _e.clearCache(), table.transpose ? table.scenegraph.updateCol(delRows, [], updateRows) : table.scenegraph.updateRow(delRows, [], updateRows),
|
|
339
|
+
null === (_f = table.reactCustomLayout) || void 0 === _f || _f.updateAllCustomCell();
|
|
338
340
|
}
|
|
339
341
|
}
|
|
340
342
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/record-helper.ts"],"names":[],"mappings":"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","file":"record-helper.js","sourcesContent":["/* eslint-disable max-depth */\nimport type { ListTable } from '../ListTable';\nimport type { CachedDataSource } from '../data';\nimport { computeColWidth } from '../scenegraph/layout/compute-col-width';\nimport { computeRowHeight } from '../scenegraph/layout/compute-row-height';\nimport { isPromise } from '../tools/helper';\nimport { defaultOrderFn } from '../tools/util';\nimport type { SortState } from '../ts-types';\nimport { TABLE_EVENT_TYPE } from './TABLE_EVENT_TYPE';\n\n/**\n * 更改单元格数据 会触发change_cell_value事件\n * @param col\n * @param row\n * @param value 更改后的值\n * @param workOnEditableCell 限制只能更改配置了编辑器的单元格值。快捷键paste这里配置的true,限制只能修改可编辑单元格值\n */\nexport function listTableChangeCellValue(\n col: number,\n row: number,\n value: string | number | null,\n workOnEditableCell: boolean,\n table: ListTable\n) {\n if ((workOnEditableCell && table.isHasEditorDefine(col, row)) || workOnEditableCell === false) {\n const recordIndex = table.getRecordShowIndexByCell(col, row);\n const { field } = table.internalProps.layoutMap.getBody(col, row);\n const beforeChangeValue = table.getCellRawValue(col, row);\n const oldValue = table.getCellOriginValue(col, row);\n if (table.isHeader(col, row)) {\n table.internalProps.layoutMap.updateColumnTitle(col, row, value as string);\n } else {\n table.dataSource.changeFieldValue(value, recordIndex, field, col, row, table);\n }\n const range = table.getCellRange(col, row);\n //改变单元格的值后 聚合值做重新计算\n const aggregators = table.internalProps.layoutMap.getAggregatorsByCell(col, row);\n if (aggregators) {\n if (Array.isArray(aggregators)) {\n for (let i = 0; i < aggregators?.length; i++) {\n aggregators[i].recalculate();\n }\n } else {\n aggregators.recalculate();\n }\n const aggregatorCells = table.internalProps.layoutMap.getAggregatorCellAddress(\n range.start.col,\n range.start.row,\n range.end.col,\n range.end.row\n );\n for (let i = 0; i < aggregatorCells.length; i++) {\n const range = table.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);\n for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n }\n }\n\n // const cell_value = table.getCellValue(col, row);\n\n for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n if (table.widthMode === 'adaptive' || (table.autoFillWidth && table.getAllColsWidth() <= table.tableNoFrameWidth)) {\n if (table.internalProps._widthResizedColMap.size === 0) {\n //如果没有手动调整过行高列宽 则重新计算一遍并重新分配\n table.scenegraph.recalculateColWidths();\n }\n } else if (!table.internalProps._widthResizedColMap.has(col)) {\n const oldWidth = table.getColWidth(col);\n const newWidth = computeColWidth(col, 0, table.rowCount - 1, table, false);\n if (newWidth !== oldWidth) {\n table.scenegraph.updateColWidth(col, newWidth - oldWidth);\n }\n }\n if (\n table.heightMode === 'adaptive' ||\n (table.autoFillHeight && table.getAllRowsHeight() <= table.tableNoFrameHeight)\n ) {\n if (table.internalProps._heightResizedRowMap.size === 0) {\n table.scenegraph.recalculateRowHeights();\n }\n } else if (table.heightMode === 'autoHeight' && !table.internalProps._heightResizedRowMap.has(row)) {\n const oldHeight = table.getRowHeight(row);\n const newHeight = computeRowHeight(row, 0, table.colCount - 1, table);\n table.scenegraph.updateRowHeight(row, newHeight - oldHeight);\n }\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {\n col,\n row,\n rawValue: beforeChangeValue,\n currentValue: oldValue,\n changedValue: table.getCellOriginValue(col, row)\n });\n table.scenegraph.updateNextFrame();\n }\n}\n/**\n * 批量更新多个单元格的数据\n * @param col 粘贴数据的起始列号\n * @param row 粘贴数据的起始行号\n * @param values 多个单元格的数据数组\n * @param workOnEditableCell 是否仅更改可编辑单元格\n */\nexport function listTableChangeCellValues(\n startCol: number,\n startRow: number,\n values: (string | number)[][],\n workOnEditableCell: boolean,\n table: ListTable\n) {\n let pasteColEnd = startCol;\n let pasteRowEnd = startRow;\n // const rowCount = values.length;\n //#region 提前组织好未更改前的数据\n const beforeChangeValues: (string | number)[][] = [];\n const oldValues: (string | number)[][] = [];\n let cellUpdateType: 'normal' | 'sort' | 'group';\n\n for (let i = 0; i < values.length; i++) {\n if (startRow + i > table.rowCount - 1) {\n break;\n }\n const rowValues = values[i];\n const rawRowValues: (string | number)[] = [];\n const oldRowValues: (string | number)[] = [];\n beforeChangeValues.push(rawRowValues);\n oldValues.push(oldRowValues);\n for (let j = 0; j < rowValues.length; j++) {\n if (startCol + j > table.colCount - 1) {\n break;\n }\n cellUpdateType = getCellUpdateType(startCol + j, startRow + i, table, cellUpdateType);\n const beforeChangeValue = table.getCellRawValue(startCol + j, startRow + i);\n rawRowValues.push(beforeChangeValue);\n const oldValue = table.getCellOriginValue(startCol + j, startRow + i);\n oldRowValues.push(oldValue);\n }\n }\n //#endregion\n for (let i = 0; i < values.length; i++) {\n if (startRow + i > table.rowCount - 1) {\n break;\n }\n pasteRowEnd = startRow + i;\n const rowValues = values[i];\n let thisRowPasteColEnd = startCol;\n for (let j = 0; j < rowValues.length; j++) {\n if (startCol + j > table.colCount - 1) {\n break;\n }\n thisRowPasteColEnd = startCol + j;\n let isCanChange = false;\n if (workOnEditableCell === false) {\n isCanChange = true;\n } else {\n if (table.isHasEditorDefine(startCol + j, startRow + i)) {\n const editor = table.getEditor(startCol + j, startRow + i);\n const oldValue = oldValues[i][j];\n const value = rowValues[j];\n const maybePromiseOrValue = editor?.validateValue?.(value, oldValue) ?? true;\n if (isPromise(maybePromiseOrValue)) {\n //TODO 处理promise的情况\n isCanChange = true;\n } else {\n isCanChange = maybePromiseOrValue;\n }\n }\n }\n // if ((workOnEditableCell && table.isHasEditorDefine(startCol + j, startRow + i)) || workOnEditableCell === false) {\n if (isCanChange) {\n const value = rowValues[j];\n const recordIndex = table.getRecordShowIndexByCell(startCol + j, startRow + i);\n const { field } = table.internalProps.layoutMap.getBody(startCol + j, startRow + i);\n // const beforeChangeValue = table.getCellRawValue(startCol + j, startRow + i);\n // const oldValue = table.getCellOriginValue(startCol + j, startRow + i);\n const beforeChangeValue = beforeChangeValues[i][j];\n const oldValue = oldValues[i][j];\n if (table.isHeader(startCol + j, startRow + i)) {\n table.internalProps.layoutMap.updateColumnTitle(startCol + j, startRow + i, value as string);\n } else {\n table.dataSource.changeFieldValue(value, recordIndex, field, startCol + j, startRow + i, table);\n }\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {\n col: startCol + j,\n row: startRow + i,\n rawValue: beforeChangeValue,\n currentValue: oldValue,\n changedValue: table.getCellOriginValue(startCol + j, startRow + i)\n });\n }\n }\n pasteColEnd = Math.max(pasteColEnd, thisRowPasteColEnd);\n }\n\n // const cell_value = table.getCellValue(col, row);\n const startRange = table.getCellRange(startCol, startRow);\n const range = table.getCellRange(pasteColEnd, pasteRowEnd);\n\n //改变单元格的值后 聚合值做重新计算\n const aggregators = table.internalProps.layoutMap.getAggregatorsByCellRange(\n startRange.start.col,\n startRange.start.row,\n range.end.col,\n range.end.row\n );\n\n if (aggregators) {\n for (let i = 0; i < aggregators?.length; i++) {\n aggregators[i].recalculate();\n }\n\n if (cellUpdateType === 'normal') {\n const aggregatorCells = table.internalProps.layoutMap.getAggregatorCellAddress(\n startRange.start.col,\n startRange.start.row,\n range.end.col,\n range.end.row\n );\n for (let i = 0; i < aggregatorCells.length; i++) {\n const range = table.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);\n for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n }\n }\n }\n\n if (cellUpdateType === 'group') {\n (table.dataSource as CachedDataSource).updateRecordsForGroup([], []);\n }\n\n if (cellUpdateType === 'sort' || cellUpdateType === 'group') {\n (table.dataSource as any).sortedIndexMap.clear();\n sortRecords(table);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n return;\n }\n\n for (let sCol = startRange.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = startRange.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n if (table.widthMode === 'adaptive' || (table.autoFillWidth && table.getAllColsWidth() <= table.tableNoFrameWidth)) {\n if (table.internalProps._widthResizedColMap.size === 0) {\n //如果没有手动调整过行高列宽 则重新计算一遍并重新分配\n table.scenegraph.recalculateColWidths();\n }\n } else {\n for (let sCol = startCol; sCol <= range.end.col; sCol++) {\n if (!table.internalProps._widthResizedColMap.has(sCol)) {\n const oldWidth = table.getColWidth(sCol);\n const newWidth = computeColWidth(sCol, 0, table.rowCount - 1, table, false);\n if (newWidth !== oldWidth) {\n table.scenegraph.updateColWidth(sCol, newWidth - oldWidth);\n }\n }\n }\n }\n if (\n table.heightMode === 'adaptive' ||\n (table.autoFillHeight && table.getAllRowsHeight() <= table.tableNoFrameHeight)\n ) {\n table.scenegraph.recalculateRowHeights();\n } else if (table.heightMode === 'autoHeight') {\n const rows: number[] = [];\n const deltaYs: number[] = [];\n for (let sRow = startRow; sRow <= range.end.row; sRow++) {\n if (table.rowHeightsMap.get(sRow)) {\n // 已经计算过行高的才走更新逻辑\n const oldHeight = table.getRowHeight(sRow);\n const newHeight = computeRowHeight(sRow, 0, table.colCount - 1, table);\n rows.push(sRow);\n deltaYs.push(newHeight - oldHeight);\n }\n }\n table.scenegraph.updateRowsHeight(rows, deltaYs);\n }\n\n table.scenegraph.updateNextFrame();\n}\n\ntype CellUpdateType = 'normal' | 'sort' | 'group';\nfunction getCellUpdateType(\n col: number,\n row: number,\n table: ListTable,\n oldCellUpdateType: CellUpdateType | undefined\n): CellUpdateType {\n if (oldCellUpdateType === 'group') {\n return oldCellUpdateType;\n }\n if (oldCellUpdateType === 'sort' && !table.options.groupBy) {\n return oldCellUpdateType;\n }\n let cellUpdateType: CellUpdateType = 'normal';\n if (table.options.groupBy) {\n cellUpdateType = 'group';\n } else if (!table.isHeader(col, row) && (table.dataSource as any).lastOrderField) {\n const field = table.getBodyField(col, row);\n if (field === (table.dataSource as any).lastOrderField) {\n cellUpdateType = 'sort';\n }\n }\n return cellUpdateType;\n}\n\nexport function sortRecords(table: ListTable) {\n let sortState = table.sortState;\n sortState = !sortState || Array.isArray(sortState) ? sortState : [sortState];\n\n if (sortState) {\n sortState = (sortState as SortState[]).map(item => {\n item.orderFn = table._getSortFuncFromHeaderOption(undefined, item.field) ?? defaultOrderFn;\n //const hd = table.internalProps.layoutMap.headerObjects.find((col: any) => col && col.field === item.field);\n return item;\n });\n\n table.dataSource.sort(sortState);\n }\n}\n\n/**\n * 添加数据 单条数据\n * @param record 数据\n * @param recordIndex 向数据源中要插入的位置,从0开始。不设置recordIndex的话 默认追加到最后。\n * 如果设置了排序规则recordIndex无效,会自动适应排序逻辑确定插入顺序。\n * recordIndex 可以通过接口getRecordShowIndexByCell获取\n */\nexport function listTableAddRecord(record: any, recordIndex: number, table: ListTable) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).addRecordsForGroup?.([record], recordIndex);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.addRecordForSorted(record);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n if (recordIndex === undefined || recordIndex > table.dataSource.sourceLength) {\n recordIndex = table.dataSource.sourceLength;\n }\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n table.dataSource.addRecord(record, recordIndex);\n const oldRowCount = table.rowCount;\n table.refreshRowColCount();\n if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n return;\n }\n const newRowCount = table.transpose ? table.colCount : table.rowCount;\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n if (recordIndex < endIndex) {\n //插入当前页或者前面的数据才需要更新 如果是插入的是当前页后面的数据不需要更新场景树\n if (recordIndex < endIndex - perPageCount) {\n // 如果是当页之前的数据 则整个场景树都更新\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n //如果是插入当前页数据\n const rowNum = recordIndex - (endIndex - perPageCount) + headerCount;\n if (oldRowCount - headerCount === table.pagination.perPageCount) {\n //如果当页数据是满的 则更新插入的部分行\n const updateRows = [];\n for (let row = rowNum; row < newRowCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRows)\n : table.scenegraph.updateRow([], [], updateRows);\n } else {\n //如果当页数据不是满的 则插入新数据\n const addRows = [];\n for (let row = rowNum; row < Math.min(newRowCount, rowNum + 1); row++) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n table.transpose ? table.scenegraph.updateCol([], addRows, []) : table.scenegraph.updateRow([], addRows, []);\n }\n }\n }\n } else {\n const addRows = [];\n for (let row = recordIndex + headerCount; row < recordIndex + headerCount + 1; row++) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n const updateRows = [];\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose ? table.scenegraph.updateCol([], addRows, []) : table.scenegraph.updateRow([], addRows, []);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n}\n\n/**\n * 添加数据 支持多条数据\n * @param records 多条数据\n * @param recordIndex 向数据源中要插入的位置,从0开始。不设置recordIndex的话 默认追加到最后。\n * 如果设置了排序规则recordIndex无效,会自动适应排序逻辑确定插入顺序。\n * recordIndex 可以通过接口getRecordShowIndexByCell获取\n */\nexport function listTableAddRecords(records: any[], recordIndex: number, table: ListTable) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).addRecordsForGroup?.(records, recordIndex);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.addRecordsForSorted(records);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n if (recordIndex === undefined || recordIndex > table.dataSource.sourceLength) {\n recordIndex = table.dataSource.sourceLength;\n } else if (recordIndex < 0) {\n recordIndex = 0;\n }\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n table.dataSource.addRecords(records, recordIndex);\n const oldRowCount = table.transpose ? table.colCount : table.rowCount;\n table.refreshRowColCount();\n if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n return;\n }\n const newRowCount = table.transpose ? table.colCount : table.rowCount;\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n if (recordIndex < endIndex) {\n //插入当前页或者前面的数据才需要更新 如果是插入的是当前页后面的数据不需要更新场景树\n if (recordIndex < endIndex - perPageCount) {\n // 如果是当页之前的数据 则整个场景树都更新\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n //如果是插入当前页数据\n\n const rowNum = recordIndex - (endIndex - perPageCount) + headerCount;\n if (oldRowCount - headerCount === table.pagination.perPageCount) {\n //如果当页数据是满的 则更新插入的部分行\n const updateRows = [];\n for (let row = rowNum; row < newRowCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRows)\n : table.scenegraph.updateRow([], [], updateRows);\n } else {\n //如果当页数据不是满的 则插入新数据\n const addRows = [];\n for (\n let row = rowNum;\n row < Math.min(newRowCount, rowNum + (Array.isArray(records) ? records.length : 1));\n row++\n ) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n table.transpose ? table.scenegraph.updateCol([], addRows, []) : table.scenegraph.updateRow([], addRows, []);\n }\n }\n }\n } else {\n const addRows = [];\n for (\n let row = recordIndex + headerCount;\n row < recordIndex + headerCount + (Array.isArray(records) ? records.length : 1);\n row++\n ) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n const updateRows = [];\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], addRows, updateRows)\n : table.scenegraph.updateRow([], addRows, updateRows);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n}\n\n/**\n * 删除数据 支持多条数据\n * @param recordIndexs 要删除数据的索引(显示在body中的索引,即要修改的是body部分的第几行数据)\n */\nexport function listTableDeleteRecords(recordIndexs: number[], table: ListTable) {\n if (recordIndexs?.length > 0) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).deleteRecordsForGroup?.(recordIndexs);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.deleteRecordsForSorted(recordIndexs);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n const deletedRecordIndexs = table.dataSource.deleteRecords(recordIndexs);\n if (deletedRecordIndexs.length === 0) {\n return;\n }\n const oldRowCount = table.transpose ? table.colCount : table.rowCount;\n table.refreshRowColCount();\n const newRowCount = table.transpose ? table.colCount : table.rowCount;\n const recordIndexsMinToMax = deletedRecordIndexs.sort((a, b) => a - b);\n const minRecordIndex = recordIndexsMinToMax[0];\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n if (minRecordIndex < endIndex) {\n //删除当前页或者前面的数据才需要更新 如果是删除的是当前页后面的数据不需要更新场景树\n if (minRecordIndex < endIndex - perPageCount) {\n // 如果删除包含当页之前的数据 则整个场景树都更新\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n //如果是仅删除当前页数据\n const minRowNum =\n minRecordIndex -\n (endIndex - perPageCount) +\n (table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount) +\n topAggregationCount;\n //如果当页数据是满的 则更新影响的部分行\n const updateRows = [];\n const delRows = [];\n\n for (let row = minRowNum; row < newRowCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n\n if (newRowCount < oldRowCount) {\n //如果如果删除后不满 需要有删除数据\n for (let row = newRowCount; row < oldRowCount; row++) {\n if (table.transpose) {\n delRows.push({ col: row, row: 0 });\n } else {\n delRows.push({ col: 0, row });\n }\n }\n }\n table.transpose\n ? table.scenegraph.updateCol(delRows, [], updateRows)\n : table.scenegraph.updateRow(delRows, [], updateRows);\n }\n }\n } else {\n const delRows = [];\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n for (let index = 0; index < recordIndexsMinToMax.length; index++) {\n const recordIndex = recordIndexsMinToMax[index];\n const rowNum = recordIndex + headerCount + topAggregationCount;\n if (table.transpose) {\n delRows.push({ col: rowNum, row: 0 });\n } else {\n delRows.push({ col: 0, row: rowNum });\n }\n }\n const updateRows = [];\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n\n table.transpose\n ? table.scenegraph.updateCol(delRows, [], updateRows)\n : table.scenegraph.updateRow(delRows, [], updateRows);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n }\n}\n\n/**\n * 修改数据 支持多条数据\n * @param records 修改数据条目\n * @param recordIndexs 对应修改数据的索引(显示在body中的索引,即要修改的是body部分的第几行数据)\n */\nexport function listTableUpdateRecords(records: any[], recordIndexs: number[], table: ListTable) {\n if (recordIndexs?.length > 0) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).updateRecordsForGroup?.(records, recordIndexs);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.updateRecordsForSorted(records, recordIndexs);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n const updateRecordIndexs = table.dataSource.updateRecords(records, recordIndexs);\n if (updateRecordIndexs.length === 0) {\n return;\n }\n const bodyRowIndex = updateRecordIndexs.map(index => table.getBodyRowIndexByRecordIndex(index));\n const recordIndexsMinToMax = bodyRowIndex.sort((a, b) => a - b);\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n const updateRows = [];\n for (let index = 0; index < recordIndexsMinToMax.length; index++) {\n const recordIndex = recordIndexsMinToMax[index];\n if (recordIndex < endIndex && recordIndex >= endIndex - perPageCount) {\n const rowNum =\n recordIndex -\n (endIndex - perPageCount) +\n (table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount) +\n topAggregationCount;\n updateRows.push(rowNum);\n }\n }\n if (updateRows.length >= 1) {\n const updateRowCells = [];\n for (let index = 0; index < updateRows.length; index++) {\n const updateRow = updateRows[index];\n if (table.transpose) {\n updateRowCells.push({ col: updateRow, row: 0 });\n } else {\n updateRowCells.push({ col: 0, row: updateRow });\n }\n }\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRowCells.push({ col: row, row: 0 });\n } else {\n updateRowCells.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRowCells)\n : table.scenegraph.updateRow([], [], updateRowCells);\n }\n } else {\n const updateRows = [];\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n for (let index = 0; index < recordIndexsMinToMax.length; index++) {\n const recordIndex = recordIndexsMinToMax[index];\n const rowNum = recordIndex + headerCount + topAggregationCount;\n if (table.transpose) {\n updateRows.push({ col: rowNum, row: 0 });\n } else {\n updateRows.push({ col: 0, row: rowNum });\n }\n }\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRows)\n : table.scenegraph.updateRow([], [], updateRows);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/record-helper.ts"],"names":[],"mappings":";;;AAGA,8EAAyE;AACzE,gFAA2E;AAC3E,4CAA4C;AAC5C,wCAA+C;AAE/C,yDAAsD;AAStD,SAAgB,wBAAwB,CACtC,GAAW,EACX,GAAW,EACX,KAA6B,EAC7B,kBAA2B,EAC3B,KAAgB;IAEhB,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,kBAAkB,KAAK,KAAK,EAAE;QAC7F,MAAM,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YAC5B,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAe,CAAC,CAAC;SAC5E;aAAM;YACL,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SAC/E;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjF,IAAI,WAAW,EAAE;YACf,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE,CAAC,EAAE,EAAE;oBAC5C,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B;aACF;iBAAM;gBACL,WAAW,CAAC,WAAW,EAAE,CAAC;aAC3B;YACD,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAC5E,KAAK,CAAC,KAAK,CAAC,GAAG,EACf,KAAK,CAAC,KAAK,CAAC,GAAG,EACf,KAAK,CAAC,GAAG,CAAC,GAAG,EACb,KAAK,CAAC,GAAG,CAAC,GAAG,CACd,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjF,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAC9D,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBAC9D,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAChD;iBACF;aACF;SACF;QAID,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9D,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC9D,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAChD;SACF;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE;YACjH,IAAI,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE;gBAEtD,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;aACzC;SACF;aAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAA,mCAAe,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3E,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;aAC3D;SACF;QACD,IACE,KAAK,CAAC,UAAU,KAAK,UAAU;YAC/B,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAC9E;YACA,IAAI,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE;gBACvD,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;aAC1C;SACF;aAAM,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClG,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAA,qCAAgB,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACtE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;SAC9D;QACD,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,iBAAiB,EAAE;YACtD,GAAG;YACH,GAAG;YACH,QAAQ,EAAE,iBAAiB;YAC3B,YAAY,EAAE,QAAQ;YACtB,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;SACjD,CAAC,CAAC;QACH,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;KACpC;AACH,CAAC;AApFD,4DAoFC;AAQD,SAAgB,yBAAyB,CACvC,QAAgB,EAChB,QAAgB,EAChB,MAA6B,EAC7B,kBAA2B,EAC3B,KAAgB;;IAEhB,IAAI,WAAW,GAAG,QAAQ,CAAC;IAC3B,IAAI,WAAW,GAAG,QAAQ,CAAC;IAG3B,MAAM,kBAAkB,GAA0B,EAAE,CAAC;IACrD,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,IAAI,cAA2C,CAAC;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;YACrC,MAAM;SACP;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAwB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAwB,EAAE,CAAC;QAC7C,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACrC,MAAM;aACP;YACD,cAAc,GAAG,iBAAiB,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YACtF,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC5E,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YACtE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;KACF;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;YACrC,MAAM;SACP;QACD,WAAW,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,kBAAkB,GAAG,QAAQ,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACrC,MAAM;aACP;YACD,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC;YAClC,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,kBAAkB,KAAK,KAAK,EAAE;gBAChC,WAAW,GAAG,IAAI,CAAC;aACpB;iBAAM;gBACL,IAAI,KAAK,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE;oBACvD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,mBAAmB,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,uDAAG,KAAK,EAAE,QAAQ,CAAC,mCAAI,IAAI,CAAC;oBAC7E,IAAI,IAAA,kBAAS,EAAC,mBAAmB,CAAC,EAAE;wBAElC,WAAW,GAAG,IAAI,CAAC;qBACpB;yBAAM;wBACL,WAAW,GAAG,mBAAmB,CAAC;qBACnC;iBACF;aACF;YAED,IAAI,WAAW,EAAE;gBACf,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;gBAC/E,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;gBAGpF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE;oBAC9C,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAe,CAAC,CAAC;iBAC9F;qBAAM;oBACL,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjG;gBACD,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,iBAAiB,EAAE;oBACtD,GAAG,EAAE,QAAQ,GAAG,CAAC;oBACjB,GAAG,EAAE,QAAQ,GAAG,CAAC;oBACjB,QAAQ,EAAE,iBAAiB;oBAC3B,YAAY,EAAE,QAAQ;oBACtB,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;iBACnE,CAAC,CAAC;aACJ;SACF;QACD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;KACzD;IAGD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAG3D,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,yBAAyB,CACzE,UAAU,CAAC,KAAK,CAAC,GAAG,EACpB,UAAU,CAAC,KAAK,CAAC,GAAG,EACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EACb,KAAK,CAAC,GAAG,CAAC,GAAG,CACd,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE,CAAC,EAAE,EAAE;YAC5C,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9B;QAED,IAAI,cAAc,KAAK,QAAQ,EAAE;YAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAC5E,UAAU,CAAC,KAAK,CAAC,GAAG,EACpB,UAAU,CAAC,KAAK,CAAC,GAAG,EACpB,KAAK,CAAC,GAAG,CAAC,GAAG,EACb,KAAK,CAAC,GAAG,CAAC,GAAG,CACd,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjF,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAC9D,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBAC9D,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAChD;iBACF;aACF;SACF;KACF;IAED,IAAI,cAAc,KAAK,OAAO,EAAE;QAC7B,KAAK,CAAC,UAA+B,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;KACtE;IAED,IAAI,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,OAAO,EAAE;QAC1D,KAAK,CAAC,UAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QACjD,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAElD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO;KACR;IAED,KAAK,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACnE,KAAK,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACnE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAChD;KACF;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACjH,IAAI,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE;YAEtD,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;SACzC;KACF;SAAM;QACL,KAAK,IAAI,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAA,mCAAe,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACzB,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;iBAC5D;aACF;SACF;KACF;IACD,IACE,KAAK,CAAC,UAAU,KAAK,UAAU;QAC/B,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAC9E;QACA,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;KAC1C;SAAM,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE;QAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,IAAI,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACvD,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,IAAA,qCAAgB,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;aACrC;SACF;QACD,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAClD;IAED,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AACrC,CAAC;AAvLD,8DAuLC;AAGD,SAAS,iBAAiB,CACxB,GAAW,EACX,GAAW,EACX,KAAgB,EAChB,iBAA6C;IAE7C,IAAI,iBAAiB,KAAK,OAAO,EAAE;QACjC,OAAO,iBAAiB,CAAC;KAC1B;IACD,IAAI,iBAAiB,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QAC1D,OAAO,iBAAiB,CAAC;KAC1B;IACD,IAAI,cAAc,GAAmB,QAAQ,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACzB,cAAc,GAAG,OAAO,CAAC;KAC1B;SAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAK,KAAK,CAAC,UAAkB,CAAC,cAAc,EAAE;QAChF,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAM,KAAK,CAAC,UAAkB,CAAC,cAAc,EAAE;YACtD,cAAc,GAAG,MAAM,CAAC;SACzB;KACF;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,WAAW,CAAC,KAAgB;IAC1C,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAChC,SAAS,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE7E,IAAI,SAAS,EAAE;QACb,SAAS,GAAI,SAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;YAChD,IAAI,CAAC,OAAO,GAAG,MAAA,KAAK,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,mCAAI,qBAAc,CAAC;YAE3F,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAClC;AACH,CAAC;AAbD,kCAaC;AASD,SAAgB,kBAAkB,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAgB;;IACnF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACzB,MAAA,MAAC,KAAK,CAAC,UAA+B,EAAC,kBAAkB,mDAAG,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QACnF,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAElD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;KACrC;SAAM,IAAI,KAAK,CAAC,SAAS,EAAE;QAC1B,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC5C,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAE3B,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;KACrC;SAAM;QACL,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;YAC5E,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;SAC7C;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAC/F,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;QACnC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,EAAE;YACxD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACpC,OAAO;SACR;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtE,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YACvD,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;YAC3C,IAAI,WAAW,GAAG,QAAQ,EAAE;gBAE1B,IAAI,WAAW,GAAG,QAAQ,GAAG,YAAY,EAAE;oBAEzC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;iBACrC;qBAAM;oBAEL,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,WAAW,CAAC;oBACrE,IAAI,WAAW,GAAG,WAAW,KAAK,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;wBAE/D,MAAM,UAAU,GAAG,EAAE,CAAC;wBACtB,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,EAAE,EAAE;4BAC/C,IAAI,KAAK,CAAC,SAAS,EAAE;gCACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;6BACvC;iCAAM;gCACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;6BAClC;yBACF;wBACD,KAAK,CAAC,SAAS;4BACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC;4BAChD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;qBACpD;yBAAM;wBAEL,MAAM,OAAO,GAAG,EAAE,CAAC;wBACnB,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;4BACrE,IAAI,KAAK,CAAC,SAAS,EAAE;gCACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;6BACpC;iCAAM;gCACL,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;6BAC/B;yBACF;wBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;qBAC7G;iBACF;aACF;SACF;aAAM;YACL,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,GAAG,GAAG,WAAW,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE;gBACpF,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACpC;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC/B;aACF;YACD,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;YACnF,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,2BAA2B,CAAC;YACzF,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,mBAAmB,EAAE,GAAG,EAAE,EAAE;gBAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACvC;qBAAM;oBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAClC;aACF;YACD,KACE,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACtF,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EACzD,GAAG,EAAE,EACL;gBACA,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACvC;qBAAM;oBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAClC;aACF;YACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;SAC7G;KACF;AAEH,CAAC;AAvGD,gDAuGC;AASD,SAAgB,mBAAmB,CAAC,OAAc,EAAE,WAAmB,EAAE,KAAgB;;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QACzB,MAAA,MAAC,KAAK,CAAC,UAA+B,EAAC,kBAAkB,mDAAG,OAAO,EAAE,WAAW,CAAC,CAAC;QAClF,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAElD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;KACrC;SAAM,IAAI,KAAK,CAAC,SAAS,EAAE;QAC1B,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAE3B,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;KACrC;SAAM;QACL,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;YAC5E,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;SAC7C;aAAM,IAAI,WAAW,GAAG,CAAC,EAAE;YAC1B,WAAW,GAAG,CAAC,CAAC;SACjB;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAC/F,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtE,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,EAAE;YACxD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACpC,OAAO;SACR;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtE,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YACvD,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;YAC3C,IAAI,WAAW,GAAG,QAAQ,EAAE;gBAE1B,IAAI,WAAW,GAAG,QAAQ,GAAG,YAAY,EAAE;oBAEzC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;iBACrC;qBAAM;oBAGL,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,WAAW,CAAC;oBACrE,IAAI,WAAW,GAAG,WAAW,KAAK,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;wBAE/D,MAAM,UAAU,GAAG,EAAE,CAAC;wBACtB,KAAK,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,EAAE,EAAE;4BAC/C,IAAI,KAAK,CAAC,SAAS,EAAE;gCACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;6BACvC;iCAAM;gCACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;6BAClC;yBACF;wBACD,KAAK,CAAC,SAAS;4BACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC;4BAChD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;qBACpD;yBAAM;wBAEL,MAAM,OAAO,GAAG,EAAE,CAAC;wBACnB,KACE,IAAI,GAAG,GAAG,MAAM,EAChB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnF,GAAG,EAAE,EACL;4BACA,IAAI,KAAK,CAAC,SAAS,EAAE;gCACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;6BACpC;iCAAM;gCACL,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;6BAC/B;yBACF;wBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;qBAC7G;iBACF;aACF;SACF;aAAM;YACL,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KACE,IAAI,GAAG,GAAG,WAAW,GAAG,WAAW,EACnC,GAAG,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/E,GAAG,EAAE,EACL;gBACA,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACpC;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC/B;aACF;YACD,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;YACnF,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,2BAA2B,CAAC;YACzF,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,mBAAmB,EAAE,GAAG,EAAE,EAAE;gBAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACvC;qBAAM;oBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAClC;aACF;YACD,KACE,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACtF,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EACzD,GAAG,EAAE,EACL;gBACA,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACvC;qBAAM;oBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iBAClC;aACF;YACD,KAAK,CAAC,SAAS;gBACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC;gBACrD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;SACzD;KACF;AAEH,CAAC;AApHD,kDAoHC;AAMD,SAAgB,sBAAsB,CAAC,YAAsB,EAAE,KAAgB;;IAC7E,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,MAAA,MAAC,KAAK,CAAC,UAA+B,EAAC,qBAAqB,mDAAG,YAAY,CAAC,CAAC;YAC7E,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAElD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;SACrC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE;YAC1B,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACtD,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAE3B,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;SACrC;aAAM;YACL,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,OAAO;aACR;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtE,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,MAAM,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,UAAU,EAAE;gBACpB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;gBACvD,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;gBAC3C,IAAI,cAAc,GAAG,QAAQ,EAAE;oBAE7B,IAAI,cAAc,GAAG,QAAQ,GAAG,YAAY,EAAE;wBAE5C,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;wBAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;qBACrC;yBAAM;wBACL,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;wBAC/F,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;wBAEnF,MAAM,SAAS,GACb,cAAc;4BACd,CAAC,QAAQ,GAAG,YAAY,CAAC;4BACzB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;4BAC5E,mBAAmB,CAAC;wBAEtB,MAAM,UAAU,GAAG,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,EAAE,CAAC;wBAEnB,KAAK,IAAI,GAAG,GAAG,SAAS,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,EAAE,EAAE;4BAClD,IAAI,KAAK,CAAC,SAAS,EAAE;gCACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;6BACvC;iCAAM;gCACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;6BAClC;yBACF;wBAED,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,mBAAmB,EAAE,GAAG,EAAE,EAAE;4BAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;gCACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;6BACvC;iCAAM;gCACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;6BAClC;yBACF;wBAED,IAAI,WAAW,GAAG,WAAW,EAAE;4BAE7B,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,EAAE,EAAE;gCACpD,IAAI,KAAK,CAAC,SAAS,EAAE;oCACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iCACpC;qCAAM;oCACL,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;iCAC/B;6BACF;yBACF;wBACD,MAAA,KAAK,CAAC,iBAAiB,0CAAE,UAAU,EAAE,CAAC;wBACtC,KAAK,CAAC,SAAS;4BACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC;4BACrD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;wBACxD,MAAA,KAAK,CAAC,iBAAiB,0CAAE,mBAAmB,EAAE,CAAC;qBAChD;iBACF;aACF;iBAAM;gBACL,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBAC/F,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBACnF,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,2BAA2B,CAAC;gBACzF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAChE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAAC;oBAC/D,IAAI,KAAK,CAAC,SAAS,EAAE;wBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;qBACvC;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;qBACvC;iBACF;gBACD,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,mBAAmB,EAAE,GAAG,EAAE,EAAE;oBAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;wBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;qBACvC;yBAAM;wBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;qBAClC;iBACF;gBACD,KACE,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACtF,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EACzD,GAAG,EAAE,EACL;oBACA,IAAI,KAAK,CAAC,SAAS,EAAE;wBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;qBACvC;yBAAM;wBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;qBAClC;iBACF;gBAED,MAAA,KAAK,CAAC,iBAAiB,0CAAE,UAAU,EAAE,CAAC;gBACtC,KAAK,CAAC,SAAS;oBACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC;oBACrD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACxD,MAAA,KAAK,CAAC,iBAAiB,0CAAE,mBAAmB,EAAE,CAAC;aAChD;SACF;KAEF;AACH,CAAC;AA7HD,wDA6HC;AAOD,SAAgB,sBAAsB,CAAC,OAAc,EAAE,YAAsB,EAAE,KAAgB;;IAC7F,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,MAAA,MAAC,KAAK,CAAC,UAA+B,EAAC,qBAAqB,mDAAG,OAAO,EAAE,YAAY,CAAC,CAAC;YACtF,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC3B,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAElD,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;SACrC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE;YAC1B,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC/D,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAE3B,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;SACrC;aAAM;YACL,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACjF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,OAAO;aACR;YACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChG,MAAM,oBAAoB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,IAAI,KAAK,CAAC,UAAU,EAAE;gBACpB,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;gBACvD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBAC/F,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBACnF,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;gBAC3C,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAChE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,WAAW,GAAG,QAAQ,IAAI,WAAW,IAAI,QAAQ,GAAG,YAAY,EAAE;wBACpE,MAAM,MAAM,GACV,WAAW;4BACX,CAAC,QAAQ,GAAG,YAAY,CAAC;4BACzB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;4BAC5E,mBAAmB,CAAC;wBACtB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACzB;iBACF;gBACD,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC1B,MAAM,cAAc,GAAG,EAAE,CAAC;oBAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACtD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;wBACpC,IAAI,KAAK,CAAC,SAAS,EAAE;4BACnB,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;yBACjD;6BAAM;4BACL,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;yBACjD;qBACF;oBACD,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,mBAAmB,EAAE,GAAG,EAAE,EAAE;wBAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;4BACnB,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;yBAC3C;6BAAM;4BACL,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;yBACtC;qBACF;oBACD,KAAK,CAAC,SAAS;wBACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC;wBACpD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;iBACxD;aACF;iBAAM;gBACL,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBAC/F,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBACnF,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,2BAA2B,CAAC;gBACzF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAChE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAAC;oBAC/D,IAAI,KAAK,CAAC,SAAS,EAAE;wBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;qBAC1C;yBAAM;wBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;qBAC1C;iBACF;gBACD,KAAK,IAAI,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,GAAG,mBAAmB,EAAE,GAAG,EAAE,EAAE;oBAC1E,IAAI,KAAK,CAAC,SAAS,EAAE;wBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;qBACvC;yBAAM;wBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;qBAClC;iBACF;gBACD,KACE,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,sBAAsB,EACtF,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EACzD,GAAG,EAAE,EACL;oBACA,IAAI,KAAK,CAAC,SAAS,EAAE;wBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;qBACvC;yBAAM;wBACL,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;qBAClC;iBACF;gBACD,KAAK,CAAC,SAAS;oBACb,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC;oBAChD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;aACpD;SACF;KAEF;AACH,CAAC;AArGD,wDAqGC","file":"record-helper.js","sourcesContent":["/* eslint-disable max-depth */\nimport type { ListTable } from '../ListTable';\nimport type { CachedDataSource } from '../data';\nimport { computeColWidth } from '../scenegraph/layout/compute-col-width';\nimport { computeRowHeight } from '../scenegraph/layout/compute-row-height';\nimport { isPromise } from '../tools/helper';\nimport { defaultOrderFn } from '../tools/util';\nimport type { SortState } from '../ts-types';\nimport { TABLE_EVENT_TYPE } from './TABLE_EVENT_TYPE';\n\n/**\n * 更改单元格数据 会触发change_cell_value事件\n * @param col\n * @param row\n * @param value 更改后的值\n * @param workOnEditableCell 限制只能更改配置了编辑器的单元格值。快捷键paste这里配置的true,限制只能修改可编辑单元格值\n */\nexport function listTableChangeCellValue(\n col: number,\n row: number,\n value: string | number | null,\n workOnEditableCell: boolean,\n table: ListTable\n) {\n if ((workOnEditableCell && table.isHasEditorDefine(col, row)) || workOnEditableCell === false) {\n const recordIndex = table.getRecordShowIndexByCell(col, row);\n const { field } = table.internalProps.layoutMap.getBody(col, row);\n const beforeChangeValue = table.getCellRawValue(col, row);\n const oldValue = table.getCellOriginValue(col, row);\n if (table.isHeader(col, row)) {\n table.internalProps.layoutMap.updateColumnTitle(col, row, value as string);\n } else {\n table.dataSource.changeFieldValue(value, recordIndex, field, col, row, table);\n }\n const range = table.getCellRange(col, row);\n //改变单元格的值后 聚合值做重新计算\n const aggregators = table.internalProps.layoutMap.getAggregatorsByCell(col, row);\n if (aggregators) {\n if (Array.isArray(aggregators)) {\n for (let i = 0; i < aggregators?.length; i++) {\n aggregators[i].recalculate();\n }\n } else {\n aggregators.recalculate();\n }\n const aggregatorCells = table.internalProps.layoutMap.getAggregatorCellAddress(\n range.start.col,\n range.start.row,\n range.end.col,\n range.end.row\n );\n for (let i = 0; i < aggregatorCells.length; i++) {\n const range = table.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);\n for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n }\n }\n\n // const cell_value = table.getCellValue(col, row);\n\n for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n if (table.widthMode === 'adaptive' || (table.autoFillWidth && table.getAllColsWidth() <= table.tableNoFrameWidth)) {\n if (table.internalProps._widthResizedColMap.size === 0) {\n //如果没有手动调整过行高列宽 则重新计算一遍并重新分配\n table.scenegraph.recalculateColWidths();\n }\n } else if (!table.internalProps._widthResizedColMap.has(col)) {\n const oldWidth = table.getColWidth(col);\n const newWidth = computeColWidth(col, 0, table.rowCount - 1, table, false);\n if (newWidth !== oldWidth) {\n table.scenegraph.updateColWidth(col, newWidth - oldWidth);\n }\n }\n if (\n table.heightMode === 'adaptive' ||\n (table.autoFillHeight && table.getAllRowsHeight() <= table.tableNoFrameHeight)\n ) {\n if (table.internalProps._heightResizedRowMap.size === 0) {\n table.scenegraph.recalculateRowHeights();\n }\n } else if (table.heightMode === 'autoHeight' && !table.internalProps._heightResizedRowMap.has(row)) {\n const oldHeight = table.getRowHeight(row);\n const newHeight = computeRowHeight(row, 0, table.colCount - 1, table);\n table.scenegraph.updateRowHeight(row, newHeight - oldHeight);\n }\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {\n col,\n row,\n rawValue: beforeChangeValue,\n currentValue: oldValue,\n changedValue: table.getCellOriginValue(col, row)\n });\n table.scenegraph.updateNextFrame();\n }\n}\n/**\n * 批量更新多个单元格的数据\n * @param col 粘贴数据的起始列号\n * @param row 粘贴数据的起始行号\n * @param values 多个单元格的数据数组\n * @param workOnEditableCell 是否仅更改可编辑单元格\n */\nexport function listTableChangeCellValues(\n startCol: number,\n startRow: number,\n values: (string | number)[][],\n workOnEditableCell: boolean,\n table: ListTable\n) {\n let pasteColEnd = startCol;\n let pasteRowEnd = startRow;\n // const rowCount = values.length;\n //#region 提前组织好未更改前的数据\n const beforeChangeValues: (string | number)[][] = [];\n const oldValues: (string | number)[][] = [];\n let cellUpdateType: 'normal' | 'sort' | 'group';\n\n for (let i = 0; i < values.length; i++) {\n if (startRow + i > table.rowCount - 1) {\n break;\n }\n const rowValues = values[i];\n const rawRowValues: (string | number)[] = [];\n const oldRowValues: (string | number)[] = [];\n beforeChangeValues.push(rawRowValues);\n oldValues.push(oldRowValues);\n for (let j = 0; j < rowValues.length; j++) {\n if (startCol + j > table.colCount - 1) {\n break;\n }\n cellUpdateType = getCellUpdateType(startCol + j, startRow + i, table, cellUpdateType);\n const beforeChangeValue = table.getCellRawValue(startCol + j, startRow + i);\n rawRowValues.push(beforeChangeValue);\n const oldValue = table.getCellOriginValue(startCol + j, startRow + i);\n oldRowValues.push(oldValue);\n }\n }\n //#endregion\n for (let i = 0; i < values.length; i++) {\n if (startRow + i > table.rowCount - 1) {\n break;\n }\n pasteRowEnd = startRow + i;\n const rowValues = values[i];\n let thisRowPasteColEnd = startCol;\n for (let j = 0; j < rowValues.length; j++) {\n if (startCol + j > table.colCount - 1) {\n break;\n }\n thisRowPasteColEnd = startCol + j;\n let isCanChange = false;\n if (workOnEditableCell === false) {\n isCanChange = true;\n } else {\n if (table.isHasEditorDefine(startCol + j, startRow + i)) {\n const editor = table.getEditor(startCol + j, startRow + i);\n const oldValue = oldValues[i][j];\n const value = rowValues[j];\n const maybePromiseOrValue = editor?.validateValue?.(value, oldValue) ?? true;\n if (isPromise(maybePromiseOrValue)) {\n //TODO 处理promise的情况\n isCanChange = true;\n } else {\n isCanChange = maybePromiseOrValue;\n }\n }\n }\n // if ((workOnEditableCell && table.isHasEditorDefine(startCol + j, startRow + i)) || workOnEditableCell === false) {\n if (isCanChange) {\n const value = rowValues[j];\n const recordIndex = table.getRecordShowIndexByCell(startCol + j, startRow + i);\n const { field } = table.internalProps.layoutMap.getBody(startCol + j, startRow + i);\n // const beforeChangeValue = table.getCellRawValue(startCol + j, startRow + i);\n // const oldValue = table.getCellOriginValue(startCol + j, startRow + i);\n const beforeChangeValue = beforeChangeValues[i][j];\n const oldValue = oldValues[i][j];\n if (table.isHeader(startCol + j, startRow + i)) {\n table.internalProps.layoutMap.updateColumnTitle(startCol + j, startRow + i, value as string);\n } else {\n table.dataSource.changeFieldValue(value, recordIndex, field, startCol + j, startRow + i, table);\n }\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {\n col: startCol + j,\n row: startRow + i,\n rawValue: beforeChangeValue,\n currentValue: oldValue,\n changedValue: table.getCellOriginValue(startCol + j, startRow + i)\n });\n }\n }\n pasteColEnd = Math.max(pasteColEnd, thisRowPasteColEnd);\n }\n\n // const cell_value = table.getCellValue(col, row);\n const startRange = table.getCellRange(startCol, startRow);\n const range = table.getCellRange(pasteColEnd, pasteRowEnd);\n\n //改变单元格的值后 聚合值做重新计算\n const aggregators = table.internalProps.layoutMap.getAggregatorsByCellRange(\n startRange.start.col,\n startRange.start.row,\n range.end.col,\n range.end.row\n );\n\n if (aggregators) {\n for (let i = 0; i < aggregators?.length; i++) {\n aggregators[i].recalculate();\n }\n\n if (cellUpdateType === 'normal') {\n const aggregatorCells = table.internalProps.layoutMap.getAggregatorCellAddress(\n startRange.start.col,\n startRange.start.row,\n range.end.col,\n range.end.row\n );\n for (let i = 0; i < aggregatorCells.length; i++) {\n const range = table.getCellRange(aggregatorCells[i].col, aggregatorCells[i].row);\n for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n }\n }\n }\n\n if (cellUpdateType === 'group') {\n (table.dataSource as CachedDataSource).updateRecordsForGroup([], []);\n }\n\n if (cellUpdateType === 'sort' || cellUpdateType === 'group') {\n (table.dataSource as any).sortedIndexMap.clear();\n sortRecords(table);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n return;\n }\n\n for (let sCol = startRange.start.col; sCol <= range.end.col; sCol++) {\n for (let sRow = startRange.start.row; sRow <= range.end.row; sRow++) {\n table.scenegraph.updateCellContent(sCol, sRow);\n }\n }\n if (table.widthMode === 'adaptive' || (table.autoFillWidth && table.getAllColsWidth() <= table.tableNoFrameWidth)) {\n if (table.internalProps._widthResizedColMap.size === 0) {\n //如果没有手动调整过行高列宽 则重新计算一遍并重新分配\n table.scenegraph.recalculateColWidths();\n }\n } else {\n for (let sCol = startCol; sCol <= range.end.col; sCol++) {\n if (!table.internalProps._widthResizedColMap.has(sCol)) {\n const oldWidth = table.getColWidth(sCol);\n const newWidth = computeColWidth(sCol, 0, table.rowCount - 1, table, false);\n if (newWidth !== oldWidth) {\n table.scenegraph.updateColWidth(sCol, newWidth - oldWidth);\n }\n }\n }\n }\n if (\n table.heightMode === 'adaptive' ||\n (table.autoFillHeight && table.getAllRowsHeight() <= table.tableNoFrameHeight)\n ) {\n table.scenegraph.recalculateRowHeights();\n } else if (table.heightMode === 'autoHeight') {\n const rows: number[] = [];\n const deltaYs: number[] = [];\n for (let sRow = startRow; sRow <= range.end.row; sRow++) {\n if (table.rowHeightsMap.get(sRow)) {\n // 已经计算过行高的才走更新逻辑\n const oldHeight = table.getRowHeight(sRow);\n const newHeight = computeRowHeight(sRow, 0, table.colCount - 1, table);\n rows.push(sRow);\n deltaYs.push(newHeight - oldHeight);\n }\n }\n table.scenegraph.updateRowsHeight(rows, deltaYs);\n }\n\n table.scenegraph.updateNextFrame();\n}\n\ntype CellUpdateType = 'normal' | 'sort' | 'group';\nfunction getCellUpdateType(\n col: number,\n row: number,\n table: ListTable,\n oldCellUpdateType: CellUpdateType | undefined\n): CellUpdateType {\n if (oldCellUpdateType === 'group') {\n return oldCellUpdateType;\n }\n if (oldCellUpdateType === 'sort' && !table.options.groupBy) {\n return oldCellUpdateType;\n }\n let cellUpdateType: CellUpdateType = 'normal';\n if (table.options.groupBy) {\n cellUpdateType = 'group';\n } else if (!table.isHeader(col, row) && (table.dataSource as any).lastOrderField) {\n const field = table.getBodyField(col, row);\n if (field === (table.dataSource as any).lastOrderField) {\n cellUpdateType = 'sort';\n }\n }\n return cellUpdateType;\n}\n\nexport function sortRecords(table: ListTable) {\n let sortState = table.sortState;\n sortState = !sortState || Array.isArray(sortState) ? sortState : [sortState];\n\n if (sortState) {\n sortState = (sortState as SortState[]).map(item => {\n item.orderFn = table._getSortFuncFromHeaderOption(undefined, item.field) ?? defaultOrderFn;\n //const hd = table.internalProps.layoutMap.headerObjects.find((col: any) => col && col.field === item.field);\n return item;\n });\n\n table.dataSource.sort(sortState);\n }\n}\n\n/**\n * 添加数据 单条数据\n * @param record 数据\n * @param recordIndex 向数据源中要插入的位置,从0开始。不设置recordIndex的话 默认追加到最后。\n * 如果设置了排序规则recordIndex无效,会自动适应排序逻辑确定插入顺序。\n * recordIndex 可以通过接口getRecordShowIndexByCell获取\n */\nexport function listTableAddRecord(record: any, recordIndex: number, table: ListTable) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).addRecordsForGroup?.([record], recordIndex);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.addRecordForSorted(record);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n if (recordIndex === undefined || recordIndex > table.dataSource.sourceLength) {\n recordIndex = table.dataSource.sourceLength;\n }\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n table.dataSource.addRecord(record, recordIndex);\n const oldRowCount = table.rowCount;\n table.refreshRowColCount();\n if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n return;\n }\n const newRowCount = table.transpose ? table.colCount : table.rowCount;\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n if (recordIndex < endIndex) {\n //插入当前页或者前面的数据才需要更新 如果是插入的是当前页后面的数据不需要更新场景树\n if (recordIndex < endIndex - perPageCount) {\n // 如果是当页之前的数据 则整个场景树都更新\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n //如果是插入当前页数据\n const rowNum = recordIndex - (endIndex - perPageCount) + headerCount;\n if (oldRowCount - headerCount === table.pagination.perPageCount) {\n //如果当页数据是满的 则更新插入的部分行\n const updateRows = [];\n for (let row = rowNum; row < newRowCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRows)\n : table.scenegraph.updateRow([], [], updateRows);\n } else {\n //如果当页数据不是满的 则插入新数据\n const addRows = [];\n for (let row = rowNum; row < Math.min(newRowCount, rowNum + 1); row++) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n table.transpose ? table.scenegraph.updateCol([], addRows, []) : table.scenegraph.updateRow([], addRows, []);\n }\n }\n }\n } else {\n const addRows = [];\n for (let row = recordIndex + headerCount; row < recordIndex + headerCount + 1; row++) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n const updateRows = [];\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose ? table.scenegraph.updateCol([], addRows, []) : table.scenegraph.updateRow([], addRows, []);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n}\n\n/**\n * 添加数据 支持多条数据\n * @param records 多条数据\n * @param recordIndex 向数据源中要插入的位置,从0开始。不设置recordIndex的话 默认追加到最后。\n * 如果设置了排序规则recordIndex无效,会自动适应排序逻辑确定插入顺序。\n * recordIndex 可以通过接口getRecordShowIndexByCell获取\n */\nexport function listTableAddRecords(records: any[], recordIndex: number, table: ListTable) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).addRecordsForGroup?.(records, recordIndex);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.addRecordsForSorted(records);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n if (recordIndex === undefined || recordIndex > table.dataSource.sourceLength) {\n recordIndex = table.dataSource.sourceLength;\n } else if (recordIndex < 0) {\n recordIndex = 0;\n }\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n table.dataSource.addRecords(records, recordIndex);\n const oldRowCount = table.transpose ? table.colCount : table.rowCount;\n table.refreshRowColCount();\n if (table.scenegraph.proxy.totalActualBodyRowCount === 0) {\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n return;\n }\n const newRowCount = table.transpose ? table.colCount : table.rowCount;\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n if (recordIndex < endIndex) {\n //插入当前页或者前面的数据才需要更新 如果是插入的是当前页后面的数据不需要更新场景树\n if (recordIndex < endIndex - perPageCount) {\n // 如果是当页之前的数据 则整个场景树都更新\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n //如果是插入当前页数据\n\n const rowNum = recordIndex - (endIndex - perPageCount) + headerCount;\n if (oldRowCount - headerCount === table.pagination.perPageCount) {\n //如果当页数据是满的 则更新插入的部分行\n const updateRows = [];\n for (let row = rowNum; row < newRowCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRows)\n : table.scenegraph.updateRow([], [], updateRows);\n } else {\n //如果当页数据不是满的 则插入新数据\n const addRows = [];\n for (\n let row = rowNum;\n row < Math.min(newRowCount, rowNum + (Array.isArray(records) ? records.length : 1));\n row++\n ) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n table.transpose ? table.scenegraph.updateCol([], addRows, []) : table.scenegraph.updateRow([], addRows, []);\n }\n }\n }\n } else {\n const addRows = [];\n for (\n let row = recordIndex + headerCount;\n row < recordIndex + headerCount + (Array.isArray(records) ? records.length : 1);\n row++\n ) {\n if (table.transpose) {\n addRows.push({ col: row, row: 0 });\n } else {\n addRows.push({ col: 0, row });\n }\n }\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n const updateRows = [];\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], addRows, updateRows)\n : table.scenegraph.updateRow([], addRows, updateRows);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n}\n\n/**\n * 删除数据 支持多条数据\n * @param recordIndexs 要删除数据的索引(显示在body中的索引,即要修改的是body部分的第几行数据)\n */\nexport function listTableDeleteRecords(recordIndexs: number[], table: ListTable) {\n if (recordIndexs?.length > 0) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).deleteRecordsForGroup?.(recordIndexs);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.deleteRecordsForSorted(recordIndexs);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n const deletedRecordIndexs = table.dataSource.deleteRecords(recordIndexs);\n if (deletedRecordIndexs.length === 0) {\n return;\n }\n const oldRowCount = table.transpose ? table.colCount : table.rowCount;\n table.refreshRowColCount();\n const newRowCount = table.transpose ? table.colCount : table.rowCount;\n const recordIndexsMinToMax = deletedRecordIndexs.sort((a, b) => a - b);\n const minRecordIndex = recordIndexsMinToMax[0];\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n if (minRecordIndex < endIndex) {\n //删除当前页或者前面的数据才需要更新 如果是删除的是当前页后面的数据不需要更新场景树\n if (minRecordIndex < endIndex - perPageCount) {\n // 如果删除包含当页之前的数据 则整个场景树都更新\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n //如果是仅删除当前页数据\n const minRowNum =\n minRecordIndex -\n (endIndex - perPageCount) +\n (table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount) +\n topAggregationCount;\n //如果当页数据是满的 则更新影响的部分行\n const updateRows = [];\n const delRows = [];\n\n for (let row = minRowNum; row < newRowCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n\n if (newRowCount < oldRowCount) {\n //如果如果删除后不满 需要有删除数据\n for (let row = newRowCount; row < oldRowCount; row++) {\n if (table.transpose) {\n delRows.push({ col: row, row: 0 });\n } else {\n delRows.push({ col: 0, row });\n }\n }\n }\n table.reactCustomLayout?.clearCache();\n table.transpose\n ? table.scenegraph.updateCol(delRows, [], updateRows)\n : table.scenegraph.updateRow(delRows, [], updateRows);\n table.reactCustomLayout?.updateAllCustomCell();\n }\n }\n } else {\n const delRows = [];\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n for (let index = 0; index < recordIndexsMinToMax.length; index++) {\n const recordIndex = recordIndexsMinToMax[index];\n const rowNum = recordIndex + headerCount + topAggregationCount;\n if (table.transpose) {\n delRows.push({ col: rowNum, row: 0 });\n } else {\n delRows.push({ col: 0, row: rowNum });\n }\n }\n const updateRows = [];\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n\n table.reactCustomLayout?.clearCache();\n table.transpose\n ? table.scenegraph.updateCol(delRows, [], updateRows)\n : table.scenegraph.updateRow(delRows, [], updateRows);\n table.reactCustomLayout?.updateAllCustomCell();\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n }\n}\n\n/**\n * 修改数据 支持多条数据\n * @param records 修改数据条目\n * @param recordIndexs 对应修改数据的索引(显示在body中的索引,即要修改的是body部分的第几行数据)\n */\nexport function listTableUpdateRecords(records: any[], recordIndexs: number[], table: ListTable) {\n if (recordIndexs?.length > 0) {\n if (table.options.groupBy) {\n (table.dataSource as CachedDataSource).updateRecordsForGroup?.(records, recordIndexs);\n table.refreshRowColCount();\n table.internalProps.layoutMap.clearCellRangeMap();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else if (table.sortState) {\n table.dataSource.updateRecordsForSorted(records, recordIndexs);\n sortRecords(table);\n table.refreshRowColCount();\n // 更新整个场景树\n table.scenegraph.clearCells();\n table.scenegraph.createSceneGraph();\n } else {\n const updateRecordIndexs = table.dataSource.updateRecords(records, recordIndexs);\n if (updateRecordIndexs.length === 0) {\n return;\n }\n const bodyRowIndex = updateRecordIndexs.map(index => table.getBodyRowIndexByRecordIndex(index));\n const recordIndexsMinToMax = bodyRowIndex.sort((a, b) => a - b);\n if (table.pagination) {\n const { perPageCount, currentPage } = table.pagination;\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const startIndex = perPageCount * (currentPage || 0);\n const endIndex = startIndex + perPageCount;\n const updateRows = [];\n for (let index = 0; index < recordIndexsMinToMax.length; index++) {\n const recordIndex = recordIndexsMinToMax[index];\n if (recordIndex < endIndex && recordIndex >= endIndex - perPageCount) {\n const rowNum =\n recordIndex -\n (endIndex - perPageCount) +\n (table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount) +\n topAggregationCount;\n updateRows.push(rowNum);\n }\n }\n if (updateRows.length >= 1) {\n const updateRowCells = [];\n for (let index = 0; index < updateRows.length; index++) {\n const updateRow = updateRows[index];\n if (table.transpose) {\n updateRowCells.push({ col: updateRow, row: 0 });\n } else {\n updateRowCells.push({ col: 0, row: updateRow });\n }\n }\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRowCells.push({ col: row, row: 0 });\n } else {\n updateRowCells.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRowCells)\n : table.scenegraph.updateRow([], [], updateRowCells);\n }\n } else {\n const updateRows = [];\n const headerCount = table.transpose ? table.rowHeaderLevelCount : table.columnHeaderLevelCount;\n const topAggregationCount = table.internalProps.layoutMap.hasAggregationOnTopCount;\n const bottomAggregationCount = table.internalProps.layoutMap.hasAggregationOnBottomCount;\n for (let index = 0; index < recordIndexsMinToMax.length; index++) {\n const recordIndex = recordIndexsMinToMax[index];\n const rowNum = recordIndex + headerCount + topAggregationCount;\n if (table.transpose) {\n updateRows.push({ col: rowNum, row: 0 });\n } else {\n updateRows.push({ col: 0, row: rowNum });\n }\n }\n for (let row = headerCount; row < headerCount + topAggregationCount; row++) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n for (\n let row = (table.transpose ? table.colCount : table.rowCount) - bottomAggregationCount;\n row < (table.transpose ? table.colCount : table.rowCount);\n row++\n ) {\n if (table.transpose) {\n updateRows.push({ col: row, row: 0 });\n } else {\n updateRows.push({ col: 0, row });\n }\n }\n table.transpose\n ? table.scenegraph.updateCol([], [], updateRows)\n : table.scenegraph.updateRow([], [], updateRows);\n }\n }\n // table.fireListeners(TABLE_EVENT_TYPE.ADD_RECORD, { row });\n }\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ import { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils
|
|
|
19
19
|
export { getDataCellPath } from './tools/get-data-path';
|
|
20
20
|
export * from './render/jsx';
|
|
21
21
|
export { getTargetCell } from './event/util';
|
|
22
|
-
export declare const version = "1.11.
|
|
22
|
+
export declare const version = "1.11.3-alpha.0";
|
|
23
23
|
export { TYPES, core, ListTable, ListTableSimple, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, GanttConstructorOptions, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
|
|
24
24
|
declare function getIcons(): {
|
|
25
25
|
[key: string]: TYPES.ColumnIconOption;
|
package/cjs/index.js
CHANGED
|
@@ -169,7 +169,7 @@ Object.defineProperty(exports, "getTargetCell", {
|
|
|
169
169
|
get: function() {
|
|
170
170
|
return util_1.getTargetCell;
|
|
171
171
|
}
|
|
172
|
-
}), exports.version = "1.11.
|
|
172
|
+
}), exports.version = "1.11.3-alpha.0", exports.getIcons = getIcons, exports.clearGlobal = clearGlobal,
|
|
173
173
|
TYPES.AggregationType, __exportStar(require("./components"), exports), __exportStar(require("./scenegraph/group-creater/cell-type"), exports);
|
|
174
174
|
|
|
175
175
|
var TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE");
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AAyG1D,4FAzGO,qBAAW,OAyGP;AAxGb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AA6DlC,sBAAK;AA5DP,6CAA+B;AA6D7B,oBAAI;AA5DN,6CAA+B;AAuF7B,oBAAI;AAtFN,+CAAiC;AACjC,qDAAuC;AA0FrC,4BAAQ;AAzFV,iDAAmC;AAmFjC,wBAAM;AAlFR,yEAA2D;AA4FzD,wCAAc;AArEhB,mDAA4D;AAkC1D,0FAlCuB,4BAAS,OAkCvB;AAjCX,yDAAqD;AAkCnD,gGAlCO,kCAAe,OAkCP;AAhCjB,qDAA+D;AAkC7D,2FAlCwB,8BAAU,OAkCxB;AAjCZ,2DAAuD;AAkCrD,iGAlCO,oCAAgB,OAkCP;AAjClB,6CAA0C;AAoCxC,2FApCO,uBAAU,OAoCP;AAlCZ,8DAAgD;AA+D9C,oCAAY;AA7Dd,wEAAoE;AA8DlE,2FA9DO,wBAAU,OA8DP;AA7DZ,gGAAqF;AA8DnF,4FA9DO,iCAAW,OA8DP;AA7Db,kEAA+F;AAgE7F,mGAhEO,iCAAkB,OAgEP;AADlB,yGA/D2B,uCAAwB,OA+D3B;AA1D1B,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AAKT,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AAyG1D,4FAzGO,qBAAW,OAyGP;AAxGb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AA6DlC,sBAAK;AA5DP,6CAA+B;AA6D7B,oBAAI;AA5DN,6CAA+B;AAuF7B,oBAAI;AAtFN,+CAAiC;AACjC,qDAAuC;AA0FrC,4BAAQ;AAzFV,iDAAmC;AAmFjC,wBAAM;AAlFR,yEAA2D;AA4FzD,wCAAc;AArEhB,mDAA4D;AAkC1D,0FAlCuB,4BAAS,OAkCvB;AAjCX,yDAAqD;AAkCnD,gGAlCO,kCAAe,OAkCP;AAhCjB,qDAA+D;AAkC7D,2FAlCwB,8BAAU,OAkCxB;AAjCZ,2DAAuD;AAkCrD,iGAlCO,oCAAgB,OAkCP;AAjClB,6CAA0C;AAoCxC,2FApCO,uBAAU,OAoCP;AAlCZ,8DAAgD;AA+D9C,oCAAY;AA7Dd,wEAAoE;AA8DlE,2FA9DO,wBAAU,OA8DP;AA7DZ,gGAAqF;AA8DnF,4FA9DO,iCAAW,OA8DP;AA7Db,kEAA+F;AAgE7F,mGAhEO,iCAAkB,OAgEP;AADlB,yGA/D2B,uCAAwB,OA+D3B;AA1D1B,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AAKT,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAyDxC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAtBC,4BAAQ;AAwBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA3BC,kCAAW;AA4Bb,KAAK,CAAC,eAAe,CAAC;AAEtB,+CAA6B;AAC7B,uEAAqD;AAErD,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,wFAA+G;AAAtG,gIAAA,sBAAsB,OAAA;AAAE,gIAAA,sBAAsB,OAAA;AAEvD,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AACpB,6DAA2C;AAC3C,+DAA6C;AAC7C,6DAA2C","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n GanttConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.11.3-alpha.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n GanttConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText\n // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\nexport * from './plugins/invert-highlight';\nexport * from './plugins/carousel-animation';\nexport * from './plugins/header-highlight';\n"]}
|
package/cjs/vrender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAAwH;AACxH,yDAqBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,uCAAwB,GAAE,CAAC;IAE3B,IAAA,+BAAU,GAAE,CAAC;IAEb,IAAA,uCAAwB,GAAE,CAAC;AAC7B,CAAC;AAnCD,gDAmCC;AAGD,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.11.
|
|
1
|
+
{"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAAwH;AACxH,yDAqBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,uCAAwB,GAAE,CAAC;IAE3B,IAAA,+BAAU,GAAE,CAAC;IAEb,IAAA,uCAAwB,GAAE,CAAC;AAC7B,CAAC;AAnCD,gDAmCC;AAGD,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.11.3-alpha.0\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction, Timeline } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
|
package/dist/vtable.js
CHANGED
|
@@ -33276,15 +33276,18 @@
|
|
|
33276
33276
|
table;
|
|
33277
33277
|
customLayoutFuncCache;
|
|
33278
33278
|
reactRemoveGraphicCache;
|
|
33279
|
+
reactRemoveAllGraphicCache;
|
|
33279
33280
|
headerCustomLayoutFuncCache;
|
|
33280
33281
|
headerReactRemoveGraphicCache;
|
|
33281
|
-
|
|
33282
|
-
|
|
33282
|
+
headerReactRemoveAllGraphicCache;
|
|
33283
|
+
constructor(table) {
|
|
33283
33284
|
this.table = table;
|
|
33284
33285
|
this.customLayoutFuncCache = new Map();
|
|
33285
33286
|
this.reactRemoveGraphicCache = new Map();
|
|
33287
|
+
this.reactRemoveAllGraphicCache = new Map();
|
|
33286
33288
|
this.headerCustomLayoutFuncCache = new Map();
|
|
33287
33289
|
this.headerReactRemoveGraphicCache = new Map();
|
|
33290
|
+
this.headerReactRemoveAllGraphicCache = new Map();
|
|
33288
33291
|
}
|
|
33289
33292
|
hasReactCreateGraphic(componentId, isHeaderCustomLayout) {
|
|
33290
33293
|
if (isHeaderCustomLayout) {
|
|
@@ -33308,6 +33311,14 @@
|
|
|
33308
33311
|
this.reactRemoveGraphicCache.set(componentId, removeGraphic);
|
|
33309
33312
|
}
|
|
33310
33313
|
}
|
|
33314
|
+
setReactRemoveAllGraphic(componentId, removeGraphic, isHeaderCustomLayout) {
|
|
33315
|
+
if (isHeaderCustomLayout) {
|
|
33316
|
+
this.headerReactRemoveAllGraphicCache.set(componentId, removeGraphic);
|
|
33317
|
+
}
|
|
33318
|
+
else {
|
|
33319
|
+
this.reactRemoveAllGraphicCache.set(componentId, removeGraphic);
|
|
33320
|
+
}
|
|
33321
|
+
}
|
|
33311
33322
|
updateCustomCell(componentId, isHeaderCustomLayout) {
|
|
33312
33323
|
const table = this.table;
|
|
33313
33324
|
if (table.isPivotTable()) {
|
|
@@ -33364,7 +33375,20 @@
|
|
|
33364
33375
|
}
|
|
33365
33376
|
}
|
|
33366
33377
|
clearCache() {
|
|
33367
|
-
this.
|
|
33378
|
+
this.reactRemoveAllGraphicCache.forEach(removeFun => {
|
|
33379
|
+
removeFun();
|
|
33380
|
+
});
|
|
33381
|
+
this.headerReactRemoveAllGraphicCache.forEach(removeFun => {
|
|
33382
|
+
removeFun();
|
|
33383
|
+
});
|
|
33384
|
+
}
|
|
33385
|
+
updateAllCustomCell() {
|
|
33386
|
+
this.customLayoutFuncCache.forEach((createFun, componentId) => {
|
|
33387
|
+
this.updateCustomCell(componentId);
|
|
33388
|
+
});
|
|
33389
|
+
this.headerCustomLayoutFuncCache.forEach((createFun, componentId) => {
|
|
33390
|
+
this.updateCustomCell(componentId, true);
|
|
33391
|
+
});
|
|
33368
33392
|
}
|
|
33369
33393
|
}
|
|
33370
33394
|
function getUpdateCustomCellRangeInListTable(componentId, table, isHeaderCustomLayout) {
|
|
@@ -57561,7 +57585,7 @@
|
|
|
57561
57585
|
return TABLE_EVENT_TYPE;
|
|
57562
57586
|
}
|
|
57563
57587
|
options;
|
|
57564
|
-
version = "1.11.
|
|
57588
|
+
version = "1.11.3-alpha.0";
|
|
57565
57589
|
pagination;
|
|
57566
57590
|
id = `VTable${Date.now()}`;
|
|
57567
57591
|
headerStyleCache;
|
|
@@ -60153,9 +60177,9 @@
|
|
|
60153
60177
|
setSortedIndexMap(field, filedMap) {
|
|
60154
60178
|
this.dataSource?.setSortedIndexMap(field, filedMap);
|
|
60155
60179
|
}
|
|
60156
|
-
checkReactCustomLayout(
|
|
60180
|
+
checkReactCustomLayout() {
|
|
60157
60181
|
if (!this.reactCustomLayout) {
|
|
60158
|
-
this.reactCustomLayout = new ReactCustomLayout(
|
|
60182
|
+
this.reactCustomLayout = new ReactCustomLayout(this);
|
|
60159
60183
|
}
|
|
60160
60184
|
}
|
|
60161
60185
|
get bodyDomContainer() {
|
|
@@ -63298,9 +63322,11 @@
|
|
|
63298
63322
|
}
|
|
63299
63323
|
}
|
|
63300
63324
|
}
|
|
63325
|
+
table.reactCustomLayout?.clearCache();
|
|
63301
63326
|
table.transpose
|
|
63302
63327
|
? table.scenegraph.updateCol(delRows, [], updateRows)
|
|
63303
63328
|
: table.scenegraph.updateRow(delRows, [], updateRows);
|
|
63329
|
+
table.reactCustomLayout?.updateAllCustomCell();
|
|
63304
63330
|
}
|
|
63305
63331
|
}
|
|
63306
63332
|
}
|
|
@@ -63336,9 +63362,11 @@
|
|
|
63336
63362
|
updateRows.push({ col: 0, row });
|
|
63337
63363
|
}
|
|
63338
63364
|
}
|
|
63365
|
+
table.reactCustomLayout?.clearCache();
|
|
63339
63366
|
table.transpose
|
|
63340
63367
|
? table.scenegraph.updateCol(delRows, [], updateRows)
|
|
63341
63368
|
: table.scenegraph.updateRow(delRows, [], updateRows);
|
|
63369
|
+
table.reactCustomLayout?.updateAllCustomCell();
|
|
63342
63370
|
}
|
|
63343
63371
|
}
|
|
63344
63372
|
}
|
|
@@ -64331,12 +64359,15 @@
|
|
|
64331
64359
|
}
|
|
64332
64360
|
addRecord(record, recordIndex) {
|
|
64333
64361
|
listTableAddRecord(record, recordIndex, this);
|
|
64362
|
+
this.internalProps.emptyTip.resetVisible();
|
|
64334
64363
|
}
|
|
64335
64364
|
addRecords(records, recordIndex) {
|
|
64336
64365
|
listTableAddRecords(records, recordIndex, this);
|
|
64366
|
+
this.internalProps.emptyTip.resetVisible();
|
|
64337
64367
|
}
|
|
64338
64368
|
deleteRecords(recordIndexs) {
|
|
64339
64369
|
listTableDeleteRecords(recordIndexs, this);
|
|
64370
|
+
this.internalProps.emptyTip.resetVisible();
|
|
64340
64371
|
}
|
|
64341
64372
|
updateRecords(records, recordIndexs) {
|
|
64342
64373
|
listTableUpdateRecords(records, recordIndexs, this);
|
|
@@ -77236,7 +77267,7 @@
|
|
|
77236
77267
|
}
|
|
77237
77268
|
|
|
77238
77269
|
registerForVrender();
|
|
77239
|
-
const version = "1.11.
|
|
77270
|
+
const version = "1.11.3-alpha.0";
|
|
77240
77271
|
function getIcons() {
|
|
77241
77272
|
return get$2();
|
|
77242
77273
|
}
|