Skip to content

Commit

Permalink
Merge pull request #37 from andreadelrio/esql-controls-dsgn-1
Browse files Browse the repository at this point in the history
[ES|QL controls] Design cleanup #1
  • Loading branch information
stratoula authored Jan 17, 2025
2 parents 13ada24 + 6aaf3c6 commit 5ecf596
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import React, { useCallback, useState } from 'react';
import { i18n } from '@kbn/i18n';
import { EuiLink, EuiPopover, EuiSelectable, EuiSelectableOption } from '@elastic/eui';
import { css } from '@emotion/react';

export function ChooseColumnPopover({
columns,
Expand All @@ -27,7 +28,13 @@ export function ChooseColumnPopover({
const closePopover = () => setIsPopoverOpen(false);

const button = (
<EuiLink onClick={onButtonClick} data-test-subj="chooseColumnBtn">
<EuiLink
css={css`
vertical-align: top;
`}
onClick={onButtonClick}
data-test-subj="chooseColumnBtn"
>
{i18n.translate('esql.flyout.chooseColumnBtn.label', {
defaultMessage: 'here',
})}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ import {
EuiTitle,
EuiBetaBadge,
EuiToolTip,
EuiText,
EuiTextColor,
} from '@elastic/eui';
import { esqlVariablesService } from '@kbn/esql-variables/common';
import { EsqlControlType } from '../types';
Expand Down Expand Up @@ -217,9 +219,15 @@ export function ControlLabel({
label={i18n.translate('esql.flyout.label.label', {
defaultMessage: 'Label',
})}
labelAppend={i18n.translate('esql.flyout.label.extraLabel', {
defaultMessage: 'Optional',
})}
labelAppend={
<EuiText size="xs">
<EuiTextColor color="subdued">
{i18n.translate('esql.flyout.label.extraLabel', {
defaultMessage: 'Optional',
})}
</EuiTextColor>
</EuiText>
}
fullWidth
>
<EuiFieldText
Expand Down Expand Up @@ -288,9 +296,9 @@ export function ControlWidth({
export function Header({ isInEditMode }: { isInEditMode: boolean }) {
return (
<EuiFlyoutHeader hasBorder>
<EuiFlexGroup alignItems="center" responsive={false}>
<EuiFlexGroup gutterSize="xs" alignItems="center" responsive={false}>
<EuiFlexItem grow={false}>
<EuiTitle size="m">
<EuiTitle size="xs">
<h2>
{isInEditMode
? i18n.translate('esql.flyout.editTitle', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -382,45 +382,44 @@ export function ValueControlForm({
})}
fullWidth
>
<EuiPanel
paddingSize="s"
hasBorder
css={css`
white-space: wrap;
overflow-y: auto;
max-height: 200px;
`}
data-test-subj="esqlValuesPreview"
>
{queryColumns.length === 1 ? (
selectedValues.map((value) => value.label).join(', ')
) : (
<EuiCallOut
title={i18n.translate('esql.flyout.displayMultipleColsCallout.title', {
defaultMessage: 'Your query must return a single column',
})}
iconType="warning"
data-test-subj="esqlMoreThanOneColumnCallout"
>
<p>
<FormattedMessage
id="esql.flyout.displayMultipleColsCallout.description"
defaultMessage="Your query is currently returning {totalColumns} columns. Choose column {chooseColumnPopover} or use {boldText}."
values={{
totalColumns: queryColumns.length,
boldText: <strong>STATS BY</strong>,
chooseColumnPopover: (
<ChooseColumnPopover
columns={queryColumns}
updateQuery={updateQuery}
/>
),
}}
/>
</p>
</EuiCallOut>
)}
</EuiPanel>
{queryColumns.length === 1 ? (
<EuiPanel
paddingSize="s"
color="primary"
css={css`
white-space: wrap;
overflow-y: auto;
max-height: 200px;
`}
data-test-subj="esqlValuesPreview"
>
{selectedValues.map((value) => value.label).join(', ')}
</EuiPanel>
) : (
<EuiCallOut
title={i18n.translate('esql.flyout.displayMultipleColsCallout.title', {
defaultMessage: 'Your query must return a single column',
})}
color="warning"
iconType="warning"
size="s"
data-test-subj="esqlMoreThanOneColumnCallout"
>
<p>
<FormattedMessage
id="esql.flyout.displayMultipleColsCallout.description"
defaultMessage="Your query is currently returning {totalColumns} columns. Choose column {chooseColumnPopover} or use {boldText}."
values={{
totalColumns: queryColumns.length,
boldText: <strong>STATS BY</strong>,
chooseColumnPopover: (
<ChooseColumnPopover columns={queryColumns} updateQuery={updateQuery} />
),
}}
/>
</p>
</EuiCallOut>
)}
</EuiFormRow>
)}
</>
Expand Down

0 comments on commit 5ecf596

Please sign in to comment.