/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */ (window.ml_bundle_jsonpfunction=window.ml_bundle_jsonpfunction||[]).push([[11],{147:function(e,t,a){"use strict";a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return i}));var l=a(6),s=a(42),n=a(17);function o(e,t,a,o){const r=Object(n.d)();if(e.contains("job_id_empty"))t.jobId.valid=!1;else if(e.contains("job_id_invalid")){t.jobId.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobNameAllowedCharactersDescription",{defaultMessage:"Job ID can contain lowercase alphanumeric (a-z and 0-9), hyphens or underscores; must start and end with an alphanumeric character"});t.jobId.message=e}else if(e.contains("job_id_invalid_max_length"))t.jobId.valid=!1,t.jobId.message=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobIdInvalidMaxLengthErrorMessage",{defaultMessage:"Job ID must be no more than {maxLength, plural, one {# character} other {# characters}} long.",values:{maxLength:s.b}});else if(e.contains("job_id_already_exists")){t.jobId.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobNameAlreadyExists",{defaultMessage:"Job ID already exists. A job ID cannot be the same as an existing job or group."});t.jobId.message=e}if(e.contains("job_group_id_invalid")){t.groupIds.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobGroupAllowedCharactersDescription",{defaultMessage:"Job group names can contain lowercase alphanumeric (a-z and 0-9), hyphens or underscores; must start and end with an alphanumeric character"});t.groupIds.message=e}else if(e.contains("job_group_id_invalid_max_length"))t.groupIds.valid=!1,t.groupIds.message=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobGroupMaxLengthDescription",{defaultMessage:"Job group name must be no more than {maxLength, plural, one {# character} other {# characters}} long.",values:{maxLength:s.b}});else if(e.contains("job_group_id_already_exists")){t.groupIds.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.groupNameAlreadyExists",{defaultMessage:"Group ID already exists. A group ID cannot be the same as an existing job or group."});t.groupIds.message=e}if(e.contains("model_memory_limit_units_invalid")){t.modelMemoryLimit.valid=!1;const e=`${s.a.slice(0,s.a.length-1).join(", ")} or ${[...s.a].pop()}`,a=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.modelMemoryLimitUnitsInvalidErrorMessage",{defaultMessage:"Model memory limit data unit unrecognized. It must be {str}",values:{str:e}});t.modelMemoryLimit.message=a}if(e.contains("model_memory_limit_invalid")){t.modelMemoryLimit.valid=!1;const e=(r.max_model_memory_limit||"").toUpperCase(),a=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.modelMemoryLimitRangeInvalidErrorMessage",{defaultMessage:"Model memory limit cannot be higher than the maximum value of {maxModelMemoryLimit}",values:{maxModelMemoryLimit:e}});t.modelMemoryLimit.message=a}if(e.contains("detectors_duplicates")){t.duplicateDetectors.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.duplicatedDetectorsErrorMessage",{defaultMessage:"Duplicate detectors were found."});t.duplicateDetectors.message=e}if(e.contains("categorizer_detector_missing_per_partition_field")){t.categorizerMissingPerPartition.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.categorizerMissingPerPartitionFieldMessage",{defaultMessage:'Partition field must be set for detectors that reference "mlcategory" when per-partition categorization is enabled.'});t.categorizerMissingPerPartition.message=e}if(e.contains("categorizer_varying_per_partition_fields")){t.categorizerVaryingPerPartitionField.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.categorizerVaryingPerPartitionFieldNamesMessage",{defaultMessage:'Detectors with keyword "mlcategory" cannot have different partition_field_name when per-partition categorization is enabled.'});t.categorizerVaryingPerPartitionField.message=e}if(e.contains("bucket_span_empty")){t.bucketSpan.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.bucketSpanMustBeSetErrorMessage",{defaultMessage:"Bucket span must be set"});t.bucketSpan.message=e}else e.contains("bucket_span_invalid")&&(t.bucketSpan.valid=!1,t.bucketSpan.message=i(a.analysis_config.bucket_span));if(e.contains("query_empty")){t.query.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.queryCannotBeEmpty",{defaultMessage:"Datafeed query cannot be empty."});t.query.message=e}else if(e.contains("query_invalid")){t.query.valid=!1;const e=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.queryIsInvalidEsQuery",{defaultMessage:"Datafeed query must be a valid elasticsearch query."});t.query.message=e}e.contains("query_delay_invalid")&&(t.queryDelay.valid=!1,t.queryDelay.message=i(o.query_delay)),e.contains("frequency_invalid")&&(t.frequency.valid=!1,t.frequency.message=i(o.frequency)),e.contains("missing_summary_count_field_name")&&(t.summaryCountField.valid=!1,t.summaryCountField.message=l.i18n.translate("xpack.ml.newJob.wizard.validateJob.summaryCountFieldMissing",{defaultMessage:"Required field as the datafeed uses aggregations."}))}function i(e){return l.i18n.translate("xpack.ml.newJob.wizard.validateJob.frequencyInvalidTimeIntervalFormatErrorMessage",{defaultMessage:"{value} is not a valid time interval format e.g. {thirtySeconds}, {tenMinutes}, {oneHour}, {sevenDays}. It also needs to be higher than zero.",values:{value:e,thirtySeconds:"30s",tenMinutes:"10m",oneHour:"1h",sevenDays:"7d"}})}},176:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=a(57).__importDefault(a(196));t.default=function(e){l.default((function(){e()}))}},196:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=a(2);t.default=function(e){l.useEffect(e,[])}},262:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var l=a(2),s=a(6),n=a(15),o=a(28),i=a(26),r=a(4);const c=({jobsAndGroupIds:e,onChange:t,adJobsApiService:a,errors:c,multiSelect:u=!1,label:d,allowSelectAll:b=!1,options:m})=>{const[j,g]=Object(l.useState)([]),p=Object(l.useMemo)((()=>new Set),[]),v=Object(l.useMemo)((()=>new Set),[]),x=Object(l.useMemo)((()=>(null!=e?e:[]).map((e=>({label:e})))),[e]),f=Object(l.useCallback)((async()=>{try{const{jobIds:e,groupIds:t}=await a.getAllJobAndGroupIds();e.forEach((e=>{p.add(e)})),t.forEach((e=>{v.add(e)})),g([...b?[{label:s.i18n.translate("xpack.ml.jobSelector.selectAllGroupLabel",{defaultMessage:"Select all"}),options:[{label:s.i18n.translate("xpack.ml.jobSelector.selectAllOptionLabel",{defaultMessage:"*"}),value:i.b}]}]:[],{label:s.i18n.translate("xpack.ml.jobSelector.jobOptionsLabel",{defaultMessage:"Jobs"}),options:e.map((e=>({label:e})))},...u?[{label:s.i18n.translate("xpack.ml.jobSelector.groupOptionsLabel",{defaultMessage:"Groups"}),options:t.map((e=>({label:e})))}]:[]])}catch(e){}}),[a]),O=Object(l.useCallback)((e=>{if(e.some((e=>e.value===i.b)))return void t({jobIds:[i.b]});const a=[],l=[];e.forEach((({label:e})=>{p.has(e)?a.push(e):v.has(e)?l.push(e):null!=m&&m.some((t=>{var a;return null===(a=t.options)||void 0===a?void 0:a.some((t=>t.label===e))}))&&a.push(e)})),t({...a.length>0?{jobIds:a}:{},...l.length>0?{groupIds:l}:{}})}),[p,v,m]);return Object(l.useEffect)((()=>{m||f()}),[]),Object(r.jsx)(o.EuiFormRow,{fullWidth:!0,label:null!=d?d:Object(r.jsx)(n.FormattedMessage,{id:"xpack.ml.jobSelector.formControlLabel",defaultMessage:"Select job"}),isInvalid:!(null==c||!c.length),error:c},Object(r.jsx)(o.EuiComboBox,{singleSelection:!u,selectedOptions:x,options:null!=m?m:j,onChange:O,fullWidth:!0,"data-test-subj":"mlAnomalyAlertJobSelection",isInvalid:!(null==c||!c.length)}))}},263:function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var l=a(100),s=a.n(l),n=a(28),o=a(2),i=a(147),r=a(58),c=a(31),u=a(4);const d=({value:e,onChange:t,label:a,...l})=>{const d=Object(o.useMemo)((()=>Object(r.composeValidators)(Object(c.g)())),[]),b=Object(o.useMemo)((()=>d(e)),[e]),m=!!e&&!!b;return Object(u.jsx)(n.EuiFormRow,{label:a,isInvalid:m,error:Object(i.a)(null!=e?e:void 0)},Object(u.jsx)(n.EuiFieldText,s()({},l,{placeholder:"15d, 6m",value:null!=e?e:"",onChange:e=>{t(e.target.value)},isInvalid:m})))}},264:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a(2);var l=a(28),s=a(6),n=a(4);const o=({message:e})=>Object(n.jsx)(l.EuiFlexGroup,{gutterSize:"none",justifyContent:"flexEnd"},Object(n.jsx)(l.EuiFlexItem,{grow:!1},Object(n.jsx)(l.EuiBetaBadge,{label:s.i18n.translate("xpack.ml.anomalyDetectionAlert.betaBadgeLabel",{defaultMessage:"Beta"}),tooltipContent:e})))},273:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var l=a(2),s=a.n(l),n=a(6),o=a(28),i=a(98),r=a(4);const c=s.a.memo((({value:e,onChange:t})=>{const a=[{min:i.g.LOW,max:i.g.MINOR,color:"#8BC8FB"},{min:i.g.MINOR,max:i.g.MAJOR,color:"#FDEC25"},{min:i.g.MAJOR,max:i.g.CRITICAL,color:"#FBA740"},{min:i.g.CRITICAL,max:100,color:"#FE5050"}],l=n.i18n.translate("xpack.ml.severitySelector.formControlLabel",{defaultMessage:"Severity"}),s=null!=e?e:i.g.LOW,c=new Array(5).fill(null).map(((e,t)=>{const a=25*t;return{value:a,label:a}}));return Object(r.jsx)(o.EuiFormRow,{fullWidth:!0},Object(r.jsx)(o.EuiFlexGroup,{gutterSize:"s"},Object(r.jsx)(o.EuiFlexItem,{grow:!1},Object(r.jsx)(o.EuiFieldNumber,{id:"severityControl",style:{width:"70px"},compressed:!0,prepend:l,value:s,onChange:e=>t(Number(e.target.value)),min:i.g.LOW,max:100})),Object(r.jsx)(o.EuiFlexItem,{grow:!0},Object(r.jsx)(o.EuiRange,{className:"mlSeverityControl",fullWidth:!0,min:i.g.LOW,max:100,value:s,onChange:e=>t(Number(e.currentTarget.value)),"aria-label":n.i18n.translate("xpack.ml.severitySelector.formControlAriaLabel",{defaultMessage:"Select severity threshold"}),showTicks:!0,ticks:c,showRange:!1,levels:a,"data-test-subj":"mlAnomalyAlertScoreSelection"}))))}))},679:function(e,t,a){"use strict";a.r(t);var l=a(2),s=a.n(l),n=a(28),o=a(176),i=a.n(o),r=a(6),c=a(22),u=a(98),d=a(262),b=a(9),m=a(53),j=a(25),g=a(273),p=a(15),v=a(4);const x=s.a.memo((({value:e=[],onChange:t,availableOption:a})=>{const s=Object(l.useMemo)((()=>[{value:u.f.BUCKET,title:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.bucketResultType.title",defaultMessage:"Bucket"}),description:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.bucketResultType.description",defaultMessage:"How unusual was the job within the bucket of time?"})},{value:u.f.RECORD,title:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.recordResultType.title",defaultMessage:"Record"}),description:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.recordResultType.description",defaultMessage:"What individual anomalies are present in a time range?"})},{value:u.f.INFLUENCER,title:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.influencerResultType.title",defaultMessage:"Influencer"}),description:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.influencerResultType.description",defaultMessage:"What are the most unusual entities in a time range?"})}].filter((e=>a.includes(e.value)))),[a]);return Object(v.jsx)(n.EuiFormRow,{fullWidth:!0,label:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.resultTypeSelector.formControlLabel",defaultMessage:"Result type"})},Object(v.jsx)(n.EuiFlexGroup,{gutterSize:"s"},s.map((({value:a,title:l,description:s})=>Object(v.jsx)(n.EuiFlexItem,{key:a},Object(v.jsx)(n.EuiCard,{title:l,titleSize:"xs",paddingSize:"s",description:Object(v.jsx)("small",null,s),selectable:{onClick:()=>{e!==a&&t(a)},isSelected:a===e},"data-test-subj":`mlAnomalyAlertResult_${a}${a===e?"_selected":""}`}))))))}));var f=a(0);var O=a(58),h=a(31),y=a(147),k=a(26);const M=s.a.memo((({jobIds:e,timestampIso8601:t,score:a,topInfluencers:l,topRecords:s})=>{const o=[{title:r.i18n.translate("xpack.ml.previewAlert.jobsLabel",{defaultMessage:"Job IDs:"}),description:e.join(", ")},{title:r.i18n.translate("xpack.ml.previewAlert.timeLabel",{defaultMessage:"Time: "}),description:t},{title:r.i18n.translate("xpack.ml.previewAlert.scoreLabel",{defaultMessage:"Anomaly score:"}),description:a},...l&&l.length>0?[{title:r.i18n.translate("xpack.ml.previewAlert.topInfluencersLabel",{defaultMessage:"Top influencers:"}),description:Object(v.jsx)("ul",null,l.map((e=>Object(v.jsx)("li",{key:e.unique_key},Object(v.jsx)(n.EuiCode,{transparentBackground:!0},e.influencer_field_name)," ="," ",e.influencer_field_value," [",e.score,"]"))))}]:[],...s&&s.length>0?[{title:r.i18n.translate("xpack.ml.previewAlert.topRecordsLabel",{defaultMessage:"Top records:"}),description:Object(v.jsx)("ul",null,s.map((e=>{var t,a;return Object(v.jsx)("li",{key:e.unique_key},Object(v.jsx)(n.EuiCode,{transparentBackground:!0},e.function,"(",e.field_name,")")," ",e.by_field_value," ",e.over_field_value," ",e.partition_field_value," [",e.score,"]; (",Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.typicalLabel",defaultMessage:"Typical:"})," ",null!==(t=e.typical)&&void 0!==t?t:"-",","," ",Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.actualLabel",defaultMessage:"Actual:"})," ",null!==(a=e.actual)&&void 0!==a?a:"-",")")})))}]:[]];return Object(v.jsx)(n.EuiDescriptionList,{type:"row",compressed:!0,listItems:o})})),w=({alertingApiService:e,alertParams:t})=>{var a,o,i,r;const c=k.a,[u,d]=Object(l.useState)(),[b,m]=Object(l.useState)(),[j,g]=Object(l.useState)(!0),[x,f]=Object(l.useState)(),[w,I]=Object(l.useState)(),_=Object(l.useMemo)((()=>Object(O.composeValidators)(Object(h.f)(),Object(h.g)())),[]),E=Object(l.useMemo)((()=>_(u)),[u]);Object(l.useEffect)((function(){I(void 0)}),[t]);const A=Object(l.useCallback)((async()=>{try{const a=await e.preview({alertParams:t,timeRange:u,sampleSize:c});I(a),m(u),f(void 0)}catch(e){var a;I(void 0),f(null!==(a=e.body)&&void 0!==a?a:e)}}),[t,u]),S=Object(l.useMemo)((()=>{if(w)return w.results}),[w]),C=((null===(a=t.jobSelection)||void 0===a||null===(o=a.jobIds)||void 0===o?void 0:o.length)>0||(null===(i=t.jobSelection)||void 0===i||null===(r=i.groupIds)||void 0===r?void 0:r.length)>0)&&!!t.resultType&&void 0!==t.severity&&null===E,F=void 0!==u&&!!E;return Object(v.jsx)(s.a.Fragment,null,Object(v.jsx)(n.EuiFlexGroup,{gutterSize:"s",alignItems:"flexEnd"},Object(v.jsx)(n.EuiFlexItem,null,Object(v.jsx)(n.EuiFormRow,{label:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.intervalLabel",defaultMessage:"Check the rule condition with an interval"}),isInvalid:F,error:Object(y.a)(u)},Object(v.jsx)(n.EuiFieldText,{placeholder:"15d, 6m",value:null!=u?u:"",onChange:e=>{d(e.target.value)},isInvalid:F,"data-test-subj":"mlAnomalyAlertPreviewInterval"}))),Object(v.jsx)(n.EuiFlexItem,{grow:!1},Object(v.jsx)(n.EuiButton,{onClick:A,disabled:!C,"data-test-subj":"mlAnomalyAlertPreviewButton"},Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.testButtonLabel",defaultMessage:"Test"})))),void 0!==x&&Object(v.jsx)(s.a.Fragment,null,Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(n.EuiCallOut,{title:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.previewErrorTitle",defaultMessage:"Unable to load the preview"}),color:"danger",iconType:"warning"},Object(v.jsx)("p",null,x.message))),w&&S&&Object(v.jsx)(s.a.Fragment,null,Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(n.EuiFlexGroup,{gutterSize:"xs",alignItems:"center"},Object(v.jsx)(n.EuiFlexItem,{grow:!1},Object(v.jsx)(n.EuiText,{size:"xs","data-test-subj":"mlAnomalyAlertPreviewMessage"},Object(v.jsx)("strong",null,Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.previewMessage",defaultMessage:"Found {alertsCount, plural, one {# anomaly} other {# anomalies}} in the last {interval}.",values:{alertsCount:w.count,interval:b}})))),S.length>0&&Object(v.jsx)(n.EuiFlexItem,{grow:!1},Object(v.jsx)(n.EuiButtonEmpty,{color:"primary",size:"xs",onClick:g.bind(null,!j)},j?Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.hideResultsButtonLabel",defaultMessage:"Hide results"}):Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.showResultsButtonLabel",defaultMessage:"Show results"})))),j&&S.length>0?Object(v.jsx)(n.EuiPanel,{color:"subdued",borderRadius:"none",hasShadow:!1,"data-test-subj":"mlAnomalyAlertPreviewCallout"},Object(v.jsx)("ul",null,S.map(((e,t)=>Object(v.jsx)("li",{key:e.key},Object(v.jsx)(M,e),t!==S.length-1?Object(v.jsx)(n.EuiHorizontalRule,{margin:"xs"}):null)))),w.count>c?Object(v.jsx)(s.a.Fragment,null,Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(n.EuiText,{size:"xs"},Object(v.jsx)("b",null,Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.previewAlert.otherValuesLabel",defaultMessage:"and {count, plural, one {# other} other {# others}}",values:{count:w.count-c}})))):null):null))},I=s.a.memo((({value:e,onChange:t})=>Object(v.jsx)(n.EuiFormRow,null,Object(v.jsx)(n.EuiSwitch,{label:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.interimResultsControl.label",defaultMessage:"Include interim results"}),checked:null!=e&&e,onChange:t.bind(null,!e)}))));var _=a(41),E=a(30);const A=s.a.memo((({jobConfigs:e=[],alertInterval:t,alertParams:a,alertNotifyWhen:l,maxNumberOfBuckets:o})=>{var i,r;if(0===e.length)return null;const c=Object(_.a)(t).asSeconds(),u=!!a.lookbackInterval&&(null===(i=Object(_.a)(a.lookbackInterval))||void 0===i?void 0:i.asSeconds()),d=u&&ue.datafeed_config.state!==E.a.STARTED)).map((e=>e.job_id)),m=d||b.length>0,j="onActiveAlert"===l&&u&&c0?Object(v.jsx)("li",null,Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.alertConditionValidation.stoppedDatafeedJobsMessage",defaultMessage:"The datafeed is not started for the following {count, plural, one {job} other {jobs}}: {jobIds}.",values:{count:b.length,jobIds:b.join(", ")}})):null)),Object(v.jsx)(n.EuiSpacer,{size:"m"})):null,j?Object(v.jsx)(s.a.Fragment,null,Object(v.jsx)(n.EuiCallOut,{title:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.alertConditionValidation.notifyWhenWarning",defaultMessage:"Expect to receive duplicate notifications about the same anomaly for up to {notificationDuration, plural, one {# minute} other {# minutes}}. Increase the check interval or switch to notify only on status change to avoid duplicate notifications.",values:{notificationDuration:x}}),color:"warning",size:"s"}),Object(v.jsx)(n.EuiSpacer,{size:"m"})):null)}));var S=a(263);const C=s.a.memo((({value:e,onChange:t})=>{var a;return Object(v.jsx)(n.EuiAccordion,{id:"mlAnomalyAlertAdvancedSettings",buttonContent:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.advancedSettingsLabel",defaultMessage:"Advanced settings"}),"data-test-subj":"mlAnomalyAlertAdvancedSettingsTrigger"},Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(n.EuiDescribedFormGroup,{gutterSize:"s",titleSize:"xxs",title:Object(v.jsx)("h4",null,Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.lookbackIntervalLabel",defaultMessage:"Lookback interval"})),description:Object(v.jsx)(n.EuiText,{size:"xs"},Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.lookbackIntervalDescription",defaultMessage:"Time interval to query the anomalies data during each rule condition check. By default, is derived from the bucket span of the job and the query delay of the datafeed."}))},Object(v.jsx)(S.a,{value:e.lookbackInterval,label:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.lookbackIntervalLabel",defaultMessage:"Lookback interval"}),onChange:e=>{t({lookbackInterval:e})},"data-test-subj":"mlAnomalyAlertLookbackInterval"})),Object(v.jsx)(n.EuiDescribedFormGroup,{gutterSize:"s",titleSize:"xxs",title:Object(v.jsx)("h4",null,Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.topNBucketsLabel",defaultMessage:"Number of latest buckets"})),description:Object(v.jsx)(n.EuiText,{size:"xs"},Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.topNBucketsDescription",defaultMessage:"The number of latest buckets to check to obtain the highest anomaly."}))},Object(v.jsx)(n.EuiFormRow,{label:Object(v.jsx)(p.FormattedMessage,{id:"xpack.ml.anomalyDetectionAlert.topNBucketsLabel",defaultMessage:"Number of latest buckets"})},Object(v.jsx)(n.EuiFieldNumber,{value:null!==(a=e.topNBuckets)&&void 0!==a?a:k.e,min:1,onChange:e=>{t({topNBuckets:Number(e.target.value)})},"data-test-subj":"mlAnomalyAlertTopNBuckets"}))),Object(v.jsx)(n.EuiHorizontalRule,{margin:"m"}))}));var F=a(255),z=a(264);t.default=({ruleParams:e,setRuleParams:t,setRuleProperty:a,errors:s,ruleInterval:o,alertNotifyWhen:p})=>{const{services:{http:O},notifications:{toasts:h}}=Object(b.d)(),y=Object(l.useMemo)((()=>new j.a(O)),[O]),k=Object(l.useMemo)((()=>Object(m.jobsApiProvider)(y)),[y]),M=Object(l.useMemo)((()=>{return e=y,{preview(t){const a=JSON.stringify(t);return e.http({path:`${f.c}/alerting/preview`,method:"POST",body:a,version:"1"})}};var e}),[y]),[E,S]=Object(l.useState)([]),L=Object(l.useCallback)((e=>a=>{t(e,a)}),[]),J=Object(l.useMemo)((()=>{var t;return Object.values(null!==(t=e.jobSelection)&&void 0!==t?t:{}).flat()}),[e.jobSelection]),R=Object(l.useCallback)((async()=>{try{const e=await k.jobs(J);S(e)}catch(e){h.danger({title:r.i18n.translate("xpack.ml.anomalyDetectionAlert.errorFetchingJobs",{defaultMessage:"Unable to fetch jobs configuration"}),body:e.message,toastLifeTimeMs:5e3})}}),[J]),T=Object(l.useMemo)((()=>0===E.length||(null!=E?E:[]).some((e=>{var t,a;return Boolean(null===(t=e.analysis_config)||void 0===t||null===(a=t.influencers)||void 0===a?void 0:a.length)}))?Object.values(u.f):[u.f.BUCKET,u.f.RECORD]),[E]);Object(l.useEffect)((function(){0!==J.length&&R()}),[J]),i()((function(){const{jobSelection:t,...l}=e;0===Object.keys(l).length&&a("params",{severity:u.g.CRITICAL,resultType:u.f.BUCKET,includeInterim:!1,jobSelection:t,lookbackInterval:void 0,topNBuckets:void 0})}));const D=Object(l.useMemo)((()=>{let{lookbackInterval:t,topNBuckets:a}=e;return!Object(c.a)(t)&&E.length>0&&(t=Object(F.a)(E)),!Object(c.a)(a)&&E.length>0&&(a=Object(F.c)(E[0])),{lookbackInterval:t,topNBuckets:a}}),[e.lookbackInterval,e.topNBuckets,E]),B=Object(l.useMemo)((()=>({...e,...D})),[e,D]),N=Object(l.useMemo)((()=>{if(0===E.length)return;const e=Object(_.a)(E[0].analysis_config.bucket_span),t=D.lookbackInterval?Object(_.a)(D.lookbackInterval):null;return t&&e?Math.ceil(t.asSeconds()/e.asSeconds()):void 0}),[E,D]);return Object(v.jsx)(n.EuiForm,{"data-test-subj":"mlAnomalyAlertForm"},Object(v.jsx)(z.a,{message:r.i18n.translate("xpack.ml.anomalyDetectionAlert.betaBadgeTooltipContent",{defaultMessage:"Anomaly detection alerts are a beta feature. We'd love to hear your feedback."})}),Object(v.jsx)(d.a,{jobsAndGroupIds:J,adJobsApiService:k,onChange:Object(l.useCallback)(L("jobSelection"),[]),errors:Array.isArray(s.jobSelection)?s.jobSelection:[]}),Object(v.jsx)(A,{jobConfigs:E,alertInterval:o,alertNotifyWhen:p,alertParams:B,maxNumberOfBuckets:N}),Object(v.jsx)(x,{value:e.resultType,availableOption:T,onChange:Object(l.useCallback)(L("resultType"),[])}),Object(v.jsx)(g.a,{value:e.severity,onChange:Object(l.useCallback)(L("severity"),[])}),Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(I,{value:e.includeInterim,onChange:Object(l.useCallback)(L("includeInterim"),[])}),Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(C,{value:D,onChange:Object(l.useCallback)((e=>{Object.keys(e).forEach((a=>{t(a,e[a])}))}),[])}),Object(v.jsx)(n.EuiSpacer,{size:"m"}),Object(v.jsx)(w,{alertingApiService:M,alertParams:e}),Object(v.jsx)(n.EuiSpacer,{size:"m"}))}}}]);