mirror of
https://github.com/apache/superset.git
synced 2026-05-06 16:34:32 +00:00
Migrated 25 chart control panels from legacy config-based to modern React-based: Core Charts: - Pie, Funnel, Sankey, Treemap (already done) - BoxPlot, Bubble, Gantt, Gauge, Graph - Heatmap, Histogram, Radar, Sunburst, Tree, Waterfall BigNumber Variants (3): - BigNumberTotal - BigNumberPeriodOverPeriod - BigNumberWithTrendline Timeseries Variants (7): - Area, Step, Line, Bar, Scatter, SmoothLine - MixedTimeseries (most complex with dual Y-axes) Key improvements across all migrations: - Direct React components instead of config objects - Full TypeScript support with proper types - Tab-based organization (Data/Customize/Options) - Proper safety checks and validation - Conditional rendering for dependent controls - Single column handling where needed - Modern control components (DndColumnSelect, etc.) All charts compile successfully with webpack dev server. This completes the control panel modernization effort! 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
2.1 KiB
TypeScript
65 lines
2.1 KiB
TypeScript
/**
|
|
* 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, Behavior } from '@superset-ui/core';
|
|
import controlPanel from './BigNumberWithTrendlineControlPanelSimple';
|
|
import transformProps from './transformProps';
|
|
import buildQuery from './buildQuery';
|
|
import example from './images/Big_Number_Trendline.jpg';
|
|
import thumbnail from './images/thumbnail.png';
|
|
import {
|
|
BigNumberWithTrendlineChartProps,
|
|
BigNumberWithTrendlineFormData,
|
|
} from '../types';
|
|
import { EchartsChartPlugin } from '../../types';
|
|
|
|
const metadata = {
|
|
category: t('KPI'),
|
|
description: t(
|
|
'Showcases a single number accompanied by a simple line chart, to call attention to an important metric along with its change over time or other dimension.',
|
|
),
|
|
exampleGallery: [{ url: example }],
|
|
name: t('Big Number with Trendline'),
|
|
tags: [
|
|
t('Advanced-Analytics'),
|
|
t('ECharts'),
|
|
t('Line'),
|
|
t('Percentages'),
|
|
t('Featured'),
|
|
t('Report'),
|
|
t('Trend'),
|
|
],
|
|
thumbnail,
|
|
behaviors: [Behavior.DrillToDetail],
|
|
};
|
|
|
|
export default class BigNumberWithTrendlineChartPlugin extends EchartsChartPlugin<
|
|
BigNumberWithTrendlineFormData,
|
|
BigNumberWithTrendlineChartProps
|
|
> {
|
|
constructor() {
|
|
super({
|
|
loadChart: () => import('../BigNumberViz'),
|
|
metadata,
|
|
buildQuery,
|
|
transformProps,
|
|
controlPanel,
|
|
});
|
|
}
|
|
}
|