/*! 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.ml_bundle_jsonpfunction=window.ml_bundle_jsonpfunction||[]).push([[19],{169:function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var s=a(21);const l=()=>Object(s.useKibana)()},260:function(e,t,a){"use strict";a.d(t,"a",(function(){return c})),a(2);var s=a(11),l=a(10),r=a(21),n=a(135),o=a(190),i=a(4);function c(e,t,a,c,b,u,d){const{http:j,theme:x,i18n:m,overlays:O,application:{currentAppId$:g}}=a;return new Promise((async(E,p)=>{try{const p=()=>{y.close(),E()},y=O.openFlyout(Object(n.a)(Object(i.jsx)(r.KibanaContextProvider,{services:{...a,share:c,data:b,lens:d,dashboardService:u,mlServices:Object(o.getMlGlobalServices)(j)}},Object(i.jsx)(e,{embeddable:t,onClose:()=>{p(),E()}})),{theme:x,i18n:m}),{"data-test-subj":"mlFlyoutLayerSelector",ownFocus:!0,onClose:p,size:"35vw"});g.pipe(Object(s.skip)(1),Object(s.takeUntil)(Object(l.from)(y.onClose)),Object(s.distinctUntilChanged)()).subscribe((()=>{y.close()}))}catch(e){p(e)}}))}},261:function(e,t,a){"use strict";a.d(t,"a",(function(){return p}));var s,l=a(2),r=a.n(l),n=a(160),o=a.n(n),i=a(28),c=a(6),b=a(15),u=a(107),d=a(105),j=a(106),x=a(42),m=a(147),O=a(1),g=a(169),E=a(4);!function(e){e[e.DEFAULT=0]="DEFAULT",e[e.VALIDATING=1]="VALIDATING",e[e.SAVING=2]="SAVING",e[e.SAVE_SUCCESS=3]="SAVE_SUCCESS",e[e.SAVE_FAILED=4]="SAVE_FAILED"}(s||(s={}));const p=({children:e,createADJobInWizard:t,createADJob:a,layer:n,layerIndex:u,embeddable:p,incomingCreateError:S})=>{var f;const{services:{share:I,application:F,mlServices:{mlApiServices:C}}}=Object(g.a)(),[L,h]=Object(l.useState)(""),[A,v]=Object(l.useState)(!0),[M,k]=Object(l.useState)(!0),[T,w]=Object(l.useState)(d.b),[_,J]=Object(l.useState)(""),[z,D]=Object(l.useState)(""),[V,G]=Object(l.useState)(s.DEFAULT),[R,B]=Object(l.useState)(null),N=null!==(f=null==n?void 0:n.jobType)&&void 0!==f?f:d.f.GEO,U=Object(l.useCallback)((async e=>{const{timeRange:t}=p.getInput(),a=I.url.locators.get(O.a);if(a){const s=A?e===d.f.MULTI_METRIC||e===d.f.GEO?O.b.ANOMALY_EXPLORER:O.b.SINGLE_METRIC_VIEWER:O.b.ANOMALY_DETECTION_JOBS_MANAGE,l=A?{jobIds:[L],timeRange:t}:{jobId:L},r=await a.getUrl({page:s,pageState:l});F.navigateToUrl(r)}}),[L,p,I,F,A]);return o()((function(){if(void 0===L||""===L)return;J(""),D("");const e=Object(j.e)({job_id:L,analysis_config:{detectors:[],bucket_span:T}},void 0,{max_model_memory_limit:"",effective_max_model_memory_limit:""},!0);e.contains("job_id_invalid")?J(c.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobNameAllowedCharactersDescription",{defaultMessage:"Job ID can contain lowercase alphanumeric (a-z and 0-9), hyphens or underscores; must start and end with an alphanumeric character"})):e.contains("job_id_invalid_max_length")?J(c.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobIdInvalidMaxLengthErrorMessage",{defaultMessage:"Job ID must be no more than {maxLength, plural, one {# character} other {# characters}} long.",values:{maxLength:x.b}})):C.jobs.jobsExist([L]).then((e=>{e[L].exists&&J(c.i18n.translate("xpack.ml.newJob.wizard.validateJob.jobNameAlreadyExists",{defaultMessage:"Job ID already exists. A job ID cannot be the same as an existing job or group."}))})).catch((e=>{console.error("Could not validate whether job ID exists")})),e.contains("bucket_span_invalid")&&D(Object(m.a)(T)),G(s.DEFAULT)}),500,[L,T]),Object(E.jsx)(r.a.Fragment,null,V!==s.SAVE_SUCCESS&&V!==s.SAVING||S?Object(E.jsx)(r.a.Fragment,null,null!=e?e:null,Object(E.jsx)(i.EuiSpacer,{size:"m"}),Object(E.jsx)(i.EuiForm,null,Object(E.jsx)(i.EuiFormRow,{label:c.i18n.translate("xpack.ml.newJob.wizard.jobDetailsStep.jobId.title",{defaultMessage:"Job ID"}),error:_,isInvalid:""!==_},Object(E.jsx)(i.EuiFieldText,{"data-test-subj":`mlLensLayerJobIdInput_${u}`,value:L,onChange:e=>{h(e.target.value),G(s.VALIDATING)}})),Object(E.jsx)(i.EuiSpacer,{size:"s"}),Object(E.jsx)(i.EuiAccordion,{"data-test-subj":`mlLensLayerAdditionalSettingsButton_${u}`,id:"additional-section",buttonContent:c.i18n.translate("xpack.ml.embeddables.lensLayerFlyout.createJobCallout.additionalSettings.title",{defaultMessage:"Additional settings"})},Object(E.jsx)(i.EuiSpacer,{size:"s"}),Object(E.jsx)(i.EuiFormRow,{label:c.i18n.translate("xpack.ml.newJob.wizard.pickFieldsStep.bucketSpan.placeholder",{defaultMessage:"Bucket span"}),error:z,isInvalid:""!==z},Object(E.jsx)(i.EuiFieldText,{"data-test-subj":`mlLensLayerBucketSpanInput_${u}`,value:T,onChange:e=>{w(e.target.value),G(s.VALIDATING)}})),Object(E.jsx)(i.EuiSpacer,{size:"l"}),Object(E.jsx)(i.EuiFormRow,null,Object(E.jsx)(i.EuiCheckbox,{id:"startJob","data-test-subj":`mlLensLayerStartJobCheckbox_${u}`,checked:A,onChange:e=>{return t=e.target.checked,v(t),void k(t&&M);var t},label:c.i18n.translate("xpack.ml.embeddables.lensLayerFlyout.createJobCallout.additionalSettings.start",{defaultMessage:"Start the job after saving"})})),Object(E.jsx)(i.EuiSpacer,{size:"s"}),Object(E.jsx)(i.EuiFormRow,null,Object(E.jsx)(i.EuiCheckbox,{id:"realTime",disabled:!1===A,"data-test-subj":`mlLensLayerRealTimeCheckbox_${u}`,checked:M,onChange:e=>k(e.target.checked),label:c.i18n.translate("xpack.ml.embeddables.lensLayerFlyout.createJobCallout.additionalSettings.realTime",{defaultMessage:"Leave the job running for new data"})})),Object(E.jsx)(i.EuiSpacer,{size:"m"}))),Object(E.jsx)(i.EuiSpacer,{size:"m"}),Object(E.jsx)(i.EuiFlexGroup,null,Object(E.jsx)(i.EuiFlexItem,null,Object(E.jsx)(i.EuiButton,{disabled:V===s.VALIDATING||""===L||""!==_||""!==z,onClick:async function(){if(void 0===L||""===L)return;G(s.SAVING),B(null);const e=await a({jobId:L,bucketSpan:T,embeddable:p,startJob:A,runInRealTime:M}),t=y(e);null===t?G(s.SAVE_SUCCESS):(G(s.SAVE_FAILED),B(t))}.bind(null,u),size:"s","data-test-subj":`mlLensLayerCreateJobButton_${u}`},Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.createJobButton.saving",defaultMessage:"Create job"}))),Object(E.jsx)(i.EuiFlexItem,{grow:!1},Object(E.jsx)(i.EuiButtonEmpty,{onClick:t.bind(null,u),size:"s",iconType:"popout",iconSide:"right","data-test-subj":`mlLensLayerCreateWithWizardButton_${u}`},Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.createJobButton",defaultMessage:"Create job using wizard"}))))):null,V===s.SAVE_SUCCESS?Object(E.jsx)(r.a.Fragment,null,Object(E.jsx)(i.EuiFlexGroup,{gutterSize:"s","data-test-subj":`mlLensLayerCompatible.jobCreated.success_${u}`},Object(E.jsx)(i.EuiFlexItem,{grow:!1},Object(E.jsx)(i.EuiText,{size:"s"},Object(E.jsx)(i.EuiIcon,{type:"checkInCircleFilled",color:"success"}))),Object(E.jsx)(i.EuiFlexItem,null,Object(E.jsx)(i.EuiText,{size:"s"},Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.flyout.flyoutAdditionalSettings.saveSuccess",defaultMessage:"Job created"})))),Object(E.jsx)(i.EuiSpacer,{size:"s"}),Object(E.jsx)(i.EuiButtonEmpty,{onClick:U.bind(null,N),flush:"left","data-test-subj":`mlLensLayerResultsButton_${u}`},!1===A?Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.flyoutAdditionalSettings.saveSuccess.resultsLink.jobList",defaultMessage:"View in job management page"}):N===d.f.MULTI_METRIC||N===d.f.GEO?Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.flyoutAdditionalSettings.saveSuccess.resultsLink.multiMetric",defaultMessage:"View results in Anomaly Explorer"}):Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.flyoutAdditionalSettings.saveSuccess.resultsLink.singleMetric",defaultMessage:"View results in Single Metric Viewer"}))):null,V===s.SAVING&&void 0===S?Object(E.jsx)(r.a.Fragment,null,Object(E.jsx)(i.EuiFlexGroup,null,Object(E.jsx)(i.EuiFlexItem,{grow:!1},Object(E.jsx)(b.FormattedMessage,{id:"xpack.ml.embeddables.flyoutAdditionalSettings.creatingJob",defaultMessage:"Creating job"})),Object(E.jsx)(i.EuiFlexItem,{grow:!1},Object(E.jsx)(i.EuiLoadingSpinner,null)))):null,V===s.SAVE_FAILED&&null!==R?Object(E.jsx)(r.a.Fragment,null,Object(E.jsx)(i.EuiSpacer,null),Object(E.jsx)(i.EuiCallOut,{color:"danger",title:R.text},R.errorText)):null,S?Object(E.jsx)(r.a.Fragment,null,Object(E.jsx)(i.EuiSpacer,null),Object(E.jsx)(i.EuiCallOut,{color:"danger",title:S.text},S.errorText)):null)},y=e=>e.jobCreated.error?{text:c.i18n.translate("xpack.ml.embeddables.flyoutAdditionalSettings.jobCreateError.jobCreated",{defaultMessage:"Job could not be created."}),errorText:Object(u.b)(e.jobCreated.error)}:e.datafeedCreated.error?{text:c.i18n.translate("xpack.ml.embeddables.flyoutAdditionalSettings.jobCreateError.datafeedCreated",{defaultMessage:"Job created but datafeed could not be created."}),errorText:Object(u.b)(e.datafeedCreated.error)}:e.jobOpened.error?{text:c.i18n.translate("xpack.ml.embeddables.flyoutAdditionalSettings.jobCreateError.jobOpened",{defaultMessage:"Job and datafeed created but the job could not be opened."}),errorText:Object(u.b)(e.jobOpened.error)}:e.datafeedStarted.error?{text:c.i18n.translate("xpack.ml.embeddables.flyoutAdditionalSettings.jobCreateError.datafeedStarted",{defaultMessage:"Job and datafeed created but the datafeed could not be started."}),errorText:Object(u.b)(e.datafeedStarted.error)}:null},677:function(e,t,a){"use strict";a.r(t),a.d(t,"showLensVisToADJobFlyout",(function(){return E}));var s=a(260),l=a(2),r=a.n(l),n=a(15),o=a(28),i=a(270),c=a(105),b=a(169),u=a(261),d=a(4);const j=({layer:e,layerIndex:t,embeddable:a})=>{const{services:{data:s,share:j,uiSettings:x,mlServices:{mlApiServices:m},lens:O,dashboardService:g}}=Object(b.a)(),E=Object(l.useMemo)((()=>new i.QuickLensJobCreator(O,x,s.query.timefilter.timefilter,g,m)),[s,x]);return Object(d.jsx)(r.a.Fragment,null,Object(d.jsx)(u.a,{createADJob:async function({jobId:e,bucketSpan:a,embeddable:s,startJob:l,runInRealTime:r}){return await E.createAndSaveJob(e,a,s,l,r,t)},createADJobInWizard:function(){Object(i.redirectToADJobWizards)(a,t,j,O)},embeddable:a,layer:e,layerIndex:t},Object(d.jsx)(o.EuiFlexGroup,{gutterSize:"s","data-test-subj":"mlLensLayerCompatible"},Object(d.jsx)(o.EuiFlexItem,{grow:!1},Object(d.jsx)(o.EuiText,{size:"s"},Object(d.jsx)(o.EuiIcon,{type:"checkInCircleFilled",color:"success"}))),Object(d.jsx)(o.EuiFlexItem,null,Object(d.jsx)(o.EuiText,{size:"s"},e.jobType===c.f.MULTI_METRIC?Object(d.jsx)(n.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.createJobCalloutTitle.multiMetric",defaultMessage:"This layer can be used to create a multi-metric job"}):Object(d.jsx)(n.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.createJobCalloutTitle.singleMetric",defaultMessage:"This layer can be used to create a single metric job"}))))))};var x=a(107);const m=({layer:e})=>Object(d.jsx)(o.EuiFlexGroup,{gutterSize:"s",color:"subdued","data-test-subj":"mlLensLayerIncompatible"},Object(d.jsx)(o.EuiFlexItem,{grow:!1},Object(d.jsx)(o.EuiText,{size:"s"},Object(d.jsx)(o.EuiIcon,{type:"error",color:"subdued"}))),Object(d.jsx)(o.EuiFlexItem,null,Object(d.jsx)(o.EuiText,{color:"subdued",size:"s"},e.error?Object(x.b)(e.error):Object(d.jsx)(n.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.defaultLayerError",defaultMessage:"This layer cannot be used to create an anomaly detection job"})))),O=({layer:e,layerIndex:t,embeddable:a})=>Object(d.jsx)(r.a.Fragment,null,Object(d.jsx)(o.EuiSplitPanel.Outer,{grow:!0},Object(d.jsx)(o.EuiSplitPanel.Inner,null,Object(d.jsx)(o.EuiFlexGroup,{gutterSize:"s",alignItems:"center",responsive:!1},e.icon&&Object(d.jsx)(o.EuiFlexItem,{grow:!1},Object(d.jsx)(o.EuiIcon,{type:e.icon})),Object(d.jsx)(o.EuiFlexItem,{grow:!0},Object(d.jsx)(o.EuiText,{color:e.isCompatible?"":"subdued"},Object(d.jsx)("h5",null,e.label))))),Object(d.jsx)(o.EuiHorizontalRule,{margin:"none"}),Object(d.jsx)(o.EuiSplitPanel.Inner,{grow:!1,color:"plain"},e.isCompatible?Object(d.jsx)(j,{layer:e,layerIndex:t,embeddable:a}):Object(d.jsx)(m,{layer:e}))),Object(d.jsx)(o.EuiSpacer,null)),g=({onClose:e,embeddable:t})=>{const{services:{data:a,lens:s}}=Object(b.a)(),[c,u]=Object(l.useState)([]);return Object(l.useEffect)((()=>{(new i.VisualizationExtractor).getResultLayersFromEmbeddable(t,s).then(u).catch((t=>{console.error("Layers could not be extracted from embeddable",t),e()}))}),[a,s,t]),Object(d.jsx)(r.a.Fragment,null,Object(d.jsx)(o.EuiFlyoutHeader,{hasBorder:!0},Object(d.jsx)(o.EuiTitle,{size:"s"},Object(d.jsx)("h3",null,Object(d.jsx)(n.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.title",defaultMessage:"Create anomaly detection job"}))),Object(d.jsx)(o.EuiSpacer,{size:"m"}),Object(d.jsx)(o.EuiText,{size:"s"},Object(d.jsx)(n.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.secondTitle",defaultMessage:"Select a compatible layer from the visualization {title} to create an anomaly detection job.",values:{title:t.getTitle()}}))),Object(d.jsx)(o.EuiFlyoutBody,null,c.map(((e,a)=>Object(d.jsx)(O,{layer:e,layerIndex:a,key:e.id,embeddable:t})))),Object(d.jsx)(o.EuiFlyoutFooter,null,Object(d.jsx)(o.EuiFlexGroup,{justifyContent:"spaceBetween"},Object(d.jsx)(o.EuiFlexItem,{grow:!1},Object(d.jsx)(o.EuiButtonEmpty,{iconType:"cross",onClick:e,flush:"left"},Object(d.jsx)(n.FormattedMessage,{id:"xpack.ml.embeddables.lensLayerFlyout.closeButton",defaultMessage:"Close"}))))))};async function E(e,t,a,l,r,n){return Object(s.a)(g,e,t,a,l,n,r)}}}]);