From d86117331d3e8ea32f44aa603b526cbb92ad6e83 Mon Sep 17 00:00:00 2001 From: Evan Rusackas Date: Fri, 6 Nov 2020 22:41:08 -0800 Subject: [PATCH] chore: cleaning out old deckgl controls (#11564) --- .../src/explore/controlPanels/DeckArc.js | 143 ------- .../src/explore/controlPanels/DeckGeojson.js | 101 ----- .../src/explore/controlPanels/DeckGrid.js | 70 ---- .../src/explore/controlPanels/DeckHex.js | 100 ----- .../src/explore/controlPanels/DeckMulti.js | 66 --- .../src/explore/controlPanels/DeckPath.js | 74 ---- .../src/explore/controlPanels/DeckPolygon.js | 166 -------- .../src/explore/controlPanels/DeckScatter.js | 165 -------- .../explore/controlPanels/DeckScreengrid.js | 75 ---- .../explore/controlPanels/Shared_DeckGL.jsx | 377 ------------------ superset-frontend/src/setup/setupPlugins.ts | 20 +- 11 files changed, 1 insertion(+), 1356 deletions(-) delete mode 100644 superset-frontend/src/explore/controlPanels/DeckArc.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckGeojson.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckGrid.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckHex.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckMulti.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckPath.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckPolygon.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckScatter.js delete mode 100644 superset-frontend/src/explore/controlPanels/DeckScreengrid.js delete mode 100644 superset-frontend/src/explore/controlPanels/Shared_DeckGL.jsx diff --git a/superset-frontend/src/explore/controlPanels/DeckArc.js b/superset-frontend/src/explore/controlPanels/DeckArc.js deleted file mode 100644 index c7e88639a8..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckArc.js +++ /dev/null @@ -1,143 +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, validateNonEmpty, legacyValidateInteger } from '@superset-ui/core'; -import timeGrainSqlaAnimationOverrides from 'src/explore/controlPanels/timeGrainSqlaAnimationOverrides'; -import { columnChoices, PRIMARY_COLOR } from 'src/explore/controls'; -import { formatSelectOptions } from 'src/modules/utils'; -import { - filterNulls, - autozoom, - dimension, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - legendFormat, - legendPosition, - viewport, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [ - { - name: 'start_spatial', - config: { - type: 'SpatialControl', - label: t('Start Longitude & Latitude'), - validators: [validateNonEmpty], - description: t('Point to your spatial columns'), - mapStateToProps: state => ({ - choices: columnChoices(state.datasource), - }), - }, - }, - { - name: 'end_spatial', - config: { - type: 'SpatialControl', - label: t('End Longitude & Latitude'), - validators: [validateNonEmpty], - description: t('Point to your spatial columns'), - mapStateToProps: state => ({ - choices: columnChoices(state.datasource), - }), - }, - }, - ], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - controlSetRows: [ - [mapboxStyle, viewport], - [autozoom, null], - ], - }, - { - label: t('Arc'), - controlSetRows: [ - [ - 'color_picker', - { - name: 'target_color_picker', - config: { - label: t('Target Color'), - description: t('Color of the target location'), - type: 'ColorPickerControl', - default: PRIMARY_COLOR, - renderTrigger: true, - }, - }, - ], - [ - { - name: 'dimension', - config: { - ...dimension.config, - label: t('Categorical Color'), - description: t( - 'Pick a dimension from which categorical colors are defined', - ), - }, - }, - ], - ['color_scheme', 'label_colors'], - [ - { - name: 'stroke_width', - color: { - type: 'SelectControl', - freeForm: true, - label: t('Stroke Width'), - validators: [legacyValidateInteger], - default: null, - renderTrigger: true, - choices: formatSelectOptions([1, 2, 3, 4, 5]), - }, - }, - legendPosition, - ], - [legendFormat, null], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], - controlOverrides: { - size: { - validators: [], - }, - time_grain_sqla: timeGrainSqlaAnimationOverrides, - }, -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckGeojson.js b/superset-frontend/src/explore/controlPanels/DeckGeojson.js deleted file mode 100644 index f676526146..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckGeojson.js +++ /dev/null @@ -1,101 +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, validateNonEmpty, legacyValidateInteger } from '@superset-ui/core'; -import { formatSelectOptions } from 'src/modules/utils'; -import { columnChoices } from 'src/explore/controls'; -import { - filterNulls, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - fillColorPicker, - strokeColorPicker, - filled, - stroked, - extruded, - viewport, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [ - { - name: 'geojson', - config: { - type: 'SelectControl', - label: t('GeoJson Column'), - validators: [validateNonEmpty], - description: t('Select the geojson column'), - mapStateToProps: state => ({ - choices: columnChoices(state.datasource), - }), - }, - }, - null, - ], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - controlSetRows: [ - [mapboxStyle, viewport], - // TODO [autozoom, null], // import { autozoom } from './Shared_DeckGL' - ], - }, - { - label: t('GeoJson Settings'), - controlSetRows: [ - [fillColorPicker, strokeColorPicker], - [filled, stroked], - [extruded, null], - [ - { - name: 'point_radius_scale', - config: { - type: 'SelectControl', - freeForm: true, - label: t('Point Radius Scale'), - validators: [legacyValidateInteger], - default: null, - choices: formatSelectOptions([0, 100, 200, 300, 500]), - }, - }, - null, - ], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckGrid.js b/superset-frontend/src/explore/controlPanels/DeckGrid.js deleted file mode 100644 index 9c076e400e..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckGrid.js +++ /dev/null @@ -1,70 +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, validateNonEmpty } from '@superset-ui/core'; -import { - filterNulls, - autozoom, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - extruded, - gridSize, - viewport, - spatial, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [spatial, 'size'], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - controlSetRows: [ - [mapboxStyle, viewport], - ['color_picker', autozoom], - [gridSize, extruded], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], - controlOverrides: { - size: { - label: t('Height'), - description: t('Metric used to control height'), - validators: [validateNonEmpty], - }, - }, -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckHex.js b/superset-frontend/src/explore/controlPanels/DeckHex.js deleted file mode 100644 index b6794c716e..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckHex.js +++ /dev/null @@ -1,100 +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 } from 'src/modules/utils'; -import { - filterNulls, - autozoom, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - extruded, - gridSize, - viewport, - spatial, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [spatial, 'size'], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - controlSetRows: [ - [mapboxStyle, viewport], - ['color_picker', autozoom], - [gridSize, extruded], - [ - { - name: 'js_agg_function', - config: { - type: 'SelectControl', - label: t('Dynamic Aggregation Function'), - description: t( - 'The function to use when aggregating points into groups', - ), - default: 'sum', - clearable: false, - renderTrigger: true, - choices: formatSelectOptions([ - 'sum', - 'min', - 'max', - 'mean', - 'median', - 'count', - 'variance', - 'deviation', - 'p1', - 'p5', - 'p95', - 'p99', - ]), - }, - }, - null, - ], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], - controlOverrides: { - size: { - label: t('Height'), - description: t('Metric used to control height'), - }, - }, -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckMulti.js b/superset-frontend/src/explore/controlPanels/DeckMulti.js deleted file mode 100644 index 0b367fce13..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckMulti.js +++ /dev/null @@ -1,66 +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, validateNonEmpty } from '@superset-ui/core'; -import { viewport, mapboxStyle } from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Map'), - expanded: true, - controlSetRows: [ - [mapboxStyle, viewport], - [ - { - name: 'deck_slices', - config: { - type: 'SelectAsyncControl', - multi: true, - label: t('deck.gl charts'), - validators: [validateNonEmpty], - default: [], - description: t( - 'Pick a set of deck.gl charts to layer on top of one another', - ), - dataEndpoint: - '/sliceasync/api/read?_flt_0_viz_type=deck_&_flt_7_viz_type=deck_multi', - placeholder: t('Select charts'), - onAsyncErrorMessage: t('Error while fetching charts'), - mutator: data => { - if (!data || !data.result) { - return []; - } - return data.result.map(o => ({ - value: o.id, - label: o.slice_name, - })); - }, - }, - }, - null, - ], - ], - }, - { - label: t('Query'), - expanded: true, - controlSetRows: [['adhoc_filters']], - }, - ], -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckPath.js b/superset-frontend/src/explore/controlPanels/DeckPath.js deleted file mode 100644 index 24bc230cc3..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckPath.js +++ /dev/null @@ -1,74 +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 { - filterNulls, - autozoom, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - lineColumn, - viewport, - lineWidth, - lineType, - reverseLongLat, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [ - lineColumn, - { - ...lineType, - choices: [ - ['polyline', 'Polyline'], - ['json', 'JSON'], - ], - }, - ], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - expanded: true, - controlSetRows: [ - [mapboxStyle, viewport], - ['color_picker', lineWidth], - [reverseLongLat, autozoom], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckPolygon.js b/superset-frontend/src/explore/controlPanels/DeckPolygon.js deleted file mode 100644 index dd39e7454a..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckPolygon.js +++ /dev/null @@ -1,166 +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 } from 'src/modules/utils'; -import timeGrainSqlaAnimationOverrides from './timeGrainSqlaAnimationOverrides'; -import { - filterNulls, - autozoom, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - legendFormat, - legendPosition, - lineColumn, - fillColorPicker, - strokeColorPicker, - filled, - stroked, - extruded, - viewport, - pointRadiusFixed, - multiplier, - lineWidth, - lineType, - reverseLongLat, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [ - { ...lineColumn, label: t('Polygon Column') }, - { ...lineType, label: t('Polygon Encoding') }, - ], - ['adhoc_filters'], - ['metric', { ...pointRadiusFixed, label: t('Elevation') }], - ['row_limit', null], - [reverseLongLat, filterNulls], - ], - }, - { - label: t('Map'), - expanded: true, - controlSetRows: [ - [mapboxStyle, viewport], - [autozoom, null], - ], - }, - { - label: t('Polygon Settings'), - expanded: true, - controlSetRows: [ - [fillColorPicker, strokeColorPicker], - [filled, stroked], - [extruded, multiplier], - [lineWidth, null], - [ - 'linear_color_scheme', - { - name: 'opacity', - config: { - type: 'SliderControl', - label: t('Opacity'), - default: 80, - step: 1, - min: 0, - max: 100, - renderTrigger: true, - description: t('Opacity, expects values between 0 and 100'), - }, - }, - ], - [ - { - name: 'num_buckets', - config: { - type: 'SelectControl', - multi: false, - freeForm: true, - label: t('Number of buckets to group data'), - default: 5, - choices: formatSelectOptions([2, 3, 5, 10]), - description: t('How many buckets should the data be grouped in.'), - renderTrigger: true, - }, - }, - { - name: 'break_points', - config: { - type: 'SelectControl', - multi: true, - freeForm: true, - label: t('Bucket break points'), - choices: formatSelectOptions([]), - description: t( - 'List of n+1 values for bucketing metric into n buckets.', - ), - renderTrigger: true, - }, - }, - ], - [ - { - name: 'table_filter', - config: { - type: 'CheckboxControl', - label: t('Emit Filter Events'), - renderTrigger: true, - default: false, - description: t('Whether to apply filter when items are clicked'), - }, - }, - { - name: 'toggle_polygons', - config: { - type: 'CheckboxControl', - label: t('Multiple filtering'), - renderTrigger: true, - default: true, - description: t( - 'Allow sending multiple polygons as a filter event', - ), - }, - }, - ], - [legendPosition, legendFormat], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], - controlOverrides: { - metric: { - validators: [], - }, - time_grain_sqla: timeGrainSqlaAnimationOverrides, - }, -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckScatter.js b/superset-frontend/src/explore/controlPanels/DeckScatter.js deleted file mode 100644 index 957376c25a..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckScatter.js +++ /dev/null @@ -1,165 +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, validateNonEmpty } from '@superset-ui/core'; -import timeGrainSqlaAnimationOverrides from './timeGrainSqlaAnimationOverrides'; -import { - filterNulls, - autozoom, - dimension, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - legendFormat, - legendPosition, - viewport, - spatial, - pointRadiusFixed, - multiplier, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - onInit: controlState => ({ - ...controlState, - time_grain_sqla: { - ...controlState.time_grain_sqla, - value: null, - }, - granularity: { - ...controlState.granularity, - value: null, - }, - }), - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [spatial, null], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - expanded: true, - controlSetRows: [ - [mapboxStyle, viewport], - [autozoom, null], - ], - }, - { - label: t('Point Size'), - controlSetRows: [ - [ - pointRadiusFixed, - { - name: 'point_unit', - config: { - type: 'SelectControl', - label: t('Point Unit'), - default: 'square_m', - clearable: false, - choices: [ - ['square_m', 'Square meters'], - ['square_km', 'Square kilometers'], - ['square_miles', 'Square miles'], - ['radius_m', 'Radius in meters'], - ['radius_km', 'Radius in kilometers'], - ['radius_miles', 'Radius in miles'], - ], - description: t( - 'The unit of measure for the specified point radius', - ), - }, - }, - ], - [ - { - name: 'min_radius', - config: { - type: 'TextControl', - label: t('Minimum Radius'), - isFloat: true, - validators: [validateNonEmpty], - renderTrigger: true, - default: 2, - description: t( - 'Minimum radius size of the circle, in pixels. As the zoom level changes, this ' + - 'insures that the circle respects this minimum radius.', - ), - }, - }, - { - name: 'max_radius', - config: { - type: 'TextControl', - label: t('Maximum Radius'), - isFloat: true, - validators: [validateNonEmpty], - renderTrigger: true, - default: 250, - description: t( - 'Maxium radius size of the circle, in pixels. As the zoom level changes, this ' + - 'insures that the circle respects this maximum radius.', - ), - }, - }, - ], - [multiplier, null], - ], - }, - { - label: t('Point Color'), - controlSetRows: [ - ['color_picker', legendPosition], - [null, legendFormat], - [ - { - name: 'dimension', - config: { - ...dimension.config, - label: t('Categorical Color'), - description: t( - 'Pick a dimension from which categorical colors are defined', - ), - }, - }, - ], - ['color_scheme', 'label_colors'], - ], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], - controlOverrides: { - size: { - validators: [], - }, - time_grain_sqla: timeGrainSqlaAnimationOverrides, - }, -}; diff --git a/superset-frontend/src/explore/controlPanels/DeckScreengrid.js b/superset-frontend/src/explore/controlPanels/DeckScreengrid.js deleted file mode 100644 index 3879621ebd..0000000000 --- a/superset-frontend/src/explore/controlPanels/DeckScreengrid.js +++ /dev/null @@ -1,75 +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, validateNonEmpty } from '@superset-ui/core'; -import timeGrainSqlaAnimationOverrides from './timeGrainSqlaAnimationOverrides'; -import { - filterNulls, - autozoom, - jsColumns, - jsDataMutator, - jsTooltip, - jsOnclickHref, - gridSize, - viewport, - spatial, - mapboxStyle, -} from './Shared_DeckGL'; - -export default { - controlPanelSections: [ - { - label: t('Query'), - expanded: true, - controlSetRows: [ - [spatial, 'size'], - ['row_limit', filterNulls], - ['adhoc_filters'], - ], - }, - { - label: t('Map'), - controlSetRows: [ - [mapboxStyle, viewport], - [autozoom, null], - ], - }, - { - label: t('Grid'), - expanded: true, - controlSetRows: [[gridSize, 'color_picker']], - }, - { - label: t('Advanced'), - controlSetRows: [ - [jsColumns], - [jsDataMutator], - [jsTooltip], - [jsOnclickHref], - ], - }, - ], - controlOverrides: { - size: { - label: t('Weight'), - description: t("Metric used as a weight for the grid's coloring"), - validators: [validateNonEmpty], - }, - time_grain_sqla: timeGrainSqlaAnimationOverrides, - }, -}; diff --git a/superset-frontend/src/explore/controlPanels/Shared_DeckGL.jsx b/superset-frontend/src/explore/controlPanels/Shared_DeckGL.jsx deleted file mode 100644 index 7578b4ddd9..0000000000 --- a/superset-frontend/src/explore/controlPanels/Shared_DeckGL.jsx +++ /dev/null @@ -1,377 +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. - */ - -// These are control configurations that are shared ONLY within the DeckGL viz plugin repo. - -import React from 'react'; -import { t, validateNonEmpty } from '@superset-ui/core'; -import { - sharedControls, - D3_FORMAT_OPTIONS, - columnChoices, -} from '@superset-ui/chart-controls'; -import { PRIMARY_COLOR } from '../controls'; -import { DEFAULT_VIEWPORT } from '../components/controls/ViewportControl'; - -const sandboxUrl = - 'https://github.com/apache/incubator-superset/' + - 'blob/master/superset-frontend/src/modules/sandbox.js'; -const jsFunctionInfo = ( -
- {t( - 'For more information about objects are in context in the scope of this function, refer to the', - )} - {t(" source code of Superset's sandboxed parser")}. - . -
-); - -function jsFunctionControl( - label, - description, - extraDescr = null, - height = 100, - defaultText = '', -) { - return { - type: 'TextAreaControl', - language: 'javascript', - label, - description, - height, - default: defaultText, - aboveEditorSection: ( -
-

{description}

-

{jsFunctionInfo}

- {extraDescr} -
- ), - mapStateToProps: state => ({ - warning: !state.common.conf.ENABLE_JAVASCRIPT_CONTROLS - ? t( - 'This functionality is disabled in your environment for security reasons.', - ) - : null, - readOnly: !state.common.conf.ENABLE_JAVASCRIPT_CONTROLS, - }), - }; -} - -export const filterNulls = { - name: 'filter_nulls', - config: { - type: 'CheckboxControl', - label: t('Ignore null locations'), - default: true, - description: t('Whether to ignore locations that are null'), - }, -}; - -export const autozoom = { - name: 'autozoom', - config: { - type: 'CheckboxControl', - label: t('Auto Zoom'), - default: true, - renderTrigger: true, - description: t( - 'When checked, the map will zoom to your data after each query', - ), - }, -}; - -export const dimension = { - name: 'dimension', - config: { - ...sharedControls.groupby, - label: t('Dimension'), - description: t('Select a dimension'), - multi: false, - default: null, - }, -}; - -export const jsColumns = { - name: 'js_columns', - config: { - ...sharedControls.groupby, - label: t('Extra data for JS'), - default: [], - description: t( - 'List of extra columns made available in Javascript functions', - ), - }, -}; - -export const jsDataMutator = { - name: 'js_data_mutator', - config: jsFunctionControl( - t('Javascript data interceptor'), - t( - 'Define a javascript function that receives the data array used in the visualization ' + - 'and is expected to return a modified version of that array. This can be used ' + - 'to alter properties of the data, filter, or enrich the array.', - ), - ), -}; - -export const jsTooltip = { - name: 'js_tooltip', - config: jsFunctionControl( - t('Javascript tooltip generator'), - t( - 'Define a function that receives the input and outputs the content for a tooltip', - ), - ), -}; - -export const jsOnclickHref = { - name: 'js_onclick_href', - config: jsFunctionControl( - t('Javascript onClick href'), - t('Define a function that returns a URL to navigate to when user clicks'), - ), -}; - -export const legendFormat = { - name: 'legend_format', - config: { - label: t('Legend Format'), - description: t('Choose the format for legend values'), - type: 'SelectControl', - clearable: false, - default: D3_FORMAT_OPTIONS[0], - choices: D3_FORMAT_OPTIONS, - renderTrigger: true, - }, -}; - -export const legendPosition = { - name: 'legend_position', - config: { - label: t('Legend Position'), - description: t('Choose the position of the legend'), - type: 'SelectControl', - clearable: false, - default: 'tr', - choices: [ - [null, 'None'], - ['tl', 'Top left'], - ['tr', 'Top right'], - ['bl', 'Bottom left'], - ['br', 'Bottom right'], - ], - renderTrigger: true, - }, -}; - -export const lineColumn = { - name: 'line_column', - config: { - type: 'SelectControl', - label: t('Lines column'), - default: null, - description: t('The database columns that contains lines information'), - mapStateToProps: state => ({ - choices: columnChoices(state.datasource), - }), - validators: [validateNonEmpty], - }, -}; - -export const lineWidth = { - name: 'line_width', - config: { - type: 'TextControl', - label: t('Line width'), - renderTrigger: true, - isInt: true, - default: 10, - description: t('The width of the lines'), - }, -}; - -export const fillColorPicker = { - name: 'fill_color_picker', - config: { - label: t('Fill Color'), - description: t( - ' Set the opacity to 0 if you do not want to override the color specified in the GeoJSON', - ), - type: 'ColorPickerControl', - default: PRIMARY_COLOR, - renderTrigger: true, - }, -}; - -export const strokeColorPicker = { - name: 'stroke_color_picker', - config: { - label: t('Stroke Color'), - description: t( - ' Set the opacity to 0 if you do not want to override the color specified in the GeoJSON', - ), - type: 'ColorPickerControl', - default: PRIMARY_COLOR, - renderTrigger: true, - }, -}; - -export const filled = { - name: 'filled', - config: { - type: 'CheckboxControl', - label: t('Filled'), - renderTrigger: true, - description: t('Whether to fill the objects'), - default: true, - }, -}; - -export const stroked = { - name: 'stroked', - config: { - type: 'CheckboxControl', - label: t('Stroked'), - renderTrigger: true, - description: t('Whether to display the stroke'), - default: false, - }, -}; - -export const extruded = { - name: 'extruded', - config: { - type: 'CheckboxControl', - label: t('Extruded'), - renderTrigger: true, - default: true, - description: 'Whether to make the grid 3D', - }, -}; - -export const gridSize = { - name: 'grid_size', - config: { - type: 'TextControl', - label: t('Grid Size'), - renderTrigger: true, - default: 20, - isInt: true, - description: t('Defines the grid size in pixels'), - }, -}; - -export const viewport = { - name: 'viewport', - config: { - type: 'ViewportControl', - label: t('Viewport'), - renderTrigger: false, - description: t('Parameters related to the view and perspective on the map'), - // default is whole world mostly centered - default: DEFAULT_VIEWPORT, - // Viewport changes shouldn't prompt user to re-run query - dontRefreshOnChange: true, - }, -}; - -export const spatial = { - name: 'spatial', - config: { - type: 'SpatialControl', - label: t('Longitude & Latitude'), - validators: [validateNonEmpty], - description: t('Point to your spatial columns'), - mapStateToProps: state => ({ - choices: columnChoices(state.datasource), - }), - }, -}; - -export const pointRadiusFixed = { - name: 'point_radius_fixed', - config: { - type: 'FixedOrMetricControl', - label: t('Point Size'), - default: { type: 'fix', value: 1000 }, - description: t('Fixed point radius'), - mapStateToProps: state => ({ - datasource: state.datasource, - }), - }, -}; - -export const multiplier = { - name: 'multiplier', - config: { - type: 'TextControl', - label: t('Multiplier'), - isFloat: true, - renderTrigger: true, - default: 1, - description: t('Factor to multiply the metric by'), - }, -}; - -export const lineType = { - name: 'line_type', - config: { - type: 'SelectControl', - label: t('Lines encoding'), - clearable: false, - default: 'json', - description: t('The encoding format of the lines'), - choices: [ - ['polyline', 'Polyline'], - ['json', 'JSON'], - ['geohash', 'geohash (square)'], - ], - }, -}; - -export const reverseLongLat = { - name: 'reverse_long_lat', - config: { - type: 'CheckboxControl', - label: t('Reverse Lat & Long'), - default: false, - }, -}; - -export const mapboxStyle = { - name: 'mapbox_style', - config: { - type: 'SelectControl', - label: t('Map Style'), - clearable: false, - renderTrigger: true, - choices: [ - ['mapbox://styles/mapbox/streets-v9', 'Streets'], - ['mapbox://styles/mapbox/dark-v9', 'Dark'], - ['mapbox://styles/mapbox/light-v9', 'Light'], - ['mapbox://styles/mapbox/satellite-streets-v9', 'Satellite Streets'], - ['mapbox://styles/mapbox/satellite-v9', 'Satellite'], - ['mapbox://styles/mapbox/outdoors-v9', 'Outdoors'], - ], - default: 'mapbox://styles/mapbox/light-v9', - description: t('Base layer map style'), - }, -}; diff --git a/superset-frontend/src/setup/setupPlugins.ts b/superset-frontend/src/setup/setupPlugins.ts index 5c2faff1db..9eb3eca95e 100644 --- a/superset-frontend/src/setup/setupPlugins.ts +++ b/superset-frontend/src/setup/setupPlugins.ts @@ -20,15 +20,6 @@ import { getChartControlPanelRegistry } from '@superset-ui/core'; import MainPreset from '../visualizations/presets/MainPreset'; import setupPluginsExtra from './setupPluginsExtra'; -import DeckArc from '../explore/controlPanels/DeckArc'; -import DeckGeojson from '../explore/controlPanels/DeckGeojson'; -import DeckGrid from '../explore/controlPanels/DeckGrid'; -import DeckHex from '../explore/controlPanels/DeckHex'; -import DeckMulti from '../explore/controlPanels/DeckMulti'; -import DeckPath from '../explore/controlPanels/DeckPath'; -import DeckPolygon from '../explore/controlPanels/DeckPolygon'; -import DeckScatter from '../explore/controlPanels/DeckScatter'; -import DeckScreengrid from '../explore/controlPanels/DeckScreengrid'; import Separator from '../explore/controlPanels/Separator'; import TimeTable from '../explore/controlPanels/TimeTable'; @@ -38,16 +29,7 @@ export default function setupPlugins() { // TODO: Remove these shims once the control panel configs are moved into the plugin package. getChartControlPanelRegistry() .registerValue('separator', Separator) - .registerValue('time_table', TimeTable) - .registerValue('deck_arc', DeckArc) - .registerValue('deck_geojson', DeckGeojson) - .registerValue('deck_grid', DeckGrid) - .registerValue('deck_hex', DeckHex) - .registerValue('deck_multi', DeckMulti) - .registerValue('deck_path', DeckPath) - .registerValue('deck_polygon', DeckPolygon) - .registerValue('deck_scatter', DeckScatter) - .registerValue('deck_screengrid', DeckScreengrid); + .registerValue('time_table', TimeTable); setupPluginsExtra(); }