Add ensemble editor

This commit is contained in:
Elias Projahn 2020-03-22 14:52:56 +01:00
parent 36c79c7b82
commit 63c4ccf364

66
lib/editors/ensemble.dart Normal file
View file

@ -0,0 +1,66 @@
import 'package:flutter/material.dart';
import '../backend.dart';
import '../database.dart';
class EnsembleEditor extends StatefulWidget {
final Ensemble ensemble;
EnsembleEditor({
this.ensemble,
});
@override
_EnsembleEditorState createState() => _EnsembleEditorState();
}
class _EnsembleEditorState extends State<EnsembleEditor> {
final nameController = TextEditingController();
@override
void initState() {
super.initState();
if (widget.ensemble != null) {
nameController.text = widget.ensemble.name;
}
}
@override
Widget build(BuildContext context) {
final backend = Backend.of(context);
return Scaffold(
appBar: AppBar(
title: Text('Ensemble'),
actions: <Widget>[
FlatButton(
child: Text('DONE'),
onPressed: () async {
final ensemble = Ensemble(
id: widget.ensemble?.id ?? generateId(),
name: nameController.text,
);
await backend.db.updateEnsemble(ensemble);
Navigator.pop(context, ensemble);
},
)
],
),
body: ListView(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: nameController,
decoration: InputDecoration(
labelText: 'Name',
),
),
),
],
),
);
}
}