Browse Source

REPORT-72766 保存失败,已选择的动作应中断

【问题原因】以前的逻辑是发现了有模板没保存,所以跳出保存弹窗
 1. 保存弹窗时,选择关闭或取消,视为"整体保存结果"的失败
 2. 只要在保存弹窗中选择了确定,不管后面是跳出保存路径弹窗,还是保存文件本身的操作成功或者失败,都视为"整体保存结果"的成功
 然后用"整体保存结果"来决定后续动作是不是要中断时,会出现模板没有真正的保存,然后设计器关闭的问题
【改动思路】与产品沟通后,确定统一逻辑为,当出现任一模板保存失败时,视为"整体保存结果"的失败,且保存失败的模板不会影响正常模板的保存
【review建议】无
feature/x
Yvan 2 years ago
parent
commit
31adf72617
  1. 10
      designer-base/src/main/java/com/fr/design/file/SaveSomeTemplatePane.java

10
designer-base/src/main/java/com/fr/design/file/SaveSomeTemplatePane.java

@ -56,12 +56,13 @@ public class SaveSomeTemplatePane extends BasicPane {
this.dialog = this.showSmallWindow(parent, new DialogActionAdapter() { this.dialog = this.showSmallWindow(parent, new DialogActionAdapter() {
@Override @Override
public void doOk() { public void doOk() {
isAllSaved = true;
for (int i = 0; i < templateCheckBoxes.length; i++) { for (int i = 0; i < templateCheckBoxes.length; i++) {
if (templateCheckBoxes[i].isSelected()) { if (templateCheckBoxes[i].isSelected()) {
saveSelectedTemplate(unSavedTemplate.get(i)); // 当存在模板保存失败时,视为整体的isAllSaved失败
isAllSaved = saveSelectedTemplate(unSavedTemplate.get(i)) && isAllSaved;
} }
} }
isAllSaved = true;
} }
public void doCancel() { public void doCancel() {
@ -188,12 +189,13 @@ public class SaveSomeTemplatePane extends BasicPane {
} }
private void saveSelectedTemplate(JTemplate<?, ?> specifiedTemplate) { private boolean saveSelectedTemplate(JTemplate<?, ?> specifiedTemplate) {
if (!specifiedTemplate.isSaved()) { if (!specifiedTemplate.isSaved()) {
specifiedTemplate.stopEditing(); specifiedTemplate.stopEditing();
specifiedTemplate.saveTemplate(); return specifiedTemplate.saveTemplate();
} }
FineLoggerFactory.getLogger().info( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Template_Already_Saved", specifiedTemplate.getEditingFILE().getName())); FineLoggerFactory.getLogger().info( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Template_Already_Saved", specifiedTemplate.getEditingFILE().getName()));
return true;
} }

Loading…
Cancel
Save