From e115ec56e0fc38237569c04e14388444beaf6590 Mon Sep 17 00:00:00 2001 From: "Qinghui.Liu" Date: Sun, 24 Jan 2021 23:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E9=83=A8=E5=88=86=E5=9B=BE=E8=A1=A8=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/van/chart/designer/PlotFactory.java | 15 +++++++++++++++ .../component/richText/VanChartFieldListPane.java | 6 +++++- .../richText/VanChartRichEditorPane.java | 8 ++++++++ .../VanChartPieCategoryRichTextFieldListPane.java | 4 ++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java b/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java index 0f9db09fa..3167b5f59 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/PlotFactory.java @@ -19,6 +19,7 @@ import com.fr.plugin.chart.heatmap.VanChartHeatMapPlot; import com.fr.plugin.chart.line.VanChartLinePlot; import com.fr.plugin.chart.map.VanChartMapPlot; import com.fr.plugin.chart.multilayer.VanChartMultiPiePlot; +import com.fr.plugin.chart.radar.VanChartRadarPlot; import com.fr.plugin.chart.scatter.VanChartScatterPlot; import com.fr.plugin.chart.structure.VanChartStructurePlot; import com.fr.plugin.chart.treemap.VanChartTreeMapPlot; @@ -94,6 +95,20 @@ public class PlotFactory { return autoAdjustLabelPlots.contains(plot.getClass()); } + private static Set> supportAddTableFieldPlots = new HashSet<>(); + + static { + supportAddTableFieldPlots.add(PiePlot4VanChart.class); + supportAddTableFieldPlots.add(VanChartColumnPlot.class); + supportAddTableFieldPlots.add(VanChartLinePlot.class); + supportAddTableFieldPlots.add(VanChartAreaPlot.class); + supportAddTableFieldPlots.add(VanChartRadarPlot.class); + } + + public static boolean plotSupportAddTableField(Plot plot) { + return supportAddTableFieldPlots.contains(plot.getClass()); + } + private static Set> borderAndBackgroundLabelPlots = new HashSet<>(); static { diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java index 60a0b1158..6e0e587be 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartFieldListPane.java @@ -54,7 +54,7 @@ public class VanChartFieldListPane extends JPanel { List richEditorFieldNames = VanChartRichEditorPane.getFieldNames(); - this.tableFieldNameList = richEditorFieldNames == null ? new ArrayList<>() : richEditorFieldNames; + this.tableFieldNameList = (!supportAddField() || richEditorFieldNames == null) ? new ArrayList<>() : richEditorFieldNames; this.fieldAttrPane = fieldAttrPane; this.richEditorPane = richEditorPane; @@ -133,6 +133,10 @@ public class VanChartFieldListPane extends JPanel { new AttrTooltipPercentFormat(), false, fieldListener); } + protected boolean supportAddField() { + return true; + } + protected void addDefaultFieldButton(JPanel fieldPane) { fieldPane.add(categoryNameButton); fieldPane.add(seriesNameButton); diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java index dcec83deb..69c93926c 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java @@ -3,6 +3,7 @@ package com.fr.van.chart.designer.component.richText; import com.fr.base.TableData; import com.fr.base.chart.chartdata.TopDefinitionProvider; import com.fr.chart.chartattr.Chart; +import com.fr.chart.chartattr.Plot; import com.fr.chart.chartdata.MoreNameCDDefinition; import com.fr.chart.chartdata.OneValueCDDefinition; import com.fr.data.TableDataSource; @@ -17,6 +18,7 @@ import com.fr.log.FineLoggerFactory; import com.fr.plugin.chart.base.AttrTooltipRichText; import com.fr.plugin.chart.type.TextAlign; import com.fr.stable.StringUtils; +import com.fr.van.chart.designer.PlotFactory; import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.JSValue; import com.teamdev.jxbrowser.chromium.events.ScriptContextAdapter; @@ -51,6 +53,12 @@ public class VanChartRichEditorPane { return; } + Plot plot = chart.getPlot(); + + if (plot == null || !PlotFactory.plotSupportAddTableField(plot)) { + return; + } + TopDefinitionProvider definition = chart.getFilterDefinition(); if (definition == null) { diff --git a/designer-chart/src/main/java/com/fr/van/chart/pie/style/VanChartPieCategoryRichTextFieldListPane.java b/designer-chart/src/main/java/com/fr/van/chart/pie/style/VanChartPieCategoryRichTextFieldListPane.java index deb62c01c..15361b490 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/pie/style/VanChartPieCategoryRichTextFieldListPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/pie/style/VanChartPieCategoryRichTextFieldListPane.java @@ -32,6 +32,10 @@ public class VanChartPieCategoryRichTextFieldListPane extends VanChartFieldListP new AttrTooltipSummaryValueFormat(), false, listener); } + protected boolean supportAddField() { + return false; + } + protected void addDefaultFieldButton(JPanel fieldPane) { fieldPane.add(getCategoryNameButton()); fieldPane.add(summaryValueButton);