/*! 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.triggersActionsUi_bundle_jsonpfunction=window.triggersActionsUi_bundle_jsonpfunction||[]).push([[41],{102:function(e,t,n){"use strict";n.r(t),n.d(t,"RuleEventLogList",(function(){return C})),n.d(t,"default",(function(){return C}));var s=n(1),a=n.n(s),r=n(2),i=n(3),u=n(29),o=n(50),c=n(25),l=n(100),j=n(6),x=n(9),g=n(31),b=n.n(g),m=n(134),d=n(0);const O=[120,60,30,15].map((e=>({value:e,text:i.i18n.translate("xpack.triggersActionsUI.sections.executionDurationChart.numberOfExecutionsOption",{defaultMessage:"{value} runs",values:{value:e}})}))),f=({executionDuration:e,numberOfExecutions:t,onChangeDuration:n,isLoading:u})=>{const o=function(e,t){const n=Object.entries(e);return n.length===t?n:n.lengthn(Number(e.value))),[n]);return Object(d.jsx)(r.EuiPanel,{"data-test-subj":"executionDurationChartPanel",hasBorder:!0},Object(d.jsx)(r.EuiFlexGroup,{alignItems:"center",gutterSize:"xs"},Object(d.jsx)(r.EuiFlexItem,{grow:!1},Object(d.jsx)(r.EuiTitle,{size:"xxs"},Object(d.jsx)("h4",null,Object(d.jsx)(c.FormattedMessage,{id:"xpack.triggersActionsUI.sections.executionDurationChart.recentDurationsTitle",defaultMessage:"Recent run durations"})))),Object(d.jsx)(r.EuiFlexGroup,{justifyContent:"flexEnd"},Object(d.jsx)(r.EuiFlexItem,{grow:!1},Object(d.jsx)(r.EuiSelect,{id:"select-number-execution-durations","data-test-subj":"executionDurationChartPanelSelect",options:O,value:t,"aria-label":i.i18n.translate("xpack.triggersActionsUI.sections.executionDurationChart.selectNumberOfExecutionDurationsLabel",{defaultMessage:"Select number of runs"}),onChange:g})))),u&&Object(d.jsx)(r.EuiFlexGroup,{justifyContent:"center"},Object(d.jsx)(r.EuiFlexItem,{grow:!1,style:{height:"80px",justifyContent:"center"}},Object(d.jsx)(r.EuiLoadingChart,{size:"xl"}))),!u&&(e.valuesWithTimestamp&&Object.entries(e.valuesWithTimestamp).length>0?Object(d.jsx)(a.a.Fragment,null,Object(d.jsx)(j.Chart,{"data-test-subj":"executionDurationChart",size:{height:80}},Object(d.jsx)(j.Settings,{theme:{lineSeriesStyle:{point:{visible:!1},line:{stroke:l.euiLightVars.euiColorAccent}}}}),Object(d.jsx)(j.BarSeries,{id:"executionDuration",name:i.i18n.translate("xpack.triggersActionsUI.sections.executionDurationChart.durationLabel",{defaultMessage:"Duration"}),xScaleType:"linear",yScaleType:"linear",xAccessor:0,yAccessors:[1],data:o.map((([e,t],n)=>[e?b()(e).format("D MMM YYYY @ HH:mm:ss"):n,t])),minBarHeight:2}),Object(d.jsx)(j.LineSeries,{id:"rule_duration_avg",name:i.i18n.translate("xpack.triggersActionsUI.sections.executionDurationChart.avgDurationLabel",{defaultMessage:"Avg Duration"}),xScaleType:"linear",yScaleType:"linear",xAccessor:0,yAccessors:[1],data:o.map((([t,n],s)=>[t?b()(t).format("D MMM YYYY @ HH:mm:ss"):s,n?e.average:null])),curve:j.CurveType.CURVE_NATURAL}),Object(d.jsx)(j.Axis,{id:"left-axis",position:"left",tickFormat:e=>Object(m.a)(e)}))):Object(d.jsx)(a.a.Fragment,null,Object(d.jsx)(r.EuiEmptyPrompt,{"data-test-subj":"executionDurationChartEmpty",body:Object(d.jsx)(a.a.Fragment,null,Object(d.jsx)("p",null,Object(d.jsx)(c.FormattedMessage,{id:"xpack.triggersActionsUI.sections.executionDurationChart.executionDurationNoData",defaultMessage:"There is no available run duration information for this rule."})))}))))};var h=n(117);const p=60,E=i.i18n.translate("xpack.triggersActionsUI.sections.ruleDetails.alertsList.ruleTypeExcessDurationMessage",{defaultMessage:"Duration exceeds the rule's expected run time."}),D=Object(h.a)((e=>{const{ruleId:t,ruleType:n,ruleSummary:a,refreshToken:c,fetchRuleSummary:l=!1,numberOfExecutions:j=p,onChangeDuration:x,loadRuleSummary:g,isLoadingRuleSummary:b=!1}=e,{notifications:{toasts:O}}=Object(u.b)().services,{euiTheme:h}=Object(r.useEuiTheme)(),D=Object(s.useRef)(!1),[y,v]=Object(s.useState)(null),[S,C]=Object(s.useState)(p),[T,A]=Object(s.useState)(!1),I=Object(s.useMemo)((()=>l?y:a),[l,a,y]),L=Object(s.useMemo)((()=>l?S:j),[l,j,S]),M=Object(s.useMemo)((()=>l?T:b),[l,b,T]),k=Object(s.useCallback)((e=>{C(e)}),[C]),F=Object(s.useMemo)((()=>l?k:x||k),[l,x,k]),w=async()=>{if(l){A(!0);try{const e=await g(t,L);v(e)}catch(e){O.addDanger({title:i.i18n.translate("xpack.triggersActionsUI.sections.ruleDetails.ruleExecutionSummaryAndChart.loadSummaryError",{defaultMessage:"Unable to load rule summary: {message}",values:{message:e.message}})})}A(!1)}};Object(s.useEffect)((()=>{w()}),[t,L]),Object(s.useEffect)((()=>{D.current&&w(),D.current=!0}),[c]);const U=Object(s.useMemo)((()=>!!I&&Object(m.b)(n,I.executionDuration.average)),[n,I]);return I?Object(d.jsx)(r.EuiFlexGroup,null,Object(d.jsx)(r.EuiFlexItem,{grow:1},Object(d.jsx)(r.EuiPanel,{"data-test-subj":"avgExecutionDurationPanel",color:U?"warning":"subdued",hasBorder:!1},Object(d.jsx)(r.EuiText,{size:"s",color:"text"},i.i18n.translate("xpack.triggersActionsUI.sections.ruleDetails.alertsList.avgDurationDescription",{defaultMessage:"Average duration"})),Object(d.jsx)(r.EuiFlexGroup,{gutterSize:"xs",style:{alignItems:"center"}},U&&Object(d.jsx)(r.EuiFlexItem,{grow:!1},Object(d.jsx)(r.EuiIconTip,{"data-test-subj":"ruleDurationWarning",anchorClassName:"ruleDurationWarningIcon",type:"warning",color:"warning",content:E,"aria-label":E,position:"top",size:"m"})),Object(d.jsx)(r.EuiFlexItem,{grow:!1,"data-test-subj":"ruleEventLogListAvgDuration"},Object(d.jsx)(r.EuiText,{size:"m",color:h.colors.text},Object(d.jsx)("strong",null,Object(m.a)(I.executionDuration.average))))))),Object(d.jsx)(r.EuiFlexItem,{grow:2},Object(d.jsx)(f,{executionDuration:I.executionDuration,numberOfExecutions:L,onChangeDuration:F,isLoading:M}))):Object(d.jsx)(o.a,null)}));var y=n(190);const v="xpack.triggersActionsUI.ruleEventLogList.initialColumns",S={minHeight:400},C=e=>{const{ruleId:t,ruleType:n,localStorageKey:s=v,refreshToken:a,requestRefresh:i,fetchRuleSummary:u=!0,loadExecutionLogAggregations:o}=e,{ruleSummary:c,numberOfExecutions:l,onChangeDuration:j,isLoadingRuleSummary:x=!1}=e;return Object(d.jsx)("div",{style:S,"data-test-subj":"ruleEventLogListContainer"},Object(d.jsx)(r.EuiSpacer,null),Object(d.jsx)(D,{ruleId:t,ruleType:n,ruleSummary:c,numberOfExecutions:l,isLoadingRuleSummary:x,refreshToken:a,onChangeDuration:j,requestRefresh:i,fetchRuleSummary:u}),Object(d.jsx)(r.EuiSpacer,null),Object(d.jsx)(y.a,{localStorageKey:s,ruleId:t,refreshToken:a,overrideLoadExecutionLogAggregations:o}))}},134:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return o}));var s=n(31),a=n.n(s),r=n(9),i=n(11);function u(e){if(!e)return"00:00:00.000";const t=a.a.duration(e);return`${[t.hours(),t.minutes(),t.seconds()].map((e=>Object(r.padStart)(`${e}`,2,"0"))).join(":")}.${Object(r.padStart)(`${t.milliseconds()}`,3,"0")}`}function o(e,t){if(!e||!e.ruleTaskTimeout)return!1;const n=e.ruleTaskTimeout;return t>Object(i.parseDuration)(n)}}}]);