Files
grafana/public/app/plugins/datasource/cloudwatch/components/VariableQueryEditor/VariableTextField.tsx
Josh Hunt 3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

29 lines
775 B
TypeScript

import React, { FC, useState } from 'react';
import { InlineField, Input } from '@grafana/ui';
const LABEL_WIDTH = 20;
interface VariableTextFieldProps {
onBlur: (value: string) => void;
placeholder: string;
value: string;
label: string;
tooltip?: string;
}
export const VariableTextField: FC<VariableTextFieldProps> = ({ label, onBlur, placeholder, value, tooltip }) => {
const [localValue, setLocalValue] = useState(value);
return (
<InlineField label={label} labelWidth={LABEL_WIDTH} tooltip={tooltip} grow>
<Input
aria-label={label}
placeholder={placeholder}
value={localValue}
onChange={(e) => setLocalValue(e.currentTarget.value)}
onBlur={() => onBlur(localValue)}
/>
</InlineField>
);
};