(window.dataViewFieldEditor_bundle_jsonpfunction=window.dataViewFieldEditor_bundle_jsonpfunction||[]).push([[1],Array(53).concat([function(e,t,i){"use strict";var n,r=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),o=[];function a(e){for(var t=-1,i=0;i=t?e.call(null):n.id=requestAnimationFrame(r)}))};return n}var m=-1;function p(e){if(void 0===e&&(e=!1),-1===m||e){var t=document.createElement("div"),i=t.style;i.width="50px",i.height="50px",i.overflow="scroll",document.body.appendChild(t),m=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return m}var h=null;function v(e){if(void 0===e&&(e=!1),null===h||e){var t=document.createElement("div"),i=t.style;i.width="50px",i.height="50px",i.overflow="scroll",i.direction="rtl";var n=document.createElement("div"),r=n.style;return r.width="100px",r.height="100px",t.appendChild(n),document.body.appendChild(t),t.scrollLeft>0?h="positive-descending":(t.scrollLeft=1,h=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),h}return h}var g=150,b=function(e){var t=e.columnIndex;return e.data,e.rowIndex+":"+t};function x(e){var t,i=e.getColumnOffset,n=e.getColumnStartIndexForOffset,d=e.getColumnStopIndexForStartIndex,u=e.getColumnWidth,m=e.getEstimatedTotalHeight,h=e.getEstimatedTotalWidth,x=e.getOffsetForColumnAndAlignment,_=e.getOffsetForRowAndAlignment,w=e.getRowHeight,F=e.getRowOffset,E=e.getRowStartIndexForOffset,O=e.getRowStopIndexForStartIndex,P=e.initInstanceProps,y=e.shouldResetStyleCacheOnItemSizeChange,S=e.validateProps;return(t=function(e){function t(t){var n;return(n=e.call(this,t)||this)._instanceProps=P(n.props,o(n)),n._resetIsScrollingTimeoutId=null,n._outerRef=void 0,n.state={instance:o(n),isScrolling:!1,horizontalScrollDirection:"forward",scrollLeft:"number"==typeof n.props.initialScrollLeft?n.props.initialScrollLeft:0,scrollTop:"number"==typeof n.props.initialScrollTop?n.props.initialScrollTop:0,scrollUpdateWasRequested:!1,verticalScrollDirection:"forward"},n._callOnItemsRendered=void 0,n._callOnItemsRendered=l((function(e,t,i,r,o,a,l,s){return n.props.onItemsRendered({overscanColumnStartIndex:e,overscanColumnStopIndex:t,overscanRowStartIndex:i,overscanRowStopIndex:r,visibleColumnStartIndex:o,visibleColumnStopIndex:a,visibleRowStartIndex:l,visibleRowStopIndex:s})})),n._callOnScroll=void 0,n._callOnScroll=l((function(e,t,i,r,o){return n.props.onScroll({horizontalScrollDirection:i,scrollLeft:e,scrollTop:t,verticalScrollDirection:r,scrollUpdateWasRequested:o})})),n._getItemStyle=void 0,n._getItemStyle=function(e,t){var r,o=n.props,a=o.columnWidth,l=o.direction,s=o.rowHeight,d=n._getItemStyleCache(y&&a,y&&l,y&&s),c=e+":"+t;if(d.hasOwnProperty(c))r=d[c];else{var f=i(n.props,t,n._instanceProps),m="rtl"===l;d[c]=r={position:"absolute",left:m?void 0:f,right:m?f:void 0,top:F(n.props,e,n._instanceProps),height:w(n.props,e,n._instanceProps),width:u(n.props,t,n._instanceProps)}}return r},n._getItemStyleCache=void 0,n._getItemStyleCache=l((function(e,t,i){return{}})),n._onScroll=function(e){var t=e.currentTarget,i=t.clientHeight,r=t.clientWidth,o=t.scrollLeft,a=t.scrollTop,l=t.scrollHeight,s=t.scrollWidth;n.setState((function(e){if(e.scrollLeft===o&&e.scrollTop===a)return null;var t=n.props.direction,d=o;if("rtl"===t)switch(v()){case"negative":d=-o;break;case"positive-descending":d=s-r-o}d=Math.max(0,Math.min(d,s-r));var u=Math.max(0,Math.min(a,l-i));return{isScrolling:!0,horizontalScrollDirection:e.scrollLeftd?v:0,j=g>l?v:0;this.scrollTo({scrollLeft:void 0!==n?x(this.props,n,i,c,this._instanceProps,j):c,scrollTop:void 0!==r?_(this.props,r,i,f,this._instanceProps,b):f})},C.componentDidMount=function(){var e=this.props,t=e.initialScrollLeft,i=e.initialScrollTop;if(null!=this._outerRef){var n=this._outerRef;"number"==typeof t&&(n.scrollLeft=t),"number"==typeof i&&(n.scrollTop=i)}this._callPropsCallbacks()},C.componentDidUpdate=function(){var e=this.props.direction,t=this.state,i=t.scrollLeft,n=t.scrollTop;if(t.scrollUpdateWasRequested&&null!=this._outerRef){var r=this._outerRef;if("rtl"===e)switch(v()){case"negative":r.scrollLeft=-i;break;case"positive-ascending":r.scrollLeft=i;break;default:var o=r.clientWidth,a=r.scrollWidth;r.scrollLeft=a-o-i}else r.scrollLeft=Math.max(0,i);r.scrollTop=Math.max(0,n)}this._callPropsCallbacks()},C.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&c(this._resetIsScrollingTimeoutId)},C.render=function(){var e=this.props,t=e.children,i=e.className,n=e.columnCount,o=e.direction,a=e.height,l=e.innerRef,d=e.innerElementType,u=e.innerTagName,c=e.itemData,f=e.itemKey,p=void 0===f?b:f,v=e.outerElementType,g=e.outerTagName,x=e.rowCount,j=e.style,_=e.useIsScrolling,w=e.width,F=this.state.isScrolling,E=this._getHorizontalRangeToRender(),O=E[0],P=E[1],y=this._getVerticalRangeToRender(),S=y[0],C=y[1],I=[];if(n>0&&x)for(var M=S;M<=C;M++)for(var T=O;T<=P;T++)I.push(s.createElement(t,{columnIndex:T,data:c,isScrolling:_?F:void 0,key:p({columnIndex:T,data:c,rowIndex:M}),rowIndex:M,style:this._getItemStyle(M,T)}));var R=m(this.props,this._instanceProps),L=h(this.props,this._instanceProps);return s.createElement(v||g||"div",{className:i,onScroll:this._onScroll,ref:this._outerRefSetter,style:r({position:"relative",height:a,width:w,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},j)},s.createElement(d||u||"div",{children:I,ref:l,style:{height:R,pointerEvents:F?"none":void 0,width:L}}))},C._callPropsCallbacks=function(){var e=this.props,t=e.columnCount,i=e.onItemsRendered,n=e.onScroll,r=e.rowCount;if("function"==typeof i&&t>0&&r>0){var o=this._getHorizontalRangeToRender(),a=o[0],l=o[1],s=o[2],d=o[3],u=this._getVerticalRangeToRender(),c=u[0],f=u[1],m=u[2],p=u[3];this._callOnItemsRendered(a,l,c,f,s,d,m,p)}if("function"==typeof n){var h=this.state,v=h.horizontalScrollDirection,g=h.scrollLeft,b=h.scrollTop,x=h.scrollUpdateWasRequested,j=h.verticalScrollDirection;this._callOnScroll(g,b,v,j,x)}},C._getHorizontalRangeToRender=function(){var e=this.props,t=e.columnCount,i=e.overscanColumnCount,r=e.overscanColumnsCount,o=e.overscanCount,a=e.rowCount,l=this.state,s=l.horizontalScrollDirection,u=l.isScrolling,c=l.scrollLeft,f=i||r||o||1;if(0===t||0===a)return[0,0,0,0];var m=n(this.props,c,this._instanceProps),p=d(this.props,m,c,this._instanceProps),h=u&&"backward"!==s?1:Math.max(1,f),v=u&&"forward"!==s?1:Math.max(1,f);return[Math.max(0,m-h),Math.max(0,Math.min(t-1,p+v)),m,p]},C._getVerticalRangeToRender=function(){var e=this.props,t=e.columnCount,i=e.overscanCount,n=e.overscanRowCount,r=e.overscanRowsCount,o=e.rowCount,a=this.state,l=a.isScrolling,s=a.verticalScrollDirection,d=a.scrollTop,u=n||r||i||1;if(0===t||0===o)return[0,0,0,0];var c=E(this.props,d,this._instanceProps),f=O(this.props,c,d,this._instanceProps),m=l&&"backward"!==s?1:Math.max(1,u),p=l&&"forward"!==s?1:Math.max(1,u);return[Math.max(0,c-m),Math.max(0,Math.min(o-1,f+p)),c,f]},t}(s.PureComponent)).defaultProps={direction:"ltr",itemData:void 0,useIsScrolling:!1},t}var j=function(e,t){e.children,e.direction,e.height,e.innerTagName,e.outerTagName,e.overscanColumnsCount,e.overscanCount,e.overscanRowsCount,e.width,t.instance},_=function(e,t){var i=e.rowCount,n=t.rowMetadataMap,r=t.estimatedRowHeight,o=t.lastMeasuredRowIndex,a=0;if(o>=i&&(o=i-1),o>=0){var l=n[o];a=l.offset+l.size}return a+(i-o-1)*r},w=function(e,t){var i=e.columnCount,n=t.columnMetadataMap,r=t.estimatedColumnWidth,o=t.lastMeasuredColumnIndex,a=0;if(o>=i&&(o=i-1),o>=0){var l=n[o];a=l.offset+l.size}return a+(i-o-1)*r},F=function(e,t,i,n){var r,o,a;if("column"===e?(r=n.columnMetadataMap,o=t.columnWidth,a=n.lastMeasuredColumnIndex):(r=n.rowMetadataMap,o=t.rowHeight,a=n.lastMeasuredRowIndex),i>a){var l=0;if(a>=0){var s=r[a];l=s.offset+s.size}for(var d=a+1;d<=i;d++){var u=o(d);r[d]={offset:l,size:u},l+=u}"column"===e?n.lastMeasuredColumnIndex=i:n.lastMeasuredRowIndex=i}return r[i]},E=function(e,t,i,n){var r,o;return"column"===e?(r=i.columnMetadataMap,o=i.lastMeasuredColumnIndex):(r=i.rowMetadataMap,o=i.lastMeasuredRowIndex),(o>0?r[o].offset:0)>=n?O(e,t,i,o,0,n):P(e,t,i,Math.max(0,o),n)},O=function(e,t,i,n,r,o){for(;r<=n;){var a=r+Math.floor((n-r)/2),l=F(e,t,a,i).offset;if(l===o)return a;lo&&(n=a-1)}return r>0?r-1:0},P=function(e,t,i,n,r){for(var o="column"===e?t.columnCount:t.rowCount,a=1;n=c-l&&r<=u+l?"auto":"center"),n){case"start":return u;case"end":return c;case"center":return Math.round(c+(u-c)/2);default:return r>=c&&r<=u?r:c>u||rl.clientWidth?p():0:l.scrollHeight>l.clientHeight?p():0}this.scrollTo(u(this.props,e,t,o,this._instanceProps,a))},j.componentDidMount=function(){var e=this.props,t=e.direction,i=e.initialScrollOffset,n=e.layout;if("number"==typeof i&&null!=this._outerRef){var r=this._outerRef;"horizontal"===t||"horizontal"===n?r.scrollLeft=i:r.scrollTop=i}this._callPropsCallbacks()},j.componentDidUpdate=function(){var e=this.props,t=e.direction,i=e.layout,n=this.state,r=n.scrollOffset;if(n.scrollUpdateWasRequested&&null!=this._outerRef){var o=this._outerRef;if("horizontal"===t||"horizontal"===i)if("rtl"===t)switch(v()){case"negative":o.scrollLeft=-r;break;case"positive-ascending":o.scrollLeft=r;break;default:var a=o.clientWidth,l=o.scrollWidth;o.scrollLeft=l-a-r}else o.scrollLeft=r;else o.scrollTop=r}this._callPropsCallbacks()},j.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&c(this._resetIsScrollingTimeoutId)},j.render=function(){var e=this.props,t=e.children,i=e.className,o=e.direction,a=e.height,l=e.innerRef,d=e.innerElementType,u=e.innerTagName,c=e.itemCount,f=e.itemData,m=e.itemKey,p=void 0===m?I:m,h=e.layout,v=e.outerElementType,g=e.outerTagName,b=e.style,x=e.useIsScrolling,j=e.width,_=this.state.isScrolling,w="horizontal"===o||"horizontal"===h,F=w?this._onScrollHorizontal:this._onScrollVertical,E=this._getRangeToRender(),O=E[0],P=E[1],y=[];if(c>0)for(var S=O;S<=P;S++)y.push(s.createElement(t,{data:f,key:p(S,f),index:S,isScrolling:x?_:void 0,style:this._getItemStyle(S)}));var C=n(this.props,this._instanceProps);return s.createElement(v||g||"div",{className:i,onScroll:F,ref:this._outerRefSetter,style:r({position:"relative",height:a,width:j,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},b)},s.createElement(d||u||"div",{children:y,ref:l,style:{height:w?"100%":C,pointerEvents:_?"none":void 0,width:w?C:"100%"}}))},j._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],i=e[1],n=e[2],r=e[3];this._callOnItemsRendered(t,i,n,r)}if("function"==typeof this.props.onScroll){var o=this.state,a=o.scrollDirection,l=o.scrollOffset,s=o.scrollUpdateWasRequested;this._callOnScroll(a,l,s)}},j._getRangeToRender=function(){var e=this.props,t=e.itemCount,i=e.overscanCount,n=this.state,r=n.isScrolling,o=n.scrollDirection,a=n.scrollOffset;if(0===t)return[0,0,0,0];var l=m(this.props,a,this._instanceProps),s=h(this.props,l,a,this._instanceProps),d=r&&"backward"!==o?1:Math.max(1,i),u=r&&"forward"!==o?1:Math.max(1,i);return[Math.max(0,l-d),Math.max(0,Math.min(t-1,s+u)),l,s]},t}(s.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var T=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},R=function(e,t,i){var n=e.itemSize,r=i.itemMetadataMap,o=i.lastMeasuredIndex;if(t>o){var a=0;if(o>=0){var l=r[o];a=l.offset+l.size}for(var s=o+1;s<=t;s++){var d=n(s);r[s]={offset:a,size:d},a+=d}i.lastMeasuredIndex=t}return r[t]},L=function(e,t,i,n,r){for(;n<=i;){var o=n+Math.floor((i-n)/2),a=R(e,o,t).offset;if(a===r)return o;ar&&(i=o-1)}return n>0?n-1:0},D=function(e,t){var i=e.itemCount,n=t.itemMetadataMap,r=t.estimatedItemSize,o=t.lastMeasuredIndex,a=0;if(o>=i&&(o=i-1),o>=0){var l=n[o];a=l.offset+l.size}return a+(i-o-1)*r},k=M({getItemOffset:function(e,t,i){return R(e,t,i).offset},getItemSize:function(e,t,i){return i.itemMetadataMap[t].size},getEstimatedTotalSize:D,getOffsetForIndexAndAlignment:function(e,t,i,n,r,o){var a=e.direction,l=e.height,s=e.layout,d=e.width,u="horizontal"===a||"horizontal"===s?d:l,c=R(e,t,r),f=D(e,r),m=Math.max(0,Math.min(f-u,c.offset)),p=Math.max(0,c.offset-u+c.size+o);switch("smart"===i&&(i=n>=p-u&&n<=m+u?"auto":"center"),i){case"start":return m;case"end":return p;case"center":return Math.round(p+(m-p)/2);default:return n>=p&&n<=m?n:n0?n[r].offset:0)>=i?L(e,t,r,0,i):function(e,t,i,n){for(var r=e.itemCount,o=1;i=c-s&&n<=u+s?"auto":"center"),i){case"start":return u;case"end":return c;case"center":var f=Math.round(c+(u-c)/2);return fd+Math.floor(s/2)?d:f;default:return n>=c&&n<=u?n:c>u||n=c-l&&n<=u+l?"auto":"center"),i){case"start":return u;case"end":return c;case"center":var f=Math.round(c+(u-c)/2);return fd+Math.floor(l/2)?d:f;default:return n>=c&&n<=u?n:c>u||n=h-f&&n<=p+f?"auto":"center"),i){case"start":return p;case"end":return h;case"center":var v=Math.round(h+(p-h)/2);return vm+Math.floor(f/2)?m:v;default:return n>=h&&n<=p?n:n=t||i<0||v&&e-p>=u}function j(){var e=r();if(x(e))return _(e);f=setTimeout(j,function(e){var i=t-(e-m);return v?l(i,u-(e-p)):i}(e))}function _(e){return f=void 0,g&&s?b(e):(s=d=void 0,c)}function w(){var e=r(),i=x(e);if(s=arguments,d=this,m=e,i){if(void 0===f)return function(e){return p=e,f=setTimeout(j,t),h?b(e):c}(m);if(v)return clearTimeout(f),f=setTimeout(j,t),b(m)}return void 0===f&&(f=setTimeout(j,t)),c}return t=o(t)||0,n(i)&&(h=!!i.leading,u=(v="maxWait"in i)?a(o(i.maxWait)||0,t):u,g="trailing"in i?!!i.trailing:g),w.cancel=function(){void 0!==f&&clearTimeout(f),p=0,s=m=d=f=void 0},w.flush=function(){return void 0===f?c:_(r())},w}},function(e,t,i){e.exports=i(16)(360)},function(e,t,i){var n=i(87);e.exports=function(){return n.Date.now()}},function(e,t,i){e.exports=i(16)(315)},function(e,t,i){e.exports=i(16)(3630)},,,,,,,,,,,,function(e,t,i){"use strict";i.r(t),i.d(t,"FieldEditorFlyoutContentContainer",(function(){return ut}));var n=i(1),r=i.n(n),o=i(3),a=i(39),l=i(46),s=i(10),d=i(47);const u=({links:e})=>({runtimePainless:e.indexPatterns.runtimeFields,painlessSyntax:e.scriptedFields.painlessLangSpec}),c=e=>{var t,i,n,r;let a=null===(t=e.caused_by)||void 0===t?void 0:t.reason;const l=((e="")=>e.startsWith("Cannot cast from")?"CAST_ERROR":"UNKNOWN")(a);return"CAST_ERROR"===l&&(a=`${a} ${o.i18n.translate("indexPatternFieldEditor.editor.form.scriptEditor.castErrorMessage",{defaultMessage:"Verify that you have correctly set the runtime field type."})}`),{message:o.i18n.translate("indexPatternFieldEditor.editor.form.scriptEditor.compileErrorMessage",{defaultMessage:"Error compiling the painless script"}),position:null!==(i=e.position)&&void 0!==i?i:null,scriptStack:null!==(n=e.script_stack)&&void 0!==n?n:[],reason:null!==(r=a)&&void 0!==r?r:null,code:l}};i(24);var f=i(2),m=i(14),p=(i(22),i(0));const h={title:o.i18n.translate("indexPatternFieldEditor.cancelField.confirmationModal.title",{defaultMessage:"Discard changes"}),description:o.i18n.translate("indexPatternFieldEditor.cancelField.confirmationModal.description",{defaultMessage:"Changes that you've made to your field will be discarded, are you sure you want to continue?"}),cancelButton:o.i18n.translate("indexPatternFieldEditor.cancelField.confirmationModal.cancelButtonLabel",{defaultMessage:"Cancel"})},v=({onCancel:e,onConfirm:t})=>Object(p.jsx)(f.EuiConfirmModal,{title:h.title,buttonColor:"danger","data-test-subj":"runtimeFieldModifiedFieldConfirmModal",cancelButtonText:h.cancelButton,confirmButtonText:h.title,onCancel:e,onConfirm:t,maxWidth:600},Object(p.jsx)("p",null,h.description)),g=({fieldName:e,onCancel:t,onConfirm:i})=>{const r=(e=>({cancelButtonText:o.i18n.translate("indexPatternFieldEditor.saveRuntimeField.confirmationModal.cancelButtonLabel",{defaultMessage:"Cancel"}),confirmButtonText:o.i18n.translate("indexPatternFieldEditor.deleteRuntimeField.confirmationModal.saveButtonLabel",{defaultMessage:"Save changes"}),warningChangingFields:o.i18n.translate("indexPatternFieldEditor.deleteRuntimeField.confirmModal.warningChangingFields",{defaultMessage:"Changing name or type can break searches and visualizations that rely on this field."}),typeConfirm:o.i18n.translate("indexPatternFieldEditor.saveRuntimeField.confirmModal.typeConfirm",{defaultMessage:"Enter CHANGE to continue"}),titleConfirmChanges:o.i18n.translate("indexPatternFieldEditor.saveRuntimeField.confirmModal.title",{defaultMessage:"Save changes to '{name}'",values:{name:e}})}))(e),[a,l]=Object(n.useState)("");return Object(p.jsx)(f.EuiConfirmModal,{title:r.titleConfirmChanges,"data-test-subj":"runtimeFieldSaveConfirmModal",cancelButtonText:r.cancelButtonText,confirmButtonText:r.confirmButtonText,confirmButtonDisabled:"CHANGE"!==(null==a?void 0:a.toUpperCase()),onCancel:t,onConfirm:i},Object(p.jsx)(f.EuiCallOut,{color:"warning",title:r.warningChangingFields,iconType:"warning",size:"s"}),Object(p.jsx)(f.EuiSpacer,null),Object(p.jsx)(f.EuiFormRow,{label:r.typeConfirm},Object(p.jsx)(f.EuiFieldText,{value:a,onChange:e=>l(e.target.value),"data-test-subj":"saveModalConfirmText"})))};var b=i(18),x=i(6);const j=Object(n.createContext)(void 0),_=({services:e,dataView:t,links:i,uiSettings:r,fieldTypeToProcess:o,fieldFormats:a,fieldFormatEditors:l,namesNotAllowed:s,existingConcreteFields:d,children:u,fieldName$:c,subfields$:f})=>{const m=Object(n.useMemo)((()=>({dataView:t,fieldTypeToProcess:o,links:i,uiSettings:r,services:e,fieldFormats:a,fieldFormatEditors:l,namesNotAllowed:s,existingConcreteFields:d,fieldName$:c,subfields$:f})),[t,o,e,i,r,a,l,s,d,c,f]);return Object(p.jsx)(j.Provider,{value:m},u)},w=()=>{const e=Object(n.useContext)(j);if(void 0===e)throw new Error("useFieldEditorContext must be used within a ");return e};var F=i(48),E=i(62),O=i.n(E),P=i(50),y=i(21),S=i.n(y);function C(e,t,i){const r=Object(n.useMemo)((()=>e.pipe(Object(P.map)(t),Object(P.distinctUntilChanged)(i))),[e,t,i]),o=Object(n.useMemo)((()=>t(e.value)),[t,e]);return S()(r,o)}const I=Object(n.createContext)(void 0),M={name:null,index:null,script:null,document:null,type:null,format:null,parentName:null},T=e=>{var t;const i="object"==typeof e?JSON.stringify(e):null!==(t=String(e))&&void 0!==t?t:"-";return Object(F.renderToString)(Object(p.jsx)(r.a.Fragment,null,i))},R=e=>{const t=typeof e;return"string"===t?"keyword":"number"===t?"double":"boolean"===t?"boolean":"keyword"},L=e=>{const t=e.documents[e.currentIdx];return{currentDocument:t,totalDocs:e.documents.length,currentDocIndex:null==t?void 0:t._index,currentDocId:null==t?void 0:t._id}},D=({controller:e,children:t})=>{const{dataView:i,services:{notifications:r,api:{getFieldPreview:a}},fieldName$:s}=w(),d=Object(n.useRef)(new l.BehaviorSubject(void 0)),[u,f]=Object(n.useState)(M),[m,h]=Object(n.useState)({isValidating:!1,isValid:!0,message:null}),{currentDocument:v,currentDocIndex:g,currentDocId:x}=C(e.state$,L),{name:j,document:_,script:F,format:E,type:P,parentName:y}=u,S=Object(n.useCallback)((e=>{f((t=>({...t,...e})))}),[]),R=Object(n.useCallback)((async()=>{var t;if(!y&&m.isValidating)return;if(!(y||e.allParamsDefined(P,null==F?void 0:F.source,g)&&e.hasSomeParamsChanged(P,null==F?void 0:F.source,x)&&!1!==m.isValid))return void e.setIsLoadingPreview(!1);if(!g)return void e.setIsLoadingPreview(!1);e.setLastExecutePainlessRequestParams({type:P,script:null==F?void 0:F.source,documentId:x});const n=e.incrementPreviewCount(),l=y&&(null===(t=i.getRuntimeField(y))||void 0===t?void 0:t.script)||F,u=await a({index:g,document:null==_?void 0:_._source,context:y?"composite_field":`${P}_field`,script:l});if(n!==e.getPreviewCount())return;const{error:f}=u;if(f){const t=o.i18n.translate("indexPatternFieldEditor.fieldPreview.errorTitle",{defaultMessage:"Failed to load field preview"});return r.toasts.addError(f,{title:t}),void e.setIsLoadingPreview(!1)}if(u.data){const{values:t,error:i}=u.data;i?e.setPreviewResponse({fields:[{key:null!=j?j:"",value:"",formattedValue:T("")}],error:{code:"PAINLESS_SCRIPT_ERROR",error:c(i)}}):Array.isArray(t)?e.updateSingleFieldPreview(j,t,P,E):e.updateCompositeFieldPreview(t,y,j,s.getValue(),P,E,(e=>d.current.next(e)))}e.setInitialPreviewComplete(!0),e.setIsLoadingPreview(!1)}),[j,P,F,y,i,_,x,a,r.toasts,m,g,e,E,s]),D=Object(n.useMemo)((()=>({controller:e,fieldPreview$:d.current,params:{value:u,update:S},validation:{setScriptEditorValidation:h}})),[e,d,u,S]);return Object(n.useEffect)((()=>{S({document:v,index:null==v?void 0:v._index})}),[v,S]),Object(n.useEffect)((()=>{const{previewResponse:t}=e.state$.getValue(),{fields:i}=t;let n=i.map((e=>{let t=null!=j?j:"";if("composite"===P){const{1:i}=e.key.split(".");t=`${null!=j?j:""}.${i}`}return{...e,key:t}}));0===n.length&&null!==j&&(n=[{key:j,value:void 0,formattedValue:void 0,type:void 0}]),e.setPreviewResponse({...t,fields:n})}),[j,P,y,e]),Object(n.useEffect)((()=>{const{previewResponse:t}=e.state$.getValue(),{fields:i}=t;e.setPreviewResponse({...t,fields:i.map((t=>{var i;const n=null===F&&Boolean(_)?null!==(i=Object(b.get)(null==_?void 0:_._source,null!=j?j:""))&&void 0!==i?i:Object(b.get)(null==_?void 0:_.fields,null!=j?j:""):null==t?void 0:t.value,r=e.valueFormatter({value:n,type:P,format:E});return{...t,value:n,formattedValue:r}}))})}),[j,F,_,e,P,E]),Object(n.useEffect)((()=>{void 0===(null==F?void 0:F.source)&&(e.setLastExecutePainlessRequestParams({script:void 0}),e.setPreviewError(null))}),[null==F?void 0:F.source,e]),Object(n.useEffect)((()=>{if(!m.isValidating)if(!1===m.isValid){var t;e.setIsLoadingPreview(!1);const i=void 0===(null==F?void 0:F.source)?null:{code:"PAINLESS_SYNTAX_ERROR",error:{reason:null!==(t=m.message)&&void 0!==t?t:o.i18n.translate("indexPatternFieldEditor.fieldPreview.error.painlessSyntax",{defaultMessage:"Invalid Painless syntax"})}};e.setPreviewError(i),e.setLastExecutePainlessRequestParams({script:null==F?void 0:F.source})}else e.clearPreviewError("PAINLESS_SYNTAX_ERROR")}),[m,null==F?void 0:F.source,e]),O()(R,500,[R]),Object(p.jsx)(I.Provider,{value:D},t)},k=()=>{const e=Object(n.useContext)(I);if(void 0===e)throw new Error("useFieldPreviewContext must be used within a ");return e},N=()=>Object(p.jsx)("div",{"data-test-subj":"isUpdatingIndicator"},Object(p.jsx)(f.EuiFlexGroup,{gutterSize:"xs"},Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiLoadingSpinner,{size:"m"})),Object(p.jsx)(f.EuiFlexItem,{grow:!1},o.i18n.translate("indexPatternFieldEditor.fieldPreview.updatingPreviewLabel",{defaultMessage:"Updating..."})))),V={title:o.i18n.translate("indexPatternFieldEditor.fieldPreview.title",{defaultMessage:"Preview"}),customData:o.i18n.translate("indexPatternFieldEditor.fieldPreview.subTitle.customData",{defaultMessage:"Custom data"})},z=e=>e.isLoadingDocuments,B=e=>e.documentSource,W=()=>{const{dataView:e}=w(),{controller:t}=k(),i=C(t.state$,z),n=C(t.state$,B);return Object(p.jsx)("div",null,Object(p.jsx)(f.EuiFlexGroup,{alignItems:"center"},Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiTitle,{size:"s"},Object(p.jsx)("h2",{"data-test-subj":"title"},V.title))),i&&Object(p.jsx)(f.EuiFlexItem,{"data-test-subj":"isFetchingDocumentIndicator"},Object(p.jsx)(N,null))),Object(p.jsx)(f.EuiText,null,Object(p.jsx)(f.EuiTextColor,{color:"subdued","data-test-subj":"subTitle"},o.i18n.translate("indexPatternFieldEditor.fieldPreview.subTitle",{defaultMessage:"From: {documentSource}",values:{documentSource:"cluster"===n?e.getIndexPattern():V.customData}}))))},A=()=>Object(p.jsx)(f.EuiFlexGroup,{style:{height:"100%"},"data-test-subj":"emptyPrompt"},Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)(f.EuiEmptyPrompt,{iconType:"inspect",title:Object(p.jsx)("h2",null,o.i18n.translate("indexPatternFieldEditor.fieldPreview.emptyPromptTitle",{defaultMessage:"Preview"})),titleSize:"s",body:Object(p.jsx)(f.EuiText,{size:"s"},Object(p.jsx)(f.EuiTextColor,{color:"subdued"},Object(p.jsx)("p",null,o.i18n.translate("indexPatternFieldEditor.fieldPreview.emptyPromptDescription",{defaultMessage:"Enter the name of an existing field or define a script to view a preview of the calculated output."}))))}))),$=e=>{const t=e.documents[e.currentIdx];return{documentId:t?t._id:void 0,customId:e.customId}},U=e=>e.fetchDocError,H=()=>{const{controller:e}=k(),{goToPreviousDocument:t,goToNextDocument:i}=e,{documentId:r,customId:a}=C(e.state$,$),l=C(e.state$,U),s="DOC_NOT_FOUND"===(null==l?void 0:l.code),d=!a,u=Object(n.useCallback)((t=>{const i=t.target.value;e.setCustomDocIdToLoad(i)}),[e]);return Object(p.jsx)("div",null,Object(p.jsx)(f.EuiFlexGroup,{gutterSize:"s"},Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)(f.EuiFormRow,{label:o.i18n.translate("indexPatternFieldEditor.fieldPreview.documentIdField.label",{defaultMessage:"Document ID"}),isInvalid:s,fullWidth:!0},Object(p.jsx)(f.EuiFieldText,{isInvalid:s,value:a||r||"",onChange:u,fullWidth:!0,"data-test-subj":"documentIdField"})),a&&Object(p.jsx)("span",null,Object(p.jsx)(f.EuiButtonEmpty,{color:"primary",size:"xs",flush:"left",onClick:()=>e.fetchSampleDocuments(),"data-test-subj":"loadDocsFromClusterButton"},o.i18n.translate("indexPatternFieldEditor.fieldPreview.documentIdField.loadDocumentsFromCluster",{defaultMessage:"Load documents from cluster"})))),d&&Object(p.jsx)(f.EuiFlexItem,{grow:!1,"data-test-subj":"documentsNav"},Object(p.jsx)(f.EuiFlexGroup,{gutterSize:"s",alignItems:"flexEnd"},Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiButtonIcon,{display:"base",size:"m",onClick:t,iconType:"arrowLeft","data-test-subj":"goToPrevDocButton","aria-label":o.i18n.translate("indexPatternFieldEditor.fieldPreview.documentNav.previousArialabel",{defaultMessage:"Previous document"})})),Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiButtonIcon,{display:"base",size:"m",onClick:i,iconType:"arrowRight","data-test-subj":"goToNextDocButton","aria-label":o.i18n.translate("indexPatternFieldEditor.fieldPreview.documentNav.nextArialabel",{defaultMessage:"Next document"})}))))))},q=e=>e.fetchDocError,G=()=>{var e;const{controller:t}=k(),i=C(t.state$,q);return null===i?null:Object(p.jsx)(f.EuiCallOut,{title:o.i18n.translate("indexPatternFieldEditor.fieldPreview.errorCallout.title",{defaultMessage:"Error fetching document"}),color:"danger",iconType:"error",role:"alert","data-test-subj":"fetchDocError"},Object(p.jsx)("p",{"data-test-subj":"title"},null!==(e=i.error.message)&&void 0!==e?e:i.error.reason))};var J=i(49),Y=i.n(J);const K=e=>{const t=new RegExp("max-width:[^;]+;","gm");return t.test(e)?e.replace(t,"max-width: 100%;"):e},X=({imgHTML:e,closeModal:t})=>Object(p.jsx)(f.EuiModal,{onClose:t},Object(p.jsx)(f.EuiModalBody,null,Object(p.jsx)("div",{className:"indexPatternFieldEditor__previewImageModal__wrapper",dangerouslySetInnerHTML:{__html:K(e)}}))),Q=e=>e.isLoadingPreview,Z=({field:{key:e,value:t,formattedValue:i,isPinned:a=!1},toggleIsPinned:l,hasScriptError:s,isFromScript:d=!1})=>{const{controller:u}=k(),c=C(u.state$,Q),[m,h]=Object(n.useState)(!1),v=Y()("indexPatternFieldEditor__previewFieldList__item",{"indexPatternFieldEditor__previewFieldList__item--highlighted":d,"indexPatternFieldEditor__previewFieldList__item--pinned":a}),g=null==i?void 0:i.includes("h(!0),iconType:"image"},o.i18n.translate("indexPatternFieldEditor.fieldPreview.viewImageButtonLabel",{defaultMessage:"View image"})):(b=void 0!==i?Object(p.jsx)("span",{className:"indexPatternFieldEditor__previewFieldList__item__value__wrapper",dangerouslySetInnerHTML:{__html:i}}):Object(p.jsx)("span",{className:"indexPatternFieldEditor__previewFieldList__item__value__wrapper"},JSON.stringify(t)),Object(p.jsx)(f.EuiToolTip,{position:"top",content:"string"!=typeof t?JSON.stringify(t):t},b))),Object(p.jsx)(f.EuiFlexItem,{className:"indexPatternFieldEditor__previewFieldList__item__actions",grow:!1},l&&Object(p.jsx)(f.EuiButtonIcon,{onClick:()=>{l(e)},color:"text",iconType:"pinFilled","data-test-subj":"pinFieldButton","aria-label":o.i18n.translate("indexPatternFieldEditor.fieldPreview.pinFieldButtonLabel",{defaultMessage:"Pin field"}),className:"indexPatternFieldEditor__previewFieldList__item__actionsBtn"}))),m&&Object(p.jsx)(X,{imgHTML:i,closeModal:()=>h(!1)}));var b};var ee=i(69);function te(e){return e.replace(/[-\[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}i(64);const ie=e=>e.pinnedFields,ne=e=>e.documents[e.currentIdx],re=r.a.memo((({data:e,index:t,style:i})=>{const{filteredFields:n,toggleIsPinned:r}=e,o=n[t];return Object(p.jsx)("div",{key:o.key,style:i,"data-test-subj":"indexPatternFieldList"},Object(p.jsx)(Z,{key:o.key,field:o,toggleIsPinned:r}))}),ee.areEqual),oe=({height:e,clearSearch:t,searchValue:i=""})=>{const{dataView:a}=w(),{controller:l}=k(),s=C(l.state$,ie,b.isEqual),d=C(l.state$,ne),[u,c]=Object(n.useState)(!1),m=Object(n.useMemo)((()=>a.fields.getAll().map((e=>{const{name:t,displayName:i}=e,n=a.getFormatterForField(e),r=Object(b.get)(null==d?void 0:d._source,t);return{key:i,value:r,formattedValue:n.convert(r,"html"),isPinned:!1}})).filter((({value:e})=>void 0!==e))),[a,null==d?void 0:d._source]),h=Object(n.useMemo)((()=>{const e=[],t=[];return m.forEach((i=>{s[i.key]?e.push({...i,isPinned:!0}):t.push({...i,isPinned:!1})})),[...e,...t]}),[m,s]),{filteredFields:v,totalFields:g}=Object(n.useMemo)((()=>{const e=""===i.trim()?h:h.filter((({key:e})=>function(e,t){const i=`.*${e.split("").map(te).join(".*")}.*`;return new RegExp(i,"i").test(t)}(i,e))),t=e.length;return u?{filteredFields:e,totalFields:t}:{filteredFields:e.filter(((e,t)=>t<7)),totalFields:t}}),[h,u,i]),x=""!==i.trim()&&0===g,j=Math.min(40*v.length,e-40),_=Object(n.useCallback)((()=>{c((e=>!e))}),[]),F=Object(n.useMemo)((()=>({filteredFields:v,toggleIsPinned:l.togglePinnedField})),[v,l.togglePinnedField]);return void 0===d||-1===e?null:Object(p.jsx)("div",{className:"indexPatternFieldEditor__previewFieldList"},x?Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiSpacer,null),Object(p.jsx)(f.EuiEmptyPrompt,{iconType:"search",title:Object(p.jsx)(f.EuiTextColor,{color:"subdued"},Object(p.jsx)("h3",{className:"indexPatternFieldEditor__previewEmptySearchResult__title"},o.i18n.translate("indexPatternFieldEditor.fieldPreview.searchResult.emptyPromptTitle",{defaultMessage:"No matching fields in this data view"}))),titleSize:"xs",actions:Object(p.jsx)(f.EuiButton,{onClick:t,"data-test-subj":"clearSearchButton"},o.i18n.translate("indexPatternFieldEditor.fieldPreview.searchResult.emptyPrompt.clearSearchButtonLabel",{defaultMessage:"Clear search"})),"data-test-subj":"emptySearchResult"})):Object(p.jsx)(ee.FixedSizeList,{className:"eui-scrollBar",style:{overflowX:"hidden"},width:"100%",height:j,itemData:F,itemCount:v.length,itemSize:40},re),g<=7?null:Object(p.jsx)("div",{className:"indexPatternFieldEditor__previewFieldList__showMore"},Object(p.jsx)(f.EuiButtonEmpty,{onClick:_,flush:"left"},u?o.i18n.translate("indexPatternFieldEditor.fieldPreview.showLessFieldsButtonLabel",{defaultMessage:"Show less"}):o.i18n.translate("indexPatternFieldEditor.fieldPreview.showMoreFieldsButtonLabel",{defaultMessage:"Show more"}))))};i(74);const ae=e=>e.previewResponse,le=e=>e.fetchDocError,se=e=>e.isLoadingPreview,de=e=>e.isPreviewAvailable,ue=()=>{const[e,t]=Object(n.useState)(-1),[i,a]=Object(n.useState)(""),{params:{value:{name:l,script:s,format:d}},controller:u}=k(),{fields:c,error:m}=C(u.state$,ae),h=C(u.state$,le),v=C(u.state$,se),g=C(u.state$,de);let b=!1;const x=null===l&&null===s&&null===d,j=null!==m||c.length>0;x?b=!0:j||v||null!==l||null!==d||(b=!0);const _=null===h,w=!1===g&&null===h,F=Object(n.useCallback)((({height:e})=>{t(e)}),[]);return Object(p.jsx)("div",{className:"indexPatternFieldEditor__previewPannel",tabIndex:0},b?Object(p.jsx)(A,null):Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(W,null),Object(p.jsx)(f.EuiSpacer,null),w?Object(p.jsx)(f.EuiCallOut,{title:o.i18n.translate("indexPatternFieldEditor.fieldPreview.notAvailableWarningCallout.title",{defaultMessage:"Preview not available"}),color:"warning",iconType:"warning",role:"alert","data-test-subj":"previewNotAvailableCallout"},Object(p.jsx)("p",null,o.i18n.translate("indexPatternFieldEditor.fieldPreview.notAvailableWarningCallout.description",{defaultMessage:"Runtime field preview is disabled because no documents could be fetched from the cluster."}))):Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(H,null),Object(p.jsx)(f.EuiSpacer,{size:"s"}),_&&Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFieldSearch,{value:i,onChange:e=>a(e.target.value),placeholder:o.i18n.translate("indexPatternFieldEditor.fieldPreview.filterFieldsPlaceholder",{defaultMessage:"Filter fields"}),fullWidth:!0,"data-test-subj":"filterFieldsInput"}),Object(p.jsx)(f.EuiSpacer,{size:"s"})),Object(p.jsx)(G,null),Object(p.jsx)(f.EuiSpacer,{size:"s"}),_&&Object(p.jsx)(r.a.Fragment,null,0===c.length?null:Object(p.jsx)("ul",null,c.map(((e,t)=>Object(p.jsx)("li",{key:t,"data-test-subj":"fieldPreviewItem"},Object(p.jsx)(Z,{field:e,isFromScript:!0,hasScriptError:Boolean(m)}))))),Object(p.jsx)(f.EuiResizeObserver,{onResize:F},(t=>Object(p.jsx)("div",{ref:t,style:{flex:1}},Object(p.jsx)(oe,{height:e,clearSearch:()=>a(""),searchValue:i,key:e}))))))))},ce=[{label:"Keyword",value:"keyword"},{label:"Long",value:"long"},{label:"Double",value:"double"},{label:"Date",value:"date"},{label:"IP",value:"ip"},{label:"Boolean",value:"boolean"},{label:"Geo point",value:"geo_point"}],fe=[...ce,{label:"Composite",value:"composite"}],{containsCharsField:me,emptyField:pe,numberGreaterThanField:he}=x.h,ve={invalidScriptErrorMessage:o.i18n.translate("indexPatternFieldEditor.editor.form.scriptEditorPainlessValidationMessage",{defaultMessage:"Invalid Painless script."})},ge={name:{label:o.i18n.translate("indexPatternFieldEditor.editor.form.nameLabel",{defaultMessage:"Name"}),validations:[{validator:pe(o.i18n.translate("indexPatternFieldEditor.editor.form.validations.nameIsRequiredErrorMessage",{defaultMessage:"A name is required."}))},{validator:me({message:o.i18n.translate("indexPatternFieldEditor.editor.form.validations.starCharacterNotAllowedValidationErrorMessage",{defaultMessage:"The field cannot have * in the name."}),chars:"*"})}]},type:{label:o.i18n.translate("indexPatternFieldEditor.editor.form.runtimeTypeLabel",{defaultMessage:"Type"}),defaultValue:[fe[0]],fieldsToValidateOnChange:["script.source"]},script:{source:{label:o.i18n.translate("indexPatternFieldEditor.editor.form.defineFieldLabel",{defaultMessage:"Define script"}),validations:[{validator:pe(o.i18n.translate("indexPatternFieldEditor.editor.form.validations.scriptIsRequiredErrorMessage",{defaultMessage:"A script is required to set the field value."}))},{validator:async({customData:{provider:e}})=>{const t=await e();if(t&&"PAINLESS_SCRIPT_ERROR"===t.code)return{message:ve.invalidScriptErrorMessage}},isAsync:!0}]}},customLabel:{label:o.i18n.translate("indexPatternFieldEditor.editor.form.customLabelLabel",{defaultMessage:"Custom label"}),validations:[{validator:pe(o.i18n.translate("indexPatternFieldEditor.editor.form.validations.customLabelIsRequiredErrorMessage",{defaultMessage:"Give a label to the field."}))}]},popularity:{label:o.i18n.translate("indexPatternFieldEditor.editor.form.popularityLabel",{defaultMessage:"Popularity"}),validations:[{validator:pe(o.i18n.translate("indexPatternFieldEditor.editor.form.validations.popularityIsRequiredErrorMessage",{defaultMessage:"Give a popularity to the field."}))},{validator:he({than:0,allowEquality:!0,message:o.i18n.translate("indexPatternFieldEditor.editor.form.validations.popularityGreaterThan0ErrorMessage",{defaultMessage:"The popularity must be zero or greater."})})}]},fields:{defaultValue:{}},__meta__:{isCustomLabelVisible:{defaultValue:!1},isValueVisible:{defaultValue:!1},isFormatVisible:{defaultValue:!1},isPopularityVisible:{defaultValue:!1}}};let be;!function(e){e.UPSERT="upsert",e.DELETE="delete"}(be||(be={}));const xe=e=>({value:t})=>e.fields.includes(t)?{message:o.i18n.translate("indexPatternFieldEditor.editor.runtimeFieldsEditor.existRuntimeFieldNamesValidationErrorMessage",{defaultMessage:"A field with this name already exists."})}:e.runtimeComposites.includes(t)?{message:o.i18n.translate("indexPatternFieldEditor.editor.runtimeFieldsEditor.existCompositeNamesValidationErrorMessage",{defaultMessage:"A runtime composite with this name already exists."})}:void 0,je=({isDisabled:e=!1,includeComposite:t,path:i,defaultValue:n=[ce[0]]})=>Object(p.jsx)(x.f,{path:i},(({label:i,value:a,setValue:l})=>void 0===a?null:Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFormRow,{label:i,fullWidth:!0},Object(p.jsx)(f.EuiComboBox,{placeholder:o.i18n.translate("indexPatternFieldEditor.editor.form.runtimeType.placeholderLabel",{defaultMessage:"Select a type"}),singleSelection:{asPlainText:!0},options:t?fe:ce,selectedOptions:a||n,onChange:e=>{0!==e.length&&l(e)},isClearable:!1,isDisabled:e,"data-test-subj":"typeField","aria-label":o.i18n.translate("indexPatternFieldEditor.editor.form.typeSelectAriaLabel",{defaultMessage:"Type select"}),fullWidth:!0}))))),_e=()=>Object(p.jsx)(x.f,{path:"customLabel",component:x.d}),we=()=>Object(p.jsx)(x.f,{path:"popularity",component:x.c,componentProps:{euiFieldProps:{"data-test-subj":"editorFieldCount"}}}),Fe=e=>{switch(e){case"keyword":default:return"string_script_field_script_field";case"long":return"long_script_field_script_field";case"double":return"double_script_field_script_field";case"date":return"date_script_field";case"ip":return"ip_script_field_script_field";case"boolean":return"boolean_script_field_script_field"}},Ee=e=>e.documents[e.currentIdx],Oe=e=>e.isLoadingDocuments,Pe=e=>{var t;return null===(t=e.previewResponse)||void 0===t?void 0:t.error},ye=e=>e.isLoadingPreview,Se=e=>e.isPreviewAvailable,Ce=({existingConcreteFields:e,links:t,placeholder:i})=>{const{validation:{setScriptEditorValidation:a}}=k(),s=Object(n.useRef)(null),u=Object(n.useRef)(),c=Object(n.useRef)(""),{controller:h}=k(),v=C(h.state$,Pe),g=C(h.state$,Ee),b=C(h.state$,Oe),j=C(h.state$,ye),_=C(h.state$,Se),[w,F]=Object(x.k)(void 0),[E,O]=Object(n.useState)(Fe(ge.type.defaultValue[0].value)),P=null==g?void 0:g._id,y=Object(n.useMemo)((()=>d.PainlessLang.getSuggestionProvider(E,e)),[E,e]),{validateFields:S}=Object(x.m)(),I=Object(n.useCallback)((({type:e})=>{void 0!==e&&O(Fe(e[0].value)),_&&F(void 0)}),[F,_]);Object(x.n)({watch:["type","script.source"],onChange:I});const M=Object(n.useCallback)((async()=>(await Object(l.firstValueFrom)(w.pipe(Object(l.first)((e=>void 0!==e&&!e.isFetchingDoc&&!e.isLoadingPreview))))).error),[w]),T=Object(n.useCallback)((e=>{s.current=e,u.current&&u.current.unsubscribe(),u.current=d.PainlessLang.validation$().subscribe((({isValid:e,isValidating:t,errors:i})=>{var n,r;a({isValid:e,isValidating:t,message:null!==(n=null===(r=i[0])||void 0===r?void 0:r.message)&&void 0!==n?n:null})}))}),[a]),R=Object(n.useCallback)((e=>{var t;const i=null===(t=s.current)||void 0===t?void 0:t.getModel();i&&d.monaco.editor.setModelMarkers(i,d.PainlessLang.ID,e)}),[]),L=Object(n.useCallback)((e=>{var t;const i=null===(t=s.current)||void 0===t?void 0:t.getModel();if(null!==e.position&&Boolean(i)){const{offset:t}=e.position,n=(({reason:e},t)=>({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:t.lineNumber,endColumn:t.column+1,message:e,severity:d.monaco.MarkerSeverity.Error}))(e,i.getPositionAt(t));R(n?[n]:[])}}),[R]);return Object(n.useEffect)((()=>{""!==c.current.trim()&&void 0!==P&&S(["script.source"])}),[P,S]),Object(n.useEffect)((()=>{F({isFetchingDoc:b,isLoadingPreview:j,error:v})}),[F,b,j,v]),Object(n.useEffect)((()=>{"PAINLESS_SCRIPT_ERROR"===(null==v?void 0:v.code)?L(v.error):null===v&&R([])}),[v,L,R]),Object(n.useEffect)((()=>()=>{u.current&&u.current.unsubscribe()}),[]),Object(p.jsx)(x.f,{path:"script.source",validationDataProvider:M},(({value:e,setValue:n,label:a,isValid:l,getErrorsMessages:s})=>{let u=s();return v&&(u=v.error.reason),c.current=e,Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFormRow,{label:a,hasChildLabel:!1,id:"runtimeFieldScript",error:u,isInvalid:!l,"data-test-subj":"scriptFieldRow",helpText:Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.form.source.scriptFieldHelpText",defaultMessage:"Runtime fields without a script retrieve values from {source}. If the field doesn't exist in _source, a search request returns no value. {learnMoreLink}",values:{learnMoreLink:Object(p.jsx)(f.EuiLink,{href:t.runtimePainless,target:"_blank",external:!0,"data-test-subj":"painlessSyntaxLearnMoreLink"},o.i18n.translate("indexPatternFieldEditor.editor.form.script.learnMoreLinkText",{defaultMessage:"Learn about script syntax."})),source:Object(p.jsx)(f.EuiCode,null,"_source")}}),fullWidth:!0},Object(p.jsx)(x.a,{languageId:d.PainlessLang.ID,suggestionProvider:y,width:"99%",height:"210px",value:e,onChange:n,editorDidMount:T,options:{fontSize:12,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",wrappingIndent:"indent",automaticLayout:!0,suggest:{snippetsPreventQuickSuggestions:!1}},"data-test-subj":"scriptField","aria-label":o.i18n.translate("indexPatternFieldEditor.editor.form.scriptEditorAriaLabel",{defaultMessage:"Script editor"}),placeholder:i})))}))},Ie=r.a.memo(Ce);var Me=i(23);const Te=()=>{const{dataView:e,uiSettings:t,fieldFormats:i,fieldFormatEditors:o}=w(),a=Object(n.useRef)(!1),[{type:l}]=Object(x.n)({watch:["name","type"]}),{getFields:s,isSubmitted:d}=Object(x.m)(),[u,c]=Object(n.useState)(),m=l.reduce(((e,t)=>(void 0!==t.value&&e.push(t.value),e)),[]);return Object(n.useEffect)((()=>{void 0===u?s().format.setErrors([]):s().format.setErrors([{message:u}])}),[u,s]),Object(n.useEffect)((()=>{a.current&&s().format.reset(),a.current=!0}),[l,s]),Object(p.jsx)(x.f,{path:"format"},(({setValue:n,errors:a,value:l})=>Object(p.jsx)(r.a.Fragment,null,d&&a.length>0&&Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiCallOut,{title:a.map((e=>e.message)),color:"danger",iconType:"cross","data-test-subj":"formFormatError"}),Object(p.jsx)(f.EuiSpacer,{size:"m"})),Object(p.jsx)(Me.a,{esTypes:m||["keyword"],indexPattern:e,fieldFormatEditors:o,fieldFormats:i,uiSettings:t,onChange:n,onError:c,value:l,key:m.join(", ")}))))},Re=({children:e})=>{const[t,i]=Object(n.useState)(!1);return Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiButtonEmpty,{onClick:()=>{i(!t)},flush:"left","data-test-subj":"toggleAdvancedSetting"},t?o.i18n.translate("indexPatternFieldEditor.editor.form.advancedSettings.hideButtonLabel",{defaultMessage:"Hide advanced settings"}):o.i18n.translate("indexPatternFieldEditor.editor.form.advancedSettings.showButtonLabel",{defaultMessage:"Show advanced settings"})),Object(p.jsx)("div",{style:{display:t?"block":"none"},"data-test-subj":"advancedSettings"},Object(p.jsx)(f.EuiSpacer,{size:"m"}),Object(p.jsx)("div",null,e)))},Le=({title:e,description:t,children:i,formFieldPath:n,withDividerRule:o=!1,"data-test-subj":a})=>{const[l]=Object(x.n)({watch:n}),s=Boolean(Object(b.get)(l,n));return Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFlexGroup,{"data-test-subj":null!=a?a:"formRow"},Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(x.f,{path:n,component:x.e,componentProps:{euiFieldProps:{label:e,showLabel:!1,"data-test-subj":"toggle"}}})),Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)("div",null,Object(p.jsx)(f.EuiTitle,{size:"xs"},Object(p.jsx)("h3",null,e)),Object(p.jsx)(f.EuiSpacer,{size:"xs"}),Object(p.jsx)(f.EuiText,{size:"s",color:"subdued"},t),s&&Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiSpacer,{size:"l"}),i)))),o&&Object(p.jsx)(f.EuiHorizontalRule,null))},De=({})=>{const{links:e,existingConcreteFields:t,fieldTypeToProcess:i}=w(),n={customLabel:{title:o.i18n.translate("indexPatternFieldEditor.editor.form.customLabelTitle",{defaultMessage:"Set custom label"}),description:o.i18n.translate("indexPatternFieldEditor.editor.form.customLabelDescription",{defaultMessage:"Create a label to display in place of the field name in Discover, Maps, Lens, Visualize, and TSVB. Useful for shortening a long field name. Queries and filters use the original field name."})},value:{title:o.i18n.translate("indexPatternFieldEditor.editor.form.valueTitle",{defaultMessage:"Set value"}),description:Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.form.valueDescription",defaultMessage:"Set a value for the field instead of retrieving it from the field with the same name in {source}.",values:{source:Object(p.jsx)(f.EuiCode,null,"_source")}})},format:{title:o.i18n.translate("indexPatternFieldEditor.editor.form.formatTitle",{defaultMessage:"Set format"}),description:o.i18n.translate("indexPatternFieldEditor.editor.form.formatDescription",{defaultMessage:"Set your preferred format for displaying the value. Changing the format can affect the value and prevent highlighting in Discover."})},popularity:{title:o.i18n.translate("indexPatternFieldEditor.editor.form.popularityTitle",{defaultMessage:"Set popularity"}),description:o.i18n.translate("indexPatternFieldEditor.editor.form.popularityDescription",{defaultMessage:"Adjust the popularity to make the field appear higher or lower in the fields list. By default, Discover orders fields from most selected to least selected."})}};return Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(Le,{title:n.customLabel.title,description:n.customLabel.description,formFieldPath:"__meta__.isCustomLabelVisible","data-test-subj":"customLabelRow",withDividerRule:!0},Object(p.jsx)(_e,null)),"runtime"===i&&Object(p.jsx)(Le,{title:n.value.title,description:n.value.description,formFieldPath:"__meta__.isValueVisible","data-test-subj":"valueRow",withDividerRule:!0},Object(p.jsx)(Ie,{existingConcreteFields:t,links:e})),Object(p.jsx)(Le,{title:n.format.title,description:n.format.description,formFieldPath:"__meta__.isFormatVisible","data-test-subj":"formatRow",withDividerRule:!0},Object(p.jsx)(Te,null)),Object(p.jsx)(Re,null,Object(p.jsx)(Le,{title:n.popularity.title,description:n.popularity.description,formFieldPath:"__meta__.isPopularityVisible","data-test-subj":"popularityRow",withDividerRule:!0},Object(p.jsx)(we,null))))},ke=({onReset:e})=>{const{links:t,existingConcreteFields:i,subfields$:n}=w(),a=S()(n)||{};return Object(p.jsx)("div",{"data-test-subj":"compositeEditor"},Object(p.jsx)(Ie,{existingConcreteFields:i,links:t,placeholder:"emit('field_name', 'hello world');"}),Object(p.jsx)(f.EuiSpacer,{size:"xl"}),Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFlexGroup,{gutterSize:"s",alignItems:"center",justifyContent:"spaceBetween"},Object(p.jsx)(f.EuiFlexGroup,{gutterSize:"s",alignItems:"center"},Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiText,{size:"s"},Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.compositeFieldsCount",defaultMessage:"Generated fields"}))),Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiNotificationBadge,{color:"subdued"},Object.entries(a).length))),Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiButtonEmpty,{flush:"right",iconType:"refresh",onClick:e},Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.compositeRefreshTypes",defaultMessage:"Reset"})))),Object.entries(a).map((([e,t],i)=>{return Object(p.jsx)("div",{key:e},Object(p.jsx)(f.EuiFlexGroup,{gutterSize:"s"},Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)(f.EuiFieldText,{value:e,disabled:!0})),Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)(f.EuiFormRow,{fullWidth:!0},Object(p.jsx)(f.EuiComboBox,{placeholder:o.i18n.translate("indexPatternFieldEditor.editor.form.runtimeType.placeholderLabel",{defaultMessage:"Select a type"}),singleSelection:{asPlainText:!0},options:ce,selectedOptions:[(r=t.type,ce.find((({value:e})=>e===r)))],onChange:t=>{0!==t.length&&(a[e]={type:t[0].value},n.next({...a}))},isClearable:!1,"data-test-subj":`typeField_${i}`,"aria-label":o.i18n.translate("indexPatternFieldEditor.editor.form.typeSelectAriaLabel",{defaultMessage:"Type select"}),fullWidth:!0})))));var r}))))},Ne=o.i18n.translate("indexPatternFieldEditor.editor.form.changeWarning",{defaultMessage:"Changing name or type can break searches and visualizations that rely on this field."}),Ve=e=>{const t=(e=>{if(e){var t;const i=null===(t=fe.find((({value:t})=>t===e)))||void 0===t?void 0:t.label;return[{label:null!=i?i:e,value:e}]}return[fe[0]]})(e.type),i=null===e.format?void 0:e.format;return{...e,type:t,format:i,__meta__:{isCustomLabelVisible:void 0!==e.customLabel,isValueVisible:void 0!==e.script,isFormatVisible:void 0!==e.format,isPopularityVisible:void 0!==e.popularity}}},ze=e=>{const{__meta__:t,type:i,format:n,...r}=e;return{type:i&&i[0].value,format:void 0===n?null:n,...r}},Be=({field:e,onChange:t,onFormModifiedChange:i})=>{var a,s;const{namesNotAllowed:d,fieldTypeToProcess:u,fieldName$:c,subfields$:m}=w(),{params:{update:h},fieldPreview$:v}=k(),{form:g}=Object(x.l)({defaultValue:e,schema:ge,deserializer:Ve,serializer:ze}),{submit:j,isValid:_,isSubmitted:F,getFields:E,isSubmitting:O}=g,P=((e,t)=>{var i;const n=ge.name;if(!e)return n;const r=e=>e!==(null==t?void 0:t.name);return{...n,validations:[...null!==(i=n.validations)&&void 0!==i?i:[],{validator:xe({fields:e.fields.filter(r),runtimeComposites:e.runtimeComposites.filter(r)})}]}})(d,e),[y]=Object(x.n)({form:g}),S=Object(x.o)({form:g,discard:["__meta__.isCustomLabelVisible","__meta__.isValueVisible","__meta__.isFormatVisible","__meta__.isPopularityVisible"]});Object(n.useEffect)((()=>{const e=g.subscribe((({data:e})=>{e.internal.name!==c.getValue()&&c.next(e.internal.name)}));return()=>{e.unsubscribe()}}),[g,c]);const{name:C,type:I,script:M,format:T}=y,{name:R,type:L}=E(),D=null!==(a=Boolean(null==e?void 0:e.name)&&(null==R?void 0:R.isModified))&&void 0!==a&&a,N=null!==(s=Boolean(null==e?void 0:e.type)&&(null==L?void 0:L.isModified))&&void 0!==s&&s,V=Object(b.get)(y,"__meta__.isValueVisible"),z=Object(n.useCallback)((()=>{const e=v.getValue();v.next([]),v.next(e)}),[v]);return Object(n.useEffect)((()=>{const e=!!Object.keys(m.getValue()||{}).length;var t;const i=(t=C,v.pipe(Object(l.filter)((e=>void 0!==e)),Object(l.map)((e=>e.map((e=>({name:e.key.substring(`${t}.`.length),type:e.type}))))),Object(l.bufferCount)(2,1),Object(l.map)((([e,t])=>{const i=Object(b.differenceWith)(t,e,b.isEqual).reduce(((e,t)=>(e[t.name]={changeType:be.UPSERT,type:t.type},e)),{});return e.forEach((e=>{t.find((t=>t.name===e.name))||(i[e.name]={changeType:be.DELETE})})),i})),Object(l.filter)((e=>Object.keys(e).length>0)))).subscribe((e=>{const t={...m.getValue()};Object.entries(e).forEach((([e,i])=>{i.changeType===be.DELETE&&delete t[e],i.changeType===be.UPSERT&&(t[e]={type:i.type})})),m.next(t),g.updateFieldValues({...g.getFormData()})}));return e?v.getValue()&&v.next(v.getValue()):v.next([]),()=>{i.unsubscribe()}}),[g,v,m,C]),Object(n.useEffect)((()=>{t&&t({isValid:_,isSubmitted:F,isSubmitting:O,submit:j})}),[t,_,F,O,j]),Object(n.useEffect)((()=>{h({name:Boolean(null==C?void 0:C.trim())?C:null,type:null==I?void 0:I[0].value,script:!1===V||!1===Boolean(null==M?void 0:M.source.trim())?null:{source:M.source},format:void 0!==(null==T?void 0:T.id)?T:null,parentName:null==e?void 0:e.parentName})}),[C,I,M,V,T,h,e]),Object(n.useEffect)((()=>{i&&i(S)}),[S,i,g]),Object(p.jsx)(x.b,{form:g,className:"indexPatternFieldEditor__form","data-test-subj":"indexPatternFieldEditorForm",isInvalid:F&&!1===_,error:g.getErrors()},Object(p.jsx)(f.EuiFlexGroup,null,Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)(x.f,{path:"name",config:P,component:x.d,"data-test-subj":"nameField",componentProps:{euiFieldProps:{disabled:"concrete"===u,"aria-label":o.i18n.translate("indexPatternFieldEditor.editor.form.nameAriaLabel",{defaultMessage:"Name field"})}}})),Object(p.jsx)(f.EuiFlexItem,null,Object(p.jsx)(je,{isDisabled:"concrete"===u,includeComposite:!0,path:"type"}))),(D||N)&&Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiSpacer,{size:"xs"}),Object(p.jsx)(f.EuiCallOut,{color:"warning",title:Ne,iconType:"warning",size:"s","data-test-subj":"changeWarning"})),Object(p.jsx)(f.EuiSpacer,{size:"xl"}),(null==e?void 0:e.parentName)&&Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiCallOut,{iconType:"iInCircle",title:o.i18n.translate("indexPatternFieldEditor.editor.form.subFieldParentInfo",{defaultMessage:"Field value is defined by '{parentName}'",values:{parentName:null==e?void 0:e.parentName}})}),Object(p.jsx)(f.EuiSpacer,{size:"xl"})),I&&"composite"!==I[0].value?Object(p.jsx)(De,null):Object(p.jsx)(ke,{onReset:z}))};var We=i(17),Ae=i.n(We);i(79);let $e=0;const Ue=Object(n.createContext)({addPanel:()=>({removePanel:()=>{},isFixedWidth:!1})}),He=(e,{innerWidth:t})=>Math.min(e,.8*t),qe=Object(n.createContext)({registerFooter:()=>{},registerContent:()=>{}}),Ge=()=>{const e=Object(n.useContext)(qe);if(void 0===e)throw new Error("useFlyoutPanel() must be used within a ");return e},Je=({maxWidth:e,flyoutClassName:t,fixedPanelWidths:i=!1,...r})=>{const o=Object(n.useMemo)((()=>{const e=document.getElementsByClassName(t);return 0===e.length?null:e.item(0)}),[t]),[a,l]=Object(n.useState)({}),s=Object(n.useCallback)((e=>{l((t=>{const{[e]:i,...n}=t;return n}))}),[]),d=Object(n.useCallback)((e=>{const t=$e++;return l((i=>({...i,[t]:e}))),{removePanel:s.bind(null,t),isFixedWidth:i}}),[s,i]),u=Object(n.useMemo)((()=>({addPanel:d})),[d]);return Object(n.useLayoutEffect)((()=>{if(!o)return;let t;if("number"==typeof e)if(i){const i=Object.values(a).reduce(((e,{width:t=0})=>e+t),0);t=Math.min(e,i),o.style.minWidth=`${He(t,window)}px`,o.style.maxWidth=`${He(t,window)}px`}else{const i=Math.min(100,Object.values(a).reduce(((e,{width:t=0})=>e+t),0));t=e*i/100,o.style.maxWidth=`${He(t,window)}px`}else o.style.minWidth="",o.style.maxWidth=""}),[a,e,i,t,o]),Object(p.jsx)(Ue.Provider,{value:u},Object(p.jsx)(f.EuiFlexGroup,Ae()({className:"fieldEditor__flyoutPanels",gutterSize:"none"},r)))},Ye=({children:e,width:t,className:i="",backgroundColor:r,border:o,"data-test-subj":a,...l})=>{const[s,d]=Object(n.useState)({hasContent:!1,hasFooter:!1}),[u,c]=Object(n.useState)({}),m=Y()("fieldEditor__flyoutPanel",i,{"fieldEditor__flyoutPanel--pageBackground":"euiPageBackground"===r,"fieldEditor__flyoutPanel--emptyShade":"euiEmptyShade"===r,"fieldEditor__flyoutPanel--leftBorder":"left"===o,"fieldEditor__flyoutPanel--rightBorder":"right"===o,"fieldEditor__flyoutPanel--withContent":s.hasContent}),{addPanel:h}=(()=>{const e=Object(n.useContext)(Ue);if(void 0===e)throw new Error(" must be used within a wrapper");return e})(),v=Object(n.useCallback)((()=>{d((e=>({...e,hasContent:!0})))}),[]),g=Object(n.useCallback)((()=>{d((e=>{if(!e.hasContent)throw new Error("You need to add a when you add a ");return{...e,hasFooter:!0}}))}),[]),b=Object(n.useMemo)((()=>({registerContent:v,registerFooter:g})),[g,v]);return Object(n.useLayoutEffect)((()=>{const{removePanel:e,isFixedWidth:i}=h({width:t});return t&&c((e=>i?{...e,width:`${t}px`}:{...e,minWidth:`${t}%`})),e}),[t,h]),Object(p.jsx)(f.EuiFlexItem,{className:"fieldEditor__flyoutPanels__column",style:u,grow:!1,"data-test-subj":a},Object(p.jsx)(qe.Provider,{value:b},Object(p.jsx)("div",Ae()({className:m},l),e)))},Ke=e=>{const{registerContent:t}=Ge();return Object(n.useEffect)((()=>{t()}),[t]),Object(p.jsx)("div",Ae()({className:"fieldEditor__flyoutPanel__content eui-scrollBar",tabIndex:0},e))},Xe=e=>Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFlyoutHeader,Ae()({className:"fieldEditor__flyoutPanel__header"},e)),Object(p.jsx)(f.EuiSpacer,null)),Qe=e=>{const{registerFooter:t}=Ge();return Object(n.useEffect)((()=>{t()}),[t]),Object(p.jsx)(f.EuiFlyoutFooter,Ae()({className:"fieldEditor__flyoutPanel__footer"},e))},Ze={cancelButtonLabel:o.i18n.translate("indexPatternFieldEditor.editor.flyoutCancelButtonLabel",{defaultMessage:"Cancel"}),saveButtonLabel:o.i18n.translate("indexPatternFieldEditor.editor.flyoutSaveButtonLabel",{defaultMessage:"Save"})},et={confirmChangeNameOrType:!1,confirmUnsavedChanges:!1},tt=e=>e.isPanelVisible,it=({fieldToEdit:e,fieldToCreate:t,onSave:i,onCancel:o,isSavingField:a,onMounted:l})=>{const d=Object(n.useRef)(!1),u=!!e,{dataView:c,subfields$:h}=w(),b=Object(f.useIsWithinMaxBreakpoint)("s"),{controller:x}=k(),j=C(x.state$,tt),[_,F]=Object(n.useState)({isSubmitted:!1,isSubmitting:!1,isValid:!!e||void 0,submit:e?async()=>({isValid:!0,data:e}):async()=>({isValid:!1,data:{}})}),[E,O]=Object(n.useState)(et),[P,y]=Object(n.useState)(!1),{submit:S,isValid:I,isSubmitting:M}=_,T=!1===I,R=Object(n.useCallback)((()=>(P&&O({...et,confirmUnsavedChanges:!0}),!P)),[P]),L=Object(n.useCallback)((async()=>{const{isValid:t,data:n}=await S();if(d.current&&t){const t=(null==e?void 0:e.name)!==n.name,r=(null==e?void 0:e.type)!==n.type;u&&(t||r)?O({...et,confirmChangeNameOrType:!0}):"composite"===n.type?i({...n,fields:h.getValue()}):i(n)}}),[i,S,e,u,h]),D=Object(n.useCallback)((()=>{R()&&o()}),[o,R]);return Object(n.useEffect)((()=>{if(l)return l({canCloseValidator:R}),()=>{l({canCloseValidator:()=>!0})}}),[l,R]),Object(n.useEffect)((()=>(d.current=!0,()=>{d.current=!1})),[]),Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(Je,{flyoutClassName:s.a,maxWidth:!b&&1180,"data-test-subj":"fieldEditor",fixedPanelWidths:!0},Object(p.jsx)(Ye,{width:600},Object(p.jsx)(Ke,null,Object(p.jsx)(Xe,null,Object(p.jsx)(f.EuiTitle,{"data-test-subj":"flyoutTitle"},Object(p.jsx)("h2",null,e?Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.flyoutEditFieldTitle",defaultMessage:"Edit field '{fieldName}'",values:{fieldName:e.name}}):Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.flyoutDefaultTitle",defaultMessage:"Create field"}))),Object(p.jsx)(f.EuiText,{color:"subdued"},Object(p.jsx)("p",null,Object(p.jsx)(m.FormattedMessage,{id:"indexPatternFieldEditor.editor.flyoutEditFieldSubtitle",defaultMessage:"Data view: {patternName}",values:{patternName:Object(p.jsx)("i",null,c.getName())}})))),Object(p.jsx)(Be,{field:null!=e?e:t,onChange:F,onFormModifiedChange:y})),Object(p.jsx)(Qe,null,Object(p.jsx)(r.a.Fragment,null,Object(p.jsx)(f.EuiFlexGroup,{justifyContent:"spaceBetween",alignItems:"center"},Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiButtonEmpty,{iconType:"cross",flush:"left",onClick:D,"data-test-subj":"closeFlyoutButton"},Ze.cancelButtonLabel)),Object(p.jsx)(f.EuiFlexItem,{grow:!1},Object(p.jsx)(f.EuiButton,{color:"primary",onClick:L,"data-test-subj":"fieldSaveButton",fill:!0,disabled:T,isLoading:a||M},Ze.saveButtonLabel)))))),j&&Object(p.jsx)(Ye,{width:440,backgroundColor:"euiPageBackground",border:"left","data-test-subj":"previewPanel"},Object(p.jsx)(ue,null))),E.confirmChangeNameOrType?Object(p.jsx)(g,{fieldName:null==e?void 0:e.name,onConfirm:async()=>{const{data:e}=await S();"composite"===e.type?i({...e,fields:h.getValue()}):i(e)},onCancel:()=>{O(et)}}):E.confirmUnsavedChanges?Object(p.jsx)(v,{onConfirm:()=>{O(et),o()},onCancel:()=>{O(et)}}):null)},nt=r.a.memo(it);var rt=i(4),ot=i.n(rt),at=i(40),lt=i(84),st=i.n(lt);const dt={pinnedFields:{},isLoadingDocuments:!0,customId:void 0,documents:[],currentIdx:0,documentSource:"cluster",scriptEditorValidation:{isValidating:!1,isValid:!0,message:null},previewResponse:{fields:[],error:null},isFetchingDocument:!1,fetchDocError:null,customDocIdToLoad:null,isLoadingPreview:!1,initialPreviewComplete:!1,isPreviewAvailable:!0,isPanelVisible:!0};class preview_controller_PreviewController{constructor({dataView:e,search:t,fieldFormats:i}){ot()(this,"dataView",void 0),ot()(this,"search",void 0),ot()(this,"fieldFormats",void 0),ot()(this,"internalState$",void 0),ot()(this,"state$",void 0),ot()(this,"previewCount",0),ot()(this,"updateState",(e=>{this.internalState$.next({...this.state$.getValue(),...e})})),ot()(this,"lastExecutePainlessRequestParams",{type:null,script:void 0,documentId:void 0}),ot()(this,"togglePinnedField",(e=>{const t=this.state$.getValue(),i={...t.pinnedFields,[e]:!t.pinnedFields[e]};this.updateState({pinnedFields:i})})),ot()(this,"setDocuments",(e=>{this.updateState({documents:e,currentIdx:0,isLoadingDocuments:!1,isPreviewAvailable:this.getIsPreviewAvailable({documents:e})})})),ot()(this,"goToNextDocument",(()=>{const e=this.state$.getValue();e.currentIdx>=e.documents.length-1?this.updateState({currentIdx:0}):this.updateState({currentIdx:e.currentIdx+1})})),ot()(this,"goToPreviousDocument",(()=>{const e=this.state$.getValue();0===e.currentIdx?this.updateState({currentIdx:e.documents.length-1}):this.updateState({currentIdx:e.currentIdx-1})})),ot()(this,"setPreviewError",(e=>{this.updateState({previewResponse:{...this.internalState$.getValue().previewResponse,error:e}})})),ot()(this,"setPreviewResponse",(e=>{this.updateState({previewResponse:e})})),ot()(this,"setCustomDocIdToLoad",(e=>{this.updateState({customDocIdToLoad:e,customId:e||void 0,isPreviewAvailable:this.getIsPreviewAvailable({customDocIdToLoad:e})}),this.setIsFetchingDocument(!!e),e&&this.debouncedLoadDocument(e)})),ot()(this,"getIsPreviewAvailable",(e=>{var t;const{isFetchingDocument:i,customDocIdToLoad:n,documents:r}=this.internalState$.getValue(),o={existingIsFetchingDocument:i,existingCustomDocIdToLoad:n,existingDocuments:r,...e};return!(!o.isFetchingDocument&&!o.customDocIdToLoad&&0===(null===(t=o.documents)||void 0===t?void 0:t.length))})),ot()(this,"clearPreviewError",(e=>{var t;const{previewResponse:i}=this.internalState$.getValue(),n=null===i.error||(null===(t=i.error)||void 0===t?void 0:t.code)===e?null:i.error;this.updateState({previewResponse:{...i,error:n}})})),ot()(this,"setIsFetchingDocument",(e=>{this.updateState({isFetchingDocument:e,isPreviewAvailable:this.getIsPreviewAvailable({isFetchingDocument:e})})})),ot()(this,"setFetchDocError",(e=>{this.updateState({fetchDocError:e})})),ot()(this,"setIsLoadingPreview",(e=>{this.updateState({isLoadingPreview:e})})),ot()(this,"setInitialPreviewComplete",(e=>{this.updateState({initialPreviewComplete:e})})),ot()(this,"getIsFirstDoc",(()=>0===this.internalState$.getValue().currentIdx)),ot()(this,"getIsLastDoc",(()=>{const{currentIdx:e,documents:t}=this.internalState$.getValue();return e>=t.length-1})),ot()(this,"setLastExecutePainlessRequestParams",(e=>{const t=this.internalState$.getValue(),i=t.documents[t.currentIdx],n={...this.lastExecutePainlessRequestParams,...e};this.allParamsDefined(n.type,n.script,null==i?void 0:i._index)&&this.hasSomeParamsChanged(e.type,e.script,e.documentId)&&this.setIsLoadingPreview(!0),this.lastExecutePainlessRequestParams=n})),ot()(this,"valueFormatter",(({value:e,format:t,type:i})=>{if(null!=t&&t.id){const i=this.fieldFormats.getInstance(t.id,t.params);var n;if(i)return null!==(n=i.getConverterFor("html")(e))&&void 0!==n?n:JSON.stringify(e)}if(i){const t=Object(at.a)(i),n=this.fieldFormats.getDefaultInstance(t);var o;if(n)return null!==(o=n.getConverterFor("html")(e))&&void 0!==o?o:JSON.stringify(e)}return(e=>{var t;const i="object"==typeof e?JSON.stringify(e):null!==(t=String(e))&&void 0!==t?t:"-";return Object(F.renderToString)(Object(p.jsx)(r.a.Fragment,null,i))})(e)})),ot()(this,"fetchSampleDocuments",(async(e=50)=>{if("number"!=typeof e)throw new Error('The "limit" option must be a number');this.setLastExecutePainlessRequestParams({documentId:void 0}),this.setIsFetchingDocument(!0),this.setPreviewResponse({fields:[],error:null});const[t,i]=await this.search.search({params:{index:this.dataView.getIndexPattern(),body:{fields:["*"],size:e}}}).toPromise().then((e=>[e,null])).catch((e=>[null,e]));this.setIsFetchingDocument(!1),this.setCustomDocIdToLoad(null);const n=Boolean(i)?{code:"ERR_FETCHING_DOC",error:{message:i.toString(),reason:o.i18n.translate("indexPatternFieldEditor.fieldPreview.error.errorLoadingSampleDocumentsDescription",{defaultMessage:"Error loading sample documents."})}}:null;this.setFetchDocError(n),null===n&&this.setDocuments(t?t.rawResponse.hits.hits:[])})),ot()(this,"loadDocument",(async e=>{if(!Boolean(e.trim()))return;this.setLastExecutePainlessRequestParams({documentId:void 0}),this.setIsFetchingDocument(!0);const[t,i]=await this.search.search({params:{index:this.dataView.getIndexPattern(),body:{size:1,fields:["*"],query:{ids:{values:[e]}}}}}).toPromise().then((e=>[e,null])).catch((e=>[null,e]));this.setIsFetchingDocument(!1);const n=(null==t?void 0:t.rawResponse.hits.total)>0,r=n?t.rawResponse.hits.hits:[],a=Boolean(i)?{code:"ERR_FETCHING_DOC",error:{message:i.toString(),reason:o.i18n.translate("indexPatternFieldEditor.fieldPreview.error.errorLoadingDocumentDescription",{defaultMessage:"Error loading document."})}}:!1===n?{code:"DOC_NOT_FOUND",error:{message:o.i18n.translate("indexPatternFieldEditor.fieldPreview.error.documentNotFoundDescription",{defaultMessage:"Document ID not found"})}}:null;this.setFetchDocError(a),null===a?this.setDocuments(r):this.setIsLoadingPreview(!1)})),ot()(this,"debouncedLoadDocument",st()(this.loadDocument,500,{leading:!0})),ot()(this,"reset",(()=>{this.previewCount=0,this.updateState({documents:[],previewResponse:{fields:[],error:null},isLoadingPreview:!1,isFetchingDocument:!1})})),ot()(this,"hasSomeParamsChanged",((e,t,i)=>this.lastExecutePainlessRequestParams.type!==e||this.lastExecutePainlessRequestParams.script!==t||this.lastExecutePainlessRequestParams.documentId!==i)),ot()(this,"getPreviewCount",(()=>this.previewCount)),ot()(this,"incrementPreviewCount",(()=>++this.previewCount)),ot()(this,"allParamsDefined",((e,t,i)=>!!(i&&t&&e))),ot()(this,"updateSingleFieldPreview",((e,t,i,n)=>{const[r]=t,o=this.valueFormatter({value:r,type:i,format:n});this.setPreviewResponse({fields:[{key:e,value:r,formattedValue:o}],error:null})})),ot()(this,"updateCompositeFieldPreview",((e,t,i,n,r,o,a)=>{const l=[],s=t?e=>e.key===i:()=>!0,d=Object.entries(e).map((([e,i])=>{const{1:a}=e.split("composite_field.");l.push(a);const[s]=i,d=this.valueFormatter({value:s,type:r,format:o});return{key:t?`${null!=t?t:""}.${a}`:`${null!=n?n:""}.${a}`,value:s,formattedValue:d,type:R(s)}})).filter(s).sort(((e,t)=>e.key.localeCompare(t.key)));a(d),this.setPreviewResponse({fields:d,error:null})})),this.dataView=e,this.search=t,this.fieldFormats=i,this.internalState$=new l.BehaviorSubject({...dt}),this.state$=this.internalState$,this.fetchSampleDocuments()}}const ut=({fieldToEdit:e,fieldToCreate:t,onSave:i,onCancel:r,onMounted:d,docLinks:c,fieldTypeToProcess:f,dataView:m,dataViews:h,search:v,notifications:g,usageCollection:b,apiService:x,fieldFormatEditors:j,fieldFormats:w,uiSettings:F})=>{const[E]=Object(n.useState)((()=>new preview_controller_PreviewController({dataView:m,search:v,fieldFormats:w}))),[O,P]=Object(n.useState)(!1),{fields:y}=m,S=Object(n.useMemo)((()=>({fields:m.fields.map((e=>e.name)),runtimeComposites:Object.entries(m.getAllRuntimeFields()).filter((([,e])=>"composite"===e.type)).map((([e])=>e))})),[m]),C=Object(n.useMemo)((()=>{const t=[];return y.filter((t=>!((null==e?void 0:e.name)===t.name)&&t.isMapped)).forEach((e=>{t.push({name:e.name,type:e.esTypes&&e.esTypes[0]||""})})),t}),[y,e]),I=Object(n.useMemo)((()=>({api:x,search:v,notifications:g})),[x,v,g]),M=Object(n.useCallback)((t=>{const i=Boolean(e)&&e.name!==t.name,n=Boolean(e)&&e.type!==t.type&&("composite"===e.type||"composite"===t.type),{script:r}=t;if("runtime"===f){try{b.reportUiCounter(s.b,a.METRIC_TYPE.COUNT,"save_runtime")}catch{}(i||n)&&m.removeRuntimeField(e.name),m.addRuntimeField(t.name,{type:t.type,script:r,fields:t.fields})}else try{b.reportUiCounter(s.b,a.METRIC_TYPE.COUNT,"save_concrete")}catch{}return m.addRuntimeField(t.name,t)}),[e,m,f,b]),T=Object(n.useCallback)((e=>{const t=m.getFieldByName(e.name);if(!t)throw new Error(`Unable to find field named '${e.name}' on index pattern '${m.getIndexPattern()}'`);return m.setFieldCustomLabel(e.name,e.customLabel),t.count=e.popularity||0,e.format?m.setFieldFormat(e.name,e.format):m.deleteFieldFormat(e.name),[t]}),[m]),R=Object(n.useCallback)((async e=>{try{b.reportUiCounter(s.b,a.METRIC_TYPE.COUNT,"runtime"===f?"save_runtime":"save_concrete")}catch{}P(!0);try{const t="runtime"===f?M(e):T(e),n=()=>{const n=o.i18n.translate("indexPatternFieldEditor.deleteField.savedHeader",{defaultMessage:"Saved '{fieldName}'",values:{fieldName:e.name}});g.toasts.addSuccess(n),P(!1),i(t)};m.isPersisted()&&await h.updateSavedObject(m),n(),P(!1)}catch(e){const t=o.i18n.translate("indexPatternFieldEditor.save.errorTitle",{defaultMessage:"Failed to save field changes"});g.toasts.addError(e,{title:t}),P(!1)}}),[i,m,h,g,f,T,M,b]);return Object(p.jsx)(_,{dataView:m,uiSettings:F,links:u(c),fieldTypeToProcess:f,services:I,fieldFormatEditors:j,fieldFormats:w,namesNotAllowed:S,existingConcreteFields:C,fieldName$:new l.BehaviorSubject((null==e?void 0:e.name)||""),subfields$:new l.BehaviorSubject(null==e?void 0:e.fields)},Object(p.jsx)(D,{controller:E},Object(p.jsx)(nt,{onSave:R,onCancel:r,onMounted:d,fieldToCreate:t,fieldToEdit:e,isSavingField:O})))}}])]);