Skip to content

Commit

Permalink
Different switch for pie
Browse files Browse the repository at this point in the history
  • Loading branch information
stratoula committed Jun 23, 2021
1 parent 62fc27b commit eb35f48
Show file tree
Hide file tree
Showing 26 changed files with 183 additions and 38 deletions.
3 changes: 3 additions & 0 deletions docs/management/advanced-options.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,9 @@ of buckets to try to represent.
[[visualization-visualize-chartslibrary]]`visualization:visualize:legacyChartsLibrary`::
Enables the legacy charts library for aggregation-based area, line, and bar charts in *Visualize*.

[[visualization-visualize-pieChartslibrary]]`visualization:visualize:legacyPieChartsLibrary`::
Enables the legacy charts library for aggregation-based pie charts in *Visualize*.

[[visualization-colormapping]]`visualization:colorMapping`::
**This setting is deprecated and will not be supported as of 8.0.**
Maps values to specific colors in charts using the *Compatibility* palette.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,10 @@ export const stackManagementSchema: MakeSchemaFrom<UsageStats> = {
type: 'boolean',
_meta: { description: 'Non-default value of setting.' },
},
'visualization:visualize:legacyPieChartsLibrary': {
type: 'boolean',
_meta: { description: 'Non-default value of setting.' },
},
'doc_table:legacy': {
type: 'boolean',
_meta: { description: 'Non-default value of setting.' },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ export interface UsageStats {
'autocomplete:useTimeRange': boolean;
'search:timeout': number;
'visualization:visualize:legacyChartsLibrary': boolean;
'visualization:visualize:legacyPieChartsLibrary': boolean;
'doc_table:legacy': boolean;
'discover:modifyColumnsOnSwitch': boolean;
'discover:searchFieldsFromSource': boolean;
Expand Down
6 changes: 6 additions & 0 deletions src/plugins/telemetry/schema/oss_plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -8594,6 +8594,12 @@
"description": "Non-default value of setting."
}
},
"visualization:visualize:legacyPieChartsLibrary": {
"type": "boolean",
"_meta": {
"description": "Non-default value of setting."
}
},
"doc_table:legacy": {
"type": "boolean",
"_meta": {
Expand Down
1 change: 1 addition & 0 deletions src/plugins/vis_type_pie/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
*/

export const DEFAULT_PERCENT_DECIMALS = 2;
export const LEGACY_PIE_CHARTS_LIBRARY = 'visualization:visualize:legacyPieChartsLibrary';
2 changes: 2 additions & 0 deletions src/plugins/vis_type_pie/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
"id": "visTypePie",
"version": "kibana",
"ui": true,
"server": true,
"requiredPlugins": ["charts", "data", "expressions", "visualizations", "usageCollection"],
"requiredBundles": ["visDefaultEditor"],
"extraPublicDirs": ["common/index"],
"owner": {
"name": "Kibana App",
"githubTeam": "kibana-app"
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/vis_type_pie/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { Plugin as ExpressionsPublicPlugin } from '../../expressions/public';
import { ChartsPluginSetup } from '../../charts/public';
import { UsageCollectionSetup } from '../../usage_collection/public';
import { DataPublicPluginStart } from '../../data/public';
import { LEGACY_CHARTS_LIBRARY } from '../../visualizations/common/constants';
import { LEGACY_PIE_CHARTS_LIBRARY } from '../common';
import { pieLabels as pieLabelsExpressionFunction } from './expression_functions/pie_labels';
import { createPieVisFn } from './pie_fn';
import { getPieVisRenderer } from './pie_renderer';
Expand Down Expand Up @@ -43,7 +43,7 @@ export class VisTypePiePlugin {
core: CoreSetup<VisTypePiePluginStartDependencies>,
{ expressions, visualizations, charts, usageCollection }: VisTypePieSetupDependencies
) {
if (!core.uiSettings.get(LEGACY_CHARTS_LIBRARY, false)) {
if (!core.uiSettings.get(LEGACY_PIE_CHARTS_LIBRARY, false)) {
const getStartDeps = async () => {
const [coreStart, deps] = await core.getStartServices();
return {
Expand Down
10 changes: 10 additions & 0 deletions src/plugins/vis_type_pie/server/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { VisTypePieServerPlugin } from './plugin';

export const plugin = () => new VisTypePieServerPlugin();
56 changes: 56 additions & 0 deletions src/plugins/vis_type_pie/server/plugin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { i18n } from '@kbn/i18n';
import { schema } from '@kbn/config-schema';

import { CoreSetup, Plugin, UiSettingsParams } from 'kibana/server';

import { LEGACY_PIE_CHARTS_LIBRARY } from '../common';

export const getUiSettingsConfig: () => Record<string, UiSettingsParams<boolean>> = () => ({
// TODO: Remove this when vis_type_vislib is removed
// https://github.com/elastic/kibana/issues/56143
[LEGACY_PIE_CHARTS_LIBRARY]: {
name: i18n.translate('visTypePie.advancedSettings.visualization.legacyPieChartsLibrary.name', {
defaultMessage: 'Pie legacy charts library',
}),
requiresPageReload: true,
value: false,
description: i18n.translate(
'visTypePie.advancedSettings.visualization.legacyPieChartsLibrary.description',
{
defaultMessage: 'Enables legacy charts library for pie charts in visualize.',
}
),
deprecation: {
message: i18n.translate(
'visTypePie.advancedSettings.visualization.legacyPieChartsLibrary.deprecation',
{
defaultMessage:
'The legacy charts library for pie in visualize is deprecated and will not be supported as of 8.0.',
}
),
docLinksKey: 'visualizationSettings',
},
category: ['visualization'],
schema: schema.boolean(),
},
});

export class VisTypePieServerPlugin implements Plugin<object, object> {
public setup(core: CoreSetup) {
core.uiSettings.register(getUiSettingsConfig());

return {};
}

public start() {
return {};
}
}
24 changes: 13 additions & 11 deletions src/plugins/vis_type_vislib/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ import { VisualizationsSetup } from '../../visualizations/public';
import { ChartsPluginSetup } from '../../charts/public';
import { DataPublicPluginStart } from '../../data/public';
import { KibanaLegacyStart } from '../../kibana_legacy/public';
import { LEGACY_CHARTS_LIBRARY } from '../../visualizations/common/constants';
import { LEGACY_CHARTS_LIBRARY } from '../../vis_type_xy/common/index';
import { LEGACY_PIE_CHARTS_LIBRARY } from '../../vis_type_pie/common/index';

import { createVisTypeVislibVisFn } from './vis_type_vislib_vis_fn';
import { createPieVisFn } from './pie_fn';
Expand Down Expand Up @@ -50,17 +51,18 @@ export class VisTypeVislibPlugin
core: VisTypeVislibCoreSetup,
{ expressions, visualizations, charts }: VisTypeVislibPluginSetupDependencies
) {
if (!core.uiSettings.get(LEGACY_CHARTS_LIBRARY, false)) {
// Register only non-replaced vis types
convertedTypeDefinitions.forEach(visualizations.createBaseVisualization);
expressions.registerRenderer(getVislibVisRenderer(core, charts));
expressions.registerFunction(createVisTypeVislibVisFn());
} else {
// Register all vis types
visLibVisTypeDefinitions.forEach(visualizations.createBaseVisualization);
const typeDefinitions = !core.uiSettings.get(LEGACY_CHARTS_LIBRARY, false)
? convertedTypeDefinitions
: visLibVisTypeDefinitions;
// register vislib XY axis charts
typeDefinitions.forEach(visualizations.createBaseVisualization);
expressions.registerRenderer(getVislibVisRenderer(core, charts));
expressions.registerFunction(createVisTypeVislibVisFn());

if (core.uiSettings.get(LEGACY_PIE_CHARTS_LIBRARY, false)) {
// register vislib pie chart
visualizations.createBaseVisualization(pieVisTypeDefinition);
expressions.registerRenderer(getVislibVisRenderer(core, charts));
[createVisTypeVislibVisFn(), createPieVisFn()].forEach(expressions.registerFunction);
expressions.registerFunction(createPieVisFn());
}
}

Expand Down
2 changes: 2 additions & 0 deletions src/plugins/vis_type_xy/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,5 @@ export enum ChartType {
* Type of xy visualizations
*/
export type XyVisType = ChartType | 'horizontal_bar';

export const LEGACY_CHARTS_LIBRARY = 'visualization:visualize:legacyChartsLibrary';
2 changes: 2 additions & 0 deletions src/plugins/vis_type_xy/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
"id": "visTypeXy",
"version": "kibana",
"ui": true,
"server": true,
"requiredPlugins": ["charts", "data", "expressions", "visualizations", "usageCollection"],
"requiredBundles": ["kibanaUtils", "visDefaultEditor"],
"extraPublicDirs": ["common/index"],
"owner": {
"name": "Kibana App",
"githubTeam": "kibana-app"
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/vis_type_xy/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import {
} from './services';

import { visTypesDefinitions } from './vis_types';
import { LEGACY_CHARTS_LIBRARY } from '../../visualizations/common/constants';
import { LEGACY_CHARTS_LIBRARY } from '../common/';
import { xyVisRenderer } from './vis_renderer';

import * as expressionFunctions from './expression_functions';
Expand Down
10 changes: 10 additions & 0 deletions src/plugins/vis_type_xy/server/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { VisTypeXyServerPlugin } from './plugin';

export const plugin = () => new VisTypeXyServerPlugin();
56 changes: 56 additions & 0 deletions src/plugins/vis_type_xy/server/plugin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { i18n } from '@kbn/i18n';
import { schema } from '@kbn/config-schema';

import { CoreSetup, Plugin, UiSettingsParams } from 'kibana/server';

import { LEGACY_CHARTS_LIBRARY } from '../common';

export const getUiSettingsConfig: () => Record<string, UiSettingsParams<boolean>> = () => ({
// TODO: Remove this when vis_type_vislib is removed
// https://github.com/elastic/kibana/issues/56143
[LEGACY_CHARTS_LIBRARY]: {
name: i18n.translate('visTypeXy.advancedSettings.visualization.legacyChartsLibrary.name', {
defaultMessage: 'XY axis legacy charts library',
}),
requiresPageReload: true,
value: false,
description: i18n.translate(
'visTypeXy.advancedSettings.visualization.legacyChartsLibrary.description',
{
defaultMessage: 'Enables legacy charts library for area, line and bar charts in visualize.',
}
),
deprecation: {
message: i18n.translate(
'visTypeXy.advancedSettings.visualization.legacyChartsLibrary.deprecation',
{
defaultMessage:
'The legacy charts library for area, line and bar charts in visualize is deprecated and will not be supported as of 7.16.',
}
),
docLinksKey: 'visualizationSettings',
},
category: ['visualization'],
schema: schema.boolean(),
},
});

export class VisTypeXyServerPlugin implements Plugin<object, object> {
public setup(core: CoreSetup) {
core.uiSettings.register(getUiSettingsConfig());

return {};
}

public start() {
return {};
}
}
1 change: 0 additions & 1 deletion src/plugins/visualizations/common/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,3 @@
*/

export const VISUALIZE_ENABLE_LABS_SETTING = 'visualize:enableLabs';
export const LEGACY_CHARTS_LIBRARY = 'visualization:visualize:legacyChartsLibrary';
23 changes: 1 addition & 22 deletions src/plugins/visualizations/server/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
Logger,
} from '../../../core/server';

import { VISUALIZE_ENABLE_LABS_SETTING, LEGACY_CHARTS_LIBRARY } from '../common/constants';
import { VISUALIZE_ENABLE_LABS_SETTING } from '../common/constants';

import { visualizationSavedObjectType } from './saved_objects';

Expand Down Expand Up @@ -58,27 +58,6 @@ export class VisualizationsPlugin
category: ['visualization'],
schema: schema.boolean(),
},
// TODO: Remove this when vis_type_vislib is removed
// https://github.com/elastic/kibana/issues/56143
[LEGACY_CHARTS_LIBRARY]: {
name: i18n.translate(
'visualizations.advancedSettings.visualization.legacyChartsLibrary.name',
{
defaultMessage: 'Legacy charts library',
}
),
requiresPageReload: true,
value: false,
description: i18n.translate(
'visualizations.advancedSettings.visualization.legacyChartsLibrary.description',
{
defaultMessage:
'Enables legacy charts library for area, line, bar, pie charts in visualize.',
}
),
category: ['visualization'],
schema: schema.boolean(),
},
});

if (plugins.usageCollection) {
Expand Down
1 change: 1 addition & 0 deletions test/functional/apps/dashboard/dashboard_state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
if (isNewChartsLibraryEnabled) {
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': false,
'visualization:visualize:legacyPieChartsLibrary': false,
});
await browser.refresh();
}
Expand Down
2 changes: 2 additions & 0 deletions test/functional/apps/dashboard/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
await loadLogstash();
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': false,
'visualization:visualize:legacyPieChartsLibrary': false,
});
await browser.refresh();
});
Expand All @@ -131,6 +132,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
await unloadLogstash();
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': true,
'visualization:visualize:legacyPieChartsLibrary': true,
});
await browser.refresh();
});
Expand Down
1 change: 1 addition & 0 deletions test/functional/apps/getting_started/_shakespeare.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
if (isNewChartsLibraryEnabled) {
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': false,
'visualization:visualize:legacyPieChartsLibrary': false,
});
await browser.refresh();
}
Expand Down
2 changes: 2 additions & 0 deletions test/functional/apps/getting_started/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,15 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
before(async () => {
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': false,
'visualization:visualize:legacyPieChartsLibrary': false,
});
await browser.refresh();
});

after(async () => {
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': true,
'visualization:visualize:legacyPieChartsLibrary': true,
});
await browser.refresh();
});
Expand Down
2 changes: 2 additions & 0 deletions test/functional/apps/visualize/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,15 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
before(async () => {
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': false,
'visualization:visualize:legacyPieChartsLibrary': false,
});
await browser.refresh();
});

after(async () => {
await kibanaServer.uiSettings.update({
'visualization:visualize:legacyChartsLibrary': true,
'visualization:visualize:legacyPieChartsLibrary': true,
});
await browser.refresh();
});
Expand Down
1 change: 1 addition & 0 deletions test/functional/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ export default async function ({ readConfigFile }) {
'accessibility:disableAnimations': true,
'dateFormat:tz': 'UTC',
'visualization:visualize:legacyChartsLibrary': true,
'visualization:visualize:legacyPieChartsLibrary': true,
},
},

Expand Down
Loading

0 comments on commit eb35f48

Please sign in to comment.