dart_admin 0.1.0 copy "dart_admin: ^0.1.0" to clipboard
dart_admin: ^0.1.0 copied to clipboard

A Django-inspired extensible Admin Dashboard for Dart backend frameworks (Shelf, Dart Frog, Serverpod).

example/dart_admin_example.dart

import 'package:dart_admin/dart_admin.dart';

class Article {
  final int id;
  final String title;
  final String content;
  final bool isPublished;

  Article({
    required this.id,
    required this.title,
    required this.content,
    this.isPublished = false,
  });

  Map<String, dynamic> toMap() => {
        'id': id,
        'title': title,
        'content': content,
        'isPublished': isPublished,
      };

  factory Article.fromMap(Map<String, dynamic> map) => Article(
        id: map['id'] as int,
        title: map['title'] as String,
        content: map['content'] as String,
        isPublished: map['isPublished'] == true,
      );
}

void main() {
  final site = AdminSite(title: 'News CMS Admin');

  final articleResource = AdminResource<Article>(
    name: 'Article',
    adapter: InMemoryAdapter<Article>(
      getId: (a) => a.id,
      toMap: (a) => a.toMap(),
      fromMap: (m) => Article.fromMap(m),
    ),
    getId: (a) => a.id,
    toMap: (a) => a.toMap(),
    fromMap: (m) => Article.fromMap(m),
    fields: [
      const AdminField(name: 'id', type: AdminFieldType.integer, readOnly: true),
      const AdminField(name: 'title', type: AdminFieldType.text, required: true),
      const AdminField(name: 'content', type: AdminFieldType.textarea),
      const AdminField(name: 'isPublished', type: AdminFieldType.boolean),
    ],
  );

  site.register(articleResource);

  print('Registered resources: ${site.resources.map((r) => r.name).toList()}');
}
0
likes
160
points
114
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Django-inspired extensible Admin Dashboard for Dart backend frameworks (Shelf, Dart Frog, Serverpod).

Repository (GitHub)
View/report issues

Topics

#admin #dashboard #shelf #serverpod #dart-frog

License

MIT (license)

Dependencies

crypto, meta, shelf, sqflite_common, sqflite_common_ffi

More

Packages that depend on dart_admin