Shim vis_type_vislib (#53536) (#55001)

* shim of kbn_vislib_vis_types (now vis_type_vislib)
* Move vislib into vis_type_vislib plugin
* Convert remaining plugin files to typescript
* Rename vis to vis_type_vislib
This commit is contained in:
Nick Partridge 2020-01-16 08:26:41 -06:00 committed by GitHub
parent 5af82baccb
commit 2df5eb1ed6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
284 changed files with 1501 additions and 977 deletions

View file

@ -9,7 +9,7 @@ bower_components
/built_assets
/html_docs
/src/plugins/data/common/es_query/kuery/ast/_generated_/**
/src/fixtures/vislib/mock_data
src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data
/src/legacy/ui/public/angular-bootstrap
/src/legacy/ui/public/flot-charts
/test/fixtures/scenarios

View file

@ -77,7 +77,7 @@ module.exports = {
},
},
{
files: ['src/legacy/core_plugins/kbn_vislib_vis_types/**/*.{js,ts,tsx}'],
files: ['src/legacy/core_plugins/vis_type_vislib/**/*.{js,ts,tsx}'],
rules: {
'react-hooks/exhaustive-deps': 'off',
},

View file

@ -21,7 +21,7 @@
"interpreter": "src/legacy/core_plugins/interpreter",
"kbn": "src/legacy/core_plugins/kibana",
"kbnDocViews": "src/legacy/core_plugins/kbn_doc_views",
"kbnVislibVisTypes": "src/legacy/core_plugins/kbn_vislib_vis_types",
"kbnVislibVisTypes": "src/legacy/core_plugins/vis_type_vislib",
"management": ["src/legacy/core_plugins/management", "src/plugins/management"],
"kibana_react": "src/legacy/core_plugins/kibana_react",
"kibana-react": "src/plugins/kibana_react",

View file

@ -2,7 +2,7 @@ files:
include:
- 'src/legacy/core_plugins/metrics/**/*.s+(a|c)ss'
- 'src/legacy/core_plugins/timelion/**/*.s+(a|c)ss'
- 'src/legacy/ui/public/vislib/**/*.s+(a|c)ss'
- 'src/legacy/core_plugins/vis_type_vislib/**/*.s+(a|c)ss'
- 'x-pack/legacy/plugins/rollup/**/*.s+(a|c)ss'
- 'x-pack/legacy/plugins/security/**/*.s+(a|c)ss'
- 'x-pack/legacy/plugins/canvas/**/*.s+(a|c)ss'

View file

@ -120,7 +120,7 @@ export const TEMPORARILY_IGNORED_PATHS = [
'src/legacy/core_plugins/timelion/server/series_functions/__tests__/fixtures/seriesList.js',
'src/legacy/core_plugins/timelion/server/series_functions/__tests__/fixtures/tlConfig.js',
'src/fixtures/config_upgrade_from_4.0.0_to_4.0.1-snapshot.json',
'src/fixtures/vislib/mock_data/terms/_seriesMultiple.js',
'src/legacy/core_plugins/vis_type_vislib/public/vislib/__tests__/lib/fixtures/mock_data/terms/_seriesMultiple.js',
'src/legacy/ui/public/angular-bootstrap/bindHtml/bindHtml.js',
'src/legacy/ui/public/angular-bootstrap/tooltip/tooltip-html-unsafe-popup.html',
'src/legacy/ui/public/angular-bootstrap/tooltip/tooltip-popup.html',

View file

@ -1,4 +0,0 @@
{
"name": "kbn_vislib_vis_types",
"version": "kibana"
}

View file

@ -1,140 +0,0 @@
/*
* 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 $ from 'jquery';
import React from 'react';
import {
CUSTOM_LEGEND_VIS_TYPES,
VisLegend,
} from '../../../ui/public/vis/vis_types/vislib_vis_legend';
import { VislibVisProvider } from '../../../ui/public/vislib/vis';
import chrome from '../../../ui/public/chrome';
import { mountReactNode } from '../../../../core/public/utils';
const legendClassName = {
top: 'visLib--legend-top',
bottom: 'visLib--legend-bottom',
left: 'visLib--legend-left',
right: 'visLib--legend-right',
};
export class vislibVisController {
constructor(el, vis) {
this.el = el;
this.vis = vis;
this.unmount = null;
this.legendRef = React.createRef();
// vis mount point
this.container = document.createElement('div');
this.container.className = 'visLib';
this.el.appendChild(this.container);
// chart mount point
this.chartEl = document.createElement('div');
this.chartEl.className = 'visLib__chart';
this.container.appendChild(this.chartEl);
// legend mount point
this.legendEl = document.createElement('div');
this.legendEl.className = 'visLib__legend';
this.container.appendChild(this.legendEl);
}
render(esResponse, visParams) {
if (this.vislibVis) {
this.destroy();
}
return new Promise(async resolve => {
if (!this.vislib) {
const $injector = await chrome.dangerouslyGetActiveInjector();
const Private = $injector.get('Private');
this.Vislib = Private(VislibVisProvider);
}
if (this.el.clientWidth === 0 || this.el.clientHeight === 0) {
return resolve();
}
this.vislibVis = new this.Vislib(this.chartEl, visParams);
this.vislibVis.on('brush', this.vis.API.events.brush);
this.vislibVis.on('click', this.vis.API.events.filter);
this.vislibVis.on('renderComplete', resolve);
this.vislibVis.initVisConfig(esResponse, this.vis.getUiState());
if (visParams.addLegend) {
$(this.container)
.attr('class', (i, cls) => {
return cls.replace(/visLib--legend-\S+/g, '');
})
.addClass(legendClassName[visParams.legendPosition]);
this.mountLegend(esResponse, visParams.legendPosition);
}
this.vislibVis.render(esResponse, this.vis.getUiState());
// refreshing the legend after the chart is rendered.
// this is necessary because some visualizations
// provide data necessary for the legend only after a render cycle.
if (
visParams.addLegend &&
CUSTOM_LEGEND_VIS_TYPES.includes(this.vislibVis.visConfigArgs.type)
) {
this.unmountLegend();
this.mountLegend(esResponse, visParams.legendPosition);
this.vislibVis.render(esResponse, this.vis.getUiState());
}
});
}
mountLegend(visData, position) {
this.unmount = mountReactNode(
<VisLegend
ref={this.legendRef}
vis={this.vis}
vislibVis={this.vislibVis}
visData={visData}
position={position}
uiState={this.vis.getUiState()}
/>
)(this.legendEl);
}
unmountLegend() {
if (this.unmount) {
this.unmount();
}
}
destroy() {
if (this.unmount) {
this.unmount();
}
if (this.vislibVis) {
this.vislibVis.off('brush', this.vis.API.events.brush);
this.vislibVis.off('click', this.vis.API.events.filter);
this.vislibVis.destroy();
delete this.vislibVis;
}
}
}

View file

@ -1,50 +0,0 @@
/*
* 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 { RangeValues } from 'ui/vis/editors/default/controls/ranges';
import { Alignments, GaugeTypes } from './utils/collections';
import { ColorSchemaVislibParams, Labels, Style } from './types';
interface Gauge extends ColorSchemaVislibParams {
backStyle: 'Full';
gaugeStyle: 'Full';
orientation: 'vertical';
type: 'meter';
alignment: Alignments;
colorsRange: RangeValues[];
extendRange: boolean;
gaugeType: GaugeTypes;
labels: Labels;
percentageMode: boolean;
outline?: boolean;
scale: {
show: boolean;
labels: false;
color: 'rgba(105,112,125,0.2)';
};
style: Style;
}
export interface GaugeVisParams {
type: 'gauge';
addTooltip: boolean;
addLegend: boolean;
isDisplayWarning: boolean;
gauge: Gauge;
}

View file

@ -1,36 +0,0 @@
/*
* 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 { ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { RangeValues } from 'ui/vis/editors/default/controls/ranges';
import { TimeMarker } from 'ui/vislib/visualizations/time_marker';
import { CommonVislibParams, ColorSchemaVislibParams, ValueAxis } from './types';
import { Positions } from './utils/collections';
export interface HeatmapVisParams extends CommonVislibParams, ColorSchemaVislibParams {
type: 'heatmap';
addLegend: boolean;
enableHover: boolean;
colorsNumber: number | '';
colorsRange: RangeValues[];
valueAxes: ValueAxis[];
setColorRange: boolean;
percentageMode: boolean;
times: TimeMarker[];
}

View file

@ -1,38 +0,0 @@
/*
* 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 { setup as visualizations } from '../../visualizations/public/np_ready/public/legacy';
import { histogramDefinition } from './histogram';
import { lineDefinition } from './line';
import { pieDefinition } from './pie';
import { areaDefinition } from './area';
import { heatmapDefinition } from './heatmap';
import { horizontalBarDefinition } from './horizontal_bar';
import { gaugeDefinition } from './gauge';
import { goalDefinition } from './goal';
visualizations.types.createBaseVisualization(histogramDefinition);
visualizations.types.createBaseVisualization(lineDefinition);
visualizations.types.createBaseVisualization(pieDefinition);
visualizations.types.createBaseVisualization(areaDefinition);
visualizations.types.createBaseVisualization(heatmapDefinition);
visualizations.types.createBaseVisualization(horizontalBarDefinition);
visualizations.types.createBaseVisualization(gaugeDefinition);
visualizations.types.createBaseVisualization(goalDefinition);

View file

@ -7,6 +7,9 @@
// Public UI styles
@import 'src/legacy/ui/public/index';
// vis_type_vislib UI styles
@import 'src/legacy/core_plugins/vis_type_vislib/public/index';
// Dev tools styles
@import './dev_tools/index';

View file

@ -52,7 +52,7 @@ import './visualize';
import './dashboard';
import './management';
import './dev_tools';
import 'ui/vislib';
import 'ui/color_maps';
import 'ui/agg_response';
import 'ui/agg_types';
import { showAppRedirectNotification } from 'ui/notify';

View file

@ -23,7 +23,7 @@ import _ from 'lodash';
import d3 from 'd3';
import { i18n } from '@kbn/i18n';
import { KibanaMapLayer } from 'ui/vis/map/kibana_map_layer';
import { truncatedColorMaps } from 'ui/vislib/components/color/truncated_colormaps';
import { truncatedColorMaps } from 'ui/color_maps';
import * as topojson from 'topojson-client';
import { toastNotifications } from 'ui/notify';
import * as colorUtil from 'ui/vis/map/color_util';

View file

@ -28,7 +28,7 @@ import {
NumberInputOption,
SelectOption,
SwitchOption,
} from '../../../kbn_vislib_vis_types/public/components';
} from '../../../vis_type_vislib/public/components';
import { WmsOptions } from '../../../tile_map/public/components/wms_options';
import { RegionMapVisParams } from '../types';

View file

@ -19,7 +19,7 @@
import React from 'react';
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { colorSchemas } from 'ui/vislib/components/color/truncated_colormaps';
import { truncatedColorSchemas as colorSchemas } from 'ui/color_maps';
import { mapToLayerWithId } from './util';
import { createRegionMapVisualization } from './region_map_visualization';
import { Status } from '../../visualizations/public';

View file

@ -19,7 +19,7 @@
import { i18n } from '@kbn/i18n';
import ChoroplethLayer from './choropleth_layer';
import { truncatedColorMaps } from 'ui/vislib/components/color/truncated_colormaps';
import { truncatedColorMaps } from 'ui/color_maps';
import { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
import { toastNotifications } from 'ui/notify';

View file

@ -27,7 +27,7 @@ import {
RangeOption,
SelectOption,
SwitchOption,
} from '../../../kbn_vislib_vis_types/public/components';
} from '../../../vis_type_vislib/public/components';
import { WmsOptions } from './wms_options';
import { TileMapVisParams } from '../types';
import { MapTypes } from '../map_types';

View file

@ -21,7 +21,7 @@ import React from 'react';
import { EuiLink, EuiSpacer, EuiText, EuiScreenReaderOnly } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { TextInputOption } from '../../../kbn_vislib_vis_types/public/components';
import { TextInputOption } from '../../../vis_type_vislib/public/components';
import { WMSOptions } from '../types';
interface WmsInternalOptions {

View file

@ -25,7 +25,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { TmsLayer } from 'ui/vis/map/service_settings';
import { Vis } from 'ui/vis';
import { RegionMapVisParams } from '../../../region_map/public/types';
import { SelectOption, SwitchOption } from '../../../kbn_vislib_vis_types/public/components';
import { SelectOption, SwitchOption } from '../../../vis_type_vislib/public/components';
import { WmsInternalOptions } from './wms_internal_options';
import { WMSOptions, TileMapVisParams } from '../types';

View file

@ -22,7 +22,7 @@ import _ from 'lodash';
import d3 from 'd3';
import $ from 'jquery';
import { EventEmitter } from 'events';
import { truncatedColorMaps } from 'ui/vislib/components/color/truncated_colormaps';
import { truncatedColorMaps } from 'ui/color_maps';
import * as colorUtil from 'ui/vis/map/color_util';
export class ScaledCirclesMarkers extends EventEmitter {

View file

@ -21,7 +21,7 @@ import React from 'react';
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { colorSchemas } from 'ui/vislib/components/color/truncated_colormaps';
import { truncatedColorSchemas as colorSchemas } from 'ui/color_maps';
import { convertToGeoJson } from 'ui/vis/map/convert_to_geojson';
import { createTileMapVisualization } from './tile_map_visualization';

View file

@ -22,7 +22,7 @@ import { EuiPanel } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { RangeOption, SwitchOption } from '../../kbn_vislib_vis_types/public/components';
import { RangeOption, SwitchOption } from '../../vis_type_vislib/public/components';
import { MarkdownVisParams } from './types';
function SettingsOptions({ stateParams, setValue }: VisOptionsProps<MarkdownVisParams>) {

View file

@ -20,7 +20,7 @@
import { last, findIndex, isNaN } from 'lodash';
import React, { Component } from 'react';
import { isColorDark } from '@elastic/eui';
import { getHeatmapColors } from 'ui/vislib/components/color/heatmap_color';
import { getHeatmapColors } from 'ui/color_maps';
import { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
import { MetricVisValue } from './metric_vis_value';

View file

@ -36,8 +36,8 @@ import {
SwitchOption,
RangeOption,
SetColorSchemaOptionsValue,
} from '../../../kbn_vislib_vis_types/public/components';
import { ColorModes } from '../../../kbn_vislib_vis_types/public/utils/collections';
} from '../../../vis_type_vislib/public/components';
import { ColorModes } from '../../../vis_type_vislib/public/utils/collections';
import { MetricVisParam, VisParams } from '../types';
function MetricVisOptions({

View file

@ -19,7 +19,7 @@
import { i18n } from '@kbn/i18n';
import { vislibColorMaps, ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { vislibColorMaps, ColorSchemas } from 'ui/color_maps';
import {
ExpressionFunction,
KibanaDatatable,
@ -27,7 +27,7 @@ import {
Render,
Style,
} from '../../../../plugins/expressions/public';
import { ColorModes } from '../../kbn_vislib_vis_types/public/utils/collections';
import { ColorModes } from '../../vis_type_vislib/public/utils/collections';
import { visType, DimensionsVisParam, VisParams } from './types';
type Context = KibanaDatatable;

View file

@ -23,13 +23,13 @@ import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
import { colorSchemas, ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { colorSchemas, ColorSchemas } from 'ui/color_maps';
// @ts-ignore
import { MetricVisComponent } from './components/metric_vis_controller';
import { MetricVisOptions } from './components/metric_vis_options';
import { ColorModes } from '../../kbn_vislib_vis_types/public/utils/collections';
import { ColorModes } from '../../vis_type_vislib/public/utils/collections';
export const metricVisDefinition = {
name: 'metric',

View file

@ -17,11 +17,11 @@
* under the License.
*/
import { ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { ColorSchemas } from 'ui/color_maps';
import { RangeValues } from 'ui/vis/editors/default/controls/ranges';
import { SchemaConfig } from '../../visualizations/public';
import { ColorModes } from '../../kbn_vislib_vis_types/public/utils/collections';
import { Labels, Style } from '../../kbn_vislib_vis_types/public/types';
import { ColorModes } from '../../vis_type_vislib/public/utils/collections';
import { Labels, Style } from '../../vis_type_vislib/public/types';
export const visType = 'metric';

View file

@ -28,7 +28,7 @@ import {
NumberInputOption,
SwitchOption,
SelectOption,
} from '../../../kbn_vislib_vis_types/public/components/common';
} from '../../../vis_type_vislib/public/components/common';
import { TableVisParams } from '../types';
import { totalAggregations, isAggConfigNumeric } from './utils';

View file

@ -23,7 +23,7 @@ import { i18n } from '@kbn/i18n';
import { ValidatedDualRange } from 'ui/validated_range';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { SelectOption, SwitchOption } from '../../../kbn_vislib_vis_types/public/components';
import { SelectOption, SwitchOption } from '../../../vis_type_vislib/public/components';
import { TagCloudVisParams } from '../types';
function TagCloudOptions({ stateParams, setValue, vis }: VisOptionsProps<TagCloudVisParams>) {

View file

@ -0,0 +1,44 @@
/*
* 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 { resolve } from 'path';
import { Legacy } from 'kibana';
import { LegacyPluginApi, LegacyPluginInitializer } from '../../types';
const kbnVislibVisTypesPluginInitializer: LegacyPluginInitializer = ({ Plugin }: LegacyPluginApi) =>
new Plugin({
id: 'vis_type_vislib',
require: ['kibana', 'elasticsearch', 'visualizations', 'interpreter', 'data'],
publicDir: resolve(__dirname, 'public'),
styleSheetPaths: resolve(__dirname, 'public/index.scss'),
uiExports: {
hacks: [resolve(__dirname, 'public/legacy')],
injectDefaultVars: server => ({}),
},
init: (server: Legacy.Server) => ({}),
config(Joi: any) {
return Joi.object({
enabled: Joi.boolean().default(true),
}).default();
},
} as Legacy.PluginSpecOptions);
// eslint-disable-next-line import/no-default-export
export default kbnVislibVisTypesPluginInitializer;

View file

@ -0,0 +1,4 @@
{
"name": "vis_type_vislib",
"version": "kibana"
}

View file

@ -0,0 +1 @@
@import './vislib/index'

View file

@ -18,8 +18,12 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
// @ts-ignore
import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { Schemas, AggGroupNames } from './legacy_imports';
import {
Positions,
ChartTypes,
@ -33,17 +37,17 @@ import {
getConfigCollections,
} from './utils/collections';
import { getAreaOptionTabs, countLabel } from './utils/common_config';
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { KbnVislibVisTypesDependencies } from './plugin';
export const areaDefinition = {
export const createAreaVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'area',
title: i18n.translate('kbnVislibVisTypes.area.areaTitle', { defaultMessage: 'Area' }),
icon: 'visArea',
description: i18n.translate('kbnVislibVisTypes.area.areaDescription', {
defaultMessage: 'Emphasize the quantity beneath a line chart',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
type: 'area',
@ -132,7 +136,9 @@ export const areaDefinition = {
{
group: AggGroupNames.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: [{ schema: 'metric', type: 'count' }],
@ -140,7 +146,9 @@ export const areaDefinition = {
{
group: AggGroupNames.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'],
@ -148,7 +156,9 @@ export const areaDefinition = {
{
group: AggGroupNames.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'],
@ -175,4 +185,4 @@ export const areaDefinition = {
},
]),
},
};
});

View file

@ -20,7 +20,7 @@
import React from 'react';
import { i18n } from '@kbn/i18n';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../legacy_imports';
import { SwitchOption } from './switch';
import { SelectOption } from './select';

View file

@ -19,9 +19,10 @@
import React, { useCallback } from 'react';
import { last } from 'lodash';
import { i18n } from '@kbn/i18n';
import { RangeValues, RangesParamEditor } from 'ui/vis/editors/default/controls/ranges';
import { RangeValues, RangesParamEditor } from '../../legacy_imports';
interface ColorRangesProps {
'data-test-subj'?: string;

View file

@ -22,8 +22,7 @@ import { i18n } from '@kbn/i18n';
import { EuiLink, EuiText } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { ColorSchema } from 'ui/vislib/components/color/colormaps';
import { VisOptionsProps, ColorSchema } from '../../legacy_imports';
import { SelectOption } from './select';
import { SwitchOption } from './switch';
import { ColorSchemaVislibParams } from '../../types';

View file

@ -18,7 +18,8 @@
*/
import React, { useEffect, useState, useCallback } from 'react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../legacy_imports';
export interface ValidationVisOptionsProps<T> extends VisOptionsProps<T> {
setMultipleValidity(paramName: string, isValid: boolean): void;

View file

@ -20,7 +20,7 @@
import React, { useCallback } from 'react';
import { EuiSpacer } from '@elastic/eui';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { GaugeVisParams } from '../../../gauge';
import { RangesPanel } from './ranges_panel';
import { StylePanel } from './style_panel';

View file

@ -22,7 +22,7 @@ import { EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { ColorSchemas } from '../../../legacy_imports';
import { ColorRanges, ColorSchemaOptions, SwitchOption } from '../../common';
import { GaugeOptionsInternalProps } from '.';
import { ColorSchemaVislibParams } from '../../../types';

View file

@ -22,7 +22,7 @@ import { EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { AggGroupNames } from 'ui/vis/editors/default';
import { AggGroupNames } from '../../../legacy_imports';
import { SelectOption } from '../../common';
import { GaugeOptionsInternalProps } from '.';

View file

@ -18,11 +18,12 @@
*/
import React, { useCallback, useEffect, useState } from 'react';
import { EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import {
BasicOptions,
ColorRanges,

View file

@ -18,11 +18,12 @@
*/
import React, { useCallback } from 'react';
import { EuiColorPicker, EuiFormRow, EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { ValueAxis } from '../../../types';
import { HeatmapVisParams } from '../../../heatmap';
import { SwitchOption } from '../../common';

View file

@ -25,6 +25,8 @@ import { Positions, getPositions } from '../../../utils/collections';
import { LabelOptions } from './label_options';
import { categoryAxis } from './mocks';
jest.mock('ui/new_platform');
const positions = getPositions();
describe('CategoryAxisPanel component', () => {

View file

@ -18,11 +18,12 @@
*/
import React, { useCallback } from 'react';
import { EuiPanel, EuiTitle, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { BasicVislibParams, Axis } from '../../../types';
import { SelectOption, SwitchOption } from '../../common';
import { LabelOptions } from './label_options';

View file

@ -31,6 +31,8 @@ import {
} from '../../../utils/collections';
import { valueAxis, seriesParam } from './mocks';
jest.mock('ui/new_platform');
const interpolationModes = getInterpolationModes();
const chartTypes = getChartTypes();
const chartModes = getChartModes();

View file

@ -18,10 +18,11 @@
*/
import React, { useMemo, useCallback } from 'react';
import { i18n } from '@kbn/i18n';
import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { BasicVislibParams, SeriesParam, ValueAxis } from '../../../types';
import { ChartTypes } from '../../../utils/collections';
import { SelectOption } from '../../common';

View file

@ -28,6 +28,8 @@ const DEFAULT_Y_EXTENTS = 'defaultYExtents';
const SCALE = 'scale';
const SET_Y_EXTENTS = 'setYExtents';
jest.mock('ui/new_platform');
describe('CustomExtentsOptions component', () => {
let setValueAxis: jest.Mock;
let setValueAxisScale: jest.Mock;

View file

@ -19,6 +19,7 @@
import React from 'react';
import { mount, shallow } from 'enzyme';
import { MetricsAxisOptions } from './index';
import { BasicVislibParams, SeriesParam, ValueAxis } from '../../../types';
import { ValidationVisOptionsProps } from '../../common';
@ -26,10 +27,10 @@ import { Positions } from '../../../utils/collections';
import { ValueAxesPanel } from './value_axes_panel';
import { CategoryAxisPanel } from './category_axis_panel';
import { ChartTypes } from '../../../utils/collections';
import { AggConfig } from 'ui/vis';
import { AggType } from 'ui/agg_types';
import { AggConfig, AggType } from '../../../legacy_imports';
import { defaultValueAxisId, valueAxis, seriesParam, categoryAxis } from './mocks';
jest.mock('ui/new_platform');
jest.mock('./series_panel', () => ({
SeriesPanel: () => 'SeriesPanel',
}));

View file

@ -21,7 +21,7 @@ import React, { useState, useEffect, useCallback, useMemo } from 'react';
import { cloneDeep, uniq, get } from 'lodash';
import { EuiSpacer } from '@elastic/eui';
import { AggConfig } from 'ui/vis';
import { AggConfig } from '../../../legacy_imports';
import { BasicVislibParams, ValueAxis, SeriesParam, Axis } from '../../../types';
import { ValidationVisOptionsProps } from '../../common';
import { SeriesPanel } from './series_panel';

View file

@ -23,6 +23,8 @@ import { LabelOptions, LabelOptionsProps } from './label_options';
import { TruncateLabelsOption } from '../../common';
import { valueAxis, categoryAxis } from './mocks';
jest.mock('ui/new_platform');
const FILTER = 'filter';
const ROTATE = 'rotate';
const DISABLED = 'disabled';

View file

@ -18,11 +18,12 @@
*/
import React, { useCallback, useMemo } from 'react';
import { EuiTitle, EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { BasicVislibParams, Axis } from '../../../types';
import { SelectOption, SwitchOption, TruncateLabelsOption } from '../../common';
import { getRotateOptions } from '../../../utils/collections';

View file

@ -24,6 +24,8 @@ import { NumberInputOption } from '../../common';
import { getInterpolationModes } from '../../../utils/collections';
import { seriesParam } from './mocks';
jest.mock('ui/new_platform');
const LINE_WIDTH = 'lineWidth';
const DRAW_LINES = 'drawLinesBetweenPoints';
const interpolationModes = getInterpolationModes();

View file

@ -18,10 +18,11 @@
*/
import React, { useCallback } from 'react';
import { i18n } from '@kbn/i18n';
import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
import { Vis } from 'ui/vis';
import { Vis } from '../../../legacy_imports';
import { SeriesParam } from '../../../types';
import { NumberInputOption, SelectOption, SwitchOption } from '../../common';
import { SetChart } from './chart_options';

View file

@ -18,11 +18,12 @@
*/
import React from 'react';
import { EuiPanel, EuiTitle, EuiSpacer, EuiAccordion } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { BasicVislibParams } from '../../../types';
import { ChartOptions } from './chart_options';
import { SetParamByIndex, ChangeValueAxis } from './';

View file

@ -44,7 +44,7 @@ const makeSerie = (
};
const isAxisHorizontal = (position: Positions) =>
[Positions.TOP, Positions.BOTTOM].includes(position);
[Positions.TOP, Positions.BOTTOM].includes(position as any);
const RADIX = 10;

View file

@ -25,6 +25,8 @@ import { Positions, getScaleTypes, getAxisModes, getPositions } from '../../../u
import { mountWithIntl } from 'test_utils/enzyme_helpers';
import { valueAxis, seriesParam } from './mocks';
jest.mock('ui/new_platform');
const positions = getPositions();
const axisModes = getAxisModes();
const scaleTypes = getScaleTypes();

View file

@ -32,6 +32,8 @@ import {
} from '../../../utils/collections';
import { valueAxis, categoryAxis } from './mocks';
jest.mock('ui/new_platform');
const POSITION = 'position';
const positions = getPositions();
const axisModes = getAxisModes();

View file

@ -100,7 +100,7 @@ function ValueAxisOptions(props: ValueAxisOptionsParams) {
if (isCategoryAxisHorizontal) {
return isAxisHorizontal(position);
}
return [Positions.LEFT, Positions.RIGHT].includes(position);
return [Positions.LEFT, Positions.RIGHT].includes(position as any);
},
[isCategoryAxisHorizontal]
);

View file

@ -23,6 +23,8 @@ import { YExtents, YExtentsProps } from './y_extents';
import { ScaleTypes } from '../../../utils/collections';
import { NumberInputOption } from '../../common';
jest.mock('ui/new_platform');
describe('YExtents component', () => {
let setMultipleValidity: jest.Mock;
let setScale: jest.Mock;

View file

@ -17,11 +17,12 @@
* under the License.
*/
import React from 'react';
import { EuiPanel, EuiTitle, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../legacy_imports';
import { BasicOptions, TruncateLabelsOption, SwitchOption } from '../common';
import { PieVisParams } from '../../pie';

View file

@ -17,11 +17,12 @@
* under the License.
*/
import React, { useMemo, useEffect, useCallback } from 'react';
import { EuiPanel, EuiTitle, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'ui/vis/editors/default';
import { VisOptionsProps } from '../../../legacy_imports';
import { SelectOption, SwitchOption } from '../../common';
import { BasicVislibParams, ValueAxis } from '../../../types';

View file

@ -18,14 +18,43 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
import { ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { Schemas, AggGroupNames, ColorSchemas, RangeValues } from './legacy_imports';
import { GaugeOptions } from './components/options';
import { getGaugeCollections, Alignments, ColorModes, GaugeTypes } from './utils/collections';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { ColorSchemaVislibParams, Labels, Style } from './types';
import { KbnVislibVisTypesDependencies } from './plugin';
export const gaugeDefinition = {
export interface Gauge extends ColorSchemaVislibParams {
backStyle: 'Full';
gaugeStyle: 'Full';
orientation: 'vertical';
type: 'meter';
alignment: Alignments;
colorsRange: RangeValues[];
extendRange: boolean;
gaugeType: GaugeTypes;
labels: Labels;
percentageMode: boolean;
outline?: boolean;
scale: {
show: boolean;
labels: false;
color: 'rgba(105,112,125,0.2)';
};
style: Style;
}
export interface GaugeVisParams {
type: 'gauge';
addTooltip: boolean;
addLegend: boolean;
isDisplayWarning: boolean;
gauge: Gauge;
}
export const createGaugeVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'gauge',
title: i18n.translate('kbnVislibVisTypes.gauge.gaugeTitle', { defaultMessage: 'Gauge' }),
icon: 'visGauge',
@ -79,7 +108,7 @@ export const gaugeDefinition = {
},
},
},
visualization: vislibVisController,
visualization: createVislibVisController(deps),
editorConfig: {
collections: getGaugeCollections(),
optionsTemplate: GaugeOptions,
@ -115,4 +144,4 @@ export const gaugeDefinition = {
]),
},
useCustomNoDataScreen: true,
};
});

View file

@ -18,21 +18,21 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
import { ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { Schemas, AggGroupNames, ColorSchemas } from './legacy_imports';
import { GaugeOptions } from './components/options';
import { getGaugeCollections, GaugeTypes, ColorModes } from './utils/collections';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { KbnVislibVisTypesDependencies } from './plugin';
export const goalDefinition = {
export const createGoalVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'goal',
title: i18n.translate('kbnVislibVisTypes.goal.goalTitle', { defaultMessage: 'Goal' }),
icon: 'visGoal',
description: i18n.translate('kbnVislibVisTypes.goal.goalDescription', {
defaultMessage: 'A goal chart indicates how close you are to your final goal.',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
addTooltip: true,
@ -108,4 +108,4 @@ export const goalDefinition = {
]),
},
useCustomNoDataScreen: true,
};
});

View file

@ -18,21 +18,35 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
import { ColorSchemas } from 'ui/vislib/components/color/colormaps';
import { Schemas, AggGroupNames, ColorSchemas, RangeValues } from './legacy_imports';
import { AxisTypes, getHeatmapCollections, Positions, ScaleTypes } from './utils/collections';
import { HeatmapOptions } from './components/options';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { TimeMarker } from './vislib/visualizations/time_marker';
import { CommonVislibParams, ColorSchemaVislibParams, ValueAxis } from './types';
import { KbnVislibVisTypesDependencies } from './plugin';
export const heatmapDefinition = {
export interface HeatmapVisParams extends CommonVislibParams, ColorSchemaVislibParams {
type: 'heatmap';
addLegend: boolean;
enableHover: boolean;
colorsNumber: number | '';
colorsRange: RangeValues[];
valueAxes: ValueAxis[];
setColorRange: boolean;
percentageMode: boolean;
times: TimeMarker[];
}
export const createHeatmapVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'heatmap',
title: i18n.translate('kbnVislibVisTypes.heatmap.heatmapTitle', { defaultMessage: 'Heat Map' }),
icon: 'visHeatmap',
description: i18n.translate('kbnVislibVisTypes.heatmap.heatmapDescription', {
defaultMessage: 'Shade cells within a matrix',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
type: 'heatmap',
@ -122,4 +136,4 @@ export const heatmapDefinition = {
},
]),
},
};
});

View file

@ -18,8 +18,13 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
// @ts-ignore
import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { Schemas, AggGroupNames } from './legacy_imports';
import {
Positions,
ChartTypes,
@ -32,10 +37,10 @@ import {
getConfigCollections,
} from './utils/collections';
import { getAreaOptionTabs, countLabel } from './utils/common_config';
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { KbnVislibVisTypesDependencies } from './plugin';
export const histogramDefinition = {
export const createHistogramVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'histogram',
title: i18n.translate('kbnVislibVisTypes.histogram.histogramTitle', {
defaultMessage: 'Vertical Bar',
@ -44,7 +49,7 @@ export const histogramDefinition = {
description: i18n.translate('kbnVislibVisTypes.histogram.histogramDescription', {
defaultMessage: 'Assign a continuous variable to each axis',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
type: 'histogram',
@ -183,4 +188,4 @@ export const histogramDefinition = {
},
]),
},
};
});

View file

@ -18,8 +18,13 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
// @ts-ignore
import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { Schemas, AggGroupNames } from './legacy_imports';
import {
Positions,
ChartTypes,
@ -32,10 +37,10 @@ import {
getConfigCollections,
} from './utils/collections';
import { getAreaOptionTabs, countLabel } from './utils/common_config';
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { KbnVislibVisTypesDependencies } from './plugin';
export const horizontalBarDefinition = {
export const createHorizontalBarVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'horizontal_bar',
title: i18n.translate('kbnVislibVisTypes.horizontalBar.horizontalBarTitle', {
defaultMessage: 'Horizontal Bar',
@ -44,7 +49,7 @@ export const horizontalBarDefinition = {
description: i18n.translate('kbnVislibVisTypes.horizontalBar.horizontalBarDescription', {
defaultMessage: 'Assign a continuous variable to each axis',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
type: 'histogram',
@ -182,4 +187,4 @@ export const horizontalBarDefinition = {
},
]),
},
};
});

View file

@ -17,16 +17,9 @@
* under the License.
*/
import { CommonVislibParams } from './types';
import { PluginInitializerContext } from '../../../../core/public';
import { KbnVislibVisTypesPlugin as Plugin } from './plugin';
export interface PieVisParams extends CommonVislibParams {
type: 'pie';
addLegend: boolean;
isDonut: boolean;
labels: {
show: boolean;
values: boolean;
last_level: boolean;
truncate: number | null;
};
export function plugin(initializerContext: PluginInitializerContext) {
return new Plugin(initializerContext);
}

View file

@ -0,0 +1,74 @@
/*
* 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 { npSetup, npStart } from 'ui/new_platform';
import { PluginInitializerContext } from 'kibana/public';
/* eslint-disable prettier/prettier */
import {
initializeHierarchicalTooltipFormatter,
getHierarchicalTooltipFormatter,
// @ts-ignore
} from 'ui/vis/components/tooltip/_hierarchical_tooltip_formatter';
import {
initializePointSeriesTooltipFormatter,
getPointSeriesTooltipFormatter,
// @ts-ignore
} from 'ui/vis/components/tooltip/_pointseries_tooltip_formatter';
import {
vislibSeriesResponseHandlerProvider,
vislibSlicesResponseHandlerProvider,
// @ts-ignore
} from 'ui/vis/response_handlers/vislib';
// @ts-ignore
import { vislibColor } from 'ui/vis/components/color/color';
import { plugin } from '.';
import {
KbnVislibVisTypesPluginSetupDependencies,
KbnVislibVisTypesPluginStartDependencies,
} from './plugin';
import {
setup as visualizationsSetup,
start as visualizationsStart,
} from '../../visualizations/public/np_ready/public/legacy';
const setupPlugins: Readonly<KbnVislibVisTypesPluginSetupDependencies> = {
expressions: npSetup.plugins.expressions,
visualizations: visualizationsSetup,
__LEGACY: {
initializeHierarchicalTooltipFormatter,
getHierarchicalTooltipFormatter,
initializePointSeriesTooltipFormatter,
getPointSeriesTooltipFormatter,
vislibSeriesResponseHandlerProvider,
vislibSlicesResponseHandlerProvider,
vislibColor,
},
};
const startPlugins: Readonly<KbnVislibVisTypesPluginStartDependencies> = {
expressions: npStart.plugins.expressions,
visualizations: visualizationsStart,
};
const pluginInstance = plugin({} as PluginInitializerContext);
export const setup = pluginInstance.setup(npSetup.core, setupPlugins);
export const start = pluginInstance.start(npStart.core, startPlugins);

View file

@ -0,0 +1,35 @@
/*
* 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.
*/
export { AggGroupNames, VisOptionsProps } from 'ui/vis/editors/default';
export { Schemas } from 'ui/vis/editors/default/schemas';
export { RangeValues, RangesParamEditor } from 'ui/vis/editors/default/controls/ranges';
export { ColorSchema, ColorSchemas, colorSchemas, getHeatmapColors } from 'ui/color_maps';
export { AggConfig, Vis, VisParams } from 'ui/vis';
export { AggType } from 'ui/agg_types';
export { CUSTOM_LEGEND_VIS_TYPES, VisLegend } from 'ui/vis/vis_types/vislib_vis_legend';
// @ts-ignore
export { Tooltip } from 'ui/vis/components/tooltip';
// @ts-ignore
export { SimpleEmitter } from 'ui/utils/simple_emitter';
// @ts-ignore
export { Binder } from 'ui/binder';
export { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
// @ts-ignore
export { tabifyAggResponse } from 'ui/agg_response/tabify';

View file

@ -18,8 +18,12 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
// @ts-ignore
import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { Schemas, AggGroupNames } from './legacy_imports';
import {
Positions,
ChartTypes,
@ -32,18 +36,18 @@ import {
InterpolationModes,
getConfigCollections,
} from './utils/collections';
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
import { getAreaOptionTabs, countLabel } from './utils/common_config';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { KbnVislibVisTypesDependencies } from './plugin';
export const lineDefinition = {
export const createLineVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'line',
title: i18n.translate('kbnVislibVisTypes.line.lineTitle', { defaultMessage: 'Line' }),
icon: 'visLine',
description: i18n.translate('kbnVislibVisTypes.line.lineDescription', {
defaultMessage: 'Emphasize trends',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
type: 'line',
@ -175,4 +179,4 @@ export const lineDefinition = {
},
]),
},
};
});

View file

@ -18,20 +18,34 @@
*/
import { i18n } from '@kbn/i18n';
import { Schemas } from 'ui/vis/editors/default/schemas';
import { AggGroupNames } from 'ui/vis/editors/default';
import { Schemas, AggGroupNames } from './legacy_imports';
import { PieOptions } from './components/options';
import { getPositions, Positions } from './utils/collections';
import { vislibVisController } from './controller';
import { createVislibVisController } from './vis_controller';
import { CommonVislibParams } from './types';
import { KbnVislibVisTypesDependencies } from './plugin';
export const pieDefinition = {
export interface PieVisParams extends CommonVislibParams {
type: 'pie';
addLegend: boolean;
isDonut: boolean;
labels: {
show: boolean;
values: boolean;
last_level: boolean;
truncate: number | null;
};
}
export const createPieVisTypeDefinition = (deps: KbnVislibVisTypesDependencies) => ({
name: 'pie',
title: i18n.translate('kbnVislibVisTypes.pie.pieTitle', { defaultMessage: 'Pie' }),
icon: 'visPie',
description: i18n.translate('kbnVislibVisTypes.pie.pieDescription', {
defaultMessage: 'Compare parts of a whole',
}),
visualization: vislibVisController,
visualization: createVislibVisController(deps),
visConfig: {
defaults: {
type: 'pie',
@ -89,4 +103,4 @@ export const pieDefinition = {
},
hierarchicalData: true,
responseHandler: 'vislib_slices',
};
});

Some files were not shown because too many files have changed in this diff Show more