mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-28 13:36:50 +00:00
Display "variants" in part detail view
This commit is contained in:
parent
e35c4df846
commit
62df40f4b3
@ -1119,6 +1119,9 @@
|
|||||||
"valueRequired": "Value is required",
|
"valueRequired": "Value is required",
|
||||||
"@valueRequired": {},
|
"@valueRequired": {},
|
||||||
|
|
||||||
|
"variants": "Variants",
|
||||||
|
"@variants": {},
|
||||||
|
|
||||||
"version": "Version",
|
"version": "Version",
|
||||||
"@version": {},
|
"@version": {},
|
||||||
|
|
||||||
|
@ -45,6 +45,8 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
|||||||
|
|
||||||
int bomCount = 0;
|
int bomCount = 0;
|
||||||
|
|
||||||
|
int variantCount = 0;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String getAppBarTitle(BuildContext context) => L10().partDetails;
|
String getAppBarTitle(BuildContext context) => L10().partDetails;
|
||||||
|
|
||||||
@ -128,6 +130,14 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
|||||||
"in_bom_for": part.pk.toString(),
|
"in_bom_for": part.pk.toString(),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
variantCount = await InvenTreePart().count(
|
||||||
|
filters: {
|
||||||
|
"variant_of": part.pk.toString(),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
print("Variant count: ${variantCount}");
|
||||||
}
|
}
|
||||||
|
|
||||||
Future <void> _toggleStar() async {
|
Future <void> _toggleStar() async {
|
||||||
@ -271,6 +281,30 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Display number of "variant" parts if any exist
|
||||||
|
if (variantCount > 0) {
|
||||||
|
tiles.add(
|
||||||
|
ListTile(
|
||||||
|
title: Text(L10().variants),
|
||||||
|
leading: FaIcon(FontAwesomeIcons.sitemap, color: COLOR_CLICK),
|
||||||
|
trailing: Text(variantCount.toString()),
|
||||||
|
onTap: () {
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) => PartList(
|
||||||
|
{
|
||||||
|
"variant_of": part.pk.toString(),
|
||||||
|
},
|
||||||
|
title: L10().variants
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
tiles.add(
|
tiles.add(
|
||||||
ListTile(
|
ListTile(
|
||||||
title: Text(L10().availableStock),
|
title: Text(L10().availableStock),
|
||||||
@ -311,14 +345,14 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
|||||||
ListTile(
|
ListTile(
|
||||||
title: Text(L10().billOfMaterials),
|
title: Text(L10().billOfMaterials),
|
||||||
leading: FaIcon(FontAwesomeIcons.thList, color: COLOR_CLICK),
|
leading: FaIcon(FontAwesomeIcons.thList, color: COLOR_CLICK),
|
||||||
trailing: Text("${bomCount}"),
|
trailing: Text(bomCount.toString()),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => PartList(
|
builder: (context) => PartList(
|
||||||
{
|
{
|
||||||
"in_bom_for": "${part.pk}",
|
"in_bom_for": part.pk.toString(),
|
||||||
},
|
},
|
||||||
title: L10().billOfMaterials,
|
title: L10().billOfMaterials,
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user