mirror of
https://github.com/apache/superset.git
synced 2026-04-07 18:35:15 +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:
@@ -18,8 +18,8 @@
|
||||
*/
|
||||
import React from 'react';
|
||||
import { shallow } from 'enzyme';
|
||||
|
||||
import { Table, Thead, Td, Th, Tr } from 'reactable-arc';
|
||||
import { getChartControlPanelRegistry } from '@superset-ui/chart';
|
||||
|
||||
import AlteredSliceTag from '../../../src/components/AlteredSliceTag';
|
||||
import ModalTrigger from '../../../src/components/ModalTrigger';
|
||||
@@ -27,6 +27,7 @@ import TooltipWrapper from '../../../src/components/TooltipWrapper';
|
||||
|
||||
const defaultProps = {
|
||||
origFormData: {
|
||||
viz_type: 'altered_slice_tag_spec',
|
||||
adhoc_filters: [
|
||||
{
|
||||
clause: 'WHERE',
|
||||
@@ -111,11 +112,52 @@ const expectedDiffs = {
|
||||
},
|
||||
};
|
||||
|
||||
const fakePluginControls = {
|
||||
controlPanelSections: [
|
||||
{
|
||||
label: 'Fake Control Panel Sections',
|
||||
expanded: true,
|
||||
controlSetRows: [
|
||||
[
|
||||
{
|
||||
name: 'y_axis_bounds',
|
||||
config: {
|
||||
type: 'BoundsControl',
|
||||
label: 'Value bounds',
|
||||
default: [null, null],
|
||||
description: 'Value bounds for the y axis',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'column_collection',
|
||||
config: {
|
||||
type: 'CollectionControl',
|
||||
label: 'Fake Collection Control',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'adhoc_filters',
|
||||
config: {
|
||||
type: 'AdhocFilterControl',
|
||||
label: 'Fake Filters',
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
describe('AlteredSliceTag', () => {
|
||||
let wrapper;
|
||||
let props;
|
||||
|
||||
beforeEach(() => {
|
||||
getChartControlPanelRegistry().registerValue(
|
||||
'altered_slice_tag_spec',
|
||||
fakePluginControls,
|
||||
);
|
||||
props = { ...defaultProps };
|
||||
wrapper = shallow(<AlteredSliceTag {...props} />);
|
||||
});
|
||||
@@ -237,6 +279,7 @@ describe('AlteredSliceTag', () => {
|
||||
});
|
||||
|
||||
it('returns "Max" and "Min" for BoundsControl', () => {
|
||||
// need to pass the viz type to the wrapper
|
||||
expect(wrapper.instance().formatValue([5, 6], 'y_axis_bounds')).toBe(
|
||||
'Min: 5, Max: 6',
|
||||
);
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
* 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 { getChartControlPanelRegistry } from '@superset-ui/chart';
|
||||
import getControlsForVizType from 'src/utils/getControlsForVizType';
|
||||
|
||||
const fakePluginControls = {
|
||||
controlPanelSections: [
|
||||
{
|
||||
label: 'Fake Control Panel Sections',
|
||||
expanded: true,
|
||||
controlSetRows: [
|
||||
['url_params'],
|
||||
[
|
||||
{
|
||||
name: 'y_axis_bounds',
|
||||
config: {
|
||||
type: 'BoundsControl',
|
||||
label: 'Value bounds',
|
||||
default: [null, null],
|
||||
description: 'Value bounds for the y axis',
|
||||
},
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
name: 'adhoc_filters',
|
||||
config: {
|
||||
type: 'AdhocFilterControl',
|
||||
label: 'Fake Filters',
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Fake Control Panel Sections 2',
|
||||
expanded: true,
|
||||
controlSetRows: [
|
||||
[
|
||||
{
|
||||
name: 'column_collection',
|
||||
config: {
|
||||
type: 'CollectionControl',
|
||||
label: 'Fake Collection Control',
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
describe('getControlsForVizType', () => {
|
||||
beforeEach(() => {
|
||||
getChartControlPanelRegistry().registerValue(
|
||||
'chart_controls_inventory_fake',
|
||||
fakePluginControls,
|
||||
);
|
||||
});
|
||||
|
||||
it('returns a map of the controls', () => {
|
||||
expect(getControlsForVizType('chart_controls_inventory_fake')).toEqual({
|
||||
url_params: {
|
||||
type: 'HiddenControl',
|
||||
label: 'URL Parameters',
|
||||
hidden: true,
|
||||
description: 'Extra parameters for use in jinja templated queries',
|
||||
},
|
||||
y_axis_bounds: {
|
||||
type: 'BoundsControl',
|
||||
label: 'Value bounds',
|
||||
default: [null, null],
|
||||
description: 'Value bounds for the y axis',
|
||||
},
|
||||
adhoc_filters: {
|
||||
type: 'AdhocFilterControl',
|
||||
label: 'Fake Filters',
|
||||
default: null,
|
||||
},
|
||||
column_collection: {
|
||||
type: 'CollectionControl',
|
||||
label: 'Fake Collection Control',
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user