superset-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ccwilli...@apache.org
Subject [incubator-superset] branch master updated: Add ChartPlugin and metadata for deck.gl vis (#6090)
Date Fri, 12 Oct 2018 21:01:38 GMT
This is an automated email from the ASF dual-hosted git repository.

ccwilliams 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 e1e8778  Add ChartPlugin and metadata for deck.gl vis (#6090)
e1e8778 is described below

commit e1e87785541f5faab714933f30342b13c30edb12
Author: Krist Wongsuphasawat <krist.wongz@gmail.com>
AuthorDate: Fri Oct 12 14:01:32 2018 -0700

    Add ChartPlugin and metadata for deck.gl vis (#6090)
---
 .../deckgl/{multi.jsx => Multi/Multi.jsx}            |   8 ++++----
 .../visualizations/deckgl/Multi/MultiChartPlugin.js  |  19 +++++++++++++++++++
 .../visualizations/deckgl/Multi/images/thumbnail.png | Bin 0 -> 106790 bytes
 .../deckgl/Multi/images/thumbnailLarge.png           | Bin 0 -> 991412 bytes
 .../deckgl/layers/{arc.jsx => Arc/Arc.jsx}           |   6 +++---
 .../deckgl/layers/Arc/ArcChartPlugin.js              |  19 +++++++++++++++++++
 .../deckgl/layers/Arc/images/thumbnail.png           | Bin 0 -> 38815 bytes
 .../deckgl/layers/Arc/images/thumbnailLarge.png      | Bin 0 -> 230107 bytes
 .../layers/{geojson.jsx => Geojson/Geojson.jsx}      |  10 +++++-----
 .../deckgl/layers/Geojson/GeojsonChartPlugin.js      |  19 +++++++++++++++++++
 .../deckgl/layers/Geojson/images/thumbnail.png       | Bin 0 -> 42386 bytes
 .../deckgl/layers/Geojson/images/thumbnailLarge.png  | Bin 0 -> 181512 bytes
 .../deckgl/layers/{grid.jsx => Grid/Grid.jsx}        |   8 ++++----
 .../deckgl/layers/Grid/GridChartPlugin.js            |  19 +++++++++++++++++++
 .../deckgl/layers/Grid/images/thumbnail.png          | Bin 0 -> 143670 bytes
 .../deckgl/layers/Grid/images/thumbnailLarge.png     | Bin 0 -> 2125810 bytes
 .../deckgl/layers/{hex.jsx => Hex/Hex.jsx}           |   8 ++++----
 .../deckgl/layers/Hex/HexChartPlugin.js              |  19 +++++++++++++++++++
 .../deckgl/layers/Hex/images/thumbnail.png           | Bin 0 -> 85015 bytes
 .../deckgl/layers/Hex/images/thumbnailLarge.png      | Bin 0 -> 1090997 bytes
 .../deckgl/layers/{path.jsx => Path/Path.jsx}        |   8 ++++----
 .../deckgl/layers/Path/PathChartPlugin.js            |  19 +++++++++++++++++++
 .../deckgl/layers/Path/images/thumbnail.png          | Bin 0 -> 75705 bytes
 .../deckgl/layers/Path/images/thumbnailLarge.png     | Bin 0 -> 523094 bytes
 .../layers/{polygon.jsx => Polygon/Polygon.jsx}      |  10 +++++-----
 .../deckgl/layers/Polygon/PolygonChartPlugin.js      |  19 +++++++++++++++++++
 .../deckgl/layers/Polygon/images/thumbnail.png       | Bin 0 -> 37261 bytes
 .../deckgl/layers/Polygon/images/thumbnailLarge.png  | Bin 0 -> 443630 bytes
 .../layers/{scatter.jsx => Scatter/Scatter.jsx}      |   8 ++++----
 .../deckgl/layers/Scatter/ScatterChartPlugin.js      |  19 +++++++++++++++++++
 .../deckgl/layers/Scatter/images/thumbnail.png       | Bin 0 -> 120091 bytes
 .../deckgl/layers/Scatter/images/thumbnailLarge.png  | Bin 0 -> 795739 bytes
 .../{screengrid.jsx => Screengrid/Screengrid.jsx}    |  10 +++++-----
 .../layers/Screengrid/ScreengridChartPlugin.js       |  19 +++++++++++++++++++
 .../deckgl/layers/Screengrid/images/thumbnail.png    | Bin 0 -> 76990 bytes
 .../layers/Screengrid/images/thumbnailLarge.png      | Bin 0 -> 591701 bytes
 .../assets/src/visualizations/deckgl/layers/index.js |  16 ++++++++--------
 superset/assets/src/visualizations/index.js          |  18 +++++++++---------
 38 files changed, 226 insertions(+), 55 deletions(-)

diff --git a/superset/assets/src/visualizations/deckgl/multi.jsx b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
similarity index 91%
rename from superset/assets/src/visualizations/deckgl/multi.jsx
rename to superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
index 76a7072..99bd1a8 100644
--- a/superset/assets/src/visualizations/deckgl/multi.jsx
+++ b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
@@ -1,10 +1,10 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import $ from 'jquery';
-import DeckGLContainer from './DeckGLContainer';
-import { getExploreLongUrl } from '../../explore/exploreUtils';
-import layerGenerators from './layers';
-import createAdaptor from './createAdaptor';
+import DeckGLContainer from '../DeckGLContainer';
+import { getExploreLongUrl } from '../../../explore/exploreUtils';
+import layerGenerators from '../layers';
+import createAdaptor from '../createAdaptor';
 
 const propTypes = {
   formData: PropTypes.object.isRequired,
diff --git a/superset/assets/src/visualizations/deckgl/Multi/MultiChartPlugin.js b/superset/assets/src/visualizations/deckgl/Multi/MultiChartPlugin.js
new file mode 100644
index 0000000..fd869f8
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/Multi/MultiChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../core/models/ChartPlugin';
+import ChartMetadata from '../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Multiple Layers',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class MultiChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Multi.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/Multi/images/thumbnail.png b/superset/assets/src/visualizations/deckgl/Multi/images/thumbnail.png
new file mode 100644
index 0000000..acedd5b
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/Multi/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/Multi/images/thumbnailLarge.png b/superset/assets/src/visualizations/deckgl/Multi/images/thumbnailLarge.png
new file mode 100644
index 0000000..21c27c0
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/Multi/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/arc.jsx b/superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx
similarity index 83%
rename from superset/assets/src/visualizations/deckgl/layers/arc.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx
index e2a3233..bfd193b 100644
--- a/superset/assets/src/visualizations/deckgl/layers/arc.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx
@@ -1,7 +1,7 @@
 import { ArcLayer } from 'deck.gl';
-import { commonLayerProps } from './common';
-import createAdaptor from '../createAdaptor';
-import { createCategoricalDeckGLComponent } from '../factory';
+import { commonLayerProps } from '../common';
+import createAdaptor from '../../createAdaptor';
+import { createCategoricalDeckGLComponent } from '../../factory';
 
 function getPoints(data) {
   const points = [];
diff --git a/superset/assets/src/visualizations/deckgl/layers/Arc/ArcChartPlugin.js b/superset/assets/src/visualizations/deckgl/layers/Arc/ArcChartPlugin.js
new file mode 100644
index 0000000..62606af
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Arc/ArcChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Arc',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class ArcChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Arc.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Arc/images/thumbnail.png b/superset/assets/src/visualizations/deckgl/layers/Arc/images/thumbnail.png
new file mode 100644
index 0000000..02b84b1
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Arc/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Arc/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Arc/images/thumbnailLarge.png
new file mode 100644
index 0000000..f79f283
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Arc/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/geojson.jsx b/superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx
similarity index 92%
rename from superset/assets/src/visualizations/deckgl/layers/geojson.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx
index 64a39a9..a8cb35f 100644
--- a/superset/assets/src/visualizations/deckgl/layers/geojson.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx
@@ -3,11 +3,11 @@ import PropTypes from 'prop-types';
 import { GeoJsonLayer } from 'deck.gl';
 // TODO import geojsonExtent from 'geojson-extent';
 
-import DeckGLContainer from './../DeckGLContainer';
-import { hexToRGB } from '../../../modules/colors';
-import sandboxedEval from '../../../modules/sandbox';
-import { commonLayerProps } from './common';
-import createAdaptor from '../createAdaptor';
+import DeckGLContainer from '../../DeckGLContainer';
+import { hexToRGB } from '../../../../modules/colors';
+import sandboxedEval from '../../../../modules/sandbox';
+import { commonLayerProps } from '../common';
+import createAdaptor from '../../createAdaptor';
 
 const propertyMap = {
   fillColor: 'fillColor',
diff --git a/superset/assets/src/visualizations/deckgl/layers/Geojson/GeojsonChartPlugin.js
b/superset/assets/src/visualizations/deckgl/layers/Geojson/GeojsonChartPlugin.js
new file mode 100644
index 0000000..5f1ccab
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Geojson/GeojsonChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Geojson',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class GeojsonChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Geojson.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Geojson/images/thumbnail.png
b/superset/assets/src/visualizations/deckgl/layers/Geojson/images/thumbnail.png
new file mode 100644
index 0000000..9c1a732
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Geojson/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Geojson/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Geojson/images/thumbnailLarge.png
new file mode 100644
index 0000000..acc452c
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Geojson/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/grid.jsx b/superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx
similarity index 83%
rename from superset/assets/src/visualizations/deckgl/layers/grid.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx
index 0f5cf31..0c00667 100644
--- a/superset/assets/src/visualizations/deckgl/layers/grid.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx
@@ -1,8 +1,8 @@
 import { GridLayer } from 'deck.gl';
-import { commonLayerProps } from './common';
-import sandboxedEval from '../../../modules/sandbox';
-import createAdaptor from '../createAdaptor';
-import { createDeckGLComponent } from '../factory';
+import { commonLayerProps } from '../common';
+import sandboxedEval from '../../../../modules/sandbox';
+import createAdaptor from '../../createAdaptor';
+import { createDeckGLComponent } from '../../factory';
 
 export function getLayer(formData, payload, onAddFilter, onTooltip) {
   const fd = formData;
diff --git a/superset/assets/src/visualizations/deckgl/layers/Grid/GridChartPlugin.js b/superset/assets/src/visualizations/deckgl/layers/Grid/GridChartPlugin.js
new file mode 100644
index 0000000..71ca50e
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Grid/GridChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Grid',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class GridChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Grid.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Grid/images/thumbnail.png b/superset/assets/src/visualizations/deckgl/layers/Grid/images/thumbnail.png
new file mode 100644
index 0000000..2710d9f
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Grid/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Grid/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Grid/images/thumbnailLarge.png
new file mode 100644
index 0000000..cd93965
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Grid/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/hex.jsx b/superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx
similarity index 83%
rename from superset/assets/src/visualizations/deckgl/layers/hex.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx
index 3dabb76..8788517 100644
--- a/superset/assets/src/visualizations/deckgl/layers/hex.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx
@@ -1,8 +1,8 @@
 import { HexagonLayer } from 'deck.gl';
-import { commonLayerProps } from './common';
-import sandboxedEval from '../../../modules/sandbox';
-import createAdaptor from '../createAdaptor';
-import { createDeckGLComponent } from '../factory';
+import { commonLayerProps } from '../common';
+import sandboxedEval from '../../../../modules/sandbox';
+import createAdaptor from '../../createAdaptor';
+import { createDeckGLComponent } from '../../factory';
 
 export function getLayer(formData, payload, onAddFilter, onTooltip) {
   const fd = formData;
diff --git a/superset/assets/src/visualizations/deckgl/layers/Hex/HexChartPlugin.js b/superset/assets/src/visualizations/deckgl/layers/Hex/HexChartPlugin.js
new file mode 100644
index 0000000..a84a94b
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Hex/HexChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl 3D Hexagon',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class HexChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Hex.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Hex/images/thumbnail.png b/superset/assets/src/visualizations/deckgl/layers/Hex/images/thumbnail.png
new file mode 100644
index 0000000..99149db
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Hex/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Hex/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Hex/images/thumbnailLarge.png
new file mode 100644
index 0000000..31feff5
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Hex/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/path.jsx b/superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx
similarity index 80%
rename from superset/assets/src/visualizations/deckgl/layers/path.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx
index ede01b2..0dc279b 100644
--- a/superset/assets/src/visualizations/deckgl/layers/path.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx
@@ -1,8 +1,8 @@
 import { PathLayer } from 'deck.gl';
-import { commonLayerProps } from './common';
-import sandboxedEval from '../../../modules/sandbox';
-import createAdaptor from '../createAdaptor';
-import { createDeckGLComponent } from '../factory';
+import { commonLayerProps } from '../common';
+import sandboxedEval from '../../../../modules/sandbox';
+import createAdaptor from '../../createAdaptor';
+import { createDeckGLComponent } from '../../factory';
 
 export function getLayer(formData, payload, onAddFilter, onTooltip) {
   const fd = formData;
diff --git a/superset/assets/src/visualizations/deckgl/layers/Path/PathChartPlugin.js b/superset/assets/src/visualizations/deckgl/layers/Path/PathChartPlugin.js
new file mode 100644
index 0000000..bf04448
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Path/PathChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Path',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class PathChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Path.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Path/images/thumbnail.png b/superset/assets/src/visualizations/deckgl/layers/Path/images/thumbnail.png
new file mode 100644
index 0000000..d783a14
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Path/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Path/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Path/images/thumbnailLarge.png
new file mode 100644
index 0000000..eede9da
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Path/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/polygon.jsx b/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx
similarity index 83%
rename from superset/assets/src/visualizations/deckgl/layers/polygon.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx
index 73537dc..a6b1681 100644
--- a/superset/assets/src/visualizations/deckgl/layers/polygon.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx
@@ -1,11 +1,11 @@
 import d3 from 'd3';
 import { PolygonLayer } from 'deck.gl';
 import { flatten } from 'lodash';
-import { colorScalerFactory } from '../../../modules/colors';
-import { commonLayerProps } from './common';
-import sandboxedEval from '../../../modules/sandbox';
-import createAdaptor from '../createAdaptor';
-import { createDeckGLComponent } from '../factory';
+import { colorScalerFactory } from '../../../../modules/colors';
+import { commonLayerProps } from '../common';
+import sandboxedEval from '../../../../modules/sandbox';
+import createAdaptor from '../../createAdaptor';
+import { createDeckGLComponent } from '../../factory';
 
 function getPoints(features) {
   return flatten(features.map(d => d.polygon), true);
diff --git a/superset/assets/src/visualizations/deckgl/layers/Polygon/PolygonChartPlugin.js
b/superset/assets/src/visualizations/deckgl/layers/Polygon/PolygonChartPlugin.js
new file mode 100644
index 0000000..f6f0395
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Polygon/PolygonChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Polygon',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class PolygonChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Polygon.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Polygon/images/thumbnail.png
b/superset/assets/src/visualizations/deckgl/layers/Polygon/images/thumbnail.png
new file mode 100644
index 0000000..b32c540
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Polygon/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Polygon/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Polygon/images/thumbnailLarge.png
new file mode 100644
index 0000000..dfae861
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Polygon/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/scatter.jsx b/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx
similarity index 80%
rename from superset/assets/src/visualizations/deckgl/layers/scatter.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx
index b740ce1..f20a723 100644
--- a/superset/assets/src/visualizations/deckgl/layers/scatter.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx
@@ -1,8 +1,8 @@
 import { ScatterplotLayer } from 'deck.gl';
-import { commonLayerProps } from './common';
-import createAdaptor from '../createAdaptor';
-import { createCategoricalDeckGLComponent } from '../factory';
-import { unitToRadius } from '../../../modules/geo';
+import { commonLayerProps } from '../common';
+import createAdaptor from '../../createAdaptor';
+import { createCategoricalDeckGLComponent } from '../../factory';
+import { unitToRadius } from '../../../../modules/geo';
 
 function getPoints(data) {
   return data.map(d => d.position);
diff --git a/superset/assets/src/visualizations/deckgl/layers/Scatter/ScatterChartPlugin.js
b/superset/assets/src/visualizations/deckgl/layers/Scatter/ScatterChartPlugin.js
new file mode 100644
index 0000000..a0919b5
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Scatter/ScatterChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Scatterplot',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class ScatterChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Scatter.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Scatter/images/thumbnail.png
b/superset/assets/src/visualizations/deckgl/layers/Scatter/images/thumbnail.png
new file mode 100644
index 0000000..a111a15
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Scatter/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Scatter/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Scatter/images/thumbnailLarge.png
new file mode 100644
index 0000000..11f38cc
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Scatter/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/screengrid.jsx b/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx
similarity index 92%
rename from superset/assets/src/visualizations/deckgl/layers/screengrid.jsx
rename to superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx
index 4331cec..776cf81 100644
--- a/superset/assets/src/visualizations/deckgl/layers/screengrid.jsx
+++ b/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx
@@ -3,11 +3,11 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import { ScreenGridLayer } from 'deck.gl';
-import AnimatableDeckGLContainer from '../AnimatableDeckGLContainer';
-import { getPlaySliderParams } from '../../../modules/time';
-import sandboxedEval from '../../../modules/sandbox';
-import { commonLayerProps, fitViewport } from './common';
-import createAdaptor from '../createAdaptor';
+import AnimatableDeckGLContainer from '../../AnimatableDeckGLContainer';
+import { getPlaySliderParams } from '../../../../modules/time';
+import sandboxedEval from '../../../../modules/sandbox';
+import { commonLayerProps, fitViewport } from '../common';
+import createAdaptor from '../../createAdaptor';
 
 function getPoints(data) {
   return data.map(d => d.position);
diff --git a/superset/assets/src/visualizations/deckgl/layers/Screengrid/ScreengridChartPlugin.js
b/superset/assets/src/visualizations/deckgl/layers/Screengrid/ScreengridChartPlugin.js
new file mode 100644
index 0000000..c237395
--- /dev/null
+++ b/superset/assets/src/visualizations/deckgl/layers/Screengrid/ScreengridChartPlugin.js
@@ -0,0 +1,19 @@
+import ChartPlugin from '../../../core/models/ChartPlugin';
+import ChartMetadata from '../../../core/models/ChartMetadata';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+  name: 'deck.gl Screen Grid',
+  description: '',
+  credits: ['https://uber.github.io/deck.gl'],
+  thumbnail,
+});
+
+export default class ScreengridChartPlugin extends ChartPlugin {
+  constructor() {
+    super({
+      metadata,
+      loadChart: () => import('./Screengrid.jsx'),
+    });
+  }
+}
diff --git a/superset/assets/src/visualizations/deckgl/layers/Screengrid/images/thumbnail.png
b/superset/assets/src/visualizations/deckgl/layers/Screengrid/images/thumbnail.png
new file mode 100644
index 0000000..78a26e6
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Screengrid/images/thumbnail.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/Screengrid/images/thumbnailLarge.png
b/superset/assets/src/visualizations/deckgl/layers/Screengrid/images/thumbnailLarge.png
new file mode 100644
index 0000000..d5da29c
Binary files /dev/null and b/superset/assets/src/visualizations/deckgl/layers/Screengrid/images/thumbnailLarge.png
differ
diff --git a/superset/assets/src/visualizations/deckgl/layers/index.js b/superset/assets/src/visualizations/deckgl/layers/index.js
index e98f743..0ac3a18 100644
--- a/superset/assets/src/visualizations/deckgl/layers/index.js
+++ b/superset/assets/src/visualizations/deckgl/layers/index.js
@@ -1,12 +1,12 @@
 /* eslint camelcase: 0 */
-import { getLayer as deck_grid } from './grid';
-import { getLayer as deck_screengrid } from './screengrid';
-import { getLayer as deck_path } from './path';
-import { getLayer as deck_hex } from './hex';
-import { getLayer as deck_scatter } from './scatter';
-import { getLayer as deck_geojson } from './geojson';
-import { getLayer as deck_arc } from './arc';
-import { getLayer as deck_polygon } from './polygon';
+import { getLayer as deck_grid } from './Grid/Grid';
+import { getLayer as deck_screengrid } from './Screengrid/Screengrid';
+import { getLayer as deck_path } from './Path/Path';
+import { getLayer as deck_hex } from './Hex/Hex';
+import { getLayer as deck_scatter } from './Scatter/Scatter';
+import { getLayer as deck_geojson } from './Geojson/Geojson';
+import { getLayer as deck_arc } from './Arc/Arc';
+import { getLayer as deck_polygon } from './Polygon/Polygon';
 
 const layerGenerators = {
   deck_grid,
diff --git a/superset/assets/src/visualizations/index.js b/superset/assets/src/visualizations/index.js
index 5ed2ce8..486b64d 100644
--- a/superset/assets/src/visualizations/index.js
+++ b/superset/assets/src/visualizations/index.js
@@ -117,25 +117,25 @@ const vizMap = {
   [VIZ_TYPES.partition]: () =>
     loadVis(import(/* webpackChunkName: "partition" */ './Partition/adaptor.jsx')),
   [VIZ_TYPES.deck_scatter]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/scatter" */ './deckgl/layers/scatter.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/scatter" */ './deckgl/layers/Scatter/Scatter.jsx')),
   [VIZ_TYPES.deck_screengrid]: () =>
     loadVis(
-      import(/* webpackChunkName: "deckgl/layers/screengrid" */ './deckgl/layers/screengrid.jsx'),
+      import(/* webpackChunkName: "deckgl/layers/screengrid" */ './deckgl/layers/Screengrid/Screengrid.jsx'),
     ),
   [VIZ_TYPES.deck_grid]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/grid" */ './deckgl/layers/grid.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/grid" */ './deckgl/layers/Grid/Grid.jsx')),
   [VIZ_TYPES.deck_hex]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/hex" */ './deckgl/layers/hex.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/hex" */ './deckgl/layers/Hex/Hex.jsx')),
   [VIZ_TYPES.deck_path]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/path" */ './deckgl/layers/path.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/path" */ './deckgl/layers/Path/Path.jsx')),
   [VIZ_TYPES.deck_geojson]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/geojson" */ './deckgl/layers/geojson.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/geojson" */ './deckgl/layers/Geojson/Geojson.jsx')),
   [VIZ_TYPES.deck_arc]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/arc" */ './deckgl/layers/arc.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/arc" */ './deckgl/layers/Arc/Arc.jsx')),
   [VIZ_TYPES.deck_polygon]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/layers/polygon" */ './deckgl/layers/polygon.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/layers/polygon" */ './deckgl/layers/Polygon/Polygon.jsx')),
   [VIZ_TYPES.deck_multi]: () =>
-    loadVis(import(/* webpackChunkName: "deckgl/multi" */ './deckgl/multi.jsx')),
+    loadVis(import(/* webpackChunkName: "deckgl/multi" */ './deckgl/Multi/Multi.jsx')),
   [VIZ_TYPES.rose]: () => loadVis(import(/* webpackChunkName: "rose" */ './Rose/adaptor.jsx')),
 };
 


Mime
View raw message