From 398b9397b57eccd340dd9ec275aa3945aca87ecf Mon Sep 17 00:00:00 2001 From: renekton Date: Wed, 4 Sep 2024 16:21:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0AppTypeFilter=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=8F=92=E4=BB=B6=E7=B1=BB=E5=9E=8B=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E4=B8=BA=E7=A9=BA=E5=88=99=E4=B8=8D=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/itree/filetree/TemplateFileTree.java | 21 +++++++++++++++---- .../javascript/ExportJavaScriptPane.java | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/TemplateFileTree.java b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/TemplateFileTree.java index b87a70b5b6..3b6e80874b 100644 --- a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/TemplateFileTree.java +++ b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/TemplateFileTree.java @@ -7,6 +7,7 @@ import com.fr.design.file.NodeAuthProcessor; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.mainframe.App; import com.fr.design.mainframe.manager.search.TemplateTreeSearchManager; +import com.fr.file.filetree.AppTypeFilter; import com.fr.file.filetree.FileNode; import com.fr.log.FineLoggerFactory; import com.fr.stable.ArrayUtils; @@ -19,6 +20,7 @@ import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.List; @@ -38,6 +40,8 @@ public class TemplateFileTree extends EnvFileTree { private static final int MAX_NODE_EXPAND_NUM = 50; private static final int MAX_MATCHED_NODE_NUM = 500; + protected AppTypeFilter appTypeFilter; + public TemplateFileTree() { super(ProjectConstants.REPORTLETS_NAME, null, null); } @@ -155,12 +159,17 @@ public class TemplateFileTree extends EnvFileTree { supportTypes.add(FileExtension.parse(temp)); } } - Set apps = ExtraDesignClassManager.getInstance().getArray(App.MARK_STRING); - for (App temp : apps) { - for (String extendsion : temp.defaultExtensions()) { - supportTypes.add(FileExtension.parse(extendsion)); + if (appTypeFilter != null) { + Collections.addAll(supportTypes, appTypeFilter.getSupportedTypes()); + } else { + Set apps = ExtraDesignClassManager.getInstance().getArray(App.MARK_STRING); + for (App temp : apps) { + for (String extendsion : temp.defaultExtensions()) { + supportTypes.add(FileExtension.parse(extendsion)); + } } } + return supportTypes; } @@ -360,6 +369,10 @@ public class TemplateFileTree extends EnvFileTree { } } + public void setAppTypeFilter(AppTypeFilter filter) { + appTypeFilter = filter; + } + private boolean notContained(String parentPath, ExpandMutableTreeNode treeNode) { List childList = currentTreeMode.getOrDefault(parentPath, new ArrayList<>()); String name = ((FileNode) (treeNode.getUserObject())).getName(); diff --git a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java index 6c2e46e985..dc9907f237 100644 --- a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java +++ b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java @@ -968,6 +968,7 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane new FileExtension[]{}); cardPane.add(t_panel = new JScrollPane(templateReportletTree), "TEMPLATE"); this.refreshEnv();