(window.data_bundle_jsonpfunction=window.data_bundle_jsonpfunction||[]).push([[1],{106:function(e,t){e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgPHBhdGggZmlsbD0iIzM0Mzc0MSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTQgNWwtMy0ydjEuMzMzMzNINHYxLjMzMzM0aDdWN2wzLTJ6TTAgMTEuNWMwLS44Mjg0LjY3MTU3My0xLjUgMS41LTEuNWgxMy4wMDAyYy44Mjg1IDAgMS41LjY3MTYgMS41IDEuNXMtLjY3MTUgMS41LTEuNSAxLjVIMS41Qy42NzE1NzMgMTMgMCAxMi4zMjg0IDAgMTEuNXptMTQuNTAwMi0uNUgxMXYxaDMuNTAwMmMuMjc2MiAwIC41LS4yMjM5LjUtLjVzLS4yMjM4LS41LS41LS41eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo="},107:function(e,t,s){switch(window.__kbnThemeTag__){case"v8dark":return s(108);case"v8light":return s(110)}},108:function(e,t,s){var a=s(68),n=s(109);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.i,n,""]]);a(n,{insert:"head",singleton:!1}),e.exports=n.locals||{}},109:function(e,t,s){(t=s(69)(!1)).push([e.i,".searchSessionsFlyout .euiFlyoutBody__overflowContent,.searchSessionsFlyout .euiFlyoutBody__overflowContent>div{height:100%}",""]),e.exports=t},110:function(e,t,s){var a=s(68),n=s(111);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.i,n,""]]);a(n,{insert:"head",singleton:!1}),e.exports=n.locals||{}},111:function(e,t,s){(t=s(69)(!1)).push([e.i,".searchSessionsFlyout .euiFlyoutBody__overflowContent,.searchSessionsFlyout .euiFlyoutBody__overflowContent>div{height:100%}",""]),e.exports=t},112:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=s(77),n=s(10),o=a.__importDefault(s(113));t.default=function(e,t,s){void 0===t&&(t=0),void 0===s&&(s=[]);var a=o.default(e,t),i=a[0],r=a[1],c=a[2];return n.useEffect(c,s),[i,r]}},113:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=s(10);t.default=function(e,t){void 0===t&&(t=0);var s=a.useRef(!1),n=a.useRef(),o=a.useRef(e),i=a.useCallback((function(){return s.current}),[]),r=a.useCallback((function(){s.current=!1,n.current&&clearTimeout(n.current),n.current=setTimeout((function(){s.current=!0,o.current()}),t)}),[t]),c=a.useCallback((function(){s.current=null,n.current&&clearTimeout(n.current)}),[]);return a.useEffect((function(){o.current=e}),[e]),a.useEffect((function(){return r(),c}),[t]),[i,c,r]}},98:function(e,t,s){"use strict";s.r(t),s.d(t,"SearchSessionsMgmtApp",(function(){return application_SearchSessionsMgmtApp})),s.d(t,"renderApp",(function(){return ce}));var a=s(72),n=s(0),o=s(6),i=s.n(o),r=s(7),c=s(5),l=s(15),u=s(10),d=s.n(u),m=s(48),h=s(32),g=s(9);const j=e=>{const{searchSession:t,api:s,onActionDismiss:a}=e,{name:o,id:i}=t,[r,c]=Object(u.useState)(!1),d=n.i18n.translate("data.mgmt.searchSessions.cancelModal.title",{defaultMessage:"Delete search session"}),m=n.i18n.translate("data.mgmt.searchSessions.cancelModal.deleteButton",{defaultMessage:"Delete"}),h=n.i18n.translate("data.mgmt.searchSessions.cancelModal.cancelButton",{defaultMessage:"Cancel"}),j=n.i18n.translate("data.mgmt.searchSessions.cancelModal.message",{defaultMessage:"Deleting the search session '{name}' deletes all cached results.",values:{name:o}});return Object(g.jsx)(l.EuiConfirmModal,{title:d,onCancel:a,onConfirm:async()=>{c(!0),await s.sendDelete(i),a()},confirmButtonText:m,confirmButtonDisabled:r,cancelButtonText:h,defaultFocusedButton:"confirm",buttonColor:"danger"},j)};var p=s(106),S=s.n(p);const b=({...e})=>{const{searchSession:t,api:s,onActionDismiss:a}=e,{id:o,name:r,expires:c}=t,[d,m]=Object(u.useState)(!1),h=i.a.duration(s.getExtendByDuration()),j=i()(c).add(h),p=n.i18n.translate("data.mgmt.searchSessions.extendModal.title",{defaultMessage:"Extend search session expiration"}),S=n.i18n.translate("data.mgmt.searchSessions.extendModal.extendButton",{defaultMessage:"Extend expiration"}),b=n.i18n.translate("data.mgmt.searchSessions.extendModal.dontExtendButton",{defaultMessage:"Cancel"}),f=n.i18n.translate("data.mgmt.searchSessions.extendModal.extendMessage",{defaultMessage:"The search session '{name}' expiration would be extended until {newExpires}.",values:{name:r,newExpires:j.toLocaleString()}});return Object(g.jsx)(l.EuiConfirmModal,{title:p,onCancel:a,onConfirm:async()=>{m(!0),await s.sendExtend(o,`${j.toISOString()}`),m(!1),a()},confirmButtonText:S,confirmButtonDisabled:d,cancelButtonText:b,defaultFocusedButton:"confirm",buttonColor:"primary"},f)};s(107);const f=({searchSession:e})=>Object(g.jsx)(d.a.Fragment,null,Object(g.jsx)(l.EuiFlyoutHeader,{hasBorder:!0},Object(g.jsx)(l.EuiTitle,{size:"m"},Object(g.jsx)("h2",{id:"flyoutTitle"},Object(g.jsx)(m.FormattedMessage,{id:"data.sessions.management.flyoutTitle",defaultMessage:"Inspect search session"})))),Object(g.jsx)(l.EuiFlyoutBody,{className:"searchSessionsFlyout","data-test-subj":"searchSessionsFlyout"},Object(g.jsx)(l.EuiText,null,Object(g.jsx)(l.EuiText,{size:"xs"},Object(g.jsx)("p",null,Object(g.jsx)(m.FormattedMessage,{id:"data.sessions.management.flyoutText",defaultMessage:"Configuration for this search session"}))),Object(g.jsx)(l.EuiSpacer,null),Object(g.jsx)(u.Fragment,null,Object(g.jsx)(h.CodeEditor,{languageId:"json",value:JSON.stringify(e,null,2),options:{readOnly:!0,lineNumbers:"off",fontSize:12,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",wrappingIndent:"indent",automaticLayout:!0}}))))),x=({searchSession:e,uiSettings:t,settings:s,theme:a})=>{const{Provider:n}=Object(h.createKibanaReactContext)({uiSettings:t,settings:s,theme:a});return Object(g.jsx)(n,null,Object(g.jsx)(f,{searchSession:e}))};let M;!function(e){e.INSPECT="inspect",e.EXTEND="extend",e.DELETE="delete",e.RENAME="rename"}(M||(M={}));const E=({onActionDismiss:e,...t})=>{const{api:s,searchSession:a}=t,{id:o,name:i}=a,[r,c]=Object(u.useState)(!1),[d,m]=Object(u.useState)(i),h=n.i18n.translate("data.mgmt.searchSessions.renameModal.title",{defaultMessage:"Edit search session name"}),j=n.i18n.translate("data.mgmt.searchSessions.renameModal.renameButton",{defaultMessage:"Save"}),p=n.i18n.translate("data.mgmt.searchSessions.renameModal.cancelButton",{defaultMessage:"Cancel"}),S=n.i18n.translate("data.mgmt.searchSessions.renameModal.searchSessionNameInputLabel",{defaultMessage:"Search session name"}),b=d&&i!==d;return Object(g.jsx)(l.EuiModal,{onClose:e,initialFocus:"[name=newName]"},Object(g.jsx)(l.EuiModalHeader,null,Object(g.jsx)(l.EuiModalHeaderTitle,null,h)),Object(g.jsx)(l.EuiModalBody,null,Object(g.jsx)(l.EuiForm,null,Object(g.jsx)(l.EuiFormRow,{label:S},Object(g.jsx)(l.EuiFieldText,{name:"newName",placeholder:i,value:d,onChange:e=>m(e.target.value)})))),Object(g.jsx)(l.EuiModalFooter,null,Object(g.jsx)(l.EuiButtonEmpty,{onClick:e,"data-test-subj":"cancelEditName"},p),Object(g.jsx)(l.EuiButton,{disabled:!b,onClick:async()=>{b&&(c(!0),await s.sendRename(o,d),c(!1),e())},fill:!0,isLoading:r},j)))},O=({api:e,onActionComplete:t,session:s,core:a})=>{const[o,i]=Object(u.useState)(!1),r=()=>{i(!1)},c=s.actions||[],d=[{id:0,items:c.reduce(((n,o)=>{const i=((e,t,s,a)=>{switch(t){case M.INSPECT:return((e,t,s)=>({iconType:"document",label:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.flyoutTitle","aria-label":"Inspect",defaultMessage:"Inspect"}),onClick:async()=>{const e=Object(g.jsx)(x,{uiSettings:s.uiSettings,settings:s.settings,theme:s.theme,searchSession:t}),a=s.overlays.openFlyout(Object(h.toMountPoint)(e,{theme$:s.theme.theme$}));await a.onClose}}))(0,s,a);case M.DELETE:return((e,t,s)=>({iconType:"trash",label:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.actionDelete",defaultMessage:"Delete"}),onClick:async()=>{const a=s.overlays.openModal(Object(h.toMountPoint)(Object(g.jsx)(j,{onActionDismiss:()=>null==a?void 0:a.close(),searchSession:t,api:e}),{theme$:s.theme.theme$}));await a.onClose}}))(e,s,a);case M.EXTEND:return((e,t,s)=>({iconType:S.a,label:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.actionExtend",defaultMessage:"Extend"}),onClick:async()=>{const a=s.overlays.openModal(Object(h.toMountPoint)(Object(g.jsx)(b,{onActionDismiss:()=>null==a?void 0:a.close(),searchSession:t,api:e}),{theme$:s.theme.theme$}));await a.onClose}}))(e,s,a);case M.RENAME:return((e,t,s)=>({iconType:"pencil",label:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.actionRename",defaultMessage:"Edit name"}),onClick:async()=>{const a=s.overlays.openModal(Object(h.toMountPoint)(Object(g.jsx)(E,{onActionDismiss:()=>null==a?void 0:a.close(),api:e,searchSession:t}),{theme$:s.theme.theme$}));await a.onClose}}))(e,s,a);default:console.error(`Unknown action: ${t}`)}return null})(e,o,s,a);if(i){const{label:e,iconType:s,onClick:a}=i;return c.length>1&&o===M.DELETE&&n.push({isSeparator:!0,key:"separadorable"}),[...n,{key:`action-${o}`,name:e,icon:s,"data-test-subj":`sessionManagementPopoverAction-${o}`,onClick:async()=>{r(),await a(),t()}}]}return n}),[])}];return c.length?Object(g.jsx)(l.EuiPopover,{id:`popover-${s.id}`,button:Object(g.jsx)(l.EuiToolTip,{content:n.i18n.translate("data.mgmt.searchSessions.actions.tooltip.moreActions",{defaultMessage:"More actions"})},Object(g.jsx)(l.EuiButtonIcon,{"aria-label":n.i18n.translate("data.mgmt.searchSessions.ariaLabel.moreActions",{defaultMessage:"More actions"}),color:"text",iconType:"boxesHorizontal",onClick:()=>{i(!o)}})),isOpen:o,closePopover:r,anchorPosition:"downLeft",panelPaddingSize:"s"},Object(g.jsx)(l.EuiContextMenu,{initialPanelId:0,panels:d})):null};var y=s(3);function C(e,t,s){try{const a=e.get(t);return null==a?void 0:a.getRedirectUrl(s)}catch(e){console.error("Could not create URL from restoreState"),console.error(e)}}class api_SearchSessionsMgmtAPI{constructor(e,t,s){this.sessionsClient=e,this.config=t,this.deps=s}async fetchTableData(){const e=this.config.management,t=i.a.duration(e.refreshTimeout),s=Object(r.from)(this.sessionsClient.find({page:1,perPage:e.maxSessions,sortField:"created",sortOrder:"desc"})),a=Object(r.timer)(t.asMilliseconds()).pipe(Object(c.tap)((()=>{this.deps.notifications.toasts.addDanger(n.i18n.translate("data.mgmt.searchSessions.api.fetchTimeout",{defaultMessage:"Fetching the Search Session info timed out after {timeout} seconds",values:{timeout:t.asSeconds()}}))})),Object(c.mapTo)(null));try{const e=await Object(r.race)(s,a).toPromise();if(e&&e.saved_objects){const t=e.saved_objects;return await Promise.all(t.map((o=this.deps.locators,this.config,l=e.statuses,async e=>{var t,s;const{name:a,appId:n,created:i,expires:r,locatorId:c,initialState:u,restoreState:d,idMapping:m,version:h}=e.attributes,g=null===(t=l[e.id])||void 0===t?void 0:t.status,j=null===(s=l[e.id])||void 0===s?void 0:s.errors,p=function(e){const t=[];return t.push(M.INSPECT),t.push(M.RENAME),e!==y.SearchSessionStatus.IN_PROGRESS&&e!==y.SearchSessionStatus.COMPLETE||(t.push(M.EXTEND),t.push(M.DELETE)),e!==y.SearchSessionStatus.EXPIRED&&e!==y.SearchSessionStatus.ERROR&&e!==y.SearchSessionStatus.CANCELLED||t.push(M.DELETE),t}(g);u&&delete u.searchSessionId;const S=await C(o,c,u),b=await C(o,c,d);return{id:e.id,name:a,appId:n,created:i,expires:r,status:g,actions:p,restoreUrl:b,reloadUrl:S,initialState:u,restoreState:d,idMapping:m,numSearches:Object.keys(m).length,version:h,errors:j}})))}}catch(e){console.error(e),this.deps.notifications.toasts.addError(e,{title:n.i18n.translate("data.mgmt.searchSessions.api.fetchError",{defaultMessage:"Failed to refresh the page!"})})}var o,l;return[]}getExtendByDuration(){return this.config.defaultExpiration}async sendDelete(e){var t;null===(t=this.deps.usageCollector)||void 0===t||t.trackSessionDeleted();try{await this.sessionsClient.delete(e),this.deps.notifications.toasts.addSuccess({title:n.i18n.translate("data.mgmt.searchSessions.api.deleted",{defaultMessage:"The search session was deleted."})})}catch(e){this.deps.notifications.toasts.addError(e,{title:n.i18n.translate("data.mgmt.searchSessions.api.deletedError",{defaultMessage:"Failed to delete the search session!"})})}}async sendExtend(e,t){var s;null===(s=this.deps.usageCollector)||void 0===s||s.trackSessionExtended();try{await this.sessionsClient.extend(e,t),this.deps.notifications.toasts.addSuccess({title:n.i18n.translate("data.mgmt.searchSessions.api.extended",{defaultMessage:"The search session was extended."})})}catch(e){this.deps.notifications.toasts.addError(e,{title:n.i18n.translate("data.mgmt.searchSessions.api.extendError",{defaultMessage:"Failed to extend the search session!"})})}}async sendRename(e,t){try{await this.sessionsClient.rename(e,t),this.deps.notifications.toasts.addSuccess({title:n.i18n.translate("data.mgmt.searchSessions.api.rename",{defaultMessage:"The search session was renamed"})})}catch(e){this.deps.notifications.toasts.addError(e,{title:n.i18n.translate("data.mgmt.searchSessions.api.renameError",{defaultMessage:"Failed to rename the search session"})})}}}var T=s(2),v=s.n(T);class documentation_AsyncSearchIntroDocumentation{constructor(e){v()(this,"docUrl","");const{links:t}=e;this.docUrl=t.search.sessions}getElasticsearchDocLink(){return`${this.docUrl}`}}var w=s(67),D=s.n(w),I=s(95),L=s(65),A=s.n(L),k=s(96),R=s.n(k);let N;!function(e){e.preboot="preboot",e.standard="standard"}(N||(N={}));const _="eui-global",F="eui-utilities",P={darkMode:!1},B=R()({key:"css",container:document.querySelector('meta[name="emotion"]')}),z=R()({key:_,container:document.querySelector(`meta[name="${_}"]`)}),$=R()({key:F,container:document.querySelector(`meta[name="${F}"]`)});B.compat=!0,z.compat=!0,$.compat=!0;const U={default:B,global:z,utility:$},H=({theme:{theme$:e},globalStyles:t,colorMode:s,children:a})=>{const n=A()(e,P),o=Object(u.useMemo)((()=>(e=>e.darkMode?l.COLOR_MODES_STANDARD.dark:l.COLOR_MODES_STANDARD.light)(n)),[n]),i=s||o,r=!1!==t&&void 0;return Object(g.jsx)(l.EuiProvider,{cache:U,colorMode:i,globalStyles:r,utilityClasses:r},a)},Y=({children:e,i18n:t,...s})=>Object(g.jsx)(H,s,Object(g.jsx)(t.Context,null,e)),W=({children:e,...t})=>Object(g.jsx)(Y,D()({globalStyles:!1},t),Object(g.jsx)(l.EuiErrorBoundary,null,e));var X=s(112),G=s.n(X);const V=({children:e,...t})=>Object(g.jsx)(l.EuiText,D()({size:"s"},t),e);var Z=s(1),J=s(17),q=s.n(J);const K="D MMM, YYYY, HH:mm:ss",Q=(e,t)=>{if(null==e)throw new Error("Invalid date string!");let s;return s="Browser"===t?q.a.utc(e).tz(q.a.tz.guess()).format(K):q()(e).tz(t).format(K),s},ee=e=>{switch(e){case y.SearchSessionStatus.IN_PROGRESS:return n.i18n.translate("data.mgmt.searchSessions.status.label.inProgress",{defaultMessage:"In progress"});case y.SearchSessionStatus.EXPIRED:return n.i18n.translate("data.mgmt.searchSessions.status.label.expired",{defaultMessage:"Expired"});case y.SearchSessionStatus.CANCELLED:return n.i18n.translate("data.mgmt.searchSessions.status.label.cancelled",{defaultMessage:"Cancelled"});case y.SearchSessionStatus.COMPLETE:return n.i18n.translate("data.mgmt.searchSessions.status.label.complete",{defaultMessage:"Complete"});case y.SearchSessionStatus.ERROR:return n.i18n.translate("data.mgmt.searchSessions.status.label.error",{defaultMessage:"Error"});default:return console.error(`Unknown status ${e}`),e}},te=e=>{try{const t=(({now:e,session:t,timezone:s})=>{let a;switch(a=t.expires?Q(t.expires,s):n.i18n.translate("data.mgmt.searchSessions.status.expireDateUnknown",{defaultMessage:"unknown"}),t.status){case y.SearchSessionStatus.IN_PROGRESS:try{return{textColor:"default",icon:Object(g.jsx)(l.EuiLoadingSpinner,null),label:Object(g.jsx)(V,null,ee(t.status)),toolTipContent:n.i18n.translate("data.mgmt.searchSessions.status.message.createdOn",{defaultMessage:"Expires on {expireDate}",values:{expireDate:a}})}}catch(e){throw console.error(e),new Error(`Could not instantiate a createdDate object from: ${t.created}`)}case y.SearchSessionStatus.EXPIRED:try{const e=n.i18n.translate("data.mgmt.searchSessions.status.message.expiredOn",{defaultMessage:"Expired on {expireDate}",values:{expireDate:a}});return{icon:Object(g.jsx)(l.EuiIcon,{color:"#9AA",type:"clock"}),label:Object(g.jsx)(V,null,ee(t.status)),toolTipContent:e}}catch(e){throw console.error(e),new Error(`Could not instantiate an expiration Date object from: ${t.expires}`)}case y.SearchSessionStatus.CANCELLED:return{icon:Object(g.jsx)(l.EuiIcon,{color:"#9AA",type:"error"}),label:Object(g.jsx)(V,null,ee(t.status)),toolTipContent:n.i18n.translate("data.mgmt.searchSessions.status.message.cancelled",{defaultMessage:"Cancelled by user"})};case y.SearchSessionStatus.ERROR:return{textColor:"danger",icon:Object(g.jsx)(l.EuiIcon,{color:"danger",type:"error"}),label:Object(g.jsx)(V,null,ee(t.status)),toolTipContent:t.errors&&t.errors.length>0?n.i18n.translate("data.mgmt.searchSessions.status.message.error",{defaultMessage:'One or more searches failed to complete. Use the "Inspect" action to see the underlying errors.'}):n.i18n.translate("data.mgmt.searchSessions.status.message.unknownError",{defaultMessage:"Unknown error"})};case y.SearchSessionStatus.COMPLETE:try{const e=n.i18n.translate("data.mgmt.searchSessions.status.expiresOn",{defaultMessage:"Expires on {expireDate}",values:{expireDate:a}});return{textColor:"success",icon:Object(g.jsx)(l.EuiIcon,{color:"success",type:"checkInCircleFilled"}),label:Object(g.jsx)(V,null,ee(t.status)),toolTipContent:e}}catch(e){throw console.error(e),new Error(`Could not instantiate an expiration Date object for completed session from: ${t.expires}`)}return null;default:throw new Error(`Unknown status: ${t.status}`)}})(e),{session:s}=e;if(t){const{toolTipContent:e}=t;let a=t.icon,n=t.label;return a&&e&&(a=Object(g.jsx)(l.EuiToolTip,{content:e},a)),e&&(n=Object(g.jsx)(l.EuiToolTip,{content:e},Object(g.jsx)(V,{"data-test-subj":"sessionManagementStatusTooltip"},t.label))),Object(g.jsx)(l.EuiFlexGroup,{gutterSize:"s",alignItems:"center"},Object(g.jsx)(l.EuiFlexItem,{grow:!1},a),Object(g.jsx)(l.EuiFlexItem,{grow:!1},Object(g.jsx)(V,{color:t.textColor,"data-test-subj":"sessionManagementStatusLabel","data-test-status":s.status},n)))}}catch(e){console.error(e)}return Object(g.jsx)(V,null,e.session.status)},se=e=>{if("ml"===e)return n.i18n.translate("data.mgmt.searchSessions.table.mlAppName",{defaultMessage:"Machine Learning"})},ae=(e,t,s,a,o,r,c)=>[{field:"appId",name:n.i18n.translate("data.mgmt.searchSessions.table.headerType",{defaultMessage:"App"}),sortable:!0,render:(e,{id:t})=>{var s;const a=`${(e=>"dashboards"===e?"dashboard":"ml"===e?"machineLearning":e)(e)}`;return Object(g.jsx)(l.EuiToolTip,{content:null!==(s=se(e))&&void 0!==s?s:Object(Z.capitalize)(a)},Object(g.jsx)(l.EuiIcon,{"data-test-subj":"sessionManagementAppIcon","data-test-app-id":a,type:`${a}App`}))}},{field:"name",name:n.i18n.translate("data.mgmt.searchSessions.table.headerName",{defaultMessage:"Name"}),sortable:!0,width:"20%",render:(t,{restoreUrl:s,reloadUrl:a,status:n,version:o})=>{const i=function(e){return e===y.SearchSessionStatus.IN_PROGRESS||e===y.SearchSessionStatus.COMPLETE}(n),u=i?s:a,j=i?c.trackSessionViewRestored:c.trackSessionReloaded,p=i?null:Object(g.jsx)(d.a.Fragment,null," ",Object(g.jsx)(l.EuiIconTip,{type:"warning",content:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.table.notRestorableWarning",defaultMessage:"The search session will be executed again. You can then save it for future use."})})),S=i&&o!==r?Object(g.jsx)(d.a.Fragment,null," ",Object(g.jsx)(l.EuiIconTip,{type:"warning",iconProps:{"data-test-subj":"versionIncompatibleWarningTestSubj"},content:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.table.versionIncompatibleWarning",defaultMessage:"This search session was created in a Kibana instance running a different version. It may not restore correctly."})})):null;return Object(g.jsx)(h.RedirectAppLinks,{application:e.application},Object(g.jsx)(l.EuiLink,{href:u,onClick:()=>null==j?void 0:j(),"data-test-subj":"sessionManagementNameCol"},Object(g.jsx)(V,null,t,p,S)))}},{field:"numSearches",name:n.i18n.translate("data.mgmt.searchSessions.table.numSearches",{defaultMessage:"# Searches"}),sortable:!0,render:(e,t)=>Object(g.jsx)(V,{color:"subdued","data-test-subj":"sessionManagementNumSearchesCol"},e)},{field:"status",name:n.i18n.translate("data.mgmt.searchSessions.table.headerStatus",{defaultMessage:"Status"}),sortable:!0,render:(e,t)=>Object(g.jsx)(te,{session:t,timezone:a})},{field:"created",name:n.i18n.translate("data.mgmt.searchSessions.table.headerStarted",{defaultMessage:"Created"}),sortable:!0,render:(e,{id:t})=>{try{const t=Q(e,a);return Object(g.jsx)(V,{color:"subdued","data-test-subj":"sessionManagementCreatedCol"},t)}catch(t){return console.error(t),Object(g.jsx)(V,null,e)}}},{field:"expires",name:n.i18n.translate("data.mgmt.searchSessions.table.headerExpiration",{defaultMessage:"Expiration"}),sortable:!0,render:(e,{id:t,status:s})=>{if(e&&s!==y.SearchSessionStatus.EXPIRED&&s!==y.SearchSessionStatus.CANCELLED&&s!==y.SearchSessionStatus.ERROR)try{const t=Q(e,a);return Object(g.jsx)(V,{color:"subdued","data-test-subj":"sessionManagementExpiresCol"},t)}catch(t){return console.error(t),Object(g.jsx)(V,null,e)}return Object(g.jsx)(V,{color:"subdued","data-test-subj":"sessionManagementExpiresCol"},"--")}},{field:"status",name:"",sortable:!1,render:(e,{expires:t})=>{const a=((e,t)=>{const s=i.a.utc().valueOf(),a=i.a.utc(t).valueOf(),o=i.a.duration(a-s),r=Math.floor(o.asDays()),c=Math.ceil(i.a.duration(e.management.expiresSoonWarning).asDays());let l=n.i18n.translate("data.mgmt.searchSessions.status.expiresSoonInDays",{defaultMessage:"Expires in {numDays} days",values:{numDays:r}}),u=n.i18n.translate("data.mgmt.searchSessions.status.expiresSoonInDaysTooltip",{defaultMessage:"{numDays} days",values:{numDays:r}});if(0===r){const e=Math.floor(o.asHours());l=n.i18n.translate("data.mgmt.searchSessions.status.expiresSoonInHours",{defaultMessage:"This session expires in {numHours} hours",values:{numHours:e}}),u=n.i18n.translate("data.mgmt.searchSessions.status.expiresSoonInHoursTooltip",{defaultMessage:"{numHours} hours",values:{numHours:e}})}if(o.valueOf()>0&&r<=c)return{toolTipContent:l,statusContent:u}})(s,t);if(a){const{toolTipContent:e,statusContent:t}=a;return Object(g.jsx)(l.EuiToolTip,{content:e},Object(g.jsx)(l.EuiBadge,{color:"warning","data-test-subj":"sessionManagementStatusCol"},t))}return Object(g.jsx)(V,null)}},{field:"actions",name:"",sortable:!1,render:(s,a)=>{if(s&&s.length)return Object(g.jsx)(l.EuiFlexGroup,{gutterSize:"l",justifyContent:"flexEnd",alignItems:"flexEnd"},Object(g.jsx)(l.EuiFlexItem,{grow:!1,"data-test-subj":"sessionManagementActionsCol"},Object(g.jsx)(O,{api:t,key:`popkey-${a.id}`,session:a,core:e,onActionComplete:o})))}}],ne=e=>({type:"field_value_selection",name:n.i18n.translate("data.mgmt.searchSessions.search.filterApp",{defaultMessage:"App"}),field:"appId",multiSelect:"or",options:[...new Set(e.map((e=>{var t;return null!==(t=e.appId)&&void 0!==t?t:"unknown"})))].sort().map((e=>({value:e,view:Object(Z.capitalize)(e)})))}),oe=e=>({type:"field_value_selection",name:n.i18n.translate("data.mgmt.searchSessions.search.filterStatus",{defaultMessage:"Status"}),field:"status",multiSelect:"or",options:[...new Set(e.map((e=>{var t;return null!==(t=e.status)&&void 0!==t?t:"unknown"})))].sort().map((e=>({value:e,view:Object(g.jsx)(V,null,ee(e))})))});function ie({core:e,api:t,timezone:s,config:a,kibanaVersion:n,searchUsageCollector:o,...r}){const[c,d]=Object(u.useState)([]),[h,j]=Object(u.useState)(!1),[p,S]=Object(u.useState)(!1),[b,f]=Object(u.useState)({pageIndex:0}),x=Object(u.useRef)(),M=Object(u.useRef)(null),E=Object(u.useMemo)((()=>i.a.duration(a.management.refreshInterval).asMilliseconds()),[a.management.refreshInterval]);G()((()=>{S(h)}),250,[h]);const O=Object(u.useCallback)((async()=>{M.current&&(clearTimeout(M.current),M.current=null),j(!0);const e=e=>{d(e)};if(x.current=e,"hidden"!==document.visibilityState){let s=[];try{s=await t.fetchTableData()}catch(e){}x.current===e&&(e(s),j(!1))}x.current===e&&E>0&&(M.current&&clearTimeout(M.current),M.current=window.setTimeout(O,E))}),[t,E]);Object(u.useEffect)((()=>(O(),o.trackSessionsListLoaded(),()=>{M.current&&clearTimeout(M.current)})),[O,o]);const C={box:{incremental:!0},filters:[oe(c),ne(c)],toolsRight:Object(g.jsx)(V,null,Object(g.jsx)(l.EuiButton,{fill:!0,iconType:"refresh",onClick:O,disabled:p,isLoading:p,"data-test-subj":"sessionManagementRefreshBtn"},Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.search.tools.refresh",defaultMessage:"Refresh"})))};return Object(g.jsx)(l.EuiInMemoryTable,D()({},r,{id:y.SEARCH_SESSIONS_TABLE_ID,"data-test-subj":y.SEARCH_SESSIONS_TABLE_ID,rowProps:e=>({"data-test-subj":"searchSessionsRow","data-test-search-session-id":`id-${e.id}`}),columns:ae(e,t,a,s,(()=>{O()}),n,o),items:c,pagination:b,search:C,sorting:{sort:{field:"created",direction:"desc"}},onTableChange:({page:{index:e}})=>{f({pageIndex:e})},tableLayout:"auto"}))}function re({documentation:e,...t}){return Object(g.jsx)(d.a.Fragment,null,Object(g.jsx)(l.EuiPageHeader,{pageTitle:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.main.sectionTitle",defaultMessage:"Search Sessions"}),description:Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.main.sectionDescription",defaultMessage:"Manage your saved search sessions."}),bottomBorder:!0,rightSideItems:[Object(g.jsx)(l.EuiButtonEmpty,{href:e.getElasticsearchDocLink(),target:"_blank",iconType:"help"},Object(g.jsx)(m.FormattedMessage,{id:"data.mgmt.searchSessions.main.backgroundSessionsDocsLinkText",defaultMessage:"Documentation"}))]}),Object(g.jsx)(l.EuiSpacer,{size:"l"}),Object(g.jsx)(ie,D()({"data-test-subj":"search-sessions-mgmt-table"},t)))}const ce=(e,{i18n:t,uiSettings:s,...a})=>{if(!e)return()=>{};const{Provider:n}=Object(h.createKibanaReactContext)({uiSettings:s});return Object(I.render)(Object(g.jsx)(W,{theme:a.core.theme,i18n:t},Object(g.jsx)(n,null,Object(g.jsx)(re,D()({},a,{timezone:s.get("dateFormat:tz")})))),e),()=>{Object(I.unmountComponentAtNode)(e)}};class application_SearchSessionsMgmtApp{constructor(e,t,s,a,n){this.coreSetup=e,this.setupDeps=t,this.config=s,this.kibanaVersion=a,this.params=n}async mountManagementSection(){const{coreSetup:e,params:t,setupDeps:s}=this,[n,o]=await e.getStartServices(),{chrome:{docTitle:i},http:r,docLinks:c,i18n:l,notifications:u,uiSettings:d,application:m}=n,h=a.a.getI18nName();i.change(h),this.params.setBreadcrumbs([{text:h}]);const g=new api_SearchSessionsMgmtAPI(s.sessionsClient,this.config,{notifications:u,locators:o.share.url.locators,application:m,usageCollector:s.searchUsageCollector}),j=new documentation_AsyncSearchIntroDocumentation(c),p={config:this.config,documentation:j,core:n,api:g,http:r,i18n:l,uiSettings:d,share:o.share,kibanaVersion:this.kibanaVersion,searchUsageCollector:s.searchUsageCollector},{element:S}=t,b=ce(S,p);return()=>{i.reset(),b()}}}}}]);