Browse Source

Pull request #13744: REPORT-116390【NewUI】搜索面板自动聚焦输入

Merge in DESIGN/design from ~VITO/c-design:newui to newui

* commit '08a14918835ebf4660dab90636b2b69739b8c167':
  REPORT-116390【NewUI】搜索面板自动聚焦输入
newui
vito-刘恒霖 9 months ago
parent
commit
c5b15e0f20
  1. 6
      designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/FineSearchPane.java
  2. 1
      designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java
  3. 1
      designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateTreeSearchToolbarPane.java
  4. 17
      designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineHelper.java
  5. 10
      designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java
  6. 17
      designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineFrame.java

6
designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/FineSearchPane.java

@ -147,4 +147,10 @@ public class FineSearchPane extends JPanel implements HoverAware {
searchTextField.setEnabled(enabled); searchTextField.setEnabled(enabled);
clearButton.setEnabled(enabled); clearButton.setEnabled(enabled);
} }
@Override
public void requestFocus() {
super.requestFocus();
searchTextField.requestFocus();
}
} }

1
designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/TreeSearchToolbarPane.java

@ -149,6 +149,7 @@ public class TreeSearchToolbarPane extends JPanel implements TreeSearchStatusCha
switchPane(TOOLBAR_PANE); switchPane(TOOLBAR_PANE);
} else { } else {
switchPane(SEARCH_PANE); switchPane(SEARCH_PANE);
searchPane.requestFocus();
} }
} }
} }

1
designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateTreeSearchToolbarPane.java

@ -156,6 +156,7 @@ public class TemplateTreeSearchToolbarPane extends JPanel implements TreeSearchS
switchPane(TOOLBAR_PANE); switchPane(TOOLBAR_PANE);
} else { } else {
switchPane(SEARCH_PANE); switchPane(SEARCH_PANE);
searchPane.requestFocus();
} }
} }

17
designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineHelper.java

@ -34,16 +34,16 @@ public class AlphaFineHelper {
public static final NoResultModel NO_CONNECTION_MODEL = new NoResultModel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Connection_Failed")); public static final NoResultModel NO_CONNECTION_MODEL = new NoResultModel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Connection_Failed"));
private static AlphaFineFrame alphaFineDialog; private static AlphaFineFrame alphaFineDialog;
private static final String URL_FOR_TEST_NETWORK = "https://www.baidu.com"; private static final String URL_FOR_TEST_NETWORK = "https://www.baidu.com";
private AlphaFineHelper() { private AlphaFineHelper() {
} }
/** /**
* 根据国际化调整配置 * 根据国际化调整配置
*/ */
public static void switchConfig4Locale() { public static void switchConfig4Locale() {
AlphaFineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); AlphaFineConfigManager manager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager();
if (!GeneralContext.isChineseEnv()) { if (!GeneralContext.isChineseEnv()) {
manager.setSearchOnLine(false); manager.setSearchOnLine(false);
@ -54,6 +54,15 @@ public class AlphaFineHelper {
} }
} }
/**
* 隐藏搜索面板
*/
public static void hideAlphaFineDialog() {
if (alphaFineDialog != null && alphaFineDialog.isVisible()) {
alphaFineDialog.setVisible(false);
}
}
/** /**
* 弹出alphafine搜索面板 * 弹出alphafine搜索面板
*/ */

10
designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineDialog.java

@ -161,9 +161,15 @@ public class AlphaFineDialog extends UIDialog {
return event -> { return event -> {
if (event instanceof KeyEvent) { if (event instanceof KeyEvent) {
KeyEvent e = (KeyEvent) event; KeyEvent e = (KeyEvent) event;
if (KeyEvent.VK_ESCAPE == e.getKeyCode() && AlphaFinePane.getAlphaFinePane().isVisible()) {
AlphaFineHelper.hideAlphaFineDialog();
return;
}
KeyStroke keyStroke = (KeyStroke) KeyStroke.getAWTKeyStrokeForEvent(e); KeyStroke keyStroke = (KeyStroke) KeyStroke.getAWTKeyStrokeForEvent(e);
KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().getShortCutKeyStore(); KeyStroke storeKeyStroke = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().getShortCutKeyStore();
if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString()) && AlphaFineConfigManager.isALPHALicAvailable() && AlphaFinePane.getAlphaFinePane().isVisible()) { if (ComparatorUtils.equals(keyStroke.toString(), storeKeyStroke.toString())
&& AlphaFineConfigManager.isALPHALicAvailable()
&& AlphaFinePane.getAlphaFinePane().isVisible()) {
doClickAction(); doClickAction();
} }
@ -637,7 +643,7 @@ public class AlphaFineDialog extends UIDialog {
bytes = WorkContext.getCurrent().get(TemplateExportOperator.class).exportWorkBookAsImageData(fileName); bytes = WorkContext.getCurrent().get(TemplateExportOperator.class).exportWorkBookAsImageData(fileName);
} catch (Exception ignored) { } catch (Exception ignored) {
// 兼容下老版本 // 兼容下老版本
bytes = new LocalExportOperator().exportWorkBookAsImageData(fileName); bytes = new LocalExportOperator().exportWorkBookAsImageData(fileName);
} }
return TemplateExportOperator.byteDataToImage(bytes); return TemplateExportOperator.byteDataToImage(bytes);
} }

17
designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineFrame.java

@ -411,7 +411,7 @@ public class AlphaFineFrame extends JFrame {
/** /**
* showPane,内容展示区分为三个小区tab区label区内容区 * showPane,内容展示区分为三个小区tab区label区内容区
* */ */
private JPanel createShowPane() { private JPanel createShowPane() {
JPanel showPane = new JPanel(new BorderLayout()); JPanel showPane = new JPanel(new BorderLayout());
@ -439,7 +439,7 @@ public class AlphaFineFrame extends JFrame {
// 一键已读 // 一键已读
readLabel = new UILabel(ONE_CLICK_READ); readLabel = new UILabel(ONE_CLICK_READ);
readLabel.setHorizontalAlignment(SwingConstants.RIGHT); readLabel.setHorizontalAlignment(SwingConstants.RIGHT);
readLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10));; readLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10));
readLabel.setPreferredSize(new Dimension(100, 30)); readLabel.setPreferredSize(new Dimension(100, 30));
readLabel.setForeground(UIConstants.FLESH_BLUE); readLabel.setForeground(UIConstants.FLESH_BLUE);
readLabel.addMouseListener(new MouseAdapter() { readLabel.addMouseListener(new MouseAdapter() {
@ -624,7 +624,7 @@ public class AlphaFineFrame extends JFrame {
/** /**
* 根据用户自定义的顺序排序 * 根据用户自定义的顺序排序
* */ */
private void sortList(List<SelectedLabel> list) { private void sortList(List<SelectedLabel> list) {
AlphaFineConfigManager alphaFineConfigManager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); AlphaFineConfigManager alphaFineConfigManager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager();
String[] tabOrder = alphaFineConfigManager.getTabOrder(); String[] tabOrder = alphaFineConfigManager.getTabOrder();
@ -751,7 +751,7 @@ public class AlphaFineFrame extends JFrame {
return; return;
} }
fireSearch(); fireSearch();
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) { } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
if (alphaFineToolTipList.getSelectedIndex() == alphaFineToolTipList.getModel().getSize() - 1) { if (alphaFineToolTipList.getSelectedIndex() == alphaFineToolTipList.getModel().getSize() - 1) {
alphaFineToolTipList.setSelectedIndex(0); alphaFineToolTipList.setSelectedIndex(0);
} }
@ -786,7 +786,7 @@ public class AlphaFineFrame extends JFrame {
/** /**
* 控制搜索tip框弹出收起 * 控制搜索tip框弹出收起
* 不断地刷新tab页并防止tab页显示错误 * 不断地刷新tab页并防止tab页显示错误
* */ */
private void startSearchTextFieldTimer() { private void startSearchTextFieldTimer() {
Timer timer = new Timer(TIMER_DELAY, e -> { Timer timer = new Timer(TIMER_DELAY, e -> {
// 坑 isShowing返回false 即使textField有内容 getText返回的也是空 // 坑 isShowing返回false 即使textField有内容 getText返回的也是空
@ -901,14 +901,13 @@ public class AlphaFineFrame extends JFrame {
return new SearchTextBean(getStoreText(searchText), new String[]{getStoreText(searchText)}); return new SearchTextBean(getStoreText(searchText), new String[]{getStoreText(searchText)});
} else if (searchText.startsWith(DS_MARK)) { } else if (searchText.startsWith(DS_MARK)) {
return new SearchTextBean(getStoreText(searchText), new String[]{DS_NAME + getStoreText(searchText)}); return new SearchTextBean(getStoreText(searchText), new String[]{DS_NAME + getStoreText(searchText)});
} else { } else {
return new SearchTextBean(searchText, segmentationResult == null ? new String[]{} : segmentationResult); return new SearchTextBean(searchText, segmentationResult == null ? new String[]{} : segmentationResult);
} }
} }
/** /**
* 仅搜索依赖网络的搜索项 * 仅搜索依赖网络的搜索项
*
*/ */
private void reSearch() { private void reSearch() {
String text = preProcessSearchText(this.searchTextField.getText().toLowerCase()); String text = preProcessSearchText(this.searchTextField.getText().toLowerCase());
@ -925,7 +924,7 @@ public class AlphaFineFrame extends JFrame {
/** /**
* 所有tab页搜索通用的加载panel * 所有tab页搜索通用的加载panel
* */ */
private void initSearchLoadingPane() { private void initSearchLoadingPane() {
if (searchLoadingPane == null) { if (searchLoadingPane == null) {
searchLoadingPane = new SearchLoadingPane(); searchLoadingPane = new SearchLoadingPane();
@ -1008,6 +1007,8 @@ public class AlphaFineFrame extends JFrame {
QuestionWindow.getInstance().setVisible(!b); QuestionWindow.getInstance().setVisible(!b);
if (!b) { if (!b) {
AlphaFineHelper.resetAlphaFineDialog(); AlphaFineHelper.resetAlphaFineDialog();
} else {
searchTextField.requestFocus();
} }
} }

Loading…
Cancel
Save