Loki: Remove legacy form classes from LokiQuerySettings (#76331)

* Remove legacy form from LokiQuerySettings

With this commit, legacy form components are remvoed from loki query
settings page. Form is now using InlineField instead.

* Fix the width of loki predefined ops input

* Fix the width of loki predefined ops input

* Fix type in loki query component input field
pull/76602/head
Shabeeb Khalid 2 years ago committed by GitHub
parent f3c4d76d15
commit ad15c55803
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 78
      public/app/plugins/datasource/loki/configuration/QuerySettings.tsx

@ -2,11 +2,9 @@ import React from 'react';
import { ConfigSubSection } from '@grafana/experimental'; import { ConfigSubSection } from '@grafana/experimental';
import { config } from '@grafana/runtime'; import { config } from '@grafana/runtime';
import { Badge, LegacyForms } from '@grafana/ui'; import { Badge, InlineField, InlineFieldRow, Input } from '@grafana/ui';
import { ConfigDescriptionLink } from 'app/core/components/ConfigDescriptionLink'; import { ConfigDescriptionLink } from 'app/core/components/ConfigDescriptionLink';
const { FormField } = LegacyForms;
type Props = { type Props = {
maxLines: string; maxLines: string;
onMaxLinedChange: (value: string) => void; onMaxLinedChange: (value: string) => void;
@ -27,64 +25,64 @@ export const QuerySettings = (props: Props) => {
/> />
} }
> >
<div className="gf-form-inline"> <InlineField
<div className="gf-form">
<FormField
label="Maximum lines" label="Maximum lines"
labelWidth={11} htmlFor="loki_config_maxLines"
inputWidth={20} labelWidth={22}
inputEl={
<input
type="number"
className="gf-form-input width-8 gf-form-input--has-help-icon"
value={maxLines}
onChange={(event) => onMaxLinedChange(event.currentTarget.value)}
spellCheck={false}
placeholder="1000"
/>
}
tooltip={ tooltip={
<> <>
Loki queries must contain a limit of the maximum number of lines returned (default: 1000). Increase this Loki queries must contain a limit of the maximum number of lines returned (default: 1000). Increase this
limit to have a bigger result set for ad-hoc analysis. Decrease this limit if your browser becomes limit to have a bigger result set for ad-hoc analysis. Decrease this limit if your browser becomes sluggish
sluggish when displaying the log results. when displaying the log results.
</> </>
} }
>
<Input
type="number"
id="loki_config_maxLines"
value={maxLines}
onChange={(event: React.FormEvent<HTMLInputElement>) => onMaxLinedChange(event.currentTarget.value)}
width={16}
placeholder="1000"
spellCheck={false}
/> />
</div> </InlineField>
</div>
{config.featureToggles.lokiPredefinedOperations && ( {config.featureToggles.lokiPredefinedOperations && (
<div className="gf-form-inline"> <InlineFieldRow>
<div className="gf-form"> <InlineField
<FormField
label="Predefined operations" label="Predefined operations"
labelWidth={11} htmlFor="loki_config_predefinedOperations"
inputEl={ labelWidth={22}
<input
type="string"
className="gf-form-input width-20 gf-form-input--has-help-icon"
value={predefinedOperations}
onChange={(event) => onPredefinedOperationsChange(event.currentTarget.value)}
spellCheck={false}
placeholder="| unpack | line_format"
/>
}
tooltip={ tooltip={
<div> <>
{ {
'Predefined operations are used as an initial state for your queries. They are useful, if you want to unpack, parse or format all log lines. Currently we support only log operations starting with |. For example: | unpack | line_format "{{.message}}".' 'Predefined operations are used as an initial state for your queries. They are useful, if you want to unpack, parse or format all log lines. Currently we support only log operations starting with |. For example: | unpack | line_format "{{.message}}".'
} }
</div> </>
} }
>
<Input
type="string"
id="loki_config_predefinedOperations"
value={predefinedOperations}
onChange={(event: React.FormEvent<HTMLInputElement>) =>
onPredefinedOperationsChange(event.currentTarget.value)
}
width={40}
placeholder="| unpack | line_format"
spellCheck={false}
/> />
</InlineField>
<InlineField>
<Badge <Badge
text="Experimental" text="Experimental"
color="orange" color="orange"
icon="exclamation-triangle" icon="exclamation-triangle"
tooltip="Predefined operations is an experimental feature that may change in the future." tooltip="Predefined operations is an experimental feature that may change in the future."
/> />
</div> </InlineField>
</div> </InlineFieldRow>
)} )}
</ConfigSubSection> </ConfigSubSection>
); );

Loading…
Cancel
Save