Skip to content

Commit 7e96126

Browse files
authored
[Canvas] Use compressed forms in sidebar (#49419) (#50800)
* compressed sidebar design * add back metric help, style no datasource msg * re-style remove button * re-style element status section * remove unused component import * update storyshots * clean up unused i18n values * address feedback * address i81n feedback * update storyshot * convert string to i18n * style grouped sidebar messages * update storyshots
1 parent 62e5759 commit 7e96126

File tree

53 files changed

+628
-483
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+628
-483
lines changed

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/axis_config/__examples__/__snapshots__/extended_template.examples.storyshot

Lines changed: 6 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/axis_config/extended_template.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ export class ExtendedTemplate extends PureComponent<Props> {
7171
const isDisabled = typeof this.props.argValue === 'boolean' && this.props.argValue === false;
7272

7373
if (isDisabled) {
74-
return <EuiText color="subdued">The axis is disabled</EuiText>;
74+
return (
75+
<EuiText color="subdued" size="xs">
76+
<p>{strings.getDisabledText()}</p>
77+
</EuiText>
78+
);
7579
}
7680

7781
const positions = {
@@ -85,7 +89,7 @@ export class ExtendedTemplate extends PureComponent<Props> {
8589

8690
return (
8791
<Fragment>
88-
<EuiFormRow label={strings.getPositionLabel()} display="rowCompressed">
92+
<EuiFormRow label={strings.getPositionLabel()} display="columnCompressed">
8993
<EuiSelect
9094
compressed
9195
value={position}

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/datacolumn/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class DatacolumnArgInput extends Component {
9191
});
9292

9393
return (
94-
<EuiFlexGroup gutterSize="s" id={argId}>
94+
<EuiFlexGroup gutterSize="s" id={argId} direction="row">
9595
<EuiFlexItem grow={false}>
9696
<SimpleMathFunction
9797
id={argId}

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/filter_group.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ const FilterGroupInput = ({ onValueChange, argValue, argId, filterGroups }) => {
5959
onChange={ev => setInputValue(ev.target.value)}
6060
/>
6161
</EuiFlexItem>
62-
<EuiFlexItem grow={false}>
62+
<EuiFlexItem grow={false} className="canvasSidebar__panel-noMinWidth">
6363
<EuiButton type="submit" size="s" onClick={handleAddGroup}>
64-
Set
64+
{strings.getButtonSet()}
6565
</EuiButton>
6666
</EuiFlexItem>
6767
</EuiFlexGroup>
6868
<EuiSpacer size="s" />
6969
<EuiButtonEmpty color="danger" size="xs" onClick={() => setAddMode(!addMode)} flush="left">
70-
Cancel
70+
{strings.getButtonCancel()}
7171
</EuiButtonEmpty>
7272
</form>
7373
);

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class ImageUpload extends React.Component {
130130
idSelected={urlType}
131131
onChange={this.changeUrlType}
132132
isFullWidth
133+
className="canvasSidebar__buttonGroup"
133134
/>
134135
</EuiFormRow>
135136
);

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/string.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const StringArgInput = ({ updateValue, value, confirm, commit, argId }) => (
2626
/>
2727
</EuiFlexItem>
2828
{confirm && (
29-
<EuiFlexItem grow={false}>
29+
<EuiFlexItem grow={false} className="canvasSidebar__panel-noMinWidth">
3030
<EuiButton size="s" onClick={() => commit(value)}>
3131
{confirm}
3232
</EuiButton>

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/toggle.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,14 @@ const ToggleArgInput = ({ onValueChange, argValue, argId, renderError }) => {
1919
return null;
2020
}
2121
return (
22-
<EuiFormRow display="rowCompressed">
23-
<EuiSwitch compressed id={argId} checked={argValue} onChange={handleChange} />
22+
<EuiFormRow display="columnCompressedSwitch">
23+
<EuiSwitch
24+
compressed
25+
id={argId}
26+
checked={argValue}
27+
onChange={handleChange}
28+
className="canvasArg__switch"
29+
/>
2430
</EuiFormRow>
2531
);
2632
};

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/demodata.js

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,22 @@
55
*/
66

77
import React from 'react';
8-
import { FormattedMessage } from '@kbn/i18n/react';
98
import { EuiText } from '@elastic/eui';
109
import { templateFromReactComponent } from '../../../public/lib/template_from_react_component';
11-
import { ComponentStrings, CANVAS, DataSourceStrings } from '../../../i18n';
10+
import { DataSourceStrings } from '../../../i18n';
1211

1312
const { DemoData: strings } = DataSourceStrings;
1413

1514
const DemodataDatasource = () => (
16-
<EuiText>
17-
<h3>{strings.getHeading()}</h3>
18-
<p>
19-
<FormattedMessage
20-
id="xpack.canvas.uis.dataSources.demoDataDescription"
21-
defaultMessage="This data source is connected to every {canvas} element by default. Its purpose is to give you some playground data to get started. The demo set contains 4 strings, 3 numbers and a date. Feel free to experiment and, when you're ready, click {clickText} above to connect to your own data."
22-
values={{
23-
canvas: CANVAS,
24-
clickText: (
25-
<strong>{ComponentStrings.DatasourceDatasourceComponent.getChangeButtonLabel()}</strong>
26-
),
27-
}}
28-
/>
29-
</p>
15+
<EuiText size="s">
16+
<p>{strings.getDescription()}</p>
3017
</EuiText>
3118
);
3219

3320
export const demodata = () => ({
3421
name: 'demodata',
3522
displayName: strings.getDisplayName(),
3623
help: strings.getHelp(),
37-
// Replace this with a better icon when we have time.
3824
image: 'logoElasticStack',
3925
template: templateFromReactComponent(DemodataDatasource),
4026
});

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/essql.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
import React, { PureComponent } from 'react';
88
import PropTypes from 'prop-types';
9-
import { EuiFormRow, EuiTextArea } from '@elastic/eui';
9+
import { EuiFormRow, EuiTextArea, EuiLink, EuiText } from '@elastic/eui';
1010
import { getSimpleArg, setSimpleArg } from '../../../public/lib/arg_helpers';
1111
import { templateFromReactComponent } from '../../../public/lib/template_from_react_component';
12-
import { DataSourceStrings } from '../../../i18n';
12+
import { DataSourceStrings, SQL_URL } from '../../../i18n';
1313

1414
const { Essql: strings } = DataSourceStrings;
1515

@@ -59,13 +59,24 @@ class EssqlDatasource extends PureComponent {
5959
const { isInvalid } = this.props;
6060

6161
return (
62-
<EuiFormRow isInvalid={isInvalid} label={strings.getLabel()}>
62+
<EuiFormRow
63+
isInvalid={isInvalid}
64+
label={strings.getLabel()}
65+
labelAppend={
66+
<EuiText size="xs">
67+
<EuiLink href={SQL_URL} target="_blank">
68+
{strings.getLabelAppend()}
69+
</EuiLink>
70+
</EuiText>
71+
}
72+
>
6373
<EuiTextArea
6474
placeholder={this.defaultQuery}
6575
isInvalid={isInvalid}
6676
className="canvasTextArea__code"
6777
value={this.getQuery()}
6878
onChange={this.onChange}
79+
rows={15}
6980
/>
7081
</EuiFormRow>
7182
);

x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
* you may not use this file except in compliance with the Elastic License.
55
*/
66

7-
import { timelion } from './timelion';
87
import { demodata } from './demodata';
98
import { essql } from './essql';
9+
import { timelion } from './timelion';
1010

11-
export const datasourceSpecs = [timelion, demodata, essql];
11+
export const datasourceSpecs = [demodata, essql, timelion];

0 commit comments

Comments
 (0)