From f22aaa55181db25359126e8b8a62fda326d36bf1 Mon Sep 17 00:00:00 2001 From: Shavonn Brown Date: Mon, 19 Aug 2019 17:35:44 -0400 Subject: [PATCH] Azure Monitor and Log Analytics converted and separated into components (#18259) * Azure Monitor and Log Analytics converted and separated into components * Insights creds converted * remove angular config * fix workspaces and missing sameas key * fix workspace save * set subscriptionId key * editor fields, load workspaces btn * workspace load req fields updated * added tooltip to switch, disable buttons instead of hide * master merge and tests --- .../src/components/Switch/Switch.tsx | 28 +- .../ConfigEditor.test.tsx | 43 ++ .../ConfigEditor.tsx | 306 +++++++++ .../__snapshots__/ConfigEditor.test.tsx.snap | 147 ++++ .../azure_log_analytics_datasource.ts | 13 +- .../components/AnalyticsConfig.test.tsx | 80 +++ .../components/AnalyticsConfig.tsx | 212 ++++++ .../components/AzureCredentialsForm.test.tsx | 53 ++ .../components/AzureCredentialsForm.tsx | 200 ++++++ .../components/InsightsConfig.test.tsx | 84 +++ .../components/InsightsConfig.tsx | 115 ++++ .../components/MonitorConfig.tsx | 132 ++++ .../AnalyticsConfig.test.tsx.snap | 286 ++++++++ .../AzureCredentialsForm.test.tsx.snap | 626 ++++++++++++++++++ .../InsightsConfig.test.tsx.snap | 188 ++++++ .../config_ctrl.ts | 127 ---- .../datasource.ts | 3 +- .../module.ts | 11 - .../module.tsx | 10 + .../partials/config.html | 203 ------ 20 files changed, 2514 insertions(+), 353 deletions(-) create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/ConfigEditor.test.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/ConfigEditor.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/__snapshots__/ConfigEditor.test.tsx.snap create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/AnalyticsConfig.test.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/AnalyticsConfig.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/AzureCredentialsForm.test.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/AzureCredentialsForm.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/InsightsConfig.test.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/InsightsConfig.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MonitorConfig.tsx create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/__snapshots__/AnalyticsConfig.test.tsx.snap create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/__snapshots__/AzureCredentialsForm.test.tsx.snap create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/components/__snapshots__/InsightsConfig.test.tsx.snap delete mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/config_ctrl.ts delete mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/module.ts create mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/module.tsx delete mode 100644 public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/config.html diff --git a/packages/grafana-ui/src/components/Switch/Switch.tsx b/packages/grafana-ui/src/components/Switch/Switch.tsx index e3b54790c96..2573eb9238b 100644 --- a/packages/grafana-ui/src/components/Switch/Switch.tsx +++ b/packages/grafana-ui/src/components/Switch/Switch.tsx @@ -1,5 +1,7 @@ import React, { PureComponent } from 'react'; import uniqueId from 'lodash/uniqueId'; +import { Tooltip } from '../Tooltip/Tooltip'; +import * as PopperJS from 'popper.js'; export interface Props { label: string; @@ -7,6 +9,8 @@ export interface Props { className?: string; labelClass?: string; switchClass?: string; + tooltip?: string; + tooltipPlacement?: PopperJS.Placement; transparent?: boolean; onChange: (event?: React.SyntheticEvent) => void; } @@ -26,7 +30,16 @@ export class Switch extends PureComponent { }; render() { - const { labelClass = '', switchClass = '', label, checked, transparent, className } = this.props; + const { + labelClass = '', + switchClass = '', + label, + checked, + transparent, + className, + tooltip, + tooltipPlacement, + } = this.props; const labelId = this.state.id; const labelClassName = `gf-form-label ${labelClass} ${transparent ? 'gf-form-label--transparent' : ''} pointer`; @@ -35,7 +48,18 @@ export class Switch extends PureComponent { return (