/*! 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.canvas_bundle_jsonpfunction=window.canvas_bundle_jsonpfunction||[]).push([[13],{446:function(e,t,r){"use strict";r.r(t),r.d(t,"customElementServiceFactory",(function(){return i})),r.d(t,"dataViewsServiceFactory",(function(){return c})),r.d(t,"embeddablesServiceFactory",(function(){return l})),r.d(t,"expressionsServiceFactory",(function(){return f})),r.d(t,"filtersServiceFactory",(function(){return M})),r.d(t,"labsServiceFactory",(function(){return y})),r.d(t,"notifyServiceFactory",(function(){return $})),r.d(t,"platformServiceFactory",(function(){return j})),r.d(t,"reportingServiceFactory",(function(){return C})),r.d(t,"visualizationsServiceFactory",(function(){return E})),r.d(t,"workpadServiceFactory",(function(){return A})),r.d(t,"pluginServiceProviders",(function(){return R})),r.d(t,"pluginServiceRegistry",(function(){return _}));var n=r(25),s=r(0);const i=({coreStart:e})=>{const{http:t}=e,r=`${s.a}`;return{create:e=>t.post(r,{body:JSON.stringify(e),version:"1"}),get:e=>t.get(`${r}/${e}`,{version:"1"}).then((({data:e})=>e)),update:(e,n)=>t.put(`${r}/${e}`,{body:JSON.stringify(n),version:"1"}),remove:e=>t.delete(`${r}/${e}`,{version:"1"}),find:async e=>t.get(`${r}/find`,{query:{name:e,perPage:1e4},version:"1"})}};var a=r(59);const{esService:o}=a.f,c=({startPlugins:e},{notify:t})=>({getDataViews:async()=>{try{return(await e.dataViews.getIdsWithTitle()).map((({id:e,name:t,title:r})=>({id:e,name:t,title:r})))}catch(e){t.error(e,{title:o.getIndicesFetchErrorMessage()})}return[]},getFields:async t=>(await e.dataViews.create({title:t})).fields.filter((e=>!e.name.startsWith("_"))).map((e=>e.name)),getDefaultDataView:async()=>{const t=await e.dataViews.getDefaultDataView();return t?{id:t.id,name:t.name,title:t.getIndexPattern()}:void 0}}),l=({startPlugins:e})=>({getEmbeddableFactories:e.embeddable.getEmbeddableFactories,getStateTransfer:e.embeddable.getStateTransfer});var u=r(1),d=r.n(u),g=r(65),p=r(29),v=r(91);class expressions_ExpressionsService{constructor(e,{filters:t,notify:r}){d()(this,"filters",void 0),d()(this,"notify",void 0),this.expressions=e,this.filters=t,this.notify=r}async interpretAst(e,t,r=null){const n=await this.getGlobalContext();return await this.interpretAstWithContext(e,r,{...null!=n?n:{},variables:t})}async interpretAstWithContext(e,t=null,r){return await this.expressions.execute(e,t,{...r,namespace:"canvas"}).getData().pipe(Object(p.pluck)("result")).toPromise()}async runInterpreter(e,t,r,n={}){const s=await this.getGlobalContext(),i={...null!=s?s:{},variables:r};try{const r=await this.interpretAstWithContext(e,t,i);if("render"===Object(g.e)(r))return r;if(n.castToRender)return this.runInterpreter(Object(g.d)("render"),r,i,{castToRender:!1});throw new Error(`Ack! I don't know how to render a '${Object(g.e)(r)}'`)}catch(e){throw this.notify.error(e),e}}getRenderer(e){return this.expressions.getRenderer(e)}getFunctions(){return this.expressions.getFunctions()}async getFilters(){const e=this.filters.getFilters(),t=this.filters.getFiltersContext(),r=e.join(" | "),n=Object(g.d)(r);return await this.interpretAstWithContext(n,null,t)}async getGlobalContext(){const e=await this.getFilters();return{searchContext:{...Object(v.a)(e?e.and:[])}}}}const f=({startPlugins:e},t)=>new expressions_ExpressionsService(e.expressions,t);var b=r(22);r(5);const y=({startPlugins:e,coreStart:t})=>({projectIDs:b.projectIDs,isLabsEnabled:()=>t.uiSettings.get("labs:canvas:enable_ui"),...e.presentationUtil.labsService});var h=r(7),m=r(19),S=r.n(m),w=r(3);const P=S.a.has,x=e=>{const t=(e=>S.a.get(e,"resp.error.root_cause"))(e);if(Array.isArray(t))return t.map((e=>e.reason)).join("\n")};function F(e,t=""){let r="";t&&(r+=t+": ");const n=x(e);return"string"==typeof e?r+=e:n?r+=n:e instanceof Error?r+=F.describeError(e):P(e,"status")&&P(e,"data")&&(-1===e.status?r+=w.i18n.translate("xpack.canvas.formatMsg.toaster.unavailableServerErrorMessage",{defaultMessage:"An HTTP request has failed to connect. Please check if the Kibana server is running and that your browser has a working connection, or contact your system administrator."}):r+=w.i18n.translate("xpack.canvas.formatMsg.toaster.errorStatusMessage",{defaultMessage:"Error {errStatus} {errStatusText}: {errMessage}",values:{errStatus:e.status,errStatusText:e.statusText,errMessage:e.data.message}})),r}F.describeError=function(e){if(e)return e.shortMessage?e.shortMessage:e.body&&e.body.message?e.body.message:e.message?e.message:""+e};const O=(e,t={})=>{const r=Object(m.get)(e,"response")||e,n=F(void 0!==Object(m.get)(e,"body",void 0)?e:r),{title:s,...i}=t;let a;return s&&(a=n),{...i,title:s||n,text:a}},$=({coreStart:e})=>{const t=e.notifications.toasts;return{error(e,r){t.addDanger(O(e,r))},warning(e,r){t.addWarning(O(e,r))},info(e,r){t.add(O(e,r))},success(e,r){t.addSuccess(O(e,r))}}},j=({coreStart:e,initContext:t,startPlugins:r})=>{var n,s;if(!t)throw new Error("Canvas platform service requires init context");return{getBasePath:e.http.basePath.get,getBasePathInterface:()=>e.http.basePath,getElasticWebsiteUrl:()=>e.docLinks.ELASTIC_WEBSITE_URL,getDocLinkVersion:()=>e.docLinks.DOC_LINK_VERSION,getKibanaVersion:()=>t.env.packageInfo.version,getHasWriteAccess:()=>e.application.capabilities.canvas.save,getUISetting:e.uiSettings.get.bind(e.uiSettings),hasHeaderBanner$:e.chrome.hasHeaderBanner$,setBreadcrumbs:e.chrome.setBreadcrumbs,setRecentlyAccessed:e.chrome.recentlyAccessed.add,setFullscreen:e.chrome.setIsVisible,redirectLegacyUrl:null===(n=r.spaces)||void 0===n?void 0:n.ui.redirectLegacyUrl,getLegacyUrlConflict:null===(s=r.spaces)||void 0===s?void 0:s.ui.components.getLegacyUrlConflict,getUISettings:()=>e.uiSettings,getHttp:()=>e.http,getContentManagement:()=>r.contentManagement}},C=({startPlugins:e,coreStart:t})=>{const{reporting:r}=e,n=()=>({getReportingPanelPDFComponent:()=>(null==r?void 0:r.components.ReportingPanelPDFV2)||null});return r?r.usesUiCapabilities()?!0===(null===(s=t.application.capabilities.canvas)||void 0===s?void 0:s.generatePdf)?n():{getReportingPanelPDFComponent:()=>null}:n():{getReportingPanelPDFComponent:()=>null};var s},E=({startPlugins:e})=>({showNewVisModal:e.visualizations.showNewVisModal,getByGroup:e.visualizations.getByGroup,getAliases:e.visualizations.getAliases}),k=["@created","@timestamp","assets","colors","css","variables","height","id","isWriteable","name","page","pages","width"],I=function(e){const t=Object.keys(e);for(const r of t)k.includes(r)||delete e[r];return e},A=({coreStart:e,startPlugins:t})=>{const r=function(){return`${s.f}`};return{get:async t=>{const n=await e.http.get(`${r()}/${t}`,{version:"1"});return{css:s.r,variables:[],...n}},export:async t=>{var n,i;const a=await e.http.get(`${r()}/export/${t}`,{version:"1"}),{attributes:o}=a;return{...a,attributes:{...o,css:null!==(n=o.css)&&void 0!==n?n:s.r,variables:null!==(i=o.variables)&&void 0!==i?i:[]}}},resolve:async t=>{const{workpad:n,...i}=await e.http.get(`${r()}/resolve/${t}`,{version:"1"});return{...i,workpad:{css:s.r,variables:[],...n}}},create:t=>e.http.post(r(),{body:JSON.stringify({...I({...t}),assets:t.assets||{},variables:t.variables||[]}),version:"1"}),import:t=>e.http.post(`${r()}/import`,{body:JSON.stringify({...I({...t}),assets:t.assets||{},variables:t.variables||[]}),version:"1"}),createFromTemplate:t=>e.http.post(r(),{body:JSON.stringify({templateId:t}),version:"1"}),findTemplates:async()=>e.http.get(s.e,{version:"1"}),find:t=>{const n="string"==typeof t&&t.length>0;return e.http.get(`${r()}/find`,{query:{perPage:1e4,name:n?t:""},version:"1"})},remove:t=>e.http.delete(`${r()}/${t}`,{version:"1"}),update:(t,n)=>e.http.put(`${r()}/${t}`,{body:JSON.stringify({...I({...n})}),version:"1"}),updateWorkpad:(t,r)=>e.http.put(`${s.h}/${t}`,{body:JSON.stringify({...I({...r})}),version:"1"}),updateAssets:(t,r)=>e.http.put(`${s.g}/${t}`,{body:JSON.stringify(r),version:"1"}),getRuntimeZip:t=>e.http.post(s.d,{body:JSON.stringify(t),version:"1"})}};var T=r(160),V=r(64),D=r(67);class filters_FiltersService{constructor(){}getFilters(e=Object(T.d)()){return Object(V.h)(e)}updateFilter(e,t){const{dispatch:r}=Object(T.e)();r(Object(D.o)(t,e,!0))}getFiltersContext(e=Object(T.d)()){return{variables:Object(V.A)(e)}}}const M=()=>new filters_FiltersService,R={customElement:new n.PluginServiceProvider(i),dataViews:new n.PluginServiceProvider(c,["notify"]),embeddables:new n.PluginServiceProvider(l),expressions:new n.PluginServiceProvider(f,["filters","notify"]),filters:new n.PluginServiceProvider(M),labs:new n.PluginServiceProvider(y),navLink:new n.PluginServiceProvider((({coreStart:e,appUpdater:t})=>({updatePath:r=>{null==t||t.next((()=>({defaultPath:`${r}`}))),Object(h.b)().set(`${s.B}:${e.http.basePath.get()}`,r)}}))),notify:new n.PluginServiceProvider($),platform:new n.PluginServiceProvider(j),reporting:new n.PluginServiceProvider(C),visualizations:new n.PluginServiceProvider(E),workpad:new n.PluginServiceProvider(A)},_=new n.PluginServiceRegistry(R)},91:function(e,t,r){"use strict";r.d(t,"b",(function(){return d})),r.d(t,"a",(function(){return g}));var n=r(37),s=r(30),i=r.n(s),a=r(19),o=r(162);const c="time",l=(e,t=!1)=>{if(!e)return null;const r=i.a.parse(e,{roundUp:t});return r&&r.isValid()?r.valueOf():null};function u(e){const t=e.filter((e=>void 0!==e.filterType&&e.filterType===c&&void 0!==e.from&&void 0!==e.to)).filter((e=>null!==l(e.from)&&null!==l(e.to,!0))),r=Object(a.minBy)(t,(e=>l(e.from))),n=Object(a.maxBy)(t,(e=>l(e.to,!0)));return null!=r&&r.from&&null!=n&&n.to?{from:r.from,to:n.to}:void 0}function d(e){const t=e.map((e=>({...e,type:e.filterType})));return Object(o.a)(t).map(((e,t)=>{const{group:r,...s}=e;return Object(n.buildQueryFilter)(s,t.toString(),"",{group:r})}))}function g(e){return{timeRange:u(e),filters:d(e)}}}}]);