```js import { PromQLMonacoEditor } from '@fc-components/monaco-editor';
npm install @fc-components/monaco-editor``js
import { PromQLMonacoEditor } from '@fc-components/monaco-editor';
const App = () => {
const [value, setValue] = React.useState
const [enableAutocomplete, setEnableAutocomplete] = React.useState
const [variablesNames, setVariablesNames] = React.useState
const [placeholder, setPlaceholder] = React.useState
const [theme, setTheme] = React.useState<'light' | 'dark'>('light');
const [readOnly, setReadOnly] = React.useState
const [disabled, setDisabled] = React.useState
const editorRef = React.useRef
return (
: '';
return fetch(resource + search, {
method: 'Get',
headers: new Headers({
Authorization: Bearer ${localStorage.getItem('access_token') || ''},
}),
});
}}
value={value}
enableAutocomplete={enableAutocomplete} // Enable completion
durationVariablesCompletion={false} // Disable duration variables completion. eg. $__interval, $__range, $__rate_interval
interpolateString={(query) => {
// Interpolate variables in the query string
return query.replace(/\$__interval/g, '10s');
}}
onEnter={(value) => {
console.log('Enter pressed, current value:', value);
}}
onBlur={(value) => {
console.log('Editor lost focus, current value:', value);
}}
onChange={(value) => {
console.log('Value changed:', value);
setValue(value);
}}
editorDidMount={(editor) => {
editorRef.current = editor;
}}
/>
onClick={() => {
if (editorRef.current) {
const editor = editorRef.current;
editor.trigger('keyboard', 'type', { text: 'Insert Text' });
editor.focus();
}
}}
>
Click to insert text after the cursor
ReactDOM.render(
``