Browse Source

Merge pull request #36 in DESIGN/design from ~RICHIE/design:feature/10.0 to feature/10.0

* commit '754a5ecf24f593eac7ef607be45564eda33bda46':
  无JIRA任务 设计器预览修改为符合新的规范
master
superman 7 years ago
parent
commit
28d8c4817c
  1. 22
      designer-base/src/com/fr/design/actions/file/WebPreviewUtils.java
  2. 9
      designer-base/src/com/fr/design/mainframe/JTemplate.java
  3. 6
      designer-base/src/com/fr/design/mainframe/JVirtualTemplate.java
  4. 7
      designer-base/src/com/fr/design/utils/DesignUtils.java
  5. 22
      designer-form/src/com/fr/design/mainframe/JForm.java
  6. 37
      designer-realize/src/com/fr/design/mainframe/JWorkBook.java
  7. 15
      designer-realize/src/com/fr/start/Designer.java

22
designer-base/src/com/fr/design/actions/file/WebPreviewUtils.java

@ -1,5 +1,6 @@
package com.fr.design.actions.file; package com.fr.design.actions.file;
import com.fr.design.fun.PreviewProvider;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.JTemplate;
import com.fr.design.utils.DesignUtils; import com.fr.design.utils.DesignUtils;
@ -11,19 +12,22 @@ import com.fr.general.web.ParameterConstants;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import javax.swing.*; import javax.swing.*;
import java.util.Collections;
import java.util.Map; import java.util.Map;
public final class WebPreviewUtils { public final class WebPreviewUtils {
public static void onWorkbookPreview(JTemplate<?, ?> jt) { public static void preview(JTemplate<?, ?> jt) {
actionPerformed(jt, jt.getPreviewType().parametersForPreview(), ParameterConstants.REPORTLET); preview(jt, null);
} }
public static void onFormPreview(JTemplate<?, ?> jt) { @SuppressWarnings("unchecked")
actionPerformed(jt, null, ParameterConstants.FORMLET); public static void preview(JTemplate<?, ?> jt, PreviewProvider provider) {
String baseRoute = jt.route();
actionPerformed(jt, baseRoute, provider == null ? Collections.EMPTY_MAP : provider.parametersForPreview(), ParameterConstants.VIEWLET);
} }
public static void actionPerformed(JTemplate<?, ?> jt, Map<String, Object> map, String actionType) { private static void actionPerformed(JTemplate<?, ?> jt, String baseRoute, Map<String, Object> map, String actionType) {
if (jt == null) { if (jt == null) {
return; return;
} }
@ -43,7 +47,7 @@ public final class WebPreviewUtils {
FILE currentTemplate = jt.getEditingFILE(); FILE currentTemplate = jt.getEditingFILE();
// carl:是否是保存在运行环境下的模板,不是就不能被预览 // carl:是否是保存在运行环境下的模板,不是就不能被预览
if (currentTemplate instanceof FileNodeFILE) { if (currentTemplate instanceof FileNodeFILE) {
browseUrl(currentTemplate, map, actionType, jt); browseUrl(currentTemplate, baseRoute, map, actionType, jt);
} else { } else {
// 说明模板没有保存在报表运行环境下面,提示用户 // 说明模板没有保存在报表运行环境下面,提示用户
int selVal = JOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), Inter.getLocText("Web_Preview_Message"), int selVal = JOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), Inter.getLocText("Web_Preview_Message"),
@ -54,12 +58,12 @@ public final class WebPreviewUtils {
return; return;
} }
currentTemplate = jt.getEditingFILE(); currentTemplate = jt.getEditingFILE();
browseUrl(currentTemplate, map, actionType, jt); browseUrl(currentTemplate, baseRoute, map, actionType, jt);
} }
} }
} }
private static void browseUrl(FILE currentTemplate, Map<String, Object> map, String actionType, JTemplate<?, ?> jt) { private static void browseUrl(FILE currentTemplate, String baseRoute, Map<String, Object> map, String actionType, JTemplate<?, ?> jt) {
if (!(currentTemplate instanceof FileNodeFILE)) { if (!(currentTemplate instanceof FileNodeFILE)) {
return; return;
} }
@ -80,7 +84,7 @@ public final class WebPreviewUtils {
parameterValueList.add(GeneralUtils.objectToString(map.get(key))); parameterValueList.add(GeneralUtils.objectToString(map.get(key)));
} }
} }
DesignUtils.visitEnvServerByParameters(parameterNameList.toArray(new String[parameterNameList.size()]), parameterValueList.toArray(new String[parameterValueList.size()])); DesignUtils.visitEnvServerByParameters(baseRoute, parameterNameList.toArray(new String[parameterNameList.size()]), parameterValueList.toArray(new String[parameterValueList.size()]));
} }
} else { } else {
int selVal = JOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), Inter.getLocText("Web_Preview_Message"), int selVal = JOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), Inter.getLocText("Web_Preview_Message"),

9
designer-base/src/com/fr/design/mainframe/JTemplate.java

@ -56,13 +56,10 @@ import com.fr.stable.StringUtils;
import com.fr.stable.core.UUID; import com.fr.stable.core.UUID;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import javax.swing.BorderFactory; import javax.swing.*;
import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.undo.UndoManager; import javax.swing.undo.UndoManager;
import java.awt.BorderLayout; import java.awt.*;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -1146,4 +1143,6 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
template.addAttrMark(new TemplateIdAttrMark(templateId)); template.addAttrMark(new TemplateIdAttrMark(templateId));
template.setTemplateID(templateId); template.setTemplateID(templateId);
} }
public abstract String route();
} }

6
designer-base/src/com/fr/design/mainframe/JVirtualTemplate.java

@ -12,6 +12,7 @@ import com.fr.design.menu.ShortCut;
import com.fr.design.menu.ToolBarDef; import com.fr.design.menu.ToolBarDef;
import com.fr.file.FILE; import com.fr.file.FILE;
import com.fr.file.FileNodeFILE; import com.fr.file.FileNodeFILE;
import com.fr.stable.StringUtils;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import javax.swing.Icon; import javax.swing.Icon;
@ -266,4 +267,9 @@ public class JVirtualTemplate extends JTemplate {
protected void applyUndoState(BaseUndoState baseUndoState) { protected void applyUndoState(BaseUndoState baseUndoState) {
} }
@Override
public String route() {
return StringUtils.EMPTY;
}
} }

7
designer-base/src/com/fr/design/utils/DesignUtils.java

@ -313,7 +313,7 @@ public class DesignUtils {
* 访问服务器环境-空参数 * 访问服务器环境-空参数
*/ */
public static void visitEnvServer() { public static void visitEnvServer() {
visitEnvServerByParameters(new String[] {}, new String[] {}); visitEnvServerByParameters(StringUtils.EMPTY, new String[] {}, new String[] {});
} }
/** /**
@ -322,7 +322,7 @@ public class DesignUtils {
* @param names 参数名字 * @param names 参数名字
* @param values 参数值 * @param values 参数值
*/ */
public static void visitEnvServerByParameters(String[] names, String[] values) { public static void visitEnvServerByParameters(String baseRoute, String[] names, String[] values) {
int len = Math.min(ArrayUtils.getLength(names), ArrayUtils.getLength(values)); int len = Math.min(ArrayUtils.getLength(names), ArrayUtils.getLength(values));
String[] segs = new String[len]; String[] segs = new String[len];
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
@ -353,7 +353,8 @@ public class DesignUtils {
} else { } else {
try { try {
String web = GeneralContext.getCurrentAppNameOfEnv(); String web = GeneralContext.getCurrentAppNameOfEnv();
String url = "http://localhost:" + DesignerEnvManager.getEnvManager().getJettyServerPort() + "/" + web + "/" + ServerConfig.getInstance().getReportServletName() String url = "http://localhost:" + DesignerEnvManager.getEnvManager().getJettyServerPort()
+ "/" + web + "/" + ServerConfig.getInstance().getServletName() + baseRoute
+ postfixOfUri; + postfixOfUri;
StartServer.browserURLWithLocalEnv(url); StartServer.browserURLWithLocalEnv(url);
} catch (Throwable e) { } catch (Throwable e) {

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

@ -22,7 +22,6 @@ import com.fr.design.designer.creator.XWParameterLayout;
import com.fr.design.designer.properties.FormWidgetAuthorityEditPane; import com.fr.design.designer.properties.FormWidgetAuthorityEditPane;
import com.fr.design.event.TargetModifiedEvent; import com.fr.design.event.TargetModifiedEvent;
import com.fr.design.event.TargetModifiedListener; import com.fr.design.event.TargetModifiedListener;
import com.fr.design.file.HistoryTemplateListPane;
import com.fr.design.gui.frpane.HyperlinkGroupPane; import com.fr.design.gui.frpane.HyperlinkGroupPane;
import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -59,18 +58,10 @@ import com.fr.general.Inter;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.stable.bridge.StableFactory; import com.fr.stable.bridge.StableFactory;
import com.fr.web.controller.ViewRequestConstants;
import javax.swing.BorderFactory; import javax.swing.*;
import javax.swing.Icon; import java.awt.*;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
@ -683,7 +674,7 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm {
form.addActionListener(new ActionListener() { form.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
WebPreviewUtils.onFormPreview(JForm.this); WebPreviewUtils.preview(JForm.this);
} }
}); });
return new UIMenuItem[]{form}; return new UIMenuItem[]{form};
@ -898,4 +889,9 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm {
XCreator creator = selection.getSelectedCreator(); XCreator creator = selection.getSelectedCreator();
return creator.toData(); return creator.toData();
} }
@Override
public String route() {
return ViewRequestConstants.FORM_VIEW_PATH;
}
} }

37
designer-realize/src/com/fr/design/mainframe/JWorkBook.java

@ -1,12 +1,24 @@
package com.fr.design.mainframe; package com.fr.design.mainframe;
import com.fr.base.*; import com.fr.base.BaseUtils;
import com.fr.base.DynamicUnitList;
import com.fr.base.FRContext;
import com.fr.base.Parameter;
import com.fr.base.ScreenResolution;
import com.fr.design.DesignModelAdapter; import com.fr.design.DesignModelAdapter;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
import com.fr.design.actions.AllowAuthorityEditAction; import com.fr.design.actions.AllowAuthorityEditAction;
import com.fr.design.actions.ExitAuthorityEditAction; import com.fr.design.actions.ExitAuthorityEditAction;
import com.fr.design.actions.file.WebPreviewUtils; import com.fr.design.actions.file.WebPreviewUtils;
import com.fr.design.actions.file.export.*; import com.fr.design.actions.file.export.CSVExportAction;
import com.fr.design.actions.file.export.EmbeddedExportExportAction;
import com.fr.design.actions.file.export.ExcelExportAction;
import com.fr.design.actions.file.export.PDFExportAction;
import com.fr.design.actions.file.export.PageExcelExportAction;
import com.fr.design.actions.file.export.PageToSheetExcelExportAction;
import com.fr.design.actions.file.export.SVGExportAction;
import com.fr.design.actions.file.export.TextExportAction;
import com.fr.design.actions.file.export.WordExportAction;
import com.fr.design.actions.report.ReportExportAttrAction; import com.fr.design.actions.report.ReportExportAttrAction;
import com.fr.design.actions.report.ReportMobileAttrAction; import com.fr.design.actions.report.ReportMobileAttrAction;
import com.fr.design.actions.report.ReportParameterAction; import com.fr.design.actions.report.ReportParameterAction;
@ -30,7 +42,11 @@ import com.fr.design.mainframe.cell.QuickEditorRegion;
import com.fr.design.mainframe.templateinfo.JWorkBookProcessInfo; import com.fr.design.mainframe.templateinfo.JWorkBookProcessInfo;
import com.fr.design.mainframe.templateinfo.TemplateProcessInfo; import com.fr.design.mainframe.templateinfo.TemplateProcessInfo;
import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus; import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus;
import com.fr.design.menu.*; import com.fr.design.menu.KeySetUtils;
import com.fr.design.menu.MenuDef;
import com.fr.design.menu.NameSeparator;
import com.fr.design.menu.ShortCut;
import com.fr.design.menu.ToolBarDef;
import com.fr.design.module.DesignModuleFactory; import com.fr.design.module.DesignModuleFactory;
import com.fr.design.parameter.ParameterDefinitePane; import com.fr.design.parameter.ParameterDefinitePane;
import com.fr.design.parameter.ParameterInputPane; import com.fr.design.parameter.ParameterInputPane;
@ -51,7 +67,6 @@ import com.fr.file.filetree.FileNode;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.general.ModuleContext; import com.fr.general.ModuleContext;
import com.fr.general.web.ParameterConstants;
import com.fr.grid.Grid; import com.fr.grid.Grid;
import com.fr.grid.GridUtils; import com.fr.grid.GridUtils;
import com.fr.io.exporter.EmbeddedTableDataExporter; import com.fr.io.exporter.EmbeddedTableDataExporter;
@ -75,13 +90,16 @@ import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.module.Module; import com.fr.stable.module.Module;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import com.fr.web.controller.ViewRequestConstants;
import javax.swing.*; import javax.swing.*;
import javax.swing.Icon;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
/** /**
* JWorkBook used to edit WorkBook. * JWorkBook used to edit WorkBook.
@ -899,7 +917,7 @@ public class JWorkBook extends JTemplate<WorkBook, WorkBookUndoState> {
@Override @Override
public void previewMenuActionPerformed(PreviewProvider provider) { public void previewMenuActionPerformed(PreviewProvider provider) {
setPreviewType(provider); setPreviewType(provider);
WebPreviewUtils.actionPerformed(this, provider.parametersForPreview(), ParameterConstants.REPORTLET); WebPreviewUtils.preview(this, provider);
} }
/** /**
@ -1129,4 +1147,9 @@ public class JWorkBook extends JTemplate<WorkBook, WorkBookUndoState> {
//产品想要重新设计下, 1现在的分享多列数据集很麻烦, 2想做成自动上传附件. //产品想要重新设计下, 1现在的分享多列数据集很麻烦, 2想做成自动上传附件.
// return new UIButton[]{new ShareButton()}; // return new UIButton[]{new ShareButton()};
} }
@Override
public String route() {
return ViewRequestConstants.REPORT_VIEW_PATH;
}
} }

15
designer-realize/src/com/fr/start/Designer.java

@ -22,7 +22,6 @@ import com.fr.design.gui.imenu.UIMenuItem;
import com.fr.design.gui.imenu.UIPopupMenu; import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.gui.itoolbar.UILargeToolbar; import com.fr.design.gui.itoolbar.UILargeToolbar;
import com.fr.design.mainframe.ActiveKeyGenerator; import com.fr.design.mainframe.ActiveKeyGenerator;
import com.fr.design.mainframe.BaseJForm;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.InformationCollector; import com.fr.design.mainframe.InformationCollector;
import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.JTemplate;
@ -51,13 +50,9 @@ import com.fr.stable.StringUtils;
import com.fr.stable.xml.XMLTools; import com.fr.stable.xml.XMLTools;
import com.fr.start.module.StartupArgs; import com.fr.start.module.StartupArgs;
import javax.swing.JComponent; import javax.swing.*;
import javax.swing.JPanel;
import javax.swing.border.MatteBorder; import javax.swing.border.MatteBorder;
import java.awt.Component; import java.awt.*;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.File; import java.io.File;
@ -265,11 +260,7 @@ public class Designer extends BaseDesigner {
if (jt == null) { if (jt == null) {
return; return;
} }
if (jt instanceof JWorkBook) { WebPreviewUtils.preview(jt);
WebPreviewUtils.onWorkbookPreview(jt);
} else if (jt instanceof BaseJForm) {
WebPreviewUtils.onFormPreview(jt);
}
} }
@Override @Override

Loading…
Cancel
Save