From 7db511245485f7937daf373ba00ba3db93fe5c17 Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Mon, 3 Jan 2022 08:30:56 +0200 Subject: [PATCH] remove static, improve multi-select Signed-off-by: Jari Kolehmainen --- .../+namespaces/namespace-select-filter.tsx | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/renderer/components/+namespaces/namespace-select-filter.tsx b/src/renderer/components/+namespaces/namespace-select-filter.tsx index 04b9c91ff7..51a42406d6 100644 --- a/src/renderer/components/+namespaces/namespace-select-filter.tsx +++ b/src/renderer/components/+namespaces/namespace-select-filter.tsx @@ -76,16 +76,16 @@ interface NamespaceSelectFilterDependencies { } @observer -export class NonInjectedNamespaceSelectFilter extends React.Component { - static isMultiSelection = observable.box(false); - static isMenuOpen = observable.box(false); +class NonInjectedNamespaceSelectFilter extends React.Component { + private _isMultiSelection = observable.box(false); + private _isMenuOpen = observable.box(false); /** * Only updated on every open */ private selected = observable.set(); private didToggle = false; - private inputValue: string; + @observable private inputValue: string; constructor(props: NamespaceSelectFilterProps & NamespaceSelectFilterDependencies) { super(props); @@ -96,16 +96,20 @@ export class NonInjectedNamespaceSelectFilter extends React.Component { - if (meta.action === "input-change") this.inputValue = value; - if (meta.action === "menu-close") this.inputValue = ""; + if (meta.action === "input-change") { + this.inputValue = value; + } else if (!this.isMultiSelection && meta.action === "set-value") { + this.inputValue = value; + } else if (meta.action === "menu-close") { + this.inputValue = ""; + } }; private isSelectionKey(e: React.KeyboardEvent): boolean {