@visactor/vtable
Version:
canvas table width high performance
81 lines (78 loc) • 5.27 kB
JavaScript
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