mirror of
https://github.com/johrpan/musicus_mobile.git
synced 2025-10-26 10:47:25 +01:00
Work editor: Store edited work when done
This commit is contained in:
parent
4b178752b9
commit
4652a663d2
1 changed files with 31 additions and 1 deletions
|
|
@ -298,7 +298,37 @@ class _WorkEditorState extends State<WorkEditor> {
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
FlatButton(
|
FlatButton(
|
||||||
child: Text('DONE'),
|
child: Text('DONE'),
|
||||||
onPressed: () {},
|
onPressed: () async {
|
||||||
|
final workId = widget.work?.id ?? generateId();
|
||||||
|
|
||||||
|
final model = WorkModel(
|
||||||
|
work: Work(
|
||||||
|
id: workId,
|
||||||
|
title: titleController.text,
|
||||||
|
composer: composer.id,
|
||||||
|
),
|
||||||
|
instrumentIds: instruments.map((i) => i.id).toList(),
|
||||||
|
);
|
||||||
|
|
||||||
|
final List<WorkModel> partModels = [];
|
||||||
|
for (var i = 0; i < parts.length; i++) {
|
||||||
|
final part = parts[i];
|
||||||
|
partModels.add(WorkModel(
|
||||||
|
work: Work(
|
||||||
|
id: generateId(),
|
||||||
|
title: part.titleController.text,
|
||||||
|
composer: part.composer?.id,
|
||||||
|
partOf: workId,
|
||||||
|
partIndex: i,
|
||||||
|
partLevel: part.level,
|
||||||
|
),
|
||||||
|
instrumentIds: part.instruments.map((i) => i.id).toList(),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
await backend.db.updateWork(model, partModels);
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue