From c21154e1fc548994735bfaa7e26af3349730f82c Mon Sep 17 00:00:00 2001 From: kuangshuai Date: Tue, 1 Jun 2021 18:18:32 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-52928=20=E5=9F=8B=E7=82=B9=E5=8F=AA?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=9C=89=E7=89=B9=E6=AE=8A=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/mainframe/JForm.java | 14 ------ .../fr/design/share/SharableInitManager.java | 16 ------ .../com/fr/design/share/SharableManager.java | 49 +++++++++++++++++++ .../design/share/utils/EffectItemUtils.java | 5 ++ .../main/java/com/fr/start/MainDesigner.java | 2 + .../fr/start/module/DesignerActivator.java | 4 +- 6 files changed, 58 insertions(+), 32 deletions(-) delete mode 100644 designer-realize/src/main/java/com/fr/design/share/SharableInitManager.java create mode 100644 designer-realize/src/main/java/com/fr/design/share/SharableManager.java diff --git a/designer-form/src/main/java/com/fr/design/mainframe/JForm.java b/designer-form/src/main/java/com/fr/design/mainframe/JForm.java index c67280caa..3ddc16c9c 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/JForm.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/JForm.java @@ -346,20 +346,6 @@ public class JForm extends JTemplate implements BaseJForm xCreators = ShareComponentUtils.getHelpConfigXCreatorList(root); - JSONArray helpConfigUseInfo = ComponentCollector.getInstance().getHelpConfigUseInfoWithTemplate(jt.getTarget().getTemplateID()); - for (XCreator xCreator : xCreators) { - if (helpConfigUseInfo.contains(ShareComponentUtils.getWidgetId(xCreator.toData()))) { - useCount++; - } - } - ComponentCollector.getInstance().collectHelpConfigInfo(jt.getTarget().getTemplateID(), xCreators.size(), useCount); - } - } }); diff --git a/designer-realize/src/main/java/com/fr/design/share/SharableInitManager.java b/designer-realize/src/main/java/com/fr/design/share/SharableInitManager.java deleted file mode 100644 index a01068421..000000000 --- a/designer-realize/src/main/java/com/fr/design/share/SharableInitManager.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.fr.design.share; - -import com.fr.design.base.clipboard.ClipboardFilter; -import com.fr.design.mainframe.share.collect.SharableCollectorManager; -import com.fr.design.mainframe.share.encrypt.clipboard.impl.EncryptSelectionClipboardHandler; -import com.fr.design.mainframe.share.encrypt.clipboard.impl.EncryptTransferableClipboardHandler; -import com.fr.design.mainframe.share.util.SharableXMLUtils; - -public class SharableInitManager { - public static void start() { - SharableXMLUtils.registerSharableReadHelper(); - SharableCollectorManager.getInstance().execute(); - ClipboardFilter.registerClipboardHandler(EncryptSelectionClipboardHandler.getInstance()); - ClipboardFilter.registerClipboardHandler(EncryptTransferableClipboardHandler.getInstance()); - } -} diff --git a/designer-realize/src/main/java/com/fr/design/share/SharableManager.java b/designer-realize/src/main/java/com/fr/design/share/SharableManager.java new file mode 100644 index 000000000..ba3b83064 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/share/SharableManager.java @@ -0,0 +1,49 @@ +package com.fr.design.share; + +import com.fr.design.base.clipboard.ClipboardFilter; +import com.fr.design.designer.creator.XCreator; +import com.fr.design.designer.creator.XLayoutContainer; +import com.fr.design.mainframe.JForm; +import com.fr.design.mainframe.JTemplate; +import com.fr.design.mainframe.share.collect.ComponentCollector; +import com.fr.design.mainframe.share.collect.SharableCollectorManager; +import com.fr.design.mainframe.share.encrypt.clipboard.impl.EncryptSelectionClipboardHandler; +import com.fr.design.mainframe.share.encrypt.clipboard.impl.EncryptTransferableClipboardHandler; +import com.fr.design.mainframe.share.util.SharableXMLUtils; +import com.fr.design.mainframe.share.util.ShareComponentUtils; +import com.fr.design.share.utils.EffectItemUtils; +import com.fr.json.JSONArray; + +import java.util.List; + +public class SharableManager { + public static void start() { + SharableXMLUtils.registerSharableReadHelper(); + SharableCollectorManager.getInstance().execute(); + ClipboardFilter.registerClipboardHandler(EncryptSelectionClipboardHandler.getInstance()); + ClipboardFilter.registerClipboardHandler(EncryptTransferableClipboardHandler.getInstance()); + } + + public static void saveTemplate(JTemplate jt) { + if (jt instanceof JForm) { + int showCount = 0; + int useCount = 0; + if (!jt.getProcessInfo().isTestTemplate()) { + JForm jForm = (JForm) jt; + XLayoutContainer root = jForm.getFormDesign().getRootComponent(); + List xCreators = ShareComponentUtils.getHelpConfigXCreatorList(root); + JSONArray helpConfigUseInfo = ComponentCollector.getInstance().getHelpConfigUseInfoWithTemplate(jForm.getTarget().getTemplateID()); + for (XCreator xCreator : xCreators) { + if (EffectItemUtils.hasEffectItem(xCreator.toData())) { + showCount ++; + if (helpConfigUseInfo.contains(ShareComponentUtils.getWidgetId(xCreator.toData()))) { + useCount++; + } + } + } + + ComponentCollector.getInstance().collectHelpConfigInfo(jForm.getTarget().getTemplateID(), showCount, useCount); + } + } + } +} diff --git a/designer-realize/src/main/java/com/fr/design/share/utils/EffectItemUtils.java b/designer-realize/src/main/java/com/fr/design/share/utils/EffectItemUtils.java index 010828cf1..99391d8c9 100644 --- a/designer-realize/src/main/java/com/fr/design/share/utils/EffectItemUtils.java +++ b/designer-realize/src/main/java/com/fr/design/share/utils/EffectItemUtils.java @@ -19,4 +19,9 @@ public class EffectItemUtils { } return effectItemGroupList; } + + public static boolean hasEffectItem(Widget widget) { + EffectItemGroup effectItemGroup = new EffectItemGroup(widget); + return effectItemGroup.getEffectItems().size() > 0; + } } diff --git a/designer-realize/src/main/java/com/fr/start/MainDesigner.java b/designer-realize/src/main/java/com/fr/start/MainDesigner.java index 5d3964771..389538b2b 100644 --- a/designer-realize/src/main/java/com/fr/start/MainDesigner.java +++ b/designer-realize/src/main/java/com/fr/start/MainDesigner.java @@ -38,6 +38,7 @@ import com.fr.design.module.ChartEmptyDataStyleAction; import com.fr.design.module.ChartPreStyleAction; import com.fr.design.module.DesignModuleFactory; import com.fr.design.monitor.DesignerLifecycleMonitorContext; +import com.fr.design.share.SharableManager; import com.fr.design.utils.concurrent.ThreadFactoryBuilder; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.event.Event; @@ -235,6 +236,7 @@ public class MainDesigner extends BaseDesigner { jt.stopEditing(); jt.saveDirectly(); jt.requestFocus(); + SharableManager.saveTemplate(jt); } }); } diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java index e73e9387f..ef3baffd4 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java @@ -61,7 +61,7 @@ import com.fr.design.os.impl.SupportOSImpl; import com.fr.design.parameter.FormParameterReader; import com.fr.design.parameter.ParameterPropertyPane; import com.fr.design.parameter.WorkBookParameterReader; -import com.fr.design.share.SharableInitManager; +import com.fr.design.share.SharableManager; import com.fr.design.share.ui.config.ShareConfigPane; import com.fr.design.share.ui.generate.ShareGeneratePane; import com.fr.design.update.actions.RecoverForDesigner; @@ -207,7 +207,7 @@ public class DesignerActivator extends Activator { designerRegister(); InformationCollector.getInstance().collectStartTime(); - SharableInitManager.start(); + SharableManager.start(); } private void createPluginListener() {