/*! 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.logstash_bundle_jsonpfunction=window.logstash_bundle_jsonpfunction||[]).push([[1],{22:function(e,t,i){e.exports=i(9)(1466)},23:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=i(18),n=i(24),a=s.__importDefault(i(26));t.default=function(e,t){a.default(e,t,n.isDeepEqual)}},24:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDeepEqual=t.off=t.on=t.isClient=void 0;var s=i(18).__importDefault(i(25));t.isClient="object"==typeof window,t.on=function(e){for(var t=[],i=1;i{const l=Object(s.useMemo)((()=>{if(t)return e=>Object(g.jsx)(n.a.Fragment,null,Object(g.jsx)(j,null),Object(g.jsx)(t,e))}),[t]);if(l)return Object(g.jsx)(o.Route,p()({},a,{component:l}));if(i||"function"==typeof e){const t="function"==typeof e?e:i;return Object(g.jsx)(o.Route,p()({},a,{render:e=>Object(g.jsx)(n.a.Fragment,null,Object(g.jsx)(j,null),t(e))}))}return Object(g.jsx)(o.Route,a,Object(g.jsx)(j,null),e)},j=()=>{const{executionContext:e}=Object(s.useContext)(d).services,t=Object(o.useRouteMatch)();return function(e,t){h()((()=>(null==e||e.set(t),()=>{null==e||e.clear()})),[t])}(e,{type:"application",page:t.path,id:Object.keys(t.params).length>0?JSON.stringify(t.params):void 0}),null};var x=i(19);const m=({children:e,...t})=>Object(g.jsx)(o.Router,t,Object(g.jsx)(x.CompatRouter,null,e));var f=i(0);const M=({legacySwitch:e=!0,children:t})=>{const i=Object(o.useRouteMatch)();return e?Object(g.jsx)(o.Switch,null,t):Object(g.jsx)(x.Routes,null,s.Children.map(t,(e=>{if(n.a.isValidElement(e)&&e.type===b){var s;const a=Object(f.replace)(null==e?void 0:e.props.path,i.url+"/",""),l="function"==typeof(null==e?void 0:e.props.children)?null==e?void 0:e.props.children:null==e?void 0:e.props.render;return Object(g.jsx)(x.Route,{path:a,element:Object(g.jsx)(n.a.Fragment,null,Object(g.jsx)(j,null),(null==e||null===(s=e.props)||void 0===s?void 0:s.component)&&Object(g.jsx)(e.props.component,null)||l&&l()||t)})}return e})))};var O=i(6),E=i(20),P=i(7),y=i(2),S=i.n(y),C=i(16),T=i(15);function v(){return Object(g.jsx)("p",null,Object(g.jsx)("strong",null,Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.addRoleAlert.grantAdditionalPrivilegesTitle",defaultMessage:"Grant additional privileges."})),Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.addRoleAlert.grantAdditionalPrivilegesDescription",defaultMessage:"In Kibana Management, assign the {role} role to your Kibana user.",values:{role:Object(g.jsx)(T.EuiCode,null,"monitoring_user")}}))}var k=i(1);const w={INITIAL_PAGE_SIZE:20,PAGE_SIZE_OPTIONS:[5,8,20,50],PIPELINE_NOT_CENTRALLY_MANAGED_TOOLTIP_TEXT:k.i18n.translate("xpack.logstash.pipelineNotCentrallyManagedTooltip",{defaultMessage:"This pipeline wasn't created using Centralized Configuration Management. It can't be managed or edited here."}),INFO_ALERTS:{CALL_OUT_TITLE:k.i18n.translate("xpack.logstash.kibanaManagementPipelinesTitle",{defaultMessage:"Only pipelines created in Kibana Management appear here"})}};function L(e){return Object(g.jsx)(T.EuiCallOut,{title:w.INFO_ALERTS.CALL_OUT_TITLE,color:"warning",iconType:"help"},Object(g.jsx)("p",null,Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.alertCallOut.howToSeeAdditionalPipelinesDescription",defaultMessage:"How can I see additional pipelines?"})),e.children)}function D(){return Object(g.jsx)("p",null,Object(g.jsx)("strong",null,Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.enableMonitoringAlert.enableMonitoringTitle",defaultMessage:"Enable monitoring."})),Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.enableMonitoringAlert.enableMonitoringDescription",defaultMessage:"In the {configFileName} file, set {monitoringConfigParam} and {monitoringUiConfigParam} to {trueValue}.",values:{configFileName:Object(g.jsx)(T.EuiCode,null,"kibana.yml"),monitoringConfigParam:Object(g.jsx)(T.EuiCode,null,"xpack.monitoring.enabled"),monitoringUiConfigParam:Object(g.jsx)(T.EuiCode,null,"xpack.monitoring.ui.enabled"),trueValue:Object(g.jsx)(T.EuiCode,null,"true")}}))}function _({showAddRoleAlert:e,showEnableMonitoringAlert:t}){return e||t?Object(g.jsx)(L,null,e&&Object(g.jsx)(v,null),t&&Object(g.jsx)(D,null)):null}const I=Object(C.injectI18n)((function({clonePipeline:e,createPipeline:t,isReadOnly:i,isSelectable:s,message:n,onDeleteSelectedPipelines:a,onSelectionChange:l,openPipeline:o,pipelines:r,selection:p,pageIndex:c,intl:d}){const u={pageIndex:c,initialPageSize:w.INITIAL_PAGE_SIZE,totalItemCount:r.length,pageSizeOptions:w.PAGE_SIZE_OPTIONS},h=s?{selectable:({isCentrallyManaged:e})=>e,selectableMessage:(e,{id:t})=>e?d.formatMessage({id:"xpack.logstash.pipelinesTable.selectablePipelineMessage",defaultMessage:'Select pipeline "{id}"'},{id:t}):w.PIPELINE_NOT_CENTRALLY_MANAGED_TOOLTIP_TEXT,onSelectionChange:l}:null,b=p.length&&!i?Object(g.jsx)(T.EuiButton,{key:"btnDeletePipelines",color:"danger",onClick:a,"data-test-subj":"btnDeletePipeline"},Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelinesTable.deleteButtonLabel",defaultMessage:"Delete"})):null,j={box:{incremental:!0,"data-test-subj":"filter"},filters:[{type:"field_value_selection",field:"id",name:k.i18n.translate("xpack.logstash.pipelinesTable.filterByIdLabel",{defaultMessage:"Filter by ID"}),multiSelect:!1,options:r.map((({id:e})=>({value:e,name:e,view:e})))}],toolsLeft:b,toolsRight:Object(g.jsx)(T.EuiButton,{isDisabled:i,key:"btnAdd",fill:!0,onClick:t,"data-test-subj":"btnAdd"},Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelinesTable.createPipelineButtonLabel",defaultMessage:"Create pipeline"}))},x=function(e,t){return[{field:"id",name:k.i18n.translate("xpack.logstash.pipelinesTable.idColumnLabel",{defaultMessage:"Id"}),sortable:!0,render:(t,{isCentrallyManaged:i})=>i?Object(g.jsx)(T.EuiLink,{onClick:()=>e(t),"data-test-subj":"cellId"},t):Object(g.jsx)("span",null,t,"  ",Object(g.jsx)(T.EuiIconTip,{content:w.PIPELINE_NOT_CENTRALLY_MANAGED_TOOLTIP_TEXT,type:"questionInCircle"}))},{field:"description",name:k.i18n.translate("xpack.logstash.pipelinesTable.descriptionColumnLabel",{defaultMessage:"Description"}),render:e=>Object(g.jsx)("span",{"data-test-subj":"cellDescription"},e),sortable:!0,truncateText:!0},{field:"lastModifiedHumanized",name:k.i18n.translate("xpack.logstash.pipelinesTable.lastModifiedColumnLabel",{defaultMessage:"Last modified"}),render:e=>Object(g.jsx)("span",{"data-test-subj":"cellLastModified"},e),sortable:({lastModified:e})=>e.valueOf()},{field:"username",name:k.i18n.translate("xpack.logstash.pipelinesTable.modifiedByColumnLabel",{defaultMessage:"Modified by"}),render:e=>Object(g.jsx)("span",{"data-test-subj":"cellUsername"},e),sortable:!0},{field:"id",name:"",render:(e,{isCentrallyManaged:i})=>i?Object(g.jsx)(T.EuiButtonEmpty,{"data-test-subj":`lnkPipelineClone-${e}`,iconType:"copy",onClick:()=>{t(e)},size:"xs"},Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelinesTable.cloneButtonLabel",defaultMessage:"Clone"})):null,sortable:!1,width:"100px"}]}(o,e);return Object(g.jsx)(T.EuiInMemoryTable,{columns:x,"data-test-subj":"pipelineTable",isSelectable:s,itemId:"id",items:r,message:n,pagination:u,search:j,selection:h,sorting:!0,rowProps:{"data-test-subj":"row"}})}));function F({cancelDeletePipelines:e,deleteSelectedPipelines:t,selection:i,showConfirmDeleteModal:s}){if(!s)return null;const n=i.length,a=1===n?{message:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.deletedPipelineWarningMessage",defaultMessage:"You cannot recover a deleted pipeline"}),button:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.deletedPipelineConfirmButtonLabel",defaultMessage:"Delete pipeline"}),title:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.deletedPipelineTitle",defaultMessage:'Delete pipeline "{id}"',values:{id:i[0].id}})}:{message:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.deletedPipelinesWarningMessage",defaultMessage:"You cannot recover deleted pipelines."}),button:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.deletedPipelinesConfirmButtonLabel",defaultMessage:"Delete {numPipelinesSelected} pipelines",values:{numPipelinesSelected:n}}),title:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.deletedPipelinesTitle",defaultMessage:"Delete {numPipelinesSelected} pipelines",values:{numPipelinesSelected:n}})};return Object(g.jsx)(T.EuiConfirmModal,{buttonColor:"danger",cancelButtonText:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeleteModal.cancelButtonLabel",defaultMessage:"Cancel"}),confirmButtonText:a.button,defaultFocusedButton:T.EUI_MODAL_CANCEL_BUTTON,onCancel:e,onConfirm:t,title:a.title},Object(g.jsx)("p",null,a.message))}class pipeline_list_PipelineListUi extends n.a.Component{constructor(e){super(e),S()(this,"componentDidMount",(()=>{const{isReadOnly:e,licenseService:t,toastNotifications:i}=this.props;this.loadPipelines().then((()=>{e&&i.addWarning(t.message)})),this.checkMonitoringAccess()})),S()(this,"getEmptyPrompt",(()=>Object(g.jsx)(T.EuiEmptyPrompt,{title:Object(g.jsx)("h2",null,Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.noPipelinesTitle",defaultMessage:"No pipelines"})),titleSize:"xs",body:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.noPipelinesDescription",defaultMessage:"There are no pipelines defined."})}))),S()(this,"getErrorPrompt",(()=>Object(g.jsx)(T.EuiEmptyPrompt,{title:Object(g.jsx)("h2",null,Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.pipelinesLoadingErrorTitle",defaultMessage:"Error"})),titleSize:"xs",body:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.pipelinesLoadingErrorDescription",defaultMessage:"Error encountered while loading pipelines."})}))),S()(this,"loadPipelines",(()=>{const{isReadOnly:e,licenseService:t,pipelinesService:i,toastNotifications:s,intl:n}=this.props;return this.setState({message:Object(g.jsx)("div",{"data-test-subj":"loadingPipelines"},Object(g.jsx)(T.EuiLoadingSpinner,{size:"m"})," "," ",Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.pipelinesLoadingMessage",defaultMessage:"Loading pipelines…"}))}),i.getPipelineList().then((e=>{this.setState({isLoading:!1,isForbidden:!1,isSelectable:!0,pipelines:e}),e.length||this.setState({columns:[],message:this.getEmptyPrompt(),isSelectable:!1})})).catch((i=>(this.setState({isLoading:!1,message:this.getErrorPrompt()}),t.checkValidity().then((()=>{403===i.status?(this.setState({isLoading:!1}),e?this.setState({isForbidden:!1}):this.setState({isForbidden:!0})):(this.setState({isForbidden:!1}),s.addDanger(n.formatMessage({id:"xpack.logstash.pipelineList.pipelineLoadingErrorNotification",defaultMessage:'Couldn\'t load pipeline. Error: "{errStatusText}".'},{errStatusText:i.statusText})))})))))})),S()(this,"checkMonitoringAccess",(()=>{const{clusterService:e,monitoringService:t}=this.props;e.isClusterInfoAvailable().then((e=>{this.setState({showAddRoleAlert:!e,showEnableMonitoringAlert:!t.isMonitoringEnabled()})}))})),S()(this,"renderNoPermissionCallOut",(()=>{const{isForbidden:e,isLoading:t}=this.state;return e&&!t?Object(g.jsx)(T.EuiCallOut,{color:"danger",iconType:"cross",title:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.noPermissionToManageTitle",defaultMessage:"You do not have permission to manage Logstash pipelines."})},Object(g.jsx)("p",null,Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.noPermissionToManageDescription",defaultMessage:"Please contact your administrator."}))):null})),S()(this,"hideDeletePipelinesModal",(()=>{this.setState({showConfirmDeleteModal:!1})})),S()(this,"showDeletePipelinesModal",(()=>{this.setState({showConfirmDeleteModal:!0})})),S()(this,"cancelDeletePipelines",(()=>{this.hideDeletePipelinesModal()})),S()(this,"deleteSelectedPipelines",(()=>{this.hideDeletePipelinesModal();const{licenseService:e,pipelinesService:t,toastNotifications:i,intl:s}=this.props,{selection:n}=this.state,a=n.length,l=n.map((({id:e})=>e));return t.deletePipelines(l).then((e=>{const{numSuccesses:t,numErrors:l}=e;if(1===t&&0===l)i.addSuccess(s.formatMessage({id:"xpack.logstash.pipelineList.pipelinesSuccessfullyDeletedNotification",defaultMessage:'Deleted "{id}"'},{id:n[0].id}));else if(t){let e;l&&(e=s.formatMessage({id:"xpack.logstash.pipelineList.pipelinesCouldNotBeDeletedDescription",defaultMessage:"But {numErrors, plural, one {# Pipeline} other {# Pipelines}} couldn't be deleted."},{numErrors:l})),i.addSuccess({title:s.formatMessage({id:"xpack.logstash.pipelineList.successfullyDeletedPipelinesNotification",defaultMessage:"Deleted {numSuccesses} out of {numPipelinesSelected, plural, one {# Pipeline} other {# Pipelines}}"},{numSuccesses:t,numPipelinesSelected:a,numPipelinesSelected:a}),text:e})}else l&&i.addError(s.formatMessage({id:"xpack.logstash.pipelineList.couldNotDeletePipelinesNotification",defaultMessage:"Failed to delete {numErrors, plural, one {# Pipeline} other {# Pipelines}}"},{numErrors:l}));this.loadPipelines()})).catch((t=>e.checkValidity().then((()=>i.addDanger(t)))))})),S()(this,"onDeleteSelectedPipelines",(()=>{this.showDeletePipelinesModal()})),S()(this,"onSelectionChange",(e=>this.setState({selection:e}))),this.state={columns:[],isForbidden:!1,isLoading:!0,isSelectable:!1,pipelines:[],showAddRoleAlert:!1,showConfirmDeleteModal:!1,showEnableMonitoringAlert:!1,selection:[]}}render(){const{clonePipeline:e,createPipeline:t,isReadOnly:i,openPipeline:s}=this.props,{isSelectable:n,message:a,pipelines:l,selection:o,showConfirmDeleteModal:r}=this.state;return Object(g.jsx)(T.EuiPageContentBody_Deprecated,{"data-test-subj":"pipelineList"},Object(g.jsx)(T.EuiPageHeader,{pageTitle:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.head",defaultMessage:"Pipelines"}),description:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineList.subhead",defaultMessage:"Manage logstash event processing and see the result visually"}),bottomBorder:!0}),Object(g.jsx)(T.EuiSpacer,{size:"l"}),this.renderNoPermissionCallOut(),Object(g.jsx)(I,{clonePipeline:e,createPipeline:t,isReadOnly:i,isSelectable:n,message:a,pipelines:l,selection:o,onDeleteSelectedPipelines:this.onDeleteSelectedPipelines,onSelectionChange:this.onSelectionChange,openPipeline:s}),Object(g.jsx)(F,{cancelDeletePipelines:this.cancelDeletePipelines,deleteSelectedPipelines:this.deleteSelectedPipelines,selection:o,showConfirmDeleteModal:r}),Object(g.jsx)(_,{showAddRoleAlert:this.state.showAddRoleAlert,showEnableMonitoringAlert:this.state.showEnableMonitoringAlert}))}}const R=Object(C.injectI18n)(pipeline_list_PipelineListUi);var N=i(27),B=i.n(N),A=i(5);const U={DELETE_PIPELINE_MODAL_MESSAGE:k.i18n.translate("xpack.logstash.deletePipelineModalMessage",{defaultMessage:"You cannot recover a deleted pipeline."}),ID_REQUIRED_ERR_MSG:k.i18n.translate("xpack.logstash.pipelineIdRequiredMessage",{defaultMessage:"Pipeline ID is required"}),ID_FORMAT_ERR_MSG:k.i18n.translate("xpack.logstash.idFormatErrorMessage",{defaultMessage:"Pipeline ID must begin with a letter or underscore and contain only letters, underscores, dashes, and numbers"}),QUEUE_TYPES:[{"data-test-subj":"selectQueueType-memory",text:k.i18n.translate("xpack.logstash.queueTypes.memoryLabel",{defaultMessage:"memory"}),value:"memory"},{"data-test-subj":"selectQueueType-persisted",text:k.i18n.translate("xpack.logstash.queueTypes.persistedLabel",{defaultMessage:"persisted"}),value:"persisted"}],UNITS:[{"data-test-subj":"selectQueueMaxBytesUnits-b",text:k.i18n.translate("xpack.logstash.units.bytesLabel",{defaultMessage:"bytes"}),value:"b"},{"data-test-subj":"selectQueueMaxBytesUnits-kb",text:k.i18n.translate("xpack.logstash.units.kilobytesLabel",{defaultMessage:"kilobytes"}),value:"kb"},{"data-test-subj":"selectQueueMaxBytesUnits-mb",text:k.i18n.translate("xpack.logstash.units.megabytesLabel",{defaultMessage:"megabytes"}),value:"mb"},{"data-test-subj":"selectQueueMaxBytesUnits-gb",text:k.i18n.translate("xpack.logstash.units.gigabytesLabel",{defaultMessage:"gigabytes"}),value:"gb"},{"data-test-subj":"selectQueueMaxBytesUnits-tb",text:k.i18n.translate("xpack.logstash.units.terabytesLabel",{defaultMessage:"terabytes"}),value:"tb"},{"data-test-subj":"selectQueueMaxBytesUnits-pb",text:k.i18n.translate("xpack.logstash.units.petabytesLabel",{defaultMessage:"petabytes"}),value:"pb"}]};function q({id:e,cancelDeleteModal:t,confirmDeletePipeline:i}){return Object(g.jsx)(T.EuiConfirmModal,{buttonColor:"danger",cancelButtonText:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeletePipelineModal.cancelButtonText",defaultMessage:"Cancel"}),confirmButtonText:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeletePipelineModal.confirmButtonText",defaultMessage:"Delete pipeline"}),defaultFocusedButton:T.EUI_MODAL_CANCEL_BUTTON,onCancel:t,onConfirm:i,title:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.confirmDeletePipelineModal.deletePipelineTitle",defaultMessage:"Delete pipeline {id}",values:{id:e}})},Object(g.jsx)("p",null,U.DELETE_PIPELINE_MODAL_MESSAGE))}function z({formRowLabelText:e,formRowTooltipText:t}){return Object(g.jsx)("div",null,Object(g.jsx)("span",null,e)," ",Object(g.jsx)(T.EuiIconTip,{content:t,size:"s",type:"questionInCircle"}))}function Q(e){const{formRowLabelText:t,formRowTooltipText:i}=e,s=t&&i?Object(g.jsx)(z,{formRowLabelText:t,formRowTooltipText:i}):null;return Object(g.jsx)(T.EuiFlexItem,{grow:!1},Object(g.jsx)(T.EuiFormRow,{label:s,hasEmptyLabelSpace:!s},e.children))}class pipeline_editor_PipelineEditorUi extends n.a.Component{constructor(e){super(e),S()(this,"componentDidMount",(()=>{const{licenseService:{isReadOnly:e,message:t},toastNotifications:i}=this.props;e&&i.addWarning(t)})),S()(this,"hideConfirmDeleteModal",(()=>{this.setState({showConfirmDeleteModal:!1})})),S()(this,"showConfirmDeleteModal",(()=>{this.setState({showConfirmDeleteModal:!0})})),S()(this,"onPipelineIdChange",(({target:{value:e}})=>{const t=[];e||t.push(U.ID_REQUIRED_ERR_MSG),this.state.pipelineIdPattern.test(e)||t.push(U.ID_FORMAT_ERR_MSG),this.setState({pipelineIdErrors:t,showPipelineIdError:!!t.length,pipeline:{...this.state.pipeline,id:e}})})),S()(this,"isSaveDisabled",(()=>this.state.showPipelineIdError||Object(f.isEmpty)(this.state.pipeline.id))),S()(this,"onClose",(async()=>{await this.props.close()})),S()(this,"open",(async()=>{const{id:e}=this.state.pipeline;e&&await this.props.open(e)})),S()(this,"onPipelineSave",(()=>{const{pipelineService:e,toastNotifications:t,intl:i}=this.props,{id:s,...n}=this.state.pipeline;return e.savePipeline({id:s,upstreamJSON:n}).then((()=>{t.addSuccess(i.formatMessage({id:"xpack.logstash.pipelineEditor.pipelineSuccessfullySavedMessage",defaultMessage:'Saved "{id}"'},{id:s})),this.onClose()})).catch(this.notifyOnError)})),S()(this,"onPipelineDescriptionChange",(({target:{value:e}})=>{this.setState({pipeline:{...this.state.pipeline,description:e}})})),S()(this,"onPipelineChange",(e=>{this.setState({pipeline:{...this.state.pipeline,pipeline:e}})})),S()(this,"handleNumberChange",((e,t)=>{const i=parseInt(t,10);this.handleSettingChange(e,isNaN(i)?t:i)})),S()(this,"handleMaxByteNumberChange",(e=>{this.setState({maxBytesNumber:parseInt(e,10)}),this.handleSettingChange("queue.max_bytes",e+this.state.maxBytesUnit)})),S()(this,"handleMaxByteUnitChange",(e=>{this.setState({maxBytesUnit:e}),this.handleSettingChange("queue.max_bytes",this.state.maxBytesNumber+e)})),S()(this,"handleSettingChange",((e,t)=>{const i={...this.state.pipeline.settings};i[e]=t,this.setState({pipeline:{...this.state.pipeline,settings:i}})})),S()(this,"notifyOnError",(e=>{const{licenseService:t,toastNotifications:i}=this.props;return t.checkValidity().then((()=>{i.addError(e,{title:k.i18n.translate("xpack.logstash.pipelineEditor.errorHandlerToastTitle",{defaultMessage:"Pipeline error"})})}))})),S()(this,"deletePipeline",(()=>{const{pipeline:{id:e},pipelineService:t,toastNotifications:i,intl:s}=this.props;return this.hideConfirmDeleteModal(),t.deletePipeline(e).then((()=>{i.addSuccess(s.formatMessage({id:"xpack.logstash.pipelineEditor.pipelineSuccessfullyDeletedMessage",defaultMessage:'Deleted "{id}"'},{id:e})),this.onClose()})).catch(this.notifyOnError)})),S()(this,"getPipelineHeadingText",(()=>{const{clone:e,id:t,isNewPipeline:i,intl:s}=this.props;return e&&t?s.formatMessage({id:"xpack.logstash.pipelineEditor.clonePipelineTitle",defaultMessage:'Clone Pipeline "{id}"'},{id:t}):i?s.formatMessage({id:"xpack.logstash.pipelineEditor.createPipelineTitle",defaultMessage:"Create Pipeline"}):s.formatMessage({id:"xpack.logstash.pipelineEditor.editPipelineTitle",defaultMessage:'Edit Pipeline "{id}"'},{id:this.state.pipeline.id})}));const{pipeline:{id:t,description:i,pipeline:s,settings:n}}=this.props,a="number"==typeof n["pipeline.workers"]?n["pipeline.workers"]:1;this.state={maxBytesNumber:n["queue.max_bytes.number"],maxBytesUnit:n["queue.max_bytes.units"],pipeline:{id:t,description:i,pipeline:s,settings:{"pipeline.batch.delay":n["pipeline.batch.delay"],"pipeline.batch.size":n["pipeline.batch.size"],"pipeline.workers":a,"queue.checkpoint.writes":n["queue.checkpoint.writes"],"queue.max_bytes":n["queue.max_bytes.number"]+n["queue.max_bytes.units"],"queue.type":n["queue.type"]}},pipelineIdErrors:[],pipelineIdPattern:/^[A-Za-z\_][A-Za-z0-9\-\_]*$/,showConfirmDeleteModal:!1,showPipelineIdError:!1}}render(){const{intl:e}=this.props;return Object(g.jsx)(T.EuiPageContentBody_Deprecated,{style:{width:"100%"},restrictWidth:!0,"data-test-subj":`pipelineEdit pipelineEdit-${this.state.pipeline.id}`},Object(g.jsx)(T.EuiPageHeader,{pageTitle:this.getPipelineHeadingText(),bottomBorder:!0}),Object(g.jsx)(T.EuiSpacer,{size:"l"}),Object(g.jsx)(T.EuiForm,{isInvalid:this.state.showPipelineIdError,error:this.state.pipelineIdErrors},this.props.isNewPipeline&&Object(g.jsx)(T.EuiFormRow,{fullWidth:!0,label:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineEditor.pipelineIdFormRowLabel",defaultMessage:"Pipeline ID"})},Object(g.jsx)(T.EuiFieldText,{fullWidth:!0,"data-test-subj":"inputId",isInvalid:this.state.showPipelineIdError,name:"pipelineId",onBlur:this.onPipelineIdChange,onChange:this.onPipelineIdChange,value:this.state.pipeline.id||""})),Object(g.jsx)(T.EuiFormRow,{fullWidth:!0,label:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineEditor.descriptionFormRowLabel",defaultMessage:"Description"})},Object(g.jsx)(T.EuiFieldText,{"data-test-subj":"inputDescription",fullWidth:!0,name:"pipelineDescription",onChange:this.onPipelineDescriptionChange,value:this.state.pipeline.description||""})),Object(g.jsx)(T.EuiFormRow,{fullWidth:!0,label:Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineEditor.pipelineFormRowLabel",defaultMessage:"Pipeline"})},Object(g.jsx)("div",{"data-test-subj":"pipelineField"},Object(g.jsx)(E.CodeEditor,{languageId:"text",value:this.state.pipeline.pipeline,height:500,options:{lineNumbers:"on",tabSize:2,automaticLayout:!0},"aria-label":k.i18n.translate("xpack.logstash.pipelineEditor.pipelineEditorField",{defaultMessage:"Pipeline editor"}),onChange:this.onPipelineChange}))),Object(g.jsx)(T.EuiFormRow,{label:Object(g.jsx)(z,{formRowLabelText:e.formatMessage({id:"xpack.logstash.pipelineEditor.pipelineWorkersFormRowLabel",defaultMessage:"Pipeline workers"}),formRowTooltipText:A.a.settings["pipeline.workers"]})},Object(g.jsx)(T.EuiFieldNumber,{"data-test-subj":"inputWorkers",onChange:e=>this.handleNumberChange("pipeline.workers",e.target.value),value:this.state.pipeline.settings["pipeline.workers"]})),Object(g.jsx)(T.EuiSpacer,null),Object(g.jsx)(T.EuiFlexGroup,null,Object(g.jsx)(Q,{formRowLabelText:e.formatMessage({id:"xpack.logstash.pipelineEditor.pipelineBatchSizeFormRowLabel",defaultMessage:"Pipeline batch size"}),formRowTooltipText:A.a.settings["pipeline.batch.size"]},Object(g.jsx)(T.EuiFieldNumber,{"data-test-subj":"inputBatchSize",onChange:e=>this.handleNumberChange("pipeline.batch.size",e.target.value),value:this.state.pipeline.settings["pipeline.batch.size"]})),Object(g.jsx)(Q,{formRowLabelText:e.formatMessage({id:"xpack.logstash.pipelineEditor.pipelineBatchDelayFormRowLabel",defaultMessage:"Pipeline batch delay"}),formRowTooltipText:A.a.settings["pipeline.batch.delay"]},Object(g.jsx)(T.EuiFieldNumber,{"data-test-subj":"inputBatchDelay",onChange:e=>this.handleNumberChange("pipeline.batch.delay",e.target.value),value:this.state.pipeline.settings["pipeline.batch.delay"]}))),Object(g.jsx)(T.EuiFlexGroup,null,Object(g.jsx)(Q,{formRowLabelText:e.formatMessage({id:"xpack.logstash.pipelineEditor.queueTypeFormRowLabel",defaultMessage:"Queue type"}),formRowTooltipText:A.a.settings["queue.type"]},Object(g.jsx)(T.EuiSelect,{"data-test-subj":"selectQueueType",onChange:e=>this.handleSettingChange("queue.type",e.target.value),options:U.QUEUE_TYPES,value:this.state.pipeline.settings["queue.type"]})),Object(g.jsx)(Q,{formRowLabelText:e.formatMessage({id:"xpack.logstash.pipelineEditor.queueMaxBytesFormRowLabel",defaultMessage:"Queue max bytes"}),formRowTooltipText:A.a.settings["queue.max_bytes"]},Object(g.jsx)(T.EuiFieldNumber,{"data-test-subj":"inputQueueMaxBytesNumber",onChange:e=>this.handleMaxByteNumberChange(e.target.value),value:this.state.maxBytesNumber})),Object(g.jsx)(Q,null,Object(g.jsx)(T.EuiSelect,{"data-test-subj":"selectQueueMaxBytesUnits",onChange:e=>this.handleMaxByteUnitChange(e.target.value),options:U.UNITS,value:this.state.maxBytesUnit})),Object(g.jsx)(Q,{formRowLabelText:e.formatMessage({id:"xpack.logstash.pipelineEditor.queueCheckpointWritesFormRowLabel",defaultMessage:"Queue checkpoint writes"}),formRowTooltipText:A.a.settings["queue.checkpoint.writes"]},Object(g.jsx)(T.EuiFieldNumber,{"data-test-subj":"inputQueueCheckpointWrites",onChange:e=>this.handleNumberChange("queue.checkpoint.writes",e.target.value),value:this.state.pipeline.settings["queue.checkpoint.writes"]})))),Object(g.jsx)(T.EuiSpacer,{size:"l"}),Object(g.jsx)(T.EuiFlexGroup,{justifyContent:"flexStart"},Object(g.jsx)(T.EuiFlexItem,{grow:!1},Object(g.jsx)(T.EuiButton,{"data-test-subj":"btnSavePipeline",fill:!0,isDisabled:this.isSaveDisabled(),onClick:this.onPipelineSave},Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineEditor.createAndDeployButtonLabel",defaultMessage:"Create and deploy"}))),Object(g.jsx)(T.EuiFlexItem,{grow:!1},Object(g.jsx)(T.EuiButton,{"data-test-subj":"btnCancel",onClick:this.onClose},Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineEditor.cancelButtonLabel",defaultMessage:"Cancel"}))),!this.props.isNewPipeline&&Object(g.jsx)(T.EuiFlexItem,{grow:!1},Object(g.jsx)(T.EuiButtonEmpty,{color:"danger","data-test-subj":"btnDeletePipeline",onClick:this.showConfirmDeleteModal},Object(g.jsx)(C.FormattedMessage,{id:"xpack.logstash.pipelineEditor.deletePipelineButtonLabel",defaultMessage:"Delete pipeline"})))),this.state.showConfirmDeleteModal&&Object(g.jsx)(q,{id:this.props.pipeline.id,cancelDeleteModal:this.hideConfirmDeleteModal,confirmDeletePipeline:this.deletePipeline}))}}const G=Object(C.injectI18n)(pipeline_editor_PipelineEditorUi);var W=i(8);function $(){return[{text:k.i18n.translate("xpack.logstash.pipelines.listBreadcrumb",{defaultMessage:"Pipelines"}),href:"#/management/ingest/pipelines"}]}const Y=({pipelineService:e,logstashLicenseService:t,toasts:i,history:n,setBreadcrumbs:a,id:l})=>{const o=""===new URLSearchParams(n.location.search).get("clone"),r=((e,t,i,n,a)=>{const l=B()(),[o,r]=Object(s.useState)(null);return Object(s.useLayoutEffect)((()=>{(async()=>{if(!a)return r(new W.a);try{const t=await l(e.loadPipeline(a));r(n?t.clone:t)}catch(e){await t.checkValidity(),403!==e.status&&i.addDanger(k.i18n.translate("xpack.logstash.couldNotLoadPipelineErrorNotification",{defaultMessage:"Couldn't load pipeline. Error: '{errStatusText}'.",values:{errStatusText:e.statusText}}))}})()}),[e,a,l,n,t,i]),o})(e,t,i,o,l),p=Object(s.useCallback)((()=>{n.push("/")}),[n]),c=Object(s.useCallback)((e=>{n.push(`/pipeline/${e}/edit`)}),[n]);if(!r)return null;const d=!r.id;var u;return a(d?[...$(),{text:k.i18n.translate("xpack.logstash.pipelines.createBreadcrumb",{defaultMessage:"Create"})}]:(u=r.id,[...$(),{text:u}])),Object(g.jsx)(G,{id:l,clone:o,close:p,open:c,isNewPipeline:d,pipeline:r,pipelineService:e,toastNotifications:i,licenseService:t})},H=async(e,{history:t,element:i,setBreadcrumbs:s,theme$:n},a,r)=>{const p=await r.pipe(Object(O.first)()).toPromise(),c=new P.a(e.http),d=new P.c(e.http,a,c),u=new P.e(e.http,d),h=new P.d(e.http,u);return l.a.render(Object(g.jsx)(e.i18n.Context,null,Object(g.jsx)(E.KibanaThemeProvider,{theme$:n},Object(g.jsx)(m,{history:t},Object(g.jsx)(M,null,Object(g.jsx)(b,{path:["/",""],exact:!0,render:()=>(s($()),Object(g.jsx)(R,{clusterService:c,isReadOnly:p.isReadOnly,isForbidden:!0,isLoading:!1,licenseService:p,monitoringService:d,openPipeline:e=>t.push(`/pipeline/${e}/edit`),clonePipeline:e=>t.push(`/pipeline/${e}/edit?clone`),createPipeline:()=>t.push("pipeline/new-pipeline"),pipelinesService:u,toastNotifications:e.notifications.toasts}))}),Object(g.jsx)(b,{path:"/pipeline/new-pipeline",exact:!0,render:()=>Object(g.jsx)(Y,{history:t,setBreadcrumbs:s,logstashLicenseService:p,pipelineService:h,toasts:e.notifications.toasts})}),Object(g.jsx)(b,{path:"/pipeline/:id",exact:!0,render:({match:e})=>Object(g.jsx)(o.Redirect,{to:`/pipeline/${e.params.id}/edit`})}),Object(g.jsx)(b,{path:"/pipeline/:id/edit",exact:!0,render:({match:i})=>Object(g.jsx)(Y,{history:t,setBreadcrumbs:s,logstashLicenseService:p,pipelineService:h,toasts:e.notifications.toasts,id:i.params.id})}))))),i),()=>{l.a.unmountComponentAtNode(i)}}}}]);