(window.uiActionsEnhanced_bundle_jsonpfunction=window.uiActionsEnhanced_bundle_jsonpfunction||[]).push([[2],{23:function(e,t,n){"use strict";var i,s=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),o=[];function r(e){for(var t=-1,n=0;n{this.name$.next(e)})),r()(this,"setTriggers",(e=>{this.triggers$.next(e)})),r()(this,"setConfig",(e=>{this.config$.next(e)})),r()(this,"useName",(()=>l()(this.name$,this.name$.getValue()))),r()(this,"useTriggers",(()=>l()(this.triggers$,this.triggers$.getValue()))),r()(this,"useConfig",(()=>l()(this.config$,this.config$.getValue()))),r()(this,"useError",(()=>(e=>{const t=Object(i.useRef)(!0),n=Object(i.useRef)(),s=m()(),o=Object(i.useRef)(void 0);return o.current=Object(i.useMemo)((()=>(o.current&&(o.current.unsubscribe(),o.current=void 0,t.current=!0),e.subscribe((e=>{n.current=e,t.current&&(t.current=!1),s()})))),[e,s]),g()((()=>()=>{o.current&&o.current.unsubscribe()}),[]),n.current})(this.error$))),this.factory=e,this.placeTriggers=t,this.placeContext=n,this.name$=new c.BehaviorSubject(s),this.triggers$=new c.BehaviorSubject(o),this.config$=new c.BehaviorSubject(a);const u=this.factory.supportedTriggers();this.uiTriggers=u.filter((e=>this.placeTriggers.includes(e))),1===this.uiTriggers.length&&this.triggers$.next([this.uiTriggers[0]]),this.nameError$=this.name$.pipe(Object(d.map)((e=>{if(!e)return"NAME_EMPTY"}))),this.triggersError$=this.triggers$.pipe(Object(d.map)((e=>{if(!e.length)return"NO_TRIGGERS_SELECTED"}))),this.configError$=this.config$.pipe(Object(d.map)((e=>{if(!this.factory.isConfigValid(e,this.getFactoryContext()))return"INVALID_CONFIG"}))),this.error$=Object(c.combineLatest)([this.nameError$,this.triggersError$,this.configError$]).pipe(Object(d.map)((([e,t,n])=>e||n||t||void 0)))}getFactoryContext(){return{...this.placeContext,triggers:this.triggers$.getValue()}}serialize(){return{factoryId:this.factory.id,name:this.name$.getValue(),config:this.config$.getValue()}}getAllDrilldownTriggers(){return this.factory.supportedTriggers().filter((e=>this.placeTriggers.includes(e)))}isValid(){if(!this.name$.getValue())return!1;const e=this.config$.getValue();return!!e&&!(this.triggers$.getValue().length<1||!this.factory.isConfigValid(e,this.getFactoryContext()))}}var p=n(3);const b={title:e=>p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownCreatedTitle",{defaultMessage:'Drilldown "{drilldownName}" created',values:{drilldownName:e}}),text:p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownCreatedText",{defaultMessage:"Save your dashboard before testing."})},f={title:e=>p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownEditedTitle",{defaultMessage:'Drilldown "{drilldownName}" updated',values:{drilldownName:e}}),text:p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownEditedText",{defaultMessage:"Save your dashboard before testing."})},j={title:p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownDeletedTitle",{defaultMessage:"Drilldown deleted"}),text:p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownDeletedText",{defaultMessage:"Save your dashboard before testing."})},x={title:e=>p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownsDeletedTitle",{defaultMessage:"{n} drilldowns deleted",values:{n:e}}),text:p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownsDeletedText",{defaultMessage:"Save your dashboard before testing."})},w=p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.toast.drilldownsCRUDErrorTitle",{defaultMessage:"Error saving drilldown",description:"Title for generic error toast when persisting drilldown updates failed"}),y=p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.insufficientLicenseLevelError",{defaultMessage:"Insufficient license level",description:"User created drilldown with higher license type, but then downgraded the license. This error is shown in the list near created drilldown"}),E=p.i18n.translate("uiActionsEnhanced.drilldowns.drilldownManager.state.defaultTitle",{defaultMessage:"Drilldowns",description:"Drilldowns flyout title."}),v="drilldowns:hidWelcomeMessage";class drilldown_manager_state_DrilldownManagerState{constructor(e){r()(this,"title$",new c.BehaviorSubject(E)),r()(this,"footer$",new c.BehaviorSubject(null)),r()(this,"route$",void 0),r()(this,"hideWelcomeMessage$",void 0),r()(this,"actionFactory$",void 0),r()(this,"mapEventToDrilldownItem",(e=>{var t;const n=this.deps.actionFactories.find((t=>t.id===e.action.factoryId)),i={...this.deps.placeContext,triggers:e.triggers},s=e.triggers[0];return{id:e.eventId,drilldownName:e.action.name,actionName:null!==(t=null==n?void 0:n.getDisplayName(i))&&void 0!==t?t:e.action.factoryId,icon:null==n?void 0:n.getIconType(i),error:n?n.isCompatibleLicense()?void 0:y:(o=e.action.factoryId,p.i18n.translate("uiActionsEnhanced.drilldowns.components.flyoutDrilldownWizard.invalidDrilldownType",{defaultMessage:"Drilldown type {type} doesn't exist",values:{type:o}})),triggers:e.triggers.map((e=>this.deps.getTrigger(e))),triggerIncompatible:!this.deps.triggers.find((e=>e===s))};var o})),r()(this,"events$",void 0),r()(this,"drilldownStateByFactoryId",new Map),r()(this,"canUnlockMoreDrilldowns",void 0),r()(this,"lastCloneRecord",null),r()(this,"hideWelcomeMessage",(()=>{this.hideWelcomeMessage$.next(!0),this.deps.storage.set(v,!0)})),r()(this,"close",(()=>{this.deps.onClose()})),r()(this,"onDelete",(e=>{(async()=>{const{dynamicActionManager:t,toastService:n}=this.deps;try{await t.deleteEvents(e),this.deps.toastService.addSuccess(1===e.length?{title:j.title,text:j.text}:{title:x.title(e.length),text:x.text})}catch(e){n.addError(e,{title:w})}})().catch(console.error)})),r()(this,"onClone",(async e=>{const{templates:t}=this.deps;if(!t)return;const n=e.map((e=>t.find((({id:t})=>t===e)))).filter(Boolean);for(const e of n)await this.cloneTemplate(e);this.lastCloneRecord={time:Date.now(),templateIds:e},this.setRoute(["manage"])})),r()(this,"onCreateFromTemplate",(async e=>{const{templates:t}=this.deps;if(!t)return;const n=t.find((({id:t})=>t===e));if(!n)return;const i=this.deps.actionFactories.find((({id:e})=>e===n.factoryId));if(!i)return;this.setActionFactory(i);const s=this.getDrilldownState();s&&(s.setName(this.pickName(n.name)),s.setTriggers(n.triggers),s.setConfig(n.config))})),r()(this,"onCreateFromDrilldown",(async e=>{const{dynamicActionManager:t}=this.deps,{events:n}=t.state.get(),i=n.find((t=>t.eventId===e));if(!i)return;const s=this.deps.actionFactories.find((({id:e})=>e===i.action.factoryId));if(!s)return;this.setActionFactory(s);const o=this.getDrilldownState();o&&(o.setName(this.pickName(i.action.name)),o.setTriggers(i.triggers),o.setConfig(i.action.config))})),r()(this,"useTitle",(()=>l()(this.title$,this.title$.getValue()))),r()(this,"useFooter",(()=>l()(this.footer$,this.footer$.getValue()))),r()(this,"useRoute",(()=>l()(this.route$,this.route$.getValue()))),r()(this,"useWelcomeMessage",(()=>l()(this.hideWelcomeMessage$,this.hideWelcomeMessage$.getValue()))),r()(this,"useActionFactory",(()=>l()(this.actionFactory$,this.actionFactory$.getValue()))),r()(this,"useEvents",(()=>l()(this.events$,this.events$.getValue()))),r()(this,"useCompatibleActionFactories",(e=>l()(Object(i.useMemo)((()=>this.getCompatibleActionFactories(e)),[e]),void 0))),this.deps=e;const t=e.storage.get(v);this.hideWelcomeMessage$=new c.BehaviorSubject(null!=t&&t),this.canUnlockMoreDrilldowns=e.actionFactories.some((e=>!e.isCompatibleLicense)),this.events$=new c.BehaviorSubject(this.deps.dynamicActionManager.state.get().events.map(this.mapEventToDrilldownItem)),e.dynamicActionManager.state.state$.pipe(Object(d.map)((e=>e.events.map(this.mapEventToDrilldownItem)))).subscribe(this.events$);let{initialRoute:n=""}=e;n?"/"===n[0]&&(n=n.substr(1)):n="manage",this.route$=new c.BehaviorSubject(n.split("/")),this.actionFactory$=new c.BehaviorSubject(this.getActiveActionFactory()),this.route$.pipe(Object(d.map)((()=>this.getActiveActionFactory()))).subscribe(this.actionFactory$)}setTitle(e){this.title$.next(e)}setFooter(e){this.footer$.next(e)}resetTitle(){this.setTitle(E)}setRoute(e){"manage"===e[0]&&(this.deps.closeAfterCreate=!1),this.route$.next(e)}setActionFactory(e){if(e){if(!this.drilldownStateByFactoryId.has(e.id)){const t=this.getActiveActionFactory(),n=t?this.drilldownStateByFactoryId.get(t.id):void 0,i=this.getActionFactoryContext(),s=new drilldown_state_DrilldownState({factory:e,placeTriggers:this.deps.triggers,placeContext:this.deps.placeContext||{},name:this.pickName(n?n.name$.getValue():e.getDisplayName(this.getActionFactoryContext())),triggers:[],config:e.createConfig(i)});this.drilldownStateByFactoryId.set(e.id,s)}this.route$.next(["new",e.id])}else{const e=this.route$.getValue();"new"===e[0]&&e.length>1&&this.setRoute(["new"])}}getActiveActionFactory(){const[e,t]=this.route$.getValue();if("new"===e&&t)return this.deps.actionFactories.find((e=>e.id===t))}getActionFactoryContext(){var e;return{...null!==(e=this.deps.placeContext)&&void 0!==e?e:[],triggers:[]}}getCompatibleActionFactories(e){const t=new c.BehaviorSubject(void 0);return Promise.allSettled(this.deps.actionFactories.map((t=>t.isCompatible(e)))).then((e=>{t.next(this.deps.actionFactories.filter(((t,n)=>{const i=e[n];return"fulfilled"===i.status&&i.value})))})),t.asObservable()}getDrilldownState(){const e=this.getActiveActionFactory();if(e)return this.drilldownStateByFactoryId.get(e.id)}async createDrilldown(){const{dynamicActionManager:e,toastService:t}=this.deps,n=this.getDrilldownState();if(n)try{const i=n.serialize(),s=n.triggers$.getValue();await e.createEvent(i,s),t.addSuccess({title:b.title(n.name$.getValue()),text:b.text}),this.drilldownStateByFactoryId.delete(n.factory.id),this.deps.closeAfterCreate?this.deps.onClose():this.setRoute(["manage"])}catch(e){throw t.addError(e,{title:w}),e}}async cloneTemplate(e){const{dynamicActionManager:t}=this.deps,n=this.pickName(e.name),i={factoryId:e.factoryId,name:n,config:e.config||{}};await t.createEvent(i,e.triggers)}hasDrilldownWithName(e){const{events:t}=this.deps.dynamicActionManager.state.get();for(const n of t)if(n.action.name===e)return!0;return!1}pickName(e){if(this.hasDrilldownWithName(e)){const t=e.match(/(.*) (\(copy[^\)]*\))/);t&&(e=t[1]);for(let t=0;t<100;t++){const n=t?`${e} (copy ${t})`:`${e} (copy)`;if(!this.hasDrilldownWithName(n))return n}}return e}createEventDrilldownState(e){const{dynamicActionManager:t,actionFactories:n,triggers:i}=this.deps,{events:s}=t.state.get(),o=s.find((t=>t.eventId===e));if(!o)return null;const r=n.find((({id:e})=>e===o.action.factoryId));if(!r)return null;const{action:a,triggers:l}=o,{name:c,config:d}=a;return new drilldown_state_DrilldownState({factory:r,placeContext:this.getActionFactoryContext(),placeTriggers:i,name:c,config:d,triggers:l})}async updateEvent(e,t){const{dynamicActionManager:n,toastService:i}=this.deps,s=t.serialize();try{await n.updateEvent(e,s,t.triggers$.getValue()),i.addSuccess({title:f.title(s.name),text:f.text}),this.setRoute(["manage"])}catch(e){throw i.addError(e,{title:w}),e}}}var O=n(2);const C=i.createContext(null),T=()=>i.useContext(C),M=({children:e,...t})=>{const n=i.useMemo((()=>new drilldown_manager_state_DrilldownManagerState(t)),[]);return Object(O.jsx)(C.Provider,{value:n},e)};var F=n(13);const A=p.i18n.translate("uiActionsEnhanced.drilldowns.components.FlyoutFrame.CloseButtonLabel",{defaultMessage:"Close"}),D=p.i18n.translate("uiActionsEnhanced.drilldowns.components.FlyoutFrame.BackButtonLabel",{defaultMessage:"Back"}),S=({title:e="",footer:t,onClose:n,children:i,onBack:o,banner:r})=>{const a=(e||o)&&Object(O.jsx)(F.EuiFlyoutHeader,{hasBorder:!0},Object(O.jsx)(F.EuiTitle,{size:"s"},Object(O.jsx)(F.EuiFlexGroup,{alignItems:"center",gutterSize:"s",responsive:!1},o&&Object(O.jsx)(F.EuiFlexItem,{grow:!1},Object(O.jsx)("div",{style:{marginLeft:"-8px",marginTop:"-4px"}},Object(O.jsx)(F.EuiButtonIcon,{color:"text",onClick:o,iconType:"arrowLeft","aria-label":D}))),e&&Object(O.jsx)(F.EuiFlexItem,{grow:!0},Object(O.jsx)("h1",null,e))))),l=(n||t)&&Object(O.jsx)(F.EuiFlyoutFooter,null,Object(O.jsx)(F.EuiFlexGroup,{responsive:!1,justifyContent:"spaceBetween"},Object(O.jsx)(F.EuiFlexItem,{grow:!1},n&&Object(O.jsx)(F.EuiButtonEmpty,{iconType:"cross",onClick:n,flush:"left","data-test-subj":"flyoutCloseButton"},A)),Object(O.jsx)(F.EuiFlexItem,{grow:!1,"data-test-subj":"flyoutFooter"},t)));return Object(O.jsx)(s.a.Fragment,null,a,Object(O.jsx)(F.EuiFlyoutBody,{banner:r},i),l)};var I=n(32),$=n.n(I);const k=({children:e})=>{const t=T();return i.useEffect((()=>(t.setTitle(e),()=>{t.resetTitle()}))),null},B=()=>{const e=T().useTitle();return Object(O.jsx)(i.Fragment,null,e)},N=p.i18n.translate("uiActionsEnhanced.components.actionWizard.betaActionLabel",{defaultMessage:"Beta"}),L=p.i18n.translate("uiActionsEnhanced.components.actionWizard.betaActionTooltip",{defaultMessage:"This action is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. Please help us by reporting bugs or providing other feedback."}),_=p.i18n.translate("uiActionsEnhanced.components.actionWizard.insufficientLicenseLevelTooltip",{defaultMessage:"Insufficient license level"});n(38);const z=({item:e,context:t,onSelect:n})=>{var i;const s=null===(i=e.isLicenseCompatible)||void 0===i||i,o=!s;let r=Object(O.jsx)(F.EuiKeyPadMenuItem,{className:"auaPresentablePicker__item",label:e.getDisplayName(t),"data-test-subj":`actionFactoryItem-${e.id}`,onClick:()=>n(e.id),disabled:!s,betaBadgeLabel:e.isBeta?N:void 0,betaBadgeTooltipContent:e.isBeta?L:void 0},e.getIconType(t)&&Object(O.jsx)(F.EuiIcon,{type:e.getIconType(t),size:"m"}));return o&&(r=Object(O.jsx)(F.EuiToolTip,{content:_},r)),Object(O.jsx)(F.EuiFlexItem,{grow:!1,key:e.id},r)},W={willChange:"opacity"},R=(e,t)=>t.order-e.order,P=({items:e,context:t,onSelect:n})=>{const i=s.a.useMemo((()=>{const t=e.filter((e=>{var t;return null===(t=e.isLicenseCompatible)||void 0===t||t})),n=e.filter((e=>{var t;return!(null===(t=e.isLicenseCompatible)||void 0===t||t)}));return[...t.sort(R),...n.sort(R)]}),[e]);return 0===e.length?Object(O.jsx)("div",null,"No action factories to pick from."):Object(O.jsx)(F.EuiFlexGroup,{gutterSize:"m",responsive:!1,wrap:!0,style:W},i.map((e=>Object(O.jsx)(z,{key:e.id,item:e,context:t,onSelect:n}))))},V=({actionFactories:e,context:t,onSelect:n})=>{const i=s.a.useMemo((()=>e.map((e=>({id:e.id,order:e.order,getDisplayName:t=>e.getDisplayName(t),getIconType:t=>e.getIconType(t),getDisplayNameTooltip:()=>"",isCompatible:t=>e.isCompatible(t),MenuItem:e.MenuItem,isBeta:e.isBeta,isLicenseCompatible:e.isCompatibleLicense()})))),[e]),o=s.a.useCallback((t=>{if(!n)return;const i=e.find((e=>e.id===t));i&&n(i)}),[n,e]);return Object(O.jsx)(P,{items:i,context:t,onSelect:o})},G=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.drilldownAction",{defaultMessage:"Action"}),H=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.getMoreActionsLinkLabel",{defaultMessage:"Get more actions"}),U=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.betaActionLabel",{defaultMessage:"Beta"}),K=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.betaActionTooltip",{defaultMessage:"This action is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. Please help us by reporting bugs or providing other feedback."}),J=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.changeButton",{defaultMessage:"Change"}),Y=Object(O.jsx)(F.EuiText,{size:"s"},Object(O.jsx)(F.EuiLink,{href:"https://www.elastic.co/subscriptions",target:"_blank",external:!0,"data-test-subj":"getMoreActionsLink"},H)),q=({name:e,icon:t,beta:n,showMoreLink:i,onChange:s})=>Object(O.jsx)(F.EuiFormRow,{label:G,fullWidth:!0,labelAppend:i&&Y},Object(O.jsx)("header",null,Object(O.jsx)(F.EuiFlexGroup,{alignItems:"center",responsive:!1,gutterSize:"s"},!!t&&Object(O.jsx)(F.EuiFlexItem,{grow:!1},Object(O.jsx)(F.EuiIcon,{type:t,size:"m"})),Object(O.jsx)(F.EuiFlexItem,{grow:!0},Object(O.jsx)(F.EuiText,null,Object(O.jsx)("h4",null,e," ",n&&Object(O.jsx)(F.EuiBetaBadge,{label:U,tooltipContent:K})))),!!s&&Object(O.jsx)(F.EuiFlexItem,{grow:!1},Object(O.jsx)(F.EuiButtonEmpty,{size:"xs","data-test-subj":"changeDrilldownType",onClick:s},J))))),Q=({factory:e,context:t,constant:n})=>{const i=T(),o=s.a.useMemo((()=>e.getDisplayName(t)),[e,t]),r=s.a.useMemo((()=>e.getIconType(t)),[e,t]),a=s.a.useMemo((()=>{if(!n)return()=>i.setActionFactory(void 0)}),[i,n]);return Object(O.jsx)(q,{name:o,icon:r,beta:e.isBeta,onChange:a})},X=({})=>{const e=T(),t=e.useActionFactory(),n=s.a.useMemo((()=>e.getActionFactoryContext()),[e]),i=e.useCompatibleActionFactories(n);return t?Object(O.jsx)(Q,{factory:t,context:n}):i?Object(O.jsx)(V,{actionFactories:i,context:n,onSelect:t=>{e.setActionFactory(t)}}):Object(O.jsx)(F.EuiLoadingSpinner,{size:"m"})},Z=({children:e})=>{const t=T();return i.useEffect((()=>(t.setFooter(e),()=>{t.setFooter(null)}))),null},ee=()=>{const e=T().useFooter();return Object(O.jsx)(i.Fragment,null,e)};var te=n(7),ne=n.n(te);const ie=p.i18n.translate("uiActionsEnhanced.components.TriggerPickerItem.unknown",{defaultMessage:"Unknown"}),se=({id:e,title:t=ie,description:n,checked:i,disabled:o,onSelect:r})=>{const a=!!n&&Object(O.jsx)("div",null,Object(O.jsx)(F.EuiText,{size:"s"},Object(O.jsx)(F.EuiTextColor,{color:"subdued"},n))),l=Object(O.jsx)(s.a.Fragment,null,Object(O.jsx)(F.EuiTitle,{size:"xxs"},Object(O.jsx)("span",null,t)),a);return Object(O.jsx)(s.a.Fragment,null,Object(O.jsx)(F.EuiCheckableCard,{id:e,label:l,name:e,value:e,checked:i,disabled:o,onChange:()=>r(e),"data-test-subj":`triggerPicker-${e}`}),Object(O.jsx)(F.EuiSpacer,{size:"s"}))},oe=p.i18n.translate("uiActionsEnhanced.components.actionWizard.triggerPickerLabel",{defaultMessage:"Show option on:"}),re=p.i18n.translate("uiActionsEnhanced.components.actionWizard.triggerPickerHelpText",{defaultMessage:"What's this?"}),ae=p.i18n.translate("uiActionsEnhanced.components.actionWizard.triggerPickerHelpTooltip",{defaultMessage:"Determines when the drilldown appears in context menu"}),le=({items:e,selected:t=[],docs:n,disabled:i,onChange:s})=>Object(O.jsx)(F.EuiFormFieldset,{"data-test-subj":"triggerPicker",legend:{children:!!n&&Object(O.jsx)(F.EuiText,{size:"s"},Object(O.jsx)("h5",null,Object(O.jsx)("span",null,oe)," ",Object(O.jsx)(F.EuiToolTip,{content:ae},Object(O.jsx)(F.EuiLink,{href:n,target:"blank",external:!0},re))))},style:{maxWidth:"80%"}},e.map((e=>Object(O.jsx)(se,{key:e.id,id:e.id,title:e.title,description:e.description,checked:e.id===t[0],disabled:i,onSelect:e=>s([e])})))),ce=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.nameOfDrilldown",{defaultMessage:"Name"}),de=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.untitledDrilldown",{defaultMessage:"Untitled drilldown"}),ue=p.i18n.translate("uiActionsEnhanced.components.DrilldownForm.trigger",{defaultMessage:"Trigger"}),ge=({name:e="",onNameChange:t,triggers:n,disabled:i,children:s})=>{if(n&&!n.items.length)return Object(O.jsx)(F.EuiCallOut,{title:"Sorry, there was an error",color:"danger",iconType:"warning"},Object(O.jsx)("p",null,"No triggers provided in ",Object(O.jsx)(F.EuiCode,null,"triggers")," prop."));const o=Object(O.jsx)(F.EuiFormRow,{label:ce},Object(O.jsx)(F.EuiFieldText,{name:"drilldown_name",placeholder:de,value:e,disabled:!t||i,onChange:t?e=>t(e.target.value):void 0,"data-test-subj":"drilldownNameInput"})),r=!!n&&n.items.length>0&&Object(O.jsx)(F.EuiFormRow,{label:ue,fullWidth:!0},Object(O.jsx)(le,ne()({},n,{disabled:i})));return Object(O.jsx)(F.EuiForm,{"data-test-subj":"DrilldownForm"},Object(O.jsx)(F.EuiSpacer,{size:"m"}),o,Object(O.jsx)(F.EuiSpacer,{size:"m"}),r,Object(O.jsx)(F.EuiSpacer,{size:"m"}),Object(O.jsx)("div",null,s))},he=({state:e,disabled:t})=>{const n=T(),i=e.useName(),o=e.useTriggers(),r=e.useConfig(),a=s.a.useMemo((()=>({items:e.uiTriggers.map((e=>n.deps.getTrigger(e))),selected:o,onChange:e.setTriggers})),[n,o,e]),l=e.getFactoryContext();return Object(O.jsx)(ge,{name:i,onNameChange:e.setName,triggers:a,disabled:t},Object(O.jsx)(e.factory.CollectConfig,{config:r,onConfig:t?()=>{}:e.setConfig,context:l}))},me=({disabled:e,onClick:t,children:n})=>Object(O.jsx)(F.EuiButton,{fill:!0,isDisabled:e,"data-test-subj":"drilldownWizardSubmit",onClick:t},n),pe=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.createDrilldownForm.title",{defaultMessage:"Create Drilldown",description:"Drilldowns flyout title for new drilldown form."}),be=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.createDrilldownForm.primaryButton",{defaultMessage:"Create drilldown",description:"Primary button on new drilldown creation form."}),fe=()=>{const e=$()(),t=T(),n=t.getDrilldownState(),s=n.useError(),[o,r]=i.useState(!1);return Object(O.jsx)(i.Fragment,null,Object(O.jsx)(k,null,pe),Object(O.jsx)(X,null),!!n&&Object(O.jsx)(he,{state:n,disabled:o}),!!n&&Object(O.jsx)(Z,null,Object(O.jsx)(me,{disabled:o||!!s,onClick:()=>{r(!0),t.createDrilldown().finally((()=>{e()&&r(!1)}))}},be)))},je=({state:e})=>{const t=T(),n=e.useName(),i=e.useTriggers(),o=e.useConfig(),r=s.a.useMemo((()=>({items:e.uiTriggers.map((e=>t.deps.getTrigger(e))),selected:i,onChange:e.setTriggers})),[t,i,e]),a=e.getFactoryContext();return Object(O.jsx)(ge,{name:n,onNameChange:e.setName,triggers:r},Object(O.jsx)(e.factory.CollectConfig,{config:o,onConfig:e.setConfig,context:a}))},xe=({color:e,tooltip:t,icon:n,iconColor:i,iconTooltip:s,children:o})=>Object(O.jsx)(F.EuiFlexGroup,{responsive:!1,alignItems:"center",gutterSize:"s"},!!n&&Object(O.jsx)(F.EuiFlexItem,{grow:!1},s?Object(O.jsx)(F.EuiToolTip,{content:s},Object(O.jsx)(F.EuiIcon,{color:i,type:n})):Object(O.jsx)(F.EuiIcon,{color:i,type:n})),!!o&&Object(O.jsx)(F.EuiFlexItem,{grow:!1,style:{flexWrap:"wrap"}},t?Object(O.jsx)(F.EuiToolTip,{content:t},Object(O.jsx)(F.EuiTextColor,{color:e},o)):Object(O.jsx)(F.EuiTextColor,{color:e},o))),we=p.i18n.translate("uiActionsEnhanced.components.TriggerLineItem.incompatibleTooltip",{defaultMessage:"This trigger type not supported by this panel"}),ye=({tooltip:e,incompatible:t,children:n})=>Object(O.jsx)(xe,{color:"subdued",tooltip:e,icon:t?"warning":void 0,iconColor:t?"danger":void 0,iconTooltip:t?we:void 0},n),Ee=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.createDrilldownButtonLabel",{defaultMessage:"Create new"}),ve=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.editDrilldownButtonLabel",{defaultMessage:"Edit"}),Oe=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.copyDrilldownButtonLabel",{defaultMessage:"Copy"}),Ce=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.selectThisDrilldownCheckboxLabel",{defaultMessage:"Select this drilldown"}),Te=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.nameColumnTitle",{defaultMessage:"Name"}),Me=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.actionColumnTitle",{defaultMessage:"Action"}),Fe=p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.triggerColumnTitle",{defaultMessage:"Trigger"}),Ae=({items:e,onCreate:t,onDelete:n,onEdit:o,onCopy:r})=>{const[a,l]=Object(i.useState)([]),c=[{field:"drilldownName",name:Te,sortable:!0,"data-test-subj":"drilldownListItemName",render:(e,t)=>Object(O.jsx)("div",null,e," ",t.error&&Object(O.jsx)(F.EuiToolTip,{id:`drilldownError-${t.id}`,content:t.error},Object(O.jsx)(F.EuiIcon,{type:"warning",color:"danger",title:t.error,"aria-label":t.error,"data-test-subj":`drilldownError-${t.id}`,style:{marginLeft:"4px"}})))},{name:Me,render:e=>Object(O.jsx)(xe,{icon:e.icon,color:"subdued"},e.actionName)},{field:"triggers",name:Fe,textOnly:!0,sortable:e=>e.triggers?e.triggers[0].title:"",render:(e,t)=>{var n;if(!t.triggers)return null;const i=t.triggers[0];return Object(O.jsx)(ye,{incompatible:t.triggerIncompatible,tooltip:i.description},null!==(n=i.title)&&void 0!==n?n:"unknown")}},{align:"right",render:e=>Object(O.jsx)(s.a.Fragment,null,!!o&&Object(O.jsx)(F.EuiButtonEmpty,{size:"xs",disabled:!!a.length,onClick:()=>o(e.id)},ve),!!r&&Object(O.jsx)(F.EuiButtonEmpty,{size:"xs",disabled:!!a.length,onClick:()=>r(e.id)},Oe))}].filter(Boolean);return Object(O.jsx)(s.a.Fragment,null,Object(O.jsx)(F.EuiInMemoryTable,{items:e,itemId:"id",columns:c,isSelectable:!0,responsive:!1,selection:{onSelectionChange:e=>{l(e.map((e=>e.id)))},selectableMessage:()=>Ce},rowProps:{"data-test-subj":"listManageDrilldownsItem"},hasActions:!0,sorting:{sort:{field:"drilldownName",direction:"asc"}}}),Object(O.jsx)(F.EuiSpacer,null),!!t&&!a.length&&Object(O.jsx)(F.EuiButton,{fill:!0,onClick:()=>t()},Ee),!!n&&a.length>0&&Object(O.jsx)(F.EuiButton,{color:"danger",fill:!0,onClick:()=>n(a),"data-test-subj":"listManageDeleteDrilldowns"},(d=a.length,p.i18n.translate("uiActionsEnhanced.components.DrilldownTable.deleteDrilldownsButtonLabel",{defaultMessage:"Delete ({count})",values:{count:d}}))));var d},De=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.drilldownList.copyingNotification.dismiss",{defaultMessage:"Dismiss",description:"Dismiss button in cloning notification callout."}),Se=({count:e=1})=>{const[t,n]=i.useState(!1);if(t)return null;const s=Object(O.jsx)(i.Fragment,null,(e=>p.i18n.translate("uiActionsEnhanced.drilldowns.containers.drilldownList.copyingNotification.body",{defaultMessage:"{count, number} {count, plural, one {drilldown} other {drilldowns}} copied.",description:"Title of notification show when one or more drilldowns were copied.",values:{count:e}}))(e)," ",Object(O.jsx)(F.EuiLink,{onClick:()=>n(!0)},De));return Object(O.jsx)(i.Fragment,null,Object(O.jsx)(F.EuiCallOut,{title:s,color:"success",size:"s",iconType:"check"}),Object(O.jsx)(F.EuiSpacer,null))},Ie=p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.selectableMessage",{defaultMessage:"Select this template"}),$e=p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.nameColumnTitle",{defaultMessage:"Name",description:"Title of the first column in drilldown template cloning table."}),ke=(p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.sourceColumnTitle",{defaultMessage:"Panel",description:"Column title which describes from where the drilldown is cloned."}),p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.actionColumnTitle",{defaultMessage:"Action"})),Be=p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.triggerColumnTitle",{defaultMessage:"Trigger"}),Ne=p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.singleItemCopyAction",{defaultMessage:"Copy",description:'"Copy" action button label in drilldown template cloning table last column.'}),Le=({items:e,onCreate:t,onClone:n})=>{const[o,r]=Object(i.useState)([]),a=[{field:"name",name:$e,sortable:!0,render:(e,t)=>Object(O.jsx)("div",{style:{display:"block"}},Object(O.jsx)("div",{style:{display:"block"}},t.name),Object(O.jsx)(F.EuiText,{size:"xs",color:"subdued"},t.description))},{name:ke,render:e=>Object(O.jsx)(xe,{icon:e.actionIcon||"empty",color:"subdued"},e.actionName)},{field:"trigger",name:Be,sortable:!0,render:(e,t)=>Object(O.jsx)(ye,{incompatible:t.triggerIncompatible},t.trigger)},{align:"right",render:e=>!!t&&Object(O.jsx)(F.EuiButtonEmpty,{size:"xs",disabled:!!o.length,onClick:()=>t(e.id)},Ne)}];return Object(O.jsx)(s.a.Fragment,null,Object(O.jsx)(F.EuiInMemoryTable,{itemId:"id",tableLayout:"auto",items:e,columns:a,isSelectable:!!n,responsive:!1,search:{box:{incremental:!0},defaultQuery:""},sorting:{sort:{field:"nameCol",direction:"asc"}},selection:{onSelectionChange:e=>{r(e.map((e=>e.id)))},selectableMessage:()=>Ie},hasActions:!0}),Object(O.jsx)(F.EuiSpacer,null),!!n&&!!o.length&&Object(O.jsx)(F.EuiButton,{fill:!0,onClick:()=>n(o)},(l=o.length,p.i18n.translate("uiActionsEnhanced.components.DrilldownTemplateTable.copyButtonLabel",{defaultMessage:"Copy ({count})",description:"Label of drilldown template table bottom copy button.",values:{count:l}}))));var l},_e=p.i18n.translate("uiActionsEnhanced.drilldownManager.containers.TemplatePicker.label",{defaultMessage:"Copy existing drilldown",description:"Label above template picker table."}),ze=({items:e})=>{const t=T(),n=i.useMemo((()=>e.map((e=>{const n=t.deps.actionFactories.find((({id:t})=>t===e.factoryId)),i=t.deps.getTrigger(e.triggers[0]),s={id:e.id,name:e.name,icon:e.icon,description:e.description,triggerIncompatible:!t.deps.triggers.find((e=>e===i.id))};if(n){const e=t.getActionFactoryContext();s.actionName=n.getDisplayName(e),s.actionIcon=n.getIconType(e)}return i&&(s.trigger=i.title),s}))),[t,e]);return Object(O.jsx)(i.Fragment,null,Object(O.jsx)(F.EuiTitle,{size:"xs"},Object(O.jsx)("h4",null,_e)),Object(O.jsx)(F.EuiSpacer,{size:"s"}),Object(O.jsx)(Le,{items:n,onCreate:t.onCreateFromTemplate,onClone:t.onClone}))},We=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.DrilldownManager.createNew",{defaultMessage:"Create new"}),Re=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.DrilldownManager.manage",{defaultMessage:"Manage"}),Pe=[{id:"create",name:We,content:Object(O.jsx)(i.Fragment,null,Object(O.jsx)(F.EuiSpacer,null),Object(O.jsx)((({})=>{const e=T(),t=e.useActionFactory(),n=e.getDrilldownState();let i=null;return t||(i=null),n&&(i=Object(O.jsx)(je,{state:n})),Object(O.jsx)(s.a.Fragment,null,Object(O.jsx)(X,null),i)}),null),Object(O.jsx)(F.EuiSpacer,{size:"l"}),Object(O.jsx)((()=>{const e=T(),{templates:t}=e.deps;return t&&t.length?Object(O.jsx)(ze,{items:t}):null}),null))},{id:"manage",name:Re,content:Object(O.jsx)(i.Fragment,null,Object(O.jsx)(F.EuiSpacer,null),Object(O.jsx)((({})=>{const e=T(),t=e.useEvents(),n=i.useMemo((()=>e.lastCloneRecord&&e.lastCloneRecord.time>Date.now()-5e3?e.lastCloneRecord.templateIds.length:0),[]);i.useEffect((()=>{e.lastCloneRecord=null}));const s=!!n&&Object(O.jsx)(Se,{count:n});return Object(O.jsx)(i.Fragment,null,s,Object(O.jsx)(Ae,{items:t,onDelete:e.onDelete,onEdit:t=>{e.setRoute(["manage",t])},onCopy:e.onCreateFromDrilldown}))}),null))}],Ve=({})=>{const e=T(),t=e.useRoute();return Object(O.jsx)(F.EuiTabbedContent,{tabs:Pe,selectedTab:Pe.find((({id:e})=>e===t[0])),onTabClick:({id:t})=>e.setRoute([t])})},Ge=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.editDrilldownForm.title",{defaultMessage:"Edit Drilldown",description:"Drilldowns flyout title for edit drilldown form."}),He=p.i18n.translate("uiActionsEnhanced.drilldowns.containers.editDrilldownForm.primaryButton",{defaultMessage:"Save",description:"Primary button on new drilldown edit form."}),Ue=({eventId:e})=>{const t=$()(),n=T(),s=i.useMemo((()=>n.createEventDrilldownState(e)),[n,e]),[o,r]=i.useState(!1);return s?Object(O.jsx)(i.Fragment,null,Object(O.jsx)(k,null,Ge),Object(O.jsx)(Q,{constant:!0,factory:s.factory,context:s.getFactoryContext()}),!!s&&Object(O.jsx)(he,{state:s,disabled:o}),!!s&&Object(O.jsx)(Z,null,Object(O.jsx)(me,{disabled:o,onClick:()=>{r(!0),n.updateEvent(e,s).finally((()=>{t()&&r(!1)}))}},He))):null},Ke=({})=>{const e=T().useRoute();return"new"===e[0]&&e[1]?Object(O.jsx)(fe,null):"manage"===e[0]&&e[1]?Object(O.jsx)(Ue,{eventId:e[1]}):Object(O.jsx)(Ve,null)},Je=p.i18n.translate("uiActionsEnhanced.drilldowns.components.DrilldownHelloBar.helpText",{defaultMessage:"Drilldowns enable you to define new behaviors for interacting with panels. You can add multiple actions and override the default filter."}),Ye=p.i18n.translate("uiActionsEnhanced.drilldowns.components.DrilldownHelloBar.viewDocsLinkLabel",{defaultMessage:"View docs"}),qe=p.i18n.translate("uiActionsEnhanced.drilldowns.components.DrilldownHelloBar.hideHelpButtonLabel",{defaultMessage:"Hide"}),Qe=({docsLink:e,onHideClick:t})=>Object(O.jsx)(F.EuiCallOut,{"data-test-subj":"drilldownsWelcomeMessage"},Object(O.jsx)(F.EuiFlexGroup,{responsive:!1},Object(O.jsx)(F.EuiFlexItem,{grow:!1},Object(O.jsx)(F.EuiIcon,{type:"help"})),Object(O.jsx)(F.EuiFlexItem,{grow:1},Object(O.jsx)(F.EuiText,{size:"s"},Object(O.jsx)(F.EuiTextColor,{color:"subdued"},Je)),e&&Object(O.jsx)(s.a.Fragment,null,Object(O.jsx)(F.EuiSpacer,{size:"xs"}),Object(O.jsx)(F.EuiLink,{href:e,target:"_blank",external:!0},Ye))),!!t&&Object(O.jsx)(F.EuiFlexItem,{grow:!1},Object(O.jsx)(F.EuiButtonEmpty,{size:"xs",onClick:t},qe)))),Xe=({})=>{const e=T();return e.useWelcomeMessage()?null:Object(O.jsx)(Qe,{docsLink:e.deps.docsLink,onHideClick:e.hideWelcomeMessage})},Ze=({})=>{const e=T(),t=e.useRoute(),n=t.length<2?void 0:()=>e.setRoute(t.slice(0,t.length-1));return Object(O.jsx)(S,{title:Object(O.jsx)(B,null),banner:Object(O.jsx)(Xe,null),footer:Object(O.jsx)(ee,null),onClose:e.close,onBack:n},Object(O.jsx)(Ke,null))},et=e=>Object(O.jsx)(M,e,Object(O.jsx)(Ze,null))}}]);