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() {
@Override
public void doOk() {
isAllSaved = true;
for (int i = 0; i < templateCheckBoxes.length; i++) {
if (templateCheckBoxes[i].isSelected()) {
saveSelectedTemplate(unSavedTemplate.get(i));
// 当存在模板保存失败时,视为整体的isAllSaved失败
isAllSaved = saveSelectedTemplate(unSavedTemplate.get(i)) && isAllSaved;
}
}
isAllSaved = true;
}
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()) {
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()));
return true;
}

Loading…
Cancel
Save