aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/frontend/src/main/components
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/frontend/src/main/components')
-rw-r--r--plugins/base/frontend/src/main/components/navigationPaneSearch/navigationPaneSearch.tsx5
-rw-r--r--plugins/base/frontend/src/main/components/search/dokkaFuzzyFilter.tsx16
2 files changed, 21 insertions, 0 deletions
diff --git a/plugins/base/frontend/src/main/components/navigationPaneSearch/navigationPaneSearch.tsx b/plugins/base/frontend/src/main/components/navigationPaneSearch/navigationPaneSearch.tsx
index 47323e73..b11b36f6 100644
--- a/plugins/base/frontend/src/main/components/navigationPaneSearch/navigationPaneSearch.tsx
+++ b/plugins/base/frontend/src/main/components/navigationPaneSearch/navigationPaneSearch.tsx
@@ -26,6 +26,10 @@ export const NavigationPaneSearch = () => {
setFilterValue('')
}
+ const shouldShowPopup = (filterState: string): boolean => {
+ return filterState.trim().length !== 0
+ }
+
useEffect(() => {
const pathToRoot = (window as IWindow).pathToRoot
const url = pathToRoot.endsWith('/') ? `${pathToRoot}scripts/navigation-pane.json` : `${pathToRoot}/scripts/navigation-pane.json`
@@ -60,6 +64,7 @@ export const NavigationPaneSearch = () => {
popupClassName={"navigation-pane-popup"}
onSelect={onChangeSelected}
onFilter={onFilter}
+ shouldShowPopup={shouldShowPopup}
renderOptimization={false}
/>
<span className={"paneSearchInputClearIcon"} onClick={onClearClick}><ClearIcon /></span>
diff --git a/plugins/base/frontend/src/main/components/search/dokkaFuzzyFilter.tsx b/plugins/base/frontend/src/main/components/search/dokkaFuzzyFilter.tsx
index 804cc0bf..6d40336f 100644
--- a/plugins/base/frontend/src/main/components/search/dokkaFuzzyFilter.tsx
+++ b/plugins/base/frontend/src/main/components/search/dokkaFuzzyFilter.tsx
@@ -53,6 +53,22 @@ export class DokkaFuzzyFilterComponent extends Select {
})
}
}
+
+ _showPopup(){
+ if(this.props.shouldShowPopup){
+ if (!this.node) {
+ return;
+ }
+
+ const shownData = this.getListItems(this.filterValue());
+ this.setState({
+ showPopup: this.props.shouldShowPopup(this.filterValue()),
+ shownData
+ })
+ } else {
+ super._showPopup()
+ }
+ }
getListItems(rawFilterString: string, _: Option[]) {
const filterPhrase = (rawFilterString ? rawFilterString : '').trim()