!function(e){function t(t){for(var i,s,r=t[0],o=t[1],a=0,l=[];a!!this.isCompatibleLicense()&&(!t.isCompatible||t.isCompatible(e)),execute:async e=>(this.notifyFeatureUsage(),t.execute(e))}}supportedTriggers(){return this.def.supportedTriggers()}notifyFeatureUsage(){if(!this.minimalLicense||!this.licenseFeatureName||!this.deps.getFeatureUsageStart)return;const e=this.deps.getFeatureUsageStart();e&&e.notifyUsage(this.licenseFeatureName).catch((()=>{console.warn(`ActionFactory [actionFactory.id = ${this.def.id}] fail notify feature usage.`)}))}telemetry(e,t){return this.def.telemetry?this.def.telemetry(e,t):t}extract(e){return this.def.extract?this.def.extract(e):{state:e,references:[]}}inject(e,t){return this.def.inject?this.def.inject(e,t):e}}class dynamic_action_storage_AbstractActionStorage{constructor(){s()(this,"reload$",new r.Subject)}async count(){return(await this.list()).length}async read(e){const t=(await this.list()).find((t=>t.eventId===e));if(!t)throw new Error(`Event [eventId = ${e}] not found.`);return t}}class MemoryActionStorage extends dynamic_action_storage_AbstractActionStorage{constructor(e=[]){super(),this.events=e}async list(){return this.events.map((e=>({...e})))}async create(e){this.events=[...this.events,{...e}]}async update(e){const t=this.events.findIndex((({eventId:t})=>t===e.eventId));if(t<0)throw new Error(`Event [eventId = ${e.eventId}] not found`);this.events=[...this.events.slice(0,t),{...e},...this.events.slice(t+1)]}async remove(e){const t=this.events.findIndex((t=>e===t.eventId));if(t<0)throw new Error(`Event [eventId = ${e}] not found`);this.events=[...this.events.slice(0,t),...this.events.slice(t+1)]}}const c={isFetchingEvents:!1,fetchCount:0,events:[]},l={startFetching:e=>()=>({...e,isFetchingEvents:!0}),finishFetching:e=>t=>({...e,isFetchingEvents:!1,fetchCount:e.fetchCount+1,fetchError:void 0,events:t}),failFetching:e=>({message:t})=>({...e,isFetchingEvents:!1,fetchCount:e.fetchCount+1,fetchError:{message:t}}),addEvent:e=>t=>({...e,events:[...e.events,t]}),removeEvent:e=>t=>({...e,events:e.events?e.events.filter((e=>e.eventId!==t)):e.events}),replaceEvent:e=>t=>{const i=e.events.findIndex((({eventId:e})=>e===t.eventId));return-1===i?e:{...e,events:[...e.events.slice(0,i),t,...e.events.slice(i+1)]}}},d={getEvent:e=>t=>e.events.find((e=>e.eventId===t))||null};var u=i(8),h=i(9),f=i(3);const g=[{id:"dynamicActions",getDisplayName:()=>f.i18n.translate("uiActionsEnhanced.CustomActions",{defaultMessage:"Custom actions"}),getIconType:()=>"symlink",order:26}];class dynamic_action_manager_DynamicActionManager{constructor(e){s()(this,"idPrefix",`D_ACTION_${dynamic_action_manager_DynamicActionManager.idPrefixCounter++}_`),s()(this,"stopped",!1),s()(this,"reloadSubscription",void 0),s()(this,"ui",Object(h.createStateContainer)(c,l,d)),s()(this,"syncId",0),s()(this,"onSync",(()=>{this.stopped||(async()=>{const e=++this.syncId,t=await this.params.storage.list();if(!this.stopped&&e===this.syncId&&!((e,t)=>{if(e.length!==t.length)return!1;for(let i=0;i{console.log("Dynamic action manager storage reload failed."),console.error(e)}))})),s()(this,"state",this.ui),this.params=e}getEvent(e){const t=this.ui.selectors.getEvent(e);if(!t)throw new Error(`Could not find event [eventId = ${e}].`);return t}generateActionId(e){return this.idPrefix+e}reviveAction(e){const{eventId:t,triggers:i,action:n}=e,{uiActions:s,isCompatible:r}=this.params,o=this.generateActionId(t);if(!s.hasActionFactory(n.factoryId))return void console.warn(`Action factory for action [action.factoryId = ${n.factoryId}] doesn't exist. Skipping action [action.name = ${n.name}] revive.`);const a=s.getActionFactory(e.action.factoryId),c=a.create(n);s.registerAction({...c,id:o,grouping:g,isCompatible:async e=>!!await r(e)&&(!c.isCompatible||c.isCompatible(e))});const l=a.supportedTriggers();for(const e of i){if(!l.includes(e))throw new Error(`Can't attach [action=${o}] to [trigger=${e}]. Supported triggers for this action: ${l.join(",")}`);s.attachAction(e,o)}}killAction({eventId:e,triggers:t}){const{uiActions:i}=this.params,n=this.generateActionId(e);if(i.hasAction(n)){for(const e of t)i.detachAction(e,n);i.unregisterAction(n)}}async start(){if(!this.stopped&&!this.ui.get().isFetchingEvents){this.ui.transitions.startFetching();try{const e=await this.params.storage.list();for(const t of e)this.reviveAction(t);this.ui.transitions.finishFetching(e)}catch(e){throw this.ui.transitions.failFetching(e instanceof Error?e:{message:String(e)}),e}this.params.storage.reload$&&(this.reloadSubscription=this.params.storage.reload$.subscribe(this.onSync))}}async stop(){this.stopped=!0;const e=await this.params.storage.list();for(const t of e)this.killAction(t);this.reloadSubscription&&this.reloadSubscription.unsubscribe()}async createEvent(e,t){if(!t.length)throw new Error("No triggers selected for event.");const i={eventId:Object(u.v4)(),triggers:t,action:e};this.ui.transitions.addEvent(i);try{await this.params.storage.create(i),this.reviveAction(i)}catch(e){throw this.ui.transitions.removeEvent(i.eventId),e}}async updateEvent(e,t,i){const n={eventId:e,triggers:i,action:t},s=this.getEvent(e);this.killAction(s),this.reviveAction(n),this.ui.transitions.replaceEvent(n);try{await this.params.storage.update(n)}catch(e){throw this.killAction(n),this.reviveAction(s),this.ui.transitions.replaceEvent(s),e}}async deleteEvent(e){const t=this.getEvent(e);this.killAction(t),this.ui.transitions.removeEvent(e);try{await this.params.storage.remove(e)}catch(e){throw this.reviveAction(t),this.ui.transitions.addEvent(t),e}}async deleteEvents(e){await Promise.all(e.map(this.deleteEvent.bind(this)))}}s()(dynamic_action_manager_DynamicActionManager,"idPrefixCounter",0);class ui_actions_service_enhancements_UiActionsServiceEnhancements{constructor({actionFactories:e=new Map,...t}){s()(this,"actionFactories",void 0),s()(this,"deps",void 0),s()(this,"registerActionFactory",(e=>{if(this.actionFactories.has(e.id))throw new Error(`ActionFactory [actionFactory.id = ${e.id}] already registered.`);const t=new action_factory_ActionFactory(e,this.deps);this.actionFactories.set(t.id,t),this.registerFeatureUsage(e)})),s()(this,"getActionFactory",(e=>{const t=this.actionFactories.get(e);if(!t)throw new Error(`Action factory [actionFactoryId = ${e}] does not exist.`);return t})),s()(this,"hasActionFactory",(e=>this.actionFactories.has(e))),s()(this,"getActionFactories",(()=>[...this.actionFactories.values()])),s()(this,"registerDrilldown",(({id:e,isBeta:t,order:i,CollectConfig:n,createConfig:s,isConfigValid:r,getDisplayName:o,actionMenuItem:c,euiIcon:l,execute:d,getHref:u,minimalLicense:h,licenseFeatureName:f,supportedTriggers:g,isCompatible:p,isConfigurable:m,telemetry:v,extract:y,inject:_})=>{const b={id:e,isBeta:t,minimalLicense:h,licenseFeatureName:f,order:i,CollectConfig:n,createConfig:s,isConfigValid:r,getDisplayName:o,supportedTriggers:g,telemetry:v,extract:y,inject:_,getIconType:()=>l,isCompatible:async e=>!m||m(e),create:t=>({id:"",type:e,getIconType:()=>l,getDisplayName:()=>t.name,MenuItem:c?({context:e})=>Object(a.createElement)(c,{context:e,config:t}):void 0,execute:async e=>await d(t.config,e),getHref:u?async e=>u(t.config,e):void 0,isCompatible:p?async e=>p(t.config,e):void 0})};this.registerActionFactory(b)})),s()(this,"registerFeatureUsage",(e=>{e.minimalLicense&&e.licenseFeatureName&&this.deps.featureUsageSetup&&this.deps.featureUsageSetup.register(e.licenseFeatureName,e.minimalLicense)})),s()(this,"telemetry",((e,t={})=>{let i=t;return e.events.forEach((e=>{this.actionFactories.has(e.action.factoryId)&&(i=this.actionFactories.get(e.action.factoryId).telemetry(e,i))})),i})),s()(this,"extract",(e=>{const t=[];return{state:{events:e.events.map((e=>{const i=this.actionFactories.has(e.action.factoryId)?this.actionFactories.get(e.action.factoryId).extract(e):{state:e,references:[]};return t.push(...i.references),i.state}))},references:t}})),s()(this,"inject",((e,t)=>({events:e.events.map((e=>this.actionFactories.has(e.action.factoryId)?this.actionFactories.get(e.action.factoryId).inject(e,t):e))}))),this.actionFactories=e,this.deps=t}}var p=i(7),m=i.n(p),v=i(2);const y=a.lazy((()=>i.e(2).then(i.bind(null,71)).then((e=>({default:e.DrilldownManagerWithProvider})))));class plugin_AdvancedUiActionsPublicPlugin{getLicenseInfo(){if(!this.licenseInfo.getValue())throw new Error("AdvancedUiActionsPublicPlugin: License is not ready! License becomes available only after setup.");return this.licenseInfo.getValue()}constructor(e){s()(this,"licenseInfo",new r.BehaviorSubject(void 0)),s()(this,"enhancements",void 0),s()(this,"subs",[])}setup(e,{embeddable:t,uiActions:i,licensing:n}){const s=Object(o.createStartServicesGetter)(e.getStartServices);var r;return this.enhancements=new ui_actions_service_enhancements_UiActionsServiceEnhancements({getLicense:()=>this.getLicenseInfo(),featureUsageSetup:null==n?void 0:n.featureUsage,getFeatureUsageStart:()=>{var e;return null===(e=s().plugins.licensing)||void 0===e?void 0:e.featureUsage}}),t.registerEnhancement((r=this.enhancements,{id:"dynamicActions",telemetry:(e,t)=>r.telemetry(e,t),extract:e=>r.extract(e),inject:(e,t)=>r.inject(e,t)})),{...i,...this.enhancements}}start(e,{uiActions:t,licensing:i}){var n,s;return i&&this.subs.push(i.license$.subscribe(this.licenseInfo)),{...t,...this.enhancements,DrilldownManager:(s={actionFactories:this.enhancements.getActionFactories(),getTrigger:e=>t.getTrigger(e),storage:new o.Storage(null===(n=window)||void 0===n?void 0:n.localStorage),toastService:e.notifications.toasts,docsLink:e.docLinks.links.dashboard.drilldowns,triggerPickerDocsLink:e.docLinks.links.dashboard.drilldownsTriggerPicker},e=>{const t=s.actionFactories.filter((t=>{const i=t.supportedTriggers();for(const t of i)if(e.triggers.includes(t))return!0;return!1}));return Object(v.jsx)(a.Suspense,{fallback:null},Object(v.jsx)(y,m()({},s,e,{actionFactories:t})))})}}stop(){this.subs.forEach((e=>e.unsubscribe()))}}const _=a.lazy((()=>i.e(3).then(i.bind(null,72)).then((({UrlDrilldownCollectConfig:e})=>({default:e}))))),b=e=>Object(v.jsx)(a.Suspense,{fallback:null},Object(v.jsx)(_,e));async function w(e,t,n=!0){const{handlebars:s}=await Promise.all([i.e(0),i.e(4)]).then(i.bind(null,70)),{compileFnName:r}=await i.e(0).then(i.bind(null,69));let o=s[r](e,{strict:!0,noEscape:!0})(t);return n&&(o=encodeURI(o)),o}const A=f.i18n.translate("uiActionsEnhanced.drilldowns.urlDrilldownValidation.urlFormatGeneralErrorMessage",{defaultMessage:"Invalid format. Example: {exampleUrl}",values:{exampleUrl:"https://www.my-url.com/?{{event.key}}={{event.value}}"}}),E=e=>f.i18n.translate("uiActionsEnhanced.drilldowns.urlDrilldownValidation.urlFormatErrorMessage",{defaultMessage:"Invalid format: {message}",values:{message:e}}),F=/^(?:(?:https?|mailto):|[^&:/?#]*(?:[/?#]|$))/gi;function I(e){if(!e)return{isValid:!1,error:A};try{if(new URL(e),!e.match(F))throw new Error;return{isValid:!0}}catch(e){return{isValid:!1,error:A}}}async function C(e,t){if(!e.template)return{isValid:!1,error:A};try{return I(await w(e.template,t))}catch(e){return{isValid:!1,error:E(e.message)}}}function S({core:e}){return()=>({kibanaUrl:window.location.origin+e.http.basePath.get()})}function x(e){return new plugin_AdvancedUiActionsPublicPlugin(e)}},function(e,t){e.exports=__kbnSharedDeps__.ElasticEui},function(e,t){e.exports=__kbnSharedDeps__.RxjsOperators},function(e,t){e.exports=__kbnSharedDeps__.TsLib},function(e,t,i){i.r(t);var n=__kbnBundles__.get("plugin/kibanaReact/public");Object.defineProperties(t,Object.getOwnPropertyDescriptors(n))},function(e,t){e.exports=__kbnSharedDeps__.KbnRison},function(e,t){e.exports=__kbnSharedDeps__.KbnDatemath},function(e,t){e.exports=__kbnSharedDeps__.Moment},function(e,t){e.exports=__kbnSharedDeps__.ElasticNumeral}]);