diff --git a/lib/ui/app/entity_dropdown.dart b/lib/ui/app/entity_dropdown.dart index cb050db5c..dc6acaab6 100644 --- a/lib/ui/app/entity_dropdown.dart +++ b/lib/ui/app/entity_dropdown.dart @@ -111,30 +111,35 @@ class _EntityDropdownState extends State { @override Widget build(BuildContext context) { - if (kIsWeb && isNotMobile(context)) { + if (true || kIsWeb && isNotMobile(context)) { return TypeAheadFormField( + initialValue: _entityMap[widget.entityId]?.listDisplayName ?? '', noItemsFoundBuilder: (context) => SizedBox(), suggestionsCallback: (filter) { return widget.entityList .where((entityId) => - widget.entityMap[entityId].matchesFilter(filter)) + _entityMap[entityId]?.matchesFilter(filter) ?? false) .toList(); }, itemBuilder: (context, entityId) { return _EntityListTile( - entity: widget.entityMap[entityId], + entity: _entityMap[entityId], filter: _textController.text, ); }, onSuggestionSelected: (entityId) { - widget.onSelected(widget.entityMap[entityId]); + final entity = _entityMap[entityId]; + widget.onSelected(entity); }, - textFieldConfiguration: - TextFieldConfiguration(onChanged: (value) { - _textController.text = value; - }), + textFieldConfiguration: TextFieldConfiguration( + decoration: InputDecoration( + labelText: widget.labelText, + ), + onChanged: (value) { + _textController.text = value; + }), autoFlipDirection: true, - direction: AxisDirection.up, + //direction: AxisDirection.up, animationStart: 1, debounceDuration: Duration(seconds: 0), ); @@ -144,7 +149,7 @@ class _EntityDropdownState extends State { alignment: Alignment.centerRight, children: [ InkWell( - key: ValueKey(widget.labelText), + //key: ValueKey('__stack_${widget.labelText}__'), onTap: () => _showOptions(), child: IgnorePointer( child: TextFormField( @@ -217,8 +222,8 @@ class _EntityDropdownDialogState extends State { /* onSubmitted: (value) { final entityId = widget.entityList.firstWhere((entityId) => - widget.entityMap[entityId].matchesFilter(_filter)); - final entity = widget.entityMap[entityId]; + _entityMap[entityId].matchesFilter(_filter)); + final entity = _entityMap[entityId]; _selectEntity(entity); }, */ @@ -259,8 +264,8 @@ class _EntityDropdownDialogState extends State { Widget _createList() { final matches = widget.entityList - .where( - (entityId) => widget.entityMap[entityId].matchesFilter(_filter)) + .where((entityId) => + widget.entityMap[entityId]?.matchesFilter(_filter) ?? false) .toList(); return ListView.builder( diff --git a/lib/ui/app/forms/client_picker.dart b/lib/ui/app/forms/client_picker.dart index 05b9a1ad4..e42371a8b 100644 --- a/lib/ui/app/forms/client_picker.dart +++ b/lib/ui/app/forms/client_picker.dart @@ -30,6 +30,7 @@ class ClientPicker extends StatelessWidget { labelText: localization.client, entityId: clientId, entityList: memoizedDropdownClientList(clientState.map, clientState.list), + entityMap: clientState.map, validator: (String val) => val.trim().isEmpty ? AppLocalization.of(context).pleaseSelectAClient : null, diff --git a/lib/ui/invoice/edit/invoice_edit_items_desktop.dart b/lib/ui/invoice/edit/invoice_edit_items_desktop.dart index 036eebc79..80f424380 100644 --- a/lib/ui/invoice/edit/invoice_edit_items_desktop.dart +++ b/lib/ui/invoice/edit/invoice_edit_items_desktop.dart @@ -140,7 +140,7 @@ class _InvoiceEditItemsDesktopState extends State { _addBlankRow(); }), autoFlipDirection: true, - direction: AxisDirection.up, + //direction: AxisDirection.up, animationStart: 1, debounceDuration: Duration(seconds: 0), ),