Browse Source

REPORT-75998 增加组合图JS、公式处理

feature/x
Destiny.Lin 2 years ago
parent
commit
a3041d2f0b
  1. 33
      designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/chart/SearchChartCollectionFormulaAction.java
  2. 29
      designer-realize/src/main/java/com/fr/design/actions/replace/action/content/js/SearchChartJSAction.java
  3. 22
      designer-realize/src/main/java/com/fr/design/actions/replace/info/ReplaceObject.java

33
designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/chart/SearchChartCollectionFormulaAction.java

@ -9,6 +9,7 @@ import com.fr.chart.base.AttrChangeConfig;
import com.fr.chart.chartattr.Axis; import com.fr.chart.chartattr.Axis;
import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Chart;
import com.fr.chart.chartattr.ChartCollection; import com.fr.chart.chartattr.ChartCollection;
import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartattr.SwitchTitle; import com.fr.chart.chartattr.SwitchTitle;
import com.fr.chart.chartattr.Title; import com.fr.chart.chartattr.Title;
@ -28,6 +29,9 @@ import com.fr.js.NameJavaScriptGroup;
import com.fr.plugin.chart.attr.axis.VanChartAlertValue; import com.fr.plugin.chart.attr.axis.VanChartAlertValue;
import com.fr.plugin.chart.attr.axis.VanChartAxis; import com.fr.plugin.chart.attr.axis.VanChartAxis;
import com.fr.plugin.chart.attr.axis.VanChartValueAxis; import com.fr.plugin.chart.attr.axis.VanChartValueAxis;
import com.fr.plugin.chart.custom.CustomPlotFactory;
import com.fr.plugin.chart.custom.VanChartCustomPlot;
import com.fr.plugin.chart.custom.type.CustomPlotType;
import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.TemplateCellElement;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
@ -92,20 +96,31 @@ public class SearchChartCollectionFormulaAction {
Toolkit.i18nText("Fine-Design_Chart_Animation_Special"), Toolkit.i18nText("Fine-Design_Chart_Animation_Special"),
Toolkit.i18nText("Fine-Design_Chart_Interactive") Toolkit.i18nText("Fine-Design_Chart_Interactive")
); );
if (chart.getPlot() != null) {
NameJavaScriptGroup javaScriptGroup = chart.getPlot().getHotHyperLink(); if (chart.getPlot() instanceof VanChartCustomPlot){
if (javaScriptGroup != null) { VanChartCustomPlot plot = chart.getPlot();
for (int i = 0; i < javaScriptGroup.size(); i++) { for (int i = 0 ; i < plot.getCustomPlotList().size() ; i++){
NameJavaScript javaScript = javaScriptGroup.getNameHyperlink(i); ITContent customContent = ITContent.copy(conditionContent);
conditionContent.addOtherPos(javaScript.getName()); customContent.addOtherPos(CustomPlotFactory.getTitle(CustomPlotFactory.getCustomType(plot.getCustomPlotList().get(i))));
SearchJSHighlightAction action = SearchJSHighlightAction.getInstance(); dealPlot(formulaInfos,customContent,plot.getCustomPlotList().get(i));
action.searchJSFormulaFromOther(formulaInfos, conditionContent, javaScript.getJavaScript());
}
} }
} else if (chart.getPlot() != null) {
dealPlot(formulaInfos,conditionContent,chart.getPlot());
} }
} }
private void dealPlot(List<FormulaInfo> formulaInfos, ITContent content, Plot plot){
NameJavaScriptGroup javaScriptGroup = plot.getHotHyperLink();
if (javaScriptGroup != null) {
for (int i = 0; i < javaScriptGroup.size(); i++) {
NameJavaScript javaScript = javaScriptGroup.getNameHyperlink(i);
content.addOtherPos(javaScript.getName());
SearchJSHighlightAction action = SearchJSHighlightAction.getInstance();
action.searchJSFormulaFromOther(formulaInfos, content, javaScript.getJavaScript());
}
}
}
private void searchFormulaFromChartPresent(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { private void searchFormulaFromChartPresent(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) {
searchPresent4Formula(provider.getCategoryPresent(), content, formulaInfos); searchPresent4Formula(provider.getCategoryPresent(), content, formulaInfos);

29
designer-realize/src/main/java/com/fr/design/actions/replace/action/content/js/SearchChartJSAction.java

@ -7,14 +7,20 @@ import com.fr.design.actions.replace.info.JSInfo;
import com.fr.design.actions.replace.info.base.ITContent; import com.fr.design.actions.replace.info.base.ITContent;
import com.fr.design.actions.replace.utils.SearchJSUtils; import com.fr.design.actions.replace.utils.SearchJSUtils;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.js.JavaScriptImpl;
import com.fr.js.NameJavaScript; import com.fr.js.NameJavaScript;
import com.fr.js.NameJavaScriptGroup;
import com.fr.plugin.chart.attr.axis.VanChartAxis; import com.fr.plugin.chart.attr.axis.VanChartAxis;
import com.fr.plugin.chart.attr.plot.VanChartPlot;
import com.fr.plugin.chart.base.RefreshMoreLabel; import com.fr.plugin.chart.base.RefreshMoreLabel;
import com.fr.plugin.chart.base.VanChartHtmlLabel; import com.fr.plugin.chart.base.VanChartHtmlLabel;
import com.fr.plugin.chart.custom.CustomPlotFactory;
import com.fr.plugin.chart.custom.VanChartCustomPlot;
import com.fr.plugin.chart.vanchart.VanChart; import com.fr.plugin.chart.vanchart.VanChart;
import com.fr.stable.collections.combination.Pair; import com.fr.stable.collections.combination.Pair;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -60,7 +66,30 @@ public class SearchChartJSAction {
chartContent.addOtherPos(chartCollection.getChart(i).getChartName()); chartContent.addOtherPos(chartCollection.getChart(i).getChartName());
//坐标轴 //坐标轴
searchAxisJS(jsInfos, chartContent, chartCollection.getChart(i)); searchAxisJS(jsInfos, chartContent, chartCollection.getChart(i));
//组合图表-条件属性-超链特判
dealCustomPlot(jsInfos, conditionContent,chartCollection.getChart(i));
}
}
private void dealCustomPlot(List<JSInfo> jsInfos, ITContent conditionContent, Chart chart) {
if (chart.getPlot() instanceof VanChartCustomPlot){
VanChartCustomPlot customPlot = chart.getPlot();
for (VanChartPlot plot : customPlot.getCustomPlotList()){
NameJavaScriptGroup javaScriptGroup = plot.getHotHyperLink();
if (javaScriptGroup != null){
for (int i = 0 ; i < javaScriptGroup.size();i++){
if (javaScriptGroup.getNameHyperlink(i).getJavaScript() instanceof JavaScriptImpl){
ITContent content = ITContent.copy(conditionContent);
content.addOtherPos(
CustomPlotFactory.getTitle(CustomPlotFactory.getCustomType(plot)),
javaScriptGroup.getNameHyperlink(i).getName()
);
content.setReplaceObject(javaScriptGroup.getNameHyperlink(i));
jsInfos.add(new JSInfo(content));
}
}
}
}
} }
} }

22
designer-realize/src/main/java/com/fr/design/actions/replace/info/ReplaceObject.java

@ -46,7 +46,7 @@ public enum ReplaceObject implements DealWithInfoValue {
} else { } else {
NameJavaScript javaScript = ((NameJavaScript) (info.getContent().getReplaceObject())); NameJavaScript javaScript = ((NameJavaScript) (info.getContent().getReplaceObject()));
info.updateOldStr(javaScript.getName(), findStr); info.updateOldStr(javaScript.getName(), findStr);
javaScript.setName(javaScript.getName().replaceAll(findStr, replaceStr)); javaScript.setName(ShowValueUtils.replaceAll(javaScript.getName(), findStr, replaceStr));
} }
} }
@ -87,15 +87,13 @@ public enum ReplaceObject implements DealWithInfoValue {
@Override @Override
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) {
if (((JSInfo) info).isContent()) { if (((JSInfo) info).isContent()) {
if (operatorArray.size() > 0) { JavaScriptImpl javaScript = (JavaScriptImpl) ((Listener) (info.getContent().getReplaceObject())).getAction();
JavaScriptImpl javaScript = (JavaScriptImpl) ((Listener) (info.getContent().getReplaceObject())).getAction(); info.updateOldStr(javaScript.getContent(), findStr);
info.updateOldStr(javaScript.getContent(), findStr); javaScript.setContent(ShowValueUtils.replaceAll(javaScript.getContent(), findStr, replaceStr));
javaScript.setContent(ShowValueUtils.replaceAll(javaScript.getContent(), findStr, replaceStr));
}
} else { } else {
Listener listener = ((Listener) ((info.getContent().getReplaceObject()))); Listener listener = ((Listener) ((info.getContent().getReplaceObject())));
info.updateOldStr(listener.getName(), findStr); info.updateOldStr(listener.getName(), findStr);
listener.setName(listener.getName().replaceAll(findStr, replaceStr)); listener.setName(ShowValueUtils.replaceAll(listener.getName(), findStr, replaceStr));
} }
} }
@ -135,12 +133,10 @@ public enum ReplaceObject implements DealWithInfoValue {
@Override @Override
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) {
if (((JSInfo) info).isContent()) { if (((JSInfo) info).isContent()) {
if (operatorArray.size() > 0) { VanChartHtmlLabel htmlLabel = ((VanChartHtmlLabel) (info.getContent().getReplaceObject()));
VanChartHtmlLabel htmlLabel = ((VanChartHtmlLabel) (info.getContent().getReplaceObject())); StringBuilder stringBuilder = new StringBuilder(htmlLabel.getCustomText());
StringBuilder stringBuilder = new StringBuilder(htmlLabel.getCustomText()); info.updateOldStr(htmlLabel.getCustomText(), findStr);
info.updateOldStr(htmlLabel.getCustomText(), findStr); htmlLabel.setCustomText(ShowValueUtils.replaceAll(htmlLabel.getCustomText(), findStr, replaceStr));
htmlLabel.setCustomText(ShowValueUtils.replaceAll(htmlLabel.getCustomText(), findStr, replaceStr));
}
} }
} }

Loading…
Cancel
Save