mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
remove regions/locations from variable editor
This commit is contained in:
parent
5861d4a6a9
commit
41dc6a8bfb
@ -258,12 +258,10 @@ describe('VariableEditor:', () => {
|
|||||||
await waitFor(() => expect(screen.getByText('Logs')).toBeInTheDocument());
|
await waitFor(() => expect(screen.getByText('Logs')).toBeInTheDocument());
|
||||||
await selectAndRerender('select query type', 'Resource Names', onChange, rerender);
|
await selectAndRerender('select query type', 'Resource Names', onChange, rerender);
|
||||||
await selectAndRerender('select subscription', 'Primary Subscription', onChange, rerender);
|
await selectAndRerender('select subscription', 'Primary Subscription', onChange, rerender);
|
||||||
await selectAndRerender('select region', 'North Europe', onChange, rerender);
|
|
||||||
expect(onChange).toHaveBeenCalledWith(
|
expect(onChange).toHaveBeenCalledWith(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
queryType: AzureQueryType.ResourceNamesQuery,
|
queryType: AzureQueryType.ResourceNamesQuery,
|
||||||
subscription: 'sub',
|
subscription: 'sub',
|
||||||
region: 'northeurope',
|
|
||||||
refId: 'A',
|
refId: 'A',
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
@ -325,21 +323,5 @@ describe('VariableEditor:', () => {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should run the query if requesting regions', async () => {
|
|
||||||
const onChange = jest.fn();
|
|
||||||
const { rerender } = render(<VariableEditor {...defaultProps} onChange={onChange} />);
|
|
||||||
// wait for initial load
|
|
||||||
await waitFor(() => expect(screen.getByText('Logs')).toBeInTheDocument());
|
|
||||||
await selectAndRerender('select query type', 'Regions', onChange, rerender);
|
|
||||||
await selectAndRerender('select subscription', 'Primary Subscription', onChange, rerender);
|
|
||||||
expect(onChange).toHaveBeenCalledWith(
|
|
||||||
expect.objectContaining({
|
|
||||||
queryType: AzureQueryType.LocationsQuery,
|
|
||||||
subscription: 'sub',
|
|
||||||
refId: 'A',
|
|
||||||
})
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -30,7 +30,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
{ label: 'Subscriptions', value: AzureQueryType.SubscriptionsQuery },
|
{ label: 'Subscriptions', value: AzureQueryType.SubscriptionsQuery },
|
||||||
{ label: 'Resource Groups', value: AzureQueryType.ResourceGroupsQuery },
|
{ label: 'Resource Groups', value: AzureQueryType.ResourceGroupsQuery },
|
||||||
{ label: 'Namespaces', value: AzureQueryType.NamespacesQuery },
|
{ label: 'Namespaces', value: AzureQueryType.NamespacesQuery },
|
||||||
{ label: 'Regions', value: AzureQueryType.LocationsQuery },
|
|
||||||
{ label: 'Resource Names', value: AzureQueryType.ResourceNamesQuery },
|
{ label: 'Resource Names', value: AzureQueryType.ResourceNamesQuery },
|
||||||
{ label: 'Metric Names', value: AzureQueryType.MetricNamesQuery },
|
{ label: 'Metric Names', value: AzureQueryType.MetricNamesQuery },
|
||||||
{ label: 'Workspaces', value: AzureQueryType.WorkspacesQuery },
|
{ label: 'Workspaces', value: AzureQueryType.WorkspacesQuery },
|
||||||
@ -51,7 +50,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
const [requireSubscription, setRequireSubscription] = useState(false);
|
const [requireSubscription, setRequireSubscription] = useState(false);
|
||||||
const [hasResourceGroup, setHasResourceGroup] = useState(false);
|
const [hasResourceGroup, setHasResourceGroup] = useState(false);
|
||||||
const [hasNamespace, setHasNamespace] = useState(false);
|
const [hasNamespace, setHasNamespace] = useState(false);
|
||||||
const [hasRegion, setHasRegion] = useState(false);
|
|
||||||
const [requireResourceGroup, setRequireResourceGroup] = useState(false);
|
const [requireResourceGroup, setRequireResourceGroup] = useState(false);
|
||||||
const [requireNamespace, setRequireNamespace] = useState(false);
|
const [requireNamespace, setRequireNamespace] = useState(false);
|
||||||
const [requireResource, setRequireResource] = useState(false);
|
const [requireResource, setRequireResource] = useState(false);
|
||||||
@ -59,7 +57,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
const [resourceGroups, setResourceGroups] = useState<SelectableValue[]>([]);
|
const [resourceGroups, setResourceGroups] = useState<SelectableValue[]>([]);
|
||||||
const [namespaces, setNamespaces] = useState<SelectableValue[]>([]);
|
const [namespaces, setNamespaces] = useState<SelectableValue[]>([]);
|
||||||
const [resources, setResources] = useState<SelectableValue[]>([]);
|
const [resources, setResources] = useState<SelectableValue[]>([]);
|
||||||
const [regions, setRegions] = useState<SelectableValue[]>([]);
|
|
||||||
const [errorMessage, setError] = useLastError();
|
const [errorMessage, setError] = useLastError();
|
||||||
const queryType = typeof query === 'string' ? '' : query.queryType;
|
const queryType = typeof query === 'string' ? '' : query.queryType;
|
||||||
|
|
||||||
@ -91,7 +88,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
setRequireSubscription(true);
|
setRequireSubscription(true);
|
||||||
setHasResourceGroup(true);
|
setHasResourceGroup(true);
|
||||||
setHasNamespace(true);
|
setHasNamespace(true);
|
||||||
setHasRegion(true);
|
|
||||||
break;
|
break;
|
||||||
case AzureQueryType.MetricNamesQuery:
|
case AzureQueryType.MetricNamesQuery:
|
||||||
setRequireSubscription(true);
|
setRequireSubscription(true);
|
||||||
@ -99,9 +95,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
setRequireNamespace(true);
|
setRequireNamespace(true);
|
||||||
setRequireResource(true);
|
setRequireResource(true);
|
||||||
break;
|
break;
|
||||||
case AzureQueryType.LocationsQuery:
|
|
||||||
setRequireSubscription(true);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}, [queryType]);
|
}, [queryType]);
|
||||||
|
|
||||||
@ -142,16 +135,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
}
|
}
|
||||||
}, [datasource, subscription, resourceGroup]);
|
}, [datasource, subscription, resourceGroup]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (subscription) {
|
|
||||||
datasource.azureMonitorDatasource.getLocations([subscription]).then((rgs) => {
|
|
||||||
const regions: SelectableValue[] = [];
|
|
||||||
rgs.forEach((r) => regions.push({ label: r.displayName, value: r.name }));
|
|
||||||
setRegions(regions);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}, [datasource, subscription, resourceGroup]);
|
|
||||||
|
|
||||||
const namespace = (typeof query === 'object' && query.namespace) || '';
|
const namespace = (typeof query === 'object' && query.namespace) || '';
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (subscription) {
|
if (subscription) {
|
||||||
@ -208,13 +191,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const onChangeRegion = (selectableValue: SelectableValue) => {
|
|
||||||
onChange({
|
|
||||||
...query,
|
|
||||||
region: selectableValue.value,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const onChangeResource = (selectableValue: SelectableValue) => {
|
const onChangeResource = (selectableValue: SelectableValue) => {
|
||||||
onChange({
|
onChange({
|
||||||
...query,
|
...query,
|
||||||
@ -320,22 +296,6 @@ const VariableEditor = (props: Props) => {
|
|||||||
/>
|
/>
|
||||||
</InlineField>
|
</InlineField>
|
||||||
)}
|
)}
|
||||||
{hasRegion && (
|
|
||||||
<InlineField
|
|
||||||
label="Select region"
|
|
||||||
labelWidth={20}
|
|
||||||
data-testid={selectors.components.variableEditor.region.input}
|
|
||||||
>
|
|
||||||
<Select
|
|
||||||
aria-label="select region"
|
|
||||||
onChange={onChangeRegion}
|
|
||||||
options={regions.concat(variableOptionGroup)}
|
|
||||||
width={25}
|
|
||||||
value={query.region || null}
|
|
||||||
placeholder="Optional"
|
|
||||||
/>
|
|
||||||
</InlineField>
|
|
||||||
)}
|
|
||||||
{requireResource && (
|
{requireResource && (
|
||||||
<InlineField
|
<InlineField
|
||||||
label="Select resource"
|
label="Select resource"
|
||||||
|
@ -109,17 +109,6 @@ export class VariableSupport extends CustomVariableSupport<DataSource, AzureMoni
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
return { data: [] };
|
return { data: [] };
|
||||||
case AzureQueryType.LocationsQuery:
|
|
||||||
if (queryObj.subscription && this.hasValue(queryObj.subscription)) {
|
|
||||||
const locationMap = await this.datasource.azureMonitorDatasource.getLocations([queryObj.subscription]);
|
|
||||||
const res: Array<{ text: string; value: string }> = [];
|
|
||||||
locationMap.forEach((loc) => {
|
|
||||||
res.push({ text: loc.displayName, value: loc.name });
|
|
||||||
});
|
|
||||||
return {
|
|
||||||
data: res?.length ? [toDataFrame(res)] : [],
|
|
||||||
};
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
request.targets[0] = queryObj;
|
request.targets[0] = queryObj;
|
||||||
const queryResp = await lastValueFrom(this.datasource.query(request));
|
const queryResp = await lastValueFrom(this.datasource.query(request));
|
||||||
|
Loading…
Reference in New Issue
Block a user