2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 13:36:50 +00:00

Expandable panel for subcategory and part list for category view

This commit is contained in:
Oliver Walters 2020-04-05 21:35:11 +10:00
parent 1f88f1d8ab
commit 57ab6546ab

View File

@ -83,6 +83,9 @@ class _CategoryDisplayState extends State<CategoryDisplayWidget> {
});
}
bool _subcategoriesExpanded = false;
bool _partListExpanded = true;
Widget getCategoryDescriptionCard() {
if (category == null) {
return Card(
@ -112,27 +115,63 @@ class _CategoryDisplayState extends State<CategoryDisplayWidget> {
title: Text(_titleString),
),
drawer: new InvenTreeDrawer(context),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
body: ListView(
//mainAxisAlignment: MainAxisAlignment.start,
//mainAxisSize: MainAxisSize.max,
children: <Widget>[
getCategoryDescriptionCard(),
Text(
"Subcategories - ${_subcategories.length}",
textAlign: TextAlign.left,
style: TextStyle(fontWeight: FontWeight.bold),
ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
print("callback!");
setState(() {
switch (index) {
case 0:
_subcategoriesExpanded = !isExpanded;
break;
case 1:
_partListExpanded = !isExpanded;
break;
default:
break;
}
});
},
children: <ExpansionPanel> [
ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text("Subcategories"),
trailing: Text("${_subcategories.length}"),
onTap: () {
setState(() {
_subcategoriesExpanded = !_subcategoriesExpanded;
});
},
);
},
body: SubcategoryList(_subcategories),
isExpanded: _subcategoriesExpanded,
),
ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text("Parts"),
trailing: Text("${_parts.length}"),
onTap: () {
setState(() {
_partListExpanded = !_partListExpanded;
});
},
);
},
body: PartList(_parts),
isExpanded: _partListExpanded,
)
],
),
Expanded(child: SubcategoryList(_subcategories)),
Divider(),
Text("Parts - ${_parts.length}",
textAlign: TextAlign.left,
style: TextStyle(fontWeight: FontWeight.bold),
),
Expanded(child: PartList(_parts)),
]
)
)
);
}
}
@ -171,7 +210,9 @@ class SubcategoryList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView.builder(itemBuilder: _build, itemCount: _categories.length);
return ListView.builder(
shrinkWrap: true,
itemBuilder: _build, itemCount: _categories.length);
}
}
@ -217,6 +258,8 @@ class PartList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView.builder(itemBuilder: _build, itemCount: _parts.length);
return ListView.builder(
shrinkWrap: true,
itemBuilder: _build, itemCount: _parts.length);
}
}