diff --git a/web-console/src/components/sql-control.scss b/web-console/src/components/sql-control.scss index f8ae7951382c..468e91a33108 100644 --- a/web-console/src/components/sql-control.scss +++ b/web-console/src/components/sql-control.scss @@ -37,9 +37,21 @@ } -.auto-complete-checkbox { - margin:10px; +.sql-control-popover { + padding:10px; min-width: 120px; + + .bp3-form-group { + margin-bottom: 0; + } + + button { + span { + position: relative; + left: -7px; + } + padding-right: 35px; + } } .ace_tooltip { diff --git a/web-console/src/components/sql-control.tsx b/web-console/src/components/sql-control.tsx index 033944bd9a26..0dd8adecc561 100644 --- a/web-console/src/components/sql-control.tsx +++ b/web-console/src/components/sql-control.tsx @@ -16,7 +16,7 @@ * limitations under the License. */ -import { Button, Checkbox, Classes, Intent, Popover, Position } from "@blueprintjs/core"; +import { Button, Checkbox, Classes, FormGroup, Intent, Menu, Popover, Position } from "@blueprintjs/core"; import { IconNames } from "@blueprintjs/icons"; import axios from "axios"; import * as ace from 'brace'; @@ -39,6 +39,7 @@ const langTools = ace.acequire('ace/ext/language_tools'); export interface SqlControlProps extends React.Props { initSql: string | null; onRun: (query: string) => void; + onExplain: (query: string) => void; } export interface SqlControlState { @@ -165,19 +166,28 @@ export class SqlControl extends React.Component - this.setState({autoCompleteOn: !autoCompleteOn})} - /> - ; + const SqlControlPopover = + - -