mirror of
https://github.com/inventree/inventree-app.git
synced 2025-12-16 17:18:07 +00:00
Parameters refactor (#738)
* refactor attachment code into its own file * Add getters * Remove custom models for each type of attachment * Refactor existing widgets * Fix double camera open bug * Add check for modern parameter API * Add generic parameter type * Remove old code * Remove dead code * Refactor previous widget * Remove unused imports * Refactor common code * format * Update release notes * Helper func to render parameters list tile * Display parameters on part page * parameters for company * Supplier more model types: - ManufacturerPart - SupplierPart - PurchaseOrder - SalesOrder * dart format * Fix image prefix * Remove unused import * Adjust API version
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import "package:flutter/material.dart";
|
||||
import "package:flutter_speed_dial/flutter_speed_dial.dart";
|
||||
import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
|
||||
import "package:inventree/inventree/attachment.dart";
|
||||
import "package:inventree/inventree/parameter.dart";
|
||||
|
||||
import "package:inventree/l10.dart";
|
||||
import "package:inventree/api.dart";
|
||||
@@ -8,6 +10,8 @@ import "package:inventree/app_colors.dart";
|
||||
|
||||
import "package:inventree/inventree/company.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
import "package:inventree/widget/attachment_widget.dart";
|
||||
import "package:inventree/widget/parameter_widget.dart";
|
||||
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/widget/snacks.dart";
|
||||
@@ -31,6 +35,9 @@ class _ManufacturerPartDisplayState
|
||||
extends RefreshableState<ManufacturerPartDetailWidget> {
|
||||
_ManufacturerPartDisplayState();
|
||||
|
||||
int parameterCount = 0;
|
||||
int attachmentCount = 0;
|
||||
|
||||
@override
|
||||
String getAppBarTitle() => L10().manufacturerPart;
|
||||
|
||||
@@ -42,7 +49,34 @@ class _ManufacturerPartDisplayState
|
||||
|
||||
if (!result) {
|
||||
Navigator.of(context).pop();
|
||||
return;
|
||||
}
|
||||
|
||||
InvenTreeParameter()
|
||||
.countParameters(
|
||||
InvenTreeManufacturerPart.MODEL_TYPE,
|
||||
widget.manufacturerPart.pk,
|
||||
)
|
||||
.then((value) {
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
parameterCount = value;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
InvenTreeAttachment()
|
||||
.countAttachments(
|
||||
InvenTreeManufacturerPart.MODEL_TYPE,
|
||||
widget.manufacturerPart.pk,
|
||||
)
|
||||
.then((value) {
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
attachmentCount = value;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> editManufacturerPart(BuildContext context) async {
|
||||
@@ -91,11 +125,6 @@ class _ManufacturerPartDisplayState
|
||||
List<Widget> getTiles(BuildContext context) {
|
||||
List<Widget> tiles = [];
|
||||
|
||||
if (loading) {
|
||||
tiles.add(progressIndicator());
|
||||
return tiles;
|
||||
}
|
||||
|
||||
// Internal Part
|
||||
tiles.add(
|
||||
ListTile(
|
||||
@@ -174,6 +203,31 @@ class _ManufacturerPartDisplayState
|
||||
);
|
||||
}
|
||||
|
||||
ListTile? parameterTile = ShowParametersItem(
|
||||
context,
|
||||
InvenTreeManufacturerPart.MODEL_TYPE,
|
||||
widget.manufacturerPart.pk,
|
||||
parameterCount,
|
||||
widget.manufacturerPart.canEdit,
|
||||
);
|
||||
|
||||
if (parameterTile != null) {
|
||||
tiles.add(parameterTile);
|
||||
}
|
||||
|
||||
ListTile? attachmentTile = ShowAttachmentsItem(
|
||||
context,
|
||||
InvenTreeManufacturerPart.MODEL_TYPE,
|
||||
widget.manufacturerPart.pk,
|
||||
widget.manufacturerPart.MPN,
|
||||
attachmentCount,
|
||||
widget.manufacturerPart.canEdit,
|
||||
);
|
||||
|
||||
if (attachmentTile != null) {
|
||||
tiles.add(attachmentTile);
|
||||
}
|
||||
|
||||
return tiles;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user