Browse Source

Merge pull request #3930 in DESIGN/design from feature/10.0 to research/10.0

* commit '6f14d67c84190c5916fb8668dd147cdb9b0d6d38':
  CHART-18761 仪表盘标签增加目标值
  REPORT-50788 删除数据集更新缓存 漏交
  REPORT-50788 删除数据集更新缓存
  REPORT-50096 在设计器中更改数据库类型后 数据库名称字段操作和之前保持一致
  REPORT-50664  【移动端】body设置绝对布局,组件设置侧边导航后,还能设置组件冻结,为bug
research/10.0
superman 4 years ago
parent
commit
cd37612e87
  1. 18
      designer-base/src/main/java/com/fr/design/DesignModelAdapter.java
  2. 1
      designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java
  3. 1
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java
  4. 2
      designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java
  5. 22
      designer-chart/src/main/java/com/fr/van/chart/designer/component/format/TargetValueFormatPaneWithCheckBox.java
  6. 64
      designer-chart/src/main/java/com/fr/van/chart/designer/component/label/LabelContentPaneWithCateValue.java
  7. 19
      designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/RefreshTooltipContentPaneWithOutSeries.java
  8. 85
      designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/TooltipContentPaneWithOutSeries.java
  9. 35
      designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/VanChartFieldListPaneWithOutSeries.java
  10. 18
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileComponentFrozenPane.java

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

@ -21,6 +21,8 @@ import com.fr.stable.StringUtils;
import com.fr.stable.js.WidgetName;
import com.fr.util.ParameterApplyHelper;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@ -338,6 +340,22 @@ public abstract class DesignModelAdapter<T extends BaseBook, S extends JTemplate
}
}
public void removeTableDataParameters(String tdName) {
ParameterProvider[] tableDataParameters = tableDataParametersMap.remove(tdName);
List<Parameter> allParameterList = new ArrayList<>(Arrays.asList(parameters));
List<Parameter> tableDataParameterList = new ArrayList<>();
for (ParameterProvider parameterProvider : tableDataParameters) {
tableDataParameterList.add((Parameter) parameterProvider);
}
allParameterList.removeAll(tableDataParameterList);
parameters = allParameterList.toArray(new Parameter[0]);
}
public void updateAllParameters() {
parameters = getLatestParameters();
}
protected void addGlobalParameters(Map<String, ParameterProvider> map) {
// 添加全局参数
Parameter[] glbParas = ParameterConfig.getInstance().getGlobalParameters();

1
designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java

@ -60,6 +60,7 @@ public class TableDataSourceAction extends TemplateComponentAction<JTemplate<?,
TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter());
TableDataSourceAction.this.getEditingComponent().fireTargetModified();
fireDSChanged(tableDataPane.getDsNameChangedMap());
DesignModelAdapter.getCurrentModelAdapter().updateAllParameters();
}
});
reportTableDataDialog.setVisible(true);

1
designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java

@ -288,6 +288,7 @@ public class TableDataTreePane extends BasicTableDataTreePane {
fireDSChanged();
checkButtonEnabled();
DesignTableDataManager.removeSelectedColumnNames(selectedNO.getName());
DesignModelAdapter.getCurrentModelAdapter().removeTableDataParameters(selectedNO.getName());
}
}
}

2
designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java

@ -303,6 +303,8 @@ public class JDBCDefPane extends JPanel {
urlTextField.setText(dus[i].getURL());
}
}
// 更改数据库类型后 数据库名称置空和之前逻辑保持一致
jdbcDatabase.setDatabase(StringUtils.EMPTY);
}
};

22
designer-chart/src/main/java/com/fr/van/chart/designer/component/format/TargetValueFormatPaneWithCheckBox.java

@ -0,0 +1,22 @@
package com.fr.van.chart.designer.component.format;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
/**
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-04-06
*/
public class TargetValueFormatPaneWithCheckBox extends VanChartFormatPaneWithCheckBox {
public TargetValueFormatPaneWithCheckBox(VanChartStylePane parent, JPanel showOnPane) {
super(parent, showOnPane);
}
@Override
protected String getCheckBoxText() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Target_Value");
}
}

64
designer-chart/src/main/java/com/fr/van/chart/designer/component/label/LabelContentPaneWithCateValue.java

@ -1,6 +1,11 @@
package com.fr.van.chart.designer.component.label;
import com.fr.design.i18n.Toolkit;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.gauge.attr.GaugeValueTooltipContent;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.format.TargetValueFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@ -11,9 +16,11 @@ import java.awt.Component;
*/
public class LabelContentPaneWithCateValue extends GaugeLabelContentPane {
private TargetValueFormatPaneWithCheckBox targetValueFormatPane;
private static final long serialVersionUID = -8286902939543416431L;
public LabelContentPaneWithCateValue(VanChartStylePane parent, JPanel showOnPane){
public LabelContentPaneWithCateValue(VanChartStylePane parent, JPanel showOnPane) {
super(parent, showOnPane);
}
@ -21,14 +28,59 @@ public class LabelContentPaneWithCateValue extends GaugeLabelContentPane {
return TableLayout4VanChartHelper.createTableLayoutPaneWithSmallTitle(title, panel);
}
protected double[] getRowSize(double p){
return new double[]{p,p};
@Override
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
super.initFormatPane(parent, showOnPane);
setValueFormatPane(new ValueFormatPaneWithCheckBox(parent, showOnPane) {
@Override
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Value_Pointer");
}
});
this.targetValueFormatPane = new TargetValueFormatPaneWithCheckBox(parent, showOnPane);
}
protected double[] getRowSize(double p) {
return new double[]{p, p, p};
}
protected Component[][] getPaneComponents(){
protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{getCategoryNameFormatPane(),null},
new Component[]{getValueFormatPane(),null},
new Component[]{getCategoryNameFormatPane(), null},
new Component[]{getValueFormatPane(), null},
new Component[]{targetValueFormatPane, null},
};
}
@Override
protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
super.populateFormatPane(attrTooltipContent);
if (attrTooltipContent instanceof GaugeValueTooltipContent) {
GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent;
targetValueFormatPane.populate(gaugeValueTooltipContent.getTargetValueFormat());
}
}
@Override
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
super.updateFormatPane(attrTooltipContent);
GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent;
targetValueFormatPane.update(gaugeValueTooltipContent.getTargetValueFormat());
}
@Override
public void setDirty(boolean isDirty) {
super.setDirty(isDirty);
targetValueFormatPane.setDirty(isDirty);
}
@Override
public boolean isDirty() {
return super.isDirty() || targetValueFormatPane.isDirty();
}
protected AttrTooltipContent createAttrTooltip() {
return new GaugeValueTooltipContent();
}
}

19
designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/RefreshTooltipContentPaneWithOutSeries.java

@ -1,9 +1,7 @@
package com.fr.van.chart.designer.component.tooltip;
import com.fr.van.chart.designer.component.format.ChangedPercentFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.ChangedPercentFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.component.format.ChangedValueFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.ChangedValueFormatPaneWithoutCheckBox;
import com.fr.van.chart.designer.style.VanChartStylePane;
import javax.swing.JPanel;
@ -29,17 +27,18 @@ public class RefreshTooltipContentPaneWithOutSeries extends TooltipContentPaneWi
setChangedPercentFormatPane(new ChangedPercentFormatPaneWithCheckBox(parent, showOnPane));
}
protected double[] getRowSize(double p){
return new double[]{p,p,p,p,p};
protected double[] getRowSize(double p) {
return new double[]{p, p, p, p, p, p};
}
protected Component[][] getPaneComponents(){
protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{getCategoryNameFormatPane(),null},
new Component[]{getValueFormatPane(),null},
new Component[]{getChangedValueFormatPane(),null},
new Component[]{getPercentFormatPane(),null},
new Component[]{getChangedPercentFormatPane(),null},
new Component[]{getCategoryNameFormatPane(), null},
new Component[]{getValueFormatPane(), null},
new Component[]{getTargetValueFormatPane(), null},
new Component[]{getChangedValueFormatPane(), null},
new Component[]{getPercentFormatPane(), null},
new Component[]{getChangedPercentFormatPane(), null},
};
}
}

85
designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/TooltipContentPaneWithOutSeries.java

@ -6,8 +6,12 @@ import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipCategoryFormat;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
import com.fr.plugin.chart.base.format.AttrTooltipPercentFormat;
import com.fr.plugin.chart.base.format.AttrTooltipTargetValueFormat;
import com.fr.plugin.chart.base.format.AttrTooltipValueFormat;
import com.fr.plugin.chart.gauge.attr.GaugeValueTooltipContent;
import com.fr.van.chart.designer.component.VanChartTooltipContentPane;
import com.fr.van.chart.designer.component.format.TargetValueFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.ValueFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.richText.VanChartFieldAttrPane;
import com.fr.van.chart.designer.component.richText.VanChartFieldListPane;
import com.fr.van.chart.designer.component.richText.VanChartRichEditorModel;
@ -24,19 +28,38 @@ public class TooltipContentPaneWithOutSeries extends VanChartTooltipContentPane
private static final long serialVersionUID = -1973565663365672717L;
public TooltipContentPaneWithOutSeries(VanChartStylePane parent, JPanel showOnPane){
private TargetValueFormatPaneWithCheckBox targetValueFormatPane;
public TooltipContentPaneWithOutSeries(VanChartStylePane parent, JPanel showOnPane) {
super(parent, showOnPane);
}
protected double[] getRowSize(double p){
return new double[]{p,p,p};
public TargetValueFormatPaneWithCheckBox getTargetValueFormatPane() {
return targetValueFormatPane;
}
@Override
protected void initFormatPane(VanChartStylePane parent, JPanel showOnPane) {
super.initFormatPane(parent, showOnPane);
setValueFormatPane(new ValueFormatPaneWithCheckBox(parent, showOnPane) {
@Override
protected String getCheckBoxText() {
return Toolkit.i18nText("Fine-Design_Chart_Value_Pointer");
}
});
this.targetValueFormatPane = new TargetValueFormatPaneWithCheckBox(parent, showOnPane);
}
protected double[] getRowSize(double p) {
return new double[]{p, p, p, p};
}
protected Component[][] getPaneComponents(){
protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{getCategoryNameFormatPane(),null},
new Component[]{getValueFormatPane(),null},
new Component[]{getPercentFormatPane(),null},
new Component[]{getCategoryNameFormatPane(), null},
new Component[]{getValueFormatPane(), null},
new Component[]{targetValueFormatPane, null},
new Component[]{getPercentFormatPane(), null}
};
}
@ -57,7 +80,8 @@ public class TooltipContentPaneWithOutSeries extends VanChartTooltipContentPane
protected String[] getRichTextFieldNames() {
return new String[]{
Toolkit.i18nText("Fine-Design_Chart_Category_Use_Name"),
Toolkit.i18nText("Fine-Design_Chart_Use_Value"),
Toolkit.i18nText("Fine-Design_Chart_Value_Pointer"),
Toolkit.i18nText("Fine-Design_Chart_Target_Value"),
Toolkit.i18nText("Fine-Design_Chart_Use_Percent")
};
}
@ -66,7 +90,52 @@ public class TooltipContentPaneWithOutSeries extends VanChartTooltipContentPane
return new AttrTooltipFormat[]{
new AttrTooltipCategoryFormat(),
new AttrTooltipValueFormat(),
new AttrTooltipTargetValueFormat(),
new AttrTooltipPercentFormat()
};
}
@Override
protected void populateFormatPane(AttrTooltipContent attrTooltipContent) {
super.populateFormatPane(attrTooltipContent);
if (attrTooltipContent instanceof GaugeValueTooltipContent) {
GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent;
targetValueFormatPane.populate(gaugeValueTooltipContent.getTargetValueFormat());
}
}
@Override
protected void updateFormatPane(AttrTooltipContent attrTooltipContent) {
super.updateFormatPane(attrTooltipContent);
GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) attrTooltipContent;
targetValueFormatPane.update(gaugeValueTooltipContent.getTargetValueFormat());
}
protected void updateTooltipFormat(AttrTooltipContent target, AttrTooltipContent source) {
super.updateTooltipFormat(target, source);
if (target instanceof GaugeValueTooltipContent && source instanceof GaugeValueTooltipContent) {
GaugeValueTooltipContent targetGauge = (GaugeValueTooltipContent) target;
GaugeValueTooltipContent sourceGauge = (GaugeValueTooltipContent) source;
targetGauge.setRichTextTargetValueFormat(sourceGauge.getRichTextTargetValueFormat());
}
}
@Override
public void setDirty(boolean isDirty) {
super.setDirty(isDirty);
targetValueFormatPane.setDirty(isDirty);
}
@Override
public boolean isDirty() {
return super.isDirty() || targetValueFormatPane.isDirty();
}
protected AttrTooltipContent createAttrTooltip() {
GaugeValueTooltipContent gaugeValueTooltipContent = new GaugeValueTooltipContent();
gaugeValueTooltipContent.getTargetValueFormat().setEnable(true);
gaugeValueTooltipContent.getRichTextTargetValueFormat().setEnable(true);
return gaugeValueTooltipContent;
}
}

35
designer-chart/src/main/java/com/fr/van/chart/designer/component/tooltip/VanChartFieldListPaneWithOutSeries.java

@ -1,9 +1,15 @@
package com.fr.van.chart.designer.component.tooltip;
import com.fr.design.i18n.Toolkit;
import com.fr.design.ui.ModernUIPane;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipTargetValueFormat;
import com.fr.plugin.chart.base.format.AttrTooltipValueFormat;
import com.fr.plugin.chart.gauge.attr.GaugeValueTooltipContent;
import com.fr.van.chart.designer.component.richText.VanChartFieldAttrPane;
import com.fr.van.chart.designer.component.richText.VanChartFieldButton;
import com.fr.van.chart.designer.component.richText.VanChartFieldListPane;
import com.fr.van.chart.designer.component.richText.VanChartFieldListener;
import com.fr.van.chart.designer.component.richText.VanChartRichEditorModel;
import javax.swing.JPanel;
@ -12,13 +18,26 @@ import java.util.List;
public class VanChartFieldListPaneWithOutSeries extends VanChartFieldListPane {
private VanChartFieldButton targetValueButton;
public VanChartFieldListPaneWithOutSeries(VanChartFieldAttrPane fieldAttrPane, ModernUIPane<VanChartRichEditorModel> richEditorPane) {
super(fieldAttrPane, richEditorPane);
}
protected void initDefaultFieldButton() {
super.initDefaultFieldButton();
VanChartFieldListener listener = getFieldListener();
setValueButton(new VanChartFieldButton(Toolkit.i18nText("Fine-Design_Chart_Value_Pointer"),
new AttrTooltipValueFormat(), false, listener));
targetValueButton = new VanChartFieldButton(Toolkit.i18nText("Fine-Design_Chart_Target_Value"),
new AttrTooltipTargetValueFormat(), false, listener);
}
protected void addDefaultFieldButton(JPanel fieldPane) {
fieldPane.add(getCategoryNameButton());
fieldPane.add(getValueButton());
fieldPane.add(targetValueButton);
fieldPane.add(getPercentButton());
}
@ -27,8 +46,24 @@ public class VanChartFieldListPaneWithOutSeries extends VanChartFieldListPane {
fieldButtonList.add(getCategoryNameButton());
fieldButtonList.add(getValueButton());
fieldButtonList.add(targetValueButton);
fieldButtonList.add(getPercentButton());
return fieldButtonList;
}
public void populateDefaultField(AttrTooltipContent tooltipContent) {
super.populateDefaultField(tooltipContent);
if (tooltipContent instanceof GaugeValueTooltipContent) {
GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) tooltipContent;
populateButtonFormat(targetValueButton, gaugeValueTooltipContent.getRichTextTargetValueFormat());
}
}
public void updateDefaultField(AttrTooltipContent tooltipContent) {
super.updateDefaultField(tooltipContent);
GaugeValueTooltipContent gaugeValueTooltipContent = (GaugeValueTooltipContent) tooltipContent;
updateButtonFormat(targetValueButton, gaugeValueTooltipContent.getRichTextTargetValueFormat());
}
}

18
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileComponentFrozenPane.java

@ -14,6 +14,8 @@ import com.fr.design.widget.FRWidgetFactory;
import com.fr.form.main.Form;
import com.fr.form.ui.FormWidgetHelper;
import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WBodyLayoutType;
import com.fr.form.ui.container.WFitLayout;
import com.fr.form.ui.container.WLayout;
import com.fr.form.ui.container.WSortLayout;
import com.fr.form.ui.widget.CRBoundsWidget;
@ -123,9 +125,7 @@ public class MobileComponentFrozenPane extends BasicPane {
}
private List<String> frozenWidgets() {
Form form = WidgetPropertyPane.getInstance().getEditingFormDesigner().getTarget();
WLayout container = form.getContainer();
WSortLayout wSortLayout = (WSortLayout) container.getWidget(container.getWidgetCount() - 1);
WSortLayout wSortLayout = getBodyWSortLayout();
List<String> list = wSortLayout.getNonContainerWidgetList();
List<String> widgets = new ArrayList<>();
for (String value : list) {
@ -137,6 +137,18 @@ public class MobileComponentFrozenPane extends BasicPane {
return widgets;
}
private WSortLayout getBodyWSortLayout() {
Form form = WidgetPropertyPane.getInstance().getEditingFormDesigner().getTarget();
WLayout container = form.getContainer();
WFitLayout wFitLayout = (WFitLayout) container.getWidget(container.getWidgetCount() - 1);
WSortLayout wSortLayout = wFitLayout;
if (wFitLayout.getBodyLayoutType() == WBodyLayoutType.ABSOLUTE) {
CRBoundsWidget boundsWidget = (CRBoundsWidget) wFitLayout.getWidget(0);
wSortLayout = (WSortLayout) boundsWidget.getWidget();
}
return wSortLayout;
}
@Override
protected String title4PopupWindow() {
return "ComponentFrozenPane";

Loading…
Cancel
Save