From 2de5e6fac49d711d45b4d7e0c6e4a77e5711c8f1 Mon Sep 17 00:00:00 2001 From: Geido <60598000+geido@users.noreply.github.com> Date: Wed, 6 Apr 2022 11:51:51 +0300 Subject: [PATCH] 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 - .../Stories.tsx | 39 -- .../data.ts | 447 ------------------ .../CHANGELOG.md | 27 -- .../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(-) delete mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/Stories.tsx delete mode 100644 superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-force-directed/data.ts delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/CHANGELOG.md delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/README.md delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/package.json delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ForceDirected.js delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/ReactForceDirected.jsx delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/controlPanel.ts delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnail.png delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/images/thumbnailLarge.png delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/index.js delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/src/transformProps.js delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-force-directed/tsconfig.json 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 = () => ( - -); 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 @@ - - -# 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 @@ - - -## @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 - -``` 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 }) => ( -
- -
-); - -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 e7fad14aa59ea867e77e006b94c7bcc5e3a4f0ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33535 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 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 d3d30319fdf2725cf7b7c404e7a6d205feb795ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94166 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 PuNP`c+KSZ*Ht+urDmRn5 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" - } - ] -}