org_chart 5.0.0-alpha.5
org_chart: ^5.0.0-alpha.5 copied to clipboard
A flutter orgranizational chart with drag and drop, zoom and pan, search, collapse, expand, and easy customizations!
π Flutter Org Chart #
A high-performance, fully customizable organizational chart and genogram package for Flutter
π Documentation | π Live Demo | π» GitHub | π¦ pub.dev
β¨ Features #
π High Performance
|
π¨ Rich Customization
|
π Interactive Controls
|
πͺ Genogram Support
|
π Quick Start #
Installation #
Add to your pubspec.yaml:
dependencies:
org_chart: ^5.0.0-alpha.5
Basic Usage #
import 'package:org_chart/org_chart.dart';
// Create controller
final controller = OrgChartController<MyData>(
items: [
Node(id: '1', data: MyData('CEO')),
Node(id: '2', data: MyData('CTO'), parentId: '1'),
Node(id: '3', data: MyData('CFO'), parentId: '1'),
],
);
// Build chart
OrgChart<MyData>(
controller: controller,
nodeBuilder: (context, details) {
return Card(
child: Padding(
padding: const EdgeInsets.all(16),
child: Text(details.item.data.title),
),
);
},
)
π Key Features #
π’ Organizational Charts #
- Multiple Orientations: Top-to-bottom, bottom-to-top, left-to-right, right-to-left
- Flexible Layouts: Automatic node positioning with customizable spacing
- Interactive Nodes: Drag & drop to reorganize structure
- Smart Rendering: Only renders visible nodes for optimal performance
π¨βπ©βπ§βπ¦ Genogram Features #
- Family Relationships: Visualize complex family structures
- Marriage Indicators: Show relationship status and types
- Gender Shapes: Square for male, circle for female, diamond for other
- Relationship Lines: Customizable edge styles for different relationships
β‘ Performance Optimizations #
- QuadTree Spatial Indexing: O(log n) overlap detection
- Intelligent Caching: 400x faster node level calculations
- Parent-Child Indexing: O(1) child node lookups
- Viewport Culling: Only render visible nodes
- Debounced Operations: Smooth 60 FPS during interactions
π¨ Customization Options #
- Node Styling: Complete control over node appearance
- Edge Configuration: Arrow styles, colors, and paths
- Animations: Smooth transitions for all interactions
- Theming: Full support for light/dark themes
- Responsive: Adapts to different screen sizes
π Documentation #
Visit our comprehensive documentation for:
- π Getting Started Guide
- π― Interactive Examples
- π§ API Reference
- π‘ Best Practices
** Note: Documentation is to be updated soon, a lot of changes are being made to the package.
Export Capabilities #
// Export as image
final image = await controller.exportAsImage();
// Export as PDF (via example app)
await controller.exportAsPdf();
## π What's New in v5.0.0-alpha.5
- **β‘ Major Performance Improvements**: Up to 400x faster for large charts
- **π Spatial Indexing**: QuadTree implementation for efficient overlap detection
- **π Enhanced Testing**: Comprehensive test suite with performance benchmarks
- **π§ Better API**: More intuitive controller methods and callbacks
## πΊοΈ Roadmap
Track our progress on the [GitHub Project Board](https://github.com/users/ahnaineh/projects/3)
### β
Completed
- High-performance rendering engine
- Comprehensive test coverage
- Multiple orientation support
- Genogram relationship visualization
- Export functionality
### π§ In Progress
- Arrow animations
- Enhanced documentation
### π Planned
- AI-powered auto-layout
- Real-time collaboration
- Advanced analytics
- More export formats
## π€ Contributing
We welcome contributions! Please see our [Contributing Guide](https://github.com/ahnaineh/org_chart/blob/main/CONTRIBUTING.md) for details.
### Ways to Contribute
- π [Report bugs](https://github.com/ahnaineh/org_chart/issues/new?template=bug_report.md)
- π‘ [Request features](https://github.com/ahnaineh/org_chart/issues/new?template=feature_request.md)
- π [Improve documentation](https://github.com/ahnaineh/org_chart/tree/main/doc)
- π§ [Submit pull requests](https://github.com/ahnaineh/org_chart/pulls)
<div align="center">
<a href="https://github.com/ahnaineh/org_chart/stargazers">β Star us on GitHub!</a>
</div>