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:
parent
1f88f1d8ab
commit
57ab6546ab
@ -83,6 +83,9 @@ class _CategoryDisplayState extends State<CategoryDisplayWidget> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool _subcategoriesExpanded = false;
|
||||||
|
bool _partListExpanded = true;
|
||||||
|
|
||||||
Widget getCategoryDescriptionCard() {
|
Widget getCategoryDescriptionCard() {
|
||||||
if (category == null) {
|
if (category == null) {
|
||||||
return Card(
|
return Card(
|
||||||
@ -112,27 +115,63 @@ class _CategoryDisplayState extends State<CategoryDisplayWidget> {
|
|||||||
title: Text(_titleString),
|
title: Text(_titleString),
|
||||||
),
|
),
|
||||||
drawer: new InvenTreeDrawer(context),
|
drawer: new InvenTreeDrawer(context),
|
||||||
body: Center(
|
body: ListView(
|
||||||
child: Column(
|
//mainAxisAlignment: MainAxisAlignment.start,
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
//mainAxisSize: MainAxisSize.max,
|
||||||
mainAxisSize: MainAxisSize.max,
|
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
getCategoryDescriptionCard(),
|
getCategoryDescriptionCard(),
|
||||||
Text(
|
ExpansionPanelList(
|
||||||
"Subcategories - ${_subcategories.length}",
|
expansionCallback: (int index, bool isExpanded) {
|
||||||
textAlign: TextAlign.left,
|
print("callback!");
|
||||||
style: TextStyle(fontWeight: FontWeight.bold),
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return ListView.builder(itemBuilder: _build, itemCount: _parts.length);
|
return ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
itemBuilder: _build, itemCount: _parts.length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user