fix: 修复工作流开始表单文案清空回退
- 保留标题和说明的显式空值 - 同步运行页与后端解析逻辑
This commit is contained in:
@@ -118,12 +118,29 @@ public class WorkflowRunningParameterResolver {
|
||||
private Map<String, Object> resolveStartFormMeta(JSONObject startNodeData) {
|
||||
JSONObject rawMeta = startNodeData == null ? null : startNodeData.getJSONObject("startFormMeta");
|
||||
Map<String, Object> meta = new LinkedHashMap<>();
|
||||
meta.put("title", trimToDefault(rawMeta == null ? null : rawMeta.getString("title"), DEFAULT_START_FORM_TITLE));
|
||||
meta.put("description", trimToDefault(rawMeta == null ? null : rawMeta.getString("description"), DEFAULT_START_FORM_DESCRIPTION));
|
||||
// Missing values use defaults; an explicit empty string means the user cleared the field.
|
||||
meta.put("title", resolveOptionalStartFormText(rawMeta, "title", DEFAULT_START_FORM_TITLE));
|
||||
meta.put("description", resolveOptionalStartFormText(rawMeta, "description", DEFAULT_START_FORM_DESCRIPTION));
|
||||
meta.put("submitText", trimToDefault(rawMeta == null ? null : rawMeta.getString("submitText"), DEFAULT_START_FORM_SUBMIT_TEXT));
|
||||
return meta;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析允许用户主动清空的开始表单文案。
|
||||
*
|
||||
* @param meta 开始节点表单元数据
|
||||
* @param key 文案字段名
|
||||
* @param fallback 字段缺失时的默认文案
|
||||
* @return 配置文案;字段缺失时返回默认文案,显式空字符串保持为空
|
||||
*/
|
||||
private String resolveOptionalStartFormText(JSONObject meta, String key, String fallback) {
|
||||
if (meta == null || !meta.containsKey(key)) {
|
||||
return fallback;
|
||||
}
|
||||
String value = meta.getString(key);
|
||||
return value == null ? "" : value.trim();
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> resolveStartFormSchema(JSONObject startNodeData, List<Parameter> parameters) {
|
||||
JSONArray rawSchema = startNodeData == null ? null : startNodeData.getJSONArray("startFormSchema");
|
||||
List<Map<String, Object>> schema = new ArrayList<>();
|
||||
|
||||
Reference in New Issue
Block a user