Select fields: inline static options
A select requirement can now declare a plain options: [A, B, C] list instead of a resource - each string is both value and label. Restores the ancestor question format's inline enums (used by the klingenberg port) without needing a resource endpoint for a fixed list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y42TyF8Zu7NGRR2893vNcZ
This commit is contained in:
co-authored by
Claude Fable 5
parent
4fee02ab82
commit
c1cdc53187
@@ -68,6 +68,16 @@ pub async fn get_requirement_options(
|
||||
.iter()
|
||||
.find(|r| r.name == requirement_name)
|
||||
.ok_or_else(|| ServerFnError::new("unknown requirement"))?;
|
||||
// Inline options: return them as {id,label} objects, the shape the
|
||||
// SelectField renders, without touching a resource.
|
||||
if !requirement.options.is_empty() {
|
||||
let items: Vec<serde_json::Value> = requirement
|
||||
.options
|
||||
.iter()
|
||||
.map(|o| serde_json::json!({ "id": o, "label": o }))
|
||||
.collect();
|
||||
return Ok(serde_json::Value::Array(items));
|
||||
}
|
||||
let resource = requirement
|
||||
.resource
|
||||
.as_ref()
|
||||
|
||||
Reference in New Issue
Block a user