You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by er...@apache.org on 2021/12/20 23:55:20 UTC

[superset] branch master updated: feat: Persist SQL Lab autocomplete setting across tabs and visits (#17708)

This is an automated email from the ASF dual-hosted git repository.

erikrit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 5b0aa27  feat: Persist SQL Lab autocomplete setting across tabs and visits (#17708)
5b0aa27 is described below

commit 5b0aa27f2bb3e9570241500132b9e09f9dd1f5a3
Author: Erik Ritter <er...@airbnb.com>
AuthorDate: Mon Dec 20 15:53:48 2021 -0800

    feat: Persist SQL Lab autocomplete setting across tabs and visits (#17708)
---
 .../src/SqlLab/components/SqlEditor/index.jsx      | 22 ++++++++++++++++++----
 superset-frontend/src/utils/localStorageHelpers.ts |  2 ++
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/superset-frontend/src/SqlLab/components/SqlEditor/index.jsx b/superset-frontend/src/SqlLab/components/SqlEditor/index.jsx
index 6197256..e06d898 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditor/index.jsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditor/index.jsx
@@ -63,6 +63,11 @@ import {
   SQL_EDITOR_GUTTER_MARGIN,
   SQL_TOOLBAR_HEIGHT,
 } from 'src/SqlLab/constants';
+import {
+  getItem,
+  LocalStorageKeys,
+  setItem,
+} from 'src/utils/localStorageHelpers';
 import { FeatureFlag, isFeatureEnabled } from 'src/featureFlags';
 import TemplateParamsEditor from '../TemplateParamsEditor';
 import ConnectedSouthPane from '../SouthPane/state';
@@ -171,7 +176,10 @@ class SqlEditor extends React.PureComponent {
       northPercent: props.queryEditor.northPercent || INITIAL_NORTH_PERCENT,
       southPercent: props.queryEditor.southPercent || INITIAL_SOUTH_PERCENT,
       sql: props.queryEditor.sql,
-      autocompleteEnabled: true,
+      autocompleteEnabled: getItem(
+        LocalStorageKeys.sqllab__is_autocomplete_enabled,
+        true,
+      ),
       showCreateAsModal: false,
       createAs: '',
     };
@@ -365,9 +373,15 @@ class SqlEditor extends React.PureComponent {
   }
 
   handleToggleAutocompleteEnabled = () => {
-    this.setState(prevState => ({
-      autocompleteEnabled: !prevState.autocompleteEnabled,
-    }));
+    this.setState(prevState => {
+      setItem(
+        LocalStorageKeys.sqllab__is_autocomplete_enabled,
+        !prevState.autocompleteEnabled,
+      );
+      return {
+        autocompleteEnabled: !prevState.autocompleteEnabled,
+      };
+    });
   };
 
   handleWindowResize() {
diff --git a/superset-frontend/src/utils/localStorageHelpers.ts b/superset-frontend/src/utils/localStorageHelpers.ts
index 75c1822..b530f27 100644
--- a/superset-frontend/src/utils/localStorageHelpers.ts
+++ b/superset-frontend/src/utils/localStorageHelpers.ts
@@ -48,6 +48,7 @@ export enum LocalStorageKeys {
    * Example:
    * sqllab__is_autocomplete_enabled
    */
+  sqllab__is_autocomplete_enabled = 'sqllab__is_autocomplete_enabled',
 }
 
 export type LocalStorageValues = {
@@ -60,6 +61,7 @@ export type LocalStorageValues = {
   homepage_dashboard_filter: TableTabTypes;
   homepage_collapse_state: string[];
   homepage_activity_filter: SetTabType | null;
+  sqllab__is_autocomplete_enabled: boolean;
 };
 
 export function getItem<K extends LocalStorageKeys>(