@@ -35,7 +35,7 @@ export interface RuleFormState {
3535 ruleActive : boolean
3636 dataTypes : string [ ]
3737 definition : string
38- afterEvents : AfterStep [ ]
38+ correlation : AfterStep [ ]
3939 groupBy : string [ ]
4040 deduplicateBy : string [ ]
4141 references : string [ ]
@@ -59,9 +59,9 @@ function parseConditions(w: unknown): Condition[] {
5959 return { field : String ( o . field ?? '' ) , operator : String ( o . operator ?? 'filter_term' ) , value : valueToStr ( o . value ) }
6060 } )
6161}
62- function parseSteps ( after : unknown ) : AfterStep [ ] {
63- if ( ! Array . isArray ( after ) ) return [ ]
64- return after . map ( ( s ) => {
62+ function parseSteps ( raw : unknown ) : AfterStep [ ] {
63+ if ( ! Array . isArray ( raw ) ) return [ ]
64+ return raw . map ( ( s ) => {
6565 const o = ( s ?? { } ) as Record < string , unknown >
6666 return {
6767 indexPattern : String ( o . indexPattern ?? '' ) ,
@@ -86,7 +86,7 @@ export function ruleToForm(r?: CorrelationRule): RuleFormState {
8686 ruleActive : r ?. ruleActive ?? true ,
8787 dataTypes : ( r ?. dataTypes ?? [ ] ) . filter ( ( d ) => d . included ) . map ( ( d ) => d . dataType ) ,
8888 definition : r ?. definition ?? '' ,
89- afterEvents : parseSteps ( r ?. afterEvents ) ,
89+ correlation : parseSteps ( r ?. correlation ?? r ?. afterEvents ) ,
9090 groupBy : strArray ( r ?. groupBy ) ,
9191 deduplicateBy : strArray ( r ?. deduplicateBy ) ,
9292 references : strArray ( r ?. references ) ,
@@ -122,7 +122,7 @@ export function formToInput(f: RuleFormState, relPath?: string): SaveRuleInput {
122122 description : f . description . trim ( ) ,
123123 references : f . references . filter ( Boolean ) ,
124124 definition : f . definition ,
125- afterEvents : stepsToJson ( f . afterEvents ) ,
125+ correlation : stepsToJson ( f . correlation ) ,
126126 groupBy : f . groupBy . filter ( Boolean ) ,
127127 deduplicateBy : f . deduplicateBy . filter ( Boolean ) ,
128128 ruleActive : f . ruleActive ,
@@ -134,7 +134,7 @@ export function formToInput(f: RuleFormState, relPath?: string): SaveRuleInput {
134134
135135export function RuleForm ( { form, setForm, dataTypeOptions, t } : { form : RuleFormState ; setForm : Dispatch < SetStateAction < RuleFormState > > ; dataTypeOptions : DataTypeOption [ ] ; t : TFunction } ) {
136136 const set = < K extends keyof RuleFormState > ( k : K , v : RuleFormState [ K ] ) => setForm ( ( f ) => ( { ...f , [ k ] : v } ) )
137- const setSteps = ( steps : AfterStep [ ] ) => set ( 'afterEvents ' , steps )
137+ const setSteps = ( steps : AfterStep [ ] ) => set ( 'correlation ' , steps )
138138
139139 // `where` condition: visual builder ⇄ raw CEL. Visual is the source when it
140140 // parses; otherwise we fall back to code for hand-written/advanced CEL.
@@ -221,21 +221,21 @@ export function RuleForm({ form, setForm, dataTypeOptions, t }: { form: RuleForm
221221 ) }
222222 </ div >
223223
224- < Section title = { t ( 'alertingRules.editor.afterEvents ' ) } >
225- < p className = "mb-3 text-[11px] text-muted-foreground" > { t ( 'alertingRules.editor.afterEventsHint ' ) } </ p >
224+ < Section title = { t ( 'alertingRules.editor.correlationSteps ' ) } >
225+ < p className = "mb-3 text-[11px] text-muted-foreground" > { t ( 'alertingRules.editor.correlationStepsHint ' ) } </ p >
226226 < div className = "space-y-3" >
227- { form . afterEvents . map ( ( step , i ) => (
227+ { form . correlation . map ( ( step , i ) => (
228228 < StepCard
229229 key = { i }
230230 step = { step }
231231 index = { i }
232232 t = { t }
233- onChange = { ( s ) => setSteps ( form . afterEvents . map ( ( x , idx ) => ( idx === i ? s : x ) ) ) }
234- onRemove = { ( ) => setSteps ( form . afterEvents . filter ( ( _ , idx ) => idx !== i ) ) }
233+ onChange = { ( s ) => setSteps ( form . correlation . map ( ( x , idx ) => ( idx === i ? s : x ) ) ) }
234+ onRemove = { ( ) => setSteps ( form . correlation . filter ( ( _ , idx ) => idx !== i ) ) }
235235 />
236236 ) ) }
237237 < button
238- onClick = { ( ) => setSteps ( [ ...form . afterEvents , { indexPattern : 'v11-log-*' , within : '2m' , count : 1 , with : [ ] , or : [ ] } ] ) }
238+ onClick = { ( ) => setSteps ( [ ...form . correlation , { indexPattern : 'v11-log-*' , within : '2m' , count : 1 , with : [ ] , or : [ ] } ] ) }
239239 className = "flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed border-border py-2 text-xs text-muted-foreground hover:border-primary/40 hover:text-foreground"
240240 >
241241 < Plus size = { 13 } /> { t ( 'alertingRules.editor.addStep' ) }
@@ -256,7 +256,7 @@ export function RuleForm({ form, setForm, dataTypeOptions, t }: { form: RuleForm
256256 )
257257}
258258
259- /* ─── afterEvents builder pieces ─────── ────────────────────────────────── */
259+ /* ─── correlation steps builder pieces ────────────────────────────────── */
260260
261261function StepCard ( { step, index, onChange, onRemove, t } : { step : AfterStep ; index : number ; onChange : ( s : AfterStep ) => void ; onRemove : ( ) => void ; t : TFunction } ) {
262262 const patch = ( p : Partial < AfterStep > ) => onChange ( { ...step , ...p } )
0 commit comments