import{X as E,d_ as C,bu as F,a2 as o,r as S,j as l,V as m,bd as k}from"./index-BLPf7Sv2.js";import{E as x}from"./index-BSN6SOsA.js";import{E as O}from"./index-wJwwhEKX.js";import{u as R,l as j}from"./fields-DCfNzpK3.js";import{u as q}from"./validation-Bk8x5tpD.js";const A=({toolkitId:a,tool:t})=>{const s=E("toolkit",C),{toolFields:c}=R(),{setRef:u,ref:r,isDirty:p}=F(),f=q(),[i]=o.editToolOnToolkit.useAllowed({toolkitId:a,toolId:t?.id}),[y,d]=o.editToolOnToolkit.useMutation(),b=async e=>{const h={...e,parameters:e.parameters?.trim()?JSON.parse(e.parameters):void 0,request_body:e.request_body?.trim()?JSON.parse(e.request_body):void 0};try{if(!a||!t?.id)return;await y({customToolRequest:h,toolkitId:a,toolId:t.id}),o.tools.invalidate(),o.toolFromToolkit.invalidate({toolId:t.id}),o.toolkitById.invalidate({toolkitId:a})}catch(n){console.error(n),m.showToaster({type:"error",message:n instanceof k?n.translate():s.eval(s.toolkit.unableToUpdate,{content:s.toolkit.tool})})}},T={...t,parameters:t?.parameters?JSON.stringify(t?.parameters,null,2):"",request_body:t?.request_body?JSON.stringify(t?.request_body,null,2):""},g=S.useCallback(()=>l.jsx(x,{cardTitle:"",fields:c,initialValues:T,isSubmitting:d,disableAll:!i,canEdit:!1,startEditing:i,innerRef:u,submitPromise:e=>b(e),showAllOperations:!1,layout:j,validationSchema:f}),[t,i]);return l.jsx(O,{showConfirmationCard:p,isLoading:d,style:{marginBottom:"20px"},onSubmitChildrenForm:async()=>{const e=Object.values(await r?.current?.validateForm());e.length&&m.showToaster({type:"error",message:e.join(` `)}),r?.current?.submitForm()},onCancel:r?.current?.resetForm,children:l.jsx(g,{})})};export{A as T};