/*! 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.graph_bundle_jsonpfunction=window.graph_bundle_jsonpfunction||[]).push([[2],{148:function(e,t,n){"use strict";n.r(t),n.d(t,"ContentEditorFlyoutContentContainer",(function(){return m}));var a=n(11),s=n.n(a),i=n(0),l=n(15),r=n(13),o=n(12);const u=({warningMessages:e})=>{const t=Object(a.useMemo)((()=>({title:i.i18n.translate("contentManagement.contentEditor.flyoutWarningsTitle",{defaultMessage:"Proceed with caution!"})})),[]);return null!=e&&e.length?Object(o.jsx)(s.a.Fragment,null,Object(o.jsx)(r.EuiCallOut,{title:t.title,color:"warning"},Object(o.jsx)("ul",null,e.map((e=>Object(o.jsx)("li",null,e))))),Object(o.jsx)(r.EuiSpacer,null)):null},c=e=>{var t;return!Boolean(null===(t=e.errors)||void 0===t?void 0:t.length)},g=({form:e,tagsReferences:t,TagList:n,TagSelector:a,isReadonly:l})=>{const{title:g,setTitle:d,description:j,setDescription:b,tags:m,setTags:O,isSubmitted:p,isValid:v,getErrors:f,getWarnings:x}=e,y=i.i18n.translate("contentManagement.contentEditor.metadataForm.readOnlyToolTip",{defaultMessage:"To edit these details, contact your administrator for access."});return Object(o.jsx)(r.EuiForm,{isInvalid:p&&!v,error:f(),"data-test-subj":"metadataForm"},Object(o.jsx)(u,{warningMessages:x()}),Object(o.jsx)(r.EuiFormRow,{label:i.i18n.translate("contentManagement.contentEditor.metadataForm.nameInputLabel",{defaultMessage:"Name"}),error:g.errors,isInvalid:!c(g),fullWidth:!0},Object(o.jsx)(r.EuiToolTip,{position:"top",content:l?y:void 0,display:"block"},Object(o.jsx)(r.EuiFieldText,{isInvalid:!c(g),value:g.value,onChange:e=>{d(e.target.value)},fullWidth:!0,"data-test-subj":"nameInput",readOnly:l}))),Object(o.jsx)(r.EuiSpacer,null),Object(o.jsx)(r.EuiFormRow,{label:i.i18n.translate("contentManagement.contentEditor.metadataForm.descriptionInputLabel",{defaultMessage:"Description"}),error:j.errors,isInvalid:!c(j),fullWidth:!0},Object(o.jsx)(r.EuiToolTip,{position:"top",content:l?y:void 0,display:"block"},Object(o.jsx)(r.EuiTextArea,{isInvalid:!c(j),value:j.value,onChange:e=>{b(e.target.value)},fullWidth:!0,"data-test-subj":"descriptionInput",readOnly:l}))),n&&l&&t.length>0&&Object(o.jsx)(s.a.Fragment,null,Object(o.jsx)(r.EuiSpacer,null),Object(o.jsx)(r.EuiFormRow,{label:i.i18n.translate("contentManagement.contentEditor.metadataForm.tagsLabel",{defaultMessage:"Tags"}),fullWidth:!0},Object(o.jsx)(n,{references:t}))),a&&!l&&Object(o.jsx)(s.a.Fragment,null,Object(o.jsx)(r.EuiSpacer,null),Object(o.jsx)(a,{initialSelection:m.value,onTagsSelected:O,fullWidth:!0})))},d={title:[{type:"error",fn:e=>{if(!e||!e.trim())return i.i18n.translate("contentManagement.contentEditor.metadataForm.nameIsEmptyError",{defaultMessage:"A name is required."})}}]};function j(e,t){var n;return t&&["title","description"].includes(e)&&null!==(n=t[e])&&void 0!==n?n:[]}const b=({item:e,entityName:t,isReadonly:n=!0,services:{TagSelector:u,TagList:c,notifyError:b},onSave:m,onCancel:O,customValidators:p})=>{const{euiTheme:v}=Object(r.useEuiTheme)(),[f,x]=Object(a.useState)(!1),[y,E]=Object(a.useState)(!1),h=Object(a.useMemo)((()=>(({entityName:e})=>({saveButtonLabel:i.i18n.translate("contentManagement.contentEditor.saveButtonLabel",{defaultMessage:"Update {entityName}",values:{entityName:e}}),cancelButtonLabel:i.i18n.translate("contentManagement.contentEditor.cancelButtonLabel",{defaultMessage:"Cancel"})}))({entityName:t})),[t]),T=(({item:e,customValidators:t})=>{var n;const s=Object(a.useRef)({}),[i,l]=Object(a.useState)({title:{value:e.title,isChangingValue:!1},description:{value:null!==(n=e.description)&&void 0!==n?n:"",isChangingValue:!1},tags:{value:e.tags?e.tags.map((({id:e})=>e)):[],isChangingValue:!1}}),r=Object(a.useCallback)((n=>a=>{const i=s.current[n];i&&clearTimeout(i),s.current[n]=null,l((e=>{const t=e[n];return{...e,[n]:{...t,value:a,errors:void 0,warnings:void 0,isChangingValue:!0}}})),s.current[n]=setTimeout((async()=>{const{errors:s,warnings:i}=await(async(e,t,n,a)=>{const s={warnings:[],errors:[]};for(const l of[...null!==(i=d[e])&&void 0!==i?i:[],...j(e,a)]){var i;const e=await l.fn(n,t);if(e){const t="error"===l.type?"errors":"warnings";Array.isArray(s[t])?s[t].push(e):s[t]=[e]}}return s})(n,e.id,a,t);l((e=>({...e,[n]:{...e[n],errors:s,warnings:i,isChangingValue:!1}})))}),500)}),[t,e.id]),o=Object(a.useMemo)((()=>r("title")),[r]),u=Object(a.useMemo)((()=>r("description")),[r]),c=Object(a.useMemo)((()=>r("tags")),[r]),{errors:g,warnings:b,isChangingValue:m}=Object(a.useMemo)((()=>Object.values(i).reduce(((e,t)=>{var n,a,s,i;return{errors:[...null!==(n=e.errors)&&void 0!==n?n:[],...null!==(a=t.errors)&&void 0!==a?a:[]],warnings:[...null!==(s=e.warnings)&&void 0!==s?s:[],...null!==(i=t.warnings)&&void 0!==i?i:[]],isChangingValue:e.isChangingValue||t.isChangingValue}}),{errors:[],warnings:[],isChangingValue:!1})),[i]);return{title:i.title,setTitle:o,description:i.description,setDescription:u,tags:i.tags,setTags:c,isValid:0===(null==g?void 0:g.length),getErrors:()=>g,getWarnings:()=>b,getIsChangingValue:()=>m}})({item:e,customValidators:p}),M=Object(a.useCallback)((async()=>{if(T.isValid&&m&&!T.getIsChangingValue()){const n=e.id,a=T.title.value;x(!0);try{await m({id:n,title:a,description:T.description.value,tags:T.tags.value})}catch(e){b(Object(o.jsx)(l.FormattedMessage,{id:"contentManagement.inspector.metadataForm.unableToSaveDangerMessage",defaultMessage:"Unable to save {entityName}",values:{entityName:t}}),e.message)}finally{x(!1)}}E(!0)}),[m,e.id,T,b,t]),C=Object(a.useCallback)((()=>{O()}),[O]),w=Object(o.css)("margin-right:",v.size.m,";",""),F=`${(V=i.i18n.translate("contentManagement.contentEditor.flyoutTitle",{defaultMessage:"{entityName} details",values:{entityName:t}})).charAt(0).toLocaleUpperCase()}${V.substring(1)}`;var V;return Object(o.jsx)(s.a.Fragment,null,Object(o.jsx)(r.EuiFlyoutHeader,null,Object(o.jsx)(r.EuiTitle,{"data-test-subj":"flyoutTitle"},Object(o.jsx)("h2",null,Object(o.jsx)(r.EuiIcon,{type:"iInCircle",css:w,size:"l"}),Object(o.jsx)("span",null,F)))),Object(o.jsx)(r.EuiFlyoutBody,null,Object(o.jsx)(g,{form:{...T,isSubmitted:y},isReadonly:n,tagsReferences:e.tags,TagList:c,TagSelector:u})),Object(o.jsx)(r.EuiFlyoutFooter,null,Object(o.jsx)(s.a.Fragment,null,Object(o.jsx)(r.EuiFlexGroup,{justifyContent:"spaceBetween",alignItems:"center"},Object(o.jsx)(r.EuiFlexItem,{grow:!1},Object(o.jsx)(r.EuiButtonEmpty,{iconType:"cross",flush:"left",onClick:C,"data-test-subj":"closeFlyoutButton"},h.cancelButtonLabel)),!1===n&&Object(o.jsx)(r.EuiFlexItem,{grow:!1},Object(o.jsx)(r.EuiButton,{color:"primary",onClick:M,"data-test-subj":"saveButton",fill:!0,disabled:y&&!T.isValid,isLoading:f},h.saveButtonLabel))))))},m=e=>Object(o.jsx)(b,e)}}]);