You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by gi...@apache.org on 2019/08/05 21:12:25 UTC
[incubator-druid] branch master updated: Web-Console: change go to
sql button to more button (#8227)
This is an automated email from the ASF dual-hosted git repository.
gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push:
new 5d0805d Web-Console: change go to sql button to more button (#8227)
5d0805d is described below
commit 5d0805dd48890b2a22148ab009d9bdfbf92416d1
Author: mcbrewster <37...@users.noreply.github.com>
AuthorDate: Mon Aug 5 14:12:16 2019 -0700
Web-Console: change go to sql button to more button (#8227)
* change go to sql button
* rename to See in SQL view
* update snapshots
---
.../__snapshots__/datasource-view.spec.tsx.snap | 42 +++++++++++++++--
.../src/views/datasource-view/datasource-view.tsx | 45 ++++++++++++++----
.../__snapshots__/segments-view.spec.tsx.snap | 43 ++++++++++++++---
.../src/views/segments-view/segments-view.tsx | 55 ++++++++++++++++------
.../__snapshots__/servers-view.spec.tsx.snap | 42 +++++++++++++++--
.../src/views/servers-view/servers-view.tsx | 44 +++++++++++++----
.../__snapshots__/tasks-view.spec.tsx.snap | 42 +++++++++++++++--
web-console/src/views/task-view/tasks-view.tsx | 34 +++++++++----
8 files changed, 286 insertions(+), 61 deletions(-)
diff --git a/web-console/src/views/datasource-view/__snapshots__/datasource-view.spec.tsx.snap b/web-console/src/views/datasource-view/__snapshots__/datasource-view.spec.tsx.snap
index 9162516..0e4bc80 100755
--- a/web-console/src/views/datasource-view/__snapshots__/datasource-view.spec.tsx.snap
+++ b/web-console/src/views/datasource-view/__snapshots__/datasource-view.spec.tsx.snap
@@ -11,11 +11,43 @@ exports[`data source view matches snapshot 1`] = `
localStorageKey="datasources-refresh-rate"
onRefresh={[Function]}
/>
- <Blueprint3.Button
- icon="application"
- onClick={[Function]}
- text="Go to SQL"
- />
+ <Blueprint3.Popover
+ boundary="scrollParent"
+ captureDismiss={false}
+ content={
+ <Blueprint3.Menu>
+ <Blueprint3.MenuItem
+ disabled={false}
+ icon="application"
+ multiline={false}
+ onClick={[Function]}
+ popoverProps={Object {}}
+ shouldDismissPopover={true}
+ text="See in SQL view"
+ />
+ </Blueprint3.Menu>
+ }
+ defaultIsOpen={false}
+ disabled={false}
+ fill={false}
+ hasBackdrop={false}
+ hoverCloseDelay={300}
+ hoverOpenDelay={150}
+ inheritDarkTheme={true}
+ interactionKind="click"
+ minimal={false}
+ modifiers={Object {}}
+ openOnTargetFocus={true}
+ position="bottom-left"
+ targetTagName="span"
+ transitionDuration={300}
+ usePortal={true}
+ wrapperTagName="span"
+ >
+ <Blueprint3.Button
+ icon="more"
+ />
+ </Blueprint3.Popover>
<Blueprint3.Switch
checked={false}
label="Show segment timeline"
diff --git a/web-console/src/views/datasource-view/datasource-view.tsx b/web-console/src/views/datasource-view/datasource-view.tsx
index 75961a2..c75f5cd 100644
--- a/web-console/src/views/datasource-view/datasource-view.tsx
+++ b/web-console/src/views/datasource-view/datasource-view.tsx
@@ -16,7 +16,17 @@
* limitations under the License.
*/
-import { Button, FormGroup, InputGroup, Intent, Switch } from '@blueprintjs/core';
+import {
+ Button,
+ FormGroup,
+ InputGroup,
+ Intent,
+ Menu,
+ MenuItem,
+ Popover,
+ Position,
+ Switch,
+} from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import axios from 'axios';
import classNames from 'classnames';
@@ -448,6 +458,29 @@ GROUP BY 1`;
);
}
+ renderBulkDatasourceActions() {
+ const { goToQuery, noSqlMode } = this.props;
+ const bulkDatasourceActionsMenu = (
+ <Menu>
+ {!noSqlMode && (
+ <MenuItem
+ icon={IconNames.APPLICATION}
+ text="See in SQL view"
+ onClick={() => goToQuery(DatasourcesView.DATASOURCE_SQL)}
+ />
+ )}
+ </Menu>
+ );
+
+ return (
+ <>
+ <Popover content={bulkDatasourceActionsMenu} position={Position.BOTTOM_LEFT}>
+ <Button icon={IconNames.MORE} />
+ </Popover>
+ </>
+ );
+ }
+
private saveRules = async (datasource: string, rules: any[], comment: string) => {
try {
await axios.post(`/druid/coordinator/v1/rules/${datasource}`, rules, {
@@ -901,7 +934,7 @@ GROUP BY 1`;
}
render(): JSX.Element {
- const { goToQuery, noSqlMode } = this.props;
+ const { noSqlMode } = this.props;
const { showDisabled, hiddenColumns, showChart, chartHeight, chartWidth } = this.state;
return (
@@ -913,13 +946,7 @@ GROUP BY 1`;
}}
localStorageKey={LocalStorageKeys.DATASOURCES_REFRESH_RATE}
/>
- {!noSqlMode && (
- <Button
- icon={IconNames.APPLICATION}
- text="Go to SQL"
- onClick={() => goToQuery(DatasourcesView.DATASOURCE_SQL)}
- />
- )}
+ {this.renderBulkDatasourceActions()}
<Switch
checked={showChart}
label="Show segment timeline"
diff --git a/web-console/src/views/segments-view/__snapshots__/segments-view.spec.tsx.snap b/web-console/src/views/segments-view/__snapshots__/segments-view.spec.tsx.snap
index 189a921..077e7dd 100755
--- a/web-console/src/views/segments-view/__snapshots__/segments-view.spec.tsx.snap
+++ b/web-console/src/views/segments-view/__snapshots__/segments-view.spec.tsx.snap
@@ -12,12 +12,43 @@ exports[`segments-view matches snapshot 1`] = `
localStorageKey="segments-refresh-rate"
onRefresh={[Function]}
/>
- <Blueprint3.Button
- disabled={true}
- icon="application"
- onClick={[Function]}
- text="Go to SQL"
- />
+ <Blueprint3.Popover
+ boundary="scrollParent"
+ captureDismiss={false}
+ content={
+ <Blueprint3.Menu>
+ <Blueprint3.MenuItem
+ disabled={true}
+ icon="application"
+ multiline={false}
+ onClick={[Function]}
+ popoverProps={Object {}}
+ shouldDismissPopover={true}
+ text="See in SQL view"
+ />
+ </Blueprint3.Menu>
+ }
+ defaultIsOpen={false}
+ disabled={false}
+ fill={false}
+ hasBackdrop={false}
+ hoverCloseDelay={300}
+ hoverOpenDelay={150}
+ inheritDarkTheme={true}
+ interactionKind="click"
+ minimal={false}
+ modifiers={Object {}}
+ openOnTargetFocus={true}
+ position="bottom-left"
+ targetTagName="span"
+ transitionDuration={300}
+ usePortal={true}
+ wrapperTagName="span"
+ >
+ <Blueprint3.Button
+ icon="more"
+ />
+ </Blueprint3.Popover>
<Component>
Group by
</Component>
diff --git a/web-console/src/views/segments-view/segments-view.tsx b/web-console/src/views/segments-view/segments-view.tsx
index 18583ff..6e10b68 100644
--- a/web-console/src/views/segments-view/segments-view.tsx
+++ b/web-console/src/views/segments-view/segments-view.tsx
@@ -16,7 +16,16 @@
* limitations under the License.
*/
-import { Button, ButtonGroup, Intent, Label } from '@blueprintjs/core';
+import {
+ Button,
+ ButtonGroup,
+ Intent,
+ Label,
+ Menu,
+ MenuItem,
+ Popover,
+ Position,
+} from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import axios from 'axios';
import React from 'react';
@@ -607,6 +616,35 @@ export class SegmentsView extends React.PureComponent<SegmentsViewProps, Segment
);
}
+ renderBulkSegmentsActions() {
+ const { goToQuery, noSqlMode } = this.props;
+ const lastSegmentsQuery = this.segmentsSqlQueryManager.getLastIntermediateQuery();
+
+ const bulkSegmentsActionsMenu = (
+ <Menu>
+ {!noSqlMode && (
+ <MenuItem
+ icon={IconNames.APPLICATION}
+ text="See in SQL view"
+ disabled={!lastSegmentsQuery}
+ onClick={() => {
+ if (!lastSegmentsQuery) return;
+ goToQuery(lastSegmentsQuery);
+ }}
+ />
+ )}
+ </Menu>
+ );
+
+ return (
+ <>
+ <Popover content={bulkSegmentsActionsMenu} position={Position.BOTTOM_LEFT}>
+ <Button icon={IconNames.MORE} />
+ </Popover>
+ </>
+ );
+ }
+
render(): JSX.Element {
const {
segmentTableActionDialogId,
@@ -614,9 +652,8 @@ export class SegmentsView extends React.PureComponent<SegmentsViewProps, Segment
actions,
hiddenColumns,
} = this.state;
- const { goToQuery, noSqlMode } = this.props;
+ const { noSqlMode } = this.props;
const { groupByInterval } = this.state;
- const lastSegmentsQuery = this.segmentsSqlQueryManager.getLastIntermediateQuery();
return (
<>
@@ -630,17 +667,7 @@ export class SegmentsView extends React.PureComponent<SegmentsViewProps, Segment
}
localStorageKey={LocalStorageKeys.SEGMENTS_REFRESH_RATE}
/>
- {!noSqlMode && (
- <Button
- icon={IconNames.APPLICATION}
- text="Go to SQL"
- disabled={!lastSegmentsQuery}
- onClick={() => {
- if (!lastSegmentsQuery) return;
- goToQuery(lastSegmentsQuery);
- }}
- />
- )}
+ {this.renderBulkSegmentsActions()}
<Label>Group by</Label>
<ButtonGroup>
<Button
diff --git a/web-console/src/views/servers-view/__snapshots__/servers-view.spec.tsx.snap b/web-console/src/views/servers-view/__snapshots__/servers-view.spec.tsx.snap
index 315424a..c64a85e 100755
--- a/web-console/src/views/servers-view/__snapshots__/servers-view.spec.tsx.snap
+++ b/web-console/src/views/servers-view/__snapshots__/servers-view.spec.tsx.snap
@@ -34,11 +34,43 @@ exports[`servers view action servers view 1`] = `
localStorageKey="servers-refresh-rate"
onRefresh={[Function]}
/>
- <Blueprint3.Button
- icon="application"
- onClick={[Function]}
- text="Go to SQL"
- />
+ <Blueprint3.Popover
+ boundary="scrollParent"
+ captureDismiss={false}
+ content={
+ <Blueprint3.Menu>
+ <Blueprint3.MenuItem
+ disabled={false}
+ icon="application"
+ multiline={false}
+ onClick={[Function]}
+ popoverProps={Object {}}
+ shouldDismissPopover={true}
+ text="See in SQL view"
+ />
+ </Blueprint3.Menu>
+ }
+ defaultIsOpen={false}
+ disabled={false}
+ fill={false}
+ hasBackdrop={false}
+ hoverCloseDelay={300}
+ hoverOpenDelay={150}
+ inheritDarkTheme={true}
+ interactionKind="click"
+ minimal={false}
+ modifiers={Object {}}
+ openOnTargetFocus={true}
+ position="bottom-left"
+ targetTagName="span"
+ transitionDuration={300}
+ usePortal={true}
+ wrapperTagName="span"
+ >
+ <Blueprint3.Button
+ icon="more"
+ />
+ </Blueprint3.Popover>
<TableColumnSelector
columns={
Array [
diff --git a/web-console/src/views/servers-view/servers-view.tsx b/web-console/src/views/servers-view/servers-view.tsx
index 516237c..9478bb4 100644
--- a/web-console/src/views/servers-view/servers-view.tsx
+++ b/web-console/src/views/servers-view/servers-view.tsx
@@ -16,7 +16,16 @@
* limitations under the License.
*/
-import { Button, ButtonGroup, Intent, Label } from '@blueprintjs/core';
+import {
+ Button,
+ ButtonGroup,
+ Intent,
+ Label,
+ Menu,
+ MenuItem,
+ Popover,
+ Position,
+} from '@blueprintjs/core';
import { IconNames } from '@blueprintjs/icons';
import axios from 'axios';
import { sum } from 'd3-array';
@@ -610,8 +619,31 @@ ORDER BY "rank" DESC, "server" DESC`;
);
}
- render(): JSX.Element {
+ renderBulkServersActions() {
const { goToQuery, noSqlMode } = this.props;
+
+ const bulkserversActionsMenu = (
+ <Menu>
+ {!noSqlMode && (
+ <MenuItem
+ icon={IconNames.APPLICATION}
+ text="See in SQL view"
+ onClick={() => goToQuery(ServersView.SERVER_SQL)}
+ />
+ )}
+ </Menu>
+ );
+
+ return (
+ <>
+ <Popover content={bulkserversActionsMenu} position={Position.BOTTOM_LEFT}>
+ <Button icon={IconNames.MORE} />
+ </Popover>
+ </>
+ );
+ }
+
+ render(): JSX.Element {
const { groupServersBy, hiddenColumns } = this.state;
return (
@@ -642,13 +674,7 @@ ORDER BY "rank" DESC, "server" DESC`;
onRefresh={auto => this.serverQueryManager.rerunLastQuery(auto)}
localStorageKey={LocalStorageKeys.SERVERS_REFRESH_RATE}
/>
- {!noSqlMode && (
- <Button
- icon={IconNames.APPLICATION}
- text="Go to SQL"
- onClick={() => goToQuery(ServersView.SERVER_SQL)}
- />
- )}
+ {this.renderBulkServersActions()}
<TableColumnSelector
columns={serverTableColumns}
onChange={column => this.setState({ hiddenColumns: hiddenColumns.toggle(column) })}
diff --git a/web-console/src/views/task-view/__snapshots__/tasks-view.spec.tsx.snap b/web-console/src/views/task-view/__snapshots__/tasks-view.spec.tsx.snap
index b110350..397bf16 100644
--- a/web-console/src/views/task-view/__snapshots__/tasks-view.spec.tsx.snap
+++ b/web-console/src/views/task-view/__snapshots__/tasks-view.spec.tsx.snap
@@ -367,11 +367,43 @@ exports[`tasks view matches snapshot 1`] = `
localStorageKey="task-refresh-rate"
onRefresh={[Function]}
/>
- <Blueprint3.Button
- icon="application"
- onClick={[Function]}
- text="Go to SQL"
- />
+ <Blueprint3.Popover
+ boundary="scrollParent"
+ captureDismiss={false}
+ content={
+ <Blueprint3.Menu>
+ <Blueprint3.MenuItem
+ disabled={false}
+ icon="application"
+ multiline={false}
+ onClick={[Function]}
+ popoverProps={Object {}}
+ shouldDismissPopover={true}
+ text="See in SQL view"
+ />
+ </Blueprint3.Menu>
+ }
+ defaultIsOpen={false}
+ disabled={false}
+ fill={false}
+ hasBackdrop={false}
+ hoverCloseDelay={300}
+ hoverOpenDelay={150}
+ inheritDarkTheme={true}
+ interactionKind="click"
+ minimal={false}
+ modifiers={Object {}}
+ openOnTargetFocus={true}
+ position="bottom-left"
+ targetTagName="span"
+ transitionDuration={300}
+ usePortal={true}
+ wrapperTagName="span"
+ >
+ <Blueprint3.Button
+ icon="more"
+ />
+ </Blueprint3.Popover>
<Blueprint3.Popover
boundary="scrollParent"
captureDismiss={false}
diff --git a/web-console/src/views/task-view/tasks-view.tsx b/web-console/src/views/task-view/tasks-view.tsx
index f5ed0ea..1a9b5a3 100644
--- a/web-console/src/views/task-view/tasks-view.tsx
+++ b/web-console/src/views/task-view/tasks-view.tsx
@@ -1010,8 +1010,32 @@ ORDER BY "rank" DESC, "created_time" DESC`;
);
}
+ renderBulkTasksActions() {
+ const { goToQuery, noSqlMode } = this.props;
+
+ const bulkTaskActionsMenu = (
+ <Menu>
+ {!noSqlMode && (
+ <MenuItem
+ icon={IconNames.APPLICATION}
+ text="See in SQL view"
+ onClick={() => goToQuery(TasksView.TASK_SQL)}
+ />
+ )}
+ </Menu>
+ );
+
+ return (
+ <>
+ <Popover content={bulkTaskActionsMenu} position={Position.BOTTOM_LEFT}>
+ <Button icon={IconNames.MORE} />
+ </Popover>
+ </>
+ );
+ }
+
render(): JSX.Element {
- const { goToQuery, goToLoadData, noSqlMode } = this.props;
+ const { goToLoadData } = this.props;
const {
groupTasksBy,
supervisorSpecDialogOpen,
@@ -1122,13 +1146,7 @@ ORDER BY "rank" DESC, "created_time" DESC`;
localStorageKey={LocalStorageKeys.TASKS_REFRESH_RATE}
onRefresh={auto => this.taskQueryManager.rerunLastQuery(auto)}
/>
- {!noSqlMode && (
- <Button
- icon={IconNames.APPLICATION}
- text="Go to SQL"
- onClick={() => goToQuery(TasksView.TASK_SQL)}
- />
- )}
+ {this.renderBulkTasksActions()}
<Popover content={submitTaskMenu} position={Position.BOTTOM_LEFT}>
<Button icon={IconNames.PLUS} text="Submit task" />
</Popover>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org