diff --git a/public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx b/public/app/core/components/FilterInput/FilterInput.tsx similarity index 59% rename from public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx rename to public/app/core/components/FilterInput/FilterInput.tsx index d901a18a770..b69f7d9651d 100644 --- a/public/app/core/components/RegExpSafeInput/RegExpSafeInput.tsx +++ b/public/app/core/components/FilterInput/FilterInput.tsx @@ -31,17 +31,21 @@ export const unEscapeStringFromRegex = (value: string) => { export interface Props { value: string | undefined; placeholder?: string; - className?: string; + labelClassName?: string; + inputClassName?: string; onChange: (value: string) => void; } -export const RegExpSafeInput = forwardRef((props, ref) => ( - props.onChange(escapeStringForRegex(event.target.value))} - placeholder={props.placeholder ? props.placeholder : null} - /> +export const FilterInput = forwardRef((props, ref) => ( + )); diff --git a/public/app/core/components/OrgActionBar/OrgActionBar.tsx b/public/app/core/components/OrgActionBar/OrgActionBar.tsx index 9bf1eacc515..f83d5c957f7 100644 --- a/public/app/core/components/OrgActionBar/OrgActionBar.tsx +++ b/public/app/core/components/OrgActionBar/OrgActionBar.tsx @@ -1,6 +1,6 @@ import React, { PureComponent } from 'react'; import LayoutSelector, { LayoutMode } from '../LayoutSelector/LayoutSelector'; -import { RegExpSafeInput } from '../RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from '../FilterInput/FilterInput'; export interface Props { searchQuery: string; @@ -23,15 +23,13 @@ export default class OrgActionBar extends PureComponent { return (
- + onSetLayoutMode(mode)} />
diff --git a/public/app/core/components/TagFilter/TagFilter.tsx b/public/app/core/components/TagFilter/TagFilter.tsx index 46c583c58a2..967792a9f7b 100644 --- a/public/app/core/components/TagFilter/TagFilter.tsx +++ b/public/app/core/components/TagFilter/TagFilter.tsx @@ -5,7 +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'; +import { escapeStringForRegex } from '../FilterInput/FilterInput'; export interface Props { tags: string[]; diff --git a/public/app/features/alerting/AlertRuleList.tsx b/public/app/features/alerting/AlertRuleList.tsx index fa95afc4de6..d20c977273c 100644 --- a/public/app/features/alerting/AlertRuleList.tsx +++ b/public/app/features/alerting/AlertRuleList.tsx @@ -9,7 +9,7 @@ import { getNavModel } from 'app/core/selectors/navModel'; import { NavModel, StoreState, AlertRule } from 'app/types'; import { getAlertRulesAsync, setSearchQuery, togglePauseAlertRule } from './state/actions'; import { getAlertRuleItems, getSearchQuery } from './state/selectors'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; export interface Props { navModel: NavModel; @@ -94,15 +94,13 @@ export class AlertRuleList extends PureComponent {
- +
diff --git a/public/app/features/api-keys/ApiKeysPage.tsx b/public/app/features/api-keys/ApiKeysPage.tsx index 840436d5b33..621aebf5aa4 100644 --- a/public/app/features/api-keys/ApiKeysPage.tsx +++ b/public/app/features/api-keys/ApiKeysPage.tsx @@ -13,7 +13,7 @@ import config from 'app/core/config'; import appEvents from 'app/core/app_events'; import EmptyListCTA from 'app/core/components/EmptyListCTA/EmptyListCTA'; import { DeleteButton } from '@grafana/ui'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; export interface Props { navModel: NavModel; @@ -187,15 +187,13 @@ export class ApiKeysPage extends PureComponent { <>
- +
diff --git a/public/app/features/dashboard/panel_editor/VisualizationTab.tsx b/public/app/features/dashboard/panel_editor/VisualizationTab.tsx index aa5dd461789..f9d8b3df607 100644 --- a/public/app/features/dashboard/panel_editor/VisualizationTab.tsx +++ b/public/app/features/dashboard/panel_editor/VisualizationTab.tsx @@ -17,7 +17,7 @@ import { FadeIn } from 'app/core/components/Animations/FadeIn'; import { PanelModel } from '../state/PanelModel'; import { DashboardModel } from '../state/DashboardModel'; import { PanelPlugin } from 'app/types/plugins'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; interface Props { panel: PanelModel; @@ -184,16 +184,14 @@ export class VisualizationTab extends PureComponent { if (this.state.isVizPickerOpen) { return ( <> - + elem && elem.focus()} + /> diff --git a/public/app/features/datasources/NewDataSourcePage.tsx b/public/app/features/datasources/NewDataSourcePage.tsx index d9353ea1dde..04722214e87 100644 --- a/public/app/features/datasources/NewDataSourcePage.tsx +++ b/public/app/features/datasources/NewDataSourcePage.tsx @@ -6,7 +6,7 @@ import { NavModel, Plugin, StoreState } from 'app/types'; import { addDataSource, loadDataSourceTypes, setDataSourceTypeSearchQuery } from './state/actions'; import { getNavModel } from 'app/core/selectors/navModel'; import { getDataSourceTypes } from './state/selectors'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; export interface Props { navModel: NavModel; @@ -39,15 +39,13 @@ class NewDataSourcePage extends PureComponent {

Choose data source type

- +
{dataSourceTypes.map((plugin, index) => { diff --git a/public/app/features/teams/TeamList.tsx b/public/app/features/teams/TeamList.tsx index cf51d23bc9f..06d7d4d65a2 100644 --- a/public/app/features/teams/TeamList.tsx +++ b/public/app/features/teams/TeamList.tsx @@ -8,7 +8,7 @@ import { NavModel, Team } from 'app/types'; import { loadTeams, deleteTeam, setSearchQuery } from './state/actions'; import { getSearchQuery, getTeams, getTeamsCount } from './state/selectors'; import { getNavModel } from 'app/core/selectors/navModel'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; export interface Props { navModel: NavModel; @@ -90,15 +90,13 @@ export class TeamList extends PureComponent { <>
- +
diff --git a/public/app/features/teams/TeamMembers.tsx b/public/app/features/teams/TeamMembers.tsx index b1287e7cd57..62a06c5bc7f 100644 --- a/public/app/features/teams/TeamMembers.tsx +++ b/public/app/features/teams/TeamMembers.tsx @@ -7,7 +7,7 @@ import { TagBadge } from 'app/core/components/TagFilter/TagBadge'; import { TeamMember, User } from 'app/types'; import { loadTeamMembers, addTeamMember, removeTeamMember, setSearchMemberQuery } from './state/actions'; import { getSearchMemberQuery, getTeamMembers } from './state/selectors'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; export interface Props { members: TeamMember[]; @@ -90,15 +90,13 @@ export class TeamMembers extends PureComponent {
- +
diff --git a/public/app/features/users/UsersActionBar.tsx b/public/app/features/users/UsersActionBar.tsx index 942c5807774..bfeadba7396 100644 --- a/public/app/features/users/UsersActionBar.tsx +++ b/public/app/features/users/UsersActionBar.tsx @@ -3,7 +3,7 @@ import { connect } from 'react-redux'; import classNames from 'classnames'; import { setUsersSearchQuery } from './state/actions'; import { getInviteesCount, getUsersSearchQuery } from './state/selectors'; -import { RegExpSafeInput } from 'app/core/components/RegExpSafeInput/RegExpSafeInput'; +import { FilterInput } from 'app/core/components/FilterInput/FilterInput'; export interface Props { searchQuery: string; @@ -44,15 +44,13 @@ export class UsersActionBar extends PureComponent { return (
- + {pendingInvitesCount > 0 && (