Browse Source

Merge pull request #3595 in DESIGN/design from bugfix/10.0 to feature/10.0

* commit 'abfb915d31369705bef40410874410194e7fedf5':
  REPORT-46723 填报智能添加单元格组
  CHART-18103 调整富文本字体选择组件宽度
  CHART-18257 支持组合图的富文本新增字段参数
  CHART-18255 富文本默认字段最后一个不需要添加换行
feature/10.0
superman 4 years ago
parent
commit
3a443f1022
  1. 12
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java
  2. 12
      designer-chart/src/main/resources/com/fr/design/editor/rich_editor.html
  3. 21
      designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java

12
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java

@ -384,7 +384,7 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
private void fireRichEditor() {
AttrTooltipRichText richText = this.richTextTooltipContent.getRichTextAttr();
refreshTableFieldParams(richText.getParams());
ModernUIPane<VanChartRichEditorModel> richEditorPane = VanChartRichEditorPane.createRichEditorPane(richText);
VanChartRichTextPane richTextPane = this.createRichTextPane(richEditorPane);
@ -456,15 +456,19 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
params.put(fieldNames[i], fieldFormats[i].getJs());
}
refreshTableFieldParams(params);
richText.setParams(params);
}
private void refreshTableFieldParams(Map<String, String> params) {
List<String> tableFieldNames = VanChartRichEditorPane.getFieldNames();
if (tableFieldNames != null) {
if (tableFieldNames != null && params != null) {
for (String fieldName : tableFieldNames) {
params.put(fieldName, "${" + fieldName + "_" + fieldName.hashCode() + "}");
}
}
richText.setParams(params);
}
private JPanel createHtmlPane() {

12
designer-chart/src/main/resources/com/fr/design/editor/rich_editor.html

@ -47,8 +47,7 @@
var getInitContent = function (params, initParams, align) {
var editorService = BI.Services.getService("bi.service.design.chart.common.editor");
var paramGroup = params.split("|");
content = "";
var content = "";
for (var i = 0, len = paramGroup.length; i < len; i++) {
var [key, value] = paramGroup[i].split(":");
@ -58,6 +57,10 @@
}
}
if (BI.endWith(content, '<br></p>')) {
content = content.slice(0, -8) + '</p>';
}
return content;
}
@ -83,7 +86,10 @@
toolbar: {
buttons: [
{type: "bi.rich_editor_font_chooser"},
{type: "bi.rich_editor_size_chooser"},
{
type: "bi.rich_editor_size_chooser",
width: 70
},
{type: "bi.rich_editor_bold_button"},
{type: "bi.rich_editor_italic_button"},
{type: "bi.rich_editor_underline_button"},

21
designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java

@ -310,9 +310,9 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane {
// 单元格组要记录下之前的选中情况
private CellSelection oriCellSelection = null;
private List<String> newAdd = new ArrayList<String>();
private List<ColumnRow> newAdd = new ArrayList<>();
private List<String> oldAdd = new ArrayList<String>();
private List<ColumnRow> oldAdd = new ArrayList<>();
public SmartJTablePane4DB(KeyColumnTableModel model, ElementCasePane actionReportPane) {
this(model, actionReportPane, false);
@ -433,7 +433,8 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane {
if (!allColumnRow.contains(columnRow.toString())) {
add.addColumnRow(columnRow);
}
// 重新更换区域框选单元格后 清理历史框选
oldAdd.clear();
}
if (add.getSize() > 0) {
@ -462,7 +463,7 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane {
if (!newAdd.contains(value) && !allColumnRow.contains(value)) {
add.addColumnRow(ColumnRow.valueOf(value));
}
newAdd.add(value);
newAdd.add(ColumnRow.valueOf(value));
}
if (cellElement == null) {
@ -470,16 +471,14 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane {
if (!allColumnRow.contains(columnRow.toString())) {
add.addColumnRow(columnRow);
}
newAdd.add(columnRow.toString());
newAdd.add(columnRow);
}
}
}
int oldSize = oldAdd.size();
int newSize = newAdd.size();
if (oldSize > newSize && oldAdd.containsAll(newAdd)) {
int diff = oldSize - newSize;
newValue.splice(newValue.getSize() - diff, diff);
}
// 计算出前后两次选中的差值
oldAdd.removeAll(newAdd);
// 移除差值部分
newValue.removeAll(oldAdd);
oldAdd.clear();
oldAdd.addAll(newAdd);
}

Loading…
Cancel
Save