import React, { useState } from 'react'; import { Icon, Input, Tooltip, Collapse, Label, InlineField } from '@grafana/ui'; import { AzureMetricResource } from '../../types'; import { Space } from '../Space'; interface ResourcePickerProps { resource: T; onChange: (resource: T) => void; } const Advanced = ({ resource, onChange }: ResourcePickerProps) => { const [isAdvancedOpen, setIsAdvancedOpen] = useState(!!resource && JSON.stringify(resource).includes('$')); return (
setIsAdvancedOpen(!isAdvancedOpen)} > {typeof resource === 'string' ? ( <> {' '} onChange(event.currentTarget.value)} placeholder="ex: /subscriptions/$subId" /> ) : ( <> onChange({ ...resource, subscription: event.currentTarget.value })} placeholder="aaaaaaaa-bbbb-cccc-dddd-eeeeeeee" /> onChange({ ...resource, resourceGroup: event.currentTarget.value })} placeholder="resource-group" /> onChange({ ...resource, metricNamespace: event.currentTarget.value })} placeholder="Microsoft.Insights/metricNamespaces" /> onChange({ ...resource, resourceName: event.currentTarget.value })} placeholder="name" /> )}
); }; export default Advanced;