feat: option to disable selected query execution, closes #477

This commit is contained in:
Fabio Di Stasio 2022-12-18 15:59:58 +01:00
parent 56a0361ed2
commit 1bd26ceaa6
6 changed files with 41 additions and 12 deletions

14
package-lock.json generated
View File

@ -15,7 +15,7 @@
"@mdi/font": "~7.0.96",
"@turf/helpers": "~6.5.0",
"@vueuse/core": "~8.7.5",
"ace-builds": "~1.8.1",
"ace-builds": "~1.14.0",
"better-sqlite3": "~8.0.0",
"electron-log": "~4.4.1",
"electron-store": "~8.0.1",
@ -3374,9 +3374,9 @@
}
},
"node_modules/ace-builds": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.8.1.tgz",
"integrity": "sha512-wjEQ4khMQYg9FfdEDoOtqdoHwcwFL48H0VB3te5b5A3eqHwxsTw8IX6+xzfisgborIb8dYU+1y9tcmtGFrCPIg=="
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.14.0.tgz",
"integrity": "sha512-3q8LvawomApRCt4cC0OzxVjDsZ609lDbm8l0Xl9uqG06dKEq4RT0YXLUyk7J2SxmqIp5YXzZNw767Dr8GKUruw=="
},
"node_modules/acorn": {
"version": "7.4.1",
@ -18489,9 +18489,9 @@
}
},
"ace-builds": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.8.1.tgz",
"integrity": "sha512-wjEQ4khMQYg9FfdEDoOtqdoHwcwFL48H0VB3te5b5A3eqHwxsTw8IX6+xzfisgborIb8dYU+1y9tcmtGFrCPIg=="
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.14.0.tgz",
"integrity": "sha512-3q8LvawomApRCt4cC0OzxVjDsZ609lDbm8l0Xl9uqG06dKEq4RT0YXLUyk7J2SxmqIp5YXzZNw767Dr8GKUruw=="
},
"acorn": {
"version": "7.4.1",

View File

@ -124,7 +124,7 @@
"@mdi/font": "~7.0.96",
"@turf/helpers": "~6.5.0",
"@vueuse/core": "~8.7.5",
"ace-builds": "~1.8.1",
"ace-builds": "~1.14.0",
"better-sqlite3": "~8.0.0",
"electron-log": "~4.4.1",
"electron-store": "~8.0.1",

View File

@ -86,7 +86,7 @@
/>
</div>
<div class="col-4 col-sm-12 px-2 p-vcentered">
<small class="d-block" style="line-height: 1.1; font-size: 70%;">
<small class="d-block" :style="'line-height: 1.1; font-size: 70%;'">
{{ t('message.missingOrIncompleteTranslation') }}<br>
<a class="text-bold c-hand" @click="openOutside('https://github.com/antares-sql/antares/wiki/Translate-Antares')">{{ t('message.findOutHowToContribute') }}</a>
</small>
@ -196,6 +196,19 @@
</label>
</div>
</div>
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.executeSelectedQuery') }}
</label>
</div>
<div class="col-3 col-sm-12">
<label class="form-switch d-inline-block" @click.prevent="toggleExecuteSelected">
<input type="checkbox" :checked="selectedExecuteSelected">
<i class="form-icon" />
</label>
</div>
</div>
</div>
</form>
</div>
@ -379,6 +392,7 @@ const {
dataTabLimit: pageSize,
autoComplete: selectedAutoComplete,
lineWrap: selectedLineWrap,
executeSelected: selectedExecuteSelected,
notificationsTimeout,
restoreTabs,
disableBlur,
@ -398,6 +412,7 @@ const {
changeDisableScratchpad,
changeAutoComplete,
changeLineWrap,
changeExecuteSelected,
changeApplicationTheme,
changeEditorTheme,
changeEditorFontSize,
@ -550,6 +565,10 @@ const toggleLineWrap = () => {
changeLineWrap(!selectedLineWrap.value);
};
const toggleExecuteSelected = () => {
changeExecuteSelected(!selectedExecuteSelected.value);
};
localLocale.value = selectedLocale.value;
localPageSize.value = pageSize.value as number;
localTimeout.value = notificationsTimeout.value as number;

View File

@ -198,6 +198,7 @@ import WorkspaceTabQueryEmptyState from '@/components/WorkspaceTabQueryEmptyStat
import ModalHistory from '@/components/ModalHistory.vue';
import BaseSelect from '@/components/BaseSelect.vue';
import { ipcRenderer } from 'electron';
import { useSettingsStore } from '@/stores/settings';
const { t } = useI18n();
@ -222,6 +223,7 @@ const { addNotification } = useNotificationsStore();
const workspacesStore = useWorkspacesStore();
const { consoleHeight } = storeToRefs(useConsoleStore());
const { executeSelected } = storeToRefs(useSettingsStore());
const {
getWorkspace,
@ -290,8 +292,10 @@ const runQuery = async (query: string) => {
if (!query || isQuering.value) return;
isQuering.value = true;
const selectedQuery = queryEditor.value.editor.getSelectedText();
if (selectedQuery) query = selectedQuery;
if (executeSelected.value) {
const selectedQuery = queryEditor.value.editor.getSelectedText();
if (selectedQuery) query = selectedQuery;
}
clearTabData();
queryTable.value.resetSort();

View File

@ -332,7 +332,8 @@ export const enUS = {
editFolder: 'Edit folder',
folderName: 'Folder name',
deleteFolder: 'Delete folder',
editConnectionAppearence: 'Edit connection appearence'
editConnectionAppearence: 'Edit connection appearence',
executeSelectedQuery: 'Execute selected query'
},
faker: {
address: 'Address',

View File

@ -22,6 +22,7 @@ export const useSettingsStore = defineStore('settings', {
dataTabLimit: settingsStore.get('data_tab_limit', 1000) as number,
autoComplete: settingsStore.get('auto_complete', true) as boolean,
lineWrap: settingsStore.get('line_wrap', true) as boolean,
executeSelected: settingsStore.get('execute_selected', true) as boolean,
applicationTheme: settingsStore.get('application_theme', defaultAppTheme) as ApplicationTheme,
editorTheme: settingsStore.get('editor_theme', defaultEditorTheme) as string,
editorFontSize: settingsStore.get('editor_font_size', 'medium') as EditorFontSize,
@ -60,6 +61,10 @@ export const useSettingsStore = defineStore('settings', {
this.lineWrap = val;
settingsStore.set('line_wrap', this.lineWrap);
},
changeExecuteSelected (val: boolean) {
this.executeSelected = val;
settingsStore.set('execute_selected', this.executeSelected);
},
changeApplicationTheme (theme: string) {
this.applicationTheme = theme;
settingsStore.set('application_theme', this.applicationTheme);