Settings tweaks (#22750)

* add ability to order subfields with dot notation

* put review genai enabled at the top of the genai subsection

* fix genai summary title truncation issue in detail stream
This commit is contained in:
Josh Hawkins 2026-04-03 17:46:43 -05:00 committed by GitHub
parent 68dfb157ea
commit bb77a01779
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 5 deletions

View File

@ -47,7 +47,7 @@ const review: SectionConfigOverrides = {
"detections.labels": "/configuration/review/#alerts-and-detections", "detections.labels": "/configuration/review/#alerts-and-detections",
}, },
restartRequired: [], restartRequired: [],
fieldOrder: ["alerts", "detections", "genai"], fieldOrder: ["alerts", "detections", "genai", "genai.enabled"],
fieldGroups: {}, fieldGroups: {},
hiddenFields: [ hiddenFields: [
"enabled_in_config", "enabled_in_config",

View File

@ -108,7 +108,7 @@ export function GenAISummaryDialog({
return ( return (
<Overlay open={open} onOpenChange={setOpen}> <Overlay open={open} onOpenChange={setOpen}>
<Trigger asChild> <Trigger asChild>
<div>{children}</div> <div className="min-w-0">{children}</div>
</Trigger> </Trigger>
<Content <Content
className={cn( className={cn(

View File

@ -525,7 +525,7 @@ function ReviewGroup({
} }
}} }}
> >
<span className="truncate hover:underline"> <span className="block truncate hover:underline">
{review.data.metadata.title} {review.data.metadata.title}
</span> </span>
</GenAISummaryDialog> </GenAISummaryDialog>

View File

@ -483,9 +483,20 @@ function generateUiSchema(
const schemaObj = schema as Record<string, unknown>; const schemaObj = schema as Record<string, unknown>;
// Set field ordering // Set field ordering — supports dot notation (e.g. "genai.enabled")
if (fieldOrder && fieldOrder.length > 0) { if (fieldOrder && fieldOrder.length > 0) {
uiSchema["ui:order"] = [...fieldOrder, "*"]; const depth = currentPath.length;
const localOrder = fieldOrder
.map((f) => f.split("."))
.filter((segments) => {
if (segments.length !== depth + 1) return false;
return currentPath.every((p, i) => segments[i] === p);
})
.map((segments) => segments[depth]);
if (localOrder.length > 0) {
uiSchema["ui:order"] = [...localOrder, "*"];
}
} }
if (!isSchemaObject(schemaObj.properties)) { if (!isSchemaObject(schemaObj.properties)) {