diff --git a/package-lock.json b/package-lock.json
index dff1f207..245bc92d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -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",
diff --git a/package.json b/package.json
index 3d017d07..f31ea1c6 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/src/renderer/components/ModalSettings.vue b/src/renderer/components/ModalSettings.vue
index e6fc253c..68cec433 100644
--- a/src/renderer/components/ModalSettings.vue
+++ b/src/renderer/components/ModalSettings.vue
@@ -86,7 +86,7 @@
/>
+
@@ -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;
diff --git a/src/renderer/components/WorkspaceTabQuery.vue b/src/renderer/components/WorkspaceTabQuery.vue
index 1917c72c..a0e39ce9 100644
--- a/src/renderer/components/WorkspaceTabQuery.vue
+++ b/src/renderer/components/WorkspaceTabQuery.vue
@@ -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();
diff --git a/src/renderer/i18n/en-US.ts b/src/renderer/i18n/en-US.ts
index 2136cc1d..be51482d 100644
--- a/src/renderer/i18n/en-US.ts
+++ b/src/renderer/i18n/en-US.ts
@@ -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',
diff --git a/src/renderer/stores/settings.ts b/src/renderer/stores/settings.ts
index 1d509856..cb1d551a 100644
--- a/src/renderer/stores/settings.ts
+++ b/src/renderer/stores/settings.ts
@@ -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);