diff --git a/public/app/plugins/datasource/grafadruid-druid-datasource/ConfigEditor.tsx b/public/app/plugins/datasource/grafadruid-druid-datasource/ConfigEditor.tsx index c1b9c2055dd2..9e101d0b6649 100644 --- a/public/app/plugins/datasource/grafadruid-druid-datasource/ConfigEditor.tsx +++ b/public/app/plugins/datasource/grafadruid-druid-datasource/ConfigEditor.tsx @@ -57,9 +57,9 @@ export class ConfigEditor extends PureComponent { onConnectionOptionsChange = (connectionSettingsOptions: ConnectionSettingsOptions) => { const { options, onOptionsChange } = this.props; - const { settings, secretSettings, secretSettingsFields } = connectionSettingsOptions; + const { settings, secretSettings, secretSettingsFields, jsonData: connectionJsonData } = connectionSettingsOptions; const connectionSettings = this.normalizeData(settings, true, 'connection'); - const jsonData = { ...options.jsonData, ...connectionSettings }; + const jsonData = { ...options.jsonData, ...connectionSettings, ...connectionJsonData }; const connectionSecretSettings = this.normalizeData(secretSettings, true, 'connection'); const secureJsonData = { ...options.secureJsonData, ...connectionSecretSettings }; const connectionSecretSettingsFields = this.normalizeData( @@ -85,6 +85,7 @@ export class ConfigEditor extends PureComponent { settings: this.normalizeData(jsonData, false, 'connection'), secretSettings: this.normalizeData(secureJsonData || {}, false, 'connection'), secretSettingsFields: this.normalizeData(secureJsonFields || {}, false, 'connection') as KeyValue, + jsonData: { keepCookies: (jsonData as ConnectionSettingsOptions['jsonData'])?.keepCookies || [] }, }; }; diff --git a/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/DruidHttpSettings.tsx b/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/DruidHttpSettings.tsx index 4254178f2080..a32d32b4ce30 100644 --- a/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/DruidHttpSettings.tsx +++ b/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/DruidHttpSettings.tsx @@ -1,7 +1,7 @@ import { css } from '@emotion/css'; import React, { ChangeEvent } from 'react'; -import { LegacyForms, FieldSet, Field, Switch } from '@grafana/ui'; +import { LegacyForms, FieldSet, Field, Switch, TagsInput, InlineFormLabel } from '@grafana/ui'; import { ConnectionSettingsProps } from './types'; @@ -92,6 +92,19 @@ export const DruidHttpSettings = (props: ConnectionSettingsProps) => { )} +
+ + Allowed cookies + + onOptionsChange({ ...options, jsonData: { keepCookies: cookies } })} + /> +
); }; diff --git a/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/types.ts b/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/types.ts index 8426f0a00807..2354e91a6de8 100644 --- a/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/types.ts +++ b/public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/types.ts @@ -16,6 +16,9 @@ export interface ConnectionSettingsOptions { settings: ConnectionSettings; secretSettings: ConnectionSecretSettings; secretSettingsFields: KeyValue; + jsonData?: { + keepCookies?: string[]; + }, } export interface ConnectionSettingsProps {