UNPKG

mx-ui-components

Version:

mobius ui library

54 lines (53 loc) 1.74 kB
import { type ComponentMetadata } from "../utils/loader"; import BaseComponent from "../Counter/BaseComponent"; interface OrgNodeData { node: DocumentFragment; userData: any; children: OrgNodeData[]; level: number; parent?: OrgNodeData; width?: number; x?: number; } export default class OrgChart extends BaseComponent { props: Record<string, any>; data: any[]; chartContainer: HTMLDivElement | null; nodesMap: Map<string, OrgNodeData>; rootNodes: OrgNodeData[]; levels: OrgNodeData[][]; nodeWidth: number; nodeHeight: number; horizontalSpacing: number; verticalSpacing: number; component: ComponentMetadata | null; chartArea: HTMLDivElement | null; scale: number; minScale: number; maxScale: number; zoomStep: number; isDragging: boolean; lastMouseX: number; lastMouseY: number; translateX: number; translateY: number; connectedCallback(): Promise<void>; initializeChart(): void; buildHierarchy(data: any[]): void; calculateLevels(nodes: OrgNodeData[], level: number): void; organizeLevels(): void; calculateNodePositions(): void; calculateSubtreeWidths(nodes: OrgNodeData[]): number; assignNodePositions(node: OrgNodeData, startX: number): void; renderChart(): void; drawConnectorLines(container: HTMLElement): void; createConnector(container: HTMLElement, startX: number, startY: number, endX: number, endY: number): void; setupZoomAndDrag(): void; handleZoom(e: WheelEvent): void; handleDragStart(e: MouseEvent): void; handleDragMove(e: MouseEvent): void; handleDragEnd(): void; updateTransform(): void; disconnectedCallback(): void; } export {};