fix: [search query view] edit link is broken (#10128)

* fix: [search query view] edit link is broken

* eslint + mypy

* rever app.py changes

* addressing comments

* use api/v1/query

* fix test
This commit is contained in:
Maxime Beauchemin
2020-06-25 12:20:10 -07:00
committed by GitHub
parent 0017b61f51
commit 1781ebbaa4
8 changed files with 43 additions and 20 deletions

View File

@@ -28,7 +28,6 @@ import ResultSet from './ResultSet';
import ModalTrigger from '../../components/ModalTrigger';
import HighlightedSql from './HighlightedSql';
import { fDuration } from '../../modules/dates';
import { storeQuery } from '../../utils/common';
import QueryStateLabel from './QueryStateLabel';
const propTypes = {
@@ -57,18 +56,10 @@ class QueryTable extends React.PureComponent {
activeQuery: null,
};
}
callback(url) {
openQuery(id) {
const url = `/superset/sqllab?queryId=${id}`;
window.open(url);
}
openQuery(dbId, schema, sql) {
const newQuery = {
dbId,
title: t('Untitled Query'),
schema,
sql,
};
storeQuery(newQuery).then(url => this.callback(url));
}
hideVisualizeModal() {
this.setState({ showVisualizeModal: false });
}
@@ -127,10 +118,10 @@ class QueryTable extends React.PureComponent {
<div style={{ width: '100px' }}>
<button
className="btn btn-link btn-xs"
onClick={this.openQuery.bind(this, q.dbId, q.schema, q.sql)}
onClick={this.openQuery.bind(this, q.queryId)}
>
<i className="fa fa-external-link" />
{t('Open in SQL Editor')}
<i className="fa fa-external-link m-r-3" />
{t('Edit')}
</button>
</div>
);

View File

@@ -40,7 +40,7 @@ const RunQueryActionButton = ({
runQuery = NO_OP,
selectedText,
stopQuery = NO_OP,
sql,
sql = '',
}: Props) => {
const runBtnText = selectedText ? t('Run Selected Query') : t('Run');
const btnStyle = selectedText ? 'warning' : 'primary';

View File

@@ -108,11 +108,19 @@ class TabbedSqlEditors extends React.PureComponent {
};
// Popping a new tab based on the querystring
if (query.id || query.sql || query.savedQueryId || query.datasourceKey) {
if (
query.id ||
query.sql ||
query.savedQueryId ||
query.datasourceKey ||
query.queryId
) {
if (query.id) {
this.props.actions.popStoredQuery(query.id);
} else if (query.savedQueryId) {
this.props.actions.popSavedQuery(query.savedQueryId);
} else if (query.queryId) {
this.props.actions.popQuery(query.queryId);
} else if (query.datasourceKey) {
this.props.actions.popDatasourceQuery(query.datasourceKey, query.sql);
} else if (query.sql) {