Browse Source

Pull request #4403: REPORT-52819 REPORT-52816 REPORT-52818 REPORT-5289 REPORT-51678 bug fixed

Merge in DESIGN/design from ~TOMMY/design:feature/10.0 to feature/10.0

* commit '61c6ac4fb10d7a26375c5a75cc9bdb31fb4cb107':
  REPORT-51678 事件配置项支持重命名
  REPORT-52928 部分埋点没有记录
  REPORT-52895 部分埋点没有记录
  REPORT-52818 图表块点击快捷配置触发了编辑效果
  REPORT-52816 编辑框对齐
  REPORT-52819 加密组件加载相关逻辑补充
feature/10.0
Tommy 4 years ago
parent
commit
ef88c54c25
  1. 2
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  2. 3
      designer-base/src/main/java/com/fr/design/mainframe/share/collect/ComponentCollector.java
  3. 8
      designer-base/src/main/java/com/fr/design/mainframe/share/collect/SharableCollectorManager.java
  4. 9
      designer-form/src/main/java/com/fr/design/designer/creator/XChartEditor.java
  5. 25
      designer-form/src/main/java/com/fr/design/mainframe/JForm.java
  6. 13
      designer-form/src/main/java/com/fr/design/mainframe/share/util/SharableXMLUtils.java
  7. 18
      designer-form/src/main/java/com/fr/design/mainframe/share/util/ShareComponentUtils.java
  8. 11
      designer-realize/src/main/java/com/fr/design/share/SharableInitManager.java
  9. 3
      designer-realize/src/main/java/com/fr/design/share/effect/EffectItemGroup.java
  10. 11
      designer-realize/src/main/java/com/fr/design/share/effect/ListenerEffectItem.java
  11. 3
      designer-realize/src/main/java/com/fr/design/share/ui/config/table/ConfigTableModel.java
  12. 2
      designer-realize/src/main/java/com/fr/design/share/ui/generate/ShareMainPane.java
  13. 3
      designer-realize/src/main/java/com/fr/design/share/ui/generate/table/EffectTableModel.java
  14. 3
      designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java

2
designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java

@ -15,6 +15,7 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.VerticalFlowLayout; import com.fr.design.layout.VerticalFlowLayout;
import com.fr.design.mainframe.reuse.ReuseGuideDialog; import com.fr.design.mainframe.reuse.ReuseGuideDialog;
import com.fr.design.mainframe.reuse.SnapChatKeys; import com.fr.design.mainframe.reuse.SnapChatKeys;
import com.fr.design.mainframe.share.collect.ComponentCollector;
import com.fr.design.menu.SnapChatUtil; import com.fr.design.menu.SnapChatUtil;
import com.fr.design.notification.SnapChat; import com.fr.design.notification.SnapChat;
import com.fr.design.notification.SnapChatFactory; import com.fr.design.notification.SnapChatFactory;
@ -313,6 +314,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
new ActionListener() { new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
ComponentCollector.getInstance().collectCmpBoardClick();
ComponentReuseNotifyUtil.enterWidgetLibExtraAction(true); ComponentReuseNotifyUtil.enterWidgetLibExtraAction(true);
} }
}); });

3
designer-base/src/main/java/com/fr/design/mainframe/share/collect/ComponentCollector.java

@ -12,6 +12,7 @@ import com.fr.form.share.Group;
import com.fr.form.share.group.filter.DirFilter; import com.fr.form.share.group.filter.DirFilter;
import com.fr.form.share.group.filter.ReuFilter; import com.fr.form.share.group.filter.ReuFilter;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.GeneralUtils;
import com.fr.json.JSON; import com.fr.json.JSON;
import com.fr.json.JSONArray; import com.fr.json.JSONArray;
import com.fr.json.JSONException; import com.fr.json.JSONException;
@ -524,7 +525,7 @@ public class ComponentCollector implements XMLable {
jo.put("userId", MarketConfig.getInstance().getBBSAttr().getBbsUid()); jo.put("userId", MarketConfig.getInstance().getBBSAttr().getBbsUid());
jo.put("uuid", uuid); jo.put("uuid", uuid);
jo.put("cmpBoardClickDaily", cmpBoardClickDaily()); jo.put("cmpBoardClickDaily", cmpBoardClickDaily());
jo.put("pluginVersion", PluginContexts.currentContext().getVersion()); jo.put("pluginVersion", GeneralUtils.readBuildNO());
jo.put("localCmpNumber", localCmpNumber); jo.put("localCmpNumber", localCmpNumber);
jo.put("remoteCmpNumber", remoteCmpNumber); jo.put("remoteCmpNumber", remoteCmpNumber);
jo.put("uploadCmpNumber", uploadCmpNumber); jo.put("uploadCmpNumber", uploadCmpNumber);

8
designer-base/src/main/java/com/fr/design/mainframe/share/collect/CollectorManager.java → designer-base/src/main/java/com/fr/design/mainframe/share/collect/SharableCollectorManager.java

@ -14,7 +14,7 @@ import java.util.concurrent.TimeUnit;
/** /**
* created by Harrison on 2020/03/25 * created by Harrison on 2020/03/25
**/ **/
public class CollectorManager { public class SharableCollectorManager {
/** /**
* 1 * 1
@ -32,10 +32,10 @@ public class CollectorManager {
private ScheduledExecutorService service; private ScheduledExecutorService service;
private static class ConfigManagerHolder { private static class ConfigManagerHolder {
private static CollectorManager instance = new CollectorManager(); private static SharableCollectorManager instance = new SharableCollectorManager();
} }
public static CollectorManager getInstance() { public static SharableCollectorManager getInstance() {
return ConfigManagerHolder.instance; return ConfigManagerHolder.instance;
} }
@ -43,7 +43,7 @@ public class CollectorManager {
public void execute() { public void execute() {
service = Executors service = Executors
.newSingleThreadScheduledExecutor(new NamedThreadFactory("plugin-CollectorManager", true)); .newSingleThreadScheduledExecutor(new NamedThreadFactory("SharableComponentCollectorManager", true));
service.scheduleAtFixedRate(new Runnable() { service.scheduleAtFixedRate(new Runnable() {
@Override @Override
public void run() { public void run() {

9
designer-form/src/main/java/com/fr/design/designer/creator/XChartEditor.java

@ -255,6 +255,10 @@ public class XChartEditor extends XBorderStyleWidgetCreator {
* @param e 鼠标点击事件 * @param e 鼠标点击事件
*/ */
public void respondClick(EditingMouseListener editingMouseListener, MouseEvent e) { public void respondClick(EditingMouseListener editingMouseListener, MouseEvent e) {
if (this.isShareConfigButtonFocus()) {
CoverReportPane.showShareConfig(((XCreator) this.getParent()).toData());
return;
}
FormDesigner designer = editingMouseListener.getDesigner(); FormDesigner designer = editingMouseListener.getDesigner();
SelectionModel selectionModel = editingMouseListener.getSelectionModel(); SelectionModel selectionModel = editingMouseListener.getSelectionModel();
isEditing = e.getButton() == MouseEvent.BUTTON1 && isEditing = e.getButton() == MouseEvent.BUTTON1 &&
@ -272,11 +276,6 @@ public class XChartEditor extends XBorderStyleWidgetCreator {
} }
} }
} }
if (this.isShareConfigButtonFocus()) {
CoverReportPane.showShareConfig(((XCreator) this.getParent()).toData());
}
} }
@Override @Override

25
designer-form/src/main/java/com/fr/design/mainframe/JForm.java

@ -45,6 +45,8 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.form.FormECCompositeProvider; import com.fr.design.mainframe.form.FormECCompositeProvider;
import com.fr.design.mainframe.form.FormECDesignerProvider; import com.fr.design.mainframe.form.FormECDesignerProvider;
import com.fr.design.mainframe.share.collect.ComponentCollector;
import com.fr.design.mainframe.share.util.ShareComponentUtils;
import com.fr.design.mainframe.template.info.JFormProcessInfo; import com.fr.design.mainframe.template.info.JFormProcessInfo;
import com.fr.design.mainframe.template.info.TemplateProcessInfo; import com.fr.design.mainframe.template.info.TemplateProcessInfo;
import com.fr.design.mainframe.toolbar.ToolBarMenuDock; import com.fr.design.mainframe.toolbar.ToolBarMenuDock;
@ -74,6 +76,7 @@ import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.WBorderLayout;
import com.fr.form.ui.container.WLayout; import com.fr.form.ui.container.WLayout;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.json.JSONArray;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.page.PaperSettingProvider; import com.fr.page.PaperSettingProvider;
import com.fr.plugin.observer.PluginEventListener; import com.fr.plugin.observer.PluginEventListener;
@ -337,6 +340,28 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm<F
ReuseTriggerPointManager.getInstance().registerJForm(JForm.this); ReuseTriggerPointManager.getInstance().registerJForm(JForm.this);
} }
@Override
public void templateSaved(JTemplate<?, ?> jt) {
if (jt == null) {
return;
}
int useCount = 0;
if (!jt.getProcessInfo().isTestTemplate()) {
JForm jForm = (JForm) jt;
XLayoutContainer root = jForm.getFormDesign().getRootComponent();
List<XCreator> 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);
}
}
}); });
return tabCenterPane; return tabCenterPane;
} }

13
designer-form/src/main/java/com/fr/design/mainframe/share/util/SharableXMLUtils.java

@ -0,0 +1,13 @@
package com.fr.design.mainframe.share.util;
import com.fr.form.share.encrypt.engine.SharableReadHelper;
import com.fr.stable.xml.XMLConf;
import com.fr.stable.xml.helper.XMLReadHelper;
public class SharableXMLUtils {
public static synchronized void registerSharableReadHelper() {
XMLReadHelper readHelper = XMLConf.getReadHelper();
XMLReadHelper helper = new SharableReadHelper(readHelper);
XMLConf.registerXMLHelper(helper);
}
}

18
designer-form/src/main/java/com/fr/design/mainframe/share/util/ShareComponentUtils.java

@ -20,8 +20,11 @@ import com.fr.stable.StringUtils;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.awt.Component;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.List;
/** /**
* Coder: zack * Coder: zack
@ -89,5 +92,18 @@ public class ShareComponentUtils {
} }
public static List<XCreator> getHelpConfigXCreatorList(XCreator root) {
List<XCreator> helpConfigXCreatorList = new ArrayList<>();
if (isShareWidget(root)) {
helpConfigXCreatorList.add(root);
return helpConfigXCreatorList;
}
Component[] components = root.getComponents();
for (Component component : components) {
if (component instanceof XCreator) {
helpConfigXCreatorList.addAll(getHelpConfigXCreatorList((XCreator) component));
}
}
return helpConfigXCreatorList;
}
} }

11
designer-realize/src/main/java/com/fr/design/share/SharableInitManager.java

@ -0,0 +1,11 @@
package com.fr.design.share;
import com.fr.design.mainframe.share.collect.SharableCollectorManager;
import com.fr.design.mainframe.share.util.SharableXMLUtils;
public class SharableInitManager {
public static void start() {
SharableXMLUtils.registerSharableReadHelper();
SharableCollectorManager.getInstance().execute();
}
}

3
designer-realize/src/main/java/com/fr/design/share/effect/EffectItemGroup.java

@ -68,8 +68,7 @@ public class EffectItemGroup {
for (int index = 0; index < listenerSize; index ++) { for (int index = 0; index < listenerSize; index ++) {
Listener listener = widget.getListener(index); Listener listener = widget.getListener(index);
SourceNode sourceNode = SourceNodeUtils.createSourceNode(widget, null); SourceNode sourceNode = SourceNodeUtils.createSourceNode(widget, null);
String eventName = switchLang(listener.getEventName()) + (index + 1); this.add(new ListenerEffectItem(listener, sourceNode));
this.add(new ListenerEffectItem(listener, sourceNode, eventName));
} }
} }

11
designer-realize/src/main/java/com/fr/design/share/effect/ListenerEffectItem.java

@ -9,10 +9,9 @@ import com.fr.form.ui.Widget;
public class ListenerEffectItem extends BaseEffectItem<Listener> { public class ListenerEffectItem extends BaseEffectItem<Listener> {
private Listener listener; private Listener listener;
public ListenerEffectItem(Listener listener, SourceNode sourceNode, String name) { public ListenerEffectItem(Listener listener, SourceNode sourceNode) {
this.listener = listener; this.listener = listener;
this.setSourceNode(sourceNode); this.setSourceNode(sourceNode);
this.setName(name);
init(); init();
} }
@ -24,6 +23,8 @@ public class ListenerEffectItem extends BaseEffectItem<Listener> {
object = new Listener(listener.getTargetWidget(), listener.getEventName(), listener.getAction(), listener.isInvokeOnce()); object = new Listener(listener.getTargetWidget(), listener.getEventName(), listener.getAction(), listener.isInvokeOnce());
} }
setObject(object); setObject(object);
setName(listener.getName());
this.setNameableCreator(new EventCreator(Widget.EVENT_STATECHANGE, EventPropertyTable.WidgetEventListenerUpdatePane.class)); this.setNameableCreator(new EventCreator(Widget.EVENT_STATECHANGE, EventPropertyTable.WidgetEventListenerUpdatePane.class));
} }
@ -32,7 +33,13 @@ public class ListenerEffectItem extends BaseEffectItem<Listener> {
setObject((Listener) bean); setObject((Listener) bean);
} }
public void setName(String name) {
super.setName(name);
getObject().setName(name);
}
public void save() { public void save() {
listener.setName(getObject().getName());
listener.setEventName(getObject().getEventName()); listener.setEventName(getObject().getEventName());
listener.setAction(getObject().getAction()); listener.setAction(getObject().getAction());
listener.setInvokeOnce(getObject().isInvokeOnce()); listener.setInvokeOnce(getObject().isInvokeOnce());

3
designer-realize/src/main/java/com/fr/design/share/ui/config/table/ConfigTableModel.java

@ -39,8 +39,7 @@ public class ConfigTableModel extends AbstractTableModel {
@Override @Override
public boolean isCellEditable(int rowIndex, int columnIndex) { public boolean isCellEditable(int rowIndex, int columnIndex) {
EffectItem effectItem = effectItems.get(rowIndex); return columnIndex == 1;
return columnIndex == 1 && !(effectItem instanceof ListenerEffectItem);
} }
@Override @Override

2
designer-realize/src/main/java/com/fr/design/share/ui/generate/ShareMainPane.java

@ -498,7 +498,7 @@ public class ShareMainPane extends JPanel {
ArrayUtils.toPrimitive(rowSizeList.toArray(new Double[rowSizeList.size()])), ArrayUtils.toPrimitive(rowSizeList.toArray(new Double[rowSizeList.size()])),
columnSize, columnSize,
rowCountList.toArray(new int[rowCountList.size()][]), rowCountList.toArray(new int[rowCountList.size()][]),
LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); LayoutConstants.HGAP_SMALL, LayoutConstants.VGAP_MEDIUM);
} }
private JPanel createNameFiledPane() { private JPanel createNameFiledPane() {

3
designer-realize/src/main/java/com/fr/design/share/ui/generate/table/EffectTableModel.java

@ -44,8 +44,7 @@ public class EffectTableModel extends AbstractTableModel {
@Override @Override
public boolean isCellEditable(int rowIndex, int columnIndex) { public boolean isCellEditable(int rowIndex, int columnIndex) {
EffectItem effectItem = effectItems.get(rowIndex); return columnIndex == 1;
return columnIndex == 1 && !(effectItem instanceof ListenerEffectItem);
} }
@Override @Override

3
designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java

@ -60,12 +60,12 @@ import com.fr.design.os.impl.SupportOSImpl;
import com.fr.design.parameter.FormParameterReader; import com.fr.design.parameter.FormParameterReader;
import com.fr.design.parameter.ParameterPropertyPane; import com.fr.design.parameter.ParameterPropertyPane;
import com.fr.design.parameter.WorkBookParameterReader; import com.fr.design.parameter.WorkBookParameterReader;
import com.fr.design.share.SharableInitManager;
import com.fr.design.share.ui.config.ShareConfigPane; import com.fr.design.share.ui.config.ShareConfigPane;
import com.fr.design.share.ui.generate.ShareGeneratePane; import com.fr.design.share.ui.generate.ShareGeneratePane;
import com.fr.design.update.actions.RecoverForDesigner; import com.fr.design.update.actions.RecoverForDesigner;
import com.fr.design.update.push.DesignerPushUpdateManager; import com.fr.design.update.push.DesignerPushUpdateManager;
import com.fr.design.widget.ui.btn.FormSubmitButtonDetailPane; import com.fr.design.widget.ui.btn.FormSubmitButtonDetailPane;
import com.fr.form.stable.ElementCaseThumbnailProcessor;
import com.fr.general.GeneralContext; import com.fr.general.GeneralContext;
import com.fr.general.xml.GeneralXMLTools; import com.fr.general.xml.GeneralXMLTools;
import com.fr.js.EmailJavaScript; import com.fr.js.EmailJavaScript;
@ -205,6 +205,7 @@ public class DesignerActivator extends Activator {
designerRegister(); designerRegister();
InformationCollector.getInstance().collectStartTime(); InformationCollector.getInstance().collectStartTime();
SharableInitManager.start();
} }
private void createPluginListener() { private void createPluginListener() {

Loading…
Cancel
Save