@visactor/vtable 1.19.6 → 1.19.7
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 +11 -8
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +2 -2
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.js +2 -2
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/components/legend/discrete-legend/discrete-legend.js +6 -4
- package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
- package/cjs/components/menu/dom/MenuHandler.js +42 -4
- package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
- package/cjs/components/menu/dom/logic/MenuElement.js +1 -0
- package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +3 -1
- package/cjs/core/BaseTable.js +37 -7
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/data/CachedDataSource.js +1 -1
- package/cjs/data/CachedDataSource.js.map +1 -1
- package/cjs/event/listener/table-group.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/layout/simple-header-layout.js +1 -1
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.js +10 -8
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +1 -0
- package/cjs/scenegraph/scenegraph.js +17 -1
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/resize/update-resize-column.js +1 -1
- package/cjs/state/resize/update-resize-column.js.map +1 -1
- package/cjs/state/resize/update-resize-row.js +1 -1
- package/cjs/state/resize/update-resize-row.js.map +1 -1
- package/cjs/themes/theme-define.js +4 -0
- package/cjs/themes/theme-define.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +2 -0
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +2 -0
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +1 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +160 -24
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +11 -8
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +2 -2
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.js +2 -2
- package/es/PivotTable.js.map +1 -1
- package/es/components/legend/discrete-legend/discrete-legend.js +6 -4
- package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
- package/es/components/menu/dom/MenuHandler.js +42 -4
- package/es/components/menu/dom/MenuHandler.js.map +1 -1
- package/es/components/menu/dom/logic/MenuElement.js +1 -0
- package/es/components/menu/dom/logic/MenuElement.js.map +1 -1
- package/es/core/BaseTable.d.ts +3 -1
- package/es/core/BaseTable.js +37 -7
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/es/core/TABLE_EVENT_TYPE.js +1 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/data/CachedDataSource.js +1 -1
- package/es/data/CachedDataSource.js.map +1 -1
- package/es/event/listener/table-group.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/layout/simple-header-layout.js +1 -1
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.js +10 -8
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +1 -0
- package/es/scenegraph/scenegraph.js +21 -1
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/resize/update-resize-column.js +1 -1
- package/es/state/resize/update-resize-column.js.map +1 -1
- package/es/state/resize/update-resize-row.js +1 -1
- package/es/state/resize/update-resize-row.js.map +1 -1
- package/es/themes/theme-define.js +4 -0
- package/es/themes/theme-define.js.map +1 -1
- package/es/ts-types/base-table.d.ts +2 -0
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +2 -0
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/theme.d.ts +1 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +3 -3
|
@@ -25,7 +25,7 @@ function updateResizeColumn(xInTable, yInTable, state) {
|
|
|
25
25
|
}
|
|
26
26
|
detaX = Math.ceil(detaX), state.columnResize.col < state.table.rowHeaderLevelCount || state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount ? updateResizeColForColumn(detaX, state) : "indicator" === state.table.internalProps.columnResizeType ? updateResizeColForIndicator(detaX, state) : "indicatorGroup" === state.table.internalProps.columnResizeType ? updateResizeColForIndicatorGroup(detaX, state) : "all" === state.table.internalProps.columnResizeType ? updateResizeColForAll(detaX, state) : updateResizeColForColumn(detaX, state),
|
|
27
27
|
state.columnResize.x = xInTable, state.table.scenegraph.component.updateResizeCol(state.columnResize.col, yInTable, state.columnResize.isRightFrozen),
|
|
28
|
-
state.columnResize.col < state.table.frozenColCount && !state.table.isPivotTable() && !state.table.transpose ? state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1, state.columnResize.isRightFrozen) : state.table.options.frozenColCount && state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1),
|
|
28
|
+
state.table._updateSize(), state.columnResize.col < state.table.frozenColCount && !state.table.isPivotTable() && !state.table.transpose ? state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1, state.columnResize.isRightFrozen) : state.table.options.frozenColCount && state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1),
|
|
29
29
|
(state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount && !state.table.isPivotTable() && !state.table.transpose || state.table.options.rightFrozenColCount) && state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount),
|
|
30
30
|
state.table.scenegraph.updateNextFrame();
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/state/resize/update-resize-column.ts"],"names":[],"mappings":"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","file":"update-resize-column.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeColumn(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaX = state.columnResize.isRightFrozen ? state.columnResize.x - xInTable : xInTable - state.columnResize.x;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaX) < 1) {\n return;\n }\n\n // 检查minWidth/maxWidth\n // getColWidth会进行Math.round,所以先从colWidthsMap获取:\n // 如果是数值,直接使用;如果不是,则通过getColWidth获取像素值\n // let widthCache = (state.table as any).colWidthsMap.get(state.columnResize.col);\n // if (typeof widthCache === 'number') {\n // widthCache = widthCache;\n // } else {\n const widthCache = state.table.getColWidth(state.columnResize.col);\n // }\n let width = widthCache;\n width += detaX;\n const minWidth = state.table.getMinColWidth(state.columnResize.col);\n const maxWidth = state.table.getMaxColWidth(state.columnResize.col);\n if (width < minWidth || width > maxWidth) {\n if (widthCache === minWidth || widthCache === maxWidth) {\n return;\n } else if (widthCache - minWidth > maxWidth - widthCache) {\n detaX = maxWidth - widthCache;\n } else {\n detaX = minWidth - widthCache;\n }\n }\n\n // limitMinWidth限制\n let afterSize = state.table.getColWidth(state.columnResize.col) + detaX;\n if (afterSize < state.table.internalProps.limitMinWidth) {\n afterSize = state.table.internalProps.limitMinWidth;\n detaX = afterSize - state.table.getColWidth(state.columnResize.col);\n }\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n const rightColWidthCache = state.table.getColWidth(state.columnResize.col + 1);\n const rightColMinWidth = state.table.getMinColWidth(state.columnResize.col + 1);\n const rightColMaxWidth = state.table.getMaxColWidth(state.columnResize.col + 1);\n let rightColWidth = rightColWidthCache;\n rightColWidth -= detaX;\n if (rightColWidth < rightColMinWidth || rightColWidth > rightColMaxWidth) {\n if (rightColWidthCache === rightColMinWidth || rightColWidthCache === rightColMaxWidth) {\n return;\n } else if (rightColWidthCache - rightColMinWidth > rightColMaxWidth - rightColWidthCache) {\n detaX = rightColMaxWidth - rightColWidthCache;\n } else {\n detaX = rightColMinWidth - rightColWidthCache;\n }\n }\n if (rightColWidth - detaX < state.table.internalProps.limitMinWidth) {\n detaX = rightColWidth - state.table.internalProps.limitMinWidth;\n }\n }\n detaX = Math.ceil(detaX);\n\n if (\n state.columnResize.col < state.table.rowHeaderLevelCount ||\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount\n ) {\n updateResizeColForColumn(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicator') {\n updateResizeColForIndicator(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'all') {\n updateResizeColForAll(detaX, state);\n } else {\n // state.table.internalProps.columnResizeType === 'column'\n updateResizeColForColumn(detaX, state);\n }\n\n // if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n // } else {\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // }\n state.columnResize.x = xInTable;\n\n // update resize column component\n state.table.scenegraph.component.updateResizeCol(state.columnResize.col, yInTable, state.columnResize.isRightFrozen);\n if (\n state.columnResize.col < state.table.frozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setFrozenColumnShadow(\n state.table.frozenColCount - 1,\n state.columnResize.isRightFrozen\n );\n } else if (state.table.options.frozenColCount) {\n state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1);\n }\n if (\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n } else if (state.table.options.rightFrozenColCount) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n }\n\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForColumn(detaX: number, state: StateManager) {\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1);\n } else {\n state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n }\n}\n\nfunction updateResizeColForAll(detaX: number, state: StateManager) {\n // 全列调整\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n for (let col = state.table.frozenColCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n // state.table.setColWidth(col, afterSize);\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n}\n\nfunction updateResizeColForIndicator(detaX: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.columnResize.col, state.table.columnHeaderLevelCount);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n resizeDimensionKey = headerPath.dimensionKey;\n resizeDimensionValue = headerPath.value;\n }\n for (let col = state.table.rowHeaderLevelCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n const indicatorKey = layout.getIndicatorKey(col, state.table.columnHeaderLevelCount);\n if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n } else if (!layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths?.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n }\n }\n}\n\nfunction updateResizeColForIndicatorGroup(detaX: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startCol = node.startInTotal + state.table.frozenColCount;\n const endCol = node.startInTotal + state.table.frozenColCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalColWidth = state.table.getColsWidth(startCol, endCol);\n const moveX = detaX; // 纠正moveX 用于指标列均分该值\n for (let col = startCol; col <= endCol; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n const prevWidth = state.table.getColWidth(col);\n\n // deltaWidth <0.5 & >=-0.5 在updateRowWidth函数中会被Math.round处理为0,导致高度更新失效\n let deltaWidth = (prevWidth / totalColWidth) * moveX;\n if (deltaWidth > 0 && deltaWidth < 0.5) {\n deltaWidth = 0.5;\n } else if (deltaWidth < 0 && deltaWidth >= -0.5) {\n deltaWidth = -0.5;\n }\n state.table.scenegraph.updateColWidth(col, deltaWidth);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/state/resize/update-resize-column.ts"],"names":[],"mappings":";;;AAMA,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAmB;IACxF,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjH,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO;KACR;IASD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEnE,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,KAAK,IAAI,KAAK,CAAC;IACf,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACpE,IAAI,KAAK,GAAG,QAAQ,IAAI,KAAK,GAAG,QAAQ,EAAE;QACxC,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE;YACtD,OAAO;SACR;aAAM,IAAI,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE;YACxD,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;SAC/B;aAAM;YACL,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;SAC/B;KACF;IAGD,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxE,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;QACvD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;QACpD,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;KACrE;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;QAC7F,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,aAAa,GAAG,kBAAkB,CAAC;QACvC,aAAa,IAAI,KAAK,CAAC;QACvB,IAAI,aAAa,GAAG,gBAAgB,IAAI,aAAa,GAAG,gBAAgB,EAAE;YACxE,IAAI,kBAAkB,KAAK,gBAAgB,IAAI,kBAAkB,KAAK,gBAAgB,EAAE;gBACtF,OAAO;aACR;iBAAM,IAAI,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,EAAE;gBACxF,KAAK,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;aAC/C;iBAAM;gBACL,KAAK,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;aAC/C;SACF;QACD,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;YACnE,KAAK,GAAG,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;SACjE;KACF;IACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,IACE,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB;QACxD,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAChF;QACA,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACxC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,KAAK,WAAW,EAAE;QACrE,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC3C;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,KAAK,gBAAgB,EAAE;QAC1E,gCAAgC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAChD;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,KAAK,KAAK,EAAE;QAC/D,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACrC;SAAM;QAEL,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACxC;IAaD,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,QAAQ,CAAC;IAGhC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACrH,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAE1B,IACE,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc;QACnD,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE;QAC3B,CAAE,KAAK,CAAC,KAAmB,CAAC,SAAS,EACrC;QACA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,qBAAqB,CACpD,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAC9B,KAAK,CAAC,YAAY,CAAC,aAAa,CACjC,CAAC;KACH;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;QAC7C,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;KACxF;IACD,IACE,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB;QAChF,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE;QAC3B,CAAE,KAAK,CAAC,KAAmB,CAAC,SAAS,EACrC;QACA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACrH;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAClD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACrH;IAGD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC;AApHD,gDAoHC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,KAAmB;IAClE,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;QAM7F,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAE1E,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1E,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KAC/E;SAAM;QACL,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;KAC3E;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,KAAmB;IAE/D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiC,CAAC;IAC3E,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,EAAE;QAE9G,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE;YACrG,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC3E,IAAK,UAA4B,aAA5B,UAAU,uBAAV,UAAU,CAAoB,mBAAmB,EAAE;gBACtD,SAAS;aACV;SACF;QAED,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACxD;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa,EAAE,KAAmB;IACrE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiC,CAAC;IAC3E,IAAI,kBAAkB,CAAC;IACvB,IAAI,kBAAkB,CAAC;IACvB,IAAI,oBAAoB,CAAC;IACzB,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzG;SAAM;QACL,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;QAC9G,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;QAC7C,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC;KACzC;IACD,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,EAAE;QACnH,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,eAAe,IAAI,YAAY,KAAK,kBAAkB,EAAE;YACjE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACxD;aAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtF,IAAI,UAAU,IAAI,kBAAkB,KAAK,UAAU,CAAC,YAAY,IAAI,oBAAoB,KAAK,UAAU,CAAC,KAAK,EAAE;gBAC7G,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACxD;SACF;KACF;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAa,EAAE,KAAmB;IAE1E,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiC,CAAC;IAE3E,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1G,MAAM,IAAI,GAAG,MAAM,CAAC,+BAA+B,CACjD,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CACpE,CAAC;IAET,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;QAE7C,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE;YACrG,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC3E,IAAK,UAA4B,aAA5B,UAAU,uBAAV,UAAU,CAAoB,mBAAmB,EAAE;gBACtD,SAAS;aACV;SACF;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAG/C,IAAI,UAAU,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE;YACtC,UAAU,GAAG,GAAG,CAAC;SAClB;aAAM,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE;YAC/C,UAAU,GAAG,CAAC,GAAG,CAAC;SACnB;QACD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACxD;AACH,CAAC","file":"update-resize-column.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeColumn(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaX = state.columnResize.isRightFrozen ? state.columnResize.x - xInTable : xInTable - state.columnResize.x;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaX) < 1) {\n return;\n }\n\n // 检查minWidth/maxWidth\n // getColWidth会进行Math.round,所以先从colWidthsMap获取:\n // 如果是数值,直接使用;如果不是,则通过getColWidth获取像素值\n // let widthCache = (state.table as any).colWidthsMap.get(state.columnResize.col);\n // if (typeof widthCache === 'number') {\n // widthCache = widthCache;\n // } else {\n const widthCache = state.table.getColWidth(state.columnResize.col);\n // }\n let width = widthCache;\n width += detaX;\n const minWidth = state.table.getMinColWidth(state.columnResize.col);\n const maxWidth = state.table.getMaxColWidth(state.columnResize.col);\n if (width < minWidth || width > maxWidth) {\n if (widthCache === minWidth || widthCache === maxWidth) {\n return;\n } else if (widthCache - minWidth > maxWidth - widthCache) {\n detaX = maxWidth - widthCache;\n } else {\n detaX = minWidth - widthCache;\n }\n }\n\n // limitMinWidth限制\n let afterSize = state.table.getColWidth(state.columnResize.col) + detaX;\n if (afterSize < state.table.internalProps.limitMinWidth) {\n afterSize = state.table.internalProps.limitMinWidth;\n detaX = afterSize - state.table.getColWidth(state.columnResize.col);\n }\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n const rightColWidthCache = state.table.getColWidth(state.columnResize.col + 1);\n const rightColMinWidth = state.table.getMinColWidth(state.columnResize.col + 1);\n const rightColMaxWidth = state.table.getMaxColWidth(state.columnResize.col + 1);\n let rightColWidth = rightColWidthCache;\n rightColWidth -= detaX;\n if (rightColWidth < rightColMinWidth || rightColWidth > rightColMaxWidth) {\n if (rightColWidthCache === rightColMinWidth || rightColWidthCache === rightColMaxWidth) {\n return;\n } else if (rightColWidthCache - rightColMinWidth > rightColMaxWidth - rightColWidthCache) {\n detaX = rightColMaxWidth - rightColWidthCache;\n } else {\n detaX = rightColMinWidth - rightColWidthCache;\n }\n }\n if (rightColWidth - detaX < state.table.internalProps.limitMinWidth) {\n detaX = rightColWidth - state.table.internalProps.limitMinWidth;\n }\n }\n detaX = Math.ceil(detaX);\n\n if (\n state.columnResize.col < state.table.rowHeaderLevelCount ||\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount\n ) {\n updateResizeColForColumn(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicator') {\n updateResizeColForIndicator(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'all') {\n updateResizeColForAll(detaX, state);\n } else {\n // state.table.internalProps.columnResizeType === 'column'\n updateResizeColForColumn(detaX, state);\n }\n\n // if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n // } else {\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // }\n state.columnResize.x = xInTable;\n\n // update resize column component\n state.table.scenegraph.component.updateResizeCol(state.columnResize.col, yInTable, state.columnResize.isRightFrozen);\n state.table._updateSize();\n\n if (\n state.columnResize.col < state.table.frozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setFrozenColumnShadow(\n state.table.frozenColCount - 1,\n state.columnResize.isRightFrozen\n );\n } else if (state.table.options.frozenColCount) {\n state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1);\n }\n if (\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n } else if (state.table.options.rightFrozenColCount) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n }\n\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForColumn(detaX: number, state: StateManager) {\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1);\n } else {\n state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n }\n}\n\nfunction updateResizeColForAll(detaX: number, state: StateManager) {\n // 全列调整\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n for (let col = state.table.frozenColCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n // state.table.setColWidth(col, afterSize);\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n}\n\nfunction updateResizeColForIndicator(detaX: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.columnResize.col, state.table.columnHeaderLevelCount);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n resizeDimensionKey = headerPath.dimensionKey;\n resizeDimensionValue = headerPath.value;\n }\n for (let col = state.table.rowHeaderLevelCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n const indicatorKey = layout.getIndicatorKey(col, state.table.columnHeaderLevelCount);\n if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n } else if (!layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths?.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n }\n }\n}\n\nfunction updateResizeColForIndicatorGroup(detaX: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startCol = node.startInTotal + state.table.frozenColCount;\n const endCol = node.startInTotal + state.table.frozenColCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalColWidth = state.table.getColsWidth(startCol, endCol);\n const moveX = detaX; // 纠正moveX 用于指标列均分该值\n for (let col = startCol; col <= endCol; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n const prevWidth = state.table.getColWidth(col);\n\n // deltaWidth <0.5 & >=-0.5 在updateRowWidth函数中会被Math.round处理为0,导致高度更新失效\n let deltaWidth = (prevWidth / totalColWidth) * moveX;\n if (deltaWidth > 0 && deltaWidth < 0.5) {\n deltaWidth = 0.5;\n } else if (deltaWidth < 0 && deltaWidth >= -0.5) {\n deltaWidth = -0.5;\n }\n state.table.scenegraph.updateColWidth(col, deltaWidth);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n}\n"]}
|
|
@@ -14,7 +14,7 @@ function updateResizeRow(xInTable, yInTable, state) {
|
|
|
14
14
|
}
|
|
15
15
|
detaY = Math.ceil(detaY), state.rowResize.row < state.table.columnHeaderLevelCount || state.rowResize.row >= state.table.rowCount - state.table.bottomFrozenRowCount ? updateResizeColForRow(detaY, state) : "indicator" === state.table.internalProps.rowResizeType ? updateResizeColForIndicator(detaY, state) : "indicatorGroup" === state.table.internalProps.rowResizeType ? updateResizeColForIndicatorGroup(detaY, state) : "all" === state.table.internalProps.rowResizeType ? updateResizeColForAll(detaY, state) : updateResizeColForRow(detaY, state),
|
|
16
16
|
state.rowResize.y = yInTable, state.table.scenegraph.component.updateResizeRow(state.rowResize.row, xInTable, state.rowResize.isBottomFrozen),
|
|
17
|
-
state.table.scenegraph.updateNextFrame();
|
|
17
|
+
state.table._updateSize(), state.table.scenegraph.updateNextFrame();
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function updateResizeColForRow(detaY, state) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/state/resize/update-resize-row.ts"],"names":[],"mappings":"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","file":"update-resize-row.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// rowResizeType?: 'row' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeRow(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaY = state.rowResize.isBottomFrozen ? state.rowResize.y - yInTable : yInTable - state.rowResize.y;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaY) < 1) {\n return;\n }\n\n const heightCache = state.table.getRowHeight(state.rowResize.row);\n let height = heightCache;\n height += detaY;\n\n // limitMinHeight限制\n let afterSize = state.table.getRowHeight(state.rowResize.row) + detaY;\n if (afterSize < state.table.internalProps.limitMinHeight) {\n afterSize = state.table.internalProps.limitMinHeight;\n detaY = afterSize - state.table.getRowHeight(state.rowResize.row);\n }\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n const bottomRowHeightCache = state.table.getRowHeight(state.rowResize.row + 1);\n let bottomRowHeight = bottomRowHeightCache;\n bottomRowHeight -= detaY;\n if (bottomRowHeight - detaY < state.table.internalProps.limitMinHeight) {\n detaY = bottomRowHeight - state.table.internalProps.limitMinHeight;\n }\n }\n detaY = Math.ceil(detaY);\n\n if (\n state.rowResize.row < state.table.columnHeaderLevelCount ||\n state.rowResize.row >= state.table.rowCount - state.table.bottomFrozenRowCount\n ) {\n updateResizeColForRow(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicator') {\n updateResizeColForIndicator(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'all') {\n updateResizeColForAll(detaY, state);\n } else {\n updateResizeColForRow(detaY, state);\n }\n\n state.rowResize.y = yInTable;\n\n // update resize row component\n state.table.scenegraph.component.updateResizeRow(state.rowResize.row, xInTable, state.rowResize.isBottomFrozen);\n\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForRow(detaY: number, state: StateManager) {\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY);\n state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY);\n\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1);\n } else {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n }\n}\n\nfunction updateResizeColForAll(detaY: number, state: StateManager) {\n // 全列调整\n // const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) {\n // // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(row, state.table.rowHeaderLevelCount);\n // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // continue;\n // }\n // }\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n}\n\nfunction updateResizeColForIndicator(detaY: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (!layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, state.rowResize.row);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, state.rowResize.row);\n const headerPath = headerPaths.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n resizeDimensionKey = headerPath?.dimensionKey;\n resizeDimensionValue = headerPath?.value;\n }\n for (\n let row = state.table.columnHeaderLevelCount;\n row < state.table.rowCount - state.table.bottomFrozenRowCount;\n row++\n ) {\n const indicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, row);\n if (!layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n } else if (layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, row);\n const headerPath = headerPaths?.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n }\n }\n}\n\nfunction updateResizeColForIndicatorGroup(detaY: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount, state.rowResize.row);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startRow = node.startInTotal + state.table.frozenRowCount;\n const endRow = node.startInTotal + state.table.frozenRowCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalRowHeight = state.table.getRowsHeight(startRow, endRow);\n const moveY = detaY; // 纠正moveX 用于指标列均分该值\n for (let row = startRow; row <= endRow; row++) {\n // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(state.table.columnHeaderLevelCount, row);\n // // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // // continue;\n // // }\n // }\n const prevHeight = state.table.getRowHeight(row);\n\n // deltaHeight <0.5 & >=-0.5 在updateRowHeight函数中会被Math.round处理为0,导致高度更新失效\n let deltaHeight = (prevHeight / totalRowHeight) * moveY;\n if (deltaHeight > 0 && deltaHeight < 0.5) {\n deltaHeight = 0.5;\n } else if (deltaHeight < 0 && deltaHeight >= -0.5) {\n deltaHeight = -0.51;\n }\n state.table.scenegraph.updateRowHeight(row, deltaHeight);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/state/resize/update-resize-row.ts"],"names":[],"mappings":"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","file":"update-resize-row.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// rowResizeType?: 'row' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeRow(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaY = state.rowResize.isBottomFrozen ? state.rowResize.y - yInTable : yInTable - state.rowResize.y;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaY) < 1) {\n return;\n }\n\n const heightCache = state.table.getRowHeight(state.rowResize.row);\n let height = heightCache;\n height += detaY;\n\n // limitMinHeight限制\n let afterSize = state.table.getRowHeight(state.rowResize.row) + detaY;\n if (afterSize < state.table.internalProps.limitMinHeight) {\n afterSize = state.table.internalProps.limitMinHeight;\n detaY = afterSize - state.table.getRowHeight(state.rowResize.row);\n }\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n const bottomRowHeightCache = state.table.getRowHeight(state.rowResize.row + 1);\n let bottomRowHeight = bottomRowHeightCache;\n bottomRowHeight -= detaY;\n if (bottomRowHeight - detaY < state.table.internalProps.limitMinHeight) {\n detaY = bottomRowHeight - state.table.internalProps.limitMinHeight;\n }\n }\n detaY = Math.ceil(detaY);\n\n if (\n state.rowResize.row < state.table.columnHeaderLevelCount ||\n state.rowResize.row >= state.table.rowCount - state.table.bottomFrozenRowCount\n ) {\n updateResizeColForRow(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicator') {\n updateResizeColForIndicator(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'all') {\n updateResizeColForAll(detaY, state);\n } else {\n updateResizeColForRow(detaY, state);\n }\n\n state.rowResize.y = yInTable;\n\n // update resize row component\n state.table.scenegraph.component.updateResizeRow(state.rowResize.row, xInTable, state.rowResize.isBottomFrozen);\n state.table._updateSize();\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForRow(detaY: number, state: StateManager) {\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY);\n state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY);\n\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1);\n } else {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n }\n}\n\nfunction updateResizeColForAll(detaY: number, state: StateManager) {\n // 全列调整\n // const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) {\n // // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(row, state.table.rowHeaderLevelCount);\n // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // continue;\n // }\n // }\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n}\n\nfunction updateResizeColForIndicator(detaY: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (!layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, state.rowResize.row);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, state.rowResize.row);\n const headerPath = headerPaths.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n resizeDimensionKey = headerPath?.dimensionKey;\n resizeDimensionValue = headerPath?.value;\n }\n for (\n let row = state.table.columnHeaderLevelCount;\n row < state.table.rowCount - state.table.bottomFrozenRowCount;\n row++\n ) {\n const indicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, row);\n if (!layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n } else if (layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, row);\n const headerPath = headerPaths?.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n }\n }\n}\n\nfunction updateResizeColForIndicatorGroup(detaY: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount, state.rowResize.row);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startRow = node.startInTotal + state.table.frozenRowCount;\n const endRow = node.startInTotal + state.table.frozenRowCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalRowHeight = state.table.getRowsHeight(startRow, endRow);\n const moveY = detaY; // 纠正moveX 用于指标列均分该值\n for (let row = startRow; row <= endRow; row++) {\n // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(state.table.columnHeaderLevelCount, row);\n // // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // // continue;\n // // }\n // }\n const prevHeight = state.table.getRowHeight(row);\n\n // deltaHeight <0.5 & >=-0.5 在updateRowHeight函数中会被Math.round处理为0,导致高度更新失效\n let deltaHeight = (prevHeight / totalRowHeight) * moveY;\n if (deltaHeight > 0 && deltaHeight < 0.5) {\n deltaHeight = 0.5;\n } else if (deltaHeight < 0 && deltaHeight >= -0.5) {\n deltaHeight = -0.51;\n }\n state.table.scenegraph.updateRowHeight(row, deltaHeight);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n}\n"]}
|
|
@@ -360,6 +360,10 @@ class TableTheme {
|
|
|
360
360
|
get verticalPadding() {
|
|
361
361
|
var _a;
|
|
362
362
|
return null !== (_a = scroll.verticalPadding) && void 0 !== _a ? _a : 0;
|
|
363
|
+
},
|
|
364
|
+
get ignoreFrozenCols() {
|
|
365
|
+
var _a;
|
|
366
|
+
return null !== (_a = scroll.ignoreFrozenCols) && void 0 !== _a && _a;
|
|
363
367
|
}
|
|
364
368
|
};
|
|
365
369
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/themes/theme-define.ts"],"names":[],"mappings":"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","file":"theme-define.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport { defalutPoptipStyle, getAxisStyle } from './component';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ??\n getChainSafe(superObj, ...names) ??\n (defNames && getChainSafe(obj, ...defNames)) ??\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _cornerRightTopCell: ITableThemeDefine['cornerRightTopCellStyle'] | null = null;\n private _cornerLeftBottomCell: ITableThemeDefine['cornerLeftBottomCellStyle'] | null = null;\n private _cornerRightBottomCell: ITableThemeDefine['cornerRightBottomCellStyle'] | null = null;\n private _rightFrozen: ITableThemeDefine['rightFrozenStyle'] | null = null;\n private _bottomFrozen: ITableThemeDefine['bottomFrozenStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _groupTitle: ITableThemeDefine['groupTitleStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n\n private _axisStyle: RequiredTableThemeDefine['axisStyle'] | null = null;\n private _checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] | null = null;\n private _radioStyle: RequiredTableThemeDefine['radioStyle'] | null = null;\n private _switchStyle: RequiredTableThemeDefine['switchStyle'] | null = null;\n private _buttonStyle: RequiredTableThemeDefine['buttonStyle'] | null = null;\n private _textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] | null = null;\n private _internalIconsStyle: RequiredTableThemeDefine['functionalIconsStyle'] | null = null;\n isPivot: boolean = false;\n name: string = '';\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n this.name = getProp(obj, superTheme, ['name']);\n }\n /** gantt _generateListTableOptions 使用更方法 */\n getExtendTheme(): PartialTableThemeDefine | ITableThemeDefine {\n return this.internalTheme.obj;\n }\n /** gantt _generateListTableOptions 使用更方法 */\n clearBodyStyleCache() {\n this._body = null;\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get cellInnerBorder(): boolean {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellInnerBorder']) ?? true;\n }\n\n get cellBorderClipDirection(): 'top-left' | 'bottom-right' {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellBorderClipDirection']) ?? 'top-left';\n }\n\n get _contentOffset(): number {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['_contentOffset']) ?? 0;\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n const that = this;\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n get select(): InteractionStyle | undefined {\n if (defaultStyle.select) {\n return {\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.select?.inlineColumnBgColor ??\n that.selectionStyle?.inlineColumnBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.select?.inlineRowBgColor ??\n that.selectionStyle.inlineRowBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return defaultStyle.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get cornerRightTopCellStyle(): ITableThemeDefine['cornerRightTopCellStyle'] {\n if (!this._cornerRightTopCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightTopCellStyle && !obj.cornerRightTopCellStyle) {\n return this._cornerRightTopCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightTopCellStyle,\n obj.cornerRightTopCellStyle // ?? obj.headerStyle\n );\n this._cornerRightTopCell = this.getStyle(header);\n }\n return this._cornerRightTopCell;\n }\n get cornerLeftBottomCellStyle(): ITableThemeDefine['cornerLeftBottomCellStyle'] {\n if (!this._cornerLeftBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerLeftBottomCellStyle && !obj.cornerLeftBottomCellStyle) {\n return this._cornerLeftBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerLeftBottomCellStyle,\n obj.cornerLeftBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerLeftBottomCell = this.getStyle(header);\n }\n return this._cornerLeftBottomCell;\n }\n get cornerRightBottomCellStyle(): ITableThemeDefine['cornerRightBottomCellStyle'] {\n if (!this._cornerRightBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightBottomCellStyle && !obj.cornerRightBottomCellStyle) {\n return this._cornerRightBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightBottomCellStyle,\n obj.cornerRightBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerRightBottomCell = this.getStyle(header);\n }\n return this._cornerRightBottomCell;\n }\n get rightFrozenStyle(): ITableThemeDefine['rightFrozenStyle'] {\n if (!this._rightFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.rightFrozenStyle && !obj.rightFrozenStyle) {\n return this._rightFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.rowHeaderStyle,\n superTheme.rightFrozenStyle,\n obj.rightFrozenStyle // ?? obj.headerStyle\n );\n this._rightFrozen = this.getStyle(header);\n }\n return this._rightFrozen;\n }\n get bottomFrozenStyle(): ITableThemeDefine['bottomFrozenStyle'] {\n if (!this._bottomFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.bottomFrozenStyle && !obj.bottomFrozenStyle) {\n return this._bottomFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.headerStyle,\n superTheme.bottomFrozenStyle,\n obj.bottomFrozenStyle // ?? obj.headerStyle\n );\n this._bottomFrozen = this.getStyle(header);\n }\n return this._bottomFrozen;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle ?? (this.isPivot ? null : obj.headerStyle) // not for pivot\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get groupTitleStyle(): ITableThemeDefine['groupTitleStyle'] {\n if (!this._groupTitle) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.groupTitleStyle && !obj.groupTitleStyle) {\n return this._groupTitle;\n }\n const groupTitle: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.groupTitleStyle,\n obj.groupTitleStyle\n );\n this._groupTitle = this.getStyle(groupTitle);\n }\n\n return this._groupTitle;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get innerBorder(): boolean | undefined {\n return frameStyle.innerBorder;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number | [number, number, number, number] {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollSliderCornerRadius(): number | undefined {\n return scroll.scrollSliderCornerRadius;\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get verticalVisible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.verticalVisible;\n },\n get horizontalVisible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.horizontalVisible;\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n },\n get barToSide(): boolean | undefined {\n return scroll.barToSide ?? false;\n },\n get horizontalPadding(): number | [number, number, number, number] {\n return scroll.horizontalPadding ?? 0;\n },\n get verticalPadding(): number | [number, number, number, number] {\n return scroll.verticalPadding ?? 0;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get fontFamily(): string | undefined {\n return tooltip.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontSize(): number | undefined {\n return tooltip.fontSize ?? DEFAULTFONTSIZE;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n },\n get maxWidth(): number | undefined {\n return tooltip.maxWidth;\n },\n get maxHeight(): number | undefined {\n return tooltip.maxHeight;\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n },\n get resizeHotSpotSize(): number {\n return columnResize.resizeHotSpotSize ?? 16;\n },\n get labelColor(): string {\n return columnResize.labelColor ?? '#FFF';\n },\n get labelFontSize(): number {\n return columnResize.labelFontSize ?? 10;\n },\n get labelFontFamily(): string {\n return columnResize.labelFontFamily ?? 'sans-serif';\n },\n get labelBackgroundFill(): string {\n return columnResize.labelBackgroundFill ?? '#3073F2';\n },\n get labelBackgroundCornerRadius(): number {\n return columnResize.labelBackgroundCornerRadius ?? 5;\n },\n get labelVisible(): boolean {\n return columnResize.labelVisible ?? true;\n },\n get visibleOnHover(): boolean {\n return columnResize.visibleOnHover ?? false;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow():\n | { width: number; startColor: string; endColor: string; visible: 'always' | 'scrolling' }\n | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n },\n get visible(): 'always' | 'scrolling' {\n return frozenColumnLine.shadow?.visible ?? 'always';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n },\n get inlineColumnBgColor(): string | undefined {\n return selectionStyle?.inlineColumnBgColor;\n },\n get inlineRowBgColor(): string | undefined {\n return selectionStyle?.inlineRowBgColor;\n },\n get selectionFillMode(): 'overlay' | 'replace' {\n return selectionStyle?.selectionFillMode ?? 'overlay';\n },\n get dynamicUpdateSelectionSize(): boolean {\n return selectionStyle?.dynamicUpdateSelectionSize ?? false;\n }\n };\n }\n return this._selectionStyle;\n }\n\n get axisStyle(): RequiredTableThemeDefine['axisStyle'] {\n if (!this._axisStyle) {\n const { obj, superTheme } = this.internalTheme;\n const axisStyle: RequiredTableThemeDefine['axisStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.axisStyle,\n obj.axisStyle\n );\n this._axisStyle = getAxisStyle(axisStyle);\n }\n return this._axisStyle;\n }\n\n get checkboxStyle(): RequiredTableThemeDefine['checkboxStyle'] {\n if (!this._checkboxStyle) {\n const { obj, superTheme } = this.internalTheme;\n const checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.checkboxStyle,\n obj.checkboxStyle\n );\n this._checkboxStyle = checkboxStyle;\n }\n return this._checkboxStyle;\n }\n\n get radioStyle(): RequiredTableThemeDefine['radioStyle'] {\n if (!this._radioStyle) {\n const { obj, superTheme } = this.internalTheme;\n const radioStyle: RequiredTableThemeDefine['radioStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.radioStyle,\n obj.radioStyle\n );\n this._radioStyle = radioStyle;\n }\n return this._radioStyle;\n }\n\n get switchStyle(): RequiredTableThemeDefine['switchStyle'] {\n if (!this._switchStyle) {\n const { obj, superTheme } = this.internalTheme;\n const switchStyle: RequiredTableThemeDefine['switchStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.switchStyle,\n obj.switchStyle\n );\n this._switchStyle = switchStyle;\n }\n return this._switchStyle;\n }\n\n get buttonStyle(): RequiredTableThemeDefine['buttonStyle'] {\n if (!this._buttonStyle) {\n const { obj, superTheme } = this.internalTheme;\n const buttonStyle: RequiredTableThemeDefine['buttonStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.buttonStyle,\n obj.buttonStyle\n );\n this._buttonStyle = buttonStyle;\n }\n return this._buttonStyle;\n }\n\n get textPopTipStyle(): RequiredTableThemeDefine['textPopTipStyle'] {\n if (!this._textPopTipStyle) {\n const { obj, superTheme } = this.internalTheme;\n const textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] = ingoreNoneValueMerge(\n {},\n defalutPoptipStyle,\n superTheme.textPopTipStyle,\n obj.textPopTipStyle\n );\n this._textPopTipStyle = textPopTipStyle;\n }\n return this._textPopTipStyle;\n }\n\n get functionalIconsStyle(): RequiredTableThemeDefine['functionalIconsStyle'] {\n if (!this._internalIconsStyle) {\n const { obj, superTheme } = this.internalTheme;\n const functionalIconsStyle: RequiredTableThemeDefine['functionalIconsStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.functionalIconsStyle,\n obj.functionalIconsStyle\n );\n this._internalIconsStyle = functionalIconsStyle;\n }\n return this._internalIconsStyle;\n }\n\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(\n ingoreNoneValueMerge({}, obj),\n ingoreNoneValueMerge(this.internalTheme.superTheme, this.internalTheme.obj)\n );\n }\n private getStyle(style: ThemeStyle) {\n const that = this;\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get strokeColor(): ColorPropertyDefine | undefined {\n return style.strokeColor;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n get select(): InteractionStyle | undefined {\n // if (style.select) {\n return {\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.select?.inlineColumnBgColor ??\n that.selectionStyle?.inlineColumnBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.select?.inlineRowBgColor ??\n that.selectionStyle.inlineRowBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get cellBgColor(): ColorPropertyDefine | undefined {\n if (that.selectionStyle.selectionFillMode === 'replace') {\n return style.select?.cellBgColor ?? that.selectionStyle.cellBgColor ?? undefined;\n }\n return undefined;\n }\n };\n // }\n // return undefined;\n },\n\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | 'vertical' | 'horizontal' | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return style.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/themes/theme-define.ts"],"names":[],"mappings":"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","file":"theme-define.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport { defalutPoptipStyle, getAxisStyle } from './component';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ??\n getChainSafe(superObj, ...names) ??\n (defNames && getChainSafe(obj, ...defNames)) ??\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _cornerRightTopCell: ITableThemeDefine['cornerRightTopCellStyle'] | null = null;\n private _cornerLeftBottomCell: ITableThemeDefine['cornerLeftBottomCellStyle'] | null = null;\n private _cornerRightBottomCell: ITableThemeDefine['cornerRightBottomCellStyle'] | null = null;\n private _rightFrozen: ITableThemeDefine['rightFrozenStyle'] | null = null;\n private _bottomFrozen: ITableThemeDefine['bottomFrozenStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _groupTitle: ITableThemeDefine['groupTitleStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n\n private _axisStyle: RequiredTableThemeDefine['axisStyle'] | null = null;\n private _checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] | null = null;\n private _radioStyle: RequiredTableThemeDefine['radioStyle'] | null = null;\n private _switchStyle: RequiredTableThemeDefine['switchStyle'] | null = null;\n private _buttonStyle: RequiredTableThemeDefine['buttonStyle'] | null = null;\n private _textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] | null = null;\n private _internalIconsStyle: RequiredTableThemeDefine['functionalIconsStyle'] | null = null;\n isPivot: boolean = false;\n name: string = '';\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n this.name = getProp(obj, superTheme, ['name']);\n }\n /** gantt _generateListTableOptions 使用更方法 */\n getExtendTheme(): PartialTableThemeDefine | ITableThemeDefine {\n return this.internalTheme.obj;\n }\n /** gantt _generateListTableOptions 使用更方法 */\n clearBodyStyleCache() {\n this._body = null;\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get cellInnerBorder(): boolean {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellInnerBorder']) ?? true;\n }\n\n get cellBorderClipDirection(): 'top-left' | 'bottom-right' {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['cellBorderClipDirection']) ?? 'top-left';\n }\n\n get _contentOffset(): number {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['_contentOffset']) ?? 0;\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n const that = this;\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n get select(): InteractionStyle | undefined {\n if (defaultStyle.select) {\n return {\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.select?.inlineColumnBgColor ??\n that.selectionStyle?.inlineColumnBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.select?.inlineRowBgColor ??\n that.selectionStyle.inlineRowBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return defaultStyle.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get cornerRightTopCellStyle(): ITableThemeDefine['cornerRightTopCellStyle'] {\n if (!this._cornerRightTopCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightTopCellStyle && !obj.cornerRightTopCellStyle) {\n return this._cornerRightTopCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightTopCellStyle,\n obj.cornerRightTopCellStyle // ?? obj.headerStyle\n );\n this._cornerRightTopCell = this.getStyle(header);\n }\n return this._cornerRightTopCell;\n }\n get cornerLeftBottomCellStyle(): ITableThemeDefine['cornerLeftBottomCellStyle'] {\n if (!this._cornerLeftBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerLeftBottomCellStyle && !obj.cornerLeftBottomCellStyle) {\n return this._cornerLeftBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerLeftBottomCellStyle,\n obj.cornerLeftBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerLeftBottomCell = this.getStyle(header);\n }\n return this._cornerLeftBottomCell;\n }\n get cornerRightBottomCellStyle(): ITableThemeDefine['cornerRightBottomCellStyle'] {\n if (!this._cornerRightBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightBottomCellStyle && !obj.cornerRightBottomCellStyle) {\n return this._cornerRightBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightBottomCellStyle,\n obj.cornerRightBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerRightBottomCell = this.getStyle(header);\n }\n return this._cornerRightBottomCell;\n }\n get rightFrozenStyle(): ITableThemeDefine['rightFrozenStyle'] {\n if (!this._rightFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.rightFrozenStyle && !obj.rightFrozenStyle) {\n return this._rightFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.rowHeaderStyle,\n superTheme.rightFrozenStyle,\n obj.rightFrozenStyle // ?? obj.headerStyle\n );\n this._rightFrozen = this.getStyle(header);\n }\n return this._rightFrozen;\n }\n get bottomFrozenStyle(): ITableThemeDefine['bottomFrozenStyle'] {\n if (!this._bottomFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.bottomFrozenStyle && !obj.bottomFrozenStyle) {\n return this._bottomFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.headerStyle,\n superTheme.bottomFrozenStyle,\n obj.bottomFrozenStyle // ?? obj.headerStyle\n );\n this._bottomFrozen = this.getStyle(header);\n }\n return this._bottomFrozen;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle ?? (this.isPivot ? null : obj.headerStyle) // not for pivot\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get groupTitleStyle(): ITableThemeDefine['groupTitleStyle'] {\n if (!this._groupTitle) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.groupTitleStyle && !obj.groupTitleStyle) {\n return this._groupTitle;\n }\n const groupTitle: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.groupTitleStyle,\n obj.groupTitleStyle\n );\n this._groupTitle = this.getStyle(groupTitle);\n }\n\n return this._groupTitle;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get innerBorder(): boolean | undefined {\n return frameStyle.innerBorder;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number | [number, number, number, number] {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollSliderCornerRadius(): number | undefined {\n return scroll.scrollSliderCornerRadius;\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get verticalVisible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.verticalVisible;\n },\n get horizontalVisible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.horizontalVisible;\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n },\n get barToSide(): boolean | undefined {\n return scroll.barToSide ?? false;\n },\n get horizontalPadding(): number | [number, number, number, number] {\n return scroll.horizontalPadding ?? 0;\n },\n get verticalPadding(): number | [number, number, number, number] {\n return scroll.verticalPadding ?? 0;\n },\n get ignoreFrozenCols(): boolean | undefined {\n return scroll.ignoreFrozenCols ?? false;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get fontFamily(): string | undefined {\n return tooltip.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontSize(): number | undefined {\n return tooltip.fontSize ?? DEFAULTFONTSIZE;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n },\n get maxWidth(): number | undefined {\n return tooltip.maxWidth;\n },\n get maxHeight(): number | undefined {\n return tooltip.maxHeight;\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n },\n get resizeHotSpotSize(): number {\n return columnResize.resizeHotSpotSize ?? 16;\n },\n get labelColor(): string {\n return columnResize.labelColor ?? '#FFF';\n },\n get labelFontSize(): number {\n return columnResize.labelFontSize ?? 10;\n },\n get labelFontFamily(): string {\n return columnResize.labelFontFamily ?? 'sans-serif';\n },\n get labelBackgroundFill(): string {\n return columnResize.labelBackgroundFill ?? '#3073F2';\n },\n get labelBackgroundCornerRadius(): number {\n return columnResize.labelBackgroundCornerRadius ?? 5;\n },\n get labelVisible(): boolean {\n return columnResize.labelVisible ?? true;\n },\n get visibleOnHover(): boolean {\n return columnResize.visibleOnHover ?? false;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow():\n | { width: number; startColor: string; endColor: string; visible: 'always' | 'scrolling' }\n | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n },\n get visible(): 'always' | 'scrolling' {\n return frozenColumnLine.shadow?.visible ?? 'always';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n },\n get inlineColumnBgColor(): string | undefined {\n return selectionStyle?.inlineColumnBgColor;\n },\n get inlineRowBgColor(): string | undefined {\n return selectionStyle?.inlineRowBgColor;\n },\n get selectionFillMode(): 'overlay' | 'replace' {\n return selectionStyle?.selectionFillMode ?? 'overlay';\n },\n get dynamicUpdateSelectionSize(): boolean {\n return selectionStyle?.dynamicUpdateSelectionSize ?? false;\n }\n };\n }\n return this._selectionStyle;\n }\n\n get axisStyle(): RequiredTableThemeDefine['axisStyle'] {\n if (!this._axisStyle) {\n const { obj, superTheme } = this.internalTheme;\n const axisStyle: RequiredTableThemeDefine['axisStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.axisStyle,\n obj.axisStyle\n );\n this._axisStyle = getAxisStyle(axisStyle);\n }\n return this._axisStyle;\n }\n\n get checkboxStyle(): RequiredTableThemeDefine['checkboxStyle'] {\n if (!this._checkboxStyle) {\n const { obj, superTheme } = this.internalTheme;\n const checkboxStyle: RequiredTableThemeDefine['checkboxStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.checkboxStyle,\n obj.checkboxStyle\n );\n this._checkboxStyle = checkboxStyle;\n }\n return this._checkboxStyle;\n }\n\n get radioStyle(): RequiredTableThemeDefine['radioStyle'] {\n if (!this._radioStyle) {\n const { obj, superTheme } = this.internalTheme;\n const radioStyle: RequiredTableThemeDefine['radioStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.radioStyle,\n obj.radioStyle\n );\n this._radioStyle = radioStyle;\n }\n return this._radioStyle;\n }\n\n get switchStyle(): RequiredTableThemeDefine['switchStyle'] {\n if (!this._switchStyle) {\n const { obj, superTheme } = this.internalTheme;\n const switchStyle: RequiredTableThemeDefine['switchStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.switchStyle,\n obj.switchStyle\n );\n this._switchStyle = switchStyle;\n }\n return this._switchStyle;\n }\n\n get buttonStyle(): RequiredTableThemeDefine['buttonStyle'] {\n if (!this._buttonStyle) {\n const { obj, superTheme } = this.internalTheme;\n const buttonStyle: RequiredTableThemeDefine['buttonStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.buttonStyle,\n obj.buttonStyle\n );\n this._buttonStyle = buttonStyle;\n }\n return this._buttonStyle;\n }\n\n get textPopTipStyle(): RequiredTableThemeDefine['textPopTipStyle'] {\n if (!this._textPopTipStyle) {\n const { obj, superTheme } = this.internalTheme;\n const textPopTipStyle: RequiredTableThemeDefine['textPopTipStyle'] = ingoreNoneValueMerge(\n {},\n defalutPoptipStyle,\n superTheme.textPopTipStyle,\n obj.textPopTipStyle\n );\n this._textPopTipStyle = textPopTipStyle;\n }\n return this._textPopTipStyle;\n }\n\n get functionalIconsStyle(): RequiredTableThemeDefine['functionalIconsStyle'] {\n if (!this._internalIconsStyle) {\n const { obj, superTheme } = this.internalTheme;\n const functionalIconsStyle: RequiredTableThemeDefine['functionalIconsStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.functionalIconsStyle,\n obj.functionalIconsStyle\n );\n this._internalIconsStyle = functionalIconsStyle;\n }\n return this._internalIconsStyle;\n }\n\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(\n ingoreNoneValueMerge({}, obj),\n ingoreNoneValueMerge(this.internalTheme.superTheme, this.internalTheme.obj)\n );\n }\n private getStyle(style: ThemeStyle) {\n const that = this;\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get strokeColor(): ColorPropertyDefine | undefined {\n return style.strokeColor;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n get select(): InteractionStyle | undefined {\n // if (style.select) {\n return {\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.select?.inlineColumnBgColor ??\n that.selectionStyle?.inlineColumnBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.select?.inlineRowBgColor ??\n that.selectionStyle.inlineRowBgColor ??\n (that.selectionStyle?.cellBgColor && typeof that.selectionStyle.cellBgColor === 'string'\n ? changeColor(that.selectionStyle.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get cellBgColor(): ColorPropertyDefine | undefined {\n if (that.selectionStyle.selectionFillMode === 'replace') {\n return style.select?.cellBgColor ?? that.selectionStyle.cellBgColor ?? undefined;\n }\n return undefined;\n }\n };\n // }\n // return undefined;\n },\n\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | 'vertical' | 'horizontal' | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get underlineOffset(): number | undefined {\n return style.underlineOffset;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
|
|
@@ -113,6 +113,7 @@ export interface IBaseTableProtected {
|
|
|
113
113
|
}) => MenuListItem[]);
|
|
114
114
|
contextMenuItems?: MenuListItem[] | ((field: FieldDef, row: number, col: number, table?: BaseTableAPI) => MenuListItem[]);
|
|
115
115
|
dropDownMenuHighlight?: DropDownMenuHighlightInfo[];
|
|
116
|
+
contextMenuWorkOnlyCell?: boolean;
|
|
116
117
|
parentElement?: HTMLElement;
|
|
117
118
|
};
|
|
118
119
|
tooltip: {
|
|
@@ -221,6 +222,7 @@ export interface BaseTableConstructorOptions {
|
|
|
221
222
|
}) => MenuListItem[]);
|
|
222
223
|
contextMenuItems?: MenuListItem[] | ((field: string, row: number, col: number, table?: BaseTableAPI) => MenuListItem[]);
|
|
223
224
|
dropDownMenuHighlight?: DropDownMenuHighlightInfo[];
|
|
225
|
+
contextMenuWorkOnlyCell?: boolean;
|
|
224
226
|
parentElement?: HTMLElement;
|
|
225
227
|
};
|
|
226
228
|
tooltip?: {
|