/*! 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([[7,16],{160:function(e,t,n){"use strict";n.r(t),n.d(t,"resolveEmbeddableChangePointUserInput",(function(){return A}));var i=n(74),a=n(1),l=n.n(a),s=n(38),r=n(2),o=n(13),u=n(11),c=n(65),d=n.n(c),b=n(12),O=n(39),p=n(47),f=n(62),g=n(40),_=n(0);const E=({value:e,onChange:t,splitField:n,enableSearch:i=!0})=>{const{dataView:l}=Object(g.c)(),{notifications:{toasts:o}}=Object(s.b)(),c=d()(n),[O,p]=Object(a.useState)([]),[E,m]=Object(a.useState)(i),{runRequest:j,cancelRequest:T}=Object(f.a)(),y=Object(a.useCallback)((async t=>{if(i){T(),m(!0);try{const i=function(e,t,n="",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:`*${n}*`}}}}},aggs:{partitionValues:{terms:{field:t}}}}}}}}(l.getIndexPattern(),n,t,e),a=await j(i);if(null===a)return void p([]);p(a.rawResponse.aggregations.aggResults.partitionValues.buckets.map((e=>({value:e.key,label:e.key}))))}catch(e){o.addError(e,{title:u.i18n.translate("xpack.aiops.changePointDetection.fetchPartitionsErrorTitle",{defaultMessage:"Failed to fetch partitions"})})}m(!1)}}),[i,T,l,n,e,j,o]);Object(a.useEffect)((function(){n!==c&&(y(""),t([]))}),[n,c,y,t]);const h=Object(a.useMemo)((()=>e.map((e=>({value:e,label:e})))),[e]),v=Object(a.useCallback)((e=>{t(e.map((e=>e.value)))}),[t]),F=Object(a.useMemo)((()=>Object(b.debounce)(y,500)),[y]),C=Object(a.useCallback)((n=>{t([...e,n])}),[t,e]);return Object(_.jsx)(r.EuiFormRow,{fullWidth:!0,label:u.i18n.translate("xpack.aiops.changePointDetection.partitionsLabel",{defaultMessage:"Partitions"})},Object(_.jsx)(r.EuiComboBox,{isLoading:E,fullWidth:!0,compressed:!0,options:O,selectedOptions:h,onChange:v,onSearchChange:i?F:void 0,onCreateOption:i?void 0:C,isClearable:!0,"data-test-subj":"aiopsChangePointPartitions"}))};var m=n(89),j=n(88),T=n(92),y=n(91),h=n(49),v=n(90),F=n(48);const C=({initialInput:e,onCreate:t,onCancel:n})=>{var i;const{unifiedSearch:{ui:{IndexPatternSelect:l}}}=Object(s.b)(),[c,d]=Object(a.useState)(null!==(i=null==e?void 0:e.dataViewId)&&void 0!==i?i:""),[p,f]=Object(a.useState)(Object(b.pick)(null!=e?e:{},["fn","metricField","splitField","maxSeriesToPlot","partitions"])),[E,m]=Object(a.useState)(!0),j=Object(a.useMemo)((()=>({...p,title:Object(O.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:c})),[p,c]);return Object(_.jsx)(r.EuiModal,{onClose:n,"data-test-subj":"aiopsChangePointChartEmbeddableInitializer"},Object(_.jsx)(r.EuiModalHeader,null,Object(_.jsx)(r.EuiModalHeaderTitle,null,Object(_.jsx)(o.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.modalTitle",defaultMessage:"Change point charts configuration"}))),Object(_.jsx)(r.EuiModalBody,null,Object(_.jsx)(r.EuiForm,null,Object(_.jsx)(r.EuiFormRow,{fullWidth:!0,label:u.i18n.translate("xpack.aiops.embeddableChangePointChart.dataViewLabel",{defaultMessage:"Data view"})},Object(_.jsx)(l,{autoFocus:!c,fullWidth:!0,compressed:!0,indexPatternId:c,placeholder:u.i18n.translate("xpack.aiops.embeddableChangePointChart.dataViewSelectorPlaceholder",{defaultMessage:"Select data view"}),onChange:e=>{d(null!=e?e:"")}})),Object(_.jsx)(g.b,{dataViewId:c},Object(_.jsx)(r.EuiHorizontalRule,{margin:"s"}),Object(_.jsx)(h.b,null,Object(_.jsx)(N,{formInput:p,onChange:f,onValidationChange:m}))))),Object(_.jsx)(r.EuiModalFooter,null,Object(_.jsx)(r.EuiButtonEmpty,{onClick:n,"data-test-subj":"aiopsChangePointChartsInitializerCancelButton"},Object(_.jsx)(o.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.setupModal.cancelButtonLabel",defaultMessage:"Cancel"})),Object(_.jsx)(r.EuiButton,{"data-test-subj":"aiopsChangePointChartsInitializerConfirmButton",isDisabled:!E||!c,onClick:t.bind(null,j),fill:!0},Object(_.jsx)(o.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.setupModal.confirmButtonLabel",defaultMessage:"Confirm configurations"}))))},N=({formInput:e,onChange:t,onValidationChange:n})=>{var i,s;const{metricFieldOptions:u,splitFieldsOptions:c}=Object(h.d)(),b=d()(u),f=Object(a.useMemo)((()=>{const t=c.find((t=>t.name===(null==e?void 0:e.splitField)));var n;return!(!t||!t.esTypes)&&(null===(n=t.esTypes)||void 0===n?void 0:n.some((e=>e===p.a.KEYWORD)))}),[c,null==e?void 0:e.splitField]);Object(a.useEffect)((function(){var n,i;Object(O.a)(e)?u!==b&&t({fn:e.fn,metricField:null===(n=u[0])||void 0===n?void 0:n.name,splitField:void 0,partitions:void 0,maxSeriesToPlot:e.maxSeriesToPlot}):t({fn:F.c,metricField:null===(i=u[0])||void 0===i?void 0:i.name,splitField:void 0,partitions:void 0,maxSeriesToPlot:m.a})}),[u,b,e,t]);const g=Object(a.useCallback)((n=>{t({...e,...n})}),[e,t]);return Object(O.a)(e)?Object(_.jsx)(l.a.Fragment,null,Object(_.jsx)(r.EuiFormRow,{fullWidth:!0,label:Object(_.jsx)(o.FormattedMessage,{id:"xpack.aiops.embeddableChangePointChart.functionLabel",defaultMessage:"Function"})},Object(_.jsx)(v.a,{value:e.fn,onChange:e=>g({fn:e})})),Object(_.jsx)(y.a,{inline:!1,value:e.metricField,onChange:e=>g({metricField:e})}),Object(_.jsx)(T.a,{inline:!1,value:e.splitField,onChange:e=>g({splitField:e})}),e.splitField?Object(_.jsx)(E,{value:null!==(i=e.partitions)&&void 0!==i?i:[],onChange:e=>g({partitions:e}),splitField:e.splitField,enableSearch:f}):null,Object(_.jsx)(j.a,{inline:!1,disabled:!(null==e||null===(s=e.partitions)||void 0===s||!s.length),value:e.maxSeriesToPlot,onChange:e=>g({maxSeriesToPlot:e}),onValidationChange:e=>n(null===e)})):null};async function A(e,t,n){const{overlays:a}=e;return new Promise((async(l,r)=>{try{const o=a.openModal(Object(i.a)(Object(_.jsx)(s.a.Provider,{value:{...e,...t}},Object(_.jsx)(C,{initialInput:n,onCreate:e=>{o.close(),l(e)},onCancel:()=>{o.close(),r()}})),{theme:e.theme,i18n:e.i18n}))}catch(e){r(e)}}))}},45:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return u}));var i=n(12),a=n(16),l=n(18),s=n(17),r=(n(39),n(46));function o(e,t,n,i){let o=Object(r.d)();if(Object(l.isQuery)(e)&&e.language===r.a.KUERY){const i=Object(s.fromKueryExpression)(e.query);if(""!==e.query&&(o=Object(s.toElasticsearchQuery)(i,n)),void 0!==o.bool){const e=Object(s.buildQueryFromFilters)(t,n);Array.isArray(o.bool.filter)||(o.bool.filter=void 0===o.bool.filter?[]:[o.bool.filter]),Array.isArray(o.bool.must_not)||(o.bool.must_not=void 0===o.bool.must_not?[]:[o.bool.must_not]),o.bool.filter=[...o.bool.filter,...e.filter],o.bool.must_not=[...o.bool.must_not,...e.must_not]}}else o=Object(s.buildEsQuery)(n,e?[e]:[],t||[],i?Object(a.getEsQueryConfig)(i):void 0);return o}function u({dataView:e,uiSettings:t,savedSearch:n,query:s,filters:u,filterManager:c}){if(!e||!n)return;const d=s,b=u,O=function(e){return e&&"searchSource"in e&&(null==e?void 0:e.searchSource)instanceof a.SearchSource?e.searchSource:void 0}(n);if(O&&void 0!==O.getParent()&&d){var p,f,g;const e=null!==(p=Object(i.cloneDeep)(null===(f=n.searchSource.getSearchRequestBody())||void 0===f?void 0:f.query))&&void 0!==p?p:Object(r.d)(),t=null===(g=n.searchSource.getField("index"))||void 0===g?void 0:g.timeFieldName;return Array.isArray(e.bool.filter)&&void 0!==t&&(e.bool.filter=e.bool.filter.filter((e=>{var n;return!(e.hasOwnProperty("range")&&null!==(n=e.range)&&void 0!==n&&n.hasOwnProperty(t))}))),{searchQuery:e,searchString:d.query,queryLanguage:d.language}}if(!n&&d)return c&&b&&c.addFilters(b),{searchQuery:o(d,Array.isArray(b)?b:[],e,t),searchString:d.query,queryLanguage:d.language};if(O){const n=null==c?void 0:c.getGlobalFilters(),i=null!=d?d:O.getField("query"),a=null!=b?b:Object(l.mapAndFlattenFilters)(O.getField("filter"));return c&&c.setFilters(a),n&&(null==c||c.addFilters(n)),{searchQuery:o(i,c?null==c?void 0:c.getFilters():a,e,t),searchString:i.query,queryLanguage:i.language}}}},47:function(e,t,n){"use strict";n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return l}));var i=n(41),a=n.n(i);let l,s;!function(e){e._ID="_id",e._INDEX="_index",e._SOURCE="_source",e._TYPE="_type",e.STRING="string",e.TEXT="text",e.MATCH_ONLY_TEXT="match_only_text",e.KEYWORD="keyword",e.VERSION="version",e.BOOLEAN="boolean",e.OBJECT="object",e.DATE="date",e.DATE_NANOS="date_nanos",e.DATE_RANGE="date_range",e.GEO_POINT="geo_point",e.GEO_SHAPE="geo_shape",e.FLOAT="float",e.HALF_FLOAT="half_float",e.SCALED_FLOAT="scaled_float",e.DOUBLE="double",e.INTEGER="integer",e.LONG="long",e.SHORT="short",e.UNSIGNED_LONG="unsigned_long",e.AGGREGATE_METRIC_DOUBLE="aggregate_metric_double",e.FLOAT_RANGE="float_range",e.DOUBLE_RANGE="double_range",e.INTEGER_RANGE="integer_range",e.LONG_RANGE="long_range",e.NESTED="nested",e.BYTE="byte",e.IP="ip",e.IP_RANGE="ip_range",e.ATTACHMENT="attachment",e.TOKEN_COUNT="token_count",e.MURMUR3="murmur3",e.HISTOGRAM="histogram"}(l||(l={})),function(e){e._SOURCE="_source",e.ATTACHMENT="attachment",e.BOOLEAN="boolean",e.DATE="date",e.DATE_RANGE="date_range",e.GEO_POINT="geo_point",e.GEO_SHAPE="geo_shape",e.IP="ip",e.IP_RANGE="ip_range",e.MURMUR3="murmur3",e.NUMBER="number",e.NUMBER_RANGE="number_range",e.STRING="string",e.UNKNOWN="unknown",e.CONFLICT="conflict",e.OBJECT="object",e.NESTED="nested",e.HISTOGRAM="histogram",e.MISSING="missing"}(s||(s={}));class kbn_field_type_KbnFieldType{constructor(e={}){a()(this,"name",void 0),a()(this,"sortable",void 0),a()(this,"filterable",void 0),a()(this,"esTypes",void 0),this.name=e.name||s.UNKNOWN,this.sortable=e.sortable||!1,this.filterable=e.filterable||!1,this.esTypes=Object.freeze((e.esTypes||[]).slice())}}new kbn_field_type_KbnFieldType({name:s.UNKNOWN});new kbn_field_type_KbnFieldType({name:s.STRING,sortable:!0,filterable:!0,esTypes:[l.STRING,l.TEXT,l.MATCH_ONLY_TEXT,l.KEYWORD,l.VERSION,l._TYPE,l._ID]}),new kbn_field_type_KbnFieldType({name:s.NUMBER,sortable:!0,filterable:!0,esTypes:[l.FLOAT,l.HALF_FLOAT,l.SCALED_FLOAT,l.DOUBLE,l.INTEGER,l.LONG,l.UNSIGNED_LONG,l.SHORT,l.BYTE,l.TOKEN_COUNT,l.AGGREGATE_METRIC_DOUBLE]}),new kbn_field_type_KbnFieldType({name:s.NUMBER_RANGE,sortable:!0,filterable:!0,esTypes:[l.FLOAT_RANGE,l.DOUBLE_RANGE,l.INTEGER_RANGE,l.LONG_RANGE]}),new kbn_field_type_KbnFieldType({name:s.DATE,sortable:!0,filterable:!0,esTypes:[l.DATE,l.DATE_NANOS]}),new kbn_field_type_KbnFieldType({name:s.DATE_RANGE,sortable:!0,filterable:!0,esTypes:[l.DATE_RANGE]}),new kbn_field_type_KbnFieldType({name:s.IP,sortable:!0,filterable:!0,esTypes:[l.IP]}),new kbn_field_type_KbnFieldType({name:s.IP_RANGE,sortable:!0,filterable:!0,esTypes:[l.IP_RANGE]}),new kbn_field_type_KbnFieldType({name:s.BOOLEAN,sortable:!0,filterable:!0,esTypes:[l.BOOLEAN]}),new kbn_field_type_KbnFieldType({name:s.OBJECT,esTypes:[l.OBJECT]}),new kbn_field_type_KbnFieldType({name:s.NESTED,esTypes:[l.NESTED]}),new kbn_field_type_KbnFieldType({name:s.GEO_POINT,esTypes:[l.GEO_POINT]}),new kbn_field_type_KbnFieldType({name:s.GEO_SHAPE,esTypes:[l.GEO_SHAPE]}),new kbn_field_type_KbnFieldType({name:s.ATTACHMENT,esTypes:[l.ATTACHMENT]}),new kbn_field_type_KbnFieldType({name:s.MURMUR3,esTypes:[l.MURMUR3]}),new kbn_field_type_KbnFieldType({name:s._SOURCE,esTypes:[l._SOURCE]}),new kbn_field_type_KbnFieldType({name:s.HISTOGRAM,filterable:!0,esTypes:[l.HISTOGRAM]}),new kbn_field_type_KbnFieldType({name:s.CONFLICT})},48:function(e,t,n){"use strict";n.d(t,"g",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"f",(function(){return l})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return r})),n.d(t,"d",(function(){return o})),n.d(t,"e",(function(){return u}));const i={avg:"average",max:"max",min:"min",sum:"sum"},a="avg",l=1e4,s=500,r={DIP:"dip",SPIKE:"spike",DISTRIBUTION_CHANGE:"distribution_change",STEP_CHANGE:"step_change",TREND_CHANGE:"trend_change",STATIONARY:"stationary",NON_STATIONARY:"non_stationary",INDETERMINABLE:"indeterminable"},o=new Set([r.STATIONARY,r.NON_STATIONARY,r.INDETERMINABLE]),u=6},49:function(e,t,n){"use strict";n.d(t,"d",(function(){return _})),n.d(t,"b",(function(){return E})),n.d(t,"a",(function(){return m})),n.d(t,"c",(function(){return j}));var i=n(1),a=n(3),l=n(44),s=n(42),r=n(47),o=n(61),u=n(48),c=n(45),d=n(38),b=n(40),O=n(78),p=n(0);const f=Object(i.createContext)({splitFieldsOptions:[],metricFieldOptions:[],requestParams:{},timeBuckets:{},bucketInterval:{},updateRequestParams:()=>{},resultFilters:[],updateFilters:()=>{},resultQuery:{query:"",language:"kuery"},combinedQuery:{},selectedChangePoints:{},setSelectedChangePoints:()=>{}}),g=Object(i.createContext)({splitFieldsOptions:[],metricFieldOptions:[]}),_=()=>Object(i.useContext)(g),E=({children:e})=>{const{dataView:t}=Object(b.c)(),n={metricFieldOptions:Object(i.useMemo)((()=>t.fields.filter((({aggregatable:e,type:t})=>e&&"number"===t))),[t]),splitFieldsOptions:Object(i.useMemo)((()=>t.fields.filter((({aggregatable:e,esTypes:t,displayName:n})=>e&&t&&t.some((e=>[r.a.KEYWORD,r.a.IP].includes(e)))&&!["_id","_index"].includes(n)))),[t])};return Object(p.jsx)(g.Provider,{value:n},e)},m=({children:e})=>{const{dataView:t,savedSearch:n}=Object(b.c)(),{uiSettings:g,data:{query:{filterManager:_}}}=Object(d.b)(),E=Object(i.useMemo)((()=>Object(c.b)({dataView:t,uiSettings:g,savedSearch:n,filterManager:_})),[t,n,g,_]),m=Object(s.g)(),j=Object(O.a)(),[T,y]=Object(i.useState)([]),[h,v]=Object(i.useState)({}),[F,C]=Object(i.useState)(),N=Object(s.f)(!0);Object(i.useEffect)((function(){const e=m.getTimeUpdate$().pipe(Object(a.startWith)(m.getTime())).subscribe((()=>{const e=m.getActiveBounds();if(!e)throw new Error("Time bound not available");j.setInterval("auto"),j.setBounds(e),C(j.getInterval())}));return()=>{e.unsubscribe()}}),[]);const A=Object(i.useMemo)((()=>t.fields.filter((({aggregatable:e,type:t})=>e&&"number"===t))),[t]),R=Object(i.useMemo)((()=>t.fields.filter((({aggregatable:e,esTypes:t,displayName:n})=>e&&t&&t.some((e=>[r.a.KEYWORD,r.a.IP].includes(e)))&&!["_id","_index"].includes(n)))),[t]),[S,x]=Object(l.b)("changePoint"),I=Object(i.useMemo)((()=>{var e,t,n;return null!==(e=S.query)&&void 0!==e?e:{query:null!==(t=null==E?void 0:E.searchString)&&void 0!==t?t:"",language:null!==(n=null==E?void 0:E.queryLanguage)&&void 0!==n?n:"kuery"}}),[E,S.query]),P=Object(i.useMemo)((()=>{const e={...S};var t;return e.fieldConfigs||(e.fieldConfigs=[{fn:u.c,metricField:null===(t=A[0])||void 0===t?void 0:t.name}]),e.interval=null==F?void 0:F.expression,e}),[S,A,F]),M=Object(i.useCallback)((e=>{_.setFilters(e)}),[_]);Object(i.useEffect)((()=>{y(_.getFilters());const e=_.getUpdates$().subscribe((()=>{y(_.getFilters())}));return()=>{e.unsubscribe()}}),[]),Object(i.useEffect)((function(){const e=null==_?void 0:_.getGlobalFilters();S.filters&&_.setFilters(S.filters),e&&(null==_||_.addFilters(e))}),[S.filters,_]);const G=Object(i.useMemo)((()=>{var e;const n=Object(c.a)(I,T,t,g);return Array.isArray(null===(e=n.bool)||void 0===e?void 0:e.filter)||(n.bool||(n.bool={}),n.bool.filter=[]),n.bool.filter.push({range:{[t.timeFieldName]:{from:N.from,to:N.to}}}),n}),[T,I,g,t,N]);if(!F)return null;const w={timeBuckets:j,requestParams:P,updateRequestParams:x,metricFieldOptions:A,splitFieldsOptions:R,bucketInterval:F,resultFilters:T,updateFilters:M,resultQuery:I,combinedQuery:G,selectedChangePoints:h,setSelectedChangePoints:v};return Object(p.jsx)(f.Provider,{value:w},Object(p.jsx)(o.a,null,e))};function j(){return Object(i.useContext)(f)}},61:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return u}));var i=n(1),a=n(42),l=n(38),s=n(0);const r=Object(i.createContext)({get filters(){throw new Error("FilterQueryContext is not initialized")},get query(){throw new Error("FilterQueryContext is not initialized")},get timeRange(){throw new Error("FilterQueryContext is not initialized")}}),o=({children:e,timeRange:t})=>{const{data:{query:{filterManager:n,queryString:o}}}=Object(l.b)(),[u,c]=Object(i.useState)(n.getFilters()),[d,b]=Object(i.useState)(o.getQuery()),O=Object(a.f)(!0);return Object(i.useEffect)((()=>{const e=n.getUpdates$().subscribe((()=>{c(n.getFilters())}));return()=>{e.unsubscribe()}}),[n]),Object(i.useEffect)((()=>{const e=o.getUpdates$().subscribe((()=>{b(o.getQuery())}));return()=>{e.unsubscribe()}}),[o]),Object(s.jsx)(r.Provider,{value:{filters:u,query:d,timeRange:null!=t?t:O}},e)},u=()=>Object(i.useContext)(r)},62:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(1),a=n(16),l=n(19),s=n(38);function r(){const{data:e}=Object(s.b)(),t=Object(i.useRef)(new AbortController),[n,r]=Object(i.useState)(!1);return{runRequest:Object(i.useCallback)((n=>new Promise(((i,s)=>{e.search.search(n,{abortSignal:t.current.signal}).pipe(Object(l.tap)((()=>{r(!0)}))).subscribe({next:e=>{Object(a.isCompleteResponse)(e)?(r(!1),i(e)):Object(a.isErrorResponse)(e)&&s(e)},error:e=>{if("AbortError"===e.name)return i(null);r(!1),s(e)}})}))),[e.search]),cancelRequest:Object(i.useCallback)((()=>{t.current.abort(),t.current=new AbortController}),[]),isLoading:n}}}}]);