diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index f37b817e9..6c9406a8b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -1016,6 +1016,17 @@ public abstract class JTemplate> } } + public byte[] exportData() throws Exception { + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + BaseBook target = getTarget(); + if (target != null) { + target.export(outputStream); + return outputStream.toByteArray(); + } + } + return new byte[0]; + } + protected boolean export() throws Exception { return this.getTarget().export(TemplateResourceManager.getResource().saveTemplate(getEditingFILE())); diff --git a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java index 09fa2bbc0..5a0ead41e 100644 --- a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java @@ -203,6 +203,10 @@ public class ModernUIPane extends BasicPane { this.pane = new ModernUIPane<>(browserType); } + public Builder(ModernUIPane pane) { + this.pane = pane; + } + public Builder prepare(ScriptContextListener contextListener) { pane.browser.addScriptContextListener(contextListener); return this; diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java index 0b56fc0ad..59df782cd 100644 --- a/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java +++ b/designer-base/src/main/java/com/fr/design/ui/compatible/NewModernUIPane.java @@ -182,7 +182,7 @@ public class NewModernUIPane extends ModernUIPane { public void disposeBrowser() { if (browser != null) { - browser.close(); + browser.engine().close(); browser = null; } @@ -206,6 +206,10 @@ public class NewModernUIPane extends ModernUIPane { private NewModernUIPane pane = new NewModernUIPane<>(); + public Builder() { + super((ModernUIPane)null); + } + public NewModernUIPane.Builder prepare(InjectJsCallback callback) { pane.browser.set(InjectJsCallback.class, callback); return this; diff --git a/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java b/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java index 2fac1e903..a84c260c3 100644 --- a/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java +++ b/designer-base/src/main/java/com/fr/design/utils/TemplateUtils.java @@ -1,7 +1,6 @@ package com.fr.design.utils; import com.fr.base.extension.FileExtension; -import com.fr.base.io.BaseBook; import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.file.TemplateTreePane; import com.fr.design.i18n.Toolkit; @@ -17,9 +16,9 @@ import com.fr.stable.CoreConstants; import com.fr.stable.ProductConstants; import com.fr.workspace.WorkContext; import com.fr.workspace.server.lock.TplOperator; -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; + import javax.swing.SwingWorker; +import java.io.OutputStream; /** * @author hades @@ -65,12 +64,7 @@ public class TemplateUtils { if (!needOpen) { // 从当前编辑模板中生成备份文件 JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - BaseBook target = template.getTarget(); - if (target != null) { - target.export(outputStream); - content = outputStream.toByteArray(); - } + content = template.exportData(); } else { content = WorkContext.getWorkResource().readFully(oldPath); } diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPaneWithThemeStyle.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPaneWithThemeStyle.java index dcbb3e6e8..4cc775173 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPaneWithThemeStyle.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/background/VanChartBackgroundPaneWithThemeStyle.java @@ -25,7 +25,7 @@ public class VanChartBackgroundPaneWithThemeStyle extends VanChartBackgroundPane } }); paneList.add(new NullBackgroundQuickPane()); - paneList.add(new ColorBackgroundQuickPane()); + paneList.add(new ColorBackgroundQuickPane(true)); paneList.add(new ImageBackgroundQuickPane(false)); paneList.add(new VanChartGradientPane()); }