From c397a21980db5619863871bc214552563ae1583d Mon Sep 17 00:00:00 2001 From: Matthew Shao Date: Thu, 2 Mar 2017 11:09:13 +0800 Subject: [web] Add mouse support for FilterInput popover. --- web/src/js/components/Header/FilterDocs.jsx | 8 ++++++-- web/src/js/components/Header/FilterInput.jsx | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'web/src/js/components') diff --git a/web/src/js/components/Header/FilterDocs.jsx b/web/src/js/components/Header/FilterDocs.jsx index 49fb5fbc..f07b8e24 100644 --- a/web/src/js/components/Header/FilterDocs.jsx +++ b/web/src/js/components/Header/FilterDocs.jsx @@ -11,7 +11,7 @@ export default class FilterDocs extends Component { constructor(props, context) { super(props, context) - this.state = { doc: FilterDocs.doc } + this.state = { doc: FilterDocs.doc, selectHandler: props.selectHandler} } componentWillMount() { @@ -29,6 +29,10 @@ export default class FilterDocs extends Component { } } + handleClick(e, value){ + this.state.selectHandler(value.split(" ")[0] + " ") + } + render() { const { doc } = this.state return !doc ? ( @@ -37,7 +41,7 @@ export default class FilterDocs extends Component { {doc.commands.map(cmd => ( - + this.handleClick(e, cmd[0])}> diff --git a/web/src/js/components/Header/FilterInput.jsx b/web/src/js/components/Header/FilterInput.jsx index e421f1a4..da2ba7e2 100644 --- a/web/src/js/components/Header/FilterInput.jsx +++ b/web/src/js/components/Header/FilterInput.jsx @@ -21,6 +21,7 @@ export default class FilterInput extends Component { this.onKeyDown = this.onKeyDown.bind(this) this.onMouseEnter = this.onMouseEnter.bind(this) this.onMouseLeave = this.onMouseLeave.bind(this) + this.selectFilter = this.selectFilter.bind(this) } componentWillReceiveProps(nextProps) { @@ -41,7 +42,7 @@ export default class FilterInput extends Component { getDesc() { if (!this.state.value) { - return + return } try { return Filt.parse(this.state.value).desc @@ -85,6 +86,10 @@ export default class FilterInput extends Component { e.stopPropagation() } + selectFilter(cmd) { + this.setState({value: cmd}) + } + blur() { ReactDOM.findDOMNode(this.refs.input).blur() } -- cgit v1.2.3
{cmd[0].replace(' ', '\u00a0')} {cmd[1]}