From 39ef77abc5a15324387e144696d9a37068164a28 Mon Sep 17 00:00:00 2001 From: Krist Wongsuphasawat Date: Mon, 17 Sep 2018 11:05:22 -0700 Subject: [PATCH] Remove jquery usage to highlight sql lab menu (#5907) * Remove jquery hack * change filter to find --- superset/assets/src/SqlLab/App.jsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/superset/assets/src/SqlLab/App.jsx b/superset/assets/src/SqlLab/App.jsx index 01f93578d093..36d8ddd1f9d5 100644 --- a/superset/assets/src/SqlLab/App.jsx +++ b/superset/assets/src/SqlLab/App.jsx @@ -3,7 +3,6 @@ import { createStore, compose, applyMiddleware } from 'redux'; import { Provider } from 'react-redux'; import thunkMiddleware from 'redux-thunk'; import { hot } from 'react-hot-loader'; -import $ from 'jquery'; import getInitialState from './getInitialState'; import rootReducer from './reducers'; @@ -32,10 +31,16 @@ const store = createStore( ), ); -// jquery hack to highlight the navbar menu -$('a:contains("SQL Lab")') - .parent() - .addClass('active'); +// Highlight the navbar menu +const menus = document.querySelectorAll('.nav.navbar-nav li.dropdown'); +const sqlLabMenu = Array.prototype.slice.apply(menus) + .find(element => element.innerText.trim() === 'SQL Lab'); +if (sqlLabMenu) { + const classes = sqlLabMenu.getAttribute('class'); + if (classes.indexOf('active') === -1) { + sqlLabMenu.setAttribute('class', `${classes} active`); + } +} const Application = () => (