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