Invoices
This commit is contained in:
parent
2bf9fb7f6c
commit
fc03a16b15
|
|
@ -15,14 +15,14 @@ class EntityDropdown extends StatefulWidget {
|
||||||
@required this.entityMap,
|
@required this.entityMap,
|
||||||
@required this.onFilterChanged,
|
@required this.onFilterChanged,
|
||||||
@required this.onSelected,
|
@required this.onSelected,
|
||||||
this.initialValue,
|
this.value,
|
||||||
});
|
});
|
||||||
|
|
||||||
final EntityType entityType;
|
final EntityType entityType;
|
||||||
final List<int> entityList;
|
final List<int> entityList;
|
||||||
final BuiltMap<int, BaseEntity> entityMap;
|
final BuiltMap<int, BaseEntity> entityMap;
|
||||||
final String labelText;
|
final String labelText;
|
||||||
final int initialValue;
|
final String value;
|
||||||
final Function(String) onFilterChanged;
|
final Function(String) onFilterChanged;
|
||||||
final Function(int) onSelected;
|
final Function(int) onSelected;
|
||||||
|
|
||||||
|
|
@ -32,6 +32,7 @@ class EntityDropdown extends StatefulWidget {
|
||||||
|
|
||||||
class _EntityDropdownState extends State<EntityDropdown> {
|
class _EntityDropdownState extends State<EntityDropdown> {
|
||||||
final _focusNode = FocusNode();
|
final _focusNode = FocusNode();
|
||||||
|
final _textController = TextEditingController();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
|
|
@ -41,6 +42,7 @@ class _EntityDropdownState extends State<EntityDropdown> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
|
_textController.dispose();
|
||||||
_focusNode.removeListener(_onFocusChanged);
|
_focusNode.removeListener(_onFocusChanged);
|
||||||
_focusNode.dispose();
|
_focusNode.dispose();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
|
@ -118,7 +120,11 @@ class _EntityDropdownState extends State<EntityDropdown> {
|
||||||
title: Text(entity.listDisplayName),
|
title: Text(entity.listDisplayName),
|
||||||
subtitle:
|
subtitle:
|
||||||
subtitle != null ? Text(subtitle) : null,
|
subtitle != null ? Text(subtitle) : null,
|
||||||
onTap: () => widget.onSelected(entityId),
|
onTap: () {
|
||||||
|
_textController.text = widget.entityMap[entityId].listDisplayName;
|
||||||
|
widget.onSelected(entityId);
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}).toList()),
|
}).toList()),
|
||||||
]),
|
]),
|
||||||
|
|
@ -134,6 +140,7 @@ class _EntityDropdownState extends State<EntityDropdown> {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return TextFormField(
|
return TextFormField(
|
||||||
|
controller: _textController,
|
||||||
focusNode: _focusNode,
|
focusNode: _focusNode,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
labelText: widget.labelText,
|
labelText: widget.labelText,
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ class InvoiceEditDetailsState extends State<InvoiceEditDetails> {
|
||||||
? EntityDropdown(
|
? EntityDropdown(
|
||||||
entityType: EntityType.client,
|
entityType: EntityType.client,
|
||||||
labelText: localization.client,
|
labelText: localization.client,
|
||||||
|
value: viewModel.clientMap[invoice.clientId]?.displayName,
|
||||||
entityList: viewModel.clientList,
|
entityList: viewModel.clientList,
|
||||||
entityMap: viewModel.clientMap,
|
entityMap: viewModel.clientMap,
|
||||||
onFilterChanged: viewModel.onEntityFilterChanged,
|
onFilterChanged: viewModel.onEntityFilterChanged,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue