From dc3f2198484b44877687ecd2083c2c0ab096090d Mon Sep 17 00:00:00 2001 From: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com> Date: Thu, 7 May 2020 23:55:27 -0700 Subject: [PATCH] feat(plugin-chart-boxplot): add control panel (#464) --- .../plugins/preset-chart-xy/package.json | 1 + .../src/BoxPlot/controlPanel.ts | 67 +++++++++++++++++++ .../preset-chart-xy/src/BoxPlot/index.ts | 2 + .../src/BoxPlot/legacy/index.ts | 2 + 4 files changed, 72 insertions(+) create mode 100644 superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/package.json b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/package.json index 52a88a61ce59..11a593531a03 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/package.json +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/package.json @@ -43,6 +43,7 @@ "@superset-ui/chart": "^0.13.0", "@superset-ui/chart-composition": "^0.13.0", "@superset-ui/color": "^0.13.0", + "@superset-ui/control-utils": "^0.13.9", "@superset-ui/core": "^0.13.0", "@superset-ui/dimension": "^0.13.0", "@superset-ui/number-format": "^0.13.0", diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts new file mode 100644 index 000000000000..0c6124516564 --- /dev/null +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/controlPanel.ts @@ -0,0 +1,67 @@ +/** + * 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/translation'; +import { formatSelectOptions } from '@superset-ui/control-utils'; + +export default { + controlPanelSections: [ + { + label: t('Query'), + expanded: true, + controlSetRows: [['metrics'], ['adhoc_filters'], ['groupby'], ['limit']], + }, + { + label: t('Chart Options'), + expanded: true, + controlSetRows: [ + ['color_scheme', 'label_colors'], + [ + { + name: 'whisker_options', + config: { + type: 'SelectControl', + freeForm: true, + label: t('Whisker/outlier options'), + default: 'Tukey', + description: t('Determines how whiskers and outliers are calculated.'), + choices: formatSelectOptions([ + 'Tukey', + 'Min/max (no outliers)', + '2/98 percentiles', + '9/91 percentiles', + ]), + }, + }, + { + name: 'x_ticks_layout', + config: { + type: 'SelectControl', + label: t('X Tick Layout'), + choices: formatSelectOptions(['auto', 'flat', '45°', 'staggered']), + default: 'auto', + clearable: false, + renderTrigger: true, + description: t('The way the ticks are laid out on the X-axis'), + }, + }, + ], + ], + }, + ], +}; diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/index.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/index.ts index 529dc454d149..c62390646655 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/index.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/index.ts @@ -19,6 +19,7 @@ import { ChartPlugin } from '@superset-ui/chart'; import createMetadata from './createMetadata'; import transformProps from './transformProps'; +import controlPanel from './controlPanel'; export default class BoxPlotChartPlugin extends ChartPlugin { constructor() { @@ -26,6 +27,7 @@ export default class BoxPlotChartPlugin extends ChartPlugin { loadChart: () => import('../components/BoxPlot/BoxPlot'), metadata: createMetadata(), transformProps, + controlPanel, }); } } diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/legacy/index.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/legacy/index.ts index 24ceb4eb7ad1..c82937d1bfb3 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/legacy/index.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/preset-chart-xy/src/BoxPlot/legacy/index.ts @@ -19,6 +19,7 @@ import { ChartPlugin } from '@superset-ui/chart'; import createMetadata from '../createMetadata'; import transformProps from './transformProps'; +import controlPanel from '../controlPanel'; export default class BoxPlotChartPlugin extends ChartPlugin { constructor() { @@ -26,6 +27,7 @@ export default class BoxPlotChartPlugin extends ChartPlugin { loadChart: () => import('../../components/BoxPlot/BoxPlot'), metadata: createMetadata(true), transformProps, + controlPanel, }); } }