diff --git a/superset-frontend/temporary_superset_ui/superset-ui/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/Stories.tsx b/superset-frontend/temporary_superset_ui/superset-ui/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/Stories.tsx index 2986bfae65b5..faee1433129c 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/Stories.tsx +++ b/superset-frontend/temporary_superset_ui/superset-ui/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/Stories.tsx @@ -1,15 +1,20 @@ import React from 'react'; -import { SuperChart } from '@superset-ui/chart'; +import { SuperChart, getChartTransformPropsRegistry } from '@superset-ui/chart'; import { select, withKnobs } from '@storybook/addon-knobs'; import { WordCloudChartPlugin, LegacyWordCloudChartPlugin, } from '@superset-ui/plugin-chart-word-cloud'; +import transformProps from '@superset-ui/plugin-chart-word-cloud/lib/plugin/transformProps'; import data from './data'; new WordCloudChartPlugin().configure({ key: 'word-cloud2' }).register(); new LegacyWordCloudChartPlugin().configure({ key: 'legacy-word-cloud2' }).register(); +// Enable the new WordCloud Props to show case its full features +// if the control panel is updated to be able to pass formData in the new format. +getChartTransformPropsRegistry().registerValue('word-cloud2', transformProps); + export default { title: 'Chart Plugins|plugin-chart-word-cloud', decorators: [withKnobs], diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx index 40759723a0b0..f6a5284a6202 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/chart/WordCloud.tsx @@ -88,7 +88,8 @@ export default class WordCloud extends React.PureComponent< cloudLayout() .size([width, height]) - .words(data) + // clone the data because cloudLayout mutates input + .words(data.map(d => ({ ...d }))) .padding(5) .rotate(ROTATION[rotation] || ROTATION.flat) .text(d => encoder.channels.text.getValueFromDatum(d)) diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/index.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/index.ts index 83737a796122..7b3cfa482221 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/index.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/plugin-chart-word-cloud/src/plugin/index.ts @@ -2,7 +2,7 @@ import { t } from '@superset-ui/translation'; import { ChartMetadata, ChartPlugin } from '@superset-ui/chart'; import buildQuery from './buildQuery'; import { WordCloudFormData } from '../types'; -import transformProps from './transformProps'; +import transformProps from '../legacyPlugin/transformProps'; import thumbnail from '../images/thumbnail.png'; const metadata = new ChartMetadata({