@visactor/vtable 0.15.0-alpha.0 → 0.15.0-alpha.2

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 (143) hide show
  1. package/cjs/core/BaseTable.d.ts +1 -1
  2. package/cjs/core/BaseTable.js +6 -2
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/core/TABLE_EVENT_TYPE.d.ts +0 -1
  5. package/cjs/core/TABLE_EVENT_TYPE.js +0 -1
  6. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  7. package/cjs/event/listener/container-dom.js +1 -5
  8. package/cjs/event/listener/container-dom.js.map +1 -1
  9. package/cjs/index.d.ts +3 -3
  10. package/cjs/index.js +1 -1
  11. package/cjs/index.js.map +1 -1
  12. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  13. package/cjs/layout/pivot-header-layout.js +4 -1
  14. package/cjs/layout/pivot-header-layout.js.map +1 -1
  15. package/cjs/layout/simple-header-layout.d.ts +1 -0
  16. package/cjs/layout/simple-header-layout.js +3 -0
  17. package/cjs/layout/simple-header-layout.js.map +1 -1
  18. package/cjs/render/layout/line.js.map +1 -1
  19. package/cjs/scenegraph/component/custom.d.ts +1 -0
  20. package/cjs/scenegraph/component/custom.js +5 -4
  21. package/cjs/scenegraph/component/custom.js.map +1 -1
  22. package/cjs/scenegraph/graphic/chart.d.ts +1 -0
  23. package/cjs/scenegraph/graphic/chart.js +2 -0
  24. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  25. package/cjs/scenegraph/group-creater/cell-helper.js +10 -3
  26. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  27. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -0
  28. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  29. package/cjs/scenegraph/group-creater/column-helper.js +1 -1
  30. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  31. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -4
  32. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  33. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
  34. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  35. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +8 -4
  36. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +13 -6
  38. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  39. package/cjs/scenegraph/layout/compute-col-width.js +3 -2
  40. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  41. package/cjs/scenegraph/layout/compute-row-height.js +3 -2
  42. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  43. package/cjs/scenegraph/layout/frozen.js +18 -3
  44. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  45. package/cjs/scenegraph/layout/update-row.js +85 -41
  46. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  47. package/cjs/scenegraph/layout/update-width.js +8 -2
  48. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  49. package/cjs/scenegraph/scenegraph.js +5 -4
  50. package/cjs/scenegraph/scenegraph.js.map +1 -1
  51. package/cjs/scenegraph/select/update-select-border.js +13 -13
  52. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  53. package/cjs/scenegraph/utils/text-measure.d.ts +4 -1
  54. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  55. package/cjs/state/select/update-position.js +28 -21
  56. package/cjs/state/select/update-position.js.map +1 -1
  57. package/cjs/ts-types/base-table.d.ts +2 -0
  58. package/cjs/ts-types/base-table.js.map +1 -1
  59. package/cjs/ts-types/events.d.ts +2 -5
  60. package/cjs/ts-types/events.js.map +1 -1
  61. package/dist/vtable.js +24280 -22073
  62. package/dist/vtable.min.js +2 -2
  63. package/es/core/BaseTable.d.ts +1 -1
  64. package/es/core/BaseTable.js +6 -2
  65. package/es/core/BaseTable.js.map +1 -1
  66. package/es/core/TABLE_EVENT_TYPE.d.ts +0 -1
  67. package/es/core/TABLE_EVENT_TYPE.js +0 -1
  68. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  69. package/es/event/listener/container-dom.js +1 -5
  70. package/es/event/listener/container-dom.js.map +1 -1
  71. package/es/index.d.ts +3 -3
  72. package/es/index.js +1 -1
  73. package/es/index.js.map +1 -1
  74. package/es/layout/pivot-header-layout.d.ts +1 -0
  75. package/es/layout/pivot-header-layout.js +4 -1
  76. package/es/layout/pivot-header-layout.js.map +1 -1
  77. package/es/layout/simple-header-layout.d.ts +1 -0
  78. package/es/layout/simple-header-layout.js +3 -0
  79. package/es/layout/simple-header-layout.js.map +1 -1
  80. package/es/render/layout/line.js.map +1 -1
  81. package/es/scenegraph/component/custom.d.ts +1 -0
  82. package/es/scenegraph/component/custom.js +2 -4
  83. package/es/scenegraph/component/custom.js.map +1 -1
  84. package/es/scenegraph/graphic/chart.d.ts +1 -0
  85. package/es/scenegraph/graphic/chart.js +2 -0
  86. package/es/scenegraph/graphic/chart.js.map +1 -1
  87. package/es/scenegraph/group-creater/cell-helper.js +10 -3
  88. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  89. package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -0
  90. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  91. package/es/scenegraph/group-creater/column-helper.js +1 -1
  92. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  93. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -3
  94. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  95. package/es/scenegraph/group-creater/progress/proxy.js +4 -2
  96. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  97. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +8 -4
  98. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  99. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +13 -6
  100. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  101. package/es/scenegraph/layout/compute-col-width.js +4 -3
  102. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  103. package/es/scenegraph/layout/compute-row-height.js +4 -3
  104. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  105. package/es/scenegraph/layout/frozen.js +20 -2
  106. package/es/scenegraph/layout/frozen.js.map +1 -1
  107. package/es/scenegraph/layout/update-row.js +86 -40
  108. package/es/scenegraph/layout/update-row.js.map +1 -1
  109. package/es/scenegraph/layout/update-width.js +8 -1
  110. package/es/scenegraph/layout/update-width.js.map +1 -1
  111. package/es/scenegraph/scenegraph.js +3 -3
  112. package/es/scenegraph/scenegraph.js.map +1 -1
  113. package/es/scenegraph/select/update-select-border.js +13 -13
  114. package/es/scenegraph/select/update-select-border.js.map +1 -1
  115. package/es/scenegraph/utils/text-measure.d.ts +4 -1
  116. package/es/scenegraph/utils/text-measure.js.map +1 -1
  117. package/es/state/select/update-position.js +28 -21
  118. package/es/state/select/update-position.js.map +1 -1
  119. package/es/ts-types/base-table.d.ts +2 -0
  120. package/es/ts-types/base-table.js.map +1 -1
  121. package/es/ts-types/events.d.ts +2 -5
  122. package/es/ts-types/events.js.map +1 -1
  123. package/package.json +4 -4
  124. package/cjs/scenegraph/component/menu.d.ts +0 -41
  125. package/cjs/scenegraph/context/canvas.d.ts +0 -5
  126. package/cjs/scenegraph/context/canvas.js +0 -24
  127. package/cjs/scenegraph/context/canvas.js.map +0 -1
  128. package/cjs/scenegraph/context/context.d.ts +0 -5
  129. package/cjs/scenegraph/context/context.js +0 -19
  130. package/cjs/scenegraph/context/context.js.map +0 -1
  131. package/cjs/scenegraph/context/module.d.ts +0 -2
  132. package/cjs/scenegraph/context/module.js +0 -13
  133. package/cjs/scenegraph/context/module.js.map +0 -1
  134. package/es/scenegraph/component/menu.d.ts +0 -41
  135. package/es/scenegraph/context/canvas.d.ts +0 -5
  136. package/es/scenegraph/context/canvas.js +0 -20
  137. package/es/scenegraph/context/canvas.js.map +0 -1
  138. package/es/scenegraph/context/context.d.ts +0 -5
  139. package/es/scenegraph/context/context.js +0 -14
  140. package/es/scenegraph/context/context.js.map +0 -1
  141. package/es/scenegraph/context/module.d.ts +0 -2
  142. package/es/scenegraph/context/module.js +0 -11
  143. package/es/scenegraph/context/module.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/events.ts"],"names":[],"mappings":"","file":"events.js","sourcesContent":["import type { CellAddress, CellRange, CellLocation, FieldDef } from './table-engine';\nimport type { DropDownMenuEventArgs, MenuListItem, PivotInfo } from './menu';\n\nimport type { AnyFunction, IDimensionInfo, RectProps, SortOrder } from './common';\nimport type { IconFuncTypeEnum, CellInfo, HierarchyState } from '.';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\n\nexport type KeyboardEventListener = (e: KeyboardEvent) => void;\nexport type TableEventListener<TYPE extends keyof TableEventHandlersEventArgumentMap> = (\n args: TableEventHandlersEventArgumentMap[TYPE]\n) => TableEventHandlersReturnMap[TYPE]; //AnyFunction;\nexport type EventListenerId = number;\n\nexport type SelectedCellEvent = CellAddress & {\n ranges: CellRange[];\n};\n\n// export type MouseCellEvent = CellAddress & {\n// event: MouseEvent | PointerEvent | TouchEvent;\n// };\n\nexport type MenuEvent = CellAddress & {\n dropDownMenu: MenuListItem[];\n pivotInfo: PivotInfo;\n};\n\nexport type TouchCellEvent = CellAddress & {\n event: TouchEvent;\n};\n\nexport type KeydownEvent = {\n keyCode: number;\n code: string;\n event: KeyboardEvent;\n cells?: CellInfo[][];\n stopCellMoving?: () => void;\n scaleRatio?: number;\n};\n\nexport type MousePointerCellEvent = CellAddress &\n CellInfo & {\n related?: CellAddress;\n scaleRatio?: number;\n targetIcon?: { name: string; position: RectProps; funcType: string };\n event?: MouseEvent | PointerEvent | TouchEvent;\n federatedEvent?: FederatedPointerEvent;\n target: IEventTarget | undefined;\n };\n// 多单元格的事件传出参数 需要将当前鼠标处的单元格的信息FocusedCellInfo也带着\nexport type MousePointerMultiCellEvent = MousePointerCellEvent & {\n cells: CellInfo[][];\n // menuKey?: string;\n};\n\nexport type MousePointerSparklineEvent = MousePointerCellEvent & {\n sparkline: {\n pointData: any;\n };\n};\n\nexport interface TableEventHandlersEventArgumentMap {\n selected_cell: SelectedCellEvent;\n click_cell: MousePointerCellEvent;\n dblclick_cell: MousePointerCellEvent;\n mouseenter_table: MousePointerCellEvent;\n mouseleave_table: MousePointerCellEvent;\n mouseenter_cell: MousePointerCellEvent;\n mouseleave_cell: MousePointerCellEvent;\n mousemove_cell: MousePointerCellEvent;\n mousedown_cell: MousePointerCellEvent;\n mouseup_cell: MousePointerCellEvent;\n contextmenu_cell: MousePointerMultiCellEvent;\n keydown: KeydownEvent;\n scroll: {\n scrollLeft: number;\n scrollTop: number;\n scrollWidth: number;\n scrollHeight: number;\n viewWidth: number;\n viewHeight: number;\n scrollDirection: 'horizontal' | 'vertical';\n scrollRatioX?: number;\n scrollRatioY?: number;\n };\n resize_column: { col: number; colWidth: number };\n resize_column_end: { col: number; columns: number[] };\n change_header_position: { source: CellAddress; target: CellAddress };\n sort_click: {\n field: FieldDef;\n order: SortOrder;\n };\n freeze_click: { col: number; row: number; fields: FieldDef[]; colCount: number };\n dropdown_menu_click: DropDownMenuEventArgs;\n\n mouseover_chart_symbol: MousePointerSparklineEvent;\n\n drag_select_end: MousePointerMultiCellEvent;\n copy_data: { cellRange: CellRange[]; copyData: string };\n drillmenu_click: DrillMenuEventInfo;\n\n dropdown_icon_click: CellAddress;\n dropdown_menu_clear: CellAddress;\n\n show_menu: {\n x: number;\n y: number;\n col: number;\n row: number;\n type: 'dropDown' | 'contextmenu' | 'custom';\n };\n hide_menu: [];\n icon_click: {\n name: string;\n col: number;\n row: number;\n x: number;\n y: number;\n funcType?: IconFuncTypeEnum | string;\n icon: Icon;\n };\n\n pivot_sort_click: {\n col: number;\n row: number;\n order: SortOrder;\n dimensionInfo: IDimensionInfo[];\n cellLocation: CellLocation;\n };\n tree_hierarchy_state_change: {\n col: number;\n row: number;\n hierarchyState: HierarchyState;\n dimensionInfo?: IDimensionInfo[];\n /**整条数据-原始数据 */\n originData?: any;\n };\n vchart_event_type: {\n eventName: string;\n col: number;\n row: number;\n chartEventArguments: any;\n };\n //datasource部分的事件\n change_order: [];\n source_length_update: number;\n\n legend_item_click: { model: any; value: any; event: PointerEvent };\n legend_item_hover: { model: any; value: any; event: PointerEvent };\n legend_item_unHover: { model: any; value: any; event: PointerEvent };\n legend_change: { model: any; value: any; event: PointerEvent };\n\n mouseenter_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n mouseleave_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n\n checkbox_state_change: MousePointerCellEvent & { checked: boolean };\n after_render: null;\n initialized: null;\n}\nexport interface DrillMenuEventInfo {\n dimensionKey: string | number;\n title: string;\n drillDown: boolean;\n drillUp: boolean;\n col: number;\n row: number;\n}\nexport interface TableEventHandlersReturnMap {\n selected_cell: void;\n click_cell: void;\n dblclick_cell: void;\n mouseenter_table: void;\n mouseleave_table: void;\n mouseenter_cell: void;\n mouseleave_cell: void;\n // mouseover_cell: void;\n mouseout_cell: void;\n mousemove_cell: void;\n mousedown_cell: boolean;\n mouseup_cell: void;\n contextmenu_cell: void;\n keydown: void;\n scroll: void;\n focus_table: void;\n blur_table: void;\n resize_column: void;\n resize_column_end: void;\n change_header_position: void;\n sort_click: boolean;\n freeze_click: void;\n dropdown_menu_click: void;\n\n mouseover_chart_symbol: void;\n drag_select_end: void;\n copy_data: void;\n drillmenu_click: void;\n\n dropdown_icon_click: void;\n dropdown_menu_clear: void;\n\n show_menu: void;\n hide_menu: void;\n icon_click: void;\n\n pivot_sort_click: void;\n\n tree_hierarchy_state_change: void;\n\n vchart_event_type: void;\n //datasource部分的事件\n change_order: void;\n source_length_update: void;\n legend_item_click: void;\n legend_item_hover: void;\n legend_item_unHover: void;\n legend_change: void;\n\n mouseenter_axis: void;\n mouseleave_axis: void;\n\n checkbox_state_change: void;\n after_render: void;\n initialized: void;\n}\n"]}
1
+ {"version":3,"sources":["ts-types/events.ts"],"names":[],"mappings":"","file":"events.js","sourcesContent":["import type { CellAddress, CellRange, CellLocation, FieldDef } from './table-engine';\nimport type { DropDownMenuEventArgs, MenuListItem, PivotInfo } from './menu';\n\nimport type { AnyFunction, IDimensionInfo, RectProps, SortOrder } from './common';\nimport type { IconFuncTypeEnum, CellInfo, HierarchyState } from '.';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\n\nexport type KeyboardEventListener = (e: KeyboardEvent) => void;\nexport type TableEventListener<TYPE extends keyof TableEventHandlersEventArgumentMap> = (\n args: TableEventHandlersEventArgumentMap[TYPE]\n) => TableEventHandlersReturnMap[TYPE]; //AnyFunction;\nexport type EventListenerId = number;\n\nexport type SelectedCellEvent = CellAddress & {\n ranges: CellRange[];\n};\n\n// export type MouseCellEvent = CellAddress & {\n// event: MouseEvent | PointerEvent | TouchEvent;\n// };\n\nexport type MenuEvent = CellAddress & {\n dropDownMenu: MenuListItem[];\n pivotInfo: PivotInfo;\n};\n\nexport type TouchCellEvent = CellAddress & {\n event: TouchEvent;\n};\n\nexport type KeydownEvent = {\n keyCode: number;\n code: string;\n event: KeyboardEvent;\n cells?: CellInfo[][];\n stopCellMoving?: () => void;\n scaleRatio?: number;\n};\n\nexport type MousePointerCellEvent = CellAddress &\n CellInfo & {\n related?: CellAddress;\n scaleRatio?: number;\n targetIcon?: { name: string; position: RectProps; funcType: string };\n event?: MouseEvent | PointerEvent | TouchEvent;\n federatedEvent?: FederatedPointerEvent;\n target: IEventTarget | undefined;\n };\n// 多单元格的事件传出参数 需要将当前鼠标处的单元格的信息FocusedCellInfo也带着\nexport type MousePointerMultiCellEvent = MousePointerCellEvent & {\n cells: CellInfo[][];\n // menuKey?: string;\n};\n\nexport type MousePointerSparklineEvent = MousePointerCellEvent & {\n sparkline: {\n pointData: any;\n };\n};\n\nexport interface TableEventHandlersEventArgumentMap {\n selected_cell: SelectedCellEvent;\n click_cell: MousePointerCellEvent;\n dblclick_cell: MousePointerCellEvent;\n mouseenter_table: MousePointerCellEvent;\n mouseleave_table: MousePointerCellEvent;\n mouseenter_cell: MousePointerCellEvent;\n mouseleave_cell: MousePointerCellEvent;\n mousemove_cell: MousePointerCellEvent;\n mousedown_cell: MousePointerCellEvent;\n mouseup_cell: MousePointerCellEvent;\n contextmenu_cell: MousePointerMultiCellEvent;\n keydown: KeydownEvent;\n scroll: {\n scrollLeft: number;\n scrollTop: number;\n scrollWidth: number;\n scrollHeight: number;\n viewWidth: number;\n viewHeight: number;\n scrollDirection: 'horizontal' | 'vertical';\n scrollRatioX?: number;\n scrollRatioY?: number;\n };\n resize_column: { col: number; colWidth: number };\n resize_column_end: { col: number; columns: number[] };\n change_header_position: { source: CellAddress; target: CellAddress };\n sort_click: {\n field: FieldDef;\n order: SortOrder;\n };\n freeze_click: { col: number; row: number; fields: FieldDef[]; colCount: number };\n dropdown_menu_click: DropDownMenuEventArgs;\n copydata: CellRange[];\n\n mouseover_chart_symbol: MousePointerSparklineEvent;\n\n drag_select_end: MousePointerMultiCellEvent;\n\n drillmenu_click: DrillMenuEventInfo;\n\n dropdown_icon_click: CellAddress;\n dropdown_menu_clear: CellAddress;\n\n show_menu: {\n x: number;\n y: number;\n col: number;\n row: number;\n type: 'dropDown' | 'contextmenu' | 'custom';\n };\n hide_menu: [];\n icon_click: {\n name: string;\n col: number;\n row: number;\n x: number;\n y: number;\n funcType?: IconFuncTypeEnum | string;\n icon: Icon;\n };\n\n pivot_sort_click: {\n col: number;\n row: number;\n order: SortOrder;\n dimensionInfo: IDimensionInfo[];\n cellLocation: CellLocation;\n };\n tree_hierarchy_state_change: {\n col: number;\n row: number;\n hierarchyState: HierarchyState;\n dimensionInfo?: IDimensionInfo[];\n /**整条数据-原始数据 */\n originData?: any;\n };\n vchart_event_type: {\n eventName: string;\n col: number;\n row: number;\n chartEventArguments: any;\n };\n //datasource部分的事件\n change_order: [];\n source_length_update: number;\n\n legend_item_click: { model: any; value: any; event: PointerEvent };\n legend_item_hover: { model: any; value: any; event: PointerEvent };\n legend_item_unHover: { model: any; value: any; event: PointerEvent };\n legend_change: { model: any; value: any; event: PointerEvent };\n\n mouseenter_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n mouseleave_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n\n checkbox_state_change: MousePointerCellEvent & { checked: boolean };\n after_render: null;\n initialized: null;\n}\nexport interface DrillMenuEventInfo {\n dimensionKey: string | number;\n title: string;\n drillDown: boolean;\n drillUp: boolean;\n col: number;\n row: number;\n}\nexport interface TableEventHandlersReturnMap {\n selected_cell: void;\n click_cell: void;\n dblclick_cell: void;\n mouseenter_table: void;\n mouseleave_table: void;\n mouseenter_cell: void;\n mouseleave_cell: void;\n // mouseover_cell: void;\n mouseout_cell: void;\n mousemove_cell: void;\n mousedown_cell: boolean;\n mouseup_cell: void;\n contextmenu_cell: void;\n keydown: void;\n scroll: void;\n focus_table: void;\n blur_table: void;\n resize_column: void;\n resize_column_end: void;\n change_header_position: void;\n sort_click: boolean;\n freeze_click: void;\n dropdown_menu_click: void;\n copydata: string;\n mouseover_chart_symbol: void;\n drag_select_end: void;\n drillmenu_click: void;\n\n dropdown_icon_click: void;\n dropdown_menu_clear: void;\n\n show_menu: void;\n hide_menu: void;\n icon_click: void;\n\n pivot_sort_click: void;\n\n tree_hierarchy_state_change: void;\n\n vchart_event_type: void;\n //datasource部分的事件\n change_order: void;\n source_length_update: void;\n legend_item_click: void;\n legend_item_hover: void;\n legend_item_unHover: void;\n legend_change: void;\n\n mouseenter_axis: void;\n mouseleave_axis: void;\n\n checkbox_state_change: void;\n after_render: void;\n initialized: void;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vtable",
3
- "version": "0.15.0-alpha.0",
3
+ "version": "0.15.0-alpha.2",
4
4
  "description": "canvas table width high performance",
5
5
  "keywords": [
6
6
  "grid",
@@ -35,10 +35,10 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@visactor/vrender": "0.16.12",
39
- "@visactor/vrender-components": "0.16.12",
38
+ "@visactor/vrender": "0.16.14",
39
+ "@visactor/vrender-components": "0.16.14",
40
40
  "@visactor/vutils-extension": "1.5.1-alpha.0",
41
- "@visactor/vutils": "0.16.6",
41
+ "@visactor/vutils": "~0.16.10",
42
42
  "@visactor/vscale": "0.16.0",
43
43
  "@visactor/vdataset": "~0.15.7",
44
44
  "cssfontparser": "^1.2.1"
@@ -1,41 +0,0 @@
1
- import type { IGroup } from '@visactor/vrender';
2
- import type { MenuListItem } from '../../ts-types';
3
- import { Group } from '../graphic/group';
4
- import type { BaseTableAPI } from '../../ts-types/base-table';
5
- export declare enum MenuType {
6
- 'dropDown' = "dropDown",
7
- 'contextmenu' = "contextmenu",
8
- 'custom' = "custom"
9
- }
10
- type MenuInfo = MenuListItem[];
11
- export declare class MenuHandler {
12
- private _table;
13
- private _menuInstance;
14
- private _menuInfo;
15
- constructor(table: BaseTableAPI);
16
- bindTableComponent(componentGroup: Group): void;
17
- release(): void;
18
- attach(x: number, y: number, col: number, row: number, type: MenuType, menuInfo?: MenuInfo): void;
19
- updateMenuInfo(col: number, row: number, type: MenuType, menuInfo: MenuListItem[], highlightIndex: number): void;
20
- checkDropDownMenuChange(col: number, row: number): boolean;
21
- checkContextMenuChange(x: number, y: number): boolean;
22
- updateMenuInstance(menuInfo: MenuInfo, highlightIndex: number): void;
23
- updatePosition(x: number, y: number): void;
24
- addToScene(): void;
25
- detach(): void;
26
- getMenuInfo(col: number, row: number, type: MenuType): {
27
- menuInfo: MenuListItem[];
28
- highlightIndex: number;
29
- };
30
- bindEvent(): void;
31
- getEventInfo(target: IGroup): {
32
- col: number;
33
- row: number;
34
- menuKey: string;
35
- dropDownIndex: number;
36
- text: string;
37
- highlight: boolean;
38
- };
39
- get bounds(): import("@visactor/vutils").IBounds;
40
- }
41
- export {};
@@ -1,5 +0,0 @@
1
- import { type ICanvas, type CanvasConfigType, type EnvType, BrowserCanvas } from '@visactor/vrender';
2
- export declare class CanvasForVTable extends BrowserCanvas implements ICanvas {
3
- static env: EnvType;
4
- constructor(params: CanvasConfigType);
5
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
-
9
- Object.defineProperty(exports, "__esModule", {
10
- value: !0
11
- }), exports.CanvasForVTable = void 0;
12
-
13
- const vrender_1 = require("@visactor/vrender"), context_1 = require("./context");
14
-
15
- let CanvasForVTable = class extends vrender_1.BrowserCanvas {
16
- constructor(params) {
17
- super(params), this._context = new context_1.Context2dForVTable(this, this._dpr),
18
- this.initStyle();
19
- }
20
- };
21
-
22
- CanvasForVTable.env = "browser", CanvasForVTable = __decorate([ (0, vrender_1.injectable)() ], CanvasForVTable),
23
- exports.CanvasForVTable = CanvasForVTable;
24
- //# sourceMappingURL=canvas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/context/canvas.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAiH;AACjH,uCAA+C;AAGxC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,uBAAa;IAOhD,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;;AAXM,mBAAG,GAAY,SAAS,CAAC;AADrB,eAAe;IAD3B,IAAA,oBAAU,GAAE;GACA,eAAe,CAa3B;AAbY,0CAAe","file":"canvas.js","sourcesContent":["import { type ICanvas, type CanvasConfigType, type EnvType, BrowserCanvas, injectable } from '@visactor/vrender';\nimport { Context2dForVTable } from './context';\n\n@injectable()\nexport class CanvasForVTable extends BrowserCanvas implements ICanvas {\n static env: EnvType = 'browser';\n\n /**\n * 通过canvas生成一个wrap对象,初始化时不会再设置canvas的属性\n * @param params\n */\n constructor(params: CanvasConfigType) {\n super(params);\n // debugger;\n this._context = new Context2dForVTable(this, this._dpr);\n this.initStyle();\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- import type { IContext2d, EnvType } from '@visactor/vrender';
2
- import { BrowserContext2d } from '@visactor/vrender';
3
- export declare class Context2dForVTable extends BrowserContext2d implements IContext2d {
4
- static env: EnvType;
5
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
-
9
- Object.defineProperty(exports, "__esModule", {
10
- value: !0
11
- }), exports.Context2dForVTable = void 0;
12
-
13
- const vrender_1 = require("@visactor/vrender");
14
-
15
- let Context2dForVTable = class extends vrender_1.BrowserContext2d {};
16
-
17
- Context2dForVTable.env = "browser", Context2dForVTable = __decorate([ injectable() ], Context2dForVTable),
18
- exports.Context2dForVTable = Context2dForVTable;
19
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/context/context.ts"],"names":[],"mappings":";;;;;;;;;AAEA,+CAAqD;AAO9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,0BAAgB;;AAC/C,sBAAG,GAAY,SAAS,CAAC;AADrB,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAU9B;AAVY,gDAAkB","file":"context.js","sourcesContent":["// 参考konva\nimport type { IContext2d, EnvType, injectable } from '@visactor/vrender';\nimport { BrowserContext2d } from '@visactor/vrender';\n\ndeclare const tt: {\n canvasGetImageData: (d: any) => any;\n};\n\n@injectable()\nexport class Context2dForVTable extends BrowserContext2d implements IContext2d {\n static env: EnvType = 'browser';\n\n // fill() {\n // debugger;\n // }\n\n // stroke() {\n // debugger;\n // }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import { ContainerModule } from '@visactor/vrender';
2
- export declare const contextModule: ContainerModule;
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.contextModule = void 0;
6
-
7
- const vrender_1 = require("@visactor/vrender"), context_1 = require("./context"), canvas_1 = require("./canvas");
8
-
9
- exports.contextModule = new vrender_1.ContainerModule(((bind, unbind, isBinded, rebind) => {
10
- isBinded(vrender_1.CanvasFactory) && rebind(vrender_1.CanvasFactory).toDynamicValue((() => params => new canvas_1.CanvasForVTable(params))).whenTargetNamed(canvas_1.CanvasForVTable.env),
11
- isBinded(vrender_1.Context2dFactory) && rebind(vrender_1.Context2dFactory).toDynamicValue((() => (params, dpr) => new context_1.Context2dForVTable(params, dpr))).whenTargetNamed(context_1.Context2dForVTable.env);
12
- }));
13
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/context/module.ts"],"names":[],"mappings":";;;AACA,+CAAqF;AACrF,uCAA+C;AAC/C,qCAA2C;AAE9B,QAAA,aAAa,GAAG,IAAI,yBAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAClF,IAAI,QAAQ,CAAC,uBAAa,CAAC,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7B,MAAM,CAAC,uBAAa,CAAC;aAClB,cAAc,CAAC,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAEzB,OAAO,CAAC,MAAwB,EAAE,EAAE,CAAC,IAAI,wBAAe,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC;aACD,eAAe,CAAC,wBAAe,CAAC,GAAG,CAAC,CAAC;KACzC;IAED,IAAI,QAAQ,CAAC,0BAAgB,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEhC,MAAM,CAAC,0BAAgB,CAAC;aACrB,cAAc,CAAC,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,MAAe,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,4BAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC;aACD,eAAe,CAAC,4BAAkB,CAAC,GAAG,CAAC,CAAC;KAC5C;AACH,CAAC,CAAC,CAAC","file":"module.js","sourcesContent":["import type { CanvasConfigType, ICanvas } from '@visactor/vrender';\nimport { CanvasFactory, Context2dFactory, ContainerModule } from '@visactor/vrender';\nimport { Context2dForVTable } from './context';\nimport { CanvasForVTable } from './canvas';\n\nexport const contextModule = new ContainerModule((bind, unbind, isBinded, rebind) => {\n if (isBinded(CanvasFactory)) {\n console.log('reBind canvas');\n // unbind(CanvasFactory);\n rebind(CanvasFactory)\n .toDynamicValue(() => {\n console.log('vvvvvvvvv');\n\n return (params: CanvasConfigType) => new CanvasForVTable(params);\n })\n .whenTargetNamed(CanvasForVTable.env);\n }\n\n if (isBinded(Context2dFactory)) {\n console.log('reBind context2d');\n // unbind(Context2dFactory);\n rebind(Context2dFactory)\n .toDynamicValue(() => {\n console.log('aaaaaa');\n return (params: ICanvas, dpr: number) => new Context2dForVTable(params, dpr);\n })\n .whenTargetNamed(Context2dForVTable.env);\n }\n});\n"]}
@@ -1,41 +0,0 @@
1
- import type { IGroup } from '@visactor/vrender';
2
- import type { MenuListItem } from '../../ts-types';
3
- import { Group } from '../graphic/group';
4
- import type { BaseTableAPI } from '../../ts-types/base-table';
5
- export declare enum MenuType {
6
- 'dropDown' = "dropDown",
7
- 'contextmenu' = "contextmenu",
8
- 'custom' = "custom"
9
- }
10
- type MenuInfo = MenuListItem[];
11
- export declare class MenuHandler {
12
- private _table;
13
- private _menuInstance;
14
- private _menuInfo;
15
- constructor(table: BaseTableAPI);
16
- bindTableComponent(componentGroup: Group): void;
17
- release(): void;
18
- attach(x: number, y: number, col: number, row: number, type: MenuType, menuInfo?: MenuInfo): void;
19
- updateMenuInfo(col: number, row: number, type: MenuType, menuInfo: MenuListItem[], highlightIndex: number): void;
20
- checkDropDownMenuChange(col: number, row: number): boolean;
21
- checkContextMenuChange(x: number, y: number): boolean;
22
- updateMenuInstance(menuInfo: MenuInfo, highlightIndex: number): void;
23
- updatePosition(x: number, y: number): void;
24
- addToScene(): void;
25
- detach(): void;
26
- getMenuInfo(col: number, row: number, type: MenuType): {
27
- menuInfo: MenuListItem[];
28
- highlightIndex: number;
29
- };
30
- bindEvent(): void;
31
- getEventInfo(target: IGroup): {
32
- col: number;
33
- row: number;
34
- menuKey: string;
35
- dropDownIndex: number;
36
- text: string;
37
- highlight: boolean;
38
- };
39
- get bounds(): import("@visactor/vutils").IBounds;
40
- }
41
- export {};
@@ -1,5 +0,0 @@
1
- import { type ICanvas, type CanvasConfigType, type EnvType, BrowserCanvas } from '@visactor/vrender';
2
- export declare class CanvasForVTable extends BrowserCanvas implements ICanvas {
3
- static env: EnvType;
4
- constructor(params: CanvasConfigType);
5
- }
@@ -1,20 +0,0 @@
1
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- };
6
-
7
- import { BrowserCanvas, injectable } from "@visactor/vrender";
8
-
9
- import { Context2dForVTable } from "./context";
10
-
11
- let CanvasForVTable = class extends BrowserCanvas {
12
- constructor(params) {
13
- super(params), this._context = new Context2dForVTable(this, this._dpr), this.initStyle();
14
- }
15
- };
16
-
17
- CanvasForVTable.env = "browser", CanvasForVTable = __decorate([ injectable() ], CanvasForVTable);
18
-
19
- export { CanvasForVTable };
20
- //# sourceMappingURL=canvas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/context/canvas.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAqD,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGxC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAAa;IAOhD,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;;AAXM,mBAAG,GAAY,SAAS,CAAC;AADrB,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAa3B;SAbY,eAAe","file":"canvas.js","sourcesContent":["import { type ICanvas, type CanvasConfigType, type EnvType, BrowserCanvas, injectable } from '@visactor/vrender';\nimport { Context2dForVTable } from './context';\n\n@injectable()\nexport class CanvasForVTable extends BrowserCanvas implements ICanvas {\n static env: EnvType = 'browser';\n\n /**\n * 通过canvas生成一个wrap对象,初始化时不会再设置canvas的属性\n * @param params\n */\n constructor(params: CanvasConfigType) {\n super(params);\n // debugger;\n this._context = new Context2dForVTable(this, this._dpr);\n this.initStyle();\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- import type { IContext2d, EnvType } from '@visactor/vrender';
2
- import { BrowserContext2d } from '@visactor/vrender';
3
- export declare class Context2dForVTable extends BrowserContext2d implements IContext2d {
4
- static env: EnvType;
5
- }
@@ -1,14 +0,0 @@
1
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5
- };
6
-
7
- import { BrowserContext2d } from "@visactor/vrender";
8
-
9
- let Context2dForVTable = class extends BrowserContext2d {};
10
-
11
- Context2dForVTable.env = "browser", Context2dForVTable = __decorate([ injectable() ], Context2dForVTable);
12
-
13
- export { Context2dForVTable };
14
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/context/context.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gBAAgB;;AAC/C,sBAAG,GAAY,SAAS,CAAC;AADrB,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAU9B;SAVY,kBAAkB","file":"context.js","sourcesContent":["// 参考konva\nimport type { IContext2d, EnvType, injectable } from '@visactor/vrender';\nimport { BrowserContext2d } from '@visactor/vrender';\n\ndeclare const tt: {\n canvasGetImageData: (d: any) => any;\n};\n\n@injectable()\nexport class Context2dForVTable extends BrowserContext2d implements IContext2d {\n static env: EnvType = 'browser';\n\n // fill() {\n // debugger;\n // }\n\n // stroke() {\n // debugger;\n // }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import { ContainerModule } from '@visactor/vrender';
2
- export declare const contextModule: ContainerModule;
@@ -1,11 +0,0 @@
1
- import { CanvasFactory, Context2dFactory, ContainerModule } from "@visactor/vrender";
2
-
3
- import { Context2dForVTable } from "./context";
4
-
5
- import { CanvasForVTable } from "./canvas";
6
-
7
- export const contextModule = new ContainerModule(((bind, unbind, isBinded, rebind) => {
8
- isBinded(CanvasFactory) && rebind(CanvasFactory).toDynamicValue((() => params => new CanvasForVTable(params))).whenTargetNamed(CanvasForVTable.env),
9
- isBinded(Context2dFactory) && rebind(Context2dFactory).toDynamicValue((() => (params, dpr) => new Context2dForVTable(params, dpr))).whenTargetNamed(Context2dForVTable.env);
10
- }));
11
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/context/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAClF,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7B,MAAM,CAAC,aAAa,CAAC;aAClB,cAAc,CAAC,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAEzB,OAAO,CAAC,MAAwB,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC;aACD,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;KACzC;IAED,IAAI,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEhC,MAAM,CAAC,gBAAgB,CAAC;aACrB,cAAc,CAAC,GAAG,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,MAAe,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC;aACD,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;KAC5C;AACH,CAAC,CAAC,CAAC","file":"module.js","sourcesContent":["import type { CanvasConfigType, ICanvas } from '@visactor/vrender';\nimport { CanvasFactory, Context2dFactory, ContainerModule } from '@visactor/vrender';\nimport { Context2dForVTable } from './context';\nimport { CanvasForVTable } from './canvas';\n\nexport const contextModule = new ContainerModule((bind, unbind, isBinded, rebind) => {\n if (isBinded(CanvasFactory)) {\n console.log('reBind canvas');\n // unbind(CanvasFactory);\n rebind(CanvasFactory)\n .toDynamicValue(() => {\n console.log('vvvvvvvvv');\n\n return (params: CanvasConfigType) => new CanvasForVTable(params);\n })\n .whenTargetNamed(CanvasForVTable.env);\n }\n\n if (isBinded(Context2dFactory)) {\n console.log('reBind context2d');\n // unbind(Context2dFactory);\n rebind(Context2dFactory)\n .toDynamicValue(() => {\n console.log('aaaaaa');\n return (params: ICanvas, dpr: number) => new Context2dForVTable(params, dpr);\n })\n .whenTargetNamed(Context2dForVTable.env);\n }\n});\n"]}