Browse Source

Merge pull request #4559 in DESIGN/design from feature/10.0 to feature/x

* commit 'ddee70ccda9ccd7eda98d8ee0bef5ae1efcba8d6':
  视觉修改
  REPORT-52936 saveWorker去掉对模板id的依赖
  REPORT-53734 【智能联动】组件名/数据集名替换时,发现替换多次
  REPORT-53739 提供单按钮ui
  REPORT-53731 关闭窗口触发doCancel事件
  KERNEL-7934 win10富文本的jxbrowser组件使用LIGHTWEIGHT渲染
  fix
  REPORT-53651 远程环境检测及同步-插件同步成功后,设计器没自动重启
  REPORT-53644 点击忘记密码,会弹出设计器bin文件夹所在目录
  REPORT-52526 【来源于迭代任务】【V2.1.0】设计器数据集查询界面增加复制传参后sql的功能
research/11.0
superman 3 years ago
parent
commit
7211b97b4f
  1. 2
      designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java
  2. 2
      designer-base/src/main/java/com/fr/design/actions/community/BugAction.java
  3. 2
      designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java
  4. 2
      designer-base/src/main/java/com/fr/design/actions/community/CusDemandAction.java
  5. 2
      designer-base/src/main/java/com/fr/design/actions/community/FacebookFansAction.java
  6. 2
      designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java
  7. 2
      designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java
  8. 2
      designer-base/src/main/java/com/fr/design/actions/community/SignAction.java
  9. 2
      designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java
  10. 2
      designer-base/src/main/java/com/fr/design/actions/community/TemplateStoreAction.java
  11. 2
      designer-base/src/main/java/com/fr/design/actions/community/UpAction.java
  12. 2
      designer-base/src/main/java/com/fr/design/actions/community/WorkOrderCenterAction.java
  13. 6
      designer-base/src/main/java/com/fr/design/actions/file/WebPreviewUtils.java
  14. 16
      designer-base/src/main/java/com/fr/design/data/datapane/preview/sql/PreviewPerformedSqlPane.java
  15. 29
      designer-base/src/main/java/com/fr/design/dialog/UIExpandDialog.java
  16. 2
      designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java
  17. 10
      designer-base/src/main/java/com/fr/design/locale/impl/BbsRegisterMark.java
  18. 10
      designer-base/src/main/java/com/fr/design/locale/impl/BbsResetMark.java
  19. 10
      designer-base/src/main/java/com/fr/design/locale/impl/BbsSpaceMark.java
  20. 2
      designer-base/src/main/java/com/fr/design/locale/impl/BugNeedMark.java
  21. 4
      designer-base/src/main/java/com/fr/design/locale/impl/TechSupportMark.java
  22. 10
      designer-base/src/main/java/com/fr/design/locale/impl/UserInfoMark.java
  23. 6
      designer-base/src/main/java/com/fr/design/locale/impl/VideoMark.java
  24. 16
      designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java
  25. 6
      designer-base/src/main/java/com/fr/design/mainframe/check/CheckButton.java
  26. 2
      designer-base/src/main/java/com/fr/design/mainframe/reuse/ReuseGuideDialog.java
  27. 29
      designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java
  28. 17
      designer-base/src/main/java/com/fr/design/update/actions/SyncFileProcess.java
  29. 5
      designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java
  30. 8
      designer-base/src/main/java/com/fr/env/CheckServiceDialog.java
  31. 22
      designer-base/src/main/java/com/fr/env/SyncFailedPluginsDialog.java
  32. BIN
      designer-base/src/main/resources/com/fr/design/images/dashboard/guide.png
  33. 5
      designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java
  34. 2
      designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichTextDialog.java
  35. 2
      designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichTextPane.java
  36. 1
      designer-realize/src/main/java/com/fr/design/mainframe/app/DesignerAppUtils.java
  37. 2
      designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java

2
designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java

@ -20,7 +20,7 @@ public class BBSAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs");
return CloudCenter.getInstance().acquireUrlByKind("bbs", "http://bbs.fanruan.com/");
}
public static final MenuKeySet BBS = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/BugAction.java

@ -17,7 +17,7 @@ public class BugAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.bugs");
return CloudCenter.getInstance().acquireUrlByKind("bbs.bugs", "http://bbs.fanruan.com/forum-156-1.html");
}
public static final MenuKeySet BUG = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java

@ -18,7 +18,7 @@ public class CenterAction extends UpAction {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.center");
return CloudCenter.getInstance().acquireUrlByKind("bbs.center", "http://bbs.fanruan.com/events/");
}
public static final MenuKeySet CENTER = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/CusDemandAction.java

@ -25,7 +25,7 @@ public class CusDemandAction extends UpAction{
@Override
public void actionPerformed(ActionEvent arg0)
{
String url = CloudCenter.getInstance().acquireUrlByKind("bbs.demand");
String url = CloudCenter.getInstance().acquireUrlByKind("bbs.demand", "https://market.fanruan.com/demand");
BrowseUtils.browser(url);
}

2
designer-base/src/main/java/com/fr/design/actions/community/FacebookFansAction.java

@ -18,7 +18,7 @@ public class FacebookFansAction extends UpAction {
@Override
public void actionPerformed(ActionEvent arg0) {
BrowseUtils.browser(CloudCenter.getInstance().acquireUrlByKind("facebook.fans.tw"));
BrowseUtils.browser(CloudCenter.getInstance().acquireUrlByKind("facebook.fans.tw", "https://www.facebook.com/twfinereport"));
}
public static final MenuKeySet FACEBOOKFANS = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java

@ -18,7 +18,7 @@ public class NeedAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.needs");
return CloudCenter.getInstance().acquireUrlByKind("bbs.needs", "http://bbs.fanruan.com/forum-56-1.html");
}
public static final MenuKeySet NEED = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java

@ -18,7 +18,7 @@ public class QuestionAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.questions");
return CloudCenter.getInstance().acquireUrlByKind("bbs.questions", "http://bbs.fanruan.com/wenda");
}
public static final MenuKeySet QUESTIONS = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/SignAction.java

@ -18,7 +18,7 @@ public class SignAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.aut");
return CloudCenter.getInstance().acquireUrlByKind("bbs.aut", "https://bbs.fanruan.com/certification/");
}
public static final MenuKeySet SIGN = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java

@ -20,7 +20,7 @@ public class TechSolutionAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.solution");
return CloudCenter.getInstance().acquireUrlByKind("bbs.solution", "http://bbs.fanruan.com/forum-113-1.html");
}
public static final MenuKeySet TSO = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/TemplateStoreAction.java

@ -46,7 +46,7 @@ public class TemplateStoreAction extends UpdateAction {
@Override
public void actionPerformed(ActionEvent e) {
ComponentCollector.getInstance().collectTepMenuEnterClick();
String url = CloudCenter.getInstance().acquireUrlByKind("design.market.template");
String url = CloudCenter.getInstance().acquireUrlByKind("design.market.template", "https://market.fanruan.com/template");
BrowseUtils.browser(url);
}
}

2
designer-base/src/main/java/com/fr/design/actions/community/UpAction.java

@ -18,7 +18,7 @@ public class UpAction extends AbstractDesignerSSO {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.update");
return CloudCenter.getInstance().acquireUrlByKind("bbs.update", "http://bbs.fanruan.com/forum.php?mod=collection&action=view&ctid=10");
}
public static final MenuKeySet UPDATE = new MenuKeySet() {

2
designer-base/src/main/java/com/fr/design/actions/community/WorkOrderCenterAction.java

@ -16,6 +16,6 @@ public class WorkOrderCenterAction extends UpAction {
@Override
public String getJumpUrl() {
return CloudCenter.getInstance().acquireUrlByKind("bbs.work.order.center");
return CloudCenter.getInstance().acquireUrlByKind("bbs.work.order.center", "https://service.fanruan.com/ticket");
}
}

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

@ -76,7 +76,7 @@ public final class WebPreviewUtils {
browserTemplate(jt, baseRoute, map, actionType);
}
});
worker.start(jt.getTarget().getTemplateID());
worker.start(jt.getRuntimeId());
return;
}
browserTemplate(jt, baseRoute, map, actionType);
@ -97,7 +97,7 @@ public final class WebPreviewUtils {
);
if (OK_OPTION == selVal) {
CallbackSaveWorker worker = jt.saveAs();
worker.start(jt.getTarget().getTemplateID());
worker.start(jt.getRuntimeId());
worker.addSuccessCallback(new Runnable() {
@Override
public void run() {
@ -125,7 +125,7 @@ public final class WebPreviewUtils {
browseUrl(jt.getEditingFILE(), baseRoute, map, actionType, jt);
}
});
worker.start(jt.getTarget().getTemplateID());
worker.start(jt.getRuntimeId());
}
}
}

16
designer-base/src/main/java/com/fr/design/data/datapane/preview/sql/PreviewPerformedSqlPane.java

@ -208,12 +208,22 @@ public class PreviewPerformedSqlPane extends JDialog implements ActionListener {
StringSelection selection = new StringSelection(sql);
java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection, selection);
// 弹窗
PreviewPerformedSqlPane pane;
if (isShowSpecialCharSqlPane(specialCharParamIndex)) {
pane = new PreviewPerformedSqlPane(DesignerContext.getDesignerFrame(), sql, specialCharParamIndex, ConfigService.getInstance().getPSIConfig().getSelectedSpecialChar(), highlight);
showSpecialCharSqlPane(sql, specialCharParamIndex, highlight);
} else {
pane = new PreviewPerformedSqlPane(DesignerContext.getDesignerFrame(), sql);
showNormalPreviewPane(sql);
}
}
// 埋点方法
private static void showNormalPreviewPane(String sql) {
PreviewPerformedSqlPane pane = new PreviewPerformedSqlPane(DesignerContext.getDesignerFrame(), sql);
pane.setVisible(true);
}
// 埋点方法
private static void showSpecialCharSqlPane(String sql, List<int[]> specialCharParamIndex, boolean highlight) {
PreviewPerformedSqlPane pane = new PreviewPerformedSqlPane(DesignerContext.getDesignerFrame(), sql, specialCharParamIndex, ConfigService.getInstance().getPSIConfig().getSelectedSpecialChar(), highlight);
pane.setVisible(true);
}

29
designer-base/src/main/java/com/fr/design/dialog/UIExpandDialog.java

@ -6,6 +6,7 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.i18n.Toolkit;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.Icon;
@ -64,7 +65,7 @@ public class UIExpandDialog extends UIDialog {
private final UILabel narrow = new UILabel();
private final UILabel narrowHit = new UILabel();
private final UIButton buttonOK;
private final UIButton buttonCancel;
private UIButton buttonCancel = null;
private JLabel msg;
private final UITextArea textArea = new UITextArea();
@ -73,7 +74,9 @@ public class UIExpandDialog extends UIDialog {
String okText, String cancelText, boolean isExpand) {
super(owner);
buttonOK = new UIButton(okText);
buttonCancel = new UIButton(cancelText);
if (!StringUtils.isEmpty(cancelText)) {
buttonCancel = new UIButton(cancelText);
}
setTitle(title);
setModal(isModal);
initComponents(messageType, message, detail, isModal, isExpand, null);
@ -82,7 +85,9 @@ public class UIExpandDialog extends UIDialog {
public UIExpandDialog(Builder builder) {
super(builder.owner);
buttonOK = new UIButton(builder.okText);
buttonCancel = new UIButton(builder.cancelText);
if (!StringUtils.isEmpty(builder.cancelText)) {
buttonCancel = new UIButton(builder.cancelText);
}
setTitle(builder.title);
setModal(builder.modal);
initComponents(builder.messageType, builder.message, builder.detail,
@ -91,7 +96,7 @@ public class UIExpandDialog extends UIDialog {
public void initComponents(int messageType, String message, String detail,
boolean isModal, boolean isExpand, DialogActionListener l) {
applyClosingAction();
setLayout(new BorderLayout(GAP, GAP));
setResizable(false);
setModal(isModal);
@ -133,7 +138,9 @@ public class UIExpandDialog extends UIDialog {
// 操作面板
JPanel actionPanel = new JPanel();
actionPanel.setLayout(new FlowLayout(FlowLayout.CENTER, MARGIN, MARGIN));
actionPanel.add(buttonCancel);
if (buttonCancel != null) {
actionPanel.add(buttonCancel);
}
actionPanel.add(buttonOK);
add(actionPanel, BorderLayout.SOUTH);
@ -185,11 +192,13 @@ public class UIExpandDialog extends UIDialog {
}
});
buttonCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
doCancel();
}
});
if (buttonCancel != null) {
buttonCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
doCancel();
}
});
}
}
protected Icon getIconForType(int messageType) {

2
designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java

@ -706,7 +706,7 @@ public class MutilTempalteTabPane extends JComponent {
closeTpl(specifiedTemplate);
}
});
worker.start(specifiedTemplate.getTarget().getTemplateID());
worker.start(specifiedTemplate.getRuntimeId());
} else if (returnVal == JOptionPane.NO_OPTION) {
closeTpl(specifiedTemplate);
}

10
designer-base/src/main/java/com/fr/design/locale/impl/BbsRegisterMark.java

@ -16,11 +16,11 @@ import java.util.Map;
public class BbsRegisterMark implements LocaleMark<String> {
private final Map<Locale, String> map = new HashMap<>();
private static final String BBS_REGISTER_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.register");
private static final String BBS_REGISTER_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.register");
private static final String BBS_REGISTER_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.register.en_US");
private static final String BBS_REGISTER_KR = CloudCenter.getInstance().acquireUrlByKind("bbs.register.en_US");
private static final String BBS_REGISTER_JP = CloudCenter.getInstance().acquireUrlByKind("bbs.register.en_US");
private static final String BBS_REGISTER_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.register", "http://id.fanruan.com/register/register.php?clueSource=activityfr");
private static final String BBS_REGISTER_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.register", "http://id.fanruan.com/register/register.php?clueSource=activityfr");
private static final String BBS_REGISTER_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.register.en_US", "https://id.fanruan.com/en/register/register.php");
private static final String BBS_REGISTER_KR = CloudCenter.getInstance().acquireUrlByKind("bbs.register.en_US", "https://id.fanruan.com/en/register/register.php");
private static final String BBS_REGISTER_JP = CloudCenter.getInstance().acquireUrlByKind("bbs.register.en_US", "https://id.fanruan.com/en/register/register.php");
public BbsRegisterMark() {
map.put(Locale.CHINA, BBS_REGISTER_CN);

10
designer-base/src/main/java/com/fr/design/locale/impl/BbsResetMark.java

@ -16,11 +16,11 @@ import java.util.Map;
public class BbsResetMark implements LocaleMark<String> {
private final Map<Locale, String> map = new HashMap<>();
private static final String BBS_RESET_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.reset");
private static final String BBS_RESET_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.reset");
private static final String BBS_RESET_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.reset.en_US");
private static final String BBS_RESET_KR = CloudCenter.getInstance().acquireUrlByKind("bbs.reset.en_US");
private static final String BBS_RESET_JP = CloudCenter.getInstance().acquireUrlByKind("bbs.reset.en_US");
private static final String BBS_RESET_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.reset", "http://id.fanruan.com/forget/forget.php?clue=activityfr");
private static final String BBS_RESET_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.reset", "http://id.fanruan.com/forget/forget.php?clue=activityfr");
private static final String BBS_RESET_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.reset.en_US", "https://id.fanruan.com/en/forget/forget.php");
private static final String BBS_RESET_KR = CloudCenter.getInstance().acquireUrlByKind("bbs.reset.en_US", "https://id.fanruan.com/en/forget/forget.php");
private static final String BBS_RESET_JP = CloudCenter.getInstance().acquireUrlByKind("bbs.reset.en_US", "https://id.fanruan.com/en/forget/forget.php");
public BbsResetMark() {
map.put(Locale.CHINA, BBS_RESET_CN);

10
designer-base/src/main/java/com/fr/design/locale/impl/BbsSpaceMark.java

@ -16,11 +16,11 @@ import java.util.Map;
public class BbsSpaceMark implements LocaleMark<String> {
private final Map<Locale, String> map = new HashMap<>();
private static final String BBS_SPACE_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.default");
private static final String BBS_SPACE_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.default");
private static final String BBS_SPACE_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.default.en_US");
private static final String BBS_SPACE_KR = CloudCenter.getInstance().acquireUrlByKind("bbs.default.en_US");
private static final String BBS_SPACE_JP = CloudCenter.getInstance().acquireUrlByKind("bbs.default.en_US");
private static final String BBS_SPACE_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.default", "http://bbs.fanruan.com/home.php?mod=space&do=pm");
private static final String BBS_SPACE_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.default", "http://bbs.fanruan.com/home.php?mod=space&do=pm");
private static final String BBS_SPACE_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.default.en_US", "https://community.finereport.com/home.php?mod=space&do=pm");
private static final String BBS_SPACE_KR = CloudCenter.getInstance().acquireUrlByKind("bbs.default.en_US", "https://community.finereport.com/home.php?mod=space&do=pm");
private static final String BBS_SPACE_JP = CloudCenter.getInstance().acquireUrlByKind("bbs.default.en_US", "https://community.finereport.com/home.php?mod=space&do=pm");
public BbsSpaceMark() {
map.put(Locale.CHINA, BBS_SPACE_CN);

2
designer-base/src/main/java/com/fr/design/locale/impl/BugNeedMark.java

@ -14,7 +14,7 @@ import java.util.Map;
*/
public class BugNeedMark implements LocaleMark<String> {
private Map<Locale, String> map = new HashMap<>();
private static final String TW_BUG_AND_NEEDS = CloudCenter.getInstance().acquireUrlByKind("bbs.bug.needs.zh_TW");
private static final String TW_BUG_AND_NEEDS = CloudCenter.getInstance().acquireUrlByKind("bbs.bug.needs.zh_TW", "https://fanruanhelp.zendesk.com/hc/zh-tw/requests/new");
public BugNeedMark() {
map.put(Locale.TAIWAN, TW_BUG_AND_NEEDS);

4
designer-base/src/main/java/com/fr/design/locale/impl/TechSupportMark.java

@ -14,8 +14,8 @@ import java.util.Map;
*/
public class TechSupportMark implements LocaleMark<String> {
private Map<Locale, String> map = new HashMap<>();
private static final String EN_TECH_SUPPORT = CloudCenter.getInstance().acquireUrlByKind("bbs.tech.support.en_US");
private static final String TW_TECH_SUPPORT = CloudCenter.getInstance().acquireUrlByKind("bbs.tech.support.zh_TW");
private static final String EN_TECH_SUPPORT = CloudCenter.getInstance().acquireUrlByKind("bbs.tech.support.en_US", "https://fanruanhelp.zendesk.com/hc/en-us");
private static final String TW_TECH_SUPPORT = CloudCenter.getInstance().acquireUrlByKind("bbs.tech.support.zh_TW", "https://fanruanhelp.zendesk.com/hc/zh-tw");
public TechSupportMark() {
map.put(Locale.US, EN_TECH_SUPPORT);

10
designer-base/src/main/java/com/fr/design/locale/impl/UserInfoMark.java

@ -15,11 +15,11 @@ import java.util.Map;
public class UserInfoMark implements LocaleMark<String> {
private Map<Locale, String> map = new HashMap<>();
private static final String CN_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.cn");
private static final String EN_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.en");
private static final String TW_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.tw");
private static final String JP_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.jp");
private static final String KR_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.kr");
private static final String CN_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.cn", "http://www.finereport.com/product/active?utm_source=direct&utm_medium=exe");
private static final String EN_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.en", "http://www.finereport.com/en/activation");
private static final String TW_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.tw", "http://www.finereport.com/tw/products/frlogin");
private static final String JP_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.jp", "http://www.finereport.com/jp/trial/");
private static final String KR_LOGIN_HTML = CloudCenter.getInstance().acquireUrlByKind("frlogin.kr", "http://www.finereport.com/kr/activation/");
public UserInfoMark() {
map.put(Locale.CHINA, CN_LOGIN_HTML);

6
designer-base/src/main/java/com/fr/design/locale/impl/VideoMark.java

@ -15,9 +15,9 @@ import java.util.Map;
public class VideoMark implements LocaleMark<String> {
private Map<Locale, String> map = new HashMap<>();
private static final String VIDEO_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.video.en_US");
private static final String VIDEO_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.video.zh_CN");
private static final String VIDEO_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.video.zh_TW");
private static final String VIDEO_EN = CloudCenter.getInstance().acquireUrlByKind("bbs.video.en_US", "http://www.finereport.com/en/Learning-path");
private static final String VIDEO_CN = CloudCenter.getInstance().acquireUrlByKind("bbs.video.zh_CN", "https://edu.fanruan.com/video?class1=16&class2=0");
private static final String VIDEO_TW = CloudCenter.getInstance().acquireUrlByKind("bbs.video.zh_TW", "http://www.finereport.com/tw/video");
public VideoMark() {
map.put(Locale.CHINA, VIDEO_CN);

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

@ -133,6 +133,11 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
private volatile boolean opening = false;
private volatile boolean openFailed = false;
/**
* UI界面模板运行时唯一的id 不存储在模板中 仅在运行时使用 模板界面上关闭就不关注了
*/
private final String runtimeId = UUID.randomUUID().toString();
private PluginEventListener pluginListener;
public JTemplate() {
@ -1508,10 +1513,6 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
editingFILE = fileChooser.getSelectedFILE();
}
//收集和生成templateID 因为是另存为操作 无论怎么样都需要重新生成templateID
// TODO Hades https://work.fineres.com/browse/REPORT-52936
// initForCollect();
FILE finalEditingFILE = editingFILE;
CallbackSaveWorker worker = new CallbackSaveWorker(new Callable<Boolean>() {
@Override
@ -1603,13 +1604,13 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
@Override
public void saveDirectly() {
CallbackSaveWorker worker = save();
worker.start(this.template.getTemplateID());
worker.start(getRuntimeId());
}
@Override
public void saveAsDirectly() {
CallbackSaveWorker worker = saveAs();
worker.start(this.template.getTemplateID());
worker.start(getRuntimeId());
}
@Override
@ -1650,4 +1651,7 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
return !isSaving() && !isOpening() && !isOpenFailed();
}
public String getRuntimeId() {
return runtimeId;
}
}

6
designer-base/src/main/java/com/fr/design/mainframe/check/CheckButton.java

@ -116,7 +116,7 @@ public class CheckButton extends UIButton {
startCheck(checkThread);
}
});
worker.start(jtemplate.getTarget().getTemplateID());
worker.start(jtemplate.getRuntimeId());
}
} else {
if (!jtemplate.isSaved()) {
@ -127,7 +127,7 @@ public class CheckButton extends UIButton {
startCheck(checkThread);
}
});
worker.start(jtemplate.getTarget().getTemplateID());
worker.start(jtemplate.getRuntimeId());
} else {
startCheck(checkThread);
}
@ -148,7 +148,7 @@ public class CheckButton extends UIButton {
startCheck(checkThread);
}
});
worker.start(jtemplate.getTarget().getTemplateID());
worker.start(jtemplate.getRuntimeId());
}
}
}

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

@ -108,7 +108,7 @@ public class ReuseGuideDialog extends UIDialog implements PromptWindow {
JPanel centerPanel = new JPanel(new BorderLayout());
UILabel titleLabel = new UILabel(Toolkit.i18nText("Fine-Design_Share_Drag_And_Make_Component"));
UILabel imageLabel = new UILabel(new ImageIcon(IOUtils.readImage("com/fr/base/images/share/guide.png").getScaledInstance(DEFAULT.width, DEFAULT.height, Image.SCALE_SMOOTH)));
UILabel imageLabel = new UILabel(new ImageIcon(IOUtils.readImage("com/fr/design/images/dashboard/guide.png").getScaledInstance(DEFAULT.width, DEFAULT.height, Image.SCALE_SMOOTH)));
titleLabel.setFont(new Font(titleLabel.getFont().getName(), Font.BOLD, TITLE_FONT_SIZE));
titleLabel.setBorder(BorderFactory.createEmptyBorder());

29
designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java

@ -8,6 +8,7 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.web.struct.AssembleComponent;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.BrowserType;
import com.teamdev.jxbrowser.chromium.JSValue;
import com.teamdev.jxbrowser.chromium.events.LoadListener;
import com.teamdev.jxbrowser.chromium.events.ScriptContextAdapter;
@ -18,11 +19,11 @@ import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import javax.swing.JDialog;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import java.util.Map;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Map;
/**
* @author richie
@ -37,11 +38,11 @@ public class ModernUIPane<T> extends BasicPane {
private String variable = "data";
private String expression = "update()";
private ModernUIPane() {
initialize();
private ModernUIPane(BrowserType browserType) {
initialize(browserType);
}
private void initialize() {
private void initialize(BrowserType browserType) {
if (browser == null) {
setLayout(new BorderLayout());
Assistant.addChromiumSwitches("--disable-google-traffic");
@ -76,10 +77,10 @@ public class ModernUIPane<T> extends BasicPane {
}
});
Assistant.addChromiumSwitches("--remote-debugging-port=9222");
initializeBrowser();
initializeBrowser(browserType);
add(new BrowserView(browser), BorderLayout.CENTER);
} else {
initializeBrowser();
initializeBrowser(browserType);
add(new BrowserView(browser), BorderLayout.CENTER);
}
}
@ -97,8 +98,8 @@ public class ModernUIPane<T> extends BasicPane {
debugger.loadURL(browser.getRemoteDebuggingURL());
}
private void initializeBrowser() {
browser = new Browser();
private void initializeBrowser(BrowserType browserType) {
browser = new Browser(browserType);
// 初始化的时候,就把命名空间对象初始化好,确保window.a.b.c("a.b.c"为命名空间)对象都是初始化过的
browser.addScriptContextListener(new ScriptContextAdapter() {
@Override
@ -145,14 +146,22 @@ public class ModernUIPane<T> extends BasicPane {
public T update() {
JSValue jsValue = browser.executeJavaScriptAndReturnValue("window." + namespace + "." + expression);
if (jsValue.isObject()) {
return (T)jsValue.asJavaObject();
return (T) jsValue.asJavaObject();
}
return null;
}
public static class Builder<T> {
private ModernUIPane<T> pane = new ModernUIPane<>();
private ModernUIPane<T> pane;
public Builder() {
this(BrowserType.HEAVYWEIGHT);
}
public Builder(BrowserType browserType) {
this.pane = new ModernUIPane<>(browserType);
}
public Builder<T> prepare(ScriptContextListener contextListener) {
pane.browser.addScriptContextListener(contextListener);

17
designer-base/src/main/java/com/fr/design/update/actions/SyncFileProcess.java

@ -5,6 +5,7 @@ import com.fr.decision.update.info.UpdateCallBack;
import com.fr.decision.update.info.UpdateProgressCallBack;
import com.fr.design.i18n.Toolkit;
import com.fr.design.versioncheck.VersionCheckUtils;
import com.fr.json.JSONArray;
import com.fr.log.FineLoggerFactory;
import java.util.concurrent.ExecutionException;
import javax.swing.JProgressBar;
@ -13,6 +14,7 @@ import javax.swing.SwingWorker;
public abstract class SyncFileProcess extends SwingWorker<Boolean, Void> {
private String buildNo;
private JProgressBar bar;
private JSONArray syncFailedPlugins;
public SyncFileProcess(JProgressBar bar, String buildNo) {
this.bar = bar;
@ -22,13 +24,10 @@ public abstract class SyncFileProcess extends SwingWorker<Boolean, Void> {
@Override
protected Boolean doInBackground() throws Exception {
UpdateCallBack callBack = new UpdateProgressCallBack(bar);
boolean result = SyncExecutor.getInstance().execute(callBack, buildNo);
if (result) {
bar.setValue(0);
bar.setString(Toolkit.i18nText("Fine-Design_Basic_Sync_Plugins"));
VersionCheckUtils.syncPlugins(VersionCheckUtils.checkLocalAndRemotePlugin());
}
return result;
bar.setValue(0);
bar.setString(Toolkit.i18nText("Fine-Design_Basic_Sync_Plugins"));
syncFailedPlugins = VersionCheckUtils.syncPlugins(VersionCheckUtils.checkLocalAndRemotePlugin());
return SyncExecutor.getInstance().execute(callBack, buildNo);
}
@Override
@ -49,6 +48,10 @@ public abstract class SyncFileProcess extends SwingWorker<Boolean, Void> {
}
}
public JSONArray getSyncFailedPlugins(){
return syncFailedPlugins;
}
/**
* 下载成功
*/

5
designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java

@ -243,10 +243,11 @@ public class VersionCheckUtils {
return differentPlugins;
}
public static void syncPlugins(JSONArray differentPlugins) {
public static JSONArray syncPlugins(JSONArray differentPlugins) {
Set<String> uninstallFailed = uninstallPlugins(differentPlugins);
List<PluginMarker> plugins = getSyncPlugins(differentPlugins, uninstallFailed);
installPlugins(plugins);
return getPluginsSyncFailed(differentPlugins);
}
private static List<PluginMarker> getSyncPlugins(JSONArray differentPlugins, Set<String> uninstallFailed) {
@ -302,7 +303,7 @@ public class VersionCheckUtils {
return uninstallFailedID;
}
public static JSONArray getPluginsSyncFailed(JSONArray differentPlugins){
private static JSONArray getPluginsSyncFailed(JSONArray differentPlugins){
JSONArray pluginsNeedSync = JSONArray.create();
List<PluginContext> localPlugins = PluginManager.getContexts();
Map<String, String> localPluginsInfo = new HashMap<>();

8
designer-base/src/main/java/com/fr/env/CheckServiceDialog.java vendored

@ -322,14 +322,15 @@ public class CheckServiceDialog extends JDialog implements ActionListener {
final JFrame frame = DesignerContext.getDesignerFrame();
final RestartHelper helper = new RestartHelper();
FineProcessContext.getParentPipe().fire(FineProcessEngineEvent.DESTROY);
SyncFailedPluginsDialog syncFailedPluginsDialog = new SyncFailedPluginsDialog(DesignerContext.getDesignerFrame(),JSONArray.create());
new SyncFileProcess(progressBar, remoteBuildNo) {
@Override
public void onDownloadSuccess() {
deleteForDesignerUpdate(installLib);
progressBar.setVisible(false);
JSONArray syncFailedPlugins = VersionCheckUtils.getPluginsSyncFailed(differentPlugins);
JSONArray syncFailedPlugins = getSyncFailedPlugins();
if (syncFailedPlugins.size() > 0) {
SyncFailedPluginsDialog syncFailedPluginsDialog = new SyncFailedPluginsDialog(DesignerContext.getDesignerFrame(), syncFailedPlugins);
syncFailedPluginsDialog.showSyncFailedPluginsInfo(syncFailedPlugins);
syncFailedPluginsDialog.setVisible(true);
}
helper.restartForUpdate(frame);
@ -352,8 +353,7 @@ public class CheckServiceDialog extends JDialog implements ActionListener {
protected JSONArray doInBackground() {
progressBar.setString(Toolkit.i18nText("Fine-Design_Basic_Sync_Plugins"));
progressBar.setValue(0);
VersionCheckUtils.syncPlugins(differentPlugins);
return VersionCheckUtils.getPluginsSyncFailed(differentPlugins);
return VersionCheckUtils.syncPlugins(differentPlugins);
}
@Override

22
designer-base/src/main/java/com/fr/env/SyncFailedPluginsDialog.java vendored

@ -38,6 +38,7 @@ import javax.swing.UIManager;
public class SyncFailedPluginsDialog extends JDialog {
private UILabel detailsLabel;
private JScrollPane scrollPane;
private UITextArea detailsTextArea;
public SyncFailedPluginsDialog(Frame parent, JSONArray syncFailedPlugins) {
super(parent, true);
JPanel body = FRGUIPaneFactory.createBorderLayout_L_Pane();
@ -70,14 +71,9 @@ public class SyncFailedPluginsDialog extends JDialog {
detailsTitlePanel.add(detailsLabel);
detailsTitlePanel.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
UITextArea detailsTextArea = new UITextArea();
StringBuilder detailsText = new StringBuilder(StringUtils.EMPTY);
for (int i = 0; i < syncFailedPlugins.size(); i++) {
JSONObject plugin = syncFailedPlugins.getJSONObject(i);
detailsText.append(plugin.getString("name")).append(",").append(Toolkit.i18nText("Fine-Design_Basic_Sync_Server_Version")).append(plugin.getString("version")).append("\n");
}
detailsTextArea.setText(detailsText.toString());
detailsTextArea = new UITextArea();
detailsTextArea.setEditable(false);
showSyncFailedPluginsInfo(syncFailedPlugins);
scrollPane = new JScrollPane(detailsTextArea);
centerPanel.add(detailsTitlePanel,BorderLayout.NORTH);
centerPanel.add(scrollPane,BorderLayout.CENTER);
@ -98,6 +94,18 @@ public class SyncFailedPluginsDialog extends JDialog {
GUICoreUtils.centerWindow(this);
}
public void showSyncFailedPluginsInfo(JSONArray syncFailedPlugins){
if(null == syncFailedPlugins){
return;
}
StringBuilder detailsText = new StringBuilder(StringUtils.EMPTY);
for (int i = 0; i < syncFailedPlugins.size(); i++) {
JSONObject plugin = syncFailedPlugins.getJSONObject(i);
detailsText.append(plugin.getString("name")).append(",").append(Toolkit.i18nText("Fine-Design_Basic_Sync_Server_Version")).append(plugin.getString("version")).append("\n");
}
detailsTextArea.setText(detailsText.toString());
}
private MouseListener detailsLabelClickListener = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {

BIN
designer-base/src/main/resources/com/fr/design/images/dashboard/guide.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 308 KiB

5
designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichEditorPane.java

@ -20,8 +20,10 @@ import com.fr.plugin.chart.custom.CustomDefinition;
import com.fr.plugin.chart.custom.type.CustomPlotType;
import com.fr.plugin.chart.type.TextAlign;
import com.fr.stable.StringUtils;
import com.fr.third.org.apache.commons.lang3.SystemUtils;
import com.fr.van.chart.designer.PlotFactory;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.BrowserType;
import com.teamdev.jxbrowser.chromium.JSValue;
import com.teamdev.jxbrowser.chromium.events.ScriptContextAdapter;
import com.teamdev.jxbrowser.chromium.events.ScriptContextEvent;
@ -152,7 +154,8 @@ public class VanChartRichEditorPane {
}
public static ModernUIPane<VanChartRichEditorModel> initPane(VanChartRichEditorModel model) {
return new ModernUIPane.Builder<VanChartRichEditorModel>()
BrowserType type = SystemUtils.IS_OS_WINDOWS_10 ? BrowserType.LIGHTWEIGHT : BrowserType.HEAVYWEIGHT;
return new ModernUIPane.Builder<VanChartRichEditorModel>(type)
.prepare(new ScriptContextAdapter() {
public void onScriptContextCreated(ScriptContextEvent event) {
browser = event.getBrowser();

2
designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichTextDialog.java

@ -10,7 +10,7 @@ import java.awt.Frame;
public class VanChartRichTextDialog extends BasicDialog {
public static final Dimension DEFAULT = new Dimension(960, 800);
public static final Dimension DEFAULT = new Dimension(960, 700);
public VanChartRichTextDialog(Frame parent, BasicPane pane) {
super(parent, pane);

2
designer-chart/src/main/java/com/fr/van/chart/designer/component/richText/VanChartRichTextPane.java

@ -20,7 +20,7 @@ public class VanChartRichTextPane extends BasicBeanPane<AttrTooltipContent> {
private static final int FIELD_PANE_H = 270;
private static final int RICH_EDITOR_W = 940;
private static final int RICH_EDITOR_H = 460;
private static final int RICH_EDITOR_H = 400;
private VanChartFieldListPane fieldListPane;
private VanChartFieldAttrPane fieldAttrPane;

1
designer-realize/src/main/java/com/fr/design/mainframe/app/DesignerAppUtils.java

@ -178,6 +178,7 @@ public class DesignerAppUtils {
} else {
UIExpandDialog.Builder().owner(DesignerContext.getDesignerFrame())
.title(Toolkit.i18nText("Fine-Design_Basic_Tool_Tips"))
.cancelText(StringUtils.EMPTY)
.message(Toolkit.i18nText("Fine-Design_Template_Plugin_Error_Message_Remote"))
.detail(detail)
.build()

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

@ -169,7 +169,6 @@ public class DesignerActivator extends Activator implements Prepare {
storePassport();
AlphaFineHelper.switchConfig4Locale();
RecoverManager.register(new RecoverForDesigner());
ContentReplacerCenter.getInstance().register();
pushUpdateTask.run();
}
@ -466,5 +465,6 @@ public class DesignerActivator extends Activator implements Prepare {
@Override
public void prepare() {
LoginAuthServer.getInstance().start();
ContentReplacerCenter.getInstance().register();
}
}

Loading…
Cancel
Save