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();