UNPKG

@visactor/vtable

Version:

canvas table width high performance

81 lines (78 loc) 5.27 kB
import { Group } from "../graphic/group"; export function initSceneGraph(scene) { const width = scene.table.tableNoFrameWidth, height = scene.table.tableNoFrameHeight; scene.tableGroup = new Group({ x: 0, y: 0, width: width, height: height, clip: !0, pickable: !1 }), scene.tableGroup.role = "table"; const colHeaderGroup = createContainerGroup(0, 0, !scene.table.internalProps.enableTreeStickCell); colHeaderGroup.role = "col-header", scene.colHeaderGroup = colHeaderGroup; const cornerHeaderGroup = createContainerGroup(0, 0, !scene.table.internalProps.enableTreeStickCell); cornerHeaderGroup.role = "corner-header", scene.cornerHeaderGroup = cornerHeaderGroup; const rowHeaderGroup = createContainerGroup(0, 0, !0); rowHeaderGroup.role = "row-header", scene.rowHeaderGroup = rowHeaderGroup; const bodyGroup = createContainerGroup(width, 0, !0); bodyGroup.role = "body", scene.bodyGroup = bodyGroup; const rightFrozenGroup = createContainerGroup(0, 0, !0); rightFrozenGroup.role = "right-frozen", scene.rightFrozenGroup = rightFrozenGroup; const bottomFrozenGroup = createContainerGroup(0, 0, !0); bottomFrozenGroup.role = "bottom-frozen", scene.bottomFrozenGroup = bottomFrozenGroup; const componentGroup = createContainerGroup(0, 0); componentGroup.role = "component", scene.componentGroup = componentGroup; const rightTopCornerGroup = createContainerGroup(0, 0, !0); rightTopCornerGroup.role = "corner-right-top-header", scene.rightTopCornerGroup = rightTopCornerGroup; const rightBottomCornerGroup = createContainerGroup(0, 0, !0); rightBottomCornerGroup.role = "corner-right-bottom-header", scene.rightBottomCornerGroup = rightBottomCornerGroup; const leftBottomCornerGroup = createContainerGroup(0, 0, !0); leftBottomCornerGroup.role = "corner-left-bottom-header", scene.leftBottomCornerGroup = leftBottomCornerGroup; const bodySelectGroup = createContainerGroup(width, 0, !0); bodySelectGroup.role = "body", bodySelectGroup.name = "select-overlay", scene.bodySelectGroup = bodySelectGroup; const rowHeaderSelectGroup = createContainerGroup(0, 0, !0); rowHeaderSelectGroup.role = "row-header", rowHeaderSelectGroup.name = "select-overlay", scene.rowHeaderSelectGroup = rowHeaderSelectGroup; const bottomFrozenSelectGroup = createContainerGroup(0, 0, !0); bottomFrozenSelectGroup.role = "bottom-frozen", bottomFrozenSelectGroup.name = "select-overlay", scene.bottomFrozenSelectGroup = bottomFrozenSelectGroup; const colHeaderSelectGroup = createContainerGroup(0, 0, !0); colHeaderSelectGroup.role = "col-header", colHeaderSelectGroup.name = "select-overlay", scene.colHeaderSelectGroup = colHeaderSelectGroup; const rightFrozenSelectGroup = createContainerGroup(0, 0, !0); rightFrozenSelectGroup.role = "right-frozen", rightFrozenSelectGroup.name = "select-overlay", scene.rightFrozenSelectGroup = rightFrozenSelectGroup; const rightTopCornerSelectGroup = createContainerGroup(0, 0, !0); rightTopCornerSelectGroup.role = "corner-right-top-header", rightTopCornerSelectGroup.name = "select-overlay", scene.rightTopCornerSelectGroup = rightTopCornerSelectGroup; const rightBottomCornerSelectGroup = createContainerGroup(0, 0, !0); rightBottomCornerSelectGroup.role = "corner-right-bottom-header", rightBottomCornerSelectGroup.name = "select-overlay", scene.rightBottomCornerSelectGroup = rightBottomCornerSelectGroup; const leftBottomCornerSelectGroup = createContainerGroup(0, 0, !0); leftBottomCornerSelectGroup.role = "corner-left-bottom-header", leftBottomCornerSelectGroup.name = "select-overlay", scene.leftBottomCornerSelectGroup = leftBottomCornerSelectGroup; const cornerHeaderSelectGroup = createContainerGroup(0, 0, !0); cornerHeaderSelectGroup.role = "corner-header", cornerHeaderSelectGroup.name = "select-overlay", scene.cornerHeaderSelectGroup = cornerHeaderSelectGroup, scene.tableGroup.addChild(bodyGroup), scene.tableGroup.addChild(rowHeaderGroup), scene.tableGroup.addChild(bottomFrozenGroup), scene.tableGroup.addChild(colHeaderGroup), scene.tableGroup.addChild(rightFrozenGroup), scene.tableGroup.addChild(rightBottomCornerGroup), scene.tableGroup.addChild(rightTopCornerGroup), scene.tableGroup.addChild(leftBottomCornerGroup), scene.tableGroup.addChild(cornerHeaderGroup), scene.tableGroup.addChild(bodySelectGroup), scene.tableGroup.addChild(rowHeaderSelectGroup), scene.tableGroup.addChild(bottomFrozenSelectGroup), scene.tableGroup.addChild(colHeaderSelectGroup), scene.tableGroup.addChild(rightFrozenSelectGroup), scene.tableGroup.addChild(rightBottomCornerSelectGroup), scene.tableGroup.addChild(rightTopCornerSelectGroup), scene.tableGroup.addChild(leftBottomCornerSelectGroup), scene.tableGroup.addChild(cornerHeaderSelectGroup), scene.tableGroup.addChild(componentGroup); } function createContainerGroup(width, height, clip) { return new Group({ x: 0, y: 0, width: width, height: height, clip: null != clip && clip, pickable: !1 }); } //# sourceMappingURL=init-scenegraph.js.map