@visactor/vtable 1.17.4 → 1.17.5-alpha.1

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.
Files changed (67) hide show
  1. package/cjs/core/BaseTable.js +2 -1
  2. package/cjs/core/BaseTable.js.map +1 -1
  3. package/cjs/core/style-helper.js +2 -1
  4. package/cjs/core/tableHelper.js +13 -10
  5. package/cjs/core/tableHelper.js.map +1 -1
  6. package/cjs/dataset/dataset-pivot-table.js +1 -2
  7. package/cjs/index.d.ts +1 -1
  8. package/cjs/index.js +1 -1
  9. package/cjs/index.js.map +1 -1
  10. package/cjs/layout/index.js +2 -1
  11. package/cjs/layout/pivot-header-layout.js +8 -5
  12. package/cjs/layout/pivot-header-layout.js.map +1 -1
  13. package/cjs/layout/pivot-layout.js +2 -0
  14. package/cjs/layout/row-height-map.js +1 -1
  15. package/cjs/layout/simple-header-layout.js +1 -1
  16. package/cjs/layout/tree-helper.js +4 -4
  17. package/cjs/layout/tree-helper.js.map +1 -1
  18. package/cjs/plugins/chartModules.js +1 -2
  19. package/cjs/plugins/custom-cell-style.js +1 -1
  20. package/cjs/plugins/icons.js +1 -1
  21. package/cjs/plugins/invert-highlight.js +1 -1
  22. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  23. package/cjs/plugins/themes.js +1 -1
  24. package/cjs/scenegraph/scenegraph.js +2 -2
  25. package/cjs/scenegraph/scenegraph.js.map +1 -1
  26. package/cjs/scenegraph/select/update-select-border.js +2 -1
  27. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  28. package/cjs/themes/theme.js +4 -0
  29. package/cjs/themes/theme.js.map +1 -1
  30. package/cjs/ts-types/theme.d.ts +1 -0
  31. package/cjs/ts-types/theme.js.map +1 -1
  32. package/cjs/vrender.js.map +1 -1
  33. package/dist/vtable.js +52 -33
  34. package/dist/vtable.min.js +2 -2
  35. package/es/core/BaseTable.js +2 -1
  36. package/es/core/BaseTable.js.map +1 -1
  37. package/es/core/style-helper.js +2 -1
  38. package/es/core/tableHelper.js +13 -10
  39. package/es/core/tableHelper.js.map +1 -1
  40. package/es/dataset/dataset-pivot-table.js +1 -2
  41. package/es/index.d.ts +1 -1
  42. package/es/index.js +1 -1
  43. package/es/index.js.map +1 -1
  44. package/es/layout/index.js +2 -1
  45. package/es/layout/pivot-header-layout.js +8 -5
  46. package/es/layout/pivot-header-layout.js.map +1 -1
  47. package/es/layout/pivot-layout.js +2 -0
  48. package/es/layout/row-height-map.js +1 -1
  49. package/es/layout/simple-header-layout.js +1 -1
  50. package/es/layout/tree-helper.js +4 -4
  51. package/es/layout/tree-helper.js.map +1 -1
  52. package/es/plugins/chartModules.js +1 -2
  53. package/es/plugins/custom-cell-style.js +1 -1
  54. package/es/plugins/icons.js +1 -1
  55. package/es/plugins/invert-highlight.js +1 -1
  56. package/es/plugins/list-tree-stick-cell.js +1 -1
  57. package/es/plugins/themes.js +1 -1
  58. package/es/scenegraph/scenegraph.js +2 -2
  59. package/es/scenegraph/scenegraph.js.map +1 -1
  60. package/es/scenegraph/select/update-select-border.js +2 -1
  61. package/es/scenegraph/select/update-select-border.js.map +1 -1
  62. package/es/themes/theme.js +4 -0
  63. package/es/themes/theme.js.map +1 -1
  64. package/es/ts-types/theme.d.ts +1 -0
  65. package/es/ts-types/theme.js.map +1 -1
  66. package/es/vrender.js.map +1 -1
  67. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["/* eslint-disable sort-imports */\nimport type { ColorsDef, LineDashsDef, LineWidthsDef, LineWidthsPropertyDefine, LineDashsPropertyDefine } from '.';\nimport type { ButtonStyle, CheckboxStyle, ITextStyleOption, RadioStyle, SwitchStyle } from './column/style';\nimport type { ColorPropertyDefine, ColorsPropertyDefine } from './style-define';\nimport type { ICellAxisOption } from './component/axis';\nimport type { PopTipAttributes } from './../vrender';\n// ****** Custom Theme *******\nexport type PartialTableThemeDefine = Partial<ITableThemeDefine>;\nexport type ThemeStyle = ITextStyleOption & {\n hover?: Omit<InteractionStyle, 'cellBorderColor' | 'cellBorderLineWidth'>; //鼠标hover到某个单元格\n select?: {\n inlineRowBgColor?: ColorPropertyDefine; //交互所在整行的背景颜色\n inlineColumnBgColor?: ColorPropertyDefine; //交互所在整列的背景颜色\n cellBgColor?: ColorPropertyDefine; //交互所在单元格的背景颜色\n };\n frameStyle?: FrameStyle;\n};\nexport type InteractionStyle = {\n cellBorderColor?: ColorsPropertyDefine; //交互所在单元格的边框颜色\n cellBorderLineWidth?: LineWidthsPropertyDefine;\n // cellBorderLineDash?:LineDashsPropertyDefine,//用到的场景应该不多\n cellBgColor?: ColorPropertyDefine; //交互所在单元格的背景颜色\n // inlineRowBorderColor?: ColorsPropertyDefine,//交互所在整行的边框颜色\n inlineRowBgColor?: ColorPropertyDefine; //交互所在整行的背景颜色\n // inlineColBorderColor?: ColorsPropertyDefine,//交互所在整列的边框颜色\n inlineColumnBgColor?: ColorPropertyDefine; //交互所在整列的背景颜色\n // headerHighlightBorderColor?:ColorPropertyDefine,//表头底部高亮线\n};\nexport type FrameStyle = {\n borderColor?: ColorsDef;\n borderLineWidth?: LineWidthsDef;\n borderLineDash?: LineDashsDef;\n innerBorder?: boolean;\n};\nexport type TableFrameStyle = FrameStyle & {\n shadowBlur?: number; //阴影宽度\n shadowOffsetX?: number; //x方向偏移\n shadowOffsetY?: number; //Y方向偏移\n shadowColor?: string; //阴影颜色\n cornerRadius?: number | [number, number, number, number]; //边框圆角半径\n};\nexport type menuStyle = {\n color?: string;\n highlightColor?: string;\n fontSize?: number;\n fontFamily?: string;\n highlightFontSize?: number;\n highlightFontFamily?: string;\n hoverBgColor?: string;\n};\nexport type ScrollStyle = {\n /**滚动条滚动的颜色 */\n scrollRailColor?: string;\n /**滚动条滑块的颜色 */\n scrollSliderColor?: string;\n /**滚动条滑块的圆角半径 */\n scrollSliderCornerRadius?: number;\n /**滚动条宽度大小 */\n width?: number;\n /**滚动条是否可见 'always' | 'scrolling' | 'none' | 'focus',常驻|滚动时|不显示|聚焦在画布上时 。默认'scrolling'*/\n visible?: 'always' | 'scrolling' | 'none' | 'focus';\n horizontalVisible?: 'always' | 'scrolling' | 'none' | 'focus';\n verticalVisible?: 'always' | 'scrolling' | 'none' | 'focus';\n /*** 悬浮与容器上,还是独立于容器外 */\n hoverOn?: boolean;\n /** 是否显示到容器的边缘 尽管内容没有撑满的情况下 默认false */\n barToSide?: boolean;\n /** 横向滚动条 padding */\n horizontalPadding?: number | [number, number, number, number];\n /** 竖向滚动条 padding */\n verticalPadding?: number | [number, number, number, number];\n};\n/**\n * 气泡框,按钮的的解释信息\n */\nexport type TooltipStyle = {\n fontFamily?: string;\n fontSize?: number;\n color?: string;\n padding?: number[];\n bgColor?: string;\n maxWidth?: number;\n maxHeight?: number;\n /** !目前未实现该逻辑。触发行为:hover or click */\n // trigger?: string | string[];\n /**气泡框位置,可选 top left right bottom */\n // placement?: Placement;\n};\nexport interface ITableThemeDefine {\n /** 表格绘制范围外的canvas上填充的颜色 */\n underlayBackgroundColor?: string;\n // selectionBgColor?: ColorPropertyDefine; //多选单元格背景色 手动设置的多选 非框选\n defaultStyle?: ThemeStyle;\n cornerHeaderStyle?: ThemeStyle; //角头样式\n cornerRightTopCellStyle?: ThemeStyle; // 右上角占位单元格样式\n cornerLeftBottomCellStyle?: ThemeStyle; // 左下角占位单元格样式\n cornerRightBottomCellStyle?: ThemeStyle; // 右下角占位单元格样式\n rightFrozenStyle?: ThemeStyle; // 右侧冻结单元格样式\n bottomFrozenStyle?: ThemeStyle; // 下部冻结单元格样式\n headerStyle?: ThemeStyle;\n rowHeaderStyle?: ThemeStyle;\n bodyStyle?: ThemeStyle;\n groupTitleStyle?: ThemeStyle;\n frameStyle?: TableFrameStyle;\n //列调整宽度的直线\n columnResize?: {\n visibleOnHover?: boolean; //是否在hover时显示\n lineColor?: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth?: number; //上面线的宽度\n width?: number; //背景线的宽度\n resizeHotSpotSize?: number; //响应调整行高列宽交互行为热区的大小\n labelVisible?: boolean; //是否显示label\n labelColor?: string; //label的颜色\n labelFontSize?: number; //label的字体大小\n labelFontFamily?: string; //label的字体\n labelBackgroundFill?: string; //label的背景填充\n labelBackgroundCornerRadius?: number; //label的背景圆角\n };\n //拖拽表格换位分割线的样式\n dragHeaderSplitLine?: {\n lineColor: ColorPropertyDefine; //上面线的颜色\n lineWidth: number; //上面线的宽度\n shadowBlockColor?: string; //拖拽时阴影区域的颜色\n };\n //冻结列后面的效果\n frozenColumnLine?: {\n shadow?: {\n //默认效果 会有阴影配置\n width: number; //阴影整体宽度\n startColor: string; //开始颜色\n endColor: string; //结束颜色\n };\n /** TODO 暂未生效 */\n border?: {\n //有些需求要两种效果 这里配置滚动前的边框效果(实现方式是两条线叠加产生),滚动后按上面的阴影效果\n lineColor: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth: number; //上面线的宽度\n width?: number; //背景线的宽度\n };\n };\n\n // menuStyle?: menuStyle;\n scrollStyle?: ScrollStyle;\n tooltipStyle?: TooltipStyle;\n // selectHeaderHighlight?: boolean;\n /** 选择框样式 */\n selectionStyle?: //Omit<InteractionStyle, 'inlineRowBgColor' | 'inlineColumnBgColor'>; //鼠标点击到某个单元格\n {\n cellBorderColor?: string; //边框颜色\n cellBorderLineWidth?: number; //边框线宽度\n cellBgColor?: string; //选择框背景颜色\n inlineRowBgColor?: string; //交互所在整行的背景颜色\n inlineColumnBgColor?: string; //交互所在整列的背景颜色\n selectionFillMode?: 'overlay' | 'replace'; //选择框填充模式,overlay表示选择框背景色覆盖在表格上(需要配饰透明度),replace表示背景色替换原有单元格的背景色\n };\n\n // style for axis\n axisStyle?: {\n defaultAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n leftAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n rightAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n topAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n bottomAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n };\n\n checkboxStyle?: CheckboxStyle;\n radioStyle?: RadioStyle;\n switchStyle?: SwitchStyle;\n buttonStyle?: ButtonStyle;\n\n // style for text pop tip\n textPopTipStyle?: PopTipAttributes;\n\n // senior config for fs\n // 表格四侧单元格,靠近边缘的border是否需要再绘制;如配置false的话,当表格左侧frame未设置情况下左侧单元格不显示左边框,其他方向同理\n cellInnerBorder?: boolean;\n // cell border clip direction\n cellBorderClipDirection?: 'top-left' | 'bottom-right'; // default is 'top-left'\n // text offset, hack for fs\n _contentOffset?: number;\n /** 内部功能性按钮图标颜色及尺寸配置 */\n functionalIconsStyle?: {\n sort_color?: string;\n sort_color_opacity?: string;\n sort_color_2?: string;\n sort_color_opacity_2?: string;\n sort_size?: number;\n sort_size_2?: number;\n frozen_color?: string;\n frozen_color_opacity?: string;\n frozen_color_2?: string;\n frozen_color_opacity_2?: string;\n frozen_size?: number;\n frozen_size_2?: number;\n collapse_color?: string;\n collapse_color_opacity?: string;\n collapse_size?: number;\n collapse_size_2?: number;\n expand_color?: string;\n expand_color_opacity?: string;\n expand_size?: number;\n expand_size_2?: number;\n dragReorder_color?: string;\n dragReorder_color_opacity?: string;\n dragReorder_size?: number;\n };\n}\n\nexport type RequiredTableThemeDefine = Required<ITableThemeDefine>;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["/* eslint-disable sort-imports */\nimport type { ColorsDef, LineDashsDef, LineWidthsDef, LineWidthsPropertyDefine, LineDashsPropertyDefine } from '.';\nimport type { ButtonStyle, CheckboxStyle, ITextStyleOption, RadioStyle, SwitchStyle } from './column/style';\nimport type { ColorPropertyDefine, ColorsPropertyDefine } from './style-define';\nimport type { ICellAxisOption } from './component/axis';\nimport type { PopTipAttributes } from './../vrender';\n// ****** Custom Theme *******\nexport type PartialTableThemeDefine = Partial<ITableThemeDefine>;\nexport type ThemeStyle = ITextStyleOption & {\n hover?: Omit<InteractionStyle, 'cellBorderColor' | 'cellBorderLineWidth'>; //鼠标hover到某个单元格\n select?: {\n inlineRowBgColor?: ColorPropertyDefine; //交互所在整行的背景颜色\n inlineColumnBgColor?: ColorPropertyDefine; //交互所在整列的背景颜色\n cellBgColor?: ColorPropertyDefine; //交互所在单元格的背景颜色\n };\n frameStyle?: FrameStyle;\n};\nexport type InteractionStyle = {\n cellBorderColor?: ColorsPropertyDefine; //交互所在单元格的边框颜色\n cellBorderLineWidth?: LineWidthsPropertyDefine;\n // cellBorderLineDash?:LineDashsPropertyDefine,//用到的场景应该不多\n cellBgColor?: ColorPropertyDefine; //交互所在单元格的背景颜色\n // inlineRowBorderColor?: ColorsPropertyDefine,//交互所在整行的边框颜色\n inlineRowBgColor?: ColorPropertyDefine; //交互所在整行的背景颜色\n // inlineColBorderColor?: ColorsPropertyDefine,//交互所在整列的边框颜色\n inlineColumnBgColor?: ColorPropertyDefine; //交互所在整列的背景颜色\n // headerHighlightBorderColor?:ColorPropertyDefine,//表头底部高亮线\n};\nexport type FrameStyle = {\n borderColor?: ColorsDef;\n borderLineWidth?: LineWidthsDef;\n borderLineDash?: LineDashsDef;\n innerBorder?: boolean;\n};\nexport type TableFrameStyle = FrameStyle & {\n shadowBlur?: number; //阴影宽度\n shadowOffsetX?: number; //x方向偏移\n shadowOffsetY?: number; //Y方向偏移\n shadowColor?: string; //阴影颜色\n cornerRadius?: number | [number, number, number, number]; //边框圆角半径\n};\nexport type menuStyle = {\n color?: string;\n highlightColor?: string;\n fontSize?: number;\n fontFamily?: string;\n highlightFontSize?: number;\n highlightFontFamily?: string;\n hoverBgColor?: string;\n};\nexport type ScrollStyle = {\n /**滚动条滚动的颜色 */\n scrollRailColor?: string;\n /**滚动条滑块的颜色 */\n scrollSliderColor?: string;\n /**滚动条滑块的圆角半径 */\n scrollSliderCornerRadius?: number;\n /**滚动条宽度大小 */\n width?: number;\n /**滚动条是否可见 'always' | 'scrolling' | 'none' | 'focus',常驻|滚动时|不显示|聚焦在画布上时 。默认'scrolling'*/\n visible?: 'always' | 'scrolling' | 'none' | 'focus';\n horizontalVisible?: 'always' | 'scrolling' | 'none' | 'focus';\n verticalVisible?: 'always' | 'scrolling' | 'none' | 'focus';\n /*** 悬浮与容器上,还是独立于容器外 */\n hoverOn?: boolean;\n /** 是否显示到容器的边缘 尽管内容没有撑满的情况下 默认false */\n barToSide?: boolean;\n /** 横向滚动条 padding */\n horizontalPadding?: number | [number, number, number, number];\n /** 竖向滚动条 padding */\n verticalPadding?: number | [number, number, number, number];\n};\n/**\n * 气泡框,按钮的的解释信息\n */\nexport type TooltipStyle = {\n fontFamily?: string;\n fontSize?: number;\n color?: string;\n padding?: number[];\n bgColor?: string;\n maxWidth?: number;\n maxHeight?: number;\n /** !目前未实现该逻辑。触发行为:hover or click */\n // trigger?: string | string[];\n /**气泡框位置,可选 top left right bottom */\n // placement?: Placement;\n};\nexport interface ITableThemeDefine {\n /** 表格绘制范围外的canvas上填充的颜色 */\n underlayBackgroundColor?: string;\n // selectionBgColor?: ColorPropertyDefine; //多选单元格背景色 手动设置的多选 非框选\n defaultStyle?: ThemeStyle;\n cornerHeaderStyle?: ThemeStyle; //角头样式\n cornerRightTopCellStyle?: ThemeStyle; // 右上角占位单元格样式\n cornerLeftBottomCellStyle?: ThemeStyle; // 左下角占位单元格样式\n cornerRightBottomCellStyle?: ThemeStyle; // 右下角占位单元格样式\n rightFrozenStyle?: ThemeStyle; // 右侧冻结单元格样式\n bottomFrozenStyle?: ThemeStyle; // 下部冻结单元格样式\n headerStyle?: ThemeStyle;\n rowHeaderStyle?: ThemeStyle;\n bodyStyle?: ThemeStyle;\n groupTitleStyle?: ThemeStyle;\n frameStyle?: TableFrameStyle;\n //列调整宽度的直线\n columnResize?: {\n visibleOnHover?: boolean; //是否在hover时显示\n lineColor?: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth?: number; //上面线的宽度\n width?: number; //背景线的宽度\n resizeHotSpotSize?: number; //响应调整行高列宽交互行为热区的大小\n labelVisible?: boolean; //是否显示label\n labelColor?: string; //label的颜色\n labelFontSize?: number; //label的字体大小\n labelFontFamily?: string; //label的字体\n labelBackgroundFill?: string; //label的背景填充\n labelBackgroundCornerRadius?: number; //label的背景圆角\n };\n //拖拽表格换位分割线的样式\n dragHeaderSplitLine?: {\n lineColor: ColorPropertyDefine; //上面线的颜色\n lineWidth: number; //上面线的宽度\n shadowBlockColor?: string; //拖拽时阴影区域的颜色\n };\n //冻结列后面的效果\n frozenColumnLine?: {\n shadow?: {\n //默认效果 会有阴影配置\n width: number; //阴影整体宽度\n startColor: string; //开始颜色\n endColor: string; //结束颜色\n };\n /** TODO 暂未生效 */\n border?: {\n //有些需求要两种效果 这里配置滚动前的边框效果(实现方式是两条线叠加产生),滚动后按上面的阴影效果\n lineColor: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth: number; //上面线的宽度\n width?: number; //背景线的宽度\n };\n };\n\n // menuStyle?: menuStyle;\n scrollStyle?: ScrollStyle;\n tooltipStyle?: TooltipStyle;\n // selectHeaderHighlight?: boolean;\n /** 选择框样式 */\n selectionStyle?: //Omit<InteractionStyle, 'inlineRowBgColor' | 'inlineColumnBgColor'>; //鼠标点击到某个单元格\n {\n cellBorderColor?: string; //边框颜色\n cellBorderLineWidth?: number; //边框线宽度\n cellBgColor?: string; //选择框背景颜色\n inlineRowBgColor?: string; //交互所在整行的背景颜色\n inlineColumnBgColor?: string; //交互所在整列的背景颜色\n selectionFillMode?: 'overlay' | 'replace'; //选择框填充模式,overlay表示选择框背景色覆盖在表格上(需要配饰透明度),replace表示背景色替换原有单元格的背景色\n dynamicUpdateSelectionSize?: boolean; // 选择框大小随滚动动态变化,用于冻结并且背景透明的场景,默认false,开启后性能会有一定影响\n };\n\n // style for axis\n axisStyle?: {\n defaultAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n leftAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n rightAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n topAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n bottomAxisStyle?: Omit<ICellAxisOption, 'type' | 'domain' | 'range' | 'orient' | '__ticksForVTable'>;\n };\n\n checkboxStyle?: CheckboxStyle;\n radioStyle?: RadioStyle;\n switchStyle?: SwitchStyle;\n buttonStyle?: ButtonStyle;\n\n // style for text pop tip\n textPopTipStyle?: PopTipAttributes;\n\n // senior config for fs\n // 表格四侧单元格,靠近边缘的border是否需要再绘制;如配置false的话,当表格左侧frame未设置情况下左侧单元格不显示左边框,其他方向同理\n cellInnerBorder?: boolean;\n // cell border clip direction\n cellBorderClipDirection?: 'top-left' | 'bottom-right'; // default is 'top-left'\n // text offset, hack for fs\n _contentOffset?: number;\n /** 内部功能性按钮图标颜色及尺寸配置 */\n functionalIconsStyle?: {\n sort_color?: string;\n sort_color_opacity?: string;\n sort_color_2?: string;\n sort_color_opacity_2?: string;\n sort_size?: number;\n sort_size_2?: number;\n frozen_color?: string;\n frozen_color_opacity?: string;\n frozen_color_2?: string;\n frozen_color_opacity_2?: string;\n frozen_size?: number;\n frozen_size_2?: number;\n collapse_color?: string;\n collapse_color_opacity?: string;\n collapse_size?: number;\n collapse_size_2?: number;\n expand_color?: string;\n expand_color_opacity?: string;\n expand_size?: number;\n expand_size_2?: number;\n dragReorder_color?: string;\n dragReorder_color_opacity?: string;\n dragReorder_size?: number;\n };\n}\n\nexport type RequiredTableThemeDefine = Required<ITableThemeDefine>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAAwH;AACxH,yDAqBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,uCAAwB,GAAE,CAAC;IAE3B,IAAA,+BAAU,GAAE,CAAC;IAEb,IAAA,uCAAwB,GAAE,CAAC;AAC7B,CAAC;AAnCD,gDAmCC;AAGD,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.17.4\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction, Timeline } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
1
+ {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAAwH;AACxH,yDAqBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,uCAAwB,GAAE,CAAC;IAE3B,IAAA,+BAAU,GAAE,CAAC;IAEb,IAAA,uCAAwB,GAAE,CAAC;AAC7B,CAAC;AAnCD,gDAmCC;AAGD,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AAErB,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.17.5-alpha.1\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction, Timeline } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
package/dist/vtable.js CHANGED
@@ -30668,6 +30668,9 @@
30668
30668
  },
30669
30669
  get selectionFillMode() {
30670
30670
  return selectionStyle?.selectionFillMode ?? 'overlay';
30671
+ },
30672
+ get dynamicUpdateSelectionSize() {
30673
+ return selectionStyle?.dynamicUpdateSelectionSize ?? false;
30671
30674
  }
30672
30675
  };
30673
30676
  }
@@ -34513,32 +34516,36 @@
34513
34516
  const tableCornerRadius = table.theme.frameStyle.cornerRadius;
34514
34517
  if (table.theme.cellInnerBorder) {
34515
34518
  if (Array.isArray(tableCornerRadius)) {
34519
+ const radius = [0, 0, 0, 0];
34516
34520
  if (col === 0 && row === 0) {
34517
- return [tableCornerRadius[0], 0, 0, 0];
34521
+ radius[0] = tableCornerRadius[0];
34518
34522
  }
34519
- else if (col === table.colCount - 1 && row === 0) {
34520
- return [0, tableCornerRadius[1], 0, 0];
34523
+ if (col === table.colCount - 1 && row === 0) {
34524
+ radius[1] = tableCornerRadius[1];
34521
34525
  }
34522
- else if (col === 0 && row === table.rowCount - 1) {
34523
- return [0, 0, 0, tableCornerRadius[3]];
34526
+ if (col === 0 && row === table.rowCount - 1) {
34527
+ radius[3] = tableCornerRadius[3];
34524
34528
  }
34525
- else if (col === table.colCount - 1 && row === table.rowCount - 1) {
34526
- return [0, 0, tableCornerRadius[2], 0];
34529
+ if (col === table.colCount - 1 && row === table.rowCount - 1) {
34530
+ radius[2] = tableCornerRadius[2];
34527
34531
  }
34532
+ return radius;
34528
34533
  }
34529
34534
  else if (tableCornerRadius) {
34535
+ const radius = [0, 0, 0, 0];
34530
34536
  if (col === 0 && row === 0) {
34531
- return [tableCornerRadius, 0, 0, 0];
34537
+ radius[0] = tableCornerRadius;
34532
34538
  }
34533
- else if (col === table.colCount - 1 && row === 0) {
34534
- return [0, tableCornerRadius, 0, 0];
34539
+ if (col === table.colCount - 1 && row === 0) {
34540
+ radius[1] = tableCornerRadius;
34535
34541
  }
34536
- else if (col === 0 && row === table.rowCount - 1) {
34537
- return [0, 0, 0, tableCornerRadius];
34542
+ if (col === 0 && row === table.rowCount - 1) {
34543
+ radius[3] = tableCornerRadius;
34538
34544
  }
34539
- else if (col === table.colCount - 1 && row === table.rowCount - 1) {
34540
- return [0, 0, tableCornerRadius, 0];
34545
+ if (col === table.colCount - 1 && row === table.rowCount - 1) {
34546
+ radius[2] = tableCornerRadius;
34541
34547
  }
34548
+ return radius;
34542
34549
  }
34543
34550
  }
34544
34551
  return 0;
@@ -45734,10 +45741,11 @@
45734
45741
  isNearBottomColHeader = true;
45735
45742
  }
45736
45743
  }
45737
- if ((isNearRowHeader && selectComp.rect.attribute.stroke[3]) ||
45738
- (isNearRightRowHeader && selectComp.rect.attribute.stroke[1]) ||
45739
- (isNearColHeader && selectComp.rect.attribute.stroke[0]) ||
45740
- (isNearBottomColHeader && selectComp.rect.attribute.stroke[2])) {
45744
+ const { dynamicUpdateSelectionSize } = table.theme.selectionStyle;
45745
+ if ((isNearRowHeader && (selectComp.rect.attribute.stroke[3] || dynamicUpdateSelectionSize)) ||
45746
+ (isNearRightRowHeader && (selectComp.rect.attribute.stroke[1] || dynamicUpdateSelectionSize)) ||
45747
+ (isNearColHeader && (selectComp.rect.attribute.stroke[0] || dynamicUpdateSelectionSize)) ||
45748
+ (isNearBottomColHeader && (selectComp.rect.attribute.stroke[2] || dynamicUpdateSelectionSize))) {
45741
45749
  if (isNearRowHeader && selectComp.rect.attribute.stroke[3]) {
45742
45750
  scene.tableGroup.insertAfter(selectComp.rect, selectComp.role === 'columnHeader'
45743
45751
  ? scene.cornerHeaderGroup
@@ -49249,8 +49257,8 @@
49249
49257
  this.table.scenegraph.proxy.setY(-y, isEnd);
49250
49258
  }
49251
49259
  setBodyAndRowHeaderY(y) {
49252
- const firstBodyCell = this.bodyGroup.firstChild?.firstChild;
49253
- const lastBodyCell = this.bodyGroup.firstChild?.lastChild;
49260
+ const firstBodyCell = this.bodyGroup.firstChild?.firstChild ?? this.rowHeaderGroup.firstChild?.firstChild;
49261
+ const lastBodyCell = this.bodyGroup.firstChild?.lastChild ?? this.rowHeaderGroup.firstChild?.lastChild;
49254
49262
  if (y === 0 &&
49255
49263
  firstBodyCell &&
49256
49264
  firstBodyCell.row === this.table.frozenRowCount &&
@@ -58124,7 +58132,7 @@
58124
58132
  });
58125
58133
  }
58126
58134
  else {
58127
- size = 1;
58135
+ node.level === -1 ? (size = 0) : (size = 1);
58128
58136
  }
58129
58137
  }
58130
58138
  else if (node.hierarchyState === HierarchyState.expand && children?.length >= 1) {
@@ -58169,7 +58177,7 @@
58169
58177
  }
58170
58178
  else {
58171
58179
  node.hierarchyState = HierarchyState.none;
58172
- size = 1;
58180
+ node.level === -1 ? (size = 0) : (size = 1);
58173
58181
  }
58174
58182
  node.size = size;
58175
58183
  return size;
@@ -60516,7 +60524,7 @@
60516
60524
  return TABLE_EVENT_TYPE;
60517
60525
  }
60518
60526
  options;
60519
- version = "1.17.4";
60527
+ version = "1.17.5-alpha.1";
60520
60528
  pagination;
60521
60529
  id = `VTable${Date.now()}`;
60522
60530
  headerStyleCache;
@@ -61185,6 +61193,8 @@
61185
61193
  height - ((lineWidths[0] ?? 0) + (shadowWidths[0] ?? 0)) - ((lineWidths[2] ?? 0) + (shadowWidths[2] ?? 0));
61186
61194
  }
61187
61195
  }
61196
+ this._clearColRangeWidthsMap();
61197
+ this._clearRowRangeHeightsMap();
61188
61198
  }
61189
61199
  updateViewBox(newViewBox) {
61190
61200
  const oldWidth = (this.options?.viewBox?.x2 ?? 0) - (this.options?.viewBox?.x1 ?? 0);
@@ -75296,6 +75306,9 @@
75296
75306
  const rowLevelCount = this.rowHierarchyType === 'grid-tree'
75297
75307
  ? this._getRowHeaderTreeExpandedMaxLevelCount() || this.rowHeaderLevelCount
75298
75308
  : this.rowHeaderLevelCount;
75309
+ if (colLevelCount === 0 || rowLevelCount === 0) {
75310
+ return results;
75311
+ }
75299
75312
  if (this.cornerSetting.titleOnDimension === 'all') {
75300
75313
  if (this.indicatorsAsCol) {
75301
75314
  if (colDimensionKeys) {
@@ -75954,7 +75967,8 @@
75954
75967
  if (count === 0 &&
75955
75968
  this.dataset &&
75956
75969
  !this.dataset.customColTree?.length) {
75957
- if (this.cornerSetting.titleOnDimension === 'row' && this.cornerSetting.forceShowHeader) {
75970
+ if ((this.cornerSetting.titleOnDimension === 'row' || this.cornerSetting.titleOnDimension === 'all') &&
75971
+ this.cornerSetting.forceShowHeader) {
75958
75972
  count = 1;
75959
75973
  }
75960
75974
  else if (!this._table.isPivotChart() &&
@@ -76005,7 +76019,8 @@
76005
76019
  if (count === 0 &&
76006
76020
  this.dataset &&
76007
76021
  !this.dataset.customRowTree?.length) {
76008
- if (this.cornerSetting.titleOnDimension === 'column' && this.cornerSetting.forceShowHeader) {
76022
+ if ((this.cornerSetting.titleOnDimension === 'column' || this.cornerSetting.titleOnDimension === 'all') &&
76023
+ this.cornerSetting.forceShowHeader) {
76009
76024
  count = 1;
76010
76025
  }
76011
76026
  else if (!this._table.isPivotChart() &&
@@ -76052,15 +76067,19 @@
76052
76067
  this._rowHeaderLevelCount = count;
76053
76068
  }
76054
76069
  get colCount() {
76055
- return ((this._getColumnHeaderTreeExpandedMaxLevelCount() > 0 ||
76070
+ let bodyColCount;
76071
+ if (this._getColumnHeaderTreeExpandedMaxLevelCount() > 0 ||
76056
76072
  this._table.isPivotChart() ||
76057
76073
  this.dataset.records?.length > 0 ||
76058
- (this.dataset.records && !Array.isArray(this.dataset.records))
76059
- ? this._columnHeaderCellIds[0]?.length ?? this.columnDimensionTree.tree.size
76060
- : 0) +
76061
- this.rowHeaderLevelCount +
76062
- this.rightHeaderColCount +
76063
- this.leftRowSeriesNumberColumnCount);
76074
+ (this.dataset.records && !Array.isArray(this.dataset.records))) {
76075
+ bodyColCount =
76076
+ (this._columnHeaderCellIds[0]?.length ?? this.columnDimensionTree.tree.size) ||
76077
+ (this._indicators?.length > 0 ? 1 : 0);
76078
+ }
76079
+ else {
76080
+ bodyColCount = 0;
76081
+ }
76082
+ return bodyColCount + this.rowHeaderLevelCount + this.rightHeaderColCount + this.leftRowSeriesNumberColumnCount;
76064
76083
  }
76065
76084
  get rowCount() {
76066
76085
  return (((this._table.records || this.dataset.records
@@ -83194,7 +83213,7 @@
83194
83213
  }
83195
83214
 
83196
83215
  registerForVrender();
83197
- const version = "1.17.4";
83216
+ const version = "1.17.5-alpha.1";
83198
83217
  function getIcons() {
83199
83218
  return get$2();
83200
83219
  }