manifold 1.0.7 copy "manifold: ^1.0.7" to clipboard
manifold: ^1.0.7 copied to clipboard

Edit objects with UI

example/lib/main.dart

import 'package:arcane/arcane.dart';
import 'package:artifact/artifact.dart';
import 'package:example/gen/artifacts.gen.dart';
import 'package:example/models.dart';
import 'package:manifold/manifold.dart';

void main() {
  Entity(name: "").to.json;
  runApp("example_manifold", ArcaneApp(home: ManifoldExample()));
}

class ManifoldExample extends StatelessWidget {
  const ManifoldExample({super.key});

  @override
  Widget build(BuildContext context) => Screen(
    child: SingleChildScrollView(
      child: ManifoldEditor<Dog>(containerStyle: MCS(), onChanged: (v, x) {}),
    ),
  );
}

class MCS extends ManifoldContainerStyle {
  @override
  ManifoldContainerType getCollectionStyle<M, T>({
    required ManifoldEditorScope<M> scope,
    required $AFld<dynamic, dynamic> field,
    required Iterable<T>? value,
  }) => ManifoldContainerType.subScreen;

  @override
  ManifoldContainerType getMapStyle<M, K, V>({
    required ManifoldEditorScope<M> scope,
    required $AFld<dynamic, dynamic> field,
    required Map<K, V>? value,
  }) => ManifoldContainerType.subScreen;

  @override
  ManifoldContainerType getSubObjectStyle<M, O>({
    required ManifoldEditorScope<M> scope,
    required $AFld<dynamic, dynamic> field,
    required O? value,
  }) => ManifoldContainerType.subScreen;
}