PageSourceSearch

https://portal.continental-industry.com/assets/CompetitorHoseForm-Dt_CThHo.js

js continental-industry.com collected 2026-09-24 21:47:59 UTC 9,730 bytes, 1 lines download raw bytes

1import{u as Se,U as je,r as m,o as Be,t as ye,a6 as Ne,b as Pe,z as H,d as L,aq as T,j as t,D as He,Y as ce,i as O,I as w,aQ as de,bI as Te,_ as we,g as Ee,b4 as Fe}from"../index.js";import{b as Ge,c as Me}from"./api-DFiv_gwU.js";import{u as Oe}from"./useCompAdvTranslations-CGyuy_bA.js";import{A as qe,F as S}from"./CompetitorForm-iC5klAWJ.js";import{F as me}from"./PlusIcon-BzRa9r6k.js";import"./ArrowLongLeftIcon-MOMUQMqK.js";const $e={name:"",competitorPartNo:"",contiTechSAPNo:"",competitorId:null,applicationGroupId:null,contiTechIds:[],generalBenefits:["",""],specificBenefits:["",""]},pe="?sort=name:asc&fields[0]=id&fields[1]=name",Ie="?sort=name:asc&fields[0]=id&fields[1]=name&fields[2]=sapNo";function We(){var W,Y,J,K,X,Z,ee,te,oe,ie,ne,ae,se,le,re;const[h]=Se(),p=je(),r=h.get("documentId"),l=!!r,[n,c]=m.useState($e),[j,y]=m.useState(!1),{t:i}=Oe(),{labels:N}=Be(),u=m.useMemo(()=>ye((i==null?void 0:i.inputFields)??[]),[i==null?void 0:i.inputFields]),s=m.useMemo(()=>Ne((i==null?void 0:i.adminLabels)??[]),[i==null?void 0:i.adminLabels]),q=m.useMemo(()=>Pe((i==null?void 0:i.toastMessages)??[]),[i==null?void 0:i.toastMessages]),{data:E,isLoading:he}=H(`${L.caaCompetitors}${pe}`,T),{data:F,isLoading:fe}=H(`${L.caaApplicationGroups}${pe}`,T),{data:G,isLoading:be}=H(`${L.caaContiTechHoses}${Ie}`,T),Ae=r?`${L.caaCompetitorHose(r)}?populate[competitor][fields][0]=id&populate[applicationGroup][fields][0]=id&populate[contiTechHoseEquivalent][fields][0]=id&populate[generalBenefits]=true&populate[specificBenefits]=true`:null,{data:B,isLoading:Ce}=H(Ae,T);m.useEffect(()=>{var o,a;if(!l||!(B!=null&&B.data))return;const e=B.data;c({name:e.name??"",competitorPartNo:e.competitorPartNo??"",contiTechSAPNo:e.contiTechSAPNo??"",competitorId:((o=e.competitor)==null?void 0:o.id)??null,applicationGroupId:((a=e.applicationGroup)==null?void 0:a.id)??null,contiTechIds:(e.contiTechHoseEquivalent??[]).map(d=>d.id),generalBenefits:(e.generalBenefits??[]).map(d=>d.text),specificBenefits:(e.specificBenefits??[]).map(d=>d.text)})},[l,B]);const $=(E==null?void 0:E.data)??[],I=(F==null?void 0:F.data)??[],k=(G==null?void 0:G.data)??[],U=m.useMemo(()=>$.map(e=>({id:e.id,title:e.name})),[$]),_=m.useMemo(()=>I.map(e=>({id:e.id,title:e.name})),[I]),z=m.useMemo(()=>k.map(e=>({id:e.id,title:e.name,description:e.sapNo||void 0})),[k]),f=(e,o)=>c(a=>({...a,[e]:o})),D=(e,o,a)=>{c(d=>{const P=[...d[e]];return P[o]=a,{...d,[e]:P}})},R=e=>{c(o=>({...o,[e]:[...o[e],""]}))},Q=(e,o)=>{c(a=>({...a,[e]:a[e].filter((d,P)=>P!==o)}))},ge=async()=>{y(!0);try{const e={name:n.name.trim(),competitorPartNo:n.competitorPartNo.trim()||null,contiTechSAPNo:n.contiTechSAPNo.trim()||null,competitor:n.competitorId,applicationGroup:n.applicationGroupId,contiTechHoseEquivalent:n.contiTechIds,generalBenefits:n.generalBenefits.map(a=>a.trim()).filter(a=>a).map(a=>({text:a})),specificBenefits:n.specificBenefits.map(a=>a.trim()).filter(a=>a).map(a=>({text:a})),active:!0};l?await Ge(L.caaCompetitorHose(r).toString(),e):await Me(L.caaCompetitorHoses.toString(),e);const o=q["CompAdvAdmin.Toast.CompetitorHoseSaved"];we((o==null?void 0:o.title)??"Competitor hose saved",o==null?void 0:o.description),p(O.caaCompetitorHoses)}catch(e){const o=q["CompAdvAdmin.Toast.SaveFailed"];Ee((o==null?void 0:o.title)??"Save failed",e instanceof Error?e.message:o==null?void 0:o.description)}finally{y(!1)}};if(he||fe||be||l&&Ce)return t.jsx(He,{});const ve=U.find(e=>e.id===n.competitorId)??null,xe=_.find(e=>e.id===n.applicationGroupId)??null,Le=z.filter(e=>n.contiTechIds.includes(e.id)),b=u["CompAdvAdmin.Input.CompetitorHoseName"],A=u["CompAdvAdmin.Input.CompetitorPartNo"],C=u["CompAdvAdmin.Input.Competitor"],g=u["CompAdvAdmin.Input.ApplicationGroup"],v=u["CompAdvAdmin.Input.ContiTechEquivalents"],x=u["CompAdvAdmin.Input.ContiTechSapNo"],M=u["CompAdvAdmin.Input.Benefit"],V={countSingular:((W=s["CompAdvAdmin.Label.BenefitCountSingular"])==null?void 0:W.columnLabel)??"benefit",countPlural:((Y=s["CompAdvAdmin.Label.BenefitCountPlural"])==null?void 0:Y.columnLabel)??"benefits",add:((J=s["CompAdvAdmin.Label.AddBenefit"])==null?void 0:J.columnLabel)??"Add a benefit",addAnother:((K=s["CompAdvAdmin.Label.AddAnotherBenefit"])==null?void 0:K.columnLabel)??"Add another benefit",placeholder:(M==null?void 0:M.inputPlaceholder)??"Benefit",removeLabel:N[ce.remove]??"Remove benef
1it"};return t.jsxs(qe,{title:l?((X=s["CompAdvAdmin.Label.EditCompetitorHose"])==null?void 0:X.columnLabel)??"Edit Competitor Hose":((Z=s["CompAdvAdmin.Label.AddCompetitorHose"])==null?void 0:Z.columnLabel)??"Add Competitor Hose",breadcrumbs:[{label:((ee=s["CompAdvAdmin.Label.CompetitorHoses"])==null?void 0:ee.columnLabel)??"Competitor Hoses",to:O.caaCompetitorHoses},{label:l?N[ce.edit]??"Edit":((te=s["CompAdvAdmin.Label.BreadcrumbAdd"])==null?void 0:te.columnLabel)??"Add"}],saveLabel:l?((oe=s["CompAdvAdmin.Label.UpdateCompetitorHose"])==null?void 0:oe.columnLabel)??"Update Competitor Hose":((ie=s["CompAdvAdmin.Label.SaveCompetitorHose"])==null?void 0:ie.columnLabel)??"Add Competitor Hose",saving:j,canSave:n.name.trim().length>0,onSubmit:ge,onCancel:()=>p(O.caaCompetitorHoses),children:[t.jsx(S,{label:(b==null?void 0:b.inputLabel)??"Competitor Hose Name",required:!0,children:t.jsx(w,{value:n.name,onChange:e=>f("name",e.target.value),placeholder:(b==null?void 0:b.inputPlaceholder)??"Enter competitor hose name",required:!0,autoFocus:!0})}),t.jsx(S,{label:(A==null?void 0:A.inputLabel)??"Competitor Part No",children:t.jsx(w,{value:n.competitorPartNo,onChange:e=>f("competitorPartNo",e.target.value),placeholder:(A==null?void 0:A.inputPlaceholder)??"Optional part number"})}),t.jsx(S,{label:(C==null?void 0:C.inputLabel)??"Competitor",children:t.jsx(de,{options:U,selectedOption:ve,onChange:e=>f("competitorId",(e==null?void 0:e.id)??null),placeholder:(C==null?void 0:C.inputPlaceholder)??"Select a competitor"})}),t.jsx(S,{label:(g==null?void 0:g.inputLabel)??"Application Group",children:t.jsx(de,{options:_,selectedOption:xe,onChange:e=>f("applicationGroupId",(e==null?void 0:e.id)??null),placeholder:(g==null?void 0:g.inputPlaceholder)??"Select an application group"})}),t.jsx(S,{label:(v==null?void 0:v.inputLabel)??"ContiTech Hose Equivalents",hint:((ne=s["CompAdvAdmin.Label.ContiTechEquivalentsHint"])==null?void 0:ne.columnLabel)??"Pick one or more ContiTech hoses that match this competitor hose.",children:t.jsx(Te,{options:z,selectedOptions:Le,onChange:e=>f("contiTechIds",e.map(o=>o.id)),label:"",placeholder:(v==null?void 0:v.inputPlaceholder)??"Select ContiTech equivalents"})}),t.jsx(S,{label:(x==null?void 0:x.inputLabel)??"ContiTech SAP No",children:t.jsx(w,{value:n.contiTechSAPNo,onChange:e=>f("contiTechSAPNo",e.target.value),placeholder:(x==null?void 0:x.inputPlaceholder)??"Optional SAP number"})}),t.jsx(ue,{title:((ae=s["CompAdvAdmin.Label.GeneralBenefitsTitle"])==null?void 0:ae.columnLabel)??"General ContiTech Benefits",description:((se=s["CompAdvAdmin.Label.GeneralBenefitsDescription"])==null?void 0:se.columnLabel)??"Selling points that apply to this ContiTech hose generally.",labels:V,values:n.generalBenefits,onUpdate:(e,o)=>D("generalBenefits",e,o),onAdd:()=>R("generalBenefits"),onRemove:e=>Q("generalBenefits",e)}),t.jsx(ue,{title:((le=s["CompAdvAdmin.Label.SpecificBenefitsTitle"])==null?void 0:le.columnLabel)??"Specific Benefits Over This Hose",description:((re=s["CompAdvAdmin.Label.SpecificBenefitsDescription"])==null?void 0:re.columnLabel)??"What this ContiTech hose does better than the competitor's.",labels:V,values:n.specificBenefits,onUpdate:(e,o)=>D("specificBenefits",e,o),onAdd:()=>R("specificBenefits"),onRemove:e=>Q("specificBenefits",e)})]})}function ue({title:h,description:p,labels:r,values:l,onUpdate:n,onAdd:c,onRemove:j}){return t.jsxs("div",{className:"pt-5 border-t border-gray-100",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-3 mb-3",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-sm font-semibold text-primary-yellow uppercase tracking-wider",children:h}),p&&t.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:p})]}),t.jsxs("span",{className:"text-xs text-gray-400 shrink-0",children:[l.length," ",l.length===1?r.countSingular:r.countPlural]})]}),l.length===0?t.jsxs("button",{type:"button",onClick:c,className:"w-full border-2 border-dashed border-gray-200 hover:border-primary-yellow hover:bg-primary-yellow/5 transition-colors py-6 text-sm text-gray-500 hover:text-primary-yellow font-medium cursor-pointer flex items-center justify-center gap-2",children:[t.jsx(me,{className:"size-4"}),r.add]}):t.jsxs(t.Fragment,{children:[t.jsx("ul",{className:"space-y-2",children:l.map((y,i)=>t.jsx(ke,{index:i,value:y,placeholder:r.placeholder,removeLabel:r.removeLabel,onUpdate:N=>n(i,N),onRemove:()=>j(i)},i))}),t.jsxs("button",{type:"button",onClick:c,className:"mt-3 inline-flex items-center gap-1.5 text-sm font-semibold text-primary-yellow hover:text-primary-yellow-hover cursor-pointer",children:[t.jsx(me,{className:"size-4"}),r.addAnother]})]})]})}function ke({index:h,value:p,placeholder:r,removeLabel:l,onUpdate:n,onRemove:c}){return t.jsxs("li",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"size-6 shrink-0 inline-flex items-center justify-center bg-primary-yellow/15 text-primary-yellow text-xs font-bold rounded-full","aria-hidden":!0,
1children:h+1}),t.jsx("div",{className:"grow",children:t.jsx(w,{value:p,onChange:j=>n(j.target.value),placeholder:`${r} ${h+1}`})}),t.jsx("button",{type:"button",onClick:c,"aria-label":l,className:"size-8 shrink-0 text-gray-400 hover:text-red-500 cursor-pointer flex items-center justify-center transition-colors",children:t.jsx(Fe,{className:"size-5"})})]})}export{We as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.