/*! 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([[38],{118:function(e,t,s){"use strict";s.d(t,"b",(function(){return i})),s.d(t,"a",(function(){return l}));var n=s(5);function o({id:e,duration:t,rRule:s}){return{...e?{id:e}:{},duration:t,rRule:{...s,...s.until?{until:s.until.toISOString()}:{}}}}async function i({id:e,snoozeSchedule:t,http:s}){await s.post(`${n.j}/rule/${encodeURIComponent(e)}/_snooze`,{body:JSON.stringify({snooze_schedule:o(t)})})}function l({ids:e,filter:t,snoozeSchedule:s,http:i}){let l;try{l=JSON.stringify({ids:null!=e&&e.length?e:void 0,...t?{filter:JSON.stringify(t)}:{},operations:[{operation:"set",field:"snoozeSchedule",value:o(s)}]})}catch(e){throw new Error(`Unable to parse bulk snooze params: ${e}`)}return i.post(`${n.j}/rules/_bulk_edit`,{body:l})}},119:function(e,t,s){"use strict";s.d(t,"b",(function(){return o})),s.d(t,"a",(function(){return i}));var n=s(5);async function o({id:e,http:t,scheduleIds:s}){await t.post(`${n.j}/rule/${encodeURIComponent(e)}/_unsnooze`,{body:JSON.stringify({schedule_ids:s})})}function i({ids:e,filter:t,scheduleIds:s,http:o}){let i;try{i=JSON.stringify({ids:null!=e&&e.length?e:void 0,...t?{filter:JSON.stringify(t)}:{},operations:[{operation:"delete",field:"snoozeSchedule",value:s}]})}catch(e){throw new Error(`Unable to parse bulk unsnooze params: ${e}`)}return o.post(`${n.j}/rules/_bulk_edit`,{body:i})}},85:function(e,t,s){"use strict";s.r(t),s.d(t,"RulesListNotifyBadge",(function(){return L})),s.d(t,"SNOOZE_SUCCESS_MESSAGE",(function(){return b})),s.d(t,"UNSNOOZE_SUCCESS_MESSAGE",(function(){return f})),s.d(t,"SNOOZE_FAILED_MESSAGE",(function(){return j})),s.d(t,"default",(function(){return I}));var n=s(1),o=s(29),i=s(119),l=s(118),a=s(31),u=s.n(a),r=s(2),c=s(3),d=s(137),g=s(125);const b=c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeSuccess",{defaultMessage:"Rule successfully snoozed"}),f=c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.unsnoozeSuccess",{defaultMessage:"Rule successfully unsnoozed"}),j=c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeFailed",{defaultMessage:"Unable to change rule snooze settings"}),p=c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.openSnoozePanel",{defaultMessage:"Open snooze panel"}),h=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds",{defaultMessage:"{value, plural, one {# second} other {# seconds}}",values:{value:e}}),O=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes",{defaultMessage:"{value, plural, one {# minute} other {# minutes}}",values:{value:e}}),y=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours",{defaultMessage:"{value, plural, one {# hour} other {# hours}}",values:{value:e}}),S=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days",{defaultMessage:"{value, plural, one {# day} other {# days}}",values:{value:e}}),v=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.weeks",{defaultMessage:"{value, plural, one {# week} other {# weeks}}",values:{value:e}}),z=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.months",{defaultMessage:"{value, plural, one {# month} other {# months}}",values:{value:e}}),m=e=>c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.years",{defaultMessage:"{value, plural, one {# year} other {# years}}",values:{value:e}});var x=s(0);const L=({snoozeSettings:e,loading:t=!1,disabled:s=!1,onRuleChanged:i,snoozeRule:l,unsnoozeRule:a,showOnHover:L=!1,showTooltipInline:I=!1})=>{var k,N,w;const[E,M]=Object(n.useState)(!1),U=t||E,B=Boolean(s)||!e,[A,T]=Object(n.useState)(!1),R=Object(n.useCallback)((()=>T(!0)),[T]),C=Object(n.useCallback)((()=>T(!1)),[T]),_=null==e?void 0:e.isSnoozedUntil,P=null!==(k=null==e?void 0:e.muteAll)&&void 0!==k&&k,$=Object(n.useMemo)((()=>{return!!e&&(t=e,Boolean(t.isSnoozedUntil&&new Date(t.isSnoozedUntil).getTime()>Date.now()||t.muteAll));var t}),[e]),F=Object(n.useMemo)((()=>e?(e=>{if(!e.snoozeSchedule)return null;const t=e.snoozeSchedule.filter((e=>Boolean(e.id)));return 0===t.length?null:t.reduce(((e,t)=>u()(t.rRule.dtstart).isBefore(u()(e.rRule.dtstart))?t:e))})(e):null),[e]),J=Object(n.useMemo)((()=>_?function(e){const t=u.a.duration(u()(e).diff(u()())),s={years:m(t.years()),months:z(t.months()),weeks:v(t.weeks()),days:S(t.days()),hours:y(t.hours()),minutes:O(t.minutes()),seconds:h(t.seconds())},n=Object.entries(s).filter((([e,t])=>""!==t&&t!==`0 ${e}`)).map((([e,t])=>`${t}`)).join(", "),o=n.lastIndexOf(", ");return-1===o?n:n.slice(0,o)+" and"+n.slice(o+1)}(_):void 0),[_]),{notifications:{toasts:D}}=Object(o.b)().services,G=Object(n.useMemo)((()=>!$&&Boolean(F)),[F,$]),H=Object(n.useMemo)((()=>_?Object(d.a)(u()(_)):F?Object(d.a)(u()(F.rRule.dtstart)):""),[_,F]),Z=Object(n.useMemo)((()=>P?c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedIndefinitelyTooltip",{defaultMessage:"Notifications snoozed indefinitely"}):G?c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozeScheduledTooltip",{defaultMessage:"Notifications scheduled to snooze starting {schedStart}",values:{schedStart:Object(d.b)(u()(F.rRule.dtstart))}}):$&&J?Object(x.jsx)(r.EuiToolTip,{title:c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining",{defaultMessage:"Time remaining"}),content:Object(x.jsx)(r.EuiFlexGroup,{direction:"column",gutterSize:"none"},Object(x.jsx)(r.EuiFlexItem,{grow:!1},Object(x.jsx)("span",null,J)),Object(x.jsx)(r.EuiSpacer,null),Object(x.jsx)(r.EuiFlexItem,{grow:!1},Object(x.jsx)("span",null,null==_?void 0:_.toString())))},Object(x.jsx)(r.EuiTextAlign,null,c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedTooltip",{defaultMessage:"Notifications snoozing for {snoozeTime}",values:{snoozeTime:u()(_).fromNow(!0)}}))):I?c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.noSnoozeAppliedTooltip",{defaultMessage:"Notify when alerts generated"}):""),[P,G,$,I,F,J,_]),W=Object(n.useMemo)((()=>Object(x.jsx)(r.EuiButton,{size:"s",isLoading:U,disabled:U||B,"data-test-subj":"rulesListNotifyBadge-snoozed","aria-label":p,minWidth:85,iconType:"bellSlash",color:"accent",onClick:R},Object(x.jsx)(r.EuiText,{size:"xs"},H))),[H,U,B,R]),Y=Object(n.useMemo)((()=>Object(x.jsx)(r.EuiButton,{size:"s",isLoading:U,disabled:U||B,"data-test-subj":"rulesListNotifyBadge-scheduled",minWidth:85,iconType:"calendar",color:"text","aria-label":p,onClick:R},Object(x.jsx)(r.EuiText,{size:"xs"},H))),[H,U,B,R]),q=Object(n.useMemo)((()=>{const e=L?"ruleSidebarItem__action":"";return Object(x.jsx)(r.EuiButtonIcon,{size:"s",isLoading:U,disabled:U||B,display:U?"base":"empty","data-test-subj":"rulesListNotifyBadge-unsnoozed","aria-label":p,className:A||U?"":e,iconType:"bell",onClick:R})}),[A,U,B,L,R]),K=Object(n.useMemo)((()=>Object(x.jsx)(r.EuiButtonIcon,{size:"s",isLoading:U,disabled:U||B,display:"base","data-test-subj":"rulesListNotifyBadge-snoozedIndefinitely","aria-label":p,iconType:"bellSlash",color:"accent",onClick:R})),[U,B,R]),Q=Object(n.useMemo)((()=>G?Y:P?K:$?W:q),[$,G,P,Y,W,K,q]),V=Object(n.useMemo)((()=>{const e="string"==typeof s?s:A||I?void 0:J;return Object(x.jsx)(r.EuiToolTip,{title:e?c.i18n.translate("xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining",{defaultMessage:"Time remaining"}):void 0,content:e},Q)}),[s,A,Q,I,J]),X=Object(n.useCallback)((async e=>{try{M(!0),C(),await l(e),await i(),D.addSuccess(b)}catch(e){D.addDanger(j)}finally{M(!1)}}),[M,l,i,D,C]),ee=Object(n.useCallback)((async e=>{try{M(!0),C(),await a(e),await i(),D.addSuccess(f)}catch(e){D.addDanger(j)}finally{M(!1)}}),[M,a,i,D,C]),te=Object(x.jsx)(r.EuiPopover,{"data-test-subj":"rulesListNotifyBadge",isOpen:A&&!B,closePopover:C,button:V,anchorPosition:"rightCenter",panelStyle:{maxHeight:"100vh",overflowY:"auto"}},Object(x.jsx)(g.a,{snoozeRule:X,unsnoozeRule:ee,interval:Object(g.b)(_),showCancel:$,scheduledSnoozes:null!==(N=null==e?void 0:e.snoozeSchedule)&&void 0!==N?N:[],activeSnoozes:null!==(w=null==e?void 0:e.activeSnoozes)&&void 0!==w?w:[],inPopover:!0}));return I?Object(x.jsx)(r.EuiFlexGroup,{alignItems:"center"},Object(x.jsx)(r.EuiFlexItem,{grow:!1},te),Object(x.jsx)(r.EuiFlexItem,null,Object(x.jsx)(r.EuiText,{color:"subdued",size:"xs"},Z))):te},I=({ruleId:e,snoozeSettings:t,loading:s,disabled:a,showTooltipInline:u,showOnHover:r,onRuleChanged:c})=>{const{http:d}=Object(o.b)().services,g=Object(n.useCallback)((t=>e?Object(l.b)({http:d,id:e,snoozeSchedule:t}):Promise.resolve()),[d,e]),b=Object(n.useCallback)((t=>e?Object(i.b)({http:d,id:e,scheduleIds:t}):Promise.resolve()),[d,e]);return Object(x.jsx)(L,{snoozeSettings:t,loading:s,disabled:a,onRuleChanged:c,snoozeRule:g,unsnoozeRule:b,showTooltipInline:u,showOnHover:r})}}}]);