org_chart 5.0.0-alpha.5 copy "org_chart: ^5.0.0-alpha.5" to clipboard
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

Pub Version Flutter Platform License Stars

πŸ“š Documentation | πŸš€ Live Demo | πŸ’» GitHub | πŸ“¦ pub.dev

Org Chart Demo

✨ Features #

πŸš€ High Performance

  • Optimized for large datasets (1000+ nodes)
  • Spatial indexing with QuadTree
  • Smart caching and viewport culling
  • 60 FPS smooth interactions

🎨 Rich Customization

  • Custom node builders
  • Flexible edge/arrow styling
  • Multiple layout orientations
  • Theme-aware components

πŸ”„ Interactive Controls

  • Drag & drop with visual feedback
  • Smooth zoom & pan
  • Collapsible/expandable nodes
  • Export to PDF/Image

πŸ‘ͺ Genogram Support

  • Family tree visualization
  • Marriage & relationship indicators
  • Gender-based node shapes
  • Custom relationship edge styles

πŸš€ 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:

** 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>
38
likes
0
points
905
downloads

Publisher

verified publisherali-hnaineh.dev

Weekly Downloads

A flutter orgranizational chart with drag and drop, zoom and pan, search, collapse, expand, and easy customizations!

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

custom_interactive_viewer, flutter, pdf

More

Packages that depend on org_chart