mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-31 05:15:42 +00:00 
			
		
		
		
	Update CompanyDetail page
This commit is contained in:
		
							
								
								
									
										2
									
								
								lib/l10n
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								lib/l10n
									
									
									
									
									
								
							 Submodule lib/l10n updated: f53df5968c...15a67a8aa7
									
								
							| @@ -1,5 +1,7 @@ | |||||||
|  |  | ||||||
| import 'package:inventree/api.dart'; | import 'package:inventree/api.dart'; | ||||||
|  | import 'package:inventree/api_form.dart'; | ||||||
|  | import 'package:inventree/app_colors.dart'; | ||||||
| import 'package:inventree/inventree/company.dart'; | import 'package:inventree/inventree/company.dart'; | ||||||
| import 'package:inventree/widget/refreshable_state.dart'; | import 'package:inventree/widget/refreshable_state.dart'; | ||||||
| import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||||
| @@ -21,30 +23,64 @@ class CompanyDetailWidget extends StatefulWidget { | |||||||
|  |  | ||||||
| class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> { | class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> { | ||||||
|  |  | ||||||
|   final InvenTreeCompany company; |   _CompanyDetailState(this.company); | ||||||
|  |  | ||||||
|   final _editCompanyKey = GlobalKey<FormState>(); |   final InvenTreeCompany company; | ||||||
|  |  | ||||||
|   @override |   @override | ||||||
|   String getAppBarTitle(BuildContext context) => L10().company; |   String getAppBarTitle(BuildContext context) => L10().company; | ||||||
|  |  | ||||||
|  |   @override | ||||||
|  |   List<Widget> getAppBarActions(BuildContext context) { | ||||||
|  |  | ||||||
|  |     List<Widget> actions = []; | ||||||
|  |  | ||||||
|  |     actions.add( | ||||||
|  |       IconButton( | ||||||
|  |         icon: FaIcon(FontAwesomeIcons.globe), | ||||||
|  |         onPressed: () async { | ||||||
|  |           company.goToInvenTreePage(); | ||||||
|  |         }, | ||||||
|  |       ) | ||||||
|  |     ); | ||||||
|  |  | ||||||
|  |     actions.add( | ||||||
|  |       IconButton( | ||||||
|  |         icon: FaIcon(FontAwesomeIcons.edit), | ||||||
|  |         tooltip: L10().edit, | ||||||
|  |         onPressed: () { | ||||||
|  |           editCompany(context); | ||||||
|  |         } | ||||||
|  |       ) | ||||||
|  |     ); | ||||||
|  |  | ||||||
|  |     return actions; | ||||||
|  |  | ||||||
|  |   } | ||||||
|  |  | ||||||
|   @override |   @override | ||||||
|   Future<void> request() async { |   Future<void> request() async { | ||||||
|     await company.reload(); |     await company.reload(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   _CompanyDetailState(this.company) { |   void editCompany(BuildContext context) async { | ||||||
|     // TODO |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   void editCompanyDialog() { |     launchApiForm( | ||||||
|  |       context, | ||||||
|     // Values which can be edited |       L10().companyEdit, | ||||||
|     var _name; |       company.url, | ||||||
|     var _description; |       { | ||||||
|     var _website; |         "name": {}, | ||||||
|  |         "description": {}, | ||||||
|     // TODO - API form |         "website": {}, | ||||||
|  |         "is_supplier": {}, | ||||||
|  |         "is_manufacturer": {}, | ||||||
|  |         "is_customer": {}, | ||||||
|  |         "currency": {}, | ||||||
|  |       }, | ||||||
|  |       modelData: company.jsondata, | ||||||
|  |       onSuccess: refresh | ||||||
|  |     ); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   List<Widget> _companyTiles() { |   List<Widget> _companyTiles() { | ||||||
| @@ -57,11 +93,7 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> { | |||||||
|       child: ListTile( |       child: ListTile( | ||||||
|         title: Text("${company.name}"), |         title: Text("${company.name}"), | ||||||
|         subtitle: Text("${company.description}"), |         subtitle: Text("${company.description}"), | ||||||
|         leading: InvenTreeAPI().getImage(company.image), |         leading: InvenTreeAPI().getImage(company.image, width: 40, height: 40), | ||||||
|         trailing: IconButton( |  | ||||||
|           icon: FaIcon(FontAwesomeIcons.edit), |  | ||||||
|           onPressed: editCompanyDialog, |  | ||||||
|         ), |  | ||||||
|       ), |       ), | ||||||
|     )); |     )); | ||||||
|  |  | ||||||
| @@ -105,9 +137,9 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> { | |||||||
|     if (company.link.isNotEmpty) { |     if (company.link.isNotEmpty) { | ||||||
|       tiles.add(ListTile( |       tiles.add(ListTile( | ||||||
|         title: Text("${company.link}"), |         title: Text("${company.link}"), | ||||||
|         leading: FaIcon(FontAwesomeIcons.link), |         leading: FaIcon(FontAwesomeIcons.link, color: COLOR_CLICK), | ||||||
|         onTap: () { |         onTap: () { | ||||||
|           // TODO - Open external link |           company.openLink(); | ||||||
|         }, |         }, | ||||||
|       )); |       )); | ||||||
|  |  | ||||||
| @@ -125,6 +157,10 @@ class _CompanyDetailState extends RefreshableState<CompanyDetailWidget> { | |||||||
|       tiles.add(Divider()); |       tiles.add(Divider()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     if (company.isManufacturer) { | ||||||
|  |       // TODO - Add list of manufacturer parts | ||||||
|  |     } | ||||||
|  |  | ||||||
|     if (company.isCustomer) { |     if (company.isCustomer) { | ||||||
|  |  | ||||||
|       // TODO - Add list of sales orders |       // TODO - Add list of sales orders | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user