From 89c065e401d52522c7a62ae8ae2c94a167c81c31 Mon Sep 17 00:00:00 2001
From: Matiss Janis Aboltins <matiss@mja.lv>
Date: Sun, 23 Apr 2023 17:31:07 +0100
Subject: [PATCH] :bug: (autocomplete) fix multi-select (#947)

---
 .../src/components/autocomplete/Autocomplete.js      | 12 ++++++++----
 upcoming-release-notes/947.md                        |  6 ++++++
 2 files changed, 14 insertions(+), 4 deletions(-)
 create mode 100644 upcoming-release-notes/947.md

diff --git a/packages/desktop-client/src/components/autocomplete/Autocomplete.js b/packages/desktop-client/src/components/autocomplete/Autocomplete.js
index 1e205ab90..18e791215 100644
--- a/packages/desktop-client/src/components/autocomplete/Autocomplete.js
+++ b/packages/desktop-client/src/components/autocomplete/Autocomplete.js
@@ -126,6 +126,7 @@ function SingleAutocomplete({
   onSelect,
   tableBehavior,
   value: initialValue,
+  isMulti = false,
 }) {
   const [selectedItem, setSelectedItem] = useState(() =>
     findItem(strict, suggestions, initialValue),
@@ -174,7 +175,12 @@ function SingleAutocomplete({
       onSelect={(item, { inputValue }) => {
         setSelectedItem(item);
         setHighlightedIndex(null);
-        setIsOpen(false);
+
+        if (isMulti) {
+          setValue('');
+        } else {
+          setIsOpen(false);
+        }
 
         if (onSelect) {
           // I AM NOT PROUD OF THIS OK??
@@ -267,9 +273,6 @@ function SingleAutocomplete({
         ) {
           setHighlightedIndex(changes.highlightedIndex);
         }
-        if ('isOpen' in changes) {
-          setIsOpen(embedded ? true : changes.isOpen);
-        }
         if ('selectedItem' in changes) {
           setSelectedItem(changes.selectedItem);
         }
@@ -506,6 +509,7 @@ export function MultiAutocomplete({
   return (
     <Autocomplete
       {...props}
+      isMulti
       value={null}
       suggestions={suggestions.filter(
         item => !selectedItems.includes(getItemId(item)),
diff --git a/upcoming-release-notes/947.md b/upcoming-release-notes/947.md
new file mode 100644
index 000000000..3dc8c5410
--- /dev/null
+++ b/upcoming-release-notes/947.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [MatissJanis]
+---
+
+Autocomplete: fix multi-autocomplete filtering UX
-- 
GitLab