diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java index 283aa0772..8f03b1cfc 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java @@ -596,6 +596,7 @@ public class TableDataTreePane extends BasicTableDataTreePane { int[] rows = tableDataTree.getSelectionRows(); tableDataTree.refreshChildByName(tdName); tableDataTree.setSelectionRows(rows); + FineLoggerFactory.getLogger().info("add table data succeeded for {}", tdName); } @Override @@ -1057,7 +1058,11 @@ public class TableDataTreePane extends BasicTableDataTreePane { TableDataTreeSearchManager.getInstance().outOfSearchMode(); } for (Object toRemove : selectedValues) { - doRemove((NameObject) toRemove); + try { + doRemove((String) toRemove); + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e, "remove table data failed for {}", toRemove); + } } } @@ -1069,9 +1074,9 @@ public class TableDataTreePane extends BasicTableDataTreePane { basicDialog.setVisible(true); } - private void doRemove(NameObject selectedNO) { + private void doRemove(String toRemove) throws Exception { // richer:这个地方为什么要在DataSourceTree里面去remove呢?多此一举吧 - op.removeAction(selectedNO.getName()); + op.removeAction(toRemove); tableDataTree.refresh(); // Richie:默认最后一行获得焦点. tableDataTree.requestFocus(); @@ -1080,14 +1085,15 @@ public class TableDataTreePane extends BasicTableDataTreePane { checkButtonEnabled(); //删掉缓存配置 - StrategyConfigAttrUtils.removeStrategyConfig(selectedNO.getName()); + StrategyConfigAttrUtils.removeStrategyConfig(toRemove); // 如果一个模版是平台开启,这个数据集的配置不会存xml,预览模版时直接从全局配置copy,这样 // 导致删除的时候StrategyConfigsAttrSavedHook没有通过前后配置比较感知数据集被删除,因此不会发出事件让其失效 // 这里额外发出一次数据集修改事件 - StrategyEventsNotifier.modifyDataSet(new DSMapping(getTplPath(), new DsNameTarget(selectedNO.getName()))); - DesignTableDataManager.removeSelectedColumnNames(selectedNO.getName()); - DesignModelAdapter.getCurrentModelAdapter().removeTableDataParameters(selectedNO.getName()); + StrategyEventsNotifier.modifyDataSet(new DSMapping(getTplPath(), new DsNameTarget(toRemove))); + DesignTableDataManager.removeSelectedColumnNames(toRemove); + DesignModelAdapter.getCurrentModelAdapter().removeTableDataParameters(toRemove); + FineLoggerFactory.getLogger().info("remove table data succeeded for {}", toRemove); } } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java index ea51e1a82..7524efed2 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java @@ -156,9 +156,7 @@ public class TreeSearchToolbarPane extends JPanel implements TreeSearchStatusCha returnLabel.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - searchTextField.setText(StringUtils.EMPTY); TableDataTreeSearchManager.getInstance().outOfSearchMode(); - switchPane(TOOLBAR_PANE); } }); @@ -200,6 +198,11 @@ public class TreeSearchToolbarPane extends JPanel implements TreeSearchStatusCha @Override public void updateTreeSearchChange(TreeSearchStatusChangeEvent event) { TreeSearchStatus treeSearchStatus = event.getTreeSearchStatus(); - switchPane(treeSearchStatus == TreeSearchStatus.NOT_IN_SEARCH_MODE ? TOOLBAR_PANE : SEARCH_PANE); + if (treeSearchStatus == TreeSearchStatus.NOT_IN_SEARCH_MODE) { + this.searchTextField.setText(StringUtils.EMPTY); + switchPane(TOOLBAR_PANE); + } else { + switchPane(SEARCH_PANE); + } } } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/view/TreeSearchRendererHelper.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/view/TreeSearchRendererHelper.java index fa445b7fb..340c6912a 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/view/TreeSearchRendererHelper.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/view/TreeSearchRendererHelper.java @@ -67,7 +67,7 @@ public class TreeSearchRendererHelper { } private String getHighlightText(String text, String textToHighlight) { - String highLightTemplate = "$1"; + String highLightTemplate = "$1"; if (textToHighlight.length() == 0) { return text; } diff --git a/designer-base/src/main/java/com/fr/design/formula/FunctionConstants.java b/designer-base/src/main/java/com/fr/design/formula/FunctionConstants.java index 17e61b5e9..a1d6023d0 100644 --- a/designer-base/src/main/java/com/fr/design/formula/FunctionConstants.java +++ b/designer-base/src/main/java/com/fr/design/formula/FunctionConstants.java @@ -58,6 +58,7 @@ public final class FunctionConstants { public static FunctionGroup ALL = getAllFunctionGroup(); public static List abandonFormulas = Arrays.asList("CIRCULAR", "CROSSLAYERTOTAL", "HIERARCHY", "LAYERTOTAL"); public static NameAndFunctionList NEW = getNewFunctionList(); + private static List shieldedFormulas = Arrays.asList("ENBYSTRNUM","TEXTGETNUM" ,"GETCHARNUM","GCD", "LCM"); static { loadEmbededFunctions(); @@ -102,7 +103,7 @@ public final class FunctionConstants { if (StableUtils.classInstanceOf(cls, iface)) { Function inst; inst = (Function) cls.newInstance(); - if (abandonFormulas.contains(inst.getClass().getSimpleName())) { + if (abandonFormulas.contains(inst.getClass().getSimpleName()) || shieldedFormulas.contains(inst.getClass().getSimpleName())) { continue; } for (NameAndTypeAndFunctionList EMBFUNCTION : EMBFUNCTIONS) { diff --git a/designer-base/src/main/java/com/fr/design/gui/ilist/CheckBoxListWithPartialSelect.java b/designer-base/src/main/java/com/fr/design/gui/ilist/CheckBoxListWithPartialSelect.java index 88d98991d..fe1c6bda8 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ilist/CheckBoxListWithPartialSelect.java +++ b/designer-base/src/main/java/com/fr/design/gui/ilist/CheckBoxListWithPartialSelect.java @@ -16,6 +16,7 @@ import java.awt.Component; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import java.util.ArrayList; import java.util.List; /** @@ -67,7 +68,13 @@ public class CheckBoxListWithPartialSelect extends JPanel { } public List getSelectedObjects() { - return dataList.getSelectedValuesList(); + List seleted = new ArrayList<>(); + for (UICheckBox dataCheckBox : dataCheckBoxes) { + if (dataCheckBox.isSelected()) { + seleted.add(dataCheckBox.getText()); + } + } + return seleted; } protected MouseListener getDataListMouseListener() { diff --git a/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java b/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java index 65bec03a8..c9344f5ca 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java @@ -63,7 +63,9 @@ public class JSContentPane extends BasicPane { initFunctionTitle(args); JPanel jsParaPane = createJSParaPane(); - addNewPaneLabel(); + if (needAdvancedEditor()) { + addNewPaneLabel(); + } this.add(jsParaPane, BorderLayout.NORTH); UIScrollPane sp = createContentTextAreaPanel(); @@ -323,4 +325,8 @@ public class JSContentPane extends BasicPane { return provider; } + + protected boolean needAdvancedEditor() { + return true; + } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartTitleAndBackgroundStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartTitleAndBackgroundStylePane.java index 6bac51876..570593586 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartTitleAndBackgroundStylePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartTitleAndBackgroundStylePane.java @@ -77,7 +77,7 @@ public class ChartTitleAndBackgroundStylePane extends AbstractChartStylePane { private void initList() { paneList = new ArrayList<>(); paneList.add(new NullBackgroundQuickPane()); - paneList.add(new ColorBackgroundQuickPane()); + paneList.add(new ColorBackgroundQuickPane(true)); paneList.add(new ImageBackgroundQuickPane(false)); paneList.add(new VanChartGradientPane()); } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPane.java index c51ac0fe9..f3de5d17f 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPane.java @@ -148,7 +148,7 @@ public class VanChartBackgroundPane extends BasicPane { protected void initList() { paneList.add(new NullBackgroundQuickPane()); - paneList.add(new ColorBackgroundQuickPane()); + paneList.add(new ColorBackgroundQuickPane(true)); paneList.add(new ImageBackgroundQuickPane(false)); paneList.add(new VanChartGradientPane()); }