Browse Source

Merge pull request #17145 in DESIGN/design from release/11.0 to bugfix/11.0

* commit '2f3f8d069ad9f77b7ebc20ff1c0b13b574598a73':
  feat: showGuideLink放到初始化的时候赋值 #REPORT-150676
  feat: </div>始终放在最后拼接 #REPORT-150676
  feat: frm中fvs引导支持配置屏蔽超链跳转 #REPORT-150676
  代码质量检测
  feat: FRM支持屏蔽在线资源 REPORT-151746
bugfix/11.0
superman 1 month ago
parent
commit
2336d59fd0
  1. 39
      designer-base/src/main/java/com/fr/design/mainframe/share/ComponentShareConfig.java
  2. 4
      designer-base/src/main/java/com/fr/design/mainframe/share/ComponentShareUtil.java
  3. 39
      designer-form/src/main/java/com/fr/design/mainframe/guide/FvsGuideConfig.java
  4. 12
      designer-form/src/main/java/com/fr/design/mainframe/guide/FvsGuidePane.java

39
designer-base/src/main/java/com/fr/design/mainframe/share/ComponentShareConfig.java

@ -0,0 +1,39 @@
package com.fr.design.mainframe.share;
import com.fr.config.ConfigContext;
import com.fr.config.DefaultConfiguration;
import com.fr.config.Identifier;
import com.fr.config.holder.Conf;
import com.fr.config.holder.factory.Holders;
/**
* ComponentShare 全局配置
*
* @author Zhanying
* @since 11.0
* Created on 2025/4/7
*/
public class ComponentShareConfig extends DefaultConfiguration {
private static ComponentShareConfig config = null;
public static ComponentShareConfig getInstance() {
if (config == null) {
config = ConfigContext.getConfigInstance(ComponentShareConfig.class);
}
return config;
}
/**
* 是否显示在线组件
*/
@Identifier("showOnlineWidget")
private Conf<Boolean> showOnlineWidget = Holders.simple(true);
public boolean isShowOnlineWidget() {
return showOnlineWidget.get();
}
public void setShowOnlineWidget(boolean showOnlineWidget) {
this.showOnlineWidget.set(showOnlineWidget);
}
}

4
designer-base/src/main/java/com/fr/design/mainframe/share/ComponentShareUtil.java

@ -30,6 +30,10 @@ public class ComponentShareUtil {
}
public static boolean isShowOnlineWidgetRepoPane() {
// 先读一下全局配置
if (!ComponentShareConfig.getInstance().isShowOnlineWidget()) {
return false;
}
LocaleMark<Boolean> localeMark = LocaleCenter.getMark(ShowOnlineWidgetMark.class);
return localeMark.getValue();
}

39
designer-form/src/main/java/com/fr/design/mainframe/guide/FvsGuideConfig.java

@ -0,0 +1,39 @@
package com.fr.design.mainframe.guide;
import com.fr.config.ConfigContext;
import com.fr.config.DefaultConfiguration;
import com.fr.config.Identifier;
import com.fr.config.holder.Conf;
import com.fr.config.holder.factory.Holders;
/**
* FvsGuide 全局配置
*
* @author Zhanying
* @since 11.0
* Created on 2025/4/7
*/
public class FvsGuideConfig extends DefaultConfiguration {
private static FvsGuideConfig config = null;
public static FvsGuideConfig getInstance() {
if (config == null) {
config = ConfigContext.getConfigInstance(FvsGuideConfig.class);
}
return config;
}
/**
* 是否显示超链跳转
*/
@Identifier("showGuideLink")
private Conf<Boolean> showGuideLink = Holders.simple(true);
public boolean isShowGuideLink() {
return showGuideLink.get();
}
public void setShowGuideLink(boolean showGuideLink) {
this.showGuideLink.set(showGuideLink);
}
}

12
designer-form/src/main/java/com/fr/design/mainframe/guide/FvsGuidePane.java

@ -51,10 +51,13 @@ public class FvsGuidePane extends JPanel {
private static final String CONTENT_FORMAT = "<html>\n<body style=\"font-family: %s; font-size: %spt;\">\n %s\n</body>\n</html>";
private final JComponent parent;
private JTextPane textPane;
// 是否显示超链跳转
private final boolean showGuideLink;
public FvsGuidePane(JComponent parent) {
super();
this.parent = parent;
showGuideLink = FvsGuideConfig.getInstance().isShowGuideLink();
initUI();
}
@ -196,9 +199,9 @@ public class FvsGuidePane extends JPanel {
// 计算省略号的长度
int omitLength = getStringWidth(OMIT_TEXT, fontMetrics);
String linkContent = linkContent();
String linkContent = showGuideLink ? linkContent() : StringUtils.EMPTY;
// 计算超链的长度
int linkLength = getStringWidth(linkContent, fontMetrics);
int linkLength = showGuideLink ? getStringWidth(linkContent, fontMetrics) : 0;
String tipContent = tipContent();
@ -236,7 +239,10 @@ public class FvsGuidePane extends JPanel {
htmlBuilder.append(chars[i]);
}
}
htmlBuilder.append("<a href=\"").append(guideUrl()).append("\">").append(linkContent).append("</a></div>");
if (showGuideLink) {
htmlBuilder.append("<a href=\"").append(guideUrl()).append("\">").append(linkContent).append("</a>");
}
htmlBuilder.append("</div>");
return htmlBuilder.toString();
}

Loading…
Cancel
Save