You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by hu...@apache.org on 2018/08/30 19:59:07 UTC
[incubator-superset] branch master updated: remove backend logic
for wordcloud (#5753)
This is an automated email from the ASF dual-hosted git repository.
hugh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
The following commit(s) were added to refs/heads/master by this push:
new 9f2b502 remove backend logic for wordcloud (#5753)
9f2b502 is described below
commit 9f2b502eb6e9f9f0b67f5655ad2fbf5d06036c83
Author: Conglei <sh...@gmail.com>
AuthorDate: Thu Aug 30 12:59:05 2018 -0700
remove backend logic for wordcloud (#5753)
---
superset/assets/src/visualizations/index.js | 2 +-
.../{word_cloud.js => wordcloud/WordCloud.js} | 21 +++++++++++++++++++--
superset/viz.py | 10 +---------
3 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/superset/assets/src/visualizations/index.js b/superset/assets/src/visualizations/index.js
index df24b67..c322bef 100644
--- a/superset/assets/src/visualizations/index.js
+++ b/superset/assets/src/visualizations/index.js
@@ -106,7 +106,7 @@ const vizMap = {
[VIZ_TYPES.country_map]: () =>
loadVis(import(/* webpackChunkName: "country_map" */ './country_map.js')),
[VIZ_TYPES.word_cloud]: () =>
- loadVis(import(/* webpackChunkName: "word_cloud" */ './word_cloud.js')),
+ loadVis(import(/* webpackChunkName: "word_cloud" */ './wordcloud/WordCloud.js')),
[VIZ_TYPES.world_map]: () =>
loadVis(import(/* webpackChunkName: "world_map" */ './world_map.js')),
[VIZ_TYPES.dual_line]: loadNvd3,
diff --git a/superset/assets/src/visualizations/word_cloud.js b/superset/assets/src/visualizations/wordcloud/WordCloud.js
similarity index 87%
rename from superset/assets/src/visualizations/word_cloud.js
rename to superset/assets/src/visualizations/wordcloud/WordCloud.js
index 75d68e9..d4d2d7e 100644
--- a/superset/assets/src/visualizations/word_cloud.js
+++ b/superset/assets/src/visualizations/wordcloud/WordCloud.js
@@ -1,7 +1,7 @@
import d3 from 'd3';
import PropTypes from 'prop-types';
import cloudLayout from 'd3-cloud';
-import { getColorFromScheme } from '../modules/colors';
+import { getColorFromScheme } from '../../modules/colors';
const ROTATION = {
square: () => Math.floor((Math.random() * 2)) * 90,
@@ -78,8 +78,23 @@ function wordCloud(element, props) {
wordCloud.propTypes = propTypes;
+function transform(data, formData) {
+ const {
+ metric,
+ series,
+ } = formData;
+
+ const transformedData = data.map(datum => ({
+ text: datum[series],
+ size: datum[metric],
+ }));
+
+ return transformedData;
+}
+
function adaptor(slice, payload) {
const { selector, formData } = slice;
+
const {
rotation,
size_to: sizeTo,
@@ -88,8 +103,10 @@ function adaptor(slice, payload) {
} = formData;
const element = document.querySelector(selector);
+ const data = transform(payload.data, formData);
+
return wordCloud(element, {
- data: payload.data,
+ data,
width: slice.width(),
height: slice.height(),
rotation,
diff --git a/superset/viz.py b/superset/viz.py
index 19b8a66..90c209e 100644
--- a/superset/viz.py
+++ b/superset/viz.py
@@ -473,7 +473,7 @@ class BaseViz(object):
return df.to_csv(index=include_index, **config.get('CSV_EXPORT'))
def get_data(self, df):
- return []
+ return self.get_df().to_dict(orient='records')
@property
def json_data(self):
@@ -730,14 +730,6 @@ class WordCloudViz(BaseViz):
d['groupby'] = [self.form_data.get('series')]
return d
- def get_data(self, df):
- fd = self.form_data
- # Ordering the columns
- df = df[[fd.get('series'), self.metric_labels[0]]]
- # Labeling the columns for uniform json schema
- df.columns = ['text', 'size']
- return df.to_dict(orient='records')
-
class TreemapViz(BaseViz):