Skip to content

Commit 83184f2

Browse files
SpikatrixGurinderRawala
authored andcommitted
Add allowed cookies field in druid datasource settings (#171)
1 parent 8e00f77 commit 83184f2

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

public/app/plugins/datasource/grafadruid-druid-datasource/ConfigEditor.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ export class ConfigEditor extends PureComponent<Props, State> {
5555

5656
onConnectionOptionsChange = (connectionSettingsOptions: ConnectionSettingsOptions) => {
5757
const { options, onOptionsChange } = this.props;
58-
const { settings, secretSettings, secretSettingsFields } = connectionSettingsOptions;
58+
const { settings, secretSettings, secretSettingsFields, jsonData: connectionJsonData } = connectionSettingsOptions;
5959
const connectionSettings = this.normalizeData(settings, true, 'connection');
60-
const jsonData = { ...options.jsonData, ...connectionSettings };
60+
const jsonData = { ...options.jsonData, ...connectionSettings, ...connectionJsonData };
6161
const connectionSecretSettings = this.normalizeData(secretSettings, true, 'connection');
6262
const secureJsonData = { ...options.secureJsonData, ...connectionSecretSettings };
6363
const connectionSecretSettingsFields = this.normalizeData(
@@ -83,6 +83,7 @@ export class ConfigEditor extends PureComponent<Props, State> {
8383
settings: this.normalizeData(jsonData, false, 'connection'),
8484
secretSettings: this.normalizeData(secureJsonData || {}, false, 'connection'),
8585
secretSettingsFields: this.normalizeData(secureJsonFields || {}, false, 'connection') as KeyValue<boolean>,
86+
jsonData: { keepCookies: (jsonData as ConnectionSettingsOptions['jsonData'])?.keepCookies || [] },
8687
};
8788
};
8889

public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/DruidHttpSettings.tsx

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React, { ChangeEvent } from 'react';
2-
import { LegacyForms, FieldSet, Field, Switch } from '@grafana/ui';
3-
import { css } from '@emotion/css';
2+
3+
import { LegacyForms, FieldSet, Field, Switch, TagsInput, InlineFormLabel } from '@grafana/ui';
4+
45
import { ConnectionSettingsProps } from './types';
56

67
const { FormField } = LegacyForms;
@@ -90,6 +91,19 @@ export const DruidHttpSettings = (props: ConnectionSettingsProps) => {
9091
<Switch value={settings.skipTls} name="skipTls" onChange={onSettingChange} />
9192
</Field>
9293
)}
94+
<div className="gf-form">
95+
<InlineFormLabel
96+
width={11}
97+
tooltip="Grafana proxy deletes forwarded cookies by default. Specify cookies by name that should be forwarded to the data source."
98+
>
99+
Allowed cookies
100+
</InlineFormLabel>
101+
<TagsInput
102+
tags={options.jsonData?.keepCookies || []}
103+
width={40}
104+
onChange={(cookies) => onOptionsChange({ ...options, jsonData: { keepCookies: cookies } })}
105+
/>
106+
</div>
93107
</FieldSet>
94108
);
95109
};

public/app/plugins/datasource/grafadruid-druid-datasource/configuration/ConnectionSettings/types.ts

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ export interface ConnectionSettingsOptions {
1616
settings: ConnectionSettings;
1717
secretSettings: ConnectionSecretSettings;
1818
secretSettingsFields: KeyValue<boolean>;
19+
jsonData?: {
20+
keepCookies?: string[];
21+
},
1922
}
2023

2124
export interface ConnectionSettingsProps {

0 commit comments

Comments
 (0)