flutter_fancy_tree_view 0.3.1 copy "flutter_fancy_tree_view: ^0.3.1" to clipboard
flutter_fancy_tree_view: ^0.3.1 copied to clipboard

outdated

A highly customizable TreeView Widget for visualization of nested data in Flutter.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_fancy_tree_view/flutter_fancy_tree_view.dart';

import 'src/sample_data.dart';
import 'src/home_page.dart';

void main() => runApp(MyApp());

/// Recursively convert a list of maps into a list of [TreeNode]s.
List<TreeNode> generateTreeNodes(List<Map<String, dynamic>> children) {
  if (children.isEmpty) return const [];

  return children.map((child) {
    return TreeNode(
      id: '${child['id'] ?? ''}',
      label: child['name'] ?? '',
    )..addChildren(generateTreeNodes(child['children'] ?? const []));
  }).toList(growable: false);
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late TreeViewController _treeController;

  TreeNode buildTreeStructure() {
    return TreeNode(id: '🌲️ ROOT')..addChildren(generateTreeNodes(sampleData));
  }

  @override
  void initState() {
    super.initState();
    _treeController = TreeViewController(
      rootNode: buildTreeStructure(),
    );
  }

  @override
  void dispose() {
    _treeController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'TreeView Example',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primaryColor: kDarkBlue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
        iconTheme: const IconThemeData(color: kDarkBlue),
      ),
      home: HomePage(treeController: _treeController),
    );
  }
}
194
likes
0
pub points
95%
popularity

Publisher

unverified uploader

A highly customizable TreeView Widget for visualization of nested data in Flutter.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on flutter_fancy_tree_view