You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2022/04/06 08:52:01 UTC
[superset] branch master updated: chore: Remove Legacy Force Directed viz plugin (#19492)
This is an automated email from the ASF dual-hosted git repository.
diegopucci pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 2de5e6fac4 chore: Remove Legacy Force Directed viz plugin (#19492)
2de5e6fac4 is described below
commit 2de5e6fac49d711d45b4d7e0c6e4a77e5711c8f1
Author: Geido <60...@users.noreply.github.com>
AuthorDate: Wed Apr 6 11:51:51 2022 +0300
chore: Remove Legacy Force Directed viz plugin (#19492)
* Add theme vars
* Remove plugin
---
superset-frontend/package.json | 1 -
.../packages/superset-ui-demo/package.json | 1 -
.../legacy-plugin-chart-force-directed/Stories.tsx | 39 --
.../legacy-plugin-chart-force-directed/data.ts | 447 ---------------------
.../CHANGELOG.md | 27 --
.../legacy-plugin-chart-force-directed/README.md | 52 ---
.../package.json | 39 --
.../src/ForceDirected.js | 176 --------
.../src/ReactForceDirected.jsx | 56 ---
.../src/controlPanel.ts | 108 -----
.../src/images/thumbnail.png | Bin 33535 -> 0 bytes
.../src/images/thumbnailLarge.png | Bin 94166 -> 0 bytes
.../src/index.js | 41 --
.../src/transformProps.js | 30 --
.../tsconfig.json | 25 --
15 files changed, 1042 deletions(-)
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index edf122a249..4b4146665f 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -86,7 +86,6 @@
"@superset-ui/legacy-plugin-chart-chord": "file:./plugins/legacy-plugin-chart-chord",
"@superset-ui/legacy-plugin-chart-country-map": "file:./plugins/legacy-plugin-chart-country-map",
"@superset-ui/legacy-plugin-chart-event-flow": "file:./plugins/legacy-plugin-chart-event-flow",
- "@superset-ui/legacy-plugin-chart-force-directed": "file:./plugins/legacy-plugin-chart-force-directed",
"@superset-ui/legacy-plugin-chart-heatmap": "file:./plugins/legacy-plugin-chart-heatmap",
"@superset-ui/legacy-plugin-chart-histogram": "file:./plugins/legacy-plugin-chart-histogram",
"@superset-ui/legacy-plugin-chart-horizon": "file:./plugins/legacy-plugin-chart-horizon",
diff --git a/superset-frontend/packages/superset-ui-demo/package.json b/superset-frontend/packages/superset-ui-demo/package.json
index 2e86c92ae9..bf3da61c12 100644
--- a/superset-frontend/packages/superset-ui-demo/package.json
+++ b/superset-frontend/packages/superset-ui-demo/package.json
@@ -69,7 +69,6 @@
"@superset-ui/legacy-plugin-chart-chord": "*",
"@superset-ui/legacy-plugin-chart-country-map": "*",
"@superset-ui/legacy-plugin-chart-event-flow": "*",
- "@superset-ui/legacy-plugin-chart-force-directed": "*",
"@superset-ui/legacy-plugin-chart-heatmap": "*",
"@superset-ui/legacy-plugin-chart-histogram": "*",
"@superset-ui/legacy-plugin-chart-horizon": "*",
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/Stories.tsx
deleted file mode 100644
index 10e8d76139..0000000000
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/Stories.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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.
- */
-
-/* eslint-disable no-magic-numbers */
-import React from 'react';
-import { SuperChart } from '@superset-ui/core';
-import ForceDirectedChartPlugin from '@superset-ui/legacy-plugin-chart-force-directed';
-import data from './data';
-
-new ForceDirectedChartPlugin().configure({ key: 'force-directed' }).register();
-
-export default {
- title: 'Legacy Chart Plugins/legacy-plugin-chart-force-directed',
-};
-
-export const basic = () => (
- <SuperChart
- chartType="force-directed"
- width={400}
- height={400}
- queriesData={[{ data }]}
- />
-);
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/data.ts b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/data.ts
deleted file mode 100644
index 9a06b22cd3..0000000000
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/data.ts
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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.
- */
-
-/* eslint-disable sort-keys */
-export default [
- {
- source: 'Energy',
- target: 'Electricity and heat',
- value: 24.9,
- },
- {
- source: 'Energy',
- target: 'Industry',
- value: 14.7,
- },
- {
- source: 'Energy',
- target: 'Transportation',
- value: 14.3,
- },
- {
- source: 'Deforestation',
- target: 'Carbon Dioxide',
- value: 10.9,
- },
- {
- source: 'Land Use Change',
- target: 'Deforestation',
- value: 10.9,
- },
- {
- source: 'Road',
- target: 'Carbon Dioxide',
- value: 10.5,
- },
- {
- source: 'Transportation',
- target: 'Road',
- value: 10.5,
- },
- {
- source: 'Residential Buildings',
- target: 'Carbon Dioxide',
- value: 10.2,
- },
- {
- source: 'Energy',
- target: 'Other Fuel Combustion',
- value: 8.6,
- },
- {
- source: 'Other Industry',
- target: 'Carbon Dioxide',
- value: 6.6,
- },
- {
- source: 'Commercial Buildings',
- target: 'Carbon Dioxide',
- value: 6.3,
- },
- {
- source: 'Agriculture',
- target: 'Livestock and Manure',
- value: 5.4,
- },
- {
- source: 'Agriculture',
- target: 'Agriculture Soils',
- value: 5.2,
- },
- {
- source: 'Agriculture Soils',
- target: 'Nitrous Oxide',
- value: 5.2,
- },
- {
- source: 'Electricity and heat',
- target: 'Residential Buildings',
- value: 5.2,
- },
- {
- source: 'Livestock and Manure',
- target: 'Methane',
- value: 5.1,
- },
- {
- source: 'Cement',
- target: 'Carbon Dioxide',
- value: 5.0,
- },
- {
- source: 'Electricity and heat',
- target: 'Commercial Buildings',
- value: 5.0,
- },
- {
- source: 'Other Fuel Combustion',
- target: 'Residential Buildings',
- value: 5.0,
- },
- {
- source: 'Energy',
- target: 'Fugitive Emissions',
- value: 4.0,
- },
- {
- source: 'Iron and Steel',
- target: 'Carbon Dioxide',
- value: 4.0,
- },
- {
- source: 'Industry',
- target: 'Other Industry',
- value: 3.8,
- },
- {
- source: 'Oil and Gas Processing',
- target: 'Carbon Dioxide',
- value: 3.6,
- },
- {
- source: 'Chemicals',
- target: 'Carbon Dioxide',
- value: 3.4,
- },
- {
- source: 'Fugitive Emissions',
- target: 'Oil and Gas Processing',
- value: 3.2,
- },
- {
- source: 'Industry',
- target: 'Iron and Steel',
- value: 3.0,
- },
- {
- source: 'Unallocated Fuel Combustion',
- target: 'Carbon Dioxide',
- value: 3.0,
- },
- {
- source: 'Industrial Processes',
- target: 'Cement',
- value: 2.8,
- },
- {
- source: 'Industry',
- target: 'Oil and Gas Processing',
- value: 2.8,
- },
- {
- source: 'Oil and Gas Processing',
- target: 'Methane',
- value: 2.8,
- },
- {
- source: 'Electricity and heat',
- target: 'Other Industry',
- value: 2.7,
- },
- {
- source: 'Rail - Ship and Other Transport',
- target: 'Carbon Dioxide',
- value: 2.5,
- },
- {
- source: 'Transportation',
- target: 'Rail - Ship and Other Transport',
- value: 2.5,
- },
- {
- source: 'Electricity and heat',
- target: 'T and D Losses',
- value: 2.2,
- },
- {
- source: 'T and D Losses',
- target: 'Carbon Dioxide',
- value: 2.2,
- },
- {
- source: 'Electricity and heat',
- target: 'Unallocated Fuel Combustion',
- value: 2.0,
- },
- {
- source: 'Industry',
- target: 'Cement',
- value: 1.9,
- },
- {
- source: 'Other Fuel Combustion',
- target: 'Unallocated Fuel Combustion',
- value: 1.8,
- },
- {
- source: 'Agriculture',
- target: 'Other Agriculture',
- value: 1.7,
- },
- {
- source: 'Air',
- target: 'Carbon Dioxide',
- value: 1.7,
- },
- {
- source: 'Landfills',
- target: 'Methane',
- value: 1.7,
- },
- {
- source: 'Transportation',
- target: 'Air',
- value: 1.7,
- },
- {
- source: 'Waste',
- target: 'Landfills',
- value: 1.7,
- },
- {
- source: 'Agriculture',
- target: 'Rice Cultivation',
- value: 1.5,
- },
- {
- source: 'Rice Cultivation',
- target: 'Methane',
- value: 1.5,
- },
- {
- source: 'Waste',
- target: 'Waste water - Other Waste',
- value: 1.5,
- },
- {
- source: 'Agricultural Energy Use',
- target: 'Carbon Dioxide',
- value: 1.4,
- },
- {
- source: 'Industrial Processes',
- target: 'Chemicals',
- value: 1.4,
- },
- {
- source: 'Industry',
- target: 'Chemicals',
- value: 1.4,
- },
- {
- source: 'Other Agriculture',
- target: 'Methane',
- value: 1.4,
- },
- {
- source: 'Electricity and heat',
- target: 'Chemicals',
- value: 1.3,
- },
- {
- source: 'Fugitive Emissions',
- target: 'Coal Mining',
- value: 1.3,
- },
- {
- source: 'Harvest / Management',
- target: 'Carbon Dioxide',
- value: 1.3,
- },
- {
- source: 'Land Use Change',
- target: 'Harvest / Management',
- value: 1.3,
- },
- {
- source: 'Other Fuel Combustion',
- target: 'Commercial Buildings',
- value: 1.3,
- },
- {
- source: 'Coal Mining',
- target: 'Methane',
- value: 1.2,
- },
- {
- source: 'Waste water - Other Waste',
- target: 'Methane',
- value: 1.2,
- },
- {
- source: 'Pulp - Paper and Printing',
- target: 'Carbon Dioxide',
- value: 1.1,
- },
- {
- source: 'Aluminium Non-Ferrous Metals',
- target: 'Carbon Dioxide',
- value: 1.0,
- },
- {
- source: 'Electricity and heat',
- target: 'Iron and Steel',
- value: 1.0,
- },
- {
- source: 'Electricity and heat',
- target: 'Machinery',
- value: 1.0,
- },
- {
- source: 'Food and Tobacco',
- target: 'Carbon Dioxide',
- value: 1.0,
- },
- {
- source: 'Machinery',
- target: 'Carbon Dioxide',
- value: 1.0,
- },
- {
- source: 'Other Fuel Combustion',
- target: 'Agricultural Energy Use',
- value: 1.0,
- },
- {
- source: 'Electricity and heat',
- target: 'Pulp - Paper and Printing',
- value: 0.6,
- },
- {
- source: 'Chemicals',
- target: 'HFCs - PFCs',
- value: 0.5,
- },
- {
- source: 'Electricity and heat',
- target: 'Food and Tobacco',
- value: 0.5,
- },
- {
- source: 'Industrial Processes',
- target: 'Other Industry',
- value: 0.5,
- },
- {
- source: 'Industry',
- target: 'Food and Tobacco',
- value: 0.5,
- },
- {
- source: 'Industry',
- target: 'Pulp - Paper and Printing',
- value: 0.5,
- },
- {
- source: 'Electricity and heat',
- target: 'Aluminium Non-Ferrous Metals',
- value: 0.4,
- },
- {
- source: 'Electricity and heat',
- target: 'Oil and Gas Processing',
- value: 0.4,
- },
- {
- source: 'Electricity,heat',
- target: 'Agricultural Energy Use',
- value: 0.4,
- },
- {
- source: 'Industrial Processes',
- target: 'Aluminium Non-Ferrous Metals',
- value: 0.4,
- },
- {
- source: 'Industry',
- target: 'Aluminium Non-Ferrous Metals',
- value: 0.4,
- },
- {
- source: 'Other Industry',
- target: 'HFCs - PFCs',
- value: 0.4,
- },
- {
- source: 'Unallocated Fuel Combustion',
- target: 'Methane',
- value: 0.4,
- },
- {
- source: 'Unallocated Fuel Combustion',
- target: 'Nitrous Oxide',
- value: 0.4,
- },
- {
- source: 'Electricity and heat',
- target: 'Cement',
- value: 0.3,
- },
- {
- source: 'Livestock and Manure',
- target: 'Nitrous Oxide',
- value: 0.3,
- },
- {
- source: 'Other Agriculture',
- target: 'Nitrous Oxide',
- value: 0.3,
- },
- {
- source: 'Waste water - Other Waste',
- target: 'Nitrous Oxide',
- value: 0.3,
- },
- {
- source: 'Aluminium Non-Ferrous Metals',
- target: 'HFCs - PFCs',
- value: 0.2,
- },
- {
- source: 'Chemicals',
- target: 'Nitrous Oxide',
- value: 0.2,
- },
- {
- source: 'Coal Mining',
- target: 'Carbon Dioxide',
- value: 0.1,
- },
-];
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/CHANGELOG.md b/superset-frontend/plugins/legacy-plugin-chart-force-directed/CHANGELOG.md
deleted file mode 100644
index 7a9c9279ba..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/CHANGELOG.md
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF 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.
--->
-
-# Change Log
-
-All notable changes to this project will be documented in this file.
-See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-
-# [0.18.0](https://github.com/apache-superset/superset-ui/compare/v0.17.87...v0.18.0) (2021-08-30)
-
-**Note:** Version bump only for package @superset-ui/legacy-plugin-chart-force-directed
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/README.md b/superset-frontend/plugins/legacy-plugin-chart-force-directed/README.md
deleted file mode 100644
index 4917d6205e..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF 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.
--->
-
-## @superset-ui/legacy-plugin-chart-force-directed
-
-[![Version](https://img.shields.io/npm/v/@superset-ui/legacy-plugin-chart-force-directed.svg?style=flat-square)](https://www.npmjs.com/package/@superset-ui/legacy-plugin-chart-force-directed)
-[![David (path)](https://img.shields.io/david/apache-superset/superset-ui-plugins.svg?path=packages%2Fsuperset-ui-legacy-plugin-chart-force-directed&style=flat-square)](https://david-dm.org/apache-superset/superset-ui-plugins?path=packages/superset-ui-legacy-plugin-chart-force-directed)
-
-This plugin provides Force-directed Graph for Superset.
-
-### Usage
-
-Configure `key`, which can be any `string`, and register the plugin. This `key` will be used to
-lookup this chart throughout the app.
-
-```js
-import ChordChartPlugin from '@superset-ui/legacy-plugin-chart-force-directed';
-
-new ChordChartPlugin().configure({ key: 'force-directed' }).register();
-```
-
-Then use it via `SuperChart`. See
-[storybook](https://apache-superset.github.io/superset-ui-plugins/?selectedKind=plugin-chart-force-directed)
-for more details.
-
-```js
-<SuperChart
- chartType="force-directed"
- width={600}
- height={600}
- formData={...}
- queriesData={[{
- data: {...},
- }]}
-/>
-```
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/package.json b/superset-frontend/plugins/legacy-plugin-chart-force-directed/package.json
deleted file mode 100644
index da16cde635..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/package.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "@superset-ui/legacy-plugin-chart-force-directed",
- "version": "0.18.25",
- "description": "Superset Legacy Chart - Force-directed Graph",
- "sideEffects": [
- "*.css"
- ],
- "main": "lib/index.js",
- "module": "esm/index.js",
- "files": [
- "esm",
- "lib"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/apache-superset/superset-ui.git"
- },
- "keywords": [
- "superset"
- ],
- "author": "Superset",
- "license": "Apache-2.0",
- "bugs": {
- "url": "https://github.com/apache-superset/superset-ui/issues"
- },
- "homepage": "https://github.com/apache-superset/superset-ui#readme",
- "publishConfig": {
- "access": "public"
- },
- "dependencies": {
- "d3": "^3.5.17",
- "prop-types": "^15.7.2"
- },
- "peerDependencies": {
- "@superset-ui/chart-controls": "*",
- "@superset-ui/core": "*",
- "react": "^16.13.1"
- }
-}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ForceDirected.js b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ForceDirected.js
deleted file mode 100644
index ac5847ecbc..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ForceDirected.js
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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.
- */
-/* eslint-disable react/sort-prop-types, func-names, no-param-reassign */
-import d3 from 'd3';
-import PropTypes from 'prop-types';
-
-const propTypes = {
- data: PropTypes.arrayOf(
- PropTypes.shape({
- source: PropTypes.string,
- target: PropTypes.string,
- value: PropTypes.number,
- }),
- ),
- width: PropTypes.number,
- height: PropTypes.number,
- linkLength: PropTypes.number,
- charge: PropTypes.number,
-};
-
-/* Modified from http://bl.ocks.org/d3noob/5141278 */
-function ForceDirected(element, props) {
- const { data, width, height, linkLength = 200, charge = -500 } = props;
- const div = d3.select(element);
- div.classed('superset-legacy-chart-force-directed', true);
-
- const links = data;
- const nodes = {};
- // Compute the distinct nodes from the links.
- links.forEach(link => {
- link.source =
- nodes[link.source] ||
- (nodes[link.source] = {
- name: link.source,
- });
- link.target =
- nodes[link.target] ||
- (nodes[link.target] = {
- name: link.target,
- });
- link.value = Number(link.value);
-
- const targetName = link.target.name;
- const sourceName = link.source.name;
-
- if (nodes[targetName].total === undefined) {
- nodes[targetName].total = link.value;
- }
- if (nodes[sourceName].total === undefined) {
- nodes[sourceName].total = 0;
- }
- if (nodes[targetName].max === undefined) {
- nodes[targetName].max = 0;
- }
- if (link.value > nodes[targetName].max) {
- nodes[targetName].max = link.value;
- }
- if (nodes[targetName].min === undefined) {
- nodes[targetName].min = 0;
- }
- if (link.value > nodes[targetName].min) {
- nodes[targetName].min = link.value;
- }
-
- nodes[targetName].total += link.value;
- });
-
- /* eslint-disable no-use-before-define */
- // add the curvy lines
- function tick() {
- path.attr('d', d => {
- const dx = d.target.x - d.source.x;
- const dy = d.target.y - d.source.y;
- const dr = Math.sqrt(dx * dx + dy * dy);
-
- return `M${d.source.x},${d.source.y}A${dr},${dr} 0 0,1 ${d.target.x},${d.target.y}`;
- });
-
- node.attr('transform', d => `translate(${d.x},${d.y})`);
- }
- /* eslint-enable no-use-before-define */
-
- const force = d3.layout
- .force()
- .nodes(d3.values(nodes))
- .links(links)
- .size([width, height])
- .linkDistance(linkLength)
- .charge(charge)
- .on('tick', tick)
- .start();
-
- div.selectAll('*').remove();
- const svg = div.append('svg').attr('width', width).attr('height', height);
-
- // build the arrow.
- svg
- .append('svg:defs')
- .selectAll('marker')
- .data(['end']) // Different link/path types can be defined here
- .enter()
- .append('svg:marker') // This section adds in the arrows
- .attr('id', String)
- .attr('viewBox', '0 -5 10 10')
- .attr('refX', 15)
- .attr('refY', -1.5)
- .attr('markerWidth', 6)
- .attr('markerHeight', 6)
- .attr('orient', 'auto')
- .append('svg:path')
- .attr('d', 'M0,-5L10,0L0,5');
-
- const edgeScale = d3.scale.linear().range([0.1, 0.5]);
- // add the links and the arrows
- const path = svg
- .append('svg:g')
- .selectAll('path')
- .data(force.links())
- .enter()
- .append('svg:path')
- .attr('class', 'link')
- .style('opacity', d => edgeScale(d.value / d.target.max))
- .attr('marker-end', 'url(#end)');
-
- // define the nodes
- const node = svg
- .selectAll('.node')
- .data(force.nodes())
- .enter()
- .append('g')
- .attr('class', 'node')
- .on('mouseenter', function () {
- d3.select(this).select('circle').transition().style('stroke-width', 5);
-
- d3.select(this).select('text').transition().style('font-size', 25);
- })
- .on('mouseleave', function () {
- d3.select(this).select('circle').transition().style('stroke-width', 1.5);
- d3.select(this).select('text').transition().style('font-size', 12);
- })
- .call(force.drag);
-
- // add the nodes
- const ext = d3.extent(d3.values(nodes), d => Math.sqrt(d.total));
- const circleScale = d3.scale.linear().domain(ext).range([3, 30]);
-
- node.append('circle').attr('r', d => circleScale(Math.sqrt(d.total)));
-
- // add the text
- node
- .append('text')
- .attr('x', 6)
- .attr('dy', '.35em')
- .text(d => d.name);
-}
-
-ForceDirected.displayName = 'ForceDirected';
-ForceDirected.propTypes = propTypes;
-
-export default ForceDirected;
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ReactForceDirected.jsx b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ReactForceDirected.jsx
deleted file mode 100644
index 90088cbcd5..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ReactForceDirected.jsx
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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 React from 'react';
-import { reactify, styled } from '@superset-ui/core';
-import PropTypes from 'prop-types';
-import Component from './ForceDirected';
-
-const ReactComponent = reactify(Component);
-
-const ForceDirected = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
-
-ForceDirected.propTypes = {
- className: PropTypes.string.isRequired,
-};
-
-export default styled(ForceDirected)`
- .superset-legacy-chart-force-directed {
- path.link {
- fill: none;
- stroke: #000;
- stroke-width: 1.5px;
- }
- circle {
- fill: #ccc;
- stroke: #000;
- stroke-width: 1.5px;
- stroke-opacity: 1;
- opacity: 0.75;
- }
- text {
- fill: #000;
- font: 10px sans-serif;
- pointer-events: none;
- }
- }
-`;
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/controlPanel.ts b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/controlPanel.ts
deleted file mode 100644
index 575507ba46..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/controlPanel.ts
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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 { t } from '@superset-ui/core';
-import { formatSelectOptions, sections } from '@superset-ui/chart-controls';
-
-export default {
- controlPanelSections: [
- sections.legacyRegularTime,
- {
- label: t('Query'),
- expanded: true,
- controlSetRows: [
- ['groupby'],
- ['metric'],
- ['adhoc_filters'],
- ['row_limit'],
- [
- {
- name: 'sort_by_metric',
- config: {
- type: 'CheckboxControl',
- label: t('Sort by metric'),
- description: t(
- 'Whether to sort results by the selected metric in descending order.',
- ),
- },
- },
- ],
- ],
- },
- {
- label: t('Chart Options'),
- expanded: true,
- controlSetRows: [
- [
- {
- name: 'link_length',
- config: {
- type: 'SelectControl',
- renderTrigger: true,
- freeForm: true,
- label: t('Link Length'),
- default: '200',
- choices: formatSelectOptions([
- '10',
- '25',
- '50',
- '75',
- '100',
- '150',
- '200',
- '250',
- ]),
- description: t('Link length in the force layout'),
- },
- },
- ],
- [
- {
- name: 'charge',
- config: {
- type: 'SelectControl',
- renderTrigger: true,
- freeForm: true,
- label: t('Charge'),
- default: '-500',
- choices: formatSelectOptions([
- '-50',
- '-75',
- '-100',
- '-150',
- '-200',
- '-250',
- '-500',
- '-1000',
- '-2500',
- '-5000',
- ]),
- description: t('Charge in the force layout'),
- },
- },
- ],
- ],
- },
- ],
- controlOverrides: {
- groupby: {
- label: t('Source / Target'),
- description: t('Choose a source and a target'),
- },
- },
-};
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnail.png b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnail.png
deleted file mode 100644
index e7fad14aa5..0000000000
Binary files a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnail.png and /dev/null differ
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnailLarge.png b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnailLarge.png
deleted file mode 100644
index d3d30319fd..0000000000
Binary files a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnailLarge.png and /dev/null differ
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/index.js b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/index.js
deleted file mode 100644
index 87eb07b45e..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/index.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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 { t, ChartMetadata, ChartPlugin } from '@superset-ui/core';
-import transformProps from './transformProps';
-import thumbnail from './images/thumbnail.png';
-import controlPanel from './controlPanel';
-
-const metadata = new ChartMetadata({
- credits: ['http://bl.ocks.org/d3noob/5141278'],
- description: '',
- name: t('Force-directed Graph'),
- thumbnail,
- useLegacyApi: true,
-});
-
-export default class ForceDirectedChartPlugin extends ChartPlugin {
- constructor() {
- super({
- loadChart: () => import('./ReactForceDirected'),
- metadata,
- transformProps,
- controlPanel,
- });
- }
-}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/transformProps.js b/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/transformProps.js
deleted file mode 100644
index d463407bd1..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/src/transformProps.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF 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 default function transformProps(chartProps) {
- const { width, height, formData, queriesData } = chartProps;
- const { charge, linkLength } = formData;
-
- return {
- charge,
- data: queriesData[0].data,
- height,
- linkLength,
- width,
- };
-}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-force-directed/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-force-directed/tsconfig.json
deleted file mode 100644
index b6bfaa2d98..0000000000
--- a/superset-frontend/plugins/legacy-plugin-chart-force-directed/tsconfig.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "compilerOptions": {
- "declarationDir": "lib",
- "outDir": "lib",
- "rootDir": "src"
- },
- "exclude": [
- "lib",
- "test"
- ],
- "extends": "../../tsconfig.json",
- "include": [
- "src/**/*",
- "types/**/*",
- "../../types/**/*"
- ],
- "references": [
- {
- "path": "../../packages/superset-ui-chart-controls"
- },
- {
- "path": "../../packages/superset-ui-core"
- }
- ]
-}