+
+ {renderLegend({
+ // Pass flexDirection for @vx/legend to arrange legend items
+ direction: legendDirection,
+ })}
+
+
+
+ {parent =>
+ parent.width > 0 && parent.height > 0
+ ? // Only render when necessary
+ renderChart(parent)
+ : null
+ }
+
+
+
+ );
+ }
+}
+
+WithLegend.propTypes = propTypes;
+WithLegend.defaultProps = defaultProps;
+
+export default WithLegend;
diff --git a/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/images/thumbnail.png b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/images/thumbnail.png
new file mode 100644
index 000000000..f9f6af5a5
Binary files /dev/null and b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/images/thumbnail.png differ
diff --git a/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/images/thumbnailLarge.png b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/images/thumbnailLarge.png
new file mode 100644
index 000000000..8a97d47d8
Binary files /dev/null and b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/images/thumbnailLarge.png differ
diff --git a/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/index.js b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/index.js
new file mode 100644
index 000000000..f15a150f3
--- /dev/null
+++ b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/index.js
@@ -0,0 +1,40 @@
+/**
+ * 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 { ChartMetadata, ChartPlugin } from '@superset-ui/chart';
+import transformProps from './transformProps';
+import thumbnail from './images/thumbnail.png';
+
+const metadata = new ChartMetadata({
+ description: '',
+ name: t('Grouped Column Line Chart'),
+ thumbnail,
+ useLegacyApi: true,
+});
+
+export default class GroupedChart extends ChartPlugin {
+ constructor() {
+ super({
+ loadChart: () => import('./GroupedChart'),
+ metadata,
+ transformProps,
+ });
+ }
+}
\ No newline at end of file
diff --git a/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/transformProps.js b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/transformProps.js
new file mode 100644
index 000000000..c80df5d37
--- /dev/null
+++ b/packages/superset-ui-legacy-plugin-grouped-column-line-chart/src/transformProps.js
@@ -0,0 +1,35 @@
+/**
+ * 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.
+ */
+/* eslint-disable sort-keys */
+export default function transformProps(chartProps) {
+ const { width, height, formData, queryData } = chartProps;
+ const { colorScheme, linkLength, normalized, globalOpacity, xAxisLabel, yAxisLabel } = formData;
+
+ return {
+ width,
+ height,
+ data: queryData.data,
+ binCount: parseInt(linkLength, 10),
+ colorScheme,
+ normalized,
+ opacity: globalOpacity,
+ xAxisLabel,
+ yAxisLabel,
+ };
+}
diff --git a/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-grouped-column-line-chart/Stories.tsx b/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-grouped-column-line-chart/Stories.tsx
new file mode 100644
index 000000000..d94a13f1a
--- /dev/null
+++ b/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-grouped-column-line-chart/Stories.tsx
@@ -0,0 +1,27 @@
+/* eslint-disable no-magic-numbers */
+import React from 'react';
+import { SuperChart } from '@superset-ui/chart';
+import data from './data';
+
+export default [
+ {
+ renderStory: () => (
+