27 changed files with 1734 additions and 80 deletions
@ -0,0 +1,128 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula; |
||||||
|
|
||||||
|
import com.fr.chart.chartdata.MeterReportDefinition; |
||||||
|
import com.fr.design.actions.replace.info.DealWithInfoValue; |
||||||
|
import com.fr.design.actions.replace.info.Info; |
||||||
|
import com.fr.design.actions.replace.info.base.SearchTag; |
||||||
|
import com.fr.design.actions.replace.utils.ShowValueUtils; |
||||||
|
import com.fr.general.GeneralUtils; |
||||||
|
import com.fr.plugin.chart.map.data.VanMapReportDefinition; |
||||||
|
import com.fr.stable.collections.combination.Pair; |
||||||
|
import org.jetbrains.annotations.Nullable; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 针对特殊类型进行处理,负责公式校验(公式设置值时如果是new一个新的公式都要放进来这里根据持有对象来校验) |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public enum FormulaTag implements DealWithInfoValue { |
||||||
|
/** |
||||||
|
* 经度 |
||||||
|
*/ |
||||||
|
CHART_DATA_LONGITUDE(SearchTag.CHART_DATA_LONGITUDE) { |
||||||
|
@Override |
||||||
|
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { |
||||||
|
if (info.getContent().getHoldObject() instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) info.getContent().getHoldObject(); |
||||||
|
definition.setLongitude(ShowValueUtils.replaceAll(GeneralUtils.objectToString(definition.getLongitude()), findStr, replaceStr)); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 纬度 |
||||||
|
*/ |
||||||
|
CHART_DATA_LATITUDE(SearchTag.CHART_DATA_LATITUDE) { |
||||||
|
@Override |
||||||
|
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { |
||||||
|
if (info.getContent().getHoldObject() instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) info.getContent().getHoldObject(); |
||||||
|
definition.setLatitude(ShowValueUtils.replaceAll(GeneralUtils.objectToString(definition.getLatitude()), findStr, replaceStr)); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 区域名 |
||||||
|
*/ |
||||||
|
CHART_AREA_NAME(SearchTag.CHART_AREA_NAME) { |
||||||
|
@Override |
||||||
|
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { |
||||||
|
if (info.getContent().getHoldObject() instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) info.getContent().getHoldObject(); |
||||||
|
definition.setCategoryName(ShowValueUtils.replaceAll(GeneralUtils.objectToString(definition.getCategoryName()), findStr, replaceStr)); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 终点经度 |
||||||
|
*/ |
||||||
|
CHART_DATA_END_LONGITUDE(SearchTag.CHART_DATA_END_LONGITUDE) { |
||||||
|
@Override |
||||||
|
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { |
||||||
|
if (info.getContent().getHoldObject() instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) info.getContent().getHoldObject(); |
||||||
|
definition.setEndLongitude(ShowValueUtils.replaceAll(GeneralUtils.objectToString(definition.getEndLongitude()), findStr, replaceStr)); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 终点纬度 |
||||||
|
*/ |
||||||
|
CHART_DATA_END_LATITUDE(SearchTag.CHART_DATA_END_LATITUDE) { |
||||||
|
@Override |
||||||
|
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { |
||||||
|
if (info.getContent().getHoldObject() instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) info.getContent().getHoldObject(); |
||||||
|
definition.setEndLatitude(ShowValueUtils.replaceAll(GeneralUtils.objectToString(definition.getEndLatitude()), findStr, replaceStr)); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
/** |
||||||
|
* 终点区域名 |
||||||
|
*/ |
||||||
|
CHART_AREA_END_NAME(SearchTag.CHART_AREA_END_NAME) { |
||||||
|
@Override |
||||||
|
public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray) { |
||||||
|
if (info.getContent().getHoldObject() instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) info.getContent().getHoldObject(); |
||||||
|
definition.setEndAreaName(ShowValueUtils.replaceAll(GeneralUtils.objectToString(definition.getEndAreaName()), findStr, replaceStr)); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
int index; |
||||||
|
|
||||||
|
FormulaTag(int index) { |
||||||
|
this.index = index; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 匹配 |
||||||
|
* |
||||||
|
* @param index |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Nullable |
||||||
|
public static FormulaTag match(int index) { |
||||||
|
FormulaTag[] values = FormulaTag.values(); |
||||||
|
for (FormulaTag value : values) { |
||||||
|
if (value.index == index) { |
||||||
|
return value; |
||||||
|
} |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
abstract public void setValue(Info info, String findStr, String replaceStr, List<Pair<Integer, Integer>> operatorArray); |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getInfoShowStr(Info info) { |
||||||
|
return info.getContent().getOldShowStr(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,95 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.box.data.VanBoxReportDefinition; |
||||||
|
import com.fr.plugin.chart.box.data.VanBoxReportDetailedDefinition; |
||||||
|
import com.fr.plugin.chart.box.data.VanBoxReportResultDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 箱型图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartBoxDataFormulaAction implements SearchChartDataFormula { |
||||||
|
|
||||||
|
private SearchChartBoxDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof VanBoxReportDefinition) { |
||||||
|
VanBoxReportDefinition definition = (VanBoxReportDefinition) provider; |
||||||
|
//明细数据
|
||||||
|
ITContent detailContent = ITContent.copy(content); |
||||||
|
detailContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Detailed_Data")); |
||||||
|
dealDetailDefinition(formulaInfos, detailContent, definition.getDetailedDefinition()); |
||||||
|
//结果数据
|
||||||
|
ITContent resultContent = ITContent.copy(content); |
||||||
|
resultContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Result_Data")); |
||||||
|
dealResultDefinition(formulaInfos, resultContent, definition.getResultDefinition()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void dealResultDefinition(List<FormulaInfo> formulaInfos, ITContent content, VanBoxReportResultDefinition resultDefinition) { |
||||||
|
//分类
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Category"), resultDefinition.getCategoryName()); |
||||||
|
//系列名
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Name"), resultDefinition.getSeriesName()); |
||||||
|
//最大值
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Data_Max"), resultDefinition.getMax()); |
||||||
|
//上四分位数
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Data_Q3"), resultDefinition.getQ3()); |
||||||
|
//中位数
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Data_Median"), resultDefinition.getMedian()); |
||||||
|
//下四分位数
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Data_Q1"), resultDefinition.getQ1()); |
||||||
|
//
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Min_Value"), resultDefinition.getMin()); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private void dealDetailDefinition(List<FormulaInfo> formulaInfos, ITContent content, VanBoxReportDetailedDefinition detailedDefinition) { |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Category_Name"), detailedDefinition.getCategoryName()); |
||||||
|
SearchChartMapDataFormulaAction.dealSeriesDefinition(formulaInfos, content, detailedDefinition.getSeriesList()); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartBoxDataFormulaAction getInstance() { |
||||||
|
return SearchChartBoxDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartBoxDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartBoxDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartBoxDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartBoxDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartBoxDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,79 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.chart.chartdata.BubbleReportDefinition; |
||||||
|
import com.fr.chart.chartdata.BubbleSeriesValue; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 散点图、气泡图数据 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartBubbleDataFormulaAction implements SearchChartDataFormula { |
||||||
|
|
||||||
|
private SearchChartBubbleDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof BubbleReportDefinition) { |
||||||
|
BubbleReportDefinition reportDefinition = (BubbleReportDefinition) provider; |
||||||
|
for (int i = 0; i < reportDefinition.size(); i++) { |
||||||
|
if (reportDefinition.get(i) instanceof BubbleSeriesValue) { |
||||||
|
BubbleSeriesValue seriesValue = (BubbleSeriesValue) reportDefinition.get(i); |
||||||
|
dealBubbleSeriesValue(formulaInfos, content, seriesValue); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void dealBubbleSeriesValue(List<FormulaInfo> formulaInfos, ITContent content, BubbleSeriesValue seriesValue) { |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Name"), seriesValue.getBubbleSereisName()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Size"), seriesValue.getBubbleSeriesSize()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_X_Axis"), seriesValue.getBubbleSeriesX()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Y_Axis"), seriesValue.getBubbleSeriesY()); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartBubbleDataFormulaAction getInstance() { |
||||||
|
return SearchChartBubbleDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartBubbleDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartBubbleDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartBubbleDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartBubbleDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartBubbleDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,79 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
|
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
|
||||||
|
import com.fr.plugin.chart.custom.CustomDefinition; |
||||||
|
import com.fr.plugin.chart.custom.CustomPlotFactory; |
||||||
|
import com.fr.plugin.chart.custom.type.CustomPlotType; |
||||||
|
|
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* 组合图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartCustomDataFormulaAction implements SearchChartDataFormula { |
||||||
|
|
||||||
|
private SearchChartCustomDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof CustomDefinition) { |
||||||
|
CustomDefinition definition = (CustomDefinition) provider; |
||||||
|
Map<String, SearchChartDataFormula> map = SearchChartDataFormulaManager.getInstance().getChartDataType(); |
||||||
|
for (CustomPlotType customPlotType : definition.getDefinitionProviderMap().keySet()) { |
||||||
|
TopDefinitionProvider definitionProvider = definition.getDefinitionProviderMap().get(customPlotType); |
||||||
|
if (map.containsKey(definitionProvider.getClass().getSimpleName())) { |
||||||
|
ITContent customContent = ITContent.copy(content); |
||||||
|
customContent.addOtherPos(CustomPlotFactory.getTitle(customPlotType)); |
||||||
|
map.get(definitionProvider.getClass().getSimpleName()).searchChartDataFormula(formulaInfos, customContent, definitionProvider); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartCustomDataFormulaAction getInstance() { |
||||||
|
return SearchChartCustomDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartCustomDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartCustomDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartCustomDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartCustomDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartCustomDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.Formula; |
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.design.actions.replace.action.content.formula.SearchFormula; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 搜索图表-数据中的公式 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public interface SearchChartDataFormula extends SearchFormula { |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 搜索图表-数据中的公式 |
||||||
|
* |
||||||
|
* @param formulaInfos |
||||||
|
* @param content |
||||||
|
* @param provider |
||||||
|
*/ |
||||||
|
void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider); |
||||||
|
|
||||||
|
/** |
||||||
|
* 快速处理Formula |
||||||
|
* |
||||||
|
* @param formulaInfos |
||||||
|
* @param reportContent |
||||||
|
* @param otherPos |
||||||
|
* @param o |
||||||
|
*/ |
||||||
|
default void dealFormulaObject(List<FormulaInfo> formulaInfos, ITContent reportContent, String otherPos, Object o) { |
||||||
|
if (o instanceof Formula) { |
||||||
|
ITContent content = ITContent.copy(reportContent); |
||||||
|
content.addOtherPos(otherPos); |
||||||
|
content.setReplaceObject(o); |
||||||
|
formulaInfos.add(new FormulaInfo(content)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,160 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.design.actions.replace.action.SearchAction; |
||||||
|
import com.fr.design.actions.replace.action.SearchManager; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* 管理图表-数据中的公式 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartDataFormulaManager implements SearchManager { |
||||||
|
private static Map<String, SearchChartDataFormula> chartDataType = new HashMap<>(); |
||||||
|
/** |
||||||
|
* 其余普通类型 |
||||||
|
*/ |
||||||
|
public static final String VAN_CHART_NORMAL_REPORT_DATA_DEFINITION = "VanChartNormalReportDataDefinition"; |
||||||
|
/** |
||||||
|
* 散点图、气泡图数据 |
||||||
|
*/ |
||||||
|
public static final String BUBBLE_REPORT_DEFINITION = "BubbleReportDefinition"; |
||||||
|
/** |
||||||
|
* 组合图 |
||||||
|
*/ |
||||||
|
public static final String CUSTOM_DEFINITION = "CustomDefinition"; |
||||||
|
/** |
||||||
|
* 多层饼图、矩形树图 |
||||||
|
*/ |
||||||
|
public static final String MULTI_PIE_REPORT_DATA_DEFINITION = "MultiPieReportDataDefinition"; |
||||||
|
/** |
||||||
|
* 地图、热力地图 |
||||||
|
*/ |
||||||
|
public static final String VAN_MAP_DEFINITION = "VanMapDefinition"; |
||||||
|
/** |
||||||
|
* 钻取地图 |
||||||
|
*/ |
||||||
|
public static final String DRILL_MAP_DEFINITION = "DrillMapDefinition"; |
||||||
|
/** |
||||||
|
* 词云 |
||||||
|
*/ |
||||||
|
public static final String WORD_CLOUD_REPORT_DEFINITION = "WordCloudReportDefinition"; |
||||||
|
/** |
||||||
|
* 漏斗图 |
||||||
|
*/ |
||||||
|
public static final String METER_REPORT_DEFINITION = "MeterReportDefinition"; |
||||||
|
/** |
||||||
|
* 甘特图 |
||||||
|
*/ |
||||||
|
public static final String VAN_GANTT_DEFINITION = "VanGanttDefinition"; |
||||||
|
/** |
||||||
|
* 框架图 |
||||||
|
*/ |
||||||
|
public static final String STRUCTURE_REPORT_DEFINITION = "StructureReportDefinition"; |
||||||
|
/** |
||||||
|
* 箱型图 |
||||||
|
*/ |
||||||
|
public static final String VAN_BOX_REPORT_DEFINITION = "VanBoxReportDefinition"; |
||||||
|
|
||||||
|
/** |
||||||
|
* 组合图中的大部分类型 |
||||||
|
*/ |
||||||
|
public static final String NORMAL_REPORT_DATA_DEFINITION = "NormalReportDataDefinition"; |
||||||
|
|
||||||
|
private SearchChartDataFormulaManager() { |
||||||
|
register(VAN_CHART_NORMAL_REPORT_DATA_DEFINITION, SearchChartVanNormalDataFormulaAction.getInstance()); |
||||||
|
register(BUBBLE_REPORT_DEFINITION, SearchChartBubbleDataFormulaAction.getInstance()); |
||||||
|
register(MULTI_PIE_REPORT_DATA_DEFINITION, SearchChartMultiPieDataFormulaAction.getInstance()); |
||||||
|
register(VAN_MAP_DEFINITION, SearchChartMapDataFormulaAction.getInstance()); |
||||||
|
register(DRILL_MAP_DEFINITION, SearchChartDrillMapDataFormulaAction.getInstance()); |
||||||
|
register(WORD_CLOUD_REPORT_DEFINITION, SearchChartWordCloudDataFormulaAction.getInstance()); |
||||||
|
register(METER_REPORT_DEFINITION, SearchChartMeterDataFormulaAction.getInstance()); |
||||||
|
register(VAN_GANTT_DEFINITION, SearchChartGanttDataFormulaAction.getInstance()); |
||||||
|
register(STRUCTURE_REPORT_DEFINITION, SearchChartStructureDataFormulaAction.getInstance()); |
||||||
|
register(VAN_BOX_REPORT_DEFINITION, SearchChartBoxDataFormulaAction.getInstance()); |
||||||
|
register(CUSTOM_DEFINITION, SearchChartCustomDataFormulaAction.getInstance()); |
||||||
|
register(NORMAL_REPORT_DATA_DEFINITION, SearchChartNormalReportDataFormulaAction.getInstance()); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 获取类别 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public Map<String, SearchChartDataFormula> getChartDataType() { |
||||||
|
return chartDataType; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void registerAction(String tag, SearchAction searchAction) { |
||||||
|
if (searchAction instanceof SearchChartDataFormula) { |
||||||
|
register(tag, (SearchChartDataFormula) searchAction); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void removeAction(String tag) { |
||||||
|
remove(tag); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 注册 |
||||||
|
* |
||||||
|
* @param tag 用于匹配的类型tag |
||||||
|
* @param searchChartDataFormula 对应的实现类 |
||||||
|
*/ |
||||||
|
private void register(String tag, SearchChartDataFormula searchChartDataFormula) { |
||||||
|
chartDataType.put(tag, searchChartDataFormula); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 注销 |
||||||
|
* |
||||||
|
* @param tag 用于匹配的tag |
||||||
|
*/ |
||||||
|
private void remove(String tag) { |
||||||
|
chartDataType.remove(tag); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartDataFormulaManager getInstance() { |
||||||
|
return SearchChartCollectionFormulaManagerEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartCollectionFormulaManagerEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartDataFormulaManager instance; |
||||||
|
|
||||||
|
SearchChartCollectionFormulaManagerEnum() { |
||||||
|
instance = new SearchChartDataFormulaManager(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartDataFormulaManager getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,93 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.chartx.data.AbstractDataDefinition; |
||||||
|
import com.fr.chartx.data.DrillMapChartDataDefinition; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.drillmap.data.DrillMapDefinition; |
||||||
|
import com.fr.plugin.chart.map.data.VanMapReportDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 钻取地图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartDrillMapDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartDrillMapDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof DrillMapDefinition) { |
||||||
|
DrillMapDefinition definition = (DrillMapDefinition) provider; |
||||||
|
|
||||||
|
if (definition.isFromBottomData()) { |
||||||
|
dealDefinition(formulaInfos, content, definition.getBottomDataDefinition()); |
||||||
|
} else { |
||||||
|
for (int i = 0; i < definition.getEachLayerDataDefinitionList().size(); i++) { |
||||||
|
ITContent listContent = ITContent.copy(content); |
||||||
|
int index = i + 1; |
||||||
|
listContent.addOtherPos( |
||||||
|
Toolkit.i18nText("Fine-Design_Chart_Index_Article") + index + Toolkit.i18nText("Fine-Design_Chart_Index_Layer") |
||||||
|
); |
||||||
|
dealDefinition(formulaInfos, listContent, definition.getEachLayerDataDefinitionList().get(i)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 这边存在点地图和区域地图两种,点地图特殊的地方需要处理一下 |
||||||
|
* |
||||||
|
* @param formulaInfos |
||||||
|
* @param content |
||||||
|
* @param provider |
||||||
|
*/ |
||||||
|
private void dealDefinition(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof VanMapReportDefinition) { |
||||||
|
SearchChartMapDataFormulaAction.getInstance().dealAreaName(formulaInfos, content, ((VanMapReportDefinition) provider).getCategoryName(), (VanMapReportDefinition) provider); |
||||||
|
SearchChartMapDataFormulaAction.dealSeriesDefinition(formulaInfos, content, ((VanMapReportDefinition) provider).getSeriesList()); |
||||||
|
SearchChartMapDataFormulaAction.getInstance().dealPointDefinition4Special(formulaInfos, content, provider); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartDrillMapDataFormulaAction getInstance() { |
||||||
|
return SearchChartDrillMapDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartDrillMapDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartDrillMapDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartDrillMapDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartDrillMapDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartDrillMapDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,108 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.Formula; |
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.gantt.data.VanGanttDefinition; |
||||||
|
import com.fr.plugin.chart.gantt.data.VanGanttLinkReportDefinition; |
||||||
|
import com.fr.plugin.chart.gantt.data.VanGanttReportDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 甘特图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartGanttDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartGanttDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof VanGanttDefinition) { |
||||||
|
VanGanttDefinition definition = (VanGanttDefinition) provider; |
||||||
|
if (definition.getDataDefinition() instanceof VanGanttReportDefinition) { |
||||||
|
VanGanttReportDefinition reportDefinition = (VanGanttReportDefinition) definition.getDataDefinition(); |
||||||
|
ITContent reportContent = ITContent.copy(content); |
||||||
|
reportContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Gantt_Chart")); |
||||||
|
dealReportDefinition(formulaInfos, reportContent, reportDefinition); |
||||||
|
} |
||||||
|
if (definition.getLinkDefinition() instanceof VanGanttLinkReportDefinition) { |
||||||
|
VanGanttLinkReportDefinition linkReportDefinition = (VanGanttLinkReportDefinition) definition.getLinkDefinition(); |
||||||
|
ITContent linkContent = ITContent.copy(content); |
||||||
|
linkContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Task_Link")); |
||||||
|
dealLinkDefinition(formulaInfos, linkContent, linkReportDefinition); |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void dealLinkDefinition(List<FormulaInfo> formulaInfos, ITContent linkContent, VanGanttLinkReportDefinition linkReportDefinition) { |
||||||
|
//起始任务id
|
||||||
|
dealFormulaObject(formulaInfos, linkContent, Toolkit.i18nText("Fine-Design_Chart_Start_Task_ID"), linkReportDefinition.getStartTaskID()); |
||||||
|
//结束任务id
|
||||||
|
dealFormulaObject(formulaInfos, linkContent, Toolkit.i18nText("Fine-Design_Chart_End_Task_ID"), linkReportDefinition.getEndTaskID()); |
||||||
|
//关联类型
|
||||||
|
dealFormulaObject(formulaInfos, linkContent, Toolkit.i18nText("Fine-Design_Chart_Link_Type"), linkReportDefinition.getLinkType()); |
||||||
|
} |
||||||
|
|
||||||
|
private void dealReportDefinition(List<FormulaInfo> formulaInfos, ITContent reportContent, VanGanttReportDefinition reportDefinition) { |
||||||
|
//系列名
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Series_Name"), reportDefinition.getSeriesName()); |
||||||
|
//开始时间
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Start_Time"), reportDefinition.getStartTime()); |
||||||
|
//结束时间
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_End_Time"), reportDefinition.getEndTime()); |
||||||
|
//里程碑时间
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Marker_Time"), reportDefinition.getMarkTime()); |
||||||
|
//进度
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Process"), reportDefinition.getProgress()); |
||||||
|
//任务ID
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Task_ID"), reportDefinition.getLinkID()); |
||||||
|
//项目名称
|
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Project_Name"), reportDefinition.getFirstProcess()); |
||||||
|
//项目
|
||||||
|
for (Object o : reportDefinition.getProcessList()) { |
||||||
|
dealFormulaObject(formulaInfos, reportContent, Toolkit.i18nText("Fine-Design_Chart_Project"), o); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartGanttDataFormulaAction getInstance() { |
||||||
|
return SearchChartGanttDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartGanttDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartGanttDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartGanttDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartGanttDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartGanttDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,239 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.Formula; |
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.chart.chartdata.SeriesDefinition; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.actions.replace.info.base.SearchTag; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.map.data.VanMapDefinition; |
||||||
|
import com.fr.plugin.chart.map.data.VanMapReportDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 地图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartMapDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartMapDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof VanMapDefinition) { |
||||||
|
VanMapDefinition mapDefinition = (VanMapDefinition) provider; |
||||||
|
//区域地图
|
||||||
|
ITContent areaContent = ITContent.copy(content); |
||||||
|
areaContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Region_Map")); |
||||||
|
dealAreaDefinition(formulaInfos, areaContent, mapDefinition.getAreaDefinition()); |
||||||
|
//流向地图
|
||||||
|
ITContent lineContent = ITContent.copy(content); |
||||||
|
lineContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_LineMap")); |
||||||
|
dealLineDefinition(formulaInfos, content, mapDefinition.getLineDefinition()); |
||||||
|
//点地图
|
||||||
|
ITContent pointContent = ITContent.copy(content); |
||||||
|
pointContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_PointMap")); |
||||||
|
dealPointDefinition(formulaInfos, content, mapDefinition.getPointDefinition()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 处理点地图 |
||||||
|
* |
||||||
|
* @param formulaInfos |
||||||
|
* @param content |
||||||
|
* @param pointDefinition |
||||||
|
*/ |
||||||
|
public void dealPointDefinition(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider pointDefinition) { |
||||||
|
if (pointDefinition instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) pointDefinition; |
||||||
|
ITContent pointContent = ITContent.copy(content); |
||||||
|
//系列名&值
|
||||||
|
dealSeriesDefinition(formulaInfos, pointContent, definition.getSeriesList()); |
||||||
|
//经纬度
|
||||||
|
dealLongitudeAndLatitude(formulaInfos, pointContent, definition); |
||||||
|
//区域名
|
||||||
|
dealAreaName(formulaInfos, pointContent, definition.getCategoryName(), definition); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private boolean isFormulaString(Object o) { |
||||||
|
String formulaFlag = "="; |
||||||
|
return o instanceof String && ((String) o).startsWith(formulaFlag); |
||||||
|
} |
||||||
|
|
||||||
|
private void dealLineDefinition(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider lineDefinition) { |
||||||
|
if (lineDefinition instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) lineDefinition; |
||||||
|
ITContent lineContent = ITContent.copy(content); |
||||||
|
//系列名&值
|
||||||
|
dealSeriesDefinition(formulaInfos, lineContent, definition.getSeriesList()); |
||||||
|
//经纬度
|
||||||
|
dealLongitudeAndLatitude(formulaInfos, lineContent, definition); |
||||||
|
//终点经纬度
|
||||||
|
if (isFormulaString(definition.getEndLongitude())) { |
||||||
|
ITContent longContent = ITContent.copy(lineContent); |
||||||
|
longContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_End_Longitude")); |
||||||
|
longContent.setReplaceObject(definition.getEndLongitude()); |
||||||
|
longContent.setTag(SearchTag.CHART_DATA_END_LONGITUDE); |
||||||
|
longContent.setHoldObject(definition); |
||||||
|
formulaInfos.add(new FormulaInfo(longContent)); |
||||||
|
} |
||||||
|
if (isFormulaString(definition.getEndLatitude())) { |
||||||
|
ITContent latitudeContent = ITContent.copy(lineContent); |
||||||
|
latitudeContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_End_Latitude")); |
||||||
|
latitudeContent.setReplaceObject(definition.getEndLatitude()); |
||||||
|
latitudeContent.setTag(SearchTag.CHART_DATA_END_LATITUDE); |
||||||
|
latitudeContent.setHoldObject(definition); |
||||||
|
formulaInfos.add(new FormulaInfo(latitudeContent)); |
||||||
|
} |
||||||
|
if (isFormulaString(definition.getEndAreaName())) { |
||||||
|
ITContent endAreaNameContent = ITContent.copy(lineContent); |
||||||
|
endAreaNameContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_End_Area_Name")); |
||||||
|
endAreaNameContent.setReplaceObject(definition.getEndAreaName()); |
||||||
|
endAreaNameContent.setTag(SearchTag.CHART_AREA_END_NAME); |
||||||
|
endAreaNameContent.setHoldObject(definition); |
||||||
|
formulaInfos.add(new FormulaInfo(endAreaNameContent)); |
||||||
|
} |
||||||
|
//区域名
|
||||||
|
dealAreaName(formulaInfos, lineContent, definition.getCategoryName(), definition); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void dealLongitudeAndLatitude(List<FormulaInfo> formulaInfos, ITContent content, VanMapReportDefinition definition) { |
||||||
|
if (isFormulaString(definition.getLongitude())) { |
||||||
|
ITContent longContent = ITContent.copy(content); |
||||||
|
longContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Longitude")); |
||||||
|
longContent.setReplaceObject(definition.getLongitude()); |
||||||
|
longContent.setTag(SearchTag.CHART_DATA_LONGITUDE); |
||||||
|
longContent.setHoldObject(definition); |
||||||
|
formulaInfos.add(new FormulaInfo(longContent)); |
||||||
|
} |
||||||
|
if (isFormulaString(definition.getLatitude())) { |
||||||
|
ITContent latitudeContent = ITContent.copy(content); |
||||||
|
latitudeContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Latitude")); |
||||||
|
latitudeContent.setReplaceObject(definition.getLatitude()); |
||||||
|
latitudeContent.setHoldObject(definition); |
||||||
|
latitudeContent.setTag(SearchTag.CHART_DATA_LATITUDE); |
||||||
|
formulaInfos.add(new FormulaInfo(latitudeContent)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 处理区域地图 |
||||||
|
* |
||||||
|
* @param formulaInfos |
||||||
|
* @param content |
||||||
|
* @param areaDefinition |
||||||
|
*/ |
||||||
|
public void dealAreaDefinition(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider areaDefinition) { |
||||||
|
if (areaDefinition instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition reportDefinition = (VanMapReportDefinition) areaDefinition; |
||||||
|
ITContent mapContent = ITContent.copy(content); |
||||||
|
//系列名&值
|
||||||
|
dealSeriesDefinition(formulaInfos, mapContent, reportDefinition.getSeriesList()); |
||||||
|
//区域名
|
||||||
|
dealAreaName(formulaInfos, mapContent, reportDefinition.getCategoryName(), reportDefinition); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 处理点地图特有的 |
||||||
|
* |
||||||
|
* @param formulaInfos |
||||||
|
* @param content |
||||||
|
* @param pointDefinition |
||||||
|
*/ |
||||||
|
public void dealPointDefinition4Special(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider pointDefinition) { |
||||||
|
if (pointDefinition instanceof VanMapReportDefinition) { |
||||||
|
VanMapReportDefinition definition = (VanMapReportDefinition) pointDefinition; |
||||||
|
ITContent pointContent = ITContent.copy(content); |
||||||
|
//经纬度
|
||||||
|
dealLongitudeAndLatitude(formulaInfos, pointContent, definition); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void dealAreaName(List<FormulaInfo> formulaInfos, ITContent content, Object object, VanMapReportDefinition definition) { |
||||||
|
if (object instanceof Formula) { |
||||||
|
ITContent cateContent = ITContent.copy(content); |
||||||
|
cateContent.addOtherPos( |
||||||
|
Toolkit.i18nText("Fine-Design_Chart_Area_Name") |
||||||
|
); |
||||||
|
cateContent.setReplaceObject(object); |
||||||
|
formulaInfos.add(new FormulaInfo(cateContent)); |
||||||
|
} else if (isFormulaString(object)) { |
||||||
|
ITContent strContent = ITContent.copy(content); |
||||||
|
strContent.setHoldObject(definition); |
||||||
|
strContent.setTag(SearchTag.CHART_AREA_NAME); |
||||||
|
strContent.setReplaceObject(object); |
||||||
|
strContent.addOtherPos(Toolkit.i18nText("Fine-Design_Chart_Area_Name")); |
||||||
|
formulaInfos.add(new FormulaInfo(strContent)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 处理系列名&值 |
||||||
|
*/ |
||||||
|
public static void dealSeriesDefinition(List<FormulaInfo> formulaInfos, ITContent content, List<SeriesDefinition> seriesDefinitions) { |
||||||
|
for (SeriesDefinition seriesDefinition : seriesDefinitions) { |
||||||
|
if (seriesDefinition.getValue() instanceof Formula) { |
||||||
|
ITContent valueContent = ITContent.copy(content); |
||||||
|
valueContent.addOtherPos( |
||||||
|
Toolkit.i18nText("Fine-Design_Chart_Series_Value") |
||||||
|
); |
||||||
|
valueContent.setReplaceObject(seriesDefinition.getValue()); |
||||||
|
formulaInfos.add(new FormulaInfo(valueContent)); |
||||||
|
} |
||||||
|
if (seriesDefinition.getSeriesName() instanceof Formula) { |
||||||
|
ITContent nameContent = ITContent.copy(content); |
||||||
|
nameContent.addOtherPos( |
||||||
|
Toolkit.i18nText("Fine-Design_Chart_Series_Name") |
||||||
|
); |
||||||
|
nameContent.setReplaceObject(seriesDefinition.getSeriesName()); |
||||||
|
formulaInfos.add(new FormulaInfo(nameContent)); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartMapDataFormulaAction getInstance() { |
||||||
|
return SearchChartMapDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartMapDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartMapDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartMapDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartMapDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartMapDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,68 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.Formula; |
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.chart.chartdata.MeterReportDefinition; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 漏斗图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartMeterDataFormulaAction implements SearchChartDataFormula { |
||||||
|
|
||||||
|
private SearchChartMeterDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof MeterReportDefinition) { |
||||||
|
MeterReportDefinition definition = (MeterReportDefinition) provider; |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Name"), definition.getName()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Value"), definition.getValue()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Target_Value"), definition.getTarget()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartMeterDataFormulaAction getInstance() { |
||||||
|
return SearchChartMeterDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartMeterDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartMeterDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartMeterDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartMeterDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartMeterDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,71 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.Formula; |
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
|
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
|
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.multilayer.data.MultiPieReportDataDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 层次图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartMultiPieDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartMultiPieDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof MultiPieReportDataDefinition) { |
||||||
|
//层次
|
||||||
|
MultiPieReportDataDefinition definition = (MultiPieReportDataDefinition) provider; |
||||||
|
for (int i = 0; i < definition.getLevelColumnNameList().size(); i++) { |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Level"), definition.getLevelColumnNameList().get(i)); |
||||||
|
} |
||||||
|
|
||||||
|
//值字段
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Basic_Base_Value"), definition.getValue()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartMultiPieDataFormulaAction getInstance() { |
||||||
|
return SearchChartMultiPieDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartMultiPieDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartMultiPieDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartMultiPieDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartMultiPieDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartMultiPieDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,65 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.chart.chartdata.NormalReportDataDefinition; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 组合图中的大部分类型 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-22 |
||||||
|
*/ |
||||||
|
public class SearchChartNormalReportDataFormulaAction implements SearchChartDataFormula { |
||||||
|
|
||||||
|
private SearchChartNormalReportDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof NormalReportDataDefinition) { |
||||||
|
NormalReportDataDefinition dataDefinition = (NormalReportDataDefinition) provider; |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Category_Name"), dataDefinition.getCategoryName()); |
||||||
|
SearchChartMapDataFormulaAction.dealSeriesDefinition(formulaInfos, content, dataDefinition.getSeriesList()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartNormalReportDataFormulaAction getInstance() { |
||||||
|
return SearchChartNormalReportDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartNormalReportDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartNormalReportDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartNormalReportDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartNormalReportDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartNormalReportDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.structure.data.StructureReportDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 框架图 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartStructureDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartStructureDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof StructureReportDefinition) { |
||||||
|
StructureReportDefinition definition = (StructureReportDefinition) provider; |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Node_Name"), definition.getNodeName()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Node_Id"), definition.getNodeID()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Parent_Node_Id"), definition.getParentID()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Value"), definition.getNodeValue()); |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartStructureDataFormulaAction getInstance() { |
||||||
|
return SearchChartStructureDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartStructureDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartStructureDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartStructureDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartStructureDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartStructureDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,74 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.chart.chartdata.NormalReportDataDefinition; |
||||||
|
import com.fr.chart.chartdata.SeriesDefinition; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 普通图表类型 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartVanNormalDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartVanNormalDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof NormalReportDataDefinition) { |
||||||
|
NormalReportDataDefinition normalReportDataDefinition = (NormalReportDataDefinition) provider; |
||||||
|
//分类名
|
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Category_Name"), normalReportDataDefinition.getCategoryName()); |
||||||
|
//系列名&值
|
||||||
|
for (Object seriesDefinition : normalReportDataDefinition.getSeriesList()) { |
||||||
|
if (seriesDefinition instanceof SeriesDefinition) { |
||||||
|
SeriesDefinition definition = (SeriesDefinition) seriesDefinition; |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Name"), definition.getSeriesName()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Series_Value"), definition.getValue()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartVanNormalDataFormulaAction getInstance() { |
||||||
|
return SearchChartNormalDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartNormalDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartVanNormalDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchChartNormalDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartVanNormalDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartVanNormalDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,63 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.chart; |
||||||
|
|
||||||
|
import com.fr.base.chart.chartdata.TopDefinitionProvider; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.plugin.chart.wordcloud.data.WordCloudReportDefinition; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 词云 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchChartWordCloudDataFormulaAction implements SearchChartDataFormula { |
||||||
|
private SearchChartWordCloudDataFormulaAction() { |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchChartDataFormula(List<FormulaInfo> formulaInfos, ITContent content, TopDefinitionProvider provider) { |
||||||
|
if (provider instanceof WordCloudReportDefinition) { |
||||||
|
WordCloudReportDefinition definition = (WordCloudReportDefinition) provider; |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Word_Name"), definition.getWordName()); |
||||||
|
dealFormulaObject(formulaInfos, content, Toolkit.i18nText("Fine-Design_Chart_Word_Value"), definition.getWordValue()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 对外开放获取对象的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartWordCloudDataFormulaAction getInstance() { |
||||||
|
return SearchWordCloudDataFormulaActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchWordCloudDataFormulaActionEnum { |
||||||
|
/** |
||||||
|
* 单例 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartWordCloudDataFormulaAction instance; |
||||||
|
|
||||||
|
SearchWordCloudDataFormulaActionEnum() { |
||||||
|
instance = new SearchChartWordCloudDataFormulaAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例的方法 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartWordCloudDataFormulaAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,68 @@ |
|||||||
|
package com.fr.design.actions.replace.action.content.formula.highlight.javascript; |
||||||
|
|
||||||
|
import com.fr.base.chart.BaseChartCollection; |
||||||
|
import com.fr.chart.chartattr.ChartCollection; |
||||||
|
import com.fr.chart.web.ChartHyperPoplink; |
||||||
|
import com.fr.design.actions.replace.action.content.formula.chart.SearchChartCollectionFormulaAction; |
||||||
|
import com.fr.design.actions.replace.info.FormulaInfo; |
||||||
|
import com.fr.design.actions.replace.info.base.ITContent; |
||||||
|
import com.fr.js.JavaScript; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* 图表超链-悬浮窗图表的公式 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-20 |
||||||
|
*/ |
||||||
|
public class SearchChartHyperPopLinkAction implements SearchJSFormula { |
||||||
|
private SearchChartHyperPopLinkAction() { |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public void searchJSFormulaFromOther(List<FormulaInfo> formulaInfos, ITContent content, JavaScript javaScript) { |
||||||
|
if (javaScript instanceof ChartHyperPoplink) { |
||||||
|
ChartHyperPoplink chartHyperPoplink = (ChartHyperPoplink) javaScript; |
||||||
|
if (chartHyperPoplink.getChartCollection() instanceof ChartCollection) { |
||||||
|
SearchChartCollectionFormulaAction.getInstance().searchChartCollectionFormula(formulaInfos, content, (ChartCollection) chartHyperPoplink.getChartCollection()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 获取单例 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static SearchChartHyperPopLinkAction getInstance() { |
||||||
|
return SearchChartHyperPopLinkActionEnum.SINGLETON.getInstance(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举实现单例 |
||||||
|
*/ |
||||||
|
private enum SearchChartHyperPopLinkActionEnum { |
||||||
|
/** |
||||||
|
* 单例实现 |
||||||
|
*/ |
||||||
|
SINGLETON; |
||||||
|
private SearchChartHyperPopLinkAction instance; |
||||||
|
|
||||||
|
SearchChartHyperPopLinkActionEnum() { |
||||||
|
instance = new SearchChartHyperPopLinkAction(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 拿到对象 |
||||||
|
* |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public SearchChartHyperPopLinkAction getInstance() { |
||||||
|
return instance; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
package com.fr.design.actions.replace.info.base; |
||||||
|
|
||||||
|
/** |
||||||
|
* 用于校验的标签 |
||||||
|
* |
||||||
|
* @author Destiny.Lin |
||||||
|
* @version 11.0 |
||||||
|
* created by Destiny.Lin on 2022-09-21 |
||||||
|
*/ |
||||||
|
public class SearchTag { |
||||||
|
/** |
||||||
|
* 经度 |
||||||
|
*/ |
||||||
|
public static final int CHART_DATA_LONGITUDE = 0; |
||||||
|
/** |
||||||
|
* 纬度 |
||||||
|
*/ |
||||||
|
public static final int CHART_DATA_LATITUDE = 1; |
||||||
|
/** |
||||||
|
* 区域名 |
||||||
|
*/ |
||||||
|
public static final int CHART_AREA_NAME = 2; |
||||||
|
/** |
||||||
|
* 终点经度 |
||||||
|
*/ |
||||||
|
public static final int CHART_DATA_END_LONGITUDE = 3; |
||||||
|
/** |
||||||
|
* 终点纬度 |
||||||
|
*/ |
||||||
|
public static final int CHART_DATA_END_LATITUDE = 4; |
||||||
|
/** |
||||||
|
* 终点区域名 |
||||||
|
*/ |
||||||
|
public static final int CHART_AREA_END_NAME = 5; |
||||||
|
|
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue