Alerting: Use advanced options when query params are not transformable (#94588)

* Use advanced options when query params are not transformable

* Update public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/QueryAndExpressionsStep.tsx

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
This commit is contained in:
Sonia Aguilar 2024-10-14 10:03:58 +02:00 committed by GitHub
parent 235f7db967
commit fb5fb76ad1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -34,6 +34,7 @@ import { useDispatch } from 'app/types';
import { AlertDataQuery, AlertQuery } from 'app/types/unified-alerting-dto'; import { AlertDataQuery, AlertQuery } from 'app/types/unified-alerting-dto';
import { useRulesSourcesWithRuler } from '../../../hooks/useRuleSourcesWithRuler'; import { useRulesSourcesWithRuler } from '../../../hooks/useRuleSourcesWithRuler';
import { useURLSearchParams } from '../../../hooks/useURLSearchParams';
import { fetchAllPromBuildInfoAction } from '../../../state/actions'; import { fetchAllPromBuildInfoAction } from '../../../state/actions';
import { RuleFormType, RuleFormValues } from '../../../types/rule-form'; import { RuleFormType, RuleFormValues } from '../../../types/rule-form';
import { getDefaultOrFirstCompatibleDataSource } from '../../../utils/datasource'; import { getDefaultOrFirstCompatibleDataSource } from '../../../utils/datasource';
@ -136,7 +137,9 @@ export const QueryAndExpressionsStep = ({ editingExistingRule, onDataChange }: P
} = useFormContext<RuleFormValues>(); } = useFormContext<RuleFormValues>();
const { queryPreviewData, runQueries, cancelQueries, isPreviewLoading, clearPreviewData } = useAlertQueryRunner(); const { queryPreviewData, runQueries, cancelQueries, isPreviewLoading, clearPreviewData } = useAlertQueryRunner();
const [queryParams] = useURLSearchParams();
const isSwitchModeEnabled = config.featureToggles.alertingQueryAndExpressionsStepMode ?? false; const isSwitchModeEnabled = config.featureToggles.alertingQueryAndExpressionsStepMode ?? false;
const isNewFromQueryParams = queryParams.has('defaults') && !editingExistingRule;
const initialState = { const initialState = {
queries: getValues('queries'), queries: getValues('queries'),
@ -165,8 +168,12 @@ export const QueryAndExpressionsStep = ({ editingExistingRule, onDataChange }: P
const isGrafanaAlertingType = isGrafanaAlertingRuleByType(type); const isGrafanaAlertingType = isGrafanaAlertingRuleByType(type);
const isRecordingRuleType = isCloudRecordingRuleByType(type); const isRecordingRuleType = isCloudRecordingRuleByType(type);
const isCloudAlertRuleType = isCloudAlertingRuleByType(type); const isCloudAlertRuleType = isCloudAlertingRuleByType(type);
const queryParamsAreTransformable = areQueriesTransformableToSimpleCondition(dataQueries, expressionQueries);
const isAdvancedMode = editorSettings?.simplifiedQueryEditor !== true || !isGrafanaAlertingType; const isAdvancedMode =
Boolean(editorSettings?.simplifiedQueryEditor) === false ||
!isGrafanaAlertingType ||
(isNewFromQueryParams && !queryParamsAreTransformable);
const [showResetModeModal, setShowResetModal] = useState(false); const [showResetModeModal, setShowResetModal] = useState(false);