lockable items in templates
This commit is contained in:
parent
6b6c96ea43
commit
055fb7241d
|
|
@ -13,6 +13,7 @@ class CheckList extends StatefulWidget {
|
||||||
class _CheckList extends State<CheckList> {
|
class _CheckList extends State<CheckList> {
|
||||||
_CheckList(this.id);
|
_CheckList(this.id);
|
||||||
final int id;
|
final int id;
|
||||||
|
bool _editable = false;
|
||||||
data.List? listData;
|
data.List? listData;
|
||||||
List<data.Check> list = [];
|
List<data.Check> list = [];
|
||||||
|
|
||||||
|
|
@ -36,6 +37,12 @@ class _CheckList extends State<CheckList> {
|
||||||
DBHelper.dbHelper.updateItem(item);
|
DBHelper.dbHelper.updateItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _toggleEditable() {
|
||||||
|
setState(() {
|
||||||
|
_editable = !_editable;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
_loadList();
|
_loadList();
|
||||||
|
|
@ -49,6 +56,13 @@ class _CheckList extends State<CheckList> {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: Text((listData != null) ? listData!.name : 'Check List: $id'),
|
title: Text((listData != null) ? listData!.name : 'Check List: $id'),
|
||||||
|
actions: [
|
||||||
|
(listData != null && listData!.isTemplate! && !_editable)
|
||||||
|
? IconButton(
|
||||||
|
onPressed: () => _toggleEditable(), icon: Icon(Icons.edit))
|
||||||
|
: IconButton(
|
||||||
|
onPressed: () => _toggleEditable(), icon: Icon(Icons.save)),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
body: ListView.builder(
|
body: ListView.builder(
|
||||||
itemCount: list.length,
|
itemCount: list.length,
|
||||||
|
|
@ -58,14 +72,15 @@ class _CheckList extends State<CheckList> {
|
||||||
title: Text(list[index].text),
|
title: Text(list[index].text),
|
||||||
controlAffinity: ListTileControlAffinity.leading,
|
controlAffinity: ListTileControlAffinity.leading,
|
||||||
value: list[index].value,
|
value: list[index].value,
|
||||||
onChanged: (listData != null && !listData!.isTemplate!)
|
onChanged:
|
||||||
? ((value) {
|
(listData != null && (!listData!.isTemplate! || _editable))
|
||||||
_updateItem(list[index]);
|
? ((value) {
|
||||||
setState(() {
|
_updateItem(list[index]);
|
||||||
list[index].value = value!;
|
setState(() {
|
||||||
});
|
list[index].value = value!;
|
||||||
})
|
});
|
||||||
: null,
|
})
|
||||||
|
: null,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue