/*! 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.triggersActionsUi_bundle_jsonpfunction=window.triggersActionsUi_bundle_jsonpfunction||[]).push([[11],{298:function(e,t,s){"use strict";s.r(t),s.d(t,"FieldBrowser",(function(){return Y})),s.d(t,"default",(function(){return Y}));var l=s(2),i=s(9),a=s(1),n=s.n(a),o=s(3),c=s(43);const r=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.categoryLabel",{defaultMessage:"Category"}),d=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.categoriesTitle",{defaultMessage:"Categories"}),u=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.closeButton",{defaultMessage:"Close"}),b=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.fieldBrowserTitle",{defaultMessage:"Fields"}),j=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.descriptionLabel",{defaultMessage:"Description"}),g=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.fieldName",{defaultMessage:"Name"}),m=(o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.fieldLabel",{defaultMessage:"Field"}),o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.fieldsTitle",{defaultMessage:"Fields"})),p=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.fieldsCountShowing",{defaultMessage:"Showing"}),O=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.filterPlaceholder",{defaultMessage:"Field name"}),x=(o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.noFieldsMatchLabel",{defaultMessage:"No fields match"}),o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.resetFieldsLink",{defaultMessage:"Reset Fields"})),h=e=>o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.viewColumnCheckboxAriaLabel",{values:{field:e},defaultMessage:"View {field} column"}),f=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.viewLabel",{defaultMessage:"View"}),C=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.viewSelected",{defaultMessage:"selected"}),w=o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.viewAll",{defaultMessage:"all"});var I=s(0);const y=e=>null==e?void 0:e.focus(),S=n.a.memo((({isSearching:e,onSearchInputChange:t,searchInput:s})=>Object(I.jsx)(l.EuiFieldSearch,{"data-test-subj":"field-search",inputRef:y,isLoading:e,onChange:t,placeholder:O,value:s,fullWidth:!0})));S.displayName="Search";var E=s(55);const F={countBadge:{name:"1qkltea",styles:"margin-left:5px"},categoryName:({bold:e})=>Object(I.css)("font-weight:",e?"bold":"normal",";",""),selectableContainer:{name:"18ji2p4",styles:"width:300px"}},k=(e,t)=>{const{label:s,count:i,checked:a}=e,n=s.replace(/\s/g,"");return Object(I.jsx)(l.EuiFlexGroup,{"data-test-subj":`categories-selector-option-${n}`,alignItems:"center",gutterSize:"none",justifyContent:"spaceBetween"},Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)("span",{css:F.categoryName({bold:"on"===a}),"data-test-subj":`categories-selector-option-name-${n}`},Object(I.jsx)(l.EuiHighlight,{search:t},s))),Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(l.EuiBadge,{css:F.countBadge},i)))},v=({filteredBrowserFields:e,setSelectedCategoryIds:t,selectedCategoryIds:s})=>{const[o,c]=Object(a.useState)(!1),r=Object(a.useCallback)((()=>{c((e=>!e))}),[]),u=Object(a.useCallback)((()=>{c(!1)}),[]),b=Object(a.useMemo)((()=>Object.keys(e).length),[e]),j=Object(a.useMemo)((()=>{const t=Object.keys(Object(i.omit)(e,s)).sort();return[...s.map((t=>({label:t,count:Object(E.l)(e[t]),checked:"on"}))),...t.map((t=>({label:t,count:Object(E.l)(e[t])})))]}),[s,e]),g=Object(a.useCallback)((e=>{t(e.filter((({checked:e})=>"on"===e)).map((({label:e})=>e)))}),[t]),m=Object(a.useCallback)((e=>{Object(E.n)(e)&&e.stopPropagation()}),[]);return Object(I.jsx)(l.EuiFilterGroup,{"data-test-subj":"categories-selector"},Object(I.jsx)(l.EuiPopover,{button:Object(I.jsx)(l.EuiFilterButton,{"data-test-subj":"categories-filter-button",hasActiveFilters:s.length>0,iconType:"arrowDown",isSelected:o,numActiveFilters:s.length,numFilters:b,onClick:r},d),isOpen:o,closePopover:u,panelPaddingSize:"none"},Object(I.jsx)("div",{css:F.selectableContainer,onKeyDown:m,"data-test-subj":"categories-selector-container"},Object(I.jsx)(l.EuiSelectable,{"aria-label":"Searchable categories",searchable:!0,searchProps:{"data-test-subj":"categories-selector-search"},options:j,renderOption:k,onChange:g},((e,t)=>Object(I.jsx)(n.a.Fragment,null,t,e))))))},B=n.a.memo(v),T=({euiTheme:e})=>Object(I.css)("margin-top:",e.size.xs,";min-height:24px;",""),M=({setSelectedCategoryIds:e,selectedCategoryIds:t})=>{const{euiTheme:s}=Object(l.useEuiTheme)(),i=Object(a.useCallback)((s=>{e(t.filter((e=>e!==s)))}),[e,t]);return Object(I.jsx)(l.EuiFlexGroup,{css:T({euiTheme:s}),"data-test-subj":"category-badges",gutterSize:"xs",wrap:!0},t.map((e=>Object(I.jsx)(l.EuiFlexItem,{grow:!1,key:e},Object(I.jsx)(l.EuiBadge,{iconType:"cross",iconSide:"right",iconOnClick:()=>i(e),iconOnClickAriaLabel:"unselect category","data-test-subj":`category-badge-${e}`,closeButtonProps:{"data-test-subj":`category-badge-unselect-${e}`}},e)))))},A=n.a.memo(M);var U=s(57),z=s(204),$=s(20);const H=n.a.memo((({fieldId:e,highlight:t=""})=>Object(I.jsx)(l.EuiText,{size:"xs"},Object(I.jsx)(l.EuiHighlight,{"data-test-subj":`field-${e}-name`,search:t},e))));H.displayName="FieldName";const N={icon:{name:"p3x1bt",styles:"margin:0 4px;position:relative;top:-1px"},truncatable:{name:"9v6jjg",styles:"&,& *{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;}"},description:{name:"1cthmrf",styles:"user-select:text;width:400px"}},R=e=>e===$.b?c.a:e===$.m?c.b:e,P=({highlight:e})=>[{field:"name",name:g,render:(t,{type:s})=>Object(I.jsx)(l.EuiFlexGroup,{alignItems:"center",gutterSize:"none"},Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(l.EuiToolTip,{content:s},Object(I.jsx)(l.EuiIcon,{"data-test-subj":`field-${t}-icon`,css:N.icon,type:Object(E.m)(null!=s?s:null)}))),Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(H,{fieldId:R(t),highlight:e}))),sortable:!0,width:"225px"},{field:"description",name:j,render:(e,{name:t,example:s})=>{return Object(I.jsx)(l.EuiToolTip,{content:e},Object(I.jsx)(n.a.Fragment,null,Object(I.jsx)(l.EuiScreenReaderOnly,{"data-test-subj":"descriptionForScreenReaderOnly"},Object(I.jsx)("p",null,(i=t,o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.descriptionForScreenReaderOnly",{values:{field:i},defaultMessage:"Description for field {field}:"})))),Object(I.jsx)("span",{css:N.truncatable},Object(I.jsx)("span",{css:N.description,"data-test-subj":`field-${t}-description`},`${null!=e?e:Object(E.j)()} ${Object(E.k)(s)}`))));var i},sortable:!0,width:"400px"},{field:"category",name:r,render:(e,{name:t})=>Object(I.jsx)(l.EuiBadge,{"data-test-subj":`field-${t}-category`},e),sortable:!0,width:"130px"}],L={count:{name:"1efi8gv",styles:"font-weight:bold"}},G=({fieldCount:e,filterSelectedEnabled:t,onFilterSelectedChange:s})=>{const[i,n]=Object(a.useState)(!1),c=Object(a.useCallback)((()=>{n((e=>!e))}),[]),r=Object(a.useCallback)((()=>{n(!1)}),[]);return Object(I.jsx)(l.EuiFlexGroup,null,Object(I.jsx)(l.EuiFlexItem,null,Object(I.jsx)(l.EuiText,{"data-test-subj":"fields-showing",size:"xs"},p,Object(I.jsx)("span",{css:L.count,"data-test-subj":"fields-count"}," ",e," "),(d=e,o.i18n.translate("xpack.triggersActionsUI.fieldBrowser.fieldsCountTitle",{values:{totalCount:d},defaultMessage:"{totalCount, plural, =1 {field} other {fields}}"})))),Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(l.EuiPopover,{panelPaddingSize:"none",anchorPosition:"downRight",isOpen:i,closePopover:r,button:Object(I.jsx)(l.EuiButtonEmpty,{"data-test-subj":"viewSelectorButton",size:"xs",iconType:"arrowDown",iconSide:"right",onClick:c},`${f}: ${t?C:w}`)},Object(I.jsx)(l.EuiContextMenuPanel,{"data-test-subj":"viewSelectorMenu",size:"s",items:[Object(I.jsx)(l.EuiContextMenuItem,{"data-test-subj":"viewSelectorOption-all",key:"viewAll",icon:t?"empty":"check",onClick:()=>{s(!1),r()}},`${f} ${w}`),Object(I.jsx)(l.EuiHorizontalRule,{key:"separator",margin:"none"}),Object(I.jsx)(l.EuiContextMenuItem,{"data-test-subj":"viewSelectorOption-selected",key:"viewSelected",icon:t?"check":"empty",onClick:()=>{s(!0),r()}},`${f} ${C}`)]}))));var d},D=n.a.memo(G),_=({height:e,euiTheme:t})=>Object(I.css)("margin-top:",t.size.xs,";border-top:",t.border.thin,";height:",e,"px;overflow:hidden;",""),q={field:"",direction:"asc"},V=({columnIds:e,filteredBrowserFields:t,filterSelectedEnabled:s,getFieldTableColumns:i,onFilterSelectedChange:o,onHide:c,onToggleColumn:r,searchInput:d,selectedCategoryIds:u})=>{const{euiTheme:b}=Object(l.useEuiTheme)(),[j,g]=Object(a.useState)(0),[m,p]=Object(a.useState)(10),[O,x]=Object(a.useState)(q.field),[f,C]=Object(a.useState)(q.direction),{fieldItems:w}=Object(a.useMemo)((()=>(({browserFields:e,selectedCategoryIds:t,columnIds:s})=>{const l=t.length>0?t:Object.keys(e),i=new Set(s);return{fieldItems:Object(U.uniqBy)("name",l.reduce(((t,s)=>{var l,a;const n=Object.values(null!==(l=null===(a=e[s])||void 0===a?void 0:a.fields)&&void 0!==l?l:{});return n.length>0&&t.push(...n.map((({name:e="",...t})=>{var s;return{name:e,type:t.type,description:Object(E.i)(e,z.a),example:null===(s=t.example)||void 0===s?void 0:s.toString(),category:Object(E.h)(e),selected:i.has(e),isRuntime:!!t.runtimeField}}))),t}),[]))}})({browserFields:t,selectedCategoryIds:u,columnIds:e})),[e,t,u]),y=Object(a.useMemo)((()=>({pageIndex:j,pageSize:m,totalItemCount:w.length,pageSizeOptions:[10,25,50]})),[w.length,j,m]);Object(a.useEffect)((()=>{g(0)}),[w.length]);const S=Object(a.useMemo)((()=>({sort:{field:O,direction:f}})),[f,O]),F=Object(a.useCallback)((({page:e,sort:t=q})=>{const{index:s,size:l}=e,{field:i,direction:a}=t;g(s),p(l),x(i),C(a)}),[]),k=Object(a.useMemo)((()=>(({getFieldTableColumns:e,highlight:t="",onHide:s,onToggleColumn:i})=>[{field:"selected",name:"",render:(e,{name:t})=>Object(I.jsx)(l.EuiToolTip,{content:h(t)},Object(I.jsx)(l.EuiCheckbox,{"aria-label":h(t),checked:e,"data-test-subj":`field-${t}-checkbox`,"data-colindex":1,id:t,onChange:()=>i(t)})),sortable:!1,width:"25px"},...e?e({highlight:t,onHide:s}):P({highlight:t})])({getFieldTableColumns:i,highlight:d,onHide:c,onToggleColumn:r})),[i,d,c,r]),v=Object(a.useMemo)((()=>k.some((e=>(e=>{var t;return!(null===(t=e.actions)||void 0===t||!t.length)})(e)))),[k]);return Object(I.jsx)(n.a.Fragment,null,Object(I.jsx)(D,{fieldCount:w.length,filterSelectedEnabled:s,onFilterSelectedChange:o}),Object(I.jsx)("div",{css:_({height:E.e,euiTheme:b})},Object(I.jsx)(l.EuiInMemoryTable,{"data-test-subj":"field-table",className:`${E.a} eui-yScroll`,items:w,itemId:"name",columns:k,pagination:y,sorting:S,hasActions:v,onChange:F,compressed:!0})))},W=n.a.memo(V),K=({appliedFilterInput:e,columnIds:t,filteredBrowserFields:s,filterSelectedEnabled:i,isSearching:n,onFilterSelectedChange:o,onToggleColumn:c,onResetColumns:r,setSelectedCategoryIds:d,onSearchInputChange:j,onHide:g,options:m,restoreFocusTo:p,searchInput:O,selectedCategoryIds:h,width:f=E.c})=>{const C=Object(a.useCallback)((()=>{g(),setTimeout((()=>{var e;null===(e=p.current)||void 0===e||e.focus()}),0)}),[g,p]),w=Object(a.useCallback)((()=>{r(),C()}),[C,r]),y=Object(a.useCallback)((e=>{j(e.target.value)}),[j]),[F,k]=[null==m?void 0:m.createFieldButton,null==m?void 0:m.getFieldTableColumns];return Object(I.jsx)(l.EuiModal,{onClose:C,style:{width:f,maxWidth:f}},Object(I.jsx)("div",{"data-test-subj":"fields-browser-container",className:"eui-yScroll"},Object(I.jsx)(l.EuiModalHeader,null,Object(I.jsx)(l.EuiModalHeaderTitle,null,b)),Object(I.jsx)(l.EuiModalBody,null,Object(I.jsx)(l.EuiFlexGroup,{gutterSize:"m"},Object(I.jsx)(l.EuiFlexItem,null,Object(I.jsx)(S,{"data-test-subj":"header",isSearching:n,onSearchInputChange:y,searchInput:O})),Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(B,{filteredBrowserFields:s,setSelectedCategoryIds:d,selectedCategoryIds:h})),Object(I.jsx)(l.EuiFlexItem,{grow:!1},F&&Object(I.jsx)(F,{onHide:g}))),Object(I.jsx)(A,{selectedCategoryIds:h,setSelectedCategoryIds:d}),Object(I.jsx)(l.EuiSpacer,{size:"l"}),Object(I.jsx)(W,{columnIds:t,filteredBrowserFields:s,filterSelectedEnabled:i,searchInput:e,selectedCategoryIds:h,onFilterSelectedChange:o,onToggleColumn:c,getFieldTableColumns:k,onHide:g})),Object(I.jsx)(l.EuiModalFooter,null,Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(l.EuiButtonEmpty,{className:E.d,"data-test-subj":"reset-fields",onClick:w},x)),Object(I.jsx)(l.EuiFlexItem,{grow:!1},Object(I.jsx)(l.EuiButton,{onClick:C,"aria-label":u,className:E.b,"data-test-subj":"close"},u)))))},J=n.a.memo(K),Q={buttonContainer:{name:"11ffxfj",styles:"display:inline-block;position:relative"}},X=({columnIds:e,browserFields:t,onResetColumns:s,onToggleColumn:n,options:o,width:c})=>{const r=Object(a.useMemo)((()=>{var e;return null!==(e=null==o?void 0:o.preselectedCategoryIds)&&void 0!==e?e:[]}),[null==o?void 0:o.preselectedCategoryIds]),d=Object(a.useRef)(null),[u,j]=Object(a.useState)(""),[g,p]=Object(a.useState)(""),[O,x]=Object(a.useState)(null),[h,f]=Object(a.useState)(!1),[C,w]=Object(a.useState)(!1),[y,S]=Object(a.useState)(r),[F,k]=Object(a.useState)(!1),v=Object(a.useMemo)((()=>Object(i.debounce)((e=>{p(e)}),250)),[]);Object(a.useEffect)((()=>()=>{v.cancel()}),[v]);const B=Object(a.useMemo)((()=>h?Object(E.g)({browserFields:t,columnIds:e}):t),[t,e,h]);Object(a.useEffect)((()=>{x(Object(E.f)({browserFields:B,substring:g})),w(!1)}),[g,B]);const T=Object(a.useCallback)((()=>{k(!0)}),[]),M=Object(a.useCallback)((()=>{j(""),p(""),x(null),f(!1),w(!1),S(r),k(!1)}),[r]),A=Object(a.useCallback)((e=>{w(!0),j(e),v(e)}),[v]),U=Object(a.useCallback)((e=>{f(e)}),[f]);return Object(I.jsx)("div",{css:Q.buttonContainer,"data-test-subj":"fields-browser-button-container"},Object(I.jsx)(l.EuiToolTip,{content:b},Object(I.jsx)(l.EuiButtonEmpty,{"aria-label":b,buttonRef:d,className:"fields-button",color:"text","data-test-subj":"show-field-browser",iconType:"tableOfContents",onClick:T,size:"xs"},m)),F&&Object(I.jsx)(J,{columnIds:e,filteredBrowserFields:null!=O?O:t,filterSelectedEnabled:h,isSearching:C,setSelectedCategoryIds:S,onFilterSelectedChange:U,onHide:M,onResetColumns:s,onSearchInputChange:A,onToggleColumn:n,options:o,restoreFocusTo:d,searchInput:u,appliedFilterInput:g,selectedCategoryIds:y,width:c}))},Y=n.a.memo(X)}}]);