@visactor/vtable 1.23.1 → 1.23.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/cjs/core/BaseTable.js +16 -13
  2. package/cjs/core/BaseTable.js.map +1 -1
  3. package/cjs/core/style-helper.js +1 -1
  4. package/cjs/core/style-helper.js.map +1 -1
  5. package/cjs/dataset/DataStatistics.js +1 -1
  6. package/cjs/dataset/dataset-pivot-table.js +1 -1
  7. package/cjs/dataset/dataset.js +1 -2
  8. package/cjs/dataset/flatDataToObject.js +1 -1
  9. package/cjs/edit/edit-manager.js +1 -0
  10. package/cjs/event/media-click.js +4 -4
  11. package/cjs/event/media-click.js.map +1 -1
  12. package/cjs/header-helper/header-helper.d.ts +2 -2
  13. package/cjs/header-helper/header-helper.js.map +1 -1
  14. package/cjs/header-helper/style.js +1 -2
  15. package/cjs/icons.js +2 -2
  16. package/cjs/icons.js.map +1 -1
  17. package/cjs/index.d.ts +1 -1
  18. package/cjs/index.js +1 -1
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/layout/row-height-map.js +1 -0
  21. package/cjs/plugins/index.js +1 -1
  22. package/cjs/plugins/interface.js +1 -1
  23. package/cjs/plugins/invert-highlight.js +1 -1
  24. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  25. package/cjs/scenegraph/group-creater/cell-helper.js +2 -2
  26. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  27. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +3 -1
  28. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +12 -6
  29. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  30. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +6 -2
  31. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  32. package/cjs/scenegraph/group-creater/column-helper.js +1 -2
  33. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  34. package/cjs/scenegraph/layout/compute-col-width.js +5 -5
  35. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  36. package/cjs/scenegraph/layout/compute-row-height.js +1 -2
  37. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  38. package/cjs/scenegraph/layout/update-height.js +3 -3
  39. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  40. package/cjs/scenegraph/layout/update-width.js +5 -5
  41. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  42. package/cjs/scenegraph/scenegraph.js +1 -1
  43. package/cjs/scenegraph/scenegraph.js.map +1 -1
  44. package/cjs/ts-types/icon.d.ts +2 -0
  45. package/cjs/ts-types/icon.js +4 -3
  46. package/cjs/ts-types/icon.js.map +1 -1
  47. package/cjs/ts-types/list-table/layout-map/api.d.ts +3 -3
  48. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  49. package/cjs/ts-types/pivot-table/dimension/composite-dimension.d.ts +17 -0
  50. package/cjs/ts-types/pivot-table/dimension/composite-dimension.js +6 -0
  51. package/cjs/ts-types/pivot-table/dimension/composite-dimension.js.map +1 -0
  52. package/cjs/ts-types/pivot-table/dimension/index.d.ts +3 -2
  53. package/cjs/ts-types/pivot-table/dimension/index.js.map +1 -1
  54. package/cjs/ts-types/pivot-table/indicator/composite-indicator.d.ts +14 -2
  55. package/cjs/ts-types/pivot-table/indicator/composite-indicator.js.map +1 -1
  56. package/cjs/ts-types/pivot-table/indicator/index.d.ts +2 -2
  57. package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -1
  58. package/cjs/vrender.js.map +1 -1
  59. package/dist/vtable.js +57 -55
  60. package/dist/vtable.min.js +2 -2
  61. package/es/core/BaseTable.js +16 -13
  62. package/es/core/BaseTable.js.map +1 -1
  63. package/es/core/style-helper.js +1 -1
  64. package/es/core/style-helper.js.map +1 -1
  65. package/es/dataset/DataStatistics.js +1 -1
  66. package/es/dataset/dataset-pivot-table.js +1 -1
  67. package/es/dataset/dataset.js +1 -2
  68. package/es/dataset/flatDataToObject.js +1 -1
  69. package/es/edit/edit-manager.js +2 -1
  70. package/es/event/media-click.js +4 -4
  71. package/es/event/media-click.js.map +1 -1
  72. package/es/header-helper/header-helper.d.ts +2 -2
  73. package/es/header-helper/header-helper.js.map +1 -1
  74. package/es/header-helper/style.js +1 -2
  75. package/es/icons.js +1 -3
  76. package/es/icons.js.map +1 -1
  77. package/es/index.d.ts +1 -1
  78. package/es/index.js +1 -1
  79. package/es/index.js.map +1 -1
  80. package/es/layout/row-height-map.js +2 -1
  81. package/es/plugins/index.js +1 -1
  82. package/es/plugins/interface.js +1 -1
  83. package/es/plugins/invert-highlight.js +1 -1
  84. package/es/plugins/list-tree-stick-cell.js +1 -1
  85. package/es/scenegraph/group-creater/cell-helper.js +2 -2
  86. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  87. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +3 -1
  88. package/es/scenegraph/group-creater/cell-type/image-cell.js +11 -7
  89. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  90. package/es/scenegraph/group-creater/cell-type/video-cell.js +7 -3
  91. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  92. package/es/scenegraph/group-creater/column-helper.js +1 -2
  93. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  94. package/es/scenegraph/layout/compute-col-width.js +5 -5
  95. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  96. package/es/scenegraph/layout/compute-row-height.js +1 -2
  97. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  98. package/es/scenegraph/layout/update-height.js +3 -3
  99. package/es/scenegraph/layout/update-height.js.map +1 -1
  100. package/es/scenegraph/layout/update-width.js +5 -5
  101. package/es/scenegraph/layout/update-width.js.map +1 -1
  102. package/es/scenegraph/scenegraph.js +1 -1
  103. package/es/scenegraph/scenegraph.js.map +1 -1
  104. package/es/ts-types/icon.d.ts +2 -0
  105. package/es/ts-types/icon.js +4 -3
  106. package/es/ts-types/icon.js.map +1 -1
  107. package/es/ts-types/list-table/layout-map/api.d.ts +3 -3
  108. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  109. package/es/ts-types/pivot-table/dimension/composite-dimension.d.ts +17 -0
  110. package/es/ts-types/pivot-table/dimension/composite-dimension.js +2 -0
  111. package/es/ts-types/pivot-table/dimension/composite-dimension.js.map +1 -0
  112. package/es/ts-types/pivot-table/dimension/index.d.ts +3 -2
  113. package/es/ts-types/pivot-table/dimension/index.js.map +1 -1
  114. package/es/ts-types/pivot-table/indicator/composite-indicator.d.ts +14 -2
  115. package/es/ts-types/pivot-table/indicator/composite-indicator.js.map +1 -1
  116. package/es/ts-types/pivot-table/indicator/index.d.ts +2 -2
  117. package/es/ts-types/pivot-table/indicator/index.js.map +1 -1
  118. package/es/vrender.js.map +1 -1
  119. package/package.json +9 -9
@@ -71,6 +71,8 @@ export declare enum IconFuncTypeEnum {
71
71
  dropDownState = "dropDownState",
72
72
  play = "play",
73
73
  damagePic = "damagePic",
74
+ imageDamagePic = "imageDamagePic",
75
+ videoDamagePic = "videoDamagePic",
74
76
  expand = "expand",
75
77
  collapse = "collapse",
76
78
  drillDown = "drillDown",
@@ -13,9 +13,10 @@ function(IconPosition) {
13
13
  }(IconPosition = exports.IconPosition || (exports.IconPosition = {})), function(IconFuncTypeEnum) {
14
14
  IconFuncTypeEnum.frozen = "frozen", IconFuncTypeEnum.sort = "sort", IconFuncTypeEnum.dropDown = "dropDown",
15
15
  IconFuncTypeEnum.dropDownState = "dropDownState", IconFuncTypeEnum.play = "play",
16
- IconFuncTypeEnum.damagePic = "damagePic", IconFuncTypeEnum.expand = "expand", IconFuncTypeEnum.collapse = "collapse",
17
- IconFuncTypeEnum.drillDown = "drillDown", IconFuncTypeEnum.drillUp = "drillUp",
18
- IconFuncTypeEnum.dragReorder = "dragReorder";
16
+ IconFuncTypeEnum.damagePic = "damagePic", IconFuncTypeEnum.imageDamagePic = "imageDamagePic",
17
+ IconFuncTypeEnum.videoDamagePic = "videoDamagePic", IconFuncTypeEnum.expand = "expand",
18
+ IconFuncTypeEnum.collapse = "collapse", IconFuncTypeEnum.drillDown = "drillDown",
19
+ IconFuncTypeEnum.drillUp = "drillUp", IconFuncTypeEnum.dragReorder = "dragReorder";
19
20
  }(IconFuncTypeEnum = exports.IconFuncTypeEnum || (exports.IconFuncTypeEnum = {})),
20
21
  function(InternalIconName) {
21
22
  InternalIconName.upwardIconName = "sort_upward", InternalIconName.downwardIconName = "sort_downward",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/icon.ts"],"names":[],"mappings":";;;AAoHA,IAAY,YAsBX;AAtBD,WAAY,YAAY;IAEtB,2CAA2B,CAAA;IAE3B,uCAAuB,CAAA;IAEvB,6BAAa,CAAA;IAEb,+BAAe,CAAA;IAEf,+CAA+B,CAAA;IAM/B,2CAA2B,CAAA;IAE3B,6CAA6B,CAAA;IAG7B,qCAAqB,CAAA;AACvB,CAAC,EAtBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAsBvB;AAMD,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,mDAA+B,CAAA;IAC/B,iCAAa,CAAA;IACb,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,+CAA2B,CAAA;AAC7B,CAAC,EAZW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAY3B;AACD,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,kDAA8B,CAAA;IAC9B,sDAAkC,CAAA;IAClC,kDAA8B,CAAA;IAE9B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,2DAAuC,CAAA;IACvC,qDAAiC,CAAA;IAEjC,6CAAyB,CAAA;IACzB,iDAA6B,CAAA;IAC7B,uDAAmC,CAAA;IAEnC,+CAA2B,CAAA;AAC7B,CAAC,EAfW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAe3B","file":"icon.js","sourcesContent":["// ****** Icon配置信息,header ,以及列Icon *******9\n\nimport type { ITextAttribute } from './../vrender';\nimport type { Placement } from './table-engine';\n\nexport interface IIconBase {\n /**\n * icon 是何种内容类型,如svg font。可用来约束不同类型的属性定义\n */\n type: 'text' | 'svg' | 'path' | 'image';\n /** icon的高度 */\n width?: number;\n /** icon的高度 */\n height?: number; // 如果是font图标 不设的话默认是字体高度\n /**\n * IconPosition枚举类型\n */\n positionType: IconPosition;\n /**\n * 和右侧元素间隔距离, 或者与单元格边界的间隔距离\n */\n marginRight?: number;\n /**\n * 和左侧元素间隔距离, 或者与单元格边界的间隔距离\n */\n marginLeft?: number;\n /**\n * icon名称,会作为内部缓存的key\n */\n name: string;\n /**\n * 重置VTable内部icon 指定icon的功能类型\n * 具有切换状态的功能性的图标请务必配置上, 如排序功能funcType配置sort,name配置sort_normal或ort_downward,或sort_upward\n */\n funcType?: IconFuncTypeEnum | string;\n /**\n * 响应hover 热区大小,及hover效果背景色\n */\n hover?: {\n width?: number;\n height?: number;\n bgColor: string;\n image?: string;\n };\n /** 鼠标hover到图标上后出现的具体鼠标样式 */\n cursor?: string;\n /**是否可见 默认'always' 可选:'always' | 'mouseenter_cell' | 'click_cell',常驻|hover到单元格时|选中单元格时。\n * 建议:如需使用 'mouseenter_cell' | 'click_cell',建议将positionTyle设为absoluteRight【即不占位】,否则占位的类型会影响视觉展示\n */\n visibleTime?: 'always' | 'mouseenter_cell' | 'click_cell';\n /**\n * 气泡框,按钮的的解释信息, 目前只支持hover行为触发\n */\n tooltip?: {\n title: string;\n /**气泡框位置,可选 top left right bottom */\n placement?: Placement;\n /** 气泡框的样式 不配的话会使用theme中的样式 */\n style?: {\n // font?: string;\n fontSize?: number;\n fontFamily?: string;\n color?: string;\n padding?: number[];\n bgColor?: string;\n arrowMark?: boolean;\n maxWidth?: number;\n maxHeight?: number;\n };\n disappearDelay?: number;\n };\n /**\n * 是否可交互 默认为true 目前已知不可交互按钮:下拉菜单状态\n */\n interactive?: boolean;\n}\n\n// ****** Column Icon Options *******\nexport interface TextIcon extends IIconBase {\n type: 'text';\n content: string;\n style?: ITextAttribute;\n}\nexport interface ImageIcon extends IIconBase {\n type: 'image';\n src: string;\n /** 图片裁切形状 */\n shape?: 'circle' | 'square';\n\n isGif?: boolean;\n}\n\nexport interface PathIcon extends IIconBase {\n type: 'path';\n path: string;\n color?: string;\n}\n\nexport interface SvgIcon extends IIconBase {\n type: 'svg';\n /**\n * svg内容,支持url或者path\n */\n svg: string;\n}\n\n// export interface NamedIcon extends IIconBase {\n// type: 'name';\n// color?: string;\n// }\n/**\n * icon 的位置\n * inlineFront:文本内容的前面,\n * inlineEnd:文本内容后面\n *\n */\nexport enum IconPosition {\n /**文本行内容前面的图标,跟随文本定位,随文本折行 */\n inlineFront = 'inlineFront',\n /**文本行内容后面的图标,跟随文本定位,随文本折行。如sort图表 放在文本内容的第一行 */\n inlineEnd = 'inlineEnd',\n /**单元格左侧按钮 且受padding影响 */\n left = 'left',\n /**单元格右侧按钮 受padding影响 如pin图表 */\n right = 'right',\n /**固定在右侧的图标,不占位,不受padding影响,可能压盖内容 如 dropDown */\n absoluteRight = 'absoluteRight',\n\n // todo 增加更丰富的配置\n // cellLeft = 'cellLeft', //cell内靠左侧布局的图标(占位但是不受padding影响?)\n // cellRight = 'cellRight', //cell内靠右侧布局的图标\n /**在单元格内容块的左侧的图标,跟随文本定位,不随文本折行 */\n contentLeft = 'contentLeft',\n /**在单元格内容块的右侧的图标,跟随文本定位,不随文本折行 */\n contentRight = 'contentRight',\n\n /**在单元格中自由定位 */\n absolute = 'absolute'\n}\n/**\n * 图标类型\n * frozen 固定列图标\n * sort 排序图标\n */\nexport enum IconFuncTypeEnum {\n frozen = 'frozen',\n sort = 'sort',\n dropDown = 'dropDown',\n dropDownState = 'dropDownState',\n play = 'play',\n damagePic = 'damagePic',\n expand = 'expand',\n collapse = 'collapse',\n drillDown = 'drillDown',\n drillUp = 'drillUp',\n dragReorder = 'dragReorder'\n}\nexport enum InternalIconName {\n upwardIconName = 'sort_upward',\n downwardIconName = 'sort_downward',\n normalIconName = 'sort_normal',\n //冻结列 图钉按钮的几种状态\n freezeIconName = 'freeze',\n frozenIconName = 'frozen',\n frozenCurrentIconName = 'frozenCurrent',\n dropdownIconName = 'dropdownIcon',\n // dropdownHoverIconName = 'dropdownIcon_hover',\n expandIconName = 'expand',\n collapseIconName = 'collapse',\n dragReorderIconName = 'dragReorder',\n\n loadingIconName = 'loading'\n}\n// 目前暂不支持FontIcon&PathIcon\nexport type ColumnIconOption = ImageIcon | SvgIcon | TextIcon;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/icon.ts"],"names":[],"mappings":";;;AAoHA,IAAY,YAsBX;AAtBD,WAAY,YAAY;IAEtB,2CAA2B,CAAA;IAE3B,uCAAuB,CAAA;IAEvB,6BAAa,CAAA;IAEb,+BAAe,CAAA;IAEf,+CAA+B,CAAA;IAM/B,2CAA2B,CAAA;IAE3B,6CAA6B,CAAA;IAG7B,qCAAqB,CAAA;AACvB,CAAC,EAtBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAsBvB;AAMD,IAAY,gBAcX;AAdD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,mDAA+B,CAAA;IAC/B,iCAAa,CAAA;IACb,2CAAuB,CAAA;IACvB,qDAAiC,CAAA;IACjC,qDAAiC,CAAA;IACjC,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,+CAA2B,CAAA;AAC7B,CAAC,EAdW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAc3B;AACD,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,kDAA8B,CAAA;IAC9B,sDAAkC,CAAA;IAClC,kDAA8B,CAAA;IAE9B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,2DAAuC,CAAA;IACvC,qDAAiC,CAAA;IAEjC,6CAAyB,CAAA;IACzB,iDAA6B,CAAA;IAC7B,uDAAmC,CAAA;IAEnC,+CAA2B,CAAA;AAC7B,CAAC,EAfW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAe3B","file":"icon.js","sourcesContent":["// ****** Icon配置信息,header ,以及列Icon *******9\n\nimport type { ITextAttribute } from './../vrender';\nimport type { Placement } from './table-engine';\n\nexport interface IIconBase {\n /**\n * icon 是何种内容类型,如svg font。可用来约束不同类型的属性定义\n */\n type: 'text' | 'svg' | 'path' | 'image';\n /** icon的高度 */\n width?: number;\n /** icon的高度 */\n height?: number; // 如果是font图标 不设的话默认是字体高度\n /**\n * IconPosition枚举类型\n */\n positionType: IconPosition;\n /**\n * 和右侧元素间隔距离, 或者与单元格边界的间隔距离\n */\n marginRight?: number;\n /**\n * 和左侧元素间隔距离, 或者与单元格边界的间隔距离\n */\n marginLeft?: number;\n /**\n * icon名称,会作为内部缓存的key\n */\n name: string;\n /**\n * 重置VTable内部icon 指定icon的功能类型\n * 具有切换状态的功能性的图标请务必配置上, 如排序功能funcType配置sort,name配置sort_normal或ort_downward,或sort_upward\n */\n funcType?: IconFuncTypeEnum | string;\n /**\n * 响应hover 热区大小,及hover效果背景色\n */\n hover?: {\n width?: number;\n height?: number;\n bgColor: string;\n image?: string;\n };\n /** 鼠标hover到图标上后出现的具体鼠标样式 */\n cursor?: string;\n /**是否可见 默认'always' 可选:'always' | 'mouseenter_cell' | 'click_cell',常驻|hover到单元格时|选中单元格时。\n * 建议:如需使用 'mouseenter_cell' | 'click_cell',建议将positionTyle设为absoluteRight【即不占位】,否则占位的类型会影响视觉展示\n */\n visibleTime?: 'always' | 'mouseenter_cell' | 'click_cell';\n /**\n * 气泡框,按钮的的解释信息, 目前只支持hover行为触发\n */\n tooltip?: {\n title: string;\n /**气泡框位置,可选 top left right bottom */\n placement?: Placement;\n /** 气泡框的样式 不配的话会使用theme中的样式 */\n style?: {\n // font?: string;\n fontSize?: number;\n fontFamily?: string;\n color?: string;\n padding?: number[];\n bgColor?: string;\n arrowMark?: boolean;\n maxWidth?: number;\n maxHeight?: number;\n };\n disappearDelay?: number;\n };\n /**\n * 是否可交互 默认为true 目前已知不可交互按钮:下拉菜单状态\n */\n interactive?: boolean;\n}\n\n// ****** Column Icon Options *******\nexport interface TextIcon extends IIconBase {\n type: 'text';\n content: string;\n style?: ITextAttribute;\n}\nexport interface ImageIcon extends IIconBase {\n type: 'image';\n src: string;\n /** 图片裁切形状 */\n shape?: 'circle' | 'square';\n\n isGif?: boolean;\n}\n\nexport interface PathIcon extends IIconBase {\n type: 'path';\n path: string;\n color?: string;\n}\n\nexport interface SvgIcon extends IIconBase {\n type: 'svg';\n /**\n * svg内容,支持url或者path\n */\n svg: string;\n}\n\n// export interface NamedIcon extends IIconBase {\n// type: 'name';\n// color?: string;\n// }\n/**\n * icon 的位置\n * inlineFront:文本内容的前面,\n * inlineEnd:文本内容后面\n *\n */\nexport enum IconPosition {\n /**文本行内容前面的图标,跟随文本定位,随文本折行 */\n inlineFront = 'inlineFront',\n /**文本行内容后面的图标,跟随文本定位,随文本折行。如sort图表 放在文本内容的第一行 */\n inlineEnd = 'inlineEnd',\n /**单元格左侧按钮 且受padding影响 */\n left = 'left',\n /**单元格右侧按钮 受padding影响 如pin图表 */\n right = 'right',\n /**固定在右侧的图标,不占位,不受padding影响,可能压盖内容 如 dropDown */\n absoluteRight = 'absoluteRight',\n\n // todo 增加更丰富的配置\n // cellLeft = 'cellLeft', //cell内靠左侧布局的图标(占位但是不受padding影响?)\n // cellRight = 'cellRight', //cell内靠右侧布局的图标\n /**在单元格内容块的左侧的图标,跟随文本定位,不随文本折行 */\n contentLeft = 'contentLeft',\n /**在单元格内容块的右侧的图标,跟随文本定位,不随文本折行 */\n contentRight = 'contentRight',\n\n /**在单元格中自由定位 */\n absolute = 'absolute'\n}\n/**\n * 图标类型\n * frozen 固定列图标\n * sort 排序图标\n */\nexport enum IconFuncTypeEnum {\n frozen = 'frozen',\n sort = 'sort',\n dropDown = 'dropDown',\n dropDownState = 'dropDownState',\n play = 'play',\n damagePic = 'damagePic',\n imageDamagePic = 'imageDamagePic',\n videoDamagePic = 'videoDamagePic',\n expand = 'expand',\n collapse = 'collapse',\n drillDown = 'drillDown',\n drillUp = 'drillUp',\n dragReorder = 'dragReorder'\n}\nexport enum InternalIconName {\n upwardIconName = 'sort_upward',\n downwardIconName = 'sort_downward',\n normalIconName = 'sort_normal',\n //冻结列 图钉按钮的几种状态\n freezeIconName = 'freeze',\n frozenIconName = 'frozen',\n frozenCurrentIconName = 'frozenCurrent',\n dropdownIconName = 'dropdownIcon',\n // dropdownHoverIconName = 'dropdownIcon_hover',\n expandIconName = 'expand',\n collapseIconName = 'collapse',\n dragReorderIconName = 'dragReorder',\n\n loadingIconName = 'loading'\n}\n// 目前暂不支持FontIcon&PathIcon\nexport type ColumnIconOption = ImageIcon | SvgIcon | TextIcon;\n"]}
@@ -1,4 +1,4 @@
1
- import type { CellAddress, CellRange, ColumnIconOption, ColumnStyle, ColumnStyleOption, FieldDef, FieldFormat, HeaderStyleOption, LayoutObjectId, MenuListItem, CellInfo, PivotInfo, CustomRenderFunctionArg, SparklineSpec, HierarchyState, Aggregation, IRowSeriesNumber, SortOption, FieldGetter } from '../../';
1
+ import type { CellAddress, CellRange, ColumnIconOption, ColumnStyle, ColumnStyleOption, FieldDef, FieldFormat, HeaderStyleOption, LayoutObjectId, MenuListItem, CellInfo, PivotInfo, CustomRenderFunctionArg, SparklineSpec, HierarchyState, Aggregation, IRowSeriesNumber, SortOption, FieldGetter, ColumnTypeOption, HeaderTypeOption } from '../../';
2
2
  import type { Aggregator } from '../../dataset/aggregation';
3
3
  import type { BaseTableAPI } from '../../base-table';
4
4
  import type { HeaderDefine, ColumnDefine, ColumnBodyDefine } from '../define';
@@ -11,7 +11,7 @@ export interface HeaderData extends WidthData {
11
11
  field: FieldDef;
12
12
  fieldFormat?: FieldFormat;
13
13
  style?: HeaderStyleOption | ColumnStyle | null | undefined;
14
- headerType: 'text' | 'link' | 'image' | 'video' | 'checkbox';
14
+ headerType: HeaderTypeOption | ((args: CellInfo) => HeaderTypeOption);
15
15
  define: ColumnDefine;
16
16
  dropDownMenu?: MenuListItem[] | ((args: {
17
17
  row: number;
@@ -44,7 +44,7 @@ export interface ColumnData extends WidthData {
44
44
  field: FieldDef;
45
45
  fieldFormat?: FieldFormat;
46
46
  icon?: string | ColumnIconOption | (string | ColumnIconOption)[] | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);
47
- cellType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart' | 'checkbox' | 'radio';
47
+ cellType: ColumnTypeOption | ((arg0: CellInfo) => ColumnTypeOption);
48
48
  chartModule?: string;
49
49
  chartSpec?: any | ((arg0: CellInfo) => any);
50
50
  chartInstance?: any;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/list-table/layout-map/api.ts"],"names":[],"mappings":"","file":"api.js","sourcesContent":["import type {\n CellAddress,\n CellRange,\n ColumnIconOption,\n ColumnStyle,\n ColumnStyleOption,\n // ColumnTypeOption,\n FieldDef,\n FieldFormat,\n HeaderStyleOption,\n LayoutObjectId,\n MenuListItem,\n IPivotTableCellHeaderPaths,\n CellInfo,\n // ICustomRenderFuc,\n // ICustomRenderObj,\n PivotInfo,\n FieldKeyDef,\n CustomRenderFunctionArg,\n SparklineSpec,\n HierarchyState,\n Aggregation,\n IRowSeriesNumber,\n SortOption,\n FieldGetter,\n BaseCellInfo\n} from '../../';\nimport type { Aggregator } from '../../dataset/aggregation';\nimport type { BaseTableAPI } from '../../base-table';\n\nimport type { HeaderDefine, ColumnDefine, ColumnBodyDefine } from '../define';\n\n// todo: 修改引用这些类型的路径\nexport type {\n HeaderDefine,\n ColumnDefine,\n ColumnBodyDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine\n} from '../define';\n\n/**\n * layout中组织表头的信息类 和HeaderDefine对应\n */\nexport interface HeaderData extends WidthData {\n id: LayoutObjectId;\n title?: string | (() => string);\n // captionIcon?: ColumnIconOption;\n headerIcon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n icons?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n\n field: FieldDef;\n fieldFormat?: FieldFormat;\n style?: HeaderStyleOption | ColumnStyle | null | undefined;\n headerType: 'text' | 'link' | 'image' | 'video' | 'checkbox'; // headerType.BaseHeader;\n define: ColumnDefine;\n // sortIconPosition?: RectProps;\n // freezeIconPosition?: RectProps;\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n dropDownMenu?: MenuListItem[] | ((args: { row: number; col: number; table: BaseTableAPI }) => MenuListItem[]);\n pivotInfo?: PivotInfo;\n /**\n * 维度层级level 从0开始:第0层 第1层\n */\n hierarchyLevel?: number;\n /**\n * 维度总层级数\n */\n dimensionTotalLevel?: number;\n /**\n * 层级展开or折叠状态\n */\n hierarchyState?: HierarchyState;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n\n showSort?: boolean | ((args: { row: number; col: number; table: BaseTableAPI }) => boolean);\n sort?: SortOption;\n\n /**\n * 表头描述 鼠标hover会提示该信息\n */\n description?: string | ((args: CellInfo) => string);\n\n // header内容为空\n isEmpty?: boolean;\n\n /** 记录当前表头节点的上级表头结点的cellId */\n parentCellId?: LayoutObjectId;\n}\n\nexport interface WidthData {\n width?: number | string;\n minWidth?: number | string;\n maxWidth?: number | string;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n}\n/**\n * layout中组织body列的信息类 和ColumnDefine对应\n */\nexport interface ColumnData extends WidthData {\n id: LayoutObjectId;\n field: FieldDef;\n // fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n // icon?: ColumnIconOption | ColumnIconOption[];\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n cellType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart' | 'checkbox' | 'radio';\n /** 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType */\n chartModule?: string;\n /** 如果是绘制图表库组件的图表类型 统一图表配置chartSpec */\n chartSpec?: any | ((arg0: CellInfo) => any);\n chartInstance?: any;\n sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n style: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n templateLink?: string | FieldGetter;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n aggregation?: Aggregation | Aggregation[];\n aggregator?: Aggregator | Aggregator[];\n /** 是否为子节点 即上层还有父节点 */\n isChildNode?: boolean;\n}\n\nexport interface IndicatorData extends WidthData {\n id: LayoutObjectId;\n field: string | number;\n /**\n * 唯一标识一种指标\n */\n indicatorKey: string;\n // fieldKey: FieldKeyDef;\n fieldFormat?: FieldFormat;\n cellType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart'; //BaseColumn<T, any>;\n chartModule?: string;\n chartSpec?: any | ((arg0: CustomRenderFunctionArg) => any);\n chartInstance?: any;\n noDataRenderNothing?: boolean;\n style?: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n // headerIcon?:\n // | (string | ColumnIconOption)[]\n // | ((args: CellInfo) => (string | ColumnIconOption)[]);\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n sparklineSpec?: SparklineSpec | ((arg0: CustomRenderFunctionArg) => SparklineSpec);\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\n/**\n * 序号列定义\n */\nexport interface SeriesNumberColumnData extends WidthData {\n id: LayoutObjectId;\n title?: string | (() => string);\n field?: FieldDef;\n // fieldKey?: FieldKeyDef;\n format?: (col?: number, row?: number, table?: BaseTableAPI, originValue?: string | number) => any;\n // icon?: ColumnIconOption | ColumnIconOption[];\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n headerIcon?: string | ColumnIconOption | (string | ColumnIconOption)[];\n cellType: 'text' | 'link' | 'image' | 'video' | 'checkbox' | 'radio';\n headerType: 'text' | 'link' | 'image' | 'video' | 'checkbox';\n style: ColumnStyleOption | null | undefined;\n define: IRowSeriesNumber;\n isChildNode?: false;\n}\n// Simple header\n\n// export interface GroupHeaderDefine extends HeaderDefine {\n// columns: HeadersDefine;\n// hideColumnsSubHeader?: boolean;\n// dropDownMenu?: MenuListItem[];\n// }\n// type Either<X, Y> =\n// | ({\n// [KX in keyof X]: X[KX];\n// } & {\n// [KY in Exclude<keyof Y, keyof X>]?: never;\n// })\n// | ({\n// [KY in keyof Y]: Y[KY];\n// } & {\n// [KX in Exclude<keyof X, keyof Y>]?: never;\n// });\n// export type HeaderColumnDefine = Either<GroupHeaderDefine, ColumnDefine>;\n// export type HeadersDefine = HeaderColumnDefine[];\n\n// Advanced layout\n\n// export interface HeaderCellDefine extends HeaderDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\nexport type HeaderCellDefine = HeaderDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\n// export interface CellDefine extends ColumnDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\n\nexport type CellDefine = ColumnBodyDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\nexport type ArrayLayoutDefine = CellDefine[][];\n/** @internal */\ninterface LayoutMapAPI {\n readonly headerLevelCount: number;\n readonly rowHeaderLevelCount: number;\n readonly columnHeaderLevelCount: number;\n readonly bodyRowSpanCount: number;\n readonly colCount: number | undefined;\n readonly rowCount: number | undefined;\n readonly columnWidths: WidthData[];\n readonly headerObjects: HeaderData[];\n readonly columnObjects: ColumnData[] | IndicatorData[];\n // transpose: boolean;\n // showHeader: boolean;\n isHeader: (col: number, row: number) => boolean;\n // isHeaderNode(col: number, row: number): boolean; //是否为叶子表头\n /**获取单元格header对象 包括field style type 等 */\n getHeader: (col: number, row: number) => HeaderData | SeriesNumberColumnData;\n /**获取对应header的field */\n getHeaderField: (col: number, row: number) => FieldDef;\n // getHeaderFieldKey(col: number, row: number): FieldKeyDef;\n /**获取单元格column对象 包括field style type 等 */\n getBody: (col: number, row: number) => ColumnData | IndicatorData | SeriesNumberColumnData;\n /**获取单元格标识key */\n getCellId: (col: number, row: number) => LayoutObjectId;\n getCellRange: (col: number, row: number) => CellRange;\n // getCellRangeTranspose(col: number, row: number): CellRange;\n // getBodyLayoutRangeById: (id: LayoutObjectId) => CellRange;\n getHeaderCellAdressById: (id: number) => CellAddress | undefined;\n getHeaderCellAddressByField: (field: string) => CellAddress | undefined;\n getRecordShowIndexByCell: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n /** 从定义中获取一列配置项width的定义值 */\n getColumnWidthDefined: (col: number) => WidthData;\n release: () => void;\n\n isFrozenColumn: (col: number, row?: number) => boolean;\n isRightFrozenColumn: (col: number, row?: number) => boolean;\n isFrozenRow: (col: number, row?: number) => boolean;\n isBottomFrozenRow: (col: number, row?: number) => boolean;\n}\n\nexport type { LayoutMapAPI };\n"]}
1
+ {"version":3,"sources":["../src/ts-types/list-table/layout-map/api.ts"],"names":[],"mappings":"","file":"api.js","sourcesContent":["import type {\n CellAddress,\n CellRange,\n ColumnIconOption,\n ColumnStyle,\n ColumnStyleOption,\n // ColumnTypeOption,\n FieldDef,\n FieldFormat,\n HeaderStyleOption,\n LayoutObjectId,\n MenuListItem,\n IPivotTableCellHeaderPaths,\n CellInfo,\n // ICustomRenderFuc,\n // ICustomRenderObj,\n PivotInfo,\n FieldKeyDef,\n CustomRenderFunctionArg,\n SparklineSpec,\n HierarchyState,\n Aggregation,\n IRowSeriesNumber,\n SortOption,\n FieldGetter,\n ColumnTypeOption,\n HeaderTypeOption\n} from '../../';\nimport type { Aggregator } from '../../dataset/aggregation';\nimport type { BaseTableAPI } from '../../base-table';\n\nimport type { HeaderDefine, ColumnDefine, ColumnBodyDefine } from '../define';\n\n// todo: 修改引用这些类型的路径\nexport type {\n HeaderDefine,\n ColumnDefine,\n ColumnBodyDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine\n} from '../define';\n\n/**\n * layout中组织表头的信息类 和HeaderDefine对应\n */\nexport interface HeaderData extends WidthData {\n id: LayoutObjectId;\n title?: string | (() => string);\n // captionIcon?: ColumnIconOption;\n headerIcon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n icons?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n\n field: FieldDef;\n fieldFormat?: FieldFormat;\n style?: HeaderStyleOption | ColumnStyle | null | undefined;\n headerType: HeaderTypeOption | ((args: CellInfo) => HeaderTypeOption); // headerType.BaseHeader;\n define: ColumnDefine;\n // sortIconPosition?: RectProps;\n // freezeIconPosition?: RectProps;\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n dropDownMenu?: MenuListItem[] | ((args: { row: number; col: number; table: BaseTableAPI }) => MenuListItem[]);\n pivotInfo?: PivotInfo;\n /**\n * 维度层级level 从0开始:第0层 第1层\n */\n hierarchyLevel?: number;\n /**\n * 维度总层级数\n */\n dimensionTotalLevel?: number;\n /**\n * 层级展开or折叠状态\n */\n hierarchyState?: HierarchyState;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n\n showSort?: boolean | ((args: { row: number; col: number; table: BaseTableAPI }) => boolean);\n sort?: SortOption;\n\n /**\n * 表头描述 鼠标hover会提示该信息\n */\n description?: string | ((args: CellInfo) => string);\n\n // header内容为空\n isEmpty?: boolean;\n\n /** 记录当前表头节点的上级表头结点的cellId */\n parentCellId?: LayoutObjectId;\n}\n\nexport interface WidthData {\n width?: number | string;\n minWidth?: number | string;\n maxWidth?: number | string;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n}\n/**\n * layout中组织body列的信息类 和ColumnDefine对应\n */\nexport interface ColumnData extends WidthData {\n id: LayoutObjectId;\n field: FieldDef;\n // fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n // icon?: ColumnIconOption | ColumnIconOption[];\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n cellType: ColumnTypeOption | ((arg0: CellInfo) => ColumnTypeOption);\n /** 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType */\n chartModule?: string;\n /** 如果是绘制图表库组件的图表类型 统一图表配置chartSpec */\n chartSpec?: any | ((arg0: CellInfo) => any);\n chartInstance?: any;\n sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n style: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n templateLink?: string | FieldGetter;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n aggregation?: Aggregation | Aggregation[];\n aggregator?: Aggregator | Aggregator[];\n /** 是否为子节点 即上层还有父节点 */\n isChildNode?: boolean;\n}\n\nexport interface IndicatorData extends WidthData {\n id: LayoutObjectId;\n field: string | number;\n /**\n * 唯一标识一种指标\n */\n indicatorKey: string;\n // fieldKey: FieldKeyDef;\n fieldFormat?: FieldFormat;\n cellType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart'; //BaseColumn<T, any>;\n chartModule?: string;\n chartSpec?: any | ((arg0: CustomRenderFunctionArg) => any);\n chartInstance?: any;\n noDataRenderNothing?: boolean;\n style?: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n // headerIcon?:\n // | (string | ColumnIconOption)[]\n // | ((args: CellInfo) => (string | ColumnIconOption)[]);\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n sparklineSpec?: SparklineSpec | ((arg0: CustomRenderFunctionArg) => SparklineSpec);\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\n/**\n * 序号列定义\n */\nexport interface SeriesNumberColumnData extends WidthData {\n id: LayoutObjectId;\n title?: string | (() => string);\n field?: FieldDef;\n // fieldKey?: FieldKeyDef;\n format?: (col?: number, row?: number, table?: BaseTableAPI, originValue?: string | number) => any;\n // icon?: ColumnIconOption | ColumnIconOption[];\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => undefined | string | ColumnIconOption | (string | ColumnIconOption)[]);\n headerIcon?: string | ColumnIconOption | (string | ColumnIconOption)[];\n cellType: 'text' | 'link' | 'image' | 'video' | 'checkbox' | 'radio';\n headerType: 'text' | 'link' | 'image' | 'video' | 'checkbox';\n style: ColumnStyleOption | null | undefined;\n define: IRowSeriesNumber;\n isChildNode?: false;\n}\n// Simple header\n\n// export interface GroupHeaderDefine extends HeaderDefine {\n// columns: HeadersDefine;\n// hideColumnsSubHeader?: boolean;\n// dropDownMenu?: MenuListItem[];\n// }\n// type Either<X, Y> =\n// | ({\n// [KX in keyof X]: X[KX];\n// } & {\n// [KY in Exclude<keyof Y, keyof X>]?: never;\n// })\n// | ({\n// [KY in keyof Y]: Y[KY];\n// } & {\n// [KX in Exclude<keyof X, keyof Y>]?: never;\n// });\n// export type HeaderColumnDefine = Either<GroupHeaderDefine, ColumnDefine>;\n// export type HeadersDefine = HeaderColumnDefine[];\n\n// Advanced layout\n\n// export interface HeaderCellDefine extends HeaderDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\nexport type HeaderCellDefine = HeaderDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\n// export interface CellDefine extends ColumnDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\n\nexport type CellDefine = ColumnBodyDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\nexport type ArrayLayoutDefine = CellDefine[][];\n/** @internal */\ninterface LayoutMapAPI {\n readonly headerLevelCount: number;\n readonly rowHeaderLevelCount: number;\n readonly columnHeaderLevelCount: number;\n readonly bodyRowSpanCount: number;\n readonly colCount: number | undefined;\n readonly rowCount: number | undefined;\n readonly columnWidths: WidthData[];\n readonly headerObjects: HeaderData[];\n readonly columnObjects: ColumnData[] | IndicatorData[];\n // transpose: boolean;\n // showHeader: boolean;\n isHeader: (col: number, row: number) => boolean;\n // isHeaderNode(col: number, row: number): boolean; //是否为叶子表头\n /**获取单元格header对象 包括field style type 等 */\n getHeader: (col: number, row: number) => HeaderData | SeriesNumberColumnData;\n /**获取对应header的field */\n getHeaderField: (col: number, row: number) => FieldDef;\n // getHeaderFieldKey(col: number, row: number): FieldKeyDef;\n /**获取单元格column对象 包括field style type 等 */\n getBody: (col: number, row: number) => ColumnData | IndicatorData | SeriesNumberColumnData;\n /**获取单元格标识key */\n getCellId: (col: number, row: number) => LayoutObjectId;\n getCellRange: (col: number, row: number) => CellRange;\n // getCellRangeTranspose(col: number, row: number): CellRange;\n // getBodyLayoutRangeById: (id: LayoutObjectId) => CellRange;\n getHeaderCellAdressById: (id: number) => CellAddress | undefined;\n getHeaderCellAddressByField: (field: string) => CellAddress | undefined;\n getRecordShowIndexByCell: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n /** 从定义中获取一列配置项width的定义值 */\n getColumnWidthDefined: (col: number) => WidthData;\n release: () => void;\n\n isFrozenColumn: (col: number, row?: number) => boolean;\n isRightFrozenColumn: (col: number, row?: number) => boolean;\n isFrozenRow: (col: number, row?: number) => boolean;\n isBottomFrozenRow: (col: number, row?: number) => boolean;\n}\n\nexport type { LayoutMapAPI };\n"]}
@@ -0,0 +1,17 @@
1
+ import type { HeaderTypeOption, ITextStyleOption } from '../../column';
2
+ import type { CellInfo } from '../../common';
3
+ import type { StylePropertyFunctionArg } from '../../style-define';
4
+ import type { FieldGetter } from '../../table-engine';
5
+ import type { IBasicDimension } from './basic-dimension';
6
+ export interface ICompositeDimension extends IBasicDimension {
7
+ headerType: (arg0: CellInfo) => HeaderTypeOption;
8
+ headerStyle?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);
9
+ linkJump?: boolean;
10
+ linkDetect?: boolean;
11
+ templateLink?: string | FieldGetter;
12
+ linkTarget?: string;
13
+ linkWindowFeatures?: string;
14
+ keepAspectRatio?: boolean;
15
+ imageAutoSizing?: boolean;
16
+ clickToPreview?: boolean;
17
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ });
6
+ //# sourceMappingURL=composite-dimension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ts-types/pivot-table/dimension/composite-dimension.ts"],"names":[],"mappings":"","file":"composite-dimension.js","sourcesContent":["import type { HeaderTypeOption, ITextStyleOption } from '../../column';\nimport { ColumnTypeOption } from '../../column';\nimport type { CellInfo } from '../../common';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { FieldGetter } from '../../table-engine';\nimport type { IBasicDimension } from './basic-dimension';\n\nexport interface ICompositeDimension extends IBasicDimension {\n headerType: (arg0: CellInfo) => HeaderTypeOption;\n\n headerStyle?:\n | ITextStyleOption //表头可以配置吸附;\n | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption); // 指标名称在表头部分显示类型\n\n // link 特有\n /** 链接是否可点击跳转 */\n linkJump?: boolean;\n /** 链接是否进行正则检测,如果链接符合url规则才展示成为link。如果配置了模板链接该配置不生效。 */\n linkDetect?: boolean;\n /** 模板链接地址,如:'https://www.google.com.hk/search?q={name}',name是数据源属性字段名。 */\n templateLink?: string | FieldGetter;\n\n linkTarget?: string; // window.open的第二个参数\n linkWindowFeatures?: string; // window.open的第三个参数\n\n // image 特有\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\n"]}
@@ -1,6 +1,7 @@
1
+ import type { ICompositeDimension } from './composite-dimension';
1
2
  import type { IImageDimension } from './image-dimension';
2
3
  import type { ILinkDimension } from './link-dimension';
3
4
  import type { ITextDimension } from './multilinetext-dimension';
4
5
  export type IDimension = IRowDimension | IColumnDimension;
5
- export type IRowDimension = ILinkDimension | IImageDimension | ITextDimension;
6
- export type IColumnDimension = Omit<ILinkDimension | IImageDimension | ITextDimension, 'width' | 'minWidth' | 'maxWidth'>;
6
+ export type IRowDimension = ILinkDimension | IImageDimension | ITextDimension | ICompositeDimension;
7
+ export type IColumnDimension = Omit<ILinkDimension | IImageDimension | ITextDimension | ICompositeDimension, 'width' | 'minWidth' | 'maxWidth'>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/pivot-table/dimension/index.ts"],"names":[],"mappings":"","file":"index.js","sourcesContent":["import type { IImageDimension } from './image-dimension';\nimport type { ILinkDimension } from './link-dimension';\nimport type { ITextDimension } from './multilinetext-dimension';\n\nexport type IDimension = IRowDimension | IColumnDimension;\nexport type IRowDimension = ILinkDimension | IImageDimension | ITextDimension;\nexport type IColumnDimension = Omit<\n ILinkDimension | IImageDimension | ITextDimension,\n 'width' | 'minWidth' | 'maxWidth'\n>;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/pivot-table/dimension/index.ts"],"names":[],"mappings":"","file":"index.js","sourcesContent":["import type { ICompositeDimension } from './composite-dimension';\nimport type { IImageDimension } from './image-dimension';\nimport type { ILinkDimension } from './link-dimension';\nimport type { ITextDimension } from './multilinetext-dimension';\n\nexport type IDimension = IRowDimension | IColumnDimension;\nexport type IRowDimension = ILinkDimension | IImageDimension | ITextDimension | ICompositeDimension;\nexport type IColumnDimension = Omit<\n ILinkDimension | IImageDimension | ITextDimension | ICompositeDimension,\n 'width' | 'minWidth' | 'maxWidth'\n>;\n"]}
@@ -1,9 +1,21 @@
1
- import type { ColumnTypeOption, ITextStyleOption } from '../../column';
1
+ import type { ColumnTypeOption, HeaderTypeOption, ITextStyleOption } from '../../column';
2
2
  import type { CellInfo } from '../../common';
3
3
  import type { SparklineSpec } from '../../sparkline';
4
4
  import type { StylePropertyFunctionArg } from '../../style-define';
5
5
  import type { FieldGetter } from '../../table-engine';
6
- import type { IBasicColumnIndicator } from './basic-indicator';
6
+ import type { IBasicColumnIndicator, IBasicHeaderIndicator } from './basic-indicator';
7
+ export interface ICompositeHeaderIndicator extends IBasicHeaderIndicator {
8
+ headerType: (arg0: CellInfo) => HeaderTypeOption;
9
+ headerStyle?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);
10
+ linkJump?: boolean;
11
+ linkDetect?: boolean;
12
+ templateLink?: string | FieldGetter;
13
+ linkTarget?: string;
14
+ linkWindowFeatures?: string;
15
+ keepAspectRatio?: boolean;
16
+ imageAutoSizing?: boolean;
17
+ clickToPreview?: boolean;
18
+ }
7
19
  export interface ICompositeColumnIndicator extends IBasicColumnIndicator {
8
20
  cellType: (arg0: CellInfo) => ColumnTypeOption;
9
21
  style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/pivot-table/indicator/composite-indicator.ts"],"names":[],"mappings":"","file":"composite-indicator.js","sourcesContent":["import type { ColumnTypeOption, IStyleOption, ITextStyleOption } from '../../column';\nimport type { CellInfo } from '../../common';\nimport type { SparklineSpec } from '../../sparkline';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { FieldGetter } from '../../table-engine';\nimport type { IBasicColumnIndicator } from './basic-indicator';\n\nexport interface ICompositeColumnIndicator extends IBasicColumnIndicator {\n cellType: (arg0: CellInfo) => ColumnTypeOption;\n style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption); // body部分指标值显示样式\n\n // link 特有\n /** 链接是否可点击跳转 */\n linkJump?: boolean;\n /** 链接是否进行正则检测,如果链接符合url规则才展示成为link。如果配置了模板链接该配置不生效。 */\n linkDetect?: boolean;\n /** 模板链接地址,如:'https://www.google.com.hk/search?q={name}',name是数据源属性字段名。 */\n templateLink?: string | FieldGetter;\n\n linkTarget?: string; // window.open的第二个参数\n linkWindowFeatures?: string; // window.open的第三个参数\n\n // image 特有\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n\n // chart 特有\n /** 注入的图表库组件名称 */\n chartModule?: string;\n /** 对应图表库的spec 其中value对应在records中提供 */\n chartSpec?: any | ((arg0: CellInfo) => any);\n\n // progressbar 特有\n /* 进度条展示的最大最小数据值限制,从min到max为整个进度条的长度;\n * 如果barType为'negative'或'negative_no_axis',负向进度条的总长度为长度为min到0,正向进度条的总长度为长度为0到max,\n * 例如:min为10,max为50,数据为30,进度条展示为单元格宽度的一半\n */\n min?: number;\n max?: number;\n /* 进度条类型 默认default\n * default:由min到max的进度条\n * negative:分别展示min到0,0到max的正负向两个进度条,中间展示0值坐标轴\n * negative_no_axis:展示与negative相同,不限制0值坐标轴\n */\n barType?: 'default' | 'negative' | 'negative_no_axis';\n /** 进度图依赖的数据,如果需要单元格展示的文字和进度图使用的数据字段不同,在dependField里配置进度图使用的数据字段 */\n dependField?: string;\n\n // sparkline 特有\n sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/pivot-table/indicator/composite-indicator.ts"],"names":[],"mappings":"","file":"composite-indicator.js","sourcesContent":["import type { ColumnTypeOption, HeaderTypeOption, IStyleOption, ITextStyleOption } from '../../column';\nimport type { CellInfo } from '../../common';\nimport type { SparklineSpec } from '../../sparkline';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { FieldGetter } from '../../table-engine';\nimport type { IBasicColumnIndicator, IBasicHeaderIndicator } from './basic-indicator';\nexport interface ICompositeHeaderIndicator extends IBasicHeaderIndicator {\n headerType: (arg0: CellInfo) => HeaderTypeOption; // 指标表头类型\n headerStyle?:\n | ITextStyleOption //表头可以配置吸附;\n | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption); // 指标名称在表头部分显示类型\n\n // link 特有\n /** 链接是否可点击跳转 */\n linkJump?: boolean;\n /** 链接是否进行正则检测,如果链接符合url规则才展示成为link。如果配置了模板链接该配置不生效。 */\n linkDetect?: boolean;\n /** 模板链接地址,如:'https://www.google.com.hk/search?q={name}',name是数据源属性字段名。 */\n templateLink?: string | FieldGetter;\n\n linkTarget?: string; // window.open的第二个参数\n linkWindowFeatures?: string; // window.open的第三个参数\n\n // image 特有\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\nexport interface ICompositeColumnIndicator extends IBasicColumnIndicator {\n cellType: (arg0: CellInfo) => ColumnTypeOption;\n style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption); // body部分指标值显示样式\n\n // link 特有\n /** 链接是否可点击跳转 */\n linkJump?: boolean;\n /** 链接是否进行正则检测,如果链接符合url规则才展示成为link。如果配置了模板链接该配置不生效。 */\n linkDetect?: boolean;\n /** 模板链接地址,如:'https://www.google.com.hk/search?q={name}',name是数据源属性字段名。 */\n templateLink?: string | FieldGetter;\n\n linkTarget?: string; // window.open的第二个参数\n linkWindowFeatures?: string; // window.open的第三个参数\n\n // image 特有\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n\n // chart 特有\n /** 注入的图表库组件名称 */\n chartModule?: string;\n /** 对应图表库的spec 其中value对应在records中提供 */\n chartSpec?: any | ((arg0: CellInfo) => any);\n\n // progressbar 特有\n /* 进度条展示的最大最小数据值限制,从min到max为整个进度条的长度;\n * 如果barType为'negative'或'negative_no_axis',负向进度条的总长度为长度为min到0,正向进度条的总长度为长度为0到max,\n * 例如:min为10,max为50,数据为30,进度条展示为单元格宽度的一半\n */\n min?: number;\n max?: number;\n /* 进度条类型 默认default\n * default:由min到max的进度条\n * negative:分别展示min到0,0到max的正负向两个进度条,中间展示0值坐标轴\n * negative_no_axis:展示与negative相同,不限制0值坐标轴\n */\n barType?: 'default' | 'negative' | 'negative_no_axis';\n /** 进度图依赖的数据,如果需要单元格展示的文字和进度图使用的数据字段不同,在dependField里配置进度图使用的数据字段 */\n dependField?: string;\n\n // sparkline 特有\n sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import type { IChartColumnIndicator } from './chart-indicator';
2
2
  import type { ICheckboxColumnIndicator } from './checkbox-indicator';
3
- import type { ICompositeColumnIndicator } from './composite-indicator';
3
+ import type { ICompositeColumnIndicator, ICompositeHeaderIndicator } from './composite-indicator';
4
4
  import type { IImageColumnIndicator, IImageHeaderIndicator } from './image-indicator';
5
5
  import type { ILinkColumnIndicator, ILinkHeaderIndicator } from './link-indicator';
6
6
  import type { ITextColumnIndicator, ITextHeaderIndicator } from './multilinetext-indicator';
7
7
  import type { IProgressbarColumnIndicator } from './progress-indicator';
8
8
  import type { ISparklineColumnIndicator } from './sparkline-indicator';
9
- export type HeaderIndicator = ILinkHeaderIndicator | IImageHeaderIndicator | ITextHeaderIndicator;
9
+ export type HeaderIndicator = ILinkHeaderIndicator | IImageHeaderIndicator | ITextHeaderIndicator | ICompositeHeaderIndicator;
10
10
  export type ColumnIndicator = ILinkColumnIndicator | IImageColumnIndicator | ISparklineColumnIndicator | IProgressbarColumnIndicator | ICheckboxColumnIndicator | IChartColumnIndicator | ITextColumnIndicator | ICompositeColumnIndicator;
11
11
  export type IIndicator = HeaderIndicator & ColumnIndicator;
12
12
  export type IChartIndicator = HeaderIndicator & IChartColumnIndicator;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/pivot-table/indicator/index.ts"],"names":[],"mappings":"","file":"index.js","sourcesContent":["import type { IChartColumnIndicator } from './chart-indicator';\nimport type { ICheckboxColumnIndicator } from './checkbox-indicator';\nimport type { ICompositeColumnIndicator } from './composite-indicator';\nimport type { IImageColumnIndicator, IImageHeaderIndicator } from './image-indicator';\nimport type { ILinkColumnIndicator, ILinkHeaderIndicator } from './link-indicator';\nimport type { ITextColumnIndicator, ITextHeaderIndicator } from './multilinetext-indicator';\nimport type { IProgressbarColumnIndicator } from './progress-indicator';\nimport type { ISparklineColumnIndicator } from './sparkline-indicator';\n\nexport type HeaderIndicator = ILinkHeaderIndicator | IImageHeaderIndicator | ITextHeaderIndicator;\n\nexport type ColumnIndicator =\n | ILinkColumnIndicator\n | IImageColumnIndicator\n | ISparklineColumnIndicator\n | IProgressbarColumnIndicator\n | ICheckboxColumnIndicator\n | IChartColumnIndicator\n | ITextColumnIndicator\n | ICompositeColumnIndicator;\n\nexport type IIndicator = HeaderIndicator & ColumnIndicator;\n\nexport type IChartIndicator = HeaderIndicator & IChartColumnIndicator;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/pivot-table/indicator/index.ts"],"names":[],"mappings":"","file":"index.js","sourcesContent":["import type { IChartColumnIndicator } from './chart-indicator';\nimport type { ICheckboxColumnIndicator } from './checkbox-indicator';\nimport type { ICompositeColumnIndicator, ICompositeHeaderIndicator } from './composite-indicator';\nimport type { IImageColumnIndicator, IImageHeaderIndicator } from './image-indicator';\nimport type { ILinkColumnIndicator, ILinkHeaderIndicator } from './link-indicator';\nimport type { ITextColumnIndicator, ITextHeaderIndicator } from './multilinetext-indicator';\nimport type { IProgressbarColumnIndicator } from './progress-indicator';\nimport type { ISparklineColumnIndicator } from './sparkline-indicator';\n\nexport type HeaderIndicator =\n | ILinkHeaderIndicator\n | IImageHeaderIndicator\n | ITextHeaderIndicator\n | ICompositeHeaderIndicator;\n\nexport type ColumnIndicator =\n | ILinkColumnIndicator\n | IImageColumnIndicator\n | ISparklineColumnIndicator\n | IProgressbarColumnIndicator\n | ICheckboxColumnIndicator\n | IChartColumnIndicator\n | ITextColumnIndicator\n | ICompositeColumnIndicator;\n\nexport type IIndicator = HeaderIndicator & ColumnIndicator;\n\nexport type IChartIndicator = HeaderIndicator & IChartColumnIndicator;\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;AAOD,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C;AAC7C,4DAA0C","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.23.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 } from '@visactor/vrender-core';\nexport type { State } from '@visactor/vrender-components';\n// export { GroupFadeIn } from '@visactor/vrender-core';\n// export { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\nexport * from '@visactor/vrender-animate';\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;AAOD,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C;AAC7C,4DAA0C","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.23.3-alpha.0\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction } from '@visactor/vrender-core';\nexport type { State } from '@visactor/vrender-components';\n// export { GroupFadeIn } from '@visactor/vrender-core';\n// export { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\nexport * from '@visactor/vrender-animate';\n"]}
package/dist/vtable.js CHANGED
@@ -21499,7 +21499,7 @@
21499
21499
  this._sliderRenderBounds = null, this._sliderLimitRange = null;
21500
21500
  }
21501
21501
  release(all) {
21502
- super.release(all), ("browser" === vglobal.env ? vglobal : this.stage).addEventListener("touchmove", this._handleTouchMove, {
21502
+ super.release(all), ("browser" === vglobal.env ? vglobal : this.stage).removeEventListener("touchmove", this._handleTouchMove, {
21503
21503
  passive: !1
21504
21504
  }), this._clearDragEvents();
21505
21505
  }
@@ -23082,17 +23082,21 @@
23082
23082
  } = this.attribute.label;
23083
23083
  textStyle = isFunction$3(textStyle) ? merge({}, DEFAULT_AXIS_THEME.label.style, textStyle(tickDatum, index, tickData, layer)) : textStyle;
23084
23084
  const labelAlign = this.getLabelAlign(vector, inside, textStyle.angle);
23085
- return textStyle = merge(labelAlign, textStyle), isFunction$3(textStyle.text) && (textStyle.text = textStyle.text({
23085
+ textStyle = merge(labelAlign, textStyle), isFunction$3(textStyle.text) && (textStyle.text = textStyle.text({
23086
23086
  label: tickDatum.label,
23087
23087
  value: tickDatum.rawValue,
23088
23088
  index: tickDatum.index,
23089
23089
  layer: layer
23090
- })), Object.assign(Object.assign(Object.assign({}, this.getLabelPosition(point, vector, textContent, textStyle)), {
23090
+ }));
23091
+ let reactStyle = textStyle.react;
23092
+ return isFunction$3(reactStyle) && (reactStyle = reactStyle(tickDatum, index, tickData, layer)), Object.assign(Object.assign(Object.assign(Object.assign({}, this.getLabelPosition(point, vector, textContent, textStyle)), {
23091
23093
  text: null != text ? text : textContent,
23092
23094
  _originText: tickDatum.label,
23093
23095
  lineHeight: null == textStyle ? void 0 : textStyle.fontSize,
23094
23096
  type: type
23095
- }), textStyle);
23097
+ }), textStyle), {
23098
+ react: reactStyle
23099
+ });
23096
23100
  }
23097
23101
  getLabelPosition(point, vector, text, style) {
23098
23102
  return point;
@@ -24121,6 +24125,8 @@
24121
24125
  this.status === STATUS$1.RUNNING && (this.tickCounts++, this.timelines.forEach(timeline => {
24122
24126
  timeline.tick(delta);
24123
24127
  }), this.emit("tick", delta));
24128
+ }, this._handleGraphTick = () => {
24129
+ this.initHandler(!1);
24124
24130
  }, this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.stage = stage, this.autoStop = !0, this.interval = 16, this.computeTimeOffsetAndJitter();
24125
24131
  }
24126
24132
  bindStage(stage) {
@@ -24130,9 +24136,7 @@
24130
24136
  this.timeOffset = Math.floor(Math.random() * this.interval), this._jitter = Math.min(Math.max(.2 * this.interval, 6), .7 * this.interval);
24131
24137
  }
24132
24138
  init() {
24133
- this.interval = 16, this.status = STATUS$1.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker", () => {
24134
- this.initHandler(!1);
24135
- }), application.global.env && this.initHandler(!1);
24139
+ this.interval = 16, this.status = STATUS$1.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker", this._handleGraphTick), application.global.env && this.initHandler(!1);
24136
24140
  }
24137
24141
  addTimeline(timeline) {
24138
24142
  this.timelines.push(timeline);
@@ -24205,7 +24209,7 @@
24205
24209
  }
24206
24210
  release() {
24207
24211
  var _a;
24208
- this.stop(), this.timelines = [], null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1;
24212
+ this.stop(), this.timelines = [], null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1, application.global.hooks.onSetEnv.unTap("graph-ticker", this._handleGraphTick);
24209
24213
  }
24210
24214
  checkSkip(delta) {
24211
24215
  var _a, _b, _c;
@@ -33721,6 +33725,8 @@
33721
33725
  IconFuncTypeEnum["dropDownState"] = "dropDownState";
33722
33726
  IconFuncTypeEnum["play"] = "play";
33723
33727
  IconFuncTypeEnum["damagePic"] = "damagePic";
33728
+ IconFuncTypeEnum["imageDamagePic"] = "imageDamagePic";
33729
+ IconFuncTypeEnum["videoDamagePic"] = "videoDamagePic";
33724
33730
  IconFuncTypeEnum["expand"] = "expand";
33725
33731
  IconFuncTypeEnum["collapse"] = "collapse";
33726
33732
  IconFuncTypeEnum["drillDown"] = "drillDown";
@@ -45201,8 +45207,18 @@
45201
45207
  }
45202
45208
  image.failCallback = () => {
45203
45209
  const regedIcons = get$2();
45204
- image.image = regedIcons.damage_pic.svg;
45210
+ image.image = regedIcons.image_damage_pic
45211
+ ? regedIcons.image_damage_pic.svg
45212
+ : regedIcons.damage_pic.svg;
45205
45213
  };
45214
+ if (typeof value === 'string') {
45215
+ if (!(value.startsWith('<svg') || isValidUrl$1(value) || value.includes('/') || isBase64$1(value))) {
45216
+ const regedIcons = get$2();
45217
+ image.image = regedIcons.image_damage_pic
45218
+ ? regedIcons.image_damage_pic.svg
45219
+ : regedIcons.damage_pic.svg;
45220
+ }
45221
+ }
45206
45222
  cellGroup.appendChild(image);
45207
45223
  return cellGroup;
45208
45224
  }
@@ -45412,7 +45428,9 @@
45412
45428
  }
45413
45429
  function isDamagePic(image) {
45414
45430
  const regedIcons = get$2();
45415
- return image.attribute.image === regedIcons.damage_pic.svg;
45431
+ return (image.attribute.image === regedIcons.damage_pic.svg ||
45432
+ (regedIcons.image_damage_pic && image.attribute.image === regedIcons.image_damage_pic.svg) ||
45433
+ (regedIcons.video_damage_pic && image.attribute.image === regedIcons.video_damage_pic.svg));
45416
45434
  }
45417
45435
 
45418
45436
  function dealPromiseData(dataPromise, tabel, callback) {
@@ -45756,11 +45774,7 @@
45756
45774
  if (!addNew && oldCellGroup.role === 'empty') {
45757
45775
  return undefined;
45758
45776
  }
45759
- const type = isVtableMerge || isCustomMerge
45760
- ? 'text'
45761
- : table.isHeader(col, row)
45762
- ? table._getHeaderLayoutMap(col, row).headerType ?? 'text'
45763
- : table.getBodyColumnType(col, row) ?? 'text';
45777
+ const type = isVtableMerge || isCustomMerge ? 'text' : table.getCellType(col, row);
45764
45778
  const padding = cellTheme._vtable.padding;
45765
45779
  const textAlign = cellTheme.text.textAlign;
45766
45780
  const textBaseline = cellTheme.text.textBaseline;
@@ -46652,9 +46666,7 @@
46652
46666
  (table.isRightFrozenColumn(col) && table.isBottomFrozenRow(row)))) {
46653
46667
  continue;
46654
46668
  }
46655
- const cellType = table.isHeader(col, row)
46656
- ? table._getHeaderLayoutMap(col, row)?.headerType
46657
- : table.getBodyColumnType(col, row);
46669
+ const cellType = table.getCellType(col, row);
46658
46670
  const textHeight = computeTextHeight(col, row, cellType, table);
46659
46671
  maxHeight = isValid$1(maxHeight) ? Math.max(textHeight, maxHeight) : textHeight;
46660
46672
  }
@@ -47087,11 +47099,7 @@
47087
47099
  cell.setAttribute('height', distHeight);
47088
47100
  const isVtableMerge = scene.table.getCellRawRecord(col, row)?.vtableMerge;
47089
47101
  const isCustomMerge = !!scene.table.getCustomMerge(col, row);
47090
- const type = isVtableMerge || isCustomMerge
47091
- ? 'text'
47092
- : scene.table.isHeader(col, row)
47093
- ? scene.table._getHeaderLayoutMap(col, row).headerType ?? 'text'
47094
- : scene.table.getBodyColumnType(col, row) ?? 'text';
47102
+ const type = isVtableMerge || isCustomMerge ? 'text' : scene.table.getCellType(col, row);
47095
47103
  if (type === 'progressbar') {
47096
47104
  const columnDefine = scene.table.getBodyColumnDefine(col, row);
47097
47105
  const style = scene.table._getCellStyle(col, row);
@@ -47430,11 +47438,7 @@
47430
47438
  const autoRowHeight = scene.table.isAutoRowHeight(row);
47431
47439
  const isVtableMerge = scene.table.getCellRawRecord(col, row)?.vtableMerge;
47432
47440
  const isCustomMerge = !!scene.table.getCustomMerge(col, row);
47433
- const type = isVtableMerge || isCustomMerge
47434
- ? 'text'
47435
- : scene.table.isHeader(col, row)
47436
- ? scene.table._getHeaderLayoutMap(col, row).headerType ?? 'text'
47437
- : scene.table.getBodyColumnType(col, row) ?? 'text';
47441
+ const type = isVtableMerge || isCustomMerge ? 'text' : scene.table.getCellType(col, row);
47438
47442
  let isHeightChange = false;
47439
47443
  if (type === 'progressbar') {
47440
47444
  const columnDefine = scene.table.getBodyColumnDefine(col, row);
@@ -53012,9 +53016,7 @@
53012
53016
  maxWidth = Math.max(indicatorWidth, maxWidth);
53013
53017
  continue;
53014
53018
  }
53015
- const cellType = table.isHeader(col, row)
53016
- ? table._getHeaderLayoutMap(col, row)?.headerType
53017
- : table.getBodyColumnType(col, row);
53019
+ const cellType = table.getCellType(col, row);
53018
53020
  if (isValid$1(cellType) &&
53019
53021
  cellType !== 'text' &&
53020
53022
  cellType !== 'link' &&
@@ -53584,11 +53586,7 @@
53584
53586
  }
53585
53587
  }
53586
53588
  }
53587
- const type = isVtableMerge || isCustomMerge
53588
- ? 'text'
53589
- : (table.isHeader(col, row)
53590
- ? table._getHeaderLayoutMap(col, row).headerType ?? 'text'
53591
- : table.getBodyColumnType(col, row)) ?? 'text';
53589
+ const type = isVtableMerge || isCustomMerge ? 'text' : table.getCellType(col, row);
53592
53590
  if (isPromise(value)) {
53593
53591
  createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup);
53594
53592
  dealPromiseData(value, table, callCreateCellForPromiseValue.bind(null, {
@@ -59763,11 +59761,7 @@
59763
59761
  }
59764
59762
  updateCellContentWhileResize(col, row) {
59765
59763
  const isVtableMerge = this.table.getCellRawRecord(col, row)?.vtableMerge;
59766
- const type = isVtableMerge
59767
- ? 'text'
59768
- : this.table.isHeader(col, row)
59769
- ? this.table._getHeaderLayoutMap(col, row).headerType
59770
- : this.table.getBodyColumnType(col, row);
59764
+ const type = isVtableMerge ? 'text' : this.table.getCellType(col, row);
59771
59765
  const cellGroup = this.getCell(col, row);
59772
59766
  if (type === 'image' || type === 'video') {
59773
59767
  updateImageCellContentWhileResize(cellGroup, col, row, 0, 0, this.table);
@@ -63651,15 +63645,7 @@
63651
63645
  if (e.target.type === 'image' && e.target.role && e.target.role.startsWith('icon')) {
63652
63646
  return;
63653
63647
  }
63654
- let cellType;
63655
- if (table.internalProps.layoutMap.isHeader(col, row)) {
63656
- cellType = table.isPivotTable()
63657
- ? table._getHeaderLayoutMap(col, row).headerType
63658
- : table.getHeaderDefine(col, row).headerType;
63659
- }
63660
- else {
63661
- cellType = table.getBodyColumnType(col, row);
63662
- }
63648
+ const cellType = table.getCellType(col, row);
63663
63649
  const columnDefine = table.isHeader(col, row)
63664
63650
  ? table.getHeaderDefine(col, row)
63665
63651
  : table.getBodyColumnDefine(col, row);
@@ -63696,7 +63682,9 @@
63696
63682
  }
63697
63683
  const data = Object.assign({
63698
63684
  __value: cellValue,
63699
- __dataValue: cellOriginValue
63685
+ __dataValue: cellOriginValue,
63686
+ value: cellValue,
63687
+ dataValue: cellOriginValue
63700
63688
  }, rowData);
63701
63689
  if (isFunction$3(templateLink)) {
63702
63690
  url = templateLink(data, col, row, table);
@@ -70708,7 +70696,7 @@
70708
70696
  layoutMap.isRightTopCorner(col, row))) {
70709
70697
  return EMPTY_STYLE;
70710
70698
  }
70711
- const styleClass = table.internalProps.headerHelper.getStyleClass(hd?.headerType || 'text');
70699
+ const styleClass = table.internalProps.headerHelper.getStyleClass(table.getCellType(col, row));
70712
70700
  if (layoutMap.isBottomFrozenRow(col, row) && table.theme.bottomFrozenStyle) {
70713
70701
  cacheStyle = of(paddingForAxis ? { padding: paddingForAxis } : {}, table.theme.bottomFrozenStyle, {
70714
70702
  col,
@@ -71021,7 +71009,7 @@
71021
71009
  return TABLE_EVENT_TYPE;
71022
71010
  }
71023
71011
  options;
71024
- version = "1.23.1";
71012
+ version = "1.23.3-alpha.0";
71025
71013
  pagination;
71026
71014
  id = `VTable${Date.now()}`;
71027
71015
  headerStyleCache;
@@ -72613,6 +72601,11 @@
72613
72601
  this.release();
72614
72602
  }
72615
72603
  release() {
72604
+ this.scenegraph?.component?.vScrollBar?.release();
72605
+ this.scenegraph?.component?.hScrollBar?.release();
72606
+ this.animationManager.clear();
72607
+ this.animationManager.ticker.release();
72608
+ this.scenegraph?.stage?.ticker?.release();
72616
72609
  const internalProps = this.internalProps;
72617
72610
  if (this.isReleased) {
72618
72611
  return;
@@ -84309,7 +84302,10 @@
84309
84302
  table.scenegraph.updateNextFrame();
84310
84303
  });
84311
84304
  video.onerror = () => {
84312
- image.image = regedIcons.damage_pic.svg;
84305
+ const regedIcons = get$2();
84306
+ image.image = regedIcons.video_damage_pic
84307
+ ? regedIcons.video_damage_pic.svg
84308
+ : regedIcons.damage_pic.svg;
84313
84309
  };
84314
84310
  video.src = value;
84315
84311
  video.setAttribute('preload', 'auto');
@@ -84326,6 +84322,12 @@
84326
84322
  image.textAlign = textAlign;
84327
84323
  image.textBaseline = textBaseline;
84328
84324
  cellGroup.appendChild(image);
84325
+ image.successCallback = () => {
84326
+ if (isDamagePic(image)) {
84327
+ updateAutoSizingAndKeepAspectRatio(imageAutoSizing, keepAspectRatio, padding, textAlign, textBaseline, image, cellGroup, table);
84328
+ table.scenegraph.updateNextFrame();
84329
+ }
84330
+ };
84329
84331
  return cellGroup;
84330
84332
  }
84331
84333
 
@@ -94770,7 +94772,7 @@
94770
94772
  }
94771
94773
 
94772
94774
  registerForVrender();
94773
- const version = "1.23.1";
94775
+ const version = "1.23.3-alpha.0";
94774
94776
  function getIcons() {
94775
94777
  return get$2();
94776
94778
  }