mirror of
https://github.com/apache/superset.git
synced 2026-04-25 02:55:07 +00:00
Migrating shared NVD3 controls to new module (#9525)
* proto module * caught a missed 'freq' unique control * line_interpolation * linting * showLegend * show_controls * xAxisLabel * bottomMargin * x_ticks_layout * missed one * x_axis_format * yLogScale * y_axis_bounds * linting * nixing yarn lock * x_axis_showminmax * xAxisShowminmax control * richTooltip * linting, syntax fix * show_bar_value, bar_stacked * reduceXticks, yaxislabel * left_margin, max_bubble_size, y_axis_showminmax * show_labels * send_time_range, y_axis_2_format, show_markers, order_bars * nixing commented imports * fake controls * looking up actual controls for comparison. * adding key to test setup * controls inventory * apache junk * lint ✨ * ignore null controls * fixing goofed up spread operation for xAxisFormat config * lint ✨ * fixes for errors caused by <hr> element in filterbox controls * fixing filter controls for 'druid_time_origin', 'granularity', 'granularity_sqla', 'time_grain_sqla' * getControlsInventory -> getControlsForVizType * further renaming of chartControlsInventory - > getControlsForVizType Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
This commit is contained in:
46
superset-frontend/src/utils/getControlsForVizType.js
Normal file
46
superset-frontend/src/utils/getControlsForVizType.js
Normal file
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* 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 memoize from 'lodash/memoize';
|
||||
import { getChartControlPanelRegistry } from '@superset-ui/chart';
|
||||
import controls from '../explore/controls';
|
||||
|
||||
const getControlsForVizType = memoize(vizType => {
|
||||
const controlsMap = {};
|
||||
getChartControlPanelRegistry()
|
||||
.get(vizType)
|
||||
.controlPanelSections.forEach(section => {
|
||||
section.controlSetRows.forEach(row => {
|
||||
row.forEach(control => {
|
||||
if (!control) return;
|
||||
if (typeof control === 'string') {
|
||||
// For now, we have to look in controls.jsx to get the config for some controls.
|
||||
// Once everything is migrated out, delete this if statement.
|
||||
controlsMap[control] = controls[control];
|
||||
} else if (control.name && control.config) {
|
||||
// condition needed because there are elements, e.g. <hr /> in some control configs (I'm looking at you, FilterBox!)
|
||||
controlsMap[control.name] = control.config;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
return controlsMap;
|
||||
});
|
||||
|
||||
export default getControlsForVizType;
|
||||
Reference in New Issue
Block a user