Skip to content

Commit

Permalink
chore(Queries): add query suggestion config [YTFRONT-4612]
Browse files Browse the repository at this point in the history
  • Loading branch information
SimbiozizV committed Feb 7, 2025
1 parent 066de49 commit d2927d6
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 3 deletions.
1 change: 1 addition & 0 deletions packages/ui/src/shared/constants/settings-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ interface QueryTrackerSettings {
'global::queryTracker::queriesListSidebarVisibilityMode': boolean;
'global::queryTracker::history::Columns': string[];
'global::queryTracker::useNewGraphView': boolean;
'global::queryTracker::suggestions': boolean;
}

interface ChytSettings {
Expand Down
1 change: 1 addition & 0 deletions packages/ui/src/shared/yt-types.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ export interface ConfigData {
allowUserColumnPresets?: boolean;
odinPageEnabled: boolean;
allowTabletErrorsAPI: boolean;
querySuggestions?: boolean;
}

export type PipelineParams = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import infoIcon from '../../assets/img/svg/info-icon.svg';
import LogoGitlabIcon from '@gravity-ui/icons/svgs/logo-gitlab.svg';
import {useClusterFromLocation} from '../../hooks/use-cluster';
import {docsUrl} from '../../config/index';
import {uiSettings} from '../../config/ui-settings';
import {getConfigData, uiSettings} from '../../config/ui-settings';

import ypath from '../../common/thor/ypath';

Expand Down Expand Up @@ -95,6 +95,7 @@ function useSettings(cluster: string, isAdmin: boolean): Array<SettingsPage> {
const vcsConfig = useSelector(selectVcsConfig);
const isVcsVisible = useSelector(selectIsVcsVisible);
const defaultUserACO = useSelector(getDefaultQueryACO);
const hasQuerySuggestions = getConfigData().querySuggestions;

return compact_([
makePage('General', generalIcon, [
Expand Down Expand Up @@ -571,6 +572,19 @@ function useSettings(cluster: string, isAdmin: boolean): Array<SettingsPage> {
oneLine
/>,
),
...(hasQuerySuggestions
? [
makeItem(
'Use query suggestions',
'top',
<BooleanSettingItem
settingKey="global::queryTracker::suggestions"
description="Enable query assistant suggestions"
oneLine
/>,
),
]
: []),
]),
),

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
selectQuerySuggestionsContextId,
} from '../module/querySuggestions/selectors';
import {AcceptedTelemetryData} from '../../../../shared/suggestApi';
import {getQuerySuggestionsEnabled} from '../../../store/selectors/settings/settings-ts';
import {getQuerySuggestionsEnabled} from '../../../store/selectors/settings/settings-queries';

const debouncedGetSuggestions = debounce_(getQuerySuggestions, 200);
const store = getWindowStore();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
import {sendQuerySuggestionsTelemetry} from './api';
import {useDispatch, useSelector} from 'react-redux';
import {DiscardedTelemetryData, QuerySuggestTelemetryData} from '../../../../shared/suggestApi';
import {getQuerySuggestionsEnabled} from '../../../store/selectors/settings/settings-ts';
import {getQuerySuggestionsEnabled} from '../../../store/selectors/settings/settings-queries';
import {setPrevAction} from '../module/querySuggestions/querySuggestionsSlice';

export const useMonacoQuerySuggestions = (editor?: monaco.editor.IStandaloneCodeEditor) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import {createSelector} from 'reselect';
import {getSettingsData} from './settings-base';
import {getConfigData} from '../../../config/ui-settings';

export const getQuerySuggestionsEnabled = createSelector(getSettingsData, (data) => {
return getConfigData().querySuggestions && (data['global::queryTracker::suggestions'] || false);
});

0 comments on commit d2927d6

Please sign in to comment.