[Vis: Default editor] Euificate vis-editor-agg-add (#38898) (#39434)

* Euificate vis-editor-agg-add

* Rebuild UI and fix functional tests

* Make all labels sentence case

* Disable schema instead of filter

* Calculate disabled only in open state

# Conflicts:
#	x-pack/legacy/plugins/translations/translations/zh-CN.json
This commit is contained in:
Daniil Suleiman 2019-06-21 17:32:50 +03:00 committed by GitHub
parent 408658ddaf
commit 55cb2cf5d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 319 additions and 329 deletions

View file

@ -138,7 +138,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'metric',
title: i18n.translate('kbnVislibVisTypes.area.metricsTitle', { defaultMessage: 'Y-Axis' }),
title: i18n.translate('kbnVislibVisTypes.area.metricsTitle', { defaultMessage: 'Y-axis' }),
aggFilter: ['!geo_centroid', '!geo_bounds'],
min: 1,
defaults: [
@ -148,7 +148,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'radius',
title: i18n.translate('kbnVislibVisTypes.area.radiusTitle', { defaultMessage: 'Dot Size' }),
title: i18n.translate('kbnVislibVisTypes.area.radiusTitle', { defaultMessage: 'Dot size' }),
min: 0,
max: 1,
aggFilter: ['count', 'avg', 'sum', 'min', 'max', 'cardinality']
@ -156,7 +156,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'segment',
title: i18n.translate('kbnVislibVisTypes.area.segmentTitle', { defaultMessage: 'X-Axis' }),
title: i18n.translate('kbnVislibVisTypes.area.segmentTitle', { defaultMessage: 'X-axis' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -164,7 +164,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.area.groupTitle', { defaultMessage: 'Split Series' }),
title: i18n.translate('kbnVislibVisTypes.area.groupTitle', { defaultMessage: 'Split series' }),
min: 0,
max: 3,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -172,7 +172,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'split',
title: i18n.translate('kbnVislibVisTypes.area.splitTitle', { defaultMessage: 'Split Chart' }),
title: i18n.translate('kbnVislibVisTypes.area.splitTitle', { defaultMessage: 'Split chart' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -119,7 +119,7 @@ export default function GaugeVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.gauge.groupTitle', { defaultMessage: 'Split Group' }),
title: i18n.translate('kbnVislibVisTypes.gauge.groupTitle', { defaultMessage: 'Split group' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -102,7 +102,7 @@ export default function GoalVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.goal.groupTitle', { defaultMessage: 'Split Group' }),
title: i18n.translate('kbnVislibVisTypes.goal.groupTitle', { defaultMessage: 'Split group' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -96,7 +96,7 @@ export default function HeatmapVisType(Private) {
{
group: 'buckets',
name: 'segment',
title: i18n.translate('kbnVislibVisTypes.heatmap.segmentTitle', { defaultMessage: 'X-Axis' }),
title: i18n.translate('kbnVislibVisTypes.heatmap.segmentTitle', { defaultMessage: 'X-axis' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -104,7 +104,7 @@ export default function HeatmapVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.heatmap.groupTitle', { defaultMessage: 'Y-Axis' }),
title: i18n.translate('kbnVislibVisTypes.heatmap.groupTitle', { defaultMessage: 'Y-axis' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -112,7 +112,7 @@ export default function HeatmapVisType(Private) {
{
group: 'buckets',
name: 'split',
title: i18n.translate('kbnVislibVisTypes.heatmap.splitTitle', { defaultMessage: 'Split Chart' }),
title: i18n.translate('kbnVislibVisTypes.heatmap.splitTitle', { defaultMessage: 'Split chart' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -140,7 +140,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'metric',
title: i18n.translate('kbnVislibVisTypes.histogram.metricTitle', { defaultMessage: 'Y-Axis' }),
title: i18n.translate('kbnVislibVisTypes.histogram.metricTitle', { defaultMessage: 'Y-axis' }),
min: 1,
aggFilter: ['!geo_centroid', '!geo_bounds'],
defaults: [
@ -150,7 +150,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'radius',
title: i18n.translate('kbnVislibVisTypes.histogram.radiusTitle', { defaultMessage: 'Dot Size' }),
title: i18n.translate('kbnVislibVisTypes.histogram.radiusTitle', { defaultMessage: 'Dot size' }),
min: 0,
max: 1,
aggFilter: ['count', 'avg', 'sum', 'min', 'max', 'cardinality']
@ -158,7 +158,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'segment',
title: i18n.translate('kbnVislibVisTypes.histogram.segmentTitle', { defaultMessage: 'X-Axis' }),
title: i18n.translate('kbnVislibVisTypes.histogram.segmentTitle', { defaultMessage: 'X-axis' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -166,7 +166,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.histogram.groupTitle', { defaultMessage: 'Split Series' }),
title: i18n.translate('kbnVislibVisTypes.histogram.groupTitle', { defaultMessage: 'Split series' }),
min: 0,
max: 3,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -174,7 +174,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'split',
title: i18n.translate('kbnVislibVisTypes.histogram.splitTitle', { defaultMessage: 'Split Chart' }),
title: i18n.translate('kbnVislibVisTypes.histogram.splitTitle', { defaultMessage: 'Split chart' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -141,7 +141,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'metric',
title: i18n.translate('kbnVislibVisTypes.horizontalBar.metricTitle', { defaultMessage: 'Y-Axis' }),
title: i18n.translate('kbnVislibVisTypes.horizontalBar.metricTitle', { defaultMessage: 'Y-axis' }),
min: 1,
aggFilter: ['!geo_centroid', '!geo_bounds'],
defaults: [
@ -151,7 +151,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'radius',
title: i18n.translate('kbnVislibVisTypes.horizontalBar.radiusTitle', { defaultMessage: 'Dot Size' }),
title: i18n.translate('kbnVislibVisTypes.horizontalBar.radiusTitle', { defaultMessage: 'Dot size' }),
min: 0,
max: 1,
aggFilter: ['count', 'avg', 'sum', 'min', 'max', 'cardinality']
@ -159,7 +159,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'segment',
title: i18n.translate('kbnVislibVisTypes.horizontalBar.segmentTitle', { defaultMessage: 'X-Axis' }),
title: i18n.translate('kbnVislibVisTypes.horizontalBar.segmentTitle', { defaultMessage: 'X-axis' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -167,7 +167,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.horizontalBar.groupTitle', { defaultMessage: 'Split Series' }),
title: i18n.translate('kbnVislibVisTypes.horizontalBar.groupTitle', { defaultMessage: 'Split series' }),
min: 0,
max: 3,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -175,7 +175,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'split',
title: i18n.translate('kbnVislibVisTypes.horizontalBar.splitTitle', { defaultMessage: 'Split Chart' }),
title: i18n.translate('kbnVislibVisTypes.horizontalBar.splitTitle', { defaultMessage: 'Split chart' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -138,7 +138,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'metric',
title: i18n.translate('kbnVislibVisTypes.line.metricTitle', { defaultMessage: 'Y-Axis' }),
title: i18n.translate('kbnVislibVisTypes.line.metricTitle', { defaultMessage: 'Y-axis' }),
min: 1,
aggFilter: ['!geo_centroid', '!geo_bounds'],
defaults: [
@ -148,7 +148,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'metrics',
name: 'radius',
title: i18n.translate('kbnVislibVisTypes.line.radiusTitle', { defaultMessage: 'Dot Size' }),
title: i18n.translate('kbnVislibVisTypes.line.radiusTitle', { defaultMessage: 'Dot size' }),
min: 0,
max: 1,
aggFilter: ['count', 'avg', 'sum', 'min', 'max', 'cardinality', 'top_hits']
@ -156,7 +156,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'segment',
title: i18n.translate('kbnVislibVisTypes.line.segmentTitle', { defaultMessage: 'X-Axis' }),
title: i18n.translate('kbnVislibVisTypes.line.segmentTitle', { defaultMessage: 'X-axis' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -164,7 +164,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'group',
title: i18n.translate('kbnVislibVisTypes.line.groupTitle', { defaultMessage: 'Split Series' }),
title: i18n.translate('kbnVislibVisTypes.line.groupTitle', { defaultMessage: 'Split series' }),
min: 0,
max: 3,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -172,7 +172,7 @@ export default function PointSeriesVisType(Private) {
{
group: 'buckets',
name: 'split',
title: i18n.translate('kbnVislibVisTypes.line.splitTitle', { defaultMessage: 'Split Chart' }),
title: i18n.translate('kbnVislibVisTypes.line.splitTitle', { defaultMessage: 'Split chart' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -69,7 +69,7 @@ export default function HistogramVisType(Private) {
{
group: 'metrics',
name: 'metric',
title: i18n.translate('kbnVislibVisTypes.pie.metricTitle', { defaultMessage: 'Slice Size' }),
title: i18n.translate('kbnVislibVisTypes.pie.metricTitle', { defaultMessage: 'Slice size' }),
min: 1,
max: 1,
aggFilter: ['sum', 'count', 'cardinality', 'top_hits'],
@ -80,8 +80,7 @@ export default function HistogramVisType(Private) {
{
group: 'buckets',
name: 'segment',
icon: 'fa fa-scissors',
title: i18n.translate('kbnVislibVisTypes.pie.segmentTitle', { defaultMessage: 'Split Slices' }),
title: i18n.translate('kbnVislibVisTypes.pie.segmentTitle', { defaultMessage: 'Split slices' }),
min: 0,
max: Infinity,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']
@ -89,8 +88,7 @@ export default function HistogramVisType(Private) {
{
group: 'buckets',
name: 'split',
icon: 'fa fa-th',
title: i18n.translate('kbnVislibVisTypes.pie.splitTitle', { defaultMessage: 'Split Chart' }),
title: i18n.translate('kbnVislibVisTypes.pie.splitTitle', { defaultMessage: 'Split chart' }),
mustBeFirst: true,
min: 0,
max: 1,

View file

@ -103,7 +103,7 @@ function MetricVisProvider(Private) {
}, {
group: 'buckets',
name: 'group',
title: i18n.translate('metricVis.schemas.splitGroupTitle', { defaultMessage: 'Split Group' }),
title: i18n.translate('metricVis.schemas.splitGroupTitle', { defaultMessage: 'Split group' }),
min: 0,
max: 1,
aggFilter: ['!geohash_grid', '!geotile_grid', '!filter']

View file

@ -98,8 +98,7 @@ provided base maps, or add your own. Darker colors represent higher values.' }),
{
group: 'buckets',
name: 'segment',
icon: 'fa fa-globe',
title: i18n.translate('regionMap.mapVis.regionMapEditorConfig.schemas.segmentTitle', { defaultMessage: 'shape field' }),
title: i18n.translate('regionMap.mapVis.regionMapEditorConfig.schemas.segmentTitle', { defaultMessage: 'Shape field' }),
min: 1,
max: 1,
aggFilter: ['terms']

View file

@ -93,7 +93,7 @@ function TableVisTypeProvider(Private) {
group: 'buckets',
name: 'bucket',
title: i18n.translate('tableVis.tableVisEditorConfig.schemas.bucketTitle', {
defaultMessage: 'Split Rows',
defaultMessage: 'Split rows',
}),
aggFilter: ['!filter']
},
@ -101,7 +101,7 @@ function TableVisTypeProvider(Private) {
group: 'buckets',
name: 'split',
title: i18n.translate('tableVis.tableVisEditorConfig.schemas.splitTitle', {
defaultMessage: 'Split Table',
defaultMessage: 'Split table',
}),
min: 0,
max: 1,

View file

@ -57,7 +57,7 @@ VisTypesRegistryProvider.register(function (Private) {
{
group: 'metrics',
name: 'metric',
title: i18n.translate('tagCloud.vis.schemas.metricTitle', { defaultMessage: 'Tag Size' }),
title: i18n.translate('tagCloud.vis.schemas.metricTitle', { defaultMessage: 'Tag size' }),
min: 1,
max: 1,
aggFilter: ['!std_dev', '!percentiles', '!percentile_ranks', '!derivative', '!geo_bounds', '!geo_centroid'],
@ -68,7 +68,6 @@ VisTypesRegistryProvider.register(function (Private) {
{
group: 'buckets',
name: 'segment',
icon: 'fa fa-cloud',
title: i18n.translate('tagCloud.vis.schemas.segmentTitle', { defaultMessage: 'Tags' }),
min: 1,
max: 1,

View file

@ -112,7 +112,7 @@ VisTypesRegistryProvider.register(function TileMapVisType(Private, config) {
group: 'buckets',
name: 'segment',
title: i18n.translate('tileMap.vis.map.editorConfig.schemas.geoCoordinatesTitle', {
defaultMessage: 'Geo Coordinates',
defaultMessage: 'Geo coordinates',
}),
aggFilter: 'geohash_grid',
min: 1,

View file

@ -34,7 +34,7 @@ const metricAggSchema = (new Schemas([
group: 'none',
name: 'metricAgg',
title: i18n.translate('common.ui.aggTypes.metrics.metricAggTitle', {
defaultMessage: 'Metric Agg'
defaultMessage: 'Metric agg'
}),
hideCustomLabel: true,
aggFilter: metricAggFilter

View file

@ -39,7 +39,7 @@ const metricAggSchema = (new Schemas([
group: 'none',
name: 'metricAgg',
title: i18n.translate('common.ui.aggTypes.metrics.metricAggTitle', {
defaultMessage: 'Metric Agg'
defaultMessage: 'Metric agg'
}),
aggFilter: metricAggFilter
}
@ -50,7 +50,7 @@ const bucketAggSchema = (new Schemas([
{
group: 'none',
title: i18n.translate('common.ui.aggTypes.metrics.bucketAggTitle', {
defaultMessage: 'Bucket Agg'
defaultMessage: 'Bucket agg'
}),
name: 'bucketAgg',
aggFilter: bucketAggFilter
@ -59,7 +59,7 @@ const bucketAggSchema = (new Schemas([
const siblingPipelineAggHelper = {
subtype: i18n.translate('common.ui.aggTypes.metrics.siblingPipelineAggregationsSubtypeTitle', {
defaultMessage: 'Sibling Pipeline Aggregations'
defaultMessage: 'Sibling pipeline aggregations'
}),
params: function () {
return [

View file

@ -105,5 +105,10 @@
<vis-editor-agg-add
ng-if="$index + 1 === stats.count"
ng-hide="dragging">
ng-hide="dragging"
group="group"
group-name="groupName"
schemas="schemas"
stats="stats"
add-schema="addSchema">
</vis-editor-agg-add>

View file

@ -1,60 +0,0 @@
<div ng-show="add.form" class="form-group">
<label
i18n-id="common.ui.vis.editors.aggAdd.selectGroupTypeLabel"
i18n-default-message="Select {groupNameLabel} type"
i18n-values="{ groupNameLabel }"
>
</label>
<ul class="list-group list-group-menu">
<li
tabindex="0"
id="aggSchemaListItem-{{$index}}"
ng-hide="schema.deprecate"
ng-repeat="schema in availableSchema"
ng-click="add.submit(schema)"
class="list-group-item list-group-menu-item"
data-test-subj="{{schema.title}}">
<i ng-show="schema.icon" ng-class="schema.icon"></i>
{{schema.title}}
</li>
</ul>
</div>
<div class="euiSpacer euiSpacer--s"></div>
<div
ng-if="stats.max > stats.count"
ng-init="add.form = stats.count < 1 ? !add.form : add.form"
ng-click="add.form = !add.form"
class="eui-textCenter">
<div ng-if="!add.form">
<button
data-test-subj="visualizeEditorAddAggregationButton"
class="kuiButton kuiButton--secondary kuiButton--small"
ng-if="groupName !== 'buckets' || !stats.count && !stats.deprecate"
i18n-id="common.ui.vis.editors.aggAdd.addGroupButtonLabel"
i18n-default-message="Add {groupNameLabel}"
i18n-values="{ groupNameLabel }"
>
</button>
<button
data-test-subj="visualizeEditorAddAggregationButton"
class="kuiButton kuiButton--secondary kuiButton--small"
ng-if="groupName === 'buckets' && stats.count > 0 && !stats.deprecate"
i18n-id="common.ui.vis.editors.aggAdd.addSubGroupButtonLabel"
i18n-default-message="Add sub-{groupNameLabel}"
i18n-values="{ groupNameLabel }"
>
</button>
</div>
<button
class="kuiButton kuiButton--danger kuiButton--small"
ng-if="add.form"
i18n-id="common.ui.vis.editors.aggAdd.cancelButtonLabel"
i18n-default-message="Cancel"
>
</button>
</div>

View file

@ -17,33 +17,18 @@
* under the License.
*/
import { AggConfig } from '../../agg_config';
import { uiModules } from '../../../modules';
import aggAddTemplate from './agg_add.html';
import { DefaultEditorAggAdd } from './components/default_editor_agg_add';
import { wrapInI18nContext } from 'ui/i18n';
uiModules
.get('kibana')
.directive('visEditorAggAdd', function () {
return {
restrict: 'E',
template: aggAddTemplate,
controllerAs: 'add',
controller: function ($scope) {
const self = this;
self.form = false;
self.submit = function (schema) {
self.form = false;
const aggConfig = new AggConfig($scope.state.aggs, {
schema: schema,
id: AggConfig.nextId($scope.state.aggs),
});
aggConfig.brandNew = true;
$scope.state.aggs.push(aggConfig);
};
}
};
});
.directive('visEditorAggAdd', reactDirective =>
reactDirective(wrapInI18nContext(DefaultEditorAggAdd), [
['group', { watchDepth: 'collection' }],
['schemas', { watchDepth: 'collection' }],
['stats', { watchDepth: 'reference' }],
'groupName',
'addSchema'
])
);

View file

@ -9,7 +9,14 @@
<ng-form vis-editor-agg name="aggForm"></ng-form>
</div>
<vis-editor-agg-add ng-if="stats.count === 0" data-test-subj="addAggregationButton"></vis-editor-agg-add>
<vis-editor-agg-add
ng-if="stats.count === 0"
group="group"
group-name="groupName"
schemas="schemas"
stats="stats"
add-schema="addSchema">
</vis-editor-agg-add>
</div>
</div>

View file

@ -25,6 +25,7 @@ import { uiModules } from '../../../modules';
import aggGroupTemplate from './agg_group.html';
import { move } from '../../../utils/collection';
import { aggGroupNameMaps } from './agg_group_names';
import { AggConfig } from '../../agg_config';
import '../../draggable/draggable_container';
import '../../draggable/draggable_item';
@ -67,11 +68,6 @@ uiModules
stats.max += schema.max;
stats.deprecate = schema.deprecate;
});
$scope.availableSchema = $scope.schemas.filter(function (schema) {
const count = _.where($scope.group, { schema }).length;
if (count < schema.max) return true;
});
});
function reorderFinished() {
@ -89,6 +85,16 @@ uiModules
$scope.dragging = false;
reorderFinished();
});
$scope.addSchema = function (schema) {
const aggConfig = new AggConfig($scope.state.aggs, {
schema,
id: AggConfig.nextId($scope.state.aggs),
});
aggConfig.brandNew = true;
$scope.state.aggs.push(aggConfig);
};
}
};

View file

@ -0,0 +1,134 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import React, { useState } from 'react';
import {
EuiButtonEmpty,
EuiContextMenuItem,
EuiContextMenuPanel,
EuiFlexGroup,
EuiFlexItem,
EuiPopover,
EuiPopoverTitle,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { i18n } from '@kbn/i18n';
import { AggConfig } from 'ui/vis';
import { Schema } from '../schemas';
const GROUP_NAMES = {
BUCKETS: 'buckets',
};
interface DefaultEditorAggAddProps {
group?: AggConfig[];
groupName: string;
schemas: Schema[];
stats: {
max: number;
min: number;
count: number;
deprecate: boolean;
};
addSchema(schema: Schema): void;
}
function DefaultEditorAggAdd({
group = [],
groupName,
schemas,
addSchema,
stats,
}: DefaultEditorAggAddProps) {
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
const onSelectSchema = (schema: Schema) => {
setIsPopoverOpen(false);
addSchema(schema);
};
const addButton = (
<EuiButtonEmpty
size="xs"
iconType="plusInCircleFilled"
data-test-subj={`visEditorAdd_${groupName}`}
onClick={() => setIsPopoverOpen(!isPopoverOpen)}
>
<FormattedMessage id="common.ui.vis.editors.aggAdd.addButtonLabel" defaultMessage="Add" />
</EuiButtonEmpty>
);
const groupNameLabel =
groupName === GROUP_NAMES.BUCKETS
? i18n.translate('common.ui.vis.editors.aggAdd.bucketLabel', { defaultMessage: 'bucket' })
: i18n.translate('common.ui.vis.editors.aggAdd.metricLabel', { defaultMessage: 'metric' });
const isSchemaDisabled = (schema: Schema): boolean => {
const count = group.filter(agg => agg.schema.name === schema.name).length;
return count >= schema.max;
};
return stats.max > stats.count ? (
<EuiFlexGroup justifyContent="center">
<EuiFlexItem grow={false}>
<EuiPopover
id={`addGroupButtonPopover_${groupName}`}
button={addButton}
isOpen={isPopoverOpen}
panelPaddingSize="none"
repositionOnScroll={true}
closePopover={() => setIsPopoverOpen(false)}
>
<EuiPopoverTitle>
{(groupName !== GROUP_NAMES.BUCKETS || (!stats.count && !stats.deprecate)) && (
<FormattedMessage
id="common.ui.vis.editors.aggAdd.addGroupButtonLabel"
defaultMessage="Add {groupNameLabel}"
values={{ groupNameLabel }}
/>
)}
{groupName === GROUP_NAMES.BUCKETS && stats.count > 0 && !stats.deprecate && (
<FormattedMessage
id="common.ui.vis.editors.aggAdd.addSubGroupButtonLabel"
defaultMessage="Add sub-{groupNameLabel}"
values={{ groupNameLabel }}
/>
)}
</EuiPopoverTitle>
<EuiContextMenuPanel
items={schemas.map(
schema =>
!schema.deprecate && (
<EuiContextMenuItem
key={`${schema.name}_${schema.title}`}
data-test-subj={`visEditorAdd_${groupName}_${schema.title}`}
disabled={isPopoverOpen && isSchemaDisabled(schema)}
onClick={() => onSelectSchema(schema)}
>
{schema.title}
</EuiContextMenuItem>
)
)}
/>
</EuiPopover>
</EuiFlexItem>
</EuiFlexGroup>
) : null;
}
export { DefaultEditorAggAdd };

View file

@ -0,0 +1,32 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { AggParam } from '../../../agg_types';
export interface Schema {
aggFilter: string | string[];
deprecate: boolean;
editor: boolean | string;
group: 'metrics' | 'buckets';
max: number;
min: number;
name: string;
params: AggParam[];
title: string;
}

View file

@ -104,7 +104,7 @@ export default function ({ getService, getPageObjects }) {
5. Click Apply changes images/apply-changes-button.png to view the results.
*/
it('should configure Terms aggregation on play_name', async function () {
await PageObjects.visualize.clickBucket('X-Axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Aggregation = Terms');
await PageObjects.visualize.selectAggregation('Terms');
aggIndex = aggIndex + 1;
@ -135,8 +135,7 @@ export default function ({ getService, getPageObjects }) {
2. Choose the Max aggregation and select the speech_number field.
*/
it('should configure Max aggregation metric on speech_number', async function () {
await PageObjects.visualize.clickAddMetric();
await PageObjects.visualize.clickBucket('Y-Axis', 'metric');
await PageObjects.visualize.clickBucket('Y-axis', 'metrics');
log.debug('Aggregation = Max');
await PageObjects.visualize.selectYAxisAggregation('Max', 'speech_number', 'Max Speaking Parts', aggIndex);
await PageObjects.visualize.clickGo();

View file

@ -40,8 +40,8 @@ export default function ({ getService, getPageObjects }) {
log.debug('clickNewSearch');
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Click X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
log.debug('Click X-axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Click Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
log.debug('Check field value');
@ -228,8 +228,8 @@ export default function ({ getService, getPageObjects }) {
log.debug('clickNewSearch');
await PageObjects.visualize.clickNewSearch('long-window-logstash-*');
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Click X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
log.debug('Click X-axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Click Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');
@ -251,8 +251,8 @@ export default function ({ getService, getPageObjects }) {
log.debug('clickNewSearch');
await PageObjects.visualize.clickNewSearch('long-window-logstash-*');
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Click X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
log.debug('Click X-axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Click Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');

View file

@ -40,8 +40,8 @@ export default function ({ getService, getPageObjects }) {
log.debug('clickNewSearch');
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = Split Rows');
await PageObjects.visualize.clickBucket('Split Rows');
log.debug('Bucket = Split rows');
await PageObjects.visualize.clickBucket('Split rows');
log.debug('Aggregation = Histogram');
await PageObjects.visualize.selectAggregation('Histogram');
log.debug('Field = bytes');
@ -102,8 +102,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickAddMetric();
await PageObjects.visualize.clickBucket('Metric', 'metric');
await PageObjects.visualize.clickBucket('Metric', 'metrics');
await PageObjects.visualize.selectAggregation('Average Bucket', 'metrics');
await PageObjects.visualize.selectAggregation('Terms', 'metrics', 'buckets');
await PageObjects.visualize.selectField('geo.src', 'metrics', 'buckets');
@ -118,7 +117,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');
await PageObjects.visualize.setInterval('Daily');
@ -137,7 +136,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');
await PageObjects.visualize.setInterval('Daily');
@ -187,7 +186,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Range');
await PageObjects.visualize.selectField('bytes');
await PageObjects.visualize.clickGo();
@ -205,7 +204,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('extension.raw');
await PageObjects.visualize.setSize(2);
@ -243,13 +242,12 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('extension.raw');
await PageObjects.visualize.setSize(2);
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('geo.dest');
await PageObjects.visualize.toggleOpenEditor(3, 'false');
@ -312,8 +310,7 @@ export default function ({ getService, getPageObjects }) {
it('should show metrics other than count on each level', async () => {
await PageObjects.visualize.clickData();
await PageObjects.visualize.clickAddMetric();
await PageObjects.visualize.clickBucket('Metric', 'metric');
await PageObjects.visualize.clickBucket('Metric', 'metrics');
await PageObjects.visualize.selectAggregation('Average', 'metrics');
await PageObjects.visualize.selectField('bytes', 'metrics');
await PageObjects.visualize.clickGo();
@ -340,19 +337,17 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Table');
await PageObjects.visualize.clickBucket('Split table');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('extension.raw');
await PageObjects.visualize.setSize(2);
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('geo.dest');
await PageObjects.visualize.setSize(3, 3);
await PageObjects.visualize.toggleOpenEditor(3, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('geo.src');
await PageObjects.visualize.setSize(3, 4);

View file

@ -38,7 +38,7 @@ export default function ({ getService, getPageObjects }) {
log.debug('clickNewSearch');
await PageObjects.visualize.clickNewSearch(PageObjects.visualize.index.LOGSTASH_NON_TIME_BASED);
log.debug('Bucket = Split Rows');
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
log.debug('Aggregation = Histogram');
await PageObjects.visualize.selectAggregation('Histogram');
log.debug('Field = bytes');
@ -98,8 +98,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.navigateToNewVisualization();
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch(PageObjects.visualize.index.LOGSTASH_NON_TIME_BASED);
await PageObjects.visualize.clickAddMetric();
await PageObjects.visualize.clickBucket('Metric', 'metric');
await PageObjects.visualize.clickBucket('Metric', 'metrics');
await PageObjects.visualize.selectAggregation('Average Bucket', 'metrics');
await PageObjects.visualize.selectAggregation('Terms', 'metrics', 'buckets');
await PageObjects.visualize.selectField('geo.src', 'metrics', 'buckets');
@ -113,7 +112,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.navigateToNewVisualization();
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch(PageObjects.visualize.index.LOGSTASH_NON_TIME_BASED);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');
await PageObjects.visualize.setInterval('Daily');
@ -131,7 +130,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.navigateToNewVisualization();
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch(PageObjects.visualize.index.LOGSTASH_NON_TIME_BASED);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');
await PageObjects.visualize.setInterval('Daily');

View file

@ -37,12 +37,11 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickDataTable();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.selectField('@timestamp');
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
await PageObjects.visualize.selectAggregation('Histogram');
await PageObjects.visualize.selectField('bytes');
await PageObjects.visualize.setNumericInterval('2000', undefined, 3);

View file

@ -57,7 +57,7 @@ export default function ({ getService, getPageObjects }) {
it('should show Split Gauges', async function () {
await PageObjects.visualize.clickMetricEditor();
log.debug('Bucket = Split Group');
await PageObjects.visualize.clickBucket('Split Group');
await PageObjects.visualize.clickBucket('Split group');
log.debug('Aggregation = Terms');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Field = machine.os.raw');
@ -83,8 +83,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('machine.os.raw');
await PageObjects.visualize.setSize('1');
await PageObjects.visualize.clickAddMetric();
await PageObjects.visualize.clickBucket('Metric', 'metric');
await PageObjects.visualize.clickBucket('Metric', 'metrics');
await PageObjects.visualize.selectAggregation('Min', 'metrics');
await PageObjects.visualize.selectField('bytes', 'metrics');
await PageObjects.visualize.clickGo();

View file

@ -38,7 +38,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Aggregation = Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
log.debug('Field = @timestamp');

View file

@ -36,7 +36,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = Split Rows');
await PageObjects.visualize.clickBucket('Split Rows');
await PageObjects.visualize.clickBucket('Split rows');
log.debug('Aggregation = Histogram');
await PageObjects.visualize.selectAggregation('Histogram');
log.debug('Field = machine.ram');

View file

@ -43,8 +43,7 @@ export default function ({ getService, getPageObjects }) {
await inspector.expectTableHeaders(['Count']);
log.debug('Add Average Metric on machine.ram field');
await PageObjects.visualize.clickAddMetric();
await PageObjects.visualize.clickBucket('Y-Axis', 'metric');
await PageObjects.visualize.clickBucket('Y-axis', 'metrics');
await PageObjects.visualize.selectAggregation('Average', 'metrics');
await PageObjects.visualize.selectField('machine.ram', 'metrics');
await PageObjects.visualize.clickGo();
@ -54,8 +53,8 @@ export default function ({ getService, getPageObjects }) {
describe('filtering on inspector table values', function () {
before(async function () {
log.debug('Add X-Axis terms agg on machine.os.raw');
await PageObjects.visualize.clickBucket('X-Axis');
log.debug('Add X-axis terms agg on machine.os.raw');
await PageObjects.visualize.clickBucket('X-axis');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('machine.os.raw');
await PageObjects.visualize.setSize(2);

View file

@ -38,8 +38,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickLineChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = Split Chart');
await PageObjects.visualize.clickBucket('Split Chart');
log.debug('Bucket = Split chart');
await PageObjects.visualize.clickBucket('Split chart');
log.debug('Aggregation = Terms');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Field = extension');

View file

@ -185,7 +185,7 @@ export default function ({ getService, getPageObjects }) {
it('should allow filtering with buckets', async function () {
await PageObjects.visualize.clickMetricEditor();
log.debug('Bucket = Split Group');
await PageObjects.visualize.clickBucket('Split Group');
await PageObjects.visualize.clickBucket('Split group');
log.debug('Aggregation = Terms');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Field = machine.os.raw');

View file

@ -37,8 +37,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
log.debug('Click aggregation Histogram');
await PageObjects.visualize.selectAggregation('Histogram');
log.debug('Click field memory');
@ -86,8 +86,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
log.debug('Click aggregation Terms');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Click field machine.os.raw');
@ -126,8 +126,7 @@ export default function ({ getService, getPageObjects }) {
'Other', 'Other', 'IN', 'CN', 'US', 'ID', 'BR', 'Other' ];
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Slices');
await PageObjects.visualize.clickBucket('Split slices');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Click field geo.src');
await PageObjects.visualize.selectField('geo.src');
@ -148,8 +147,7 @@ export default function ({ getService, getPageObjects }) {
it('should show correct result with one agg disabled', async () => {
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'osx' ];
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Slices');
await PageObjects.visualize.clickBucket('Split slices');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('machine.os.raw');
await PageObjects.visualize.toggleDisabledAgg(2);
@ -190,8 +188,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
log.debug('Click aggregation Filters');
await PageObjects.visualize.selectAggregation('Filters');
log.debug('Set the 1st filter value');
@ -218,8 +216,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickNewSearch();
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
log.debug('Click aggregation Histogram');
await PageObjects.visualize.selectAggregation('Histogram');
log.debug('Click field memory');
@ -230,9 +228,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.setNumericInterval('40000');
log.debug('Toggle previous editor');
await PageObjects.visualize.toggleAggregationEditor(2);
await PageObjects.visualize.clickAddBucket();
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('geo.dest');
await PageObjects.visualize.clickGo();
@ -279,18 +276,16 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
log.debug('Click aggregation Filters');
await PageObjects.visualize.selectAggregation('Filters');
log.debug('Set the 1st filter value');
await PageObjects.visualize.setFilterAggregationValue('geo.dest:"US"');
log.debug('Toggle previous editor');
await PageObjects.visualize.toggleAggregationEditor(2);
log.debug('Add a new series');
await PageObjects.visualize.clickAddBucket();
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('Add a new series, select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
log.debug('Click aggregation Filters');
await PageObjects.visualize.selectAggregation('Filters');
log.debug('Set the 1st filter value of the aggregation id 3');
@ -308,15 +303,13 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Chart');
log.debug('select bucket Split chart');
await PageObjects.visualize.clickBucket('Split chart');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('machine.os.raw');
await PageObjects.visualize.toggleAggregationEditor(2);
log.debug('Add a new series');
await PageObjects.visualize.clickAddBucket();
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('Add a new series, select bucket Split slices');
await PageObjects.visualize.clickBucket('Split slices');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('geo.src');
await PageObjects.visualize.clickGo();

View file

@ -38,17 +38,15 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickLineChart();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
log.debug('Bucket = X-axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Aggregation = Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
log.debug('Field = @timestamp');
await PageObjects.visualize.selectField('@timestamp');
// add another metrics
log.debug('Add Metric');
await PageObjects.visualize.clickAddMetric();
log.debug('Metric = Value Axis');
await PageObjects.visualize.clickBucket('Y-Axis', 'metric');
await PageObjects.visualize.clickBucket('Y-axis', 'metrics');
log.debug('Aggregation = Average');
await PageObjects.visualize.selectAggregation('Average', 'metrics');
log.debug('Field = memory');

View file

@ -39,8 +39,8 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickRegionMap();
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = shape field');
await PageObjects.visualize.clickBucket('shape field');
log.debug('Bucket = Shape field');
await PageObjects.visualize.clickBucket('Shape field');
log.debug('Aggregation = Terms');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Field = geo.src');

View file

@ -72,7 +72,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Geo Coordinates');
await PageObjects.visualize.clickBucket('Geo Coordinates');
await PageObjects.visualize.clickBucket('Geo coordinates');
log.debug('Click aggregation Geohash');
await PageObjects.visualize.selectAggregation('Geohash');
log.debug('Click field geo.coordinates');

View file

@ -39,7 +39,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickNewSearch();
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
log.debug('Bucket = X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Aggregation = Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
log.debug('Field = @timestamp');
@ -227,13 +227,12 @@ export default function ({ getService, getPageObjects }) {
});
});
describe('vertical bar with split series', function () {
describe('vertical bar with Split series', function () {
before(initBarChart);
it('should show correct series', async function () {
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('response.raw');
await PageObjects.visualize.waitForVisualizationRenderingStabilized();
@ -270,15 +269,13 @@ export default function ({ getService, getPageObjects }) {
it('should show correct series', async function () {
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('response.raw');
await PageObjects.visualize.waitForVisualizationRenderingStabilized();
await PageObjects.visualize.toggleOpenEditor(3, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('machine.os');
await PageObjects.visualize.waitForVisualizationRenderingStabilized();
@ -322,8 +319,7 @@ export default function ({ getService, getPageObjects }) {
it('should show an error if last bucket aggregation is terms', async () => {
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('response.raw');

View file

@ -36,7 +36,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.visualize.clickNewSearch(PageObjects.visualize.index.LOGSTASH_NON_TIME_BASED);
await PageObjects.common.sleep(500);
log.debug('Bucket = X-Axis');
await PageObjects.visualize.clickBucket('X-Axis');
await PageObjects.visualize.clickBucket('X-axis');
log.debug('Aggregation = Date Histogram');
await PageObjects.visualize.selectAggregation('Date Histogram');
log.debug('Field = @timestamp');
@ -183,8 +183,7 @@ export default function ({ getService, getPageObjects }) {
it('should show correct series', async function () {
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('response.raw');
await PageObjects.header.waitUntilLoadingHasFinished();
@ -204,15 +203,13 @@ export default function ({ getService, getPageObjects }) {
it('should show correct series', async function () {
await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('response.raw');
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.visualize.toggleOpenEditor(3, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Series');
await PageObjects.visualize.clickBucket('Split series');
await PageObjects.visualize.selectAggregation('Terms');
await PageObjects.visualize.selectField('machine.os');
await PageObjects.header.waitUntilLoadingHasFinished();

View file

@ -171,13 +171,12 @@ export function VisualizePageProvider({ getService, getPageObjects, updateBaseli
await this.clickVisType('markdown');
}
async clickAddMetric() {
await find.clickByCssSelector('[group-name="metrics"] [data-test-subj="visualizeEditorAddAggregationButton"]');
// clickBucket(bucketName) 'X-axis', 'Split area', 'Split chart'
async clickBucket(bucketName, type = 'buckets') {
await testSubjects.click(`visEditorAdd_${type}`);
await find.clickByCssSelector(`[data-test-subj="visEditorAdd_${type}_${bucketName}"`);
}
async clickAddBucket() {
await find.clickByCssSelector('[group-name="buckets"] [data-test-subj="visualizeEditorAddAggregationButton"]');
}
async clickMetric() {
await this.clickVisType('metric');
@ -438,13 +437,6 @@ export function VisualizePageProvider({ getService, getPageObjects, updateBaseli
return await element.getVisibleText();
}
// clickBucket(bucketType) 'X-Axis', 'Split Area', 'Split Chart'
async clickBucket(bucketName, type = 'bucket') {
const testSubject = type === 'bucket' ? 'bucketsAggGroup' : 'metricsAggGroup';
const locator = `[data-test-subj="${testSubject}"] .list-group-menu-item[data-test-subj="${bucketName}"]`;
await find.clickByCssSelector(locator);
}
async selectAggregation(myString, groupName = 'buckets', childAggregationType = null) {
const comboBoxElement = await find.byCssSelector(`
[group-name="${groupName}"]

View file

@ -150,7 +150,6 @@
"common.ui.aggTypes.metrics.averageBucketTitle": "平均バケット",
"common.ui.aggTypes.metrics.averageLabel": "平均 {field}",
"common.ui.aggTypes.metrics.averageTitle": "平均",
"common.ui.aggTypes.metrics.bucketAggTitle": "バケット集約",
"common.ui.aggTypes.metrics.bucketTitle": "バケット",
"common.ui.aggTypes.metrics.countLabel": "カウント",
"common.ui.aggTypes.metrics.countTitle": "カウント",
@ -168,7 +167,6 @@
"common.ui.aggTypes.metrics.medianLabel": "中央 {field}",
"common.ui.aggTypes.metrics.medianTitle": "中央",
"common.ui.aggTypes.metrics.metricAggregationsSubtypeTitle": "メトリック集約",
"common.ui.aggTypes.metrics.metricAggTitle": "メトリック集約",
"common.ui.aggTypes.metrics.metricTitle": "メトリック",
"common.ui.aggTypes.metrics.minBucketTitle": "最低バケット",
"common.ui.aggTypes.metrics.minLabel": "最低 {field}",
@ -188,7 +186,6 @@
"common.ui.aggTypes.metrics.percentilesTitle": "パーセンタイル",
"common.ui.aggTypes.metrics.serialDiffLabel": "serial diff",
"common.ui.aggTypes.metrics.serialDiffTitle": "Serial Diff",
"common.ui.aggTypes.metrics.siblingPipelineAggregationsSubtypeTitle": "シブリングパイプラインアグリゲーション",
"common.ui.aggTypes.metrics.standardDeviation.keyDetailsLabel": "{fieldDisplayName} の標準偏差",
"common.ui.aggTypes.metrics.standardDeviation.lowerKeyDetailsTitle": "下の{label}",
"common.ui.aggTypes.metrics.standardDeviation.upperKeyDetailsTitle": "上の{label}",
@ -604,8 +601,6 @@
"common.ui.vis.editors.agg.toggleEditorButtonAriaLabel": "{schema} エディターを切り替える",
"common.ui.vis.editors.aggAdd.addGroupButtonLabel": "{groupNameLabel} を追加",
"common.ui.vis.editors.aggAdd.addSubGroupButtonLabel": "サブ {groupNameLabel} を追加",
"common.ui.vis.editors.aggAdd.cancelButtonLabel": "キャンセル",
"common.ui.vis.editors.aggAdd.selectGroupTypeLabel": "{groupNameLabel} タイプを選択してください",
"common.ui.vis.editors.aggGroups.bucketsText": "バケット",
"common.ui.vis.editors.aggGroups.metricsText": "メトリック",
"common.ui.vis.editors.aggParams.errors.aggWrongRunOrderErrorMessage": "「{schema}」集約は他のバケットの前に実行する必要があります!",
@ -2369,11 +2364,6 @@
"kbnESQuery.kql.errors.whitespaceText": "ホワイトスペース",
"kbnVislibVisTypes.area.areaDescription": "折れ線グラフの下の数量を強調します",
"kbnVislibVisTypes.area.areaTitle": "エリア",
"kbnVislibVisTypes.area.groupTitle": "連続を分割",
"kbnVislibVisTypes.area.metricsTitle": "Y 軸",
"kbnVislibVisTypes.area.radiusTitle": "点のサイズ",
"kbnVislibVisTypes.area.segmentTitle": "X 軸",
"kbnVislibVisTypes.area.splitTitle": "チャートを分割",
"kbnVislibVisTypes.controls.gaugeOptions.addRangeTitle": "範囲の追加",
"kbnVislibVisTypes.controls.gaugeOptions.autoExtendRangeLabel": "範囲を自動拡張",
"kbnVislibVisTypes.controls.gaugeOptions.backTextColorLabel": "背景/文字の色",
@ -2481,44 +2471,20 @@
"kbnVislibVisTypes.functions.vislib.help": "Vislib ビジュアライゼーション",
"kbnVislibVisTypes.gauge.gaugeDescription": "ゲージはメトリックのステータスを示します。メトリックの値と参照しきい値との関連性を示すのに使用します。",
"kbnVislibVisTypes.gauge.gaugeTitle": "ゲージ",
"kbnVislibVisTypes.gauge.groupTitle": "グループを分割",
"kbnVislibVisTypes.gauge.metricTitle": "メトリック",
"kbnVislibVisTypes.goal.goalDescription": "ゴールチャートは、最終目標にどれだけ近いかを示します。",
"kbnVislibVisTypes.goal.goalTitle": "ゴール",
"kbnVislibVisTypes.goal.groupTitle": "グループを分割",
"kbnVislibVisTypes.goal.metricTitle": "メトリック",
"kbnVislibVisTypes.heatmap.groupTitle": "Y 軸",
"kbnVislibVisTypes.heatmap.heatmapDescription": "マトリックス内のセルに影をつける",
"kbnVislibVisTypes.heatmap.heatmapTitle": "ヒートマップ",
"kbnVislibVisTypes.heatmap.metricTitle": "値",
"kbnVislibVisTypes.heatmap.segmentTitle": "X 軸",
"kbnVislibVisTypes.heatmap.splitTitle": "チャートを分割",
"kbnVislibVisTypes.histogram.groupTitle": "連続を分割",
"kbnVislibVisTypes.histogram.histogramDescription": "軸に連続変数を割り当てる",
"kbnVislibVisTypes.histogram.histogramTitle": "垂直バー",
"kbnVislibVisTypes.histogram.metricTitle": "Y 軸",
"kbnVislibVisTypes.histogram.radiusTitle": "点のサイズ",
"kbnVislibVisTypes.histogram.segmentTitle": "X 軸",
"kbnVislibVisTypes.histogram.splitTitle": "チャートを分割",
"kbnVislibVisTypes.horizontalBar.groupTitle": "連続を分割",
"kbnVislibVisTypes.horizontalBar.horizontalBarDescription": "軸に連続変数を割り当てる",
"kbnVislibVisTypes.horizontalBar.horizontalBarTitle": "水平バー",
"kbnVislibVisTypes.horizontalBar.metricTitle": "Y 軸",
"kbnVislibVisTypes.horizontalBar.radiusTitle": "点のサイズ",
"kbnVislibVisTypes.horizontalBar.segmentTitle": "X 軸",
"kbnVislibVisTypes.horizontalBar.splitTitle": "チャートを分割",
"kbnVislibVisTypes.line.groupTitle": "連続を分割",
"kbnVislibVisTypes.line.lineDescription": "動向を強調します",
"kbnVislibVisTypes.line.lineTitle": "線",
"kbnVislibVisTypes.line.metricTitle": "Y 軸",
"kbnVislibVisTypes.line.radiusTitle": "点のサイズ",
"kbnVislibVisTypes.line.segmentTitle": "X 軸",
"kbnVislibVisTypes.line.splitTitle": "チャートを分割",
"kbnVislibVisTypes.pie.metricTitle": "サイズのスライス",
"kbnVislibVisTypes.pie.pieDescription": "全体の部分を比較します。",
"kbnVislibVisTypes.pie.pieTitle": "パイ",
"kbnVislibVisTypes.pie.segmentTitle": "スライスの分割",
"kbnVislibVisTypes.pie.splitTitle": "チャートを分割",
"markdownVis.function.help": "Markdown ビジュアライゼーション",
"markdownVis.markdownDescription": "マークダウン構文でドキュメントを作成します",
"markdownVis.params.fontSizeLabel": "フォントサイズ ({fontSize} pt)",
@ -2549,7 +2515,6 @@
"metricVis.params.style.styleTitle": "スタイル",
"metricVis.params.style.toggleOptionsAriaLabel": "スタイルオプションを切り替える",
"metricVis.schemas.metricTitle": "メトリック",
"metricVis.schemas.splitGroupTitle": "グループを分割",
"regionMap.choroplethLayer.downloadingVectorData404ErrorMessage": "{name} の取得時にサーバーから「404」が返されます。指定された場所にファイルが存在することを確認してください。",
"regionMap.choroplethLayer.downloadingVectorDataErrorMessage": "{name} ファイルをダウンロードできません。サーバーの CORS 構成で、このホストの Kibana アプリケーションからのリクエストが許可されていることを確認してください。",
"regionMap.choroplethLayer.downloadingVectorDataErrorMessageTitle": "ベクトルデータのダウンロード中にエラーが発生しました",
@ -2559,7 +2524,6 @@
"regionMap.mapVis.regionMapEditorConfig.bottomLeftText": "左下",
"regionMap.mapVis.regionMapEditorConfig.bottomRightText": "右下",
"regionMap.mapVis.regionMapEditorConfig.schemas.metricTitle": "値",
"regionMap.mapVis.regionMapEditorConfig.schemas.segmentTitle": "フィールドのシェイプ",
"regionMap.mapVis.regionMapEditorConfig.topLeftText": "左上",
"regionMap.mapVis.regionMapEditorConfig.topRightText": "右上",
"regionMap.mapVis.regionMapTitle": "地域マップ",
@ -2665,9 +2629,7 @@
"tableVis.params.showTotalLabel": "合計を表示",
"tableVis.params.totalFunctionLabel": "合計機能",
"tableVis.tableVisDescription": "表に値を表示します",
"tableVis.tableVisEditorConfig.schemas.bucketTitle": "行を分割",
"tableVis.tableVisEditorConfig.schemas.metricTitle": "メトリック",
"tableVis.tableVisEditorConfig.schemas.splitTitle": "表を分割",
"tableVis.tableVisTitle": "データ表",
"tableVis.vis.noResultsFoundTitle": "結果が見つかりませんでした",
"tagCloud.feedbackMessage.tooSmallContainerDescription": "コンテナーが小さすぎてクラウド全体を表示できません。タグが切り取られたか省略されている可能性があります。",
@ -2677,7 +2639,6 @@
"tagCloud.function.metric.help": "メトリックディメンションの構成です",
"tagCloud.function.orientation.help": "タグクラウド内の単語の方向です",
"tagCloud.function.scale.help": "単語のフォントサイズを決定するスケールです",
"tagCloud.vis.schemas.metricTitle": "タグサイズ",
"tagCloud.vis.schemas.segmentTitle": "タグ",
"tagCloud.vis.tagCloudDescription": "重要度に基づきサイズ変更された単語のグループです",
"tagCloud.vis.tagCloudTitle": "タグクラウド",
@ -2698,7 +2659,6 @@
"tileMap.vis.map.editorConfig.legendPositions.bottomRightText": "右下",
"tileMap.vis.map.editorConfig.legendPositions.topLeftText": "左上",
"tileMap.vis.map.editorConfig.legendPositions.topRightText": "右上",
"tileMap.vis.map.editorConfig.schemas.geoCoordinatesTitle": "座標",
"tileMap.vis.map.editorConfig.schemas.metricTitle": "値",
"tileMap.vis.mapDescription": "マップ上に緯度と経度の座標を表示します",
"tileMap.vis.mapTitle": "マップの座標",
@ -9961,4 +9921,4 @@
"xpack.watcher.watchActionsTitle": "条件が満たされた際に {watchActionsCount, plural, one{# アクション} other {# アクション}} を実行します",
"xpack.watcher.watcherDescription": "アラートの作成、管理、監視によりデータへの変更を検知します。"
}
}
}

View file

@ -149,7 +149,6 @@
"common.ui.aggTypes.metrics.averageBucketTitle": "平均存储桶",
"common.ui.aggTypes.metrics.averageLabel": "{field}平均值",
"common.ui.aggTypes.metrics.averageTitle": "平均值",
"common.ui.aggTypes.metrics.bucketAggTitle": "存储桶聚合",
"common.ui.aggTypes.metrics.bucketTitle": "存储桶",
"common.ui.aggTypes.metrics.countLabel": "计数",
"common.ui.aggTypes.metrics.countTitle": "计数",
@ -167,7 +166,6 @@
"common.ui.aggTypes.metrics.medianLabel": "{field}中值",
"common.ui.aggTypes.metrics.medianTitle": "中值",
"common.ui.aggTypes.metrics.metricAggregationsSubtypeTitle": "指标聚合",
"common.ui.aggTypes.metrics.metricAggTitle": "指标聚合",
"common.ui.aggTypes.metrics.metricTitle": "指标",
"common.ui.aggTypes.metrics.minBucketTitle": "最小存储桶",
"common.ui.aggTypes.metrics.minLabel": "{field}最小值",
@ -187,7 +185,6 @@
"common.ui.aggTypes.metrics.percentilesTitle": "百分位数",
"common.ui.aggTypes.metrics.serialDiffLabel": "序列差异",
"common.ui.aggTypes.metrics.serialDiffTitle": "序列差异",
"common.ui.aggTypes.metrics.siblingPipelineAggregationsSubtypeTitle": "同级管道聚合",
"common.ui.aggTypes.metrics.standardDeviation.keyDetailsLabel": "“{fieldDisplayName}” 的标准偏差",
"common.ui.aggTypes.metrics.standardDeviation.lowerKeyDetailsTitle": "下{label}",
"common.ui.aggTypes.metrics.standardDeviation.upperKeyDetailsTitle": "上{label}",
@ -603,8 +600,6 @@
"common.ui.vis.editors.agg.toggleEditorButtonAriaLabel": "切换 {schema} 编辑器",
"common.ui.vis.editors.aggAdd.addGroupButtonLabel": "添加{groupNameLabel}",
"common.ui.vis.editors.aggAdd.addSubGroupButtonLabel": "添加子{groupNameLabel}",
"common.ui.vis.editors.aggAdd.cancelButtonLabel": "取消",
"common.ui.vis.editors.aggAdd.selectGroupTypeLabel": "选择{groupNameLabel}类型",
"common.ui.vis.editors.aggGroups.bucketsText": "存储桶",
"common.ui.vis.editors.aggGroups.metricsText": "指标",
"common.ui.vis.editors.aggParams.errors.aggWrongRunOrderErrorMessage": "“{schema}” 聚合必须在所有其他存储桶之前运行!",
@ -2379,11 +2374,6 @@
"kbnESQuery.kql.errors.whitespaceText": "空白",
"kbnVislibVisTypes.area.areaDescription": "突出折线图下方的数量",
"kbnVislibVisTypes.area.areaTitle": "面积图",
"kbnVislibVisTypes.area.groupTitle": "拆分序列",
"kbnVislibVisTypes.area.metricsTitle": "Y 轴",
"kbnVislibVisTypes.area.radiusTitle": "点大小",
"kbnVislibVisTypes.area.segmentTitle": "X 轴",
"kbnVislibVisTypes.area.splitTitle": "拆分图表",
"kbnVislibVisTypes.controls.gaugeOptions.addRangeTitle": "添加范围",
"kbnVislibVisTypes.controls.gaugeOptions.autoExtendRangeLabel": "自动扩展范围",
"kbnVislibVisTypes.controls.gaugeOptions.backTextColorLabel": "背景/文本颜色",
@ -2491,44 +2481,20 @@
"kbnVislibVisTypes.functions.vislib.help": "Vislib 可视化",
"kbnVislibVisTypes.gauge.gaugeDescription": "仪表盘图指示指标的状态。用于显示指标值与参考阈值的相关程度。",
"kbnVislibVisTypes.gauge.gaugeTitle": "仪表盘图",
"kbnVislibVisTypes.gauge.groupTitle": "拆分组",
"kbnVislibVisTypes.gauge.metricTitle": "指标",
"kbnVislibVisTypes.goal.goalDescription": "目标图指示与最终目标的接近程度。",
"kbnVislibVisTypes.goal.goalTitle": "目标图",
"kbnVislibVisTypes.goal.groupTitle": "拆分组",
"kbnVislibVisTypes.goal.metricTitle": "指标",
"kbnVislibVisTypes.heatmap.groupTitle": "Y 轴",
"kbnVislibVisTypes.heatmap.heatmapDescription": "为矩阵中的单元格添加阴影",
"kbnVislibVisTypes.heatmap.heatmapTitle": "热力图",
"kbnVislibVisTypes.heatmap.metricTitle": "Value",
"kbnVislibVisTypes.heatmap.segmentTitle": "X 轴",
"kbnVislibVisTypes.heatmap.splitTitle": "拆分图表",
"kbnVislibVisTypes.histogram.groupTitle": "拆分序列",
"kbnVislibVisTypes.histogram.histogramDescription": "向每个轴赋予连续变量",
"kbnVislibVisTypes.histogram.histogramTitle": "垂直条形图",
"kbnVislibVisTypes.histogram.metricTitle": "Y 轴",
"kbnVislibVisTypes.histogram.radiusTitle": "点大小",
"kbnVislibVisTypes.histogram.segmentTitle": "X 轴",
"kbnVislibVisTypes.histogram.splitTitle": "拆分图表",
"kbnVislibVisTypes.horizontalBar.groupTitle": "拆分序列",
"kbnVislibVisTypes.horizontalBar.horizontalBarDescription": "向每个轴赋予连续变量",
"kbnVislibVisTypes.horizontalBar.horizontalBarTitle": "水平条形图",
"kbnVislibVisTypes.horizontalBar.metricTitle": "Y 轴",
"kbnVislibVisTypes.horizontalBar.radiusTitle": "点大小",
"kbnVislibVisTypes.horizontalBar.segmentTitle": "X 轴",
"kbnVislibVisTypes.horizontalBar.splitTitle": "拆分图表",
"kbnVislibVisTypes.line.groupTitle": "拆分序列",
"kbnVislibVisTypes.line.lineDescription": "突出趋势",
"kbnVislibVisTypes.line.lineTitle": "折线图",
"kbnVislibVisTypes.line.metricTitle": "Y 轴",
"kbnVislibVisTypes.line.radiusTitle": "点大小",
"kbnVislibVisTypes.line.segmentTitle": "X 轴",
"kbnVislibVisTypes.line.splitTitle": "拆分图表",
"kbnVislibVisTypes.pie.metricTitle": "切片大小",
"kbnVislibVisTypes.pie.pieDescription": "比较整体的各个部分",
"kbnVislibVisTypes.pie.pieTitle": "饼图",
"kbnVislibVisTypes.pie.segmentTitle": "拆分切片",
"kbnVislibVisTypes.pie.splitTitle": "拆分图表",
"markdownVis.function.help": "Markdown 可视化",
"markdownVis.markdownDescription": "使用 Markdown 语法创建文档",
"markdownVis.params.fontSizeLabel": "字体大小({fontSize} 磅)",
@ -2559,7 +2525,6 @@
"metricVis.params.style.styleTitle": "样式",
"metricVis.params.style.toggleOptionsAriaLabel": "切换样式选项",
"metricVis.schemas.metricTitle": "指标",
"metricVis.schemas.splitGroupTitle": "拆分组",
"regionMap.choroplethLayer.downloadingVectorData404ErrorMessage": "尝试提取 {name} 时服务器响应状态为“404”。请确保目标文件位于该位置。",
"regionMap.choroplethLayer.downloadingVectorDataErrorMessage": "无法下载 {name} 文件。请确保服务器的 CORS 配置允许来自此主机上的 Kibana 应用程序的请求。",
"regionMap.choroplethLayer.downloadingVectorDataErrorMessageTitle": "下载矢量数据时出错",
@ -2568,8 +2533,6 @@
"regionMap.mapVis.regionMapDescription": "在专题地图上显示指标。使用其中提供的基本地图,或添加自己的地图。颜色越深表示值越大。",
"regionMap.mapVis.regionMapEditorConfig.bottomLeftText": "左下方",
"regionMap.mapVis.regionMapEditorConfig.bottomRightText": "右下方",
"regionMap.mapVis.regionMapEditorConfig.schemas.metricTitle": "Value",
"regionMap.mapVis.regionMapEditorConfig.schemas.segmentTitle": "形状字段",
"regionMap.mapVis.regionMapEditorConfig.topLeftText": "左上方",
"regionMap.mapVis.regionMapEditorConfig.topRightText": "右上方",
"regionMap.mapVis.regionMapTitle": "区域地图",
@ -2675,9 +2638,7 @@
"tableVis.params.showTotalLabel": "显示汇总",
"tableVis.params.totalFunctionLabel": "汇总函数",
"tableVis.tableVisDescription": "在表中显示值",
"tableVis.tableVisEditorConfig.schemas.bucketTitle": "拆分行",
"tableVis.tableVisEditorConfig.schemas.metricTitle": "指标",
"tableVis.tableVisEditorConfig.schemas.splitTitle": "拆分表",
"tableVis.tableVisTitle": "数据表",
"tableVis.vis.noResultsFoundTitle": "找不到结果",
"tagCloud.feedbackMessage.tooSmallContainerDescription": "容器太小,无法显示整个云。标记可能被裁剪或省略。",
@ -2687,7 +2648,6 @@
"tagCloud.function.metric.help": "指标维度配置",
"tagCloud.function.orientation.help": "标签云图内的字方向",
"tagCloud.function.scale.help": "缩放以确定字体大小",
"tagCloud.vis.schemas.metricTitle": "标记大小",
"tagCloud.vis.schemas.segmentTitle": "标记",
"tagCloud.vis.tagCloudDescription": "一组字词,可根据其重要性调整大小",
"tagCloud.vis.tagCloudTitle": "标签云图",
@ -2708,7 +2668,6 @@
"tileMap.vis.map.editorConfig.legendPositions.bottomRightText": "右下方",
"tileMap.vis.map.editorConfig.legendPositions.topLeftText": "左上方",
"tileMap.vis.map.editorConfig.legendPositions.topRightText": "右上方",
"tileMap.vis.map.editorConfig.schemas.geoCoordinatesTitle": "地理坐标",
"tileMap.vis.map.editorConfig.schemas.metricTitle": "Value",
"tileMap.vis.mapDescription": "在地图上绘制纬度和经度坐标",
"tileMap.vis.mapTitle": "坐标地图",

View file

@ -294,7 +294,7 @@ export default function ({ getService, getPageObjects }) {
it('becomes available when saved', async () => {
await PageObjects.reporting.setTimepickerInDataRange();
await PageObjects.visualize.clickBucket('X-Axis');
await PageObjects.visualize.clickBucket('X-axis');
await PageObjects.visualize.selectAggregation('Date Histogram');
await PageObjects.visualize.clickGo();
await PageObjects.visualize.saveVisualization('my viz');