From 460d9e8f3da19b1b7a626bb7c74698146d7657d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B2=B3?= <445798420@qq.com> Date: Mon, 30 Dec 2019 14:03:30 +0800 Subject: [PATCH] =?UTF-8?q?MOBILE-24622=20=E5=9B=BE=E8=A1=A8=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E8=B6=85=E9=93=BE=E5=BC=B9=E6=A1=86=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E4=B8=AD=E7=9A=84=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/VanChartHyperLinkPane.java | 104 +++++------------- 1 file changed, 28 insertions(+), 76 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java index af11a8b96..a2a615079 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartHyperLinkPane.java @@ -16,12 +16,11 @@ import com.fr.design.designer.TargetComponent; import com.fr.design.fun.HyperlinkProvider; import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameableCreator; -import com.fr.design.gui.imenutable.UIMenuNameableCreator; import com.fr.design.hyperlink.ReportletHyperlinkPane; import com.fr.design.hyperlink.WebHyperlinkPane; +import com.fr.design.i18n.Toolkit; import com.fr.design.javascript.JavaScriptImplPane; import com.fr.design.javascript.ParameterJavaScriptPane; -import com.fr.design.module.DesignModuleFactory; import com.fr.general.NameObject; import com.fr.js.EmailJavaScript; import com.fr.js.FormHyperlinkProvider; @@ -33,7 +32,6 @@ import com.fr.js.ParameterJavaScript; import com.fr.js.ReportletHyperlink; import com.fr.js.WebHyperlink; import com.fr.log.FineLoggerFactory; -import com.fr.stable.ListMap; import com.fr.stable.Nameable; import com.fr.stable.bridge.StableFactory; import com.fr.van.chart.designer.component.VanChartUIListControlPane; @@ -42,6 +40,7 @@ import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Set; @@ -57,18 +56,35 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { @Override public NameableCreator[] createNameableCreators() { - //面板初始化,需要在populate的时候更新 - Map nameCreators = new ListMap<>(); - NameableCreator[] creators = DesignModuleFactory.getHyperlinkGroupType().getHyperlinkCreators(); - for (NameableCreator creator : creators) { - nameCreators.put(creator.menuName(), creator); - } + List creators = new ArrayList(); + + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Reportlet"), + ReportletHyperlink.class, ReportletHyperlinkPane.class)); + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Mail"), EmailJavaScript.class, VanChartEmailPane.class)); + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Web"), + WebHyperlink.class, WebHyperlinkPane.class)); + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Dynamic_Parameters"), + ParameterJavaScript.class, ParameterJavaScriptPane.class)); + creators.add(new NameObjectCreator("JavaScript", JavaScriptImpl.class, JavaScriptImplPane.class)); + + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Float_Chart"), + ChartHyperPoplink.class, ChartHyperPoplinkPane.class)); + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Cell"), + ChartHyperRelateCellLink.class, ChartHyperRelateCellLinkPane.class)); + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Float"), + ChartHyperRelateFloatLink.class, ChartHyperRelateFloatLinkPane.class)); + + FormHyperlinkProvider hyperlink = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class); + creators.add(new NameObjectCreator(Toolkit.i18nText("Fine-Design_Chart_Link_Form"), + hyperlink.getClass(), FormHyperlinkPane.class)); + Set providers = ExtraDesignClassManager.getInstance().getArray(HyperlinkProvider.XML_TAG); for (HyperlinkProvider provider : providers) { NameableCreator nc = provider.createHyperlinkCreator(); - nameCreators.put(nc.menuName(), nc); + creators.add(nc); } - return nameCreators.values().toArray(new NameableCreator[nameCreators.size()]); + + return creators.toArray(new NameableCreator[creators.size()]); } @@ -146,24 +162,6 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { public void populate(Plot plot) { setPlot(plot); - HashMap paneMap = getHyperlinkMap(plot); - - //安装平台内打开插件时,添加相应按钮 - Set providers = ExtraDesignClassManager.getInstance().getArray(HyperlinkProvider.XML_TAG); - for (HyperlinkProvider provider : providers) { - NameableCreator nc = provider.createHyperlinkCreator(); - paneMap.put(nc.getHyperlink(), nc.getUpdatePane()); - } - - java.util.List list = refreshList(paneMap); - NameObjectCreator[] creators = new NameObjectCreator[list.size()]; - for (int i = 0; list != null && i < list.size(); i++) { - UIMenuNameableCreator uiMenuNameableCreator = list.get(i); - creators[i] = new NameObjectCreator(uiMenuNameableCreator.getName(), uiMenuNameableCreator.getObj().getClass(), uiMenuNameableCreator.getPaneClazz()); - - } - - refreshNameableCreator(creators); java.util.List nameObjects = new ArrayList(); @@ -172,9 +170,7 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { NameJavaScript javaScript = nameGroup.getNameHyperlink(i); if (javaScript != null && javaScript.getJavaScript() != null) { JavaScript script = javaScript.getJavaScript(); - UIMenuNameableCreator uiMenuNameableCreator = new UIMenuNameableCreator(javaScript.getName(), script, getUseMap(paneMap, script.getClass())); - nameObjects.add(new NameObject(uiMenuNameableCreator.getName(), uiMenuNameableCreator.getObj())); - + nameObjects.add(new NameObject(javaScript.getName(), script)); } } @@ -186,23 +182,6 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { return plot.getHotHyperLink(); } - protected HashMap getHyperlinkMap(Plot plot) { - HashMap map = new HashMap(); - - map.put(ReportletHyperlink.class, ReportletHyperlinkPane.class); - map.put(EmailJavaScript.class, ChartEmailPane.class); - map.put(WebHyperlink.class, WebHyperlinkPane.class); - map.put(ParameterJavaScript.class, ParameterJavaScriptPane.class); - - map.put(JavaScriptImpl.class, JavaScriptImplPane.class); - map.put(ChartHyperPoplink.class, ChartHyperPoplinkPane.class); - map.put(ChartHyperRelateCellLink.class, ChartHyperRelateCellLinkPane.class); - map.put(ChartHyperRelateFloatLink.class, ChartHyperRelateFloatLinkPane.class); - - map.put(FormHyperlinkProvider.class, FormHyperlinkPane.class); - return map; - } - public void update(Plot plot) { NameJavaScriptGroup nameGroup = updateNameGroup(); @@ -230,33 +209,6 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { return nameGroup; } - - protected java.util.List refreshList(HashMap map) { - java.util.List list = new ArrayList(); - - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Reportlet"), - new ReportletHyperlink(), getUseMap(map, ReportletHyperlink.class))); - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Mail"), new EmailJavaScript(), VanChartEmailPane.class)); - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Web"), - new WebHyperlink(), getUseMap(map, WebHyperlink.class))); - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Dynamic_Parameters"), - new ParameterJavaScript(), getUseMap(map, ParameterJavaScript.class))); - list.add(new UIMenuNameableCreator("JavaScript", new JavaScriptImpl(), getUseMap(map, JavaScriptImpl.class))); - - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Float_Chart"), - new ChartHyperPoplink(), getUseMap(map, ChartHyperPoplink.class))); - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Cell"), - new ChartHyperRelateCellLink(), getUseMap(map, ChartHyperRelateCellLink.class))); - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Float"), - new ChartHyperRelateFloatLink(), getUseMap(map, ChartHyperRelateFloatLink.class))); - - FormHyperlinkProvider hyperlink = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class); - list.add(new UIMenuNameableCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Link_Form"), - hyperlink, getUseMap(map, FormHyperlinkProvider.class))); - - return list; - } - protected Class getUseMap(HashMap map, Object key) { if (map.get(key) != null) { return (Class) map.get(key);