- The axis is disabled
+
+ Switch on to view axis settings
+
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/axis_config/extended_template.tsx b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/axis_config/extended_template.tsx
index 0ec722e370b40..832f953974af4 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/axis_config/extended_template.tsx
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/axis_config/extended_template.tsx
@@ -71,7 +71,11 @@ export class ExtendedTemplate extends PureComponent
{
const isDisabled = typeof this.props.argValue === 'boolean' && this.props.argValue === false;
if (isDisabled) {
- return The axis is disabled ;
+ return (
+
+ {strings.getDisabledText()}
+
+ );
}
const positions = {
@@ -85,7 +89,7 @@ export class ExtendedTemplate extends PureComponent {
return (
-
+
+
{
onChange={ev => setInputValue(ev.target.value)}
/>
-
+
- Set
+ {strings.getButtonSet()}
setAddMode(!addMode)} flush="left">
- Cancel
+ {strings.getButtonCancel()}
);
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js
index e8c433fb8752d..a3c327da2e4dc 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js
@@ -130,6 +130,7 @@ class ImageUpload extends React.Component {
idSelected={urlType}
onChange={this.changeUrlType}
isFullWidth
+ className="canvasSidebar__buttonGroup"
/>
);
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/string.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/string.js
index d8a7188dfab28..dc31497a7da78 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/string.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/string.js
@@ -26,7 +26,7 @@ const StringArgInput = ({ updateValue, value, confirm, commit, argId }) => (
/>
{confirm && (
-
+
commit(value)}>
{confirm}
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/toggle.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/toggle.js
index 462537e82b164..de19d3e29221b 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/toggle.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/arguments/toggle.js
@@ -19,8 +19,14 @@ const ToggleArgInput = ({ onValueChange, argValue, argId, renderError }) => {
return null;
}
return (
-
-
+
+
);
};
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/demodata.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/demodata.js
index ec492f52747c1..193d99e1c9533 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/demodata.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/demodata.js
@@ -5,28 +5,15 @@
*/
import React from 'react';
-import { FormattedMessage } from '@kbn/i18n/react';
import { EuiText } from '@elastic/eui';
import { templateFromReactComponent } from '../../../public/lib/template_from_react_component';
-import { ComponentStrings, CANVAS, DataSourceStrings } from '../../../i18n';
+import { DataSourceStrings } from '../../../i18n';
const { DemoData: strings } = DataSourceStrings;
const DemodataDatasource = () => (
-
- {strings.getHeading()}
-
- {ComponentStrings.DatasourceDatasourceComponent.getChangeButtonLabel()}
- ),
- }}
- />
-
+
+ {strings.getDescription()}
);
@@ -34,7 +21,6 @@ export const demodata = () => ({
name: 'demodata',
displayName: strings.getDisplayName(),
help: strings.getHelp(),
- // Replace this with a better icon when we have time.
image: 'logoElasticStack',
template: templateFromReactComponent(DemodataDatasource),
});
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/essql.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/essql.js
index 43f2fa63aff70..707f2305e1368 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/essql.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/essql.js
@@ -6,10 +6,10 @@
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { EuiFormRow, EuiTextArea } from '@elastic/eui';
+import { EuiFormRow, EuiTextArea, EuiLink, EuiText } from '@elastic/eui';
import { getSimpleArg, setSimpleArg } from '../../../public/lib/arg_helpers';
import { templateFromReactComponent } from '../../../public/lib/template_from_react_component';
-import { DataSourceStrings } from '../../../i18n';
+import { DataSourceStrings, SQL_URL } from '../../../i18n';
const { Essql: strings } = DataSourceStrings;
@@ -59,13 +59,24 @@ class EssqlDatasource extends PureComponent {
const { isInvalid } = this.props;
return (
-
+
+
+ {strings.getLabelAppend()}
+
+
+ }
+ >
);
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/index.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/index.js
index 107d4d241d2e7..13aa2a06306a0 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/index.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/index.js
@@ -4,8 +4,8 @@
* you may not use this file except in compliance with the Elastic License.
*/
-import { timelion } from './timelion';
import { demodata } from './demodata';
import { essql } from './essql';
+import { timelion } from './timelion';
-export const datasourceSpecs = [timelion, demodata, essql];
+export const datasourceSpecs = [demodata, essql, timelion];
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/timelion.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/timelion.js
index 06efb6a791a2d..b30e43c1c3c57 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/timelion.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/datasources/timelion.js
@@ -12,13 +12,13 @@ import {
EuiCallOut,
EuiSpacer,
EuiCode,
- EuiText,
EuiTextArea,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { getSimpleArg, setSimpleArg } from '../../../public/lib/arg_helpers';
import { templateFromReactComponent } from '../../../public/lib/template_from_react_component';
import { DataSourceStrings, TIMELION, CANVAS } from '../../../i18n';
+import { TooltipIcon } from '../../../public/components/tooltip_icon';
const { Timelion: strings } = DataSourceStrings;
@@ -57,43 +57,12 @@ const TimelionDatasource = ({ args, updateArgs, defaultIndex }) => {
return (
-
- {TIMELION}
- {strings.getAbout()}
-
-
-
-
-
- setArg(argName, e.target.value)}
- />
-
- {
- // TODO: Time timelion interval picker should be a drop down
- }
-
- setArg('interval', e.target.value)}
- />
-
-
-
-
-
+
+
+
+
+ }
+ >
+ setArg(argName, e.target.value)}
+ rows={15}
+ />
+
+ {
+ // TODO: Time timelion interval picker should be a drop down
+ }
+
+ setArg('interval', e.target.value)}
+ />
+
);
};
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/metric.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/metric.js
index 213a2e0dd3b81..33cdb5541e172 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/metric.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/metric.js
@@ -16,6 +16,13 @@ export const metric = () => ({
modelArgs: [['_', { label: strings.getNumberDisplayName() }]],
requiresContext: false,
args: [
+ {
+ name: 'metricFormat',
+ displayName: strings.getMetricFormatDisplayName(),
+ help: strings.getMetricFormatHelp(),
+ argType: 'numberFormat',
+ default: `"${AdvancedSettings.get('format:number:defaultPattern')}"`,
+ },
{
name: '_',
displayName: strings.getLabelDisplayName(),
@@ -23,13 +30,6 @@ export const metric = () => ({
argType: 'string',
default: '""',
},
- {
- name: 'labelFont',
- displayName: strings.getLabelFontDisplayName(),
- help: strings.getLabelFontHelp(),
- argType: 'font',
- default: `{font size=18 family="${openSans.value}" color="#000000" align=center}`,
- },
{
name: 'metricFont',
displayName: strings.getMetricFontDisplayName(),
@@ -38,11 +38,11 @@ export const metric = () => ({
default: `{font size=48 family="${openSans.value}" color="#000000" align=center lHeight=48}`,
},
{
- name: 'metricFormat',
- displayName: strings.getMetricFormatDisplayName(),
- help: strings.getMetricFormatHelp(),
- argType: 'numberFormat',
- default: `"${AdvancedSettings.get('format:number:defaultPattern')}"`,
+ name: 'labelFont',
+ displayName: strings.getLabelFontDisplayName(),
+ help: strings.getLabelFontHelp(),
+ argType: 'font',
+ default: `{font size=18 family="${openSans.value}" color="#000000" align=center}`,
},
],
});
diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/pie.js b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/pie.js
index 4bb68973e80ea..783140b0c8b9e 100644
--- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/pie.js
+++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/uis/views/pie.js
@@ -23,6 +23,16 @@ export const pie = () => ({
name: 'palette',
argType: 'palette',
},
+ {
+ name: 'legend',
+ displayName: strings.getLegendDisplayName(),
+ help: strings.getLegendHelp(),
+ argType: 'select',
+ default: 'ne',
+ options: {
+ choices: legendOptions,
+ },
+ },
{
name: 'hole',
displayName: strings.getHoleDisplayName(),
@@ -34,13 +44,6 @@ export const pie = () => ({
max: 100,
},
},
- {
- name: 'labels',
- displayName: strings.getLabelsDisplayName(),
- help: strings.getLabelsHelp(),
- argType: 'toggle',
- default: true,
- },
{
name: 'labelRadius',
displayName: strings.getLabelRadiusDisplayName(),
@@ -52,16 +55,6 @@ export const pie = () => ({
max: 100,
},
},
- {
- name: 'legend',
- displayName: strings.getLegendDisplayName(),
- help: strings.getLegendHelp(),
- argType: 'select',
- default: 'ne',
- options: {
- choices: legendOptions,
- },
- },
{
name: 'radius',
displayName: strings.getRadiusDisplayName(),
@@ -69,6 +62,20 @@ export const pie = () => ({
argType: 'percentage',
default: 1,
},
+ {
+ name: 'tilt',
+ displayName: strings.getTiltDisplayName(),
+ help: strings.getTiltHelp(),
+ argType: 'percentage',
+ default: 1,
+ },
+ {
+ name: 'labels',
+ displayName: strings.getLabelsDisplayName(),
+ help: strings.getLabelsHelp(),
+ argType: 'toggle',
+ default: true,
+ },
{
name: 'seriesStyle',
argType: 'seriesStyle',
@@ -78,13 +85,6 @@ export const pie = () => ({
name: 'font',
argType: 'font',
},
- {
- name: 'tilt',
- displayName: strings.getTiltDisplayName(),
- help: strings.getTiltHelp(),
- argType: 'percentage',
- default: 1,
- },
],
resolve({ context }) {
if (getState(context) !== 'ready') {
diff --git a/x-pack/legacy/plugins/canvas/i18n/components.ts b/x-pack/legacy/plugins/canvas/i18n/components.ts
index 1e6da888abf58..5b9f6f00940f4 100644
--- a/x-pack/legacy/plugins/canvas/i18n/components.ts
+++ b/x-pack/legacy/plugins/canvas/i18n/components.ts
@@ -228,11 +228,11 @@ export const ComponentStrings = {
DatasourceDatasourceComponent: {
getChangeButtonLabel: () =>
i18n.translate('xpack.canvas.datasourceDatasourceComponent.changeButtonLabel', {
- defaultMessage: 'Change your data source',
+ defaultMessage: 'Change element data source',
}),
getPreviewButtonLabel: () =>
i18n.translate('xpack.canvas.datasourceDatasourceComponent.previewButtonLabel', {
- defaultMessage: 'Preview',
+ defaultMessage: 'Preview data',
}),
getSaveButtonLabel: () =>
i18n.translate('xpack.canvas.datasourceDatasourceComponent.saveButtonLabel', {
@@ -294,7 +294,7 @@ export const ComponentStrings = {
}),
getTitle: () =>
i18n.translate('xpack.canvas.elementConfig.title', {
- defaultMessage: 'Elements',
+ defaultMessage: 'Element status',
description:
'"Elements" refers to the individual text, images, or visualizations that you can add to a Canvas workpad',
}),
@@ -581,7 +581,7 @@ export const ComponentStrings = {
}),
getBackgroundColorLabel: () =>
i18n.translate('xpack.canvas.pageConfig.backgroundColorLabel', {
- defaultMessage: 'Background Color',
+ defaultMessage: 'Background',
}),
getNoTransitionDropDownOptionLabel: () =>
i18n.translate('xpack.canvas.pageConfig.transitions.noneDropDownOptionLabel', {
@@ -592,7 +592,7 @@ export const ComponentStrings = {
}),
getTitle: () =>
i18n.translate('xpack.canvas.pageConfig.title', {
- defaultMessage: 'Page',
+ defaultMessage: 'Page styles',
}),
getTransitionLabel: () =>
i18n.translate('xpack.canvas.pageConfig.transitionLabel', {
@@ -1002,7 +1002,7 @@ export const ComponentStrings = {
}),
getTitle: () =>
i18n.translate('xpack.canvas.workpadConfig.title', {
- defaultMessage: 'Workpad',
+ defaultMessage: 'Workpad settings',
}),
getUSLetterButtonLabel: () =>
i18n.translate('xpack.canvas.workpadConfig.USLetterButtonLabel', {
diff --git a/x-pack/legacy/plugins/canvas/i18n/constants.ts b/x-pack/legacy/plugins/canvas/i18n/constants.ts
index 3659c369ba0b6..8aee6ca148681 100644
--- a/x-pack/legacy/plugins/canvas/i18n/constants.ts
+++ b/x-pack/legacy/plugins/canvas/i18n/constants.ts
@@ -15,6 +15,7 @@ export const CSV = 'CSV';
export const DATEMATH = '`datemath`';
export const DATATABLE = '`datatable`';
export const ELASTICSEARCH = 'Elasticsearch';
+export const ELASTICSEARCH_SHORT = 'ES';
export const FONT_FAMILY = '`font-family`';
export const FONT_WEIGHT = '`font-weight`';
export const HEX = 'HEX';
@@ -32,6 +33,8 @@ export const PDF = 'PDF';
export const POST = 'POST';
export const RGB = 'RGB';
export const SQL = 'SQL';
+export const SQL_URL =
+ 'https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-spec.html';
export const SVG = 'SVG';
export const TIMELION = 'Timelion';
export const TINYMATH = '`TinyMath`';
diff --git a/x-pack/legacy/plugins/canvas/i18n/expression_types.ts b/x-pack/legacy/plugins/canvas/i18n/expression_types.ts
index 6bc40a2758ab3..bdd190f26c97a 100644
--- a/x-pack/legacy/plugins/canvas/i18n/expression_types.ts
+++ b/x-pack/legacy/plugins/canvas/i18n/expression_types.ts
@@ -5,7 +5,7 @@
*/
import { i18n } from '@kbn/i18n';
-import { LUCENE } from './constants';
+import { LUCENE, ELASTICSEARCH } from './constants';
export const ArgTypesStrings = {
Color: {
@@ -101,13 +101,17 @@ export const ArgTypesStrings = {
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.colorLabel', {
defaultMessage: 'Color',
}),
+ getColorValueDefault: () =>
+ i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.colorValueDefault', {
+ defaultMessage: 'Auto',
+ }),
getStyleLabel: () =>
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.styleLabel', {
defaultMessage: 'Style',
}),
getRemoveAriaLabel: () =>
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.removeAriaLabel', {
- defaultMessage: 'Remove Series Color',
+ defaultMessage: 'Remove series color',
}),
getNoSeriesTooltip: () =>
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.noSeriesTooltip', {
@@ -115,11 +119,11 @@ export const ArgTypesStrings = {
}),
getSeriesIdentifierLabel: () =>
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.seriesIdentifierLabel', {
- defaultMessage: 'Series Identifier',
+ defaultMessage: 'Series id',
}),
getSelectSeriesOption: () =>
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.selectSeriesDropDown', {
- defaultMessage: 'Select Series',
+ defaultMessage: 'Select series',
}),
getLineLabel: () =>
i18n.translate('xpack.canvas.expressionTypes.argTypes.seriesStyle.lineLabel', {
@@ -152,15 +156,18 @@ export const ExpressionDataSourceStrings = {
}),
getWarningTitle: () =>
i18n.translate('xpack.canvas.expressionTypes.datasources.esdocs.warningTitle', {
- defaultMessage: 'Be careful',
+ defaultMessage: 'Query with caution',
}),
getWarning: () =>
i18n.translate('xpack.canvas.expressionTypes.datasources.esdocs.warningDescription', {
defaultMessage: `
- The Elasticsearch Docs datasource is used to pull documents directly from Elasticsearch
+ This datasource pulls directly from {elasticsearch}
without the use of aggregations. It is best used with low volume datasets and in
situations where you need to view raw documents or plot exact, non-aggregated values on a
chart.`,
+ values: {
+ elasticsearch: ELASTICSEARCH,
+ },
}),
getIndexTitle: () =>
i18n.translate('xpack.canvas.expressionTypes.datasources.esdocs.indexTitle', {
diff --git a/x-pack/legacy/plugins/canvas/i18n/ui.ts b/x-pack/legacy/plugins/canvas/i18n/ui.ts
index b65a666aa8809..323a6c97fd967 100644
--- a/x-pack/legacy/plugins/canvas/i18n/ui.ts
+++ b/x-pack/legacy/plugins/canvas/i18n/ui.ts
@@ -12,9 +12,9 @@ import {
CANVAS,
CSS,
ELASTICSEARCH,
+ ELASTICSEARCH_SHORT,
HEX,
HTML,
- KIBANA,
LUCENE,
MARKDOWN,
MOMENTJS,
@@ -35,6 +35,10 @@ export const ArgumentStrings = {
i18n.translate('xpack.canvas.uis.arguments.axisConfigLabel', {
defaultMessage: 'Visualization axis configuration',
}),
+ getDisabledText: () =>
+ i18n.translate('xpack.canvas.uis.arguments.axisConfigDisabledText', {
+ defaultMessage: 'Switch on to view axis settings',
+ }),
getPositionBottom: () =>
i18n.translate('xpack.canvas.uis.arguments.axisConfig.position.options.bottomDropDown', {
defaultMessage: 'bottom',
@@ -124,6 +128,14 @@ export const ArgumentStrings = {
i18n.translate('xpack.canvas.uis.arguments.filterGroup.createNewGroupLinkText', {
defaultMessage: 'Create new group',
}),
+ getButtonSet: () =>
+ i18n.translate('xpack.canvas.uis.arguments.filterGroup.setValue', {
+ defaultMessage: 'Set',
+ }),
+ getButtonCancel: () =>
+ i18n.translate('xpack.canvas.uis.arguments.filterGroup.cancelValue', {
+ defaultMessage: 'Cancel',
+ }),
getDisplayName: () =>
i18n.translate('xpack.canvas.uis.arguments.filterGroupTitle', {
defaultMessage: 'Filter Group',
@@ -260,7 +272,7 @@ export const ArgumentStrings = {
}),
getHelp: () =>
i18n.translate('xpack.canvas.uis.arguments.shapeLabel', {
- defaultMessage: 'Shape picker',
+ defaultMessage: 'Change the shape of the current element',
}),
},
String: {
@@ -303,12 +315,20 @@ export const DataSourceStrings = {
}),
getHeading: () =>
i18n.translate('xpack.canvas.uis.dataSources.demoData.headingTitle', {
- defaultMessage: 'You are using demo data',
+ defaultMessage: 'This element is using demo data',
}),
getHelp: () =>
i18n.translate('xpack.canvas.uis.dataSources.demoDataLabel', {
defaultMessage: 'Mock data set with usernames, prices, projects, countries, and phases',
}),
+ getDescription: () =>
+ i18n.translate('xpack.canvas.uis.dataSources.demoDataDescription', {
+ defaultMessage:
+ 'By default, every {canvas} element is connected to the demo data source. Change the data source, above, to connect your own data.',
+ values: {
+ canvas: CANVAS,
+ },
+ }),
},
Essql: {
getDisplayName: () =>
@@ -329,9 +349,13 @@ export const DataSourceStrings = {
}),
getLabel: () =>
i18n.translate('xpack.canvas.uis.dataSources.essql.queryTitle', {
- defaultMessage: '{elasticsearch} {sql} query',
+ defaultMessage: 'Query',
+ }),
+ getLabelAppend: () =>
+ i18n.translate('xpack.canvas.uis.dataSources.essql.queryTitleAppend', {
+ defaultMessage: 'Learn {elasticsearchShort} {sql} syntax',
values: {
- elasticsearch: ELASTICSEARCH,
+ elasticsearchShort: ELASTICSEARCH_SHORT,
sql: SQL,
},
}),
@@ -340,10 +364,9 @@ export const DataSourceStrings = {
getAbout: () =>
i18n.translate('xpack.canvas.uis.dataSources.timelion.aboutDetail', {
defaultMessage:
- '{canvas} integrates with {kibanaTimelion} application to allow you to use {timelion} queries to pull back timeseries data in a tabular format that can be used with {canvas} elements.',
+ 'Use {timelion} queries to pull back timeseries data that can be used with {canvas} elements.',
values: {
timelion: TIMELION,
- kibanaTimelion: `${KIBANA}'s ${TIMELION}`,
canvas: CANVAS,
},
}),
@@ -357,9 +380,8 @@ export const DataSourceStrings = {
getIntervalHelp: () =>
i18n.translate('xpack.canvas.uis.dataSources.timelion.intervalLabel', {
defaultMessage:
- 'Accepts {elasticsearch} date math: {weeksExample}, {daysExample}, {secondsExample}, or {auto}',
+ 'Use date math like {weeksExample}, {daysExample}, {secondsExample}, or {auto}',
values: {
- elasticsearch: ELASTICSEARCH,
secondsExample: '10s',
daysExample: '5d',
weeksExample: '1w',
@@ -383,7 +405,11 @@ export const DataSourceStrings = {
}),
getTipsHeading: () =>
i18n.translate('xpack.canvas.uis.dataSources.timelion.tipsTitle', {
- defaultMessage: 'Some tips',
+ defaultMessage: 'Tips for using {timelion} in {canvas}',
+ values: {
+ timelion: TIMELION,
+ canvas: CANVAS,
+ },
}),
},
};
@@ -530,7 +556,7 @@ export const ViewStrings = {
}),
getValueDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.dropdownControl.args.valueColumnTitle', {
- defaultMessage: 'Values column',
+ defaultMessage: 'Value column',
}),
getValueHelp: () =>
i18n.translate('xpack.canvas.uis.views.dropdownControl.args.valueColumnLabel', {
@@ -610,7 +636,7 @@ export const ViewStrings = {
}),
getNumberDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.numberArgTitle', {
- defaultMessage: 'Number',
+ defaultMessage: 'Value',
}),
getLabelDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.labelArgTitle', {
@@ -618,7 +644,7 @@ export const ViewStrings = {
}),
getLabelFontDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.labelFontTitle', {
- defaultMessage: 'Label text settings',
+ defaultMessage: 'Label text',
}),
getLabelFontHelp: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.labelFontLabel', {
@@ -626,11 +652,11 @@ export const ViewStrings = {
}),
getLabelHelp: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.labelArgLabel', {
- defaultMessage: 'Describes the metric',
+ defaultMessage: 'Enter a text label for the metric value',
}),
getMetricFontDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.metricFontTitle', {
- defaultMessage: 'Metric text settings',
+ defaultMessage: 'Metric text',
}),
getMetricFontHelp: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.metricFontLabel', {
@@ -638,11 +664,11 @@ export const ViewStrings = {
}),
getMetricFormatDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.metricFormatTitle', {
- defaultMessage: 'Metric Format',
+ defaultMessage: 'Format',
}),
getMetricFormatHelp: () =>
i18n.translate('xpack.canvas.uis.views.metric.args.metricFormatLabel', {
- defaultMessage: 'Fonts, alignment and color',
+ defaultMessage: 'Select a format for the metric value',
}),
},
Pie: {
@@ -676,7 +702,7 @@ export const ViewStrings = {
}),
getLegendDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.pie.args.legendTitle', {
- defaultMessage: 'Legend position',
+ defaultMessage: 'Legend',
}),
getLegendHelp: () =>
i18n.translate('xpack.canvas.uis.views.pie.args.legendLabel', {
@@ -714,7 +740,7 @@ export const ViewStrings = {
}),
getLegendDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.plot.args.legendTitle', {
- defaultMessage: 'Legend position',
+ defaultMessage: 'Legend',
}),
getLegendHelp: () =>
i18n.translate('xpack.canvas.uis.views.plot.args.legendLabel', {
@@ -744,7 +770,7 @@ export const ViewStrings = {
}),
getBarColorHelp: () =>
i18n.translate('xpack.canvas.uis.views.progress.args.barColorLabel', {
- defaultMessage: 'Accepts HEX, RGB or HTML Color names',
+ defaultMessage: 'Accepts HEX, RGB or HTML color names',
}),
getBarWeightDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.progress.args.barWeightTitle', {
@@ -930,7 +956,7 @@ export const ViewStrings = {
}),
getBorderHelp: () =>
i18n.translate('xpack.canvas.uis.views.shape.args.borderLabel', {
- defaultMessage: 'Accepts HEX, RGB or HTML Color names',
+ defaultMessage: 'Accepts HEX, RGB or HTML color names',
}),
getBorderWidthDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.shape.args.borderWidthTitle', {
@@ -950,22 +976,19 @@ export const ViewStrings = {
}),
getFillHelp: () =>
i18n.translate('xpack.canvas.uis.views.shape.args.fillLabel', {
- defaultMessage: 'Accepts HEX, RGB or HTML Color names',
+ defaultMessage: 'Accepts HEX, RGB or HTML color names',
}),
getMaintainAspectDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.shape.args.maintainAspectTitle', {
- defaultMessage: 'Maintain aspect ratio',
+ defaultMessage: 'Fixed ratio',
}),
getMaintainAspectHelp: () =>
i18n.translate('xpack.canvas.uis.views.shape.args.maintainAspectLabel', {
- defaultMessage: `Select '{true}' to maintain aspect ratio`,
- values: {
- true: BOOLEAN_TRUE,
- },
+ defaultMessage: `Enable to maintain aspect ratio`,
}),
getShapeDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.shape.args.shapeTitle', {
- defaultMessage: 'Select a shape',
+ defaultMessage: 'Select shape',
}),
},
Table: {
@@ -988,7 +1011,7 @@ export const ViewStrings = {
}),
getPerPageDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.table.args.perPageTitle', {
- defaultMessage: 'Rows per page',
+ defaultMessage: 'Rows',
}),
getPerPageHelp: () =>
i18n.translate('xpack.canvas.uis.views.table.args.perPageLabel', {
@@ -1022,7 +1045,7 @@ export const ViewStrings = {
}),
getFilterGroupDisplayName: () =>
i18n.translate('xpack.canvas.uis.views.timefilter.args.filterGroupTitle', {
- defaultMessage: 'Filter group name',
+ defaultMessage: 'Filter group',
}),
getFilterGroupHelp: () =>
i18n.translate('xpack.canvas.uis.views.timefilter.args.filterGroupLabel', {
diff --git a/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.scss b/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.scss
index f2cdb1444ef23..15676d2b02490 100644
--- a/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.scss
+++ b/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.scss
@@ -1,3 +1,7 @@
+.canvasArg__addArg {
+ margin-right: -$euiSizeS;
+}
+
.canvasArg__addPopover {
width: 250px;
}
diff --git a/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.tsx b/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.tsx
index e771c978d491b..9cc6f870b9bde 100644
--- a/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/arg_add_popover/arg_add_popover.tsx
@@ -33,6 +33,7 @@ export const ArgAddPopover = ({ options }: Props) => {
iconType="plusInCircle"
aria-label={strings.getAddAriaLabel()}
onClick={handleClick}
+ className="canvasArg__addArg"
/>
);
diff --git a/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_form.scss b/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_form.scss
index bef58d6bb6f5f..3fc220d41d551 100644
--- a/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_form.scss
+++ b/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_form.scss
@@ -8,6 +8,14 @@
.canvasSidebar__panel {
.canvasArg--expandable:last-child {
+ .canvasArg__accordion {
+ margin-bottom: (-$euiSizeS);
+ }
+
+ .canvasArg__accordion:after {
+ content: none;
+ }
+
.canvasArg__accordion.euiAccordion-isOpen:after {
display: none;
}
@@ -15,12 +23,12 @@
}
.canvasArg {
- margin-top: $euiSize;
-
+ margin-top: $euiSizeS;
+}
- .canvasArg--remove {
- visibility: hidden;
- }
+.canvasArg__remove {
+ min-width: $euiSize;
+ padding: $euiSizeXS 0;
}
.canvasArg__content {
@@ -29,47 +37,18 @@
.canvasArg__form {
position: relative;
-
-}
-
-.canvasArg__form,
-.canvasArg__accordion {
- &:hover {
- .canvasArg__remove {
- opacity: 1;
- visibility: visible;
- }
- }
}
.canvasArg__tooltip {
margin-left: -$euiSizeXL;
}
-.canvasArg__remove {
- position: absolute;
- right: -$euiSizeL;
- top: $euiSizeS - 2px;
- border-radius: $euiBorderRadius;
- border: $euiBorderThin;
- background: $euiColorEmptyShade;
- opacity: 0;
- visibility: hidden;
- transition: opacity $euiAnimSpeedNormal $euiAnimSlightResistance;
- transition-delay: $euiAnimSpeedSlow;
-}
-
.canvasArg__accordion {
- padding: $euiSizeS $euiSize;
- margin: 0 (-$euiSize);
+ padding: $euiSizeS $euiSizeM;
+ margin: 0 (-$euiSizeM);
background: $euiColorLightestShade;
position: relative;
- // different spacing means leff shift
- .canvasArg__remove {
- right: -$euiSizeM;
- }
-
// don't let remove button position here if this is nested in an accordion
.canvasArg__form {
position: static;
@@ -97,3 +76,8 @@
bottom: 0;
}
}
+
+// this is a workaround since an EuiFormRow label cannot be passed in toggle.js
+.canvasArg__switch {
+ padding-top: calc(#{$euiSizeS} * .75);
+}
diff --git a/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_label.js b/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_label.js
index 143ce670d25f6..4324eed0892a5 100644
--- a/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_label.js
+++ b/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_label.js
@@ -6,7 +6,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { EuiFormRow, EuiAccordion, EuiText, EuiToolTip } from '@elastic/eui';
+import { EuiFormRow, EuiAccordion, EuiText, EuiToolTip, EuiIcon } from '@elastic/eui';
// This is what is being generated by render() from the Arg class. It is called in FunctionForm
export const ArgLabel = props => {
@@ -32,7 +32,17 @@ export const ArgLabel = props => {
) : (
simpleArg && (
-
+
+
+ {label}
+
+
+ }
+ id={argId}
+ >
{simpleArg}
)
diff --git a/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_simple_form.tsx b/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_simple_form.tsx
index 5b45772c14373..846f912db6f84 100644
--- a/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_simple_form.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/arg_form/arg_simple_form.tsx
@@ -6,7 +6,7 @@
import React, { ReactNode, MouseEventHandler } from 'react';
import PropTypes from 'prop-types';
-import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
+import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui';
import { TooltipIcon, IconType } from '../tooltip_icon';
import { ComponentStrings } from '../../../i18n';
@@ -41,13 +41,16 @@ export const ArgSimpleForm: React.FunctionComponent = ({
)}
{!required && (
-
+
+
+
)}
);
diff --git a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource.scss b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource.scss
index ee6c082db1217..2407dcbbce593 100644
--- a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource.scss
+++ b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource.scss
@@ -6,6 +6,31 @@
padding: 0 $euiSizeS;
}
+.canvasDataSource__section {
+ padding: $euiSizeM;
+}
+
+.canvasDataSource__triggerButton {
+ @include euiTitle('xs');
+ line-height: $euiSizeXXL;
+}
+
+.canvasDataSource__triggerButtonIcon {
+ margin-right: $euiSizeS;
+}
+
+.canvasDataSource__list {
+ padding: $euiSizeM;
+}
+
+.canvasDataSource__card .euiCard__content {
+ padding-top: 0 !important; // sass-lint:disable-line no-important
+}
+
.canvasDataSource__card + .canvasDataSource__card {
margin-top: $euiSizeS;
}
+
+.canvasDataSource__card--isCurrent {
+ border-color: $euiColorSecondary;
+}
diff --git a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_component.js b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_component.js
index 5f235d4479171..8b0061e047f33 100644
--- a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_component.js
+++ b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_component.js
@@ -7,20 +7,23 @@
import React, { Fragment, PureComponent } from 'react';
import PropTypes from 'prop-types';
import {
- EuiPanel,
EuiFlexGroup,
EuiFlexItem,
EuiButton,
- EuiButtonEmpty,
EuiSpacer,
+ EuiIcon,
+ EuiCallOut,
+ EuiButtonEmpty,
+ EuiHorizontalRule,
} from '@elastic/eui';
import { isEqual } from 'lodash';
-import { ComponentStrings } from '../../../i18n';
+import { ComponentStrings, DataSourceStrings } from '../../../i18n';
import { getDefaultIndex } from '../../lib/es_service';
import { DatasourceSelector } from './datasource_selector';
import { DatasourcePreview } from './datasource_preview';
const { DatasourceDatasourceComponent: strings } = ComponentStrings;
+const { DemoData: demoDataStrings } = DataSourceStrings;
export class DatasourceComponent extends PureComponent {
static propTypes = {
@@ -113,7 +116,13 @@ export class DatasourceComponent extends PureComponent {
const { defaultIndex } = this.state;
if (selecting) {
- return ;
+ return (
+
+ );
}
const datasourcePreview = previewing ? (
@@ -124,47 +133,51 @@ export class DatasourceComponent extends PureComponent {
/>
) : null;
+ const datasourceRender = stateDatasource.render({
+ args: stateArgs,
+ updateArgs,
+ datasourceDef,
+ isInvalid,
+ setInvalid,
+ defaultIndex,
+ });
+
return (
-
+
setSelecting(!selecting)}
+ className="canvasDataSource__triggerButton"
+ flush="left"
+ size="s"
>
- {strings.getChangeButtonLabel()}
+
+ {stateDatasource.displayName}
- {stateDatasource.render({
- args: stateArgs,
- updateArgs,
- datasourceDef,
- isInvalid,
- setInvalid,
- defaultIndex,
- })}
-
+ {stateDatasource.name === 'demodata' ? (
+
+ {datasourceRender}
+
+ ) : (
+ datasourceRender
+ )}
+
- setPreviewing(true)} icon="check">
+ setPreviewing(true)}>
{strings.getPreviewButtonLabel()}
-
+
-
+
{strings.getSaveButtonLabel()}
-
+
{datasourcePreview}
diff --git a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/datasource_preview.js b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/datasource_preview.js
index e6d2fe550a935..13cd2c5cd11f7 100644
--- a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/datasource_preview.js
+++ b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/datasource_preview.js
@@ -16,6 +16,7 @@ import {
EuiPanel,
EuiText,
EuiEmptyPrompt,
+ EuiSpacer,
} from '@elastic/eui';
import { Datatable } from '../../datatable';
import { Error } from '../../error';
@@ -31,21 +32,22 @@ export const DatasourcePreview = ({ done, datatable }) => (
{strings.getModalTitle()}
-
+
{datasourceStrings.getSaveButtonLabel()},
}}
/>
+
{datatable.type === 'error' ? (
) : (
-
+
{datatable.rows.length > 0 ? (
) : (
diff --git a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_selector.js b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_selector.js
index 07df2a7007c4f..92f9b92cb1f06 100644
--- a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_selector.js
+++ b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_selector.js
@@ -8,17 +8,21 @@ import React from 'react';
import PropTypes from 'prop-types';
import { EuiCard, EuiIcon } from '@elastic/eui';
-export const DatasourceSelector = ({ onSelect, datasources }) => (
-
+export const DatasourceSelector = ({ onSelect, datasources, current }) => (
+
{datasources.map(d => (
}
- onClick={() => onSelect(d.name)}
+ titleElement="h5"
+ icon={ }
description={d.help}
layout="horizontal"
className="canvasDataSource__card"
+ selectable={{
+ isSelected: d.name === current ? true : false,
+ onClick: () => onSelect(d.name),
+ }}
/>
))}
@@ -27,4 +31,5 @@ export const DatasourceSelector = ({ onSelect, datasources }) => (
DatasourceSelector.propTypes = {
onSelect: PropTypes.func.isRequired,
datasources: PropTypes.array.isRequired,
+ current: PropTypes.string.isRequired,
};
diff --git a/x-pack/legacy/plugins/canvas/public/components/datasource/no_datasource.js b/x-pack/legacy/plugins/canvas/public/components/datasource/no_datasource.js
index caafa068c6b5b..f531ee1668aef 100644
--- a/x-pack/legacy/plugins/canvas/public/components/datasource/no_datasource.js
+++ b/x-pack/legacy/plugins/canvas/public/components/datasource/no_datasource.js
@@ -6,18 +6,17 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { EuiPanel, EuiText } from '@elastic/eui';
+import { EuiCallOut } from '@elastic/eui';
import { ComponentStrings } from '../../../i18n';
const { DatasourceNoDatasource: strings } = ComponentStrings;
export const NoDatasource = () => (
-
-
- {strings.getPanelTitle()}
+
+
{strings.getPanelDescription()}
-
-
+
+
);
NoDatasource.propTypes = {
diff --git a/x-pack/legacy/plugins/canvas/public/components/datatable/datatable.scss b/x-pack/legacy/plugins/canvas/public/components/datatable/datatable.scss
index daccfdff5d34b..bd11bff18e091 100644
--- a/x-pack/legacy/plugins/canvas/public/components/datatable/datatable.scss
+++ b/x-pack/legacy/plugins/canvas/public/components/datatable/datatable.scss
@@ -4,6 +4,7 @@
display: flex;
flex-direction: column;
justify-content: space-between;
+ font-size: $euiFontSizeS;
.canvasDataTable__tableWrapper {
@include euiScrollBar;
@@ -12,7 +13,8 @@
overflow: auto;
// removes white square in the scrollbar corner
- &::-webkit-scrollbar-corner { // sass-lint:disable-line no-vendor-prefixes
+ // sass-lint:disable no-vendor-prefixes
+ &::-webkit-scrollbar-corner {
background: transparent;
}
}
@@ -21,6 +23,8 @@
width: 100%;
display: flex;
justify-content: space-around;
+ padding: $euiSizeS;
+ border-top: $euiBorderThin;
}
.canvasDataTable__table {
@@ -30,7 +34,8 @@
.canvasDataTable__th,
.canvasDataTable__td {
text-align: left;
- padding: $euiSizeS;
+ padding: $euiSizeS $euiSizeXS;
+ border-bottom: $euiBorderThin;
}
.canvasDataTable__th {
diff --git a/x-pack/legacy/plugins/canvas/public/components/element_config/element_config.js b/x-pack/legacy/plugins/canvas/public/components/element_config/element_config.js
index 76007994e56bf..5d710ef883548 100644
--- a/x-pack/legacy/plugins/canvas/public/components/element_config/element_config.js
+++ b/x-pack/legacy/plugins/canvas/public/components/element_config/element_config.js
@@ -4,9 +4,9 @@
* you may not use this file except in compliance with the Elastic License.
*/
-import { EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiStat, EuiTitle } from '@elastic/eui';
+import { EuiFlexGroup, EuiFlexItem, EuiStat, EuiAccordion, EuiText, EuiSpacer } from '@elastic/eui';
import PropTypes from 'prop-types';
-import React, { Fragment } from 'react';
+import React from 'react';
import { ComponentStrings } from '../../../i18n';
const { ElementConfig: strings } = ComponentStrings;
@@ -20,26 +20,51 @@ export const ElementConfig = ({ elementStats }) => {
const progress = total > 0 ? Math.round(((ready + error) / total) * 100) : 100;
return (
-
-
- {strings.getTitle()}
-
-
-
+
+ {strings.getTitle()}
+
+ }
+ initialIsOpen={false}
+ >
+
+
-
+
-
+
-
+
-
+
-
+
);
};
diff --git a/x-pack/legacy/plugins/canvas/public/components/es_field_select/es_field_select.js b/x-pack/legacy/plugins/canvas/public/components/es_field_select/es_field_select.js
index 636d9b0006ac6..11c8ab88a4cba 100644
--- a/x-pack/legacy/plugins/canvas/public/components/es_field_select/es_field_select.js
+++ b/x-pack/legacy/plugins/canvas/public/components/es_field_select/es_field_select.js
@@ -28,6 +28,7 @@ export const ESFieldSelect = ({ value, fields = [], onChange, onFocus, onBlur })
onBlur={onBlur}
singleSelection={{ asPlainText: true }}
isClearable={false}
+ compressed
/>
);
};
diff --git a/x-pack/legacy/plugins/canvas/public/components/es_fields_select/es_fields_select.js b/x-pack/legacy/plugins/canvas/public/components/es_fields_select/es_fields_select.js
index fedb4aba7d3d0..ca2cac5a64793 100644
--- a/x-pack/legacy/plugins/canvas/public/components/es_fields_select/es_fields_select.js
+++ b/x-pack/legacy/plugins/canvas/public/components/es_fields_select/es_fields_select.js
@@ -25,6 +25,7 @@ export const ESFieldsSelect = ({ selected, fields, onChange, onFocus, onBlur })
className="canvasFieldsSelect"
onFocus={onFocus}
onBlur={onBlur}
+ compressed
/>
);
};
diff --git a/x-pack/legacy/plugins/canvas/public/components/es_index_select/es_index_select.js b/x-pack/legacy/plugins/canvas/public/components/es_index_select/es_index_select.js
index edc4506f20bda..8f1a4932a5e6c 100644
--- a/x-pack/legacy/plugins/canvas/public/components/es_index_select/es_index_select.js
+++ b/x-pack/legacy/plugins/canvas/public/components/es_index_select/es_index_select.js
@@ -32,6 +32,7 @@ export const ESIndexSelect = ({ value, loading, indices, onChange, onFocus, onBl
singleSelection={{ asPlainText: true }}
isClearable={false}
onCreateOption={input => onChange(input || defaultIndex)}
+ compressed
/>
);
};
diff --git a/x-pack/legacy/plugins/canvas/public/components/page_config/page_config.js b/x-pack/legacy/plugins/canvas/public/components/page_config/page_config.js
index 2586b4ec61f04..583bf1427aab1 100644
--- a/x-pack/legacy/plugins/canvas/public/components/page_config/page_config.js
+++ b/x-pack/legacy/plugins/canvas/public/components/page_config/page_config.js
@@ -6,7 +6,15 @@
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
-import { EuiCard, EuiFormRow, EuiTitle, EuiSpacer, EuiSelect } from '@elastic/eui';
+import {
+ EuiCard,
+ EuiFormRow,
+ EuiTitle,
+ EuiSpacer,
+ EuiSelect,
+ EuiToolTip,
+ EuiIcon,
+} from '@elastic/eui';
import { WorkpadColorPicker } from '../workpad_color_picker';
import { ComponentStrings } from '../../../i18n';
@@ -22,14 +30,20 @@ export const PageConfig = ({
}) => {
return (
-
+
{strings.getTitle()}
-
+
+
+ {strings.getBackgroundColorLabel()}{' '}
+
+
+
+ }
>
diff --git a/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.examples.storyshot b/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.examples.storyshot
index 426c07dac497e..a23452a43ae1e 100644
--- a/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.examples.storyshot
+++ b/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.examples.storyshot
@@ -13,20 +13,24 @@ exports[`Storyshots components/Shapes/ShapePickerPopover default 1`] = `
`;
@@ -44,27 +48,31 @@ exports[`Storyshots components/Shapes/ShapePickerPopover interactive 1`] = `
-
-
+ "fontSize": 0,
+ }
+ }
+ type="button"
+ >
+
",
+ }
}
- }
- />
-
+ />
+
+
`;
@@ -82,27 +90,31 @@ exports[`Storyshots components/Shapes/ShapePickerPopover shape selected 1`] = `
-
-
+ "fontSize": 0,
+ }
+ }
+ type="button"
+ >
+
",
+ }
}
- }
- />
-
+ />
+
+
`;
diff --git a/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/shape_picker_popover.tsx b/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/shape_picker_popover.tsx
index 472a14071208a..970f72da698ba 100644
--- a/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/shape_picker_popover.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/shape_picker_popover/shape_picker_popover.tsx
@@ -6,7 +6,7 @@
import React, { MouseEvent } from 'react';
import PropTypes from 'prop-types';
-import { EuiLink } from '@elastic/eui';
+import { EuiLink, EuiPanel } from '@elastic/eui';
import { Popover } from '../popover';
import { ShapePicker } from '../shape_picker';
import { ShapePreview } from '../shape_preview';
@@ -21,9 +21,11 @@ interface Props {
export const ShapePickerPopover = ({ shapes, onChange, value }: Props) => {
const button = (handleClick: (ev: MouseEvent) => void) => (
-
-
-
+
+
+
+
+
);
return (
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/group_settings.examples.storyshot b/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/group_settings.examples.storyshot
index dc80af01f121f..1655320700f87 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/group_settings.examples.storyshot
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/group_settings.examples.storyshot
@@ -2,13 +2,17 @@
exports[`Storyshots components/Sidebar/GroupSettings default 1`] = `
-
- Ungroup (U) to edit individual element settings.
-
-
- Save this group as a new element to re-use it throughout your workpad.
-
+
+
+ Ungroup (U) to edit individual element settings.
+
+
+ Save this group as a new element to re-use it throughout your workpad.
+
+
`;
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/multi_element_settings.examples.storyshot b/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/multi_element_settings.examples.storyshot
index b9b13ae36e730..49e804640081d 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/multi_element_settings.examples.storyshot
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/__examples__/__snapshots__/multi_element_settings.examples.storyshot
@@ -2,13 +2,17 @@
exports[`Storyshots components/Sidebar/MultiElementSettings default 1`] = `
-
- Multiple elements are currently selected.
-
-
- Deselect these elements to edit their individual settings, press (G) to group them, or save this selection as a new element to re-use it throughout your workpad.
-
+
+
+ Multiple elements are currently selected.
+
+
+ Deselect these elements to edit their individual settings, press (G) to group them, or save this selection as a new element to re-use it throughout your workpad.
+
+
`;
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx b/x-pack/legacy/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx
index 6d884c05cd13a..74f4887601d30 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/element_settings/element_settings.tsx
@@ -6,7 +6,7 @@
import React, { FunctionComponent } from 'react';
import PropTypes from 'prop-types';
-import { EuiSpacer, EuiTabbedContent } from '@elastic/eui';
+import { EuiTabbedContent } from '@elastic/eui';
// @ts-ignore unconverted component
import { Datasource } from '../../datasource';
// @ts-ignore unconverted component
@@ -30,7 +30,6 @@ export const ElementSettings: FunctionComponent
= ({ element }) => {
name: strings.getDisplayTabLabel(),
content: (
-
@@ -42,7 +41,6 @@ export const ElementSettings: FunctionComponent
= ({ element }) => {
name: strings.getDataTabLabel(),
content: (
-
),
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/global_config.tsx b/x-pack/legacy/plugins/canvas/public/components/sidebar/global_config.tsx
index a5920ee197460..2e241681ccc6a 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/global_config.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/global_config.tsx
@@ -20,10 +20,10 @@ export const GlobalConfig: FunctionComponent = () => (
-
+
-
+
);
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/group_settings.tsx b/x-pack/legacy/plugins/canvas/public/components/sidebar/group_settings.tsx
index b46465d9ec775..95d9035774a6a 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/group_settings.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/group_settings.tsx
@@ -11,8 +11,10 @@ import { ComponentStrings } from '../../../i18n';
const { GroupSettings: strings } = ComponentStrings;
export const GroupSettings: FunctionComponent = () => (
-
- {strings.getUngroupDescription()}
- {strings.getSaveGroupDescription()}
-
+
+
+ {strings.getUngroupDescription()}
+ {strings.getSaveGroupDescription()}
+
+
);
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/multi_element_settings.tsx b/x-pack/legacy/plugins/canvas/public/components/sidebar/multi_element_settings.tsx
index 2de3a805c95e9..999c1c2daaf5b 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/multi_element_settings.tsx
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/multi_element_settings.tsx
@@ -11,8 +11,10 @@ import { ComponentStrings } from '../../../i18n';
const { MultiElementSettings: strings } = ComponentStrings;
export const MultiElementSettings: FunctionComponent = () => (
-
- {strings.getMultipleElementsDescription()}
- {strings.getMultipleElementsActionsDescription()}
-
+
+
+ {strings.getMultipleElementsDescription()}
+ {strings.getMultipleElementsActionsDescription()}
+
+
);
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar.scss b/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar.scss
index f9ce6f3cfb555..338d515165e43 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar.scss
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar.scss
@@ -2,7 +2,6 @@
@include euiScrollBar;
width: 100%;
- padding: $euiSizeM;
max-height: 100vh;
overflow-y: auto;
overflow-x: hidden;
@@ -25,6 +24,15 @@
margin-bottom: $euiSizeS;
}
+.canvasSidebar__panel {
+ border-bottom: $euiBorderThin;
+ padding: $euiSizeS $euiSizeM;
+
+ &--isEmpty {
+ border-bottom: none;
+ }
+}
+
.canvasSidebar__panel-noMinWidth .euiButton {
min-width: 0;
}
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section.js b/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section.js
index 29ca72a9737a1..bf149a6c2acb8 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section.js
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section.js
@@ -7,10 +7,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { EuiPanel } from '@elastic/eui';
-
export const SidebarSection = ({ children }) => (
- {children}
+ {children}
);
SidebarSection.propTypes = {
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section_title.js b/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section_title.js
index 192786ae86a45..8e1522eae8dcc 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section_title.js
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar/sidebar_section_title.js
@@ -10,7 +10,7 @@ import { EuiTitle, EuiFlexItem, EuiFlexGroup, EuiToolTip } from '@elastic/eui';
export const SidebarSectionTitle = ({ title, tip, children }) => {
const formattedTitle = (
-
+
{title}
);
diff --git a/x-pack/legacy/plugins/canvas/public/components/sidebar_header/sidebar_header.scss b/x-pack/legacy/plugins/canvas/public/components/sidebar_header/sidebar_header.scss
index 24453fcf0411e..92b0c50a6be4f 100644
--- a/x-pack/legacy/plugins/canvas/public/components/sidebar_header/sidebar_header.scss
+++ b/x-pack/legacy/plugins/canvas/public/components/sidebar_header/sidebar_header.scss
@@ -1,3 +1,7 @@
.canvasLayout__sidebarHeader {
- padding: ($euiSizeXS * .5) 0;
+ padding: calc(#{$euiSizeM} + 2px) $euiSizeS;
}
+
+.canvasLayout__sidebarHeaderWorkpad {
+ padding: calc(#{$euiSizeS} * .75) 0;
+}
\ No newline at end of file
diff --git a/x-pack/legacy/plugins/canvas/public/components/text_style_picker/text_style_picker.js b/x-pack/legacy/plugins/canvas/public/components/text_style_picker/text_style_picker.js
index 9693540769d50..1a44181475091 100644
--- a/x-pack/legacy/plugins/canvas/public/components/text_style_picker/text_style_picker.js
+++ b/x-pack/legacy/plugins/canvas/public/components/text_style_picker/text_style_picker.js
@@ -105,22 +105,30 @@ export const TextStylePicker = ({
return (
+
+ doChange('family', value)} />
+
doChange('size', Number(e.target.value))}
options={fontSizes.map(size => ({ text: String(size), value: size }))}
+ prepend="Size"
/>
-
- doChange('family', value)} />
-
-
+
-
+
+
+ doChange('color', value)}
+ colors={colors}
+ />
+
@@ -138,13 +147,7 @@ export const TextStylePicker = ({
isIconOnly
idSelected={align}
onChange={onAlignmentChange}
- />
-
-
- doChange('color', value)}
- colors={colors}
+ className="canvasSidebar__buttonGroup"
/>
diff --git a/x-pack/legacy/plugins/canvas/public/components/workpad_config/workpad_config.js b/x-pack/legacy/plugins/canvas/public/components/workpad_config/workpad_config.js
index ec7386bddace6..7dfc378432b57 100644
--- a/x-pack/legacy/plugins/canvas/public/components/workpad_config/workpad_config.js
+++ b/x-pack/legacy/plugins/canvas/public/components/workpad_config/workpad_config.js
@@ -67,9 +67,11 @@ export class WorkpadConfig extends PureComponent {
return (
-
- {strings.getTitle()}
-
+
+
+ {strings.getTitle()}
+
+
@@ -129,37 +131,38 @@ export class WorkpadConfig extends PureComponent {
-
-
-
- {strings.getGlobalCSSLabel()}
-
-
- }
- >
-
- this.setState({ css: e.target.value })}
- rows={10}
- />
-
- setWorkpadCSS(css || DEFAULT_WORKPAD_CSS)}>
- {strings.getApplyStylesheetButtonLabel()}
-
-
-
-
+
+
+
+ {strings.getGlobalCSSLabel()}
+
+
+ }
+ >
+
+ this.setState({ css: e.target.value })}
+ rows={10}
+ />
+
+ setWorkpadCSS(css || DEFAULT_WORKPAD_CSS)}>
+ {strings.getApplyStylesheetButtonLabel()}
+
+
+
+
+
);
}
diff --git a/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/__examples__/__snapshots__/extended_template.examples.storyshot b/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/__examples__/__snapshots__/extended_template.examples.storyshot
index 5525df639be01..ffe87129c76fa 100644
--- a/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/__examples__/__snapshots__/extended_template.examples.storyshot
+++ b/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/__examples__/__snapshots__/extended_template.examples.storyshot
@@ -12,7 +12,7 @@ exports[`Storyshots arguments/SeriesStyle extended 1`] = `
>
- Series Identifier
+ Series id
- Select Series
+ Select series
@@ -63,23 +53,22 @@ exports[`Storyshots arguments/SeriesStyle/components simple: defaults 1`] = `
}
>
@@ -115,23 +95,22 @@ exports[`Storyshots arguments/SeriesStyle/components simple: no labels 1`] = `
}
>
@@ -167,23 +137,22 @@ exports[`Storyshots arguments/SeriesStyle/components simple: no series 1`] = `
}
>
@@ -242,23 +202,22 @@ exports[`Storyshots arguments/SeriesStyle/components simple: with series 1`] = `
}
>
diff --git a/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx b/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx
index 63e8702e81cb7..3c0b034da0360 100644
--- a/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx
+++ b/x-pack/legacy/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx
@@ -76,7 +76,7 @@ export const ExtendedTemplate: FunctionComponent
= props => {
{name !== 'defaultStyle' && (
-
+
= props => {
};
return (
-
+
{!color || color.length === 0 ? (
- {strings.getColorLabel()}
+ {strings.getColorLabel()}
-
+
handleChange('color', '#000000')}
>
- Auto
+ {strings.getColorValueDefault()}
@@ -67,7 +67,7 @@ export const SimpleTemplate: FunctionComponent = props => {
- {strings.getColorLabel()}
+ {strings.getColorLabel()}
diff --git a/x-pack/legacy/plugins/canvas/public/expression_types/datasources/esdocs.js b/x-pack/legacy/plugins/canvas/public/expression_types/datasources/esdocs.js
index 7bb3c6101ff20..eacb7e891b482 100644
--- a/x-pack/legacy/plugins/canvas/public/expression_types/datasources/esdocs.js
+++ b/x-pack/legacy/plugins/canvas/public/expression_types/datasources/esdocs.js
@@ -6,7 +6,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { EuiFormRow, EuiSelect, EuiFieldText, EuiCallOut, EuiSpacer } from '@elastic/eui';
+import { EuiFormRow, EuiSelect, EuiTextArea, EuiCallOut, EuiSpacer } from '@elastic/eui';
import { getSimpleArg, setSimpleArg } from '../../lib/arg_helpers';
import { ESFieldsSelect } from '../../components/es_fields_select';
import { ESFieldSelect } from '../../components/es_field_select';
@@ -74,45 +74,66 @@ const EsdocsDatasource = ({ args, updateArgs, defaultIndex }) => {
return (
-
+
{strings.getWarning()}
-
+
setArg('index', index)} />
-
- setArg(getArgName(), e.target.value)} />
+
+ setArg(getArgName(), e.target.value)}
+ compressed
+ />
+
+
+
+ setArg('fields', fields.join(', '))}
+ selected={fields}
+ />
-
+
+
setArg('sort', [field, sortOrder].join(', '))}
/>
+
setArg('sort', [sortField, e.target.value].join(', '))}
options={sortOptions}
- />
-
-
- setArg('fields', fields.join(', '))}
- selected={fields}
+ compressed
/>
diff --git a/x-pack/legacy/plugins/canvas/public/style/main.scss b/x-pack/legacy/plugins/canvas/public/style/main.scss
index c87d8edb588fd..3d41649397190 100644
--- a/x-pack/legacy/plugins/canvas/public/style/main.scss
+++ b/x-pack/legacy/plugins/canvas/public/style/main.scss
@@ -31,7 +31,7 @@ $canvasElementCardWidth: 210px;
.canvasTextArea__code {
@include euiScrollBar;
- font-size: $euiFontSize;
+ font-size: $euiFontSizeS;
font-family: $euiCodeFontFamily;
width: 100%;
max-width: 100%;