From 130eedc4aee8fefeb5cad7334776e27cef4240ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=A4ggmark?= Date: Tue, 12 Feb 2019 08:26:00 +0100 Subject: [PATCH] Found another input that was tied to a regexp --- .../core/components/RegExpSafeInput/RegExpSafeInput.tsx | 7 +++---- public/app/core/components/TagFilter/TagFilter.tsx | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx b/public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx index 6682bb69dcb..d901a18a770 100644 --- a/public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx +++ b/public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx @@ -1,9 +1,8 @@ -import React, { ChangeEvent, forwardRef } from 'react'; +import React, { forwardRef } from 'react'; const specialChars = ['(', '[', '{', '}', ']', ')', '|', '*', '+', '-', '.', '?', '<', '>', '#', '&', '^', '$']; -export const escapeStringForRegex = (event: ChangeEvent) => { - const value = event.target.value; +export const escapeStringForRegex = (value: string) => { if (!value) { return value; } @@ -42,7 +41,7 @@ export const RegExpSafeInput = forwardRef((props, ref) type="text" className={props.className} value={unEscapeStringFromRegex(props.value)} - onChange={event => props.onChange(escapeStringForRegex(event))} + onChange={event => props.onChange(escapeStringForRegex(event.target.value))} placeholder={props.placeholder ? props.placeholder : null} /> )); diff --git a/public/app/core/components/TagFilter/TagFilter.tsx b/public/app/core/components/TagFilter/TagFilter.tsx index 7e8bc9c6fd2..46c583c58a2 100644 --- a/public/app/core/components/TagFilter/TagFilter.tsx +++ b/public/app/core/components/TagFilter/TagFilter.tsx @@ -5,6 +5,7 @@ import AsyncSelect from '@torkelo/react-select/lib/Async'; import { TagOption } from './TagOption'; import { TagBadge } from './TagBadge'; import { components } from '@torkelo/react-select'; +import { escapeStringForRegex } from '../RegExpSafeInput/RegExpSafeInput'; export interface Props { tags: string[]; @@ -51,7 +52,7 @@ export class TagFilter extends React.Component { value: tags, styles: resetSelectStyles(), filterOption: (option, searchQuery) => { - const regex = RegExp(searchQuery, 'i'); + const regex = RegExp(escapeStringForRegex(searchQuery), 'i'); return regex.test(option.value); }, components: {