diff --git a/frontend/src/Editor/Editor.jsx b/frontend/src/Editor/Editor.jsx index 949ce9558b..2417ef3cce 100644 --- a/frontend/src/Editor/Editor.jsx +++ b/frontend/src/Editor/Editor.jsx @@ -28,6 +28,7 @@ import { Confirm } from './Viewer/Confirm'; import ReactTooltip from 'react-tooltip'; import { Resizable } from 're-resizable'; import { WidgetManager } from './WidgetManager'; +import Fuse from 'fuse.js'; class Editor extends React.Component { constructor(props) { @@ -72,6 +73,7 @@ class Editor extends React.Component { urlparams: {}, }, }, + dataQueriesDefaultText: 'You haven\'t created queries yet.' }; } @@ -399,6 +401,19 @@ class Editor extends React.Component { this.setState({ selectedComponent: { id, component } }); }; + filterQueries = (value) => { + if(value) { + const fuse = new Fuse(this.state.dataQueries, { keys: ['name'] }); + const results = fuse.search(value); + this.setState({ + dataQueries: results.map((result) => result.item), + dataQueriesDefaultText: results.length || 'No Queries found.' + }) + } else { + this.fetchDataQueries(); + } + } + render() { const { currentSidebarTab, @@ -423,6 +438,7 @@ class Editor extends React.Component { currentLayout, deviceWindowWidth, scaleValue, + dataQueriesDefaultText } = this.state; const appLink = `/applications/${appId}`; @@ -727,6 +743,19 @@ class Editor extends React.Component { +