Browse Source

Merge remote-tracking branch 'origin/fbp-1.0' into fbp-1.0

fbp-1.0
Destiny.Lin 6 months ago
parent
commit
29de409e4a
  1. 12
      designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java
  2. 21
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
  3. 15
      designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersJSBridge.java
  4. 7
      designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersPane.java
  5. 9
      designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/JxTableDataNamePane.java
  6. 4
      designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java
  7. 19
      designer-base/src/main/java/com/fr/design/dialog/BasicDialog.java
  8. 18
      designer-base/src/main/java/com/fr/design/dialog/BasicPane.java
  9. 1
      designer-base/src/main/java/com/fr/design/formula/FormulaPane.java
  10. 23
      designer-base/src/main/resources/com/fine/theme/icon/dataset/datacenter.svg
  11. 3
      designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
  12. 104
      designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.js
  13. 13
      designer-realize/src/main/java/com/fr/design/cell/smartaction/SmartJTablePane.java
  14. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash.png
  15. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x.png
  16. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_en.png
  17. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh.png
  18. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh_TW.png
  19. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_en.png
  20. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh.png
  21. BIN
      designer-realize/src/main/resources/com/fr/design/images/splash_zh_TW.png

12
designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java

@ -229,7 +229,6 @@ public class PreferencePane extends BasicPane {
private UICheckBox useUniverseDBMCheckbox;
private UICheckBox joinProductImproveCheckBox;
private UICheckBox autoPushUpdateCheckBox;
private UICheckBox embedServerLazyStartupCheckBox;
private UICheckBox imageCompressPanelCheckBox;
private UICheckBox cloudAnalyticsDelayCheckBox;
@ -321,9 +320,6 @@ public class PreferencePane extends BasicPane {
cell(createMemoryPane()),
// 产品改良
cell(createImprovePane()),
// 内置服务器
/// 暂时不支持跟随启动
// cell(createEmbeddedServerPane()),
// 模板预览性能
cell(createTplPreviewPane()),
// 设计器启动选项
@ -370,12 +366,6 @@ public class PreferencePane extends BasicPane {
i18nText("Fine-Design_Template_Preview_Performance"));
}
private Component createEmbeddedServerPane() {
embedServerLazyStartupCheckBox = new UICheckBox(i18nText("Fine-Design_Startup_When_Needed"));
return FineUIUtils.wrapComponentWithTitle(column(10, cell(embedServerLazyStartupCheckBox)).getComponent(),
i18nText("Fine-Design_Embed_Server"));
}
private Component createImprovePane() {
joinProductImproveCheckBox = new UICheckBox(i18nText("Fine-Design_Basic_Join_Product_Improve"));
autoPushUpdateCheckBox = new UICheckBox(i18nText("Fine-Design_Automatic_Push_Update"));
@ -994,7 +984,6 @@ public class PreferencePane extends BasicPane {
this.autoPushUpdateCheckBox.setSelected(designerEnvManager.isAutoPushUpdateEnabled());
}
// this.embedServerLazyStartupCheckBox.setSelected(designerEnvManager.isEmbedServerLazyStartup());
this.startWithEmptyFile.setSelected(designerEnvManager.isStartWithEmptyFile());
this.imageCompressPanelCheckBox.setSelected(designerEnvManager.isImageCompress());
@ -1093,7 +1082,6 @@ public class PreferencePane extends BasicPane {
designerEnvManager.setOracleSystemSpace(this.oracleSpace.isSelected());
designerEnvManager.setCachingTemplateLimit((int) this.cachingTemplateSpinner.getValue());
designerEnvManager.setJoinProductImprove(this.joinProductImproveCheckBox.isSelected());
designerEnvManager.setEmbedServerLazyStartup(this.embedServerLazyStartupCheckBox.isSelected());
designerEnvManager.setImageCompress(this.imageCompressPanelCheckBox.isSelected());
boolean optimizedUPMFlag = this.useOptimizedUPMCheckbox != null && this.useOptimizedUPMCheckbox.isSelected();
designerEnvManager.setUseOptimizedUPM4Adapter(optimizedUPMFlag);

21
designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java

@ -11,12 +11,6 @@ import com.fr.data.impl.EmbeddedTableData;
import com.fr.data.impl.FileTableData;
import com.fr.data.impl.RecursionTableData;
import com.fine.theme.icon.LazyIcon;
import com.fr.data.impl.ClassTableData;
import com.fr.data.impl.ConditionTableData;
import com.fr.data.impl.DBTableData;
import com.fr.data.impl.EmbeddedTableData;
import com.fr.data.impl.FileTableData;
import com.fr.data.impl.RecursionTableData;
import com.fr.data.impl.storeproc.StoreProcedure;
import com.fr.datacenters.tabledata.DCTableData;
import com.fr.design.ExtraDesignClassManager;
@ -31,16 +25,6 @@ import com.fr.design.data.tabledata.tabledatapane.GlobalTreeTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.MultiTDTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.ProcedureDataPane;
import com.fr.design.data.tabledata.tabledatapane.TreeTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.ClassTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.DBTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.EmbeddedTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.FileTableDataSmallHeightPane;
import com.fr.design.data.tabledata.tabledatapane.FileTableDataSmallPane;
import com.fr.design.data.tabledata.tabledatapane.GlobalMultiTDTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.GlobalTreeTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.MultiTDTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.ProcedureDataPane;
import com.fr.design.data.tabledata.tabledatapane.TreeTableDataPane;
import com.fr.stable.ArrayUtils;
import com.fr.workspace.WorkContext;
@ -109,8 +93,8 @@ public class TableDataCreatorProducer {
private TableDataNameObjectCreator[] createDatacentersTableDataCreator() {
if (!WorkContext.getCurrent().isLocal()) {
return new TableDataNameObjectCreator[]{
new TableDataNameObjectCreator(i18nText("Dec-Authority_Data_Center"),
"/com/fr/design/standard/server_database_normal.svg",
new TableDataNameObjectCreator(i18nText("Fine-Design_Basic_DS_Datacenters"),
new LazyIcon("datacenter"),
DCTableData.class, DatacentersPane.class) {
@Override
public boolean shouldInsertSeparator() {
@ -125,6 +109,7 @@ public class TableDataCreatorProducer {
/**
* 服务器数据集
*
* @return TableDataNameObjectCreator[]
*/
public TableDataNameObjectCreator[] createServerTableDataCreator() {

15
designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersJSBridge.java

@ -10,6 +10,7 @@ import com.fr.design.dialog.UIDialog;
import com.fr.design.formula.FormulaFactory;
import com.fr.design.formula.UIFormula;
import com.fr.design.jxbrowser.JxUIPane;
import com.fr.design.ui.util.UIUtil;
import com.fr.json.revise.EmbedJson;
import com.fr.locale.InterProviderFactory;
import com.fr.log.FineLoggerFactory;
@ -178,11 +179,11 @@ public class DatacentersJSBridge {
public void okAction() {
CompletableFuture
.runAsync(() -> relationPanel.updateNamePane())
.thenRunAsync(() -> {
.thenRun(() -> {
Window ancestor = SwingUtilities.getWindowAncestor(relationPanel);
if (ancestor instanceof UIDialog) {
try {
((UIDialog) ancestor).doOK();
SwingUtilities.invokeLater(() -> ((UIDialog) ancestor).doOK());
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
@ -195,9 +196,11 @@ public class DatacentersJSBridge {
*/
@JSBridge
public void cancelAction() {
Window ancestor = SwingUtilities.getWindowAncestor(relationPanel);
if (ancestor instanceof UIDialog) {
((UIDialog) ancestor).doCancel();
}
UIUtil.invokeLaterIfNeeded(() -> {
Window ancestor = SwingUtilities.getWindowAncestor(relationPanel);
if (ancestor instanceof UIDialog) {
((UIDialog) ancestor).doCancel();
}
});
}
}

7
designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersPane.java

@ -1,11 +1,13 @@
package com.fr.design.data.tabledata.datacenter;
import com.fanruan.workplace.http.ServiceType;
import com.fr.datacenters.tabledata.DCTableData;
import com.fr.datacenters.tabledata.bean.DCNameBean;
import com.fr.datacenters.tabledata.bean.DCTableDataBean;
import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane;
import com.fr.design.dialog.DialogActionListener;
import com.fr.design.dialog.UIDialog;
import com.fr.design.i18n.Toolkit;
import com.fr.design.jxbrowser.JxEngine;
import com.fr.design.jxbrowser.JxUIPane;
import com.fr.json.revise.EmbedJson;
@ -80,7 +82,8 @@ public class DatacentersPane extends AbstractTableDataPane<DCTableData> {
private static String getDatacentersUrl() {
if (!WorkContext.getCurrent().isLocal()) {
String path = WorkContext.getCurrent().getPath();
return path.endsWith("/") ? path + "bi" : path + "/bi";
String datacenterPath = ServiceType.DATACENTER.createPath(StringUtils.EMPTY);
return path.endsWith("/") ? path + datacenterPath : path + "/" + datacenterPath;
}
return StringUtils.EMPTY;
}
@ -123,6 +126,6 @@ public class DatacentersPane extends AbstractTableDataPane<DCTableData> {
@Override
protected String title4PopupWindow() {
return "";
return Toolkit.i18nText("Fine-Design_Report_Add_TableData");
}
}

9
designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/JxTableDataNamePane.java

@ -1,5 +1,6 @@
package com.fr.design.data.tabledata.datacenter;
import com.fine.theme.utils.FineUIScale;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.BasicPane.NamePane;
@ -53,9 +54,6 @@ public class JxTableDataNamePane extends NamePane {
return this.dialog;
}
private static final int MIN_WIDTH = 1000;
private static final int MIN_HEIGHT = 600;
/**
* 计算数据集窗口大小
* 80%90%
@ -64,9 +62,8 @@ public class JxTableDataNamePane extends NamePane {
*/
public static Dimension calculatePaneDimension() {
DesignerFrame parent = DesignerContext.getDesignerFrame();
int width = Math.max((int) (parent.getWidth() * 0.8), MIN_WIDTH);
int height = Math.max((int) (parent.getHeight() * 0.9), MIN_HEIGHT);
return new Dimension(width, height);
return new Dimension((int) (FineUIScale.unscale(parent.getWidth()) * 0.8),
(int) (FineUIScale.unscale(parent.getHeight()) * 0.9));
}
}

4
designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java

@ -76,8 +76,8 @@ public abstract class TableDataFactory {
//defaultMap.put(MultiFieldTableData.class.getName(), new TableDataNameObjectCreator(null, "/com/fr/design/standard/database_normal.svg", MultiFieldTableData.class, null));
defaultMap.put(DCTableData.class.getName(),
new TableDataNameObjectCreator(
i18nText("Dec-Authority_Data_Center"),
"/com/fr/design/standard/store_procedure_normal.svg",
i18nText("Fine-Design_Basic_DS_Datacenters"),
new LazyIcon("datacenter"),
DCTableData.class,
DatacentersPane.class));
map.putAll(defaultMap);

19
designer-base/src/main/java/com/fr/design/dialog/BasicDialog.java

@ -52,6 +52,15 @@ public abstract class BasicDialog extends UIDialog {
super.setSize(FineUIScale.scale(d.width), FineUIScale.scale(d.height));
}
/**
* 设置对话框大小,本方法不进行主动缩放
*
* @param d 对话框尺寸
*/
protected void setBasicDialogSizeNoScale(Dimension d) {
super.setSize(d.width, d.height);
}
/**
* 设置对话框大小方法内已进行dpi适配传参无需考虑dpi适配
*
@ -62,6 +71,16 @@ public abstract class BasicDialog extends UIDialog {
setBasicDialogSize(new Dimension(w, h));
}
/**
* 设置对话框大小,本方法不进行主动缩放
*
* @param w 宽度
* @param h 高度
*/
protected void setBasicDialogSizeNoScale(int w, int h) {
setBasicDialogSizeNoScale(new Dimension(w, h));
}
@Override
public void setSize(Dimension d) {
throw new UnsupportedOperationException();

18
designer-base/src/main/java/com/fr/design/dialog/BasicPane.java

@ -14,7 +14,6 @@ import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.stable.core.PropertyChangeAdapter;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentEvent;
import java.awt.BorderLayout;
import java.awt.Dialog;
@ -179,17 +178,12 @@ public abstract class BasicPane extends JPanel {
dg = new DIALOG((Dialog) window, isNeedButtonPane);
}
SwingUtilities.invokeLater(() -> {
if (l != null) {
dg.addDialogActionListener(l);
}
dg.setBasicDialogSize(dimension);
GUICoreUtils.centerWindow(dg);
dg.setResizable(false);
dg.setVisible(true);
dg.toFront();
dg.requestFocus();
});
if (l != null) {
dg.addDialogActionListener(l);
}
dg.setBasicDialogSize(dimension);
GUICoreUtils.centerWindow(dg);
dg.setResizable(false);
return dg;
}

1
designer-base/src/main/java/com/fr/design/formula/FormulaPane.java

@ -745,7 +745,6 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
public BasicDialog showLargeWindow(Window window, DialogActionListener l) {
Dimension dimension = new Dimension(900, 640);
BasicDialog basicDialog = super.showWindowWithCustomSize(window, l, dimension);
basicDialog.setMinimumSize(dimension);
basicDialog.setResizable(true);
return basicDialog;
}

23
designer-base/src/main/resources/com/fine/theme/icon/dataset/datacenter.svg

@ -0,0 +1,23 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_32_84473)">
<path d="M124.798 129.634C127.02 128.594 129.607 128.595 131.83 129.634L228.789 174.973C231.854 176.406 231.853 180.648 228.788 182.08L131.908 227.347C129.686 228.385 127.098 228.384 124.877 227.345L27.988 182.006C24.925 180.573 24.9257 176.332 27.9892 174.899L124.798 129.634Z" fill="#87B0F7"/>
<path d="M124.798 126.634C127.02 125.594 129.607 125.595 131.83 126.634L228.789 171.973C231.854 173.406 231.853 177.648 228.788 179.08L131.908 224.347C129.686 225.385 127.098 225.384 124.877 224.345L27.988 179.006C24.9249 177.573 24.9256 173.332 27.9891 171.899L124.798 126.634Z" fill="url(#paint0_linear_32_84473)"/>
<path d="M124.798 82.1335C127.02 81.0945 129.607 81.0945 131.83 82.1336L228.789 127.473C231.854 128.906 231.853 133.148 228.788 134.58L131.908 179.847C129.686 180.885 127.098 180.884 124.877 179.845L27.988 134.506C24.925 133.073 24.9257 128.832 27.9892 127.399L124.798 82.1335Z" fill="#5285EA"/>
<path d="M124.798 79.1335C127.02 78.0945 129.607 78.0945 131.83 79.1336L228.789 124.473C231.854 125.906 231.853 130.148 228.788 131.58L131.908 176.847C129.686 177.885 127.098 177.884 124.877 176.845L27.988 131.506C24.9249 130.073 24.9256 125.832 27.9891 124.399L124.798 79.1335Z" fill="url(#paint1_linear_32_84473)"/>
<path d="M124.798 34.6335C127.02 33.5945 129.607 33.5945 131.83 34.6336L228.789 79.9726C231.854 81.4056 231.853 85.6483 228.788 87.0803L131.908 132.347C129.686 133.385 127.098 133.384 124.877 132.345L27.988 87.006C24.925 85.5726 24.9257 81.3317 27.9892 79.8992L124.798 34.6335Z" fill="#1C4BBA"/>
<path d="M124.798 31.6335C127.02 30.5945 129.607 30.5945 131.83 31.6336L228.789 76.9726C231.854 78.4056 231.853 82.6483 228.788 84.0803L131.908 129.347C129.686 130.385 127.098 130.384 124.877 129.345L27.988 84.006C24.925 82.5726 24.9257 78.3317 27.9892 76.8992L124.798 31.6335Z" fill="#2C60DB"/>
</g>
<defs>
<linearGradient id="paint0_linear_32_84473" x1="128" y1="233.5" x2="124.045" y2="93.1114" gradientUnits="userSpaceOnUse">
<stop stop-color="#CDE0FF"/>
<stop offset="0.996611" stop-color="#98BFFF"/>
</linearGradient>
<linearGradient id="paint1_linear_32_84473" x1="119.5" y1="48" x2="127.318" y2="165.78" gradientUnits="userSpaceOnUse">
<stop stop-color="#5795FF"/>
<stop offset="1" stop-color="#84B1FF"/>
</linearGradient>
<clipPath id="clip0_32_84473">
<rect width="256" height="256" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

3
designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json

@ -48,6 +48,9 @@
"file": "dataset/file.svg",
"tree": "dataset/tree.svg",
"store_procedure": "dataset/store_procedure.svg",
"datacenter": {
"normal": "dataset/datacenter.svg"
},
"batch_esd_on": "dataset/batch_esd_on.svg",
"batch_esd_off": "dataset/batch_esd_off.svg",
"edit": "dataset/edit.svg",

104
designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.js

File diff suppressed because one or more lines are too long

13
designer-realize/src/main/java/com/fr/design/cell/smartaction/SmartJTablePane.java

@ -12,6 +12,7 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
import com.fr.design.gui.itable.FineUITable;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
@ -24,8 +25,7 @@ import com.fr.design.selection.SelectionListener;
* SmartJTablePane用于在Grid上面选单元格时编辑JTable
*/
public abstract class SmartJTablePane extends BasicPane {
private static final String UI_CLASS_ID = "TableHeaderUI";
public static final int OK = 0;
public static final int CANCEL = 1;
@ -35,7 +35,7 @@ public abstract class SmartJTablePane extends BasicPane {
protected SelectionListener gridSelectionChangeL;
protected SmartJTablePaneAction action;
protected JTable table;
protected FineUITable table;
protected JScrollPane scrollPane;
protected boolean old_editable = true;
@ -58,7 +58,7 @@ public abstract class SmartJTablePane extends BasicPane {
this.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_RWA_Click_Cell_To_Edit_Value")), BorderLayout.NORTH);
// BasicPane的center放JTable
table = new JTable(model);
table = new FineUITable(model);
this.add(scrollPane = new UITableScrollPane(table), BorderLayout.CENTER);
// 鼠标切换选中项时,editingRowIndex也要跟着变
@ -117,9 +117,4 @@ public abstract class SmartJTablePane extends BasicPane {
return dlg;
}
@Override
public String getUIClassID() {
return UI_CLASS_ID;
}
}

BIN
designer-realize/src/main/resources/com/fr/design/images/splash.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

After

Width:  |  Height:  |  Size: 256 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 904 KiB

After

Width:  |  Height:  |  Size: 914 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x_en.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 904 KiB

After

Width:  |  Height:  |  Size: 914 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 903 KiB

After

Width:  |  Height:  |  Size: 913 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash@2x_zh_TW.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 904 KiB

After

Width:  |  Height:  |  Size: 913 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash_en.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

After

Width:  |  Height:  |  Size: 256 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash_zh.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 255 KiB

BIN
designer-realize/src/main/resources/com/fr/design/images/splash_zh_TW.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 255 KiB

Loading…
Cancel
Save