/*! 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.aiops_bundle_jsonpfunction=window.aiops_bundle_jsonpfunction||[]).push([[16],{160:function(e,t,a){"use strict";a.r(t),a.d(t,"resolveEmbeddableChangePointUserInput",(function(){return w}));var i=a(74),n=a(1),l=a.n(n),o=a(38),s=a(2),c=a(13),u=a(11),d=a(65),r=a.n(d),b=a(12),j=a(39),p=a(47),g=a(62),m=a(40),h=a(0);const O=({value:e,onChange:t,splitField:a,enableSearch:i=!0})=>{const{dataView:l}=Object(m.c)(),{notifications:{toasts:c}}=Object(o.b)(),d=r()(a),[j,p]=Object(n.useState)([]),[O,f]=Object(n.useState)(i),{runRequest:C,cancelRequest:x}=Object(g.a)(),v=Object(n.useCallback)((async t=>{if(i){x(),f(!0);try{const i=function(e,t,a="",i){return{params:{index:e,size:0,...null!=i&&i.length?{query:{bool:{must_not:[{terms:{[t]:i}}]}}}:{},aggs:{aggResults:{filter:{bool:{must:{wildcard:{[t]:{value:`*${a}*`}}}}},aggs:{partitionValues:{terms:{field:t}}}}}}}}(l.getIndexPattern(),a,t,e),n=await C(i);if(null===n)return void p([]);p(n.rawResponse.aggregations.aggResults.partitionValues.buckets.map((e=>({value:e.key,label:e.key}))))}catch(e){c.addError(e,{title:u.i18n.translate("xpack.aiops.changePointDetection.fetchPartitionsErrorTitle",{defaultMessage:"Failed to fetch partitions"})})}f(!1)}}),[i,x,l,a,e,C,c]);Object(n.useEffect)((function(){a!==d&&(v(""),t([]))}),[a,d,v,t]);const F=Object(n.useMemo)((()=>e.map((e=>({value:e,label:e})))),[e]),P=Object(n.useCallback)((e=>{t(e.map((e=>e.value)))}),[t]),M=Object(n.useMemo)((()=>Object(b.debounce)(v,500)),[v]),E=Object(n.useCallback)((a=>{t([...e,a])}),[t,e]);return Object(h.jsx)(s.EuiFormRow,{fullWidth:!0,label:u.i18n.translate("xpack.aiops.changePointDetection.partitionsLabel",{defaultMessage:"Partitions"})},Object(h.jsx)(s.EuiComboBox,{isLoading:O,fullWidth:!0,compressed:!0,options:j,selectedOptions:F,onChange:P,onSearchChange:i?M:void 0,onCreateOption:i?void 0:E,isClearable:!0,"data-test-subj":"aiopsChangePointPartitions"}))};var f=a(89),C=a(88),x=a(92),v=a(91),F=a(49),P=a(90),M=a(48);const E=({initialInput:e,onCreate:t,onCancel:a})=>{var i;const{unifiedSearch:{ui:{IndexPatternSelect:l}}}=Object(o.b)(),[d,r]=Object(n.useState)(null!==(i=null==e?void 0:e.dataViewId)&&void 0!==i?i:""),[p,g]=Object(n.useState)(Object(b.pick)(null!=e?e:{},["fn","metricField","splitField","maxSeriesToPlot","partitions"])),[O,f]=Object(n.useState)(!0),C=Object(n.useMemo)((()=>({...p,title:Object(j.a)(p)?u.i18n.translate("xpack.aiops.changePointDetection.attachmentTitle",{defaultMessage:"Change point: {function}({metric}){splitBy}",values:{function:p.fn,metric:null==p?void 0:p.metricField,splitBy:null!=p&&p.splitField?u.i18n.translate("xpack.aiops.changePointDetection.splitByTitle",{defaultMessage:' split by "{splitField}"',values:{splitField:p.splitField}}):""}}):"",dataViewId:d})),[p,d]);return Object(h.jsx)(s.EuiModal,{onClose:a,"data-test-subj":"aiopsChangePointChartEmbeddableInitializer"},Object(h.jsx)(s.EuiModalHeader,null,Object(h.jsx)(s.EuiModalHeaderTitle,null,Object(h.jsx)(c.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.modalTitle",defaultMessage:"Change point charts configuration"}))),Object(h.jsx)(s.EuiModalBody,null,Object(h.jsx)(s.EuiForm,null,Object(h.jsx)(s.EuiFormRow,{fullWidth:!0,label:u.i18n.translate("xpack.aiops.embeddableChangePointChart.dataViewLabel",{defaultMessage:"Data view"})},Object(h.jsx)(l,{autoFocus:!d,fullWidth:!0,compressed:!0,indexPatternId:d,placeholder:u.i18n.translate("xpack.aiops.embeddableChangePointChart.dataViewSelectorPlaceholder",{defaultMessage:"Select data view"}),onChange:e=>{r(null!=e?e:"")}})),Object(h.jsx)(m.b,{dataViewId:d},Object(h.jsx)(s.EuiHorizontalRule,{margin:"s"}),Object(h.jsx)(F.b,null,Object(h.jsx)(k,{formInput:p,onChange:g,onValidationChange:f}))))),Object(h.jsx)(s.EuiModalFooter,null,Object(h.jsx)(s.EuiButtonEmpty,{onClick:a,"data-test-subj":"aiopsChangePointChartsInitializerCancelButton"},Object(h.jsx)(c.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.setupModal.cancelButtonLabel",defaultMessage:"Cancel"})),Object(h.jsx)(s.EuiButton,{"data-test-subj":"aiopsChangePointChartsInitializerConfirmButton",isDisabled:!O||!d,onClick:t.bind(null,C),fill:!0},Object(h.jsx)(c.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.setupModal.confirmButtonLabel",defaultMessage:"Confirm configurations"}))))},k=({formInput:e,onChange:t,onValidationChange:a})=>{var i,o;const{metricFieldOptions:u,splitFieldsOptions:d}=Object(F.d)(),b=r()(u),g=Object(n.useMemo)((()=>{const t=d.find((t=>t.name===(null==e?void 0:e.splitField)));var a;return!(!t||!t.esTypes)&&(null===(a=t.esTypes)||void 0===a?void 0:a.some((e=>e===p.a.KEYWORD)))}),[d,null==e?void 0:e.splitField]);Object(n.useEffect)((function(){var a,i;Object(j.a)(e)?u!==b&&t({fn:e.fn,metricField:null===(a=u[0])||void 0===a?void 0:a.name,splitField:void 0,partitions:void 0,maxSeriesToPlot:e.maxSeriesToPlot}):t({fn:M.c,metricField:null===(i=u[0])||void 0===i?void 0:i.name,splitField:void 0,partitions:void 0,maxSeriesToPlot:f.a})}),[u,b,e,t]);const m=Object(n.useCallback)((a=>{t({...e,...a})}),[e,t]);return Object(j.a)(e)?Object(h.jsx)(l.a.Fragment,null,Object(h.jsx)(s.EuiFormRow,{fullWidth:!0,label:Object(h.jsx)(c.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.functionLabel",defaultMessage:"Function"})},Object(h.jsx)(P.a,{value:e.fn,onChange:e=>m({fn:e})})),Object(h.jsx)(v.a,{inline:!1,value:e.metricField,onChange:e=>m({metricField:e})}),Object(h.jsx)(x.a,{inline:!1,value:e.splitField,onChange:e=>m({splitField:e})}),e.splitField?Object(h.jsx)(O,{value:null!==(i=e.partitions)&&void 0!==i?i:[],onChange:e=>m({partitions:e}),splitField:e.splitField,enableSearch:g}):null,Object(h.jsx)(C.a,{inline:!1,disabled:!(null==e||null===(o=e.partitions)||void 0===o||!o.length),value:e.maxSeriesToPlot,onChange:e=>m({maxSeriesToPlot:e}),onValidationChange:e=>a(null===e)})):null};async function w(e,t,a){const{overlays:n}=e;return new Promise((async(l,s)=>{try{const c=n.openModal(Object(i.a)(Object(h.jsx)(o.a.Provider,{value:{...e,...t}},Object(h.jsx)(E,{initialInput:a,onCreate:e=>{c.close(),l(e)},onCancel:()=>{c.close(),s()}})),{theme:e.theme,i18n:e.i18n}))}catch(e){s(e)}}))}}}]);