PageSourceSearch

https://www.instamed.fr/v2/assets/Treatments-BTjrLXTr.js

js instamed.fr collected 2026-10-03 21:05:01 UTC 4,692 bytes, 1 lines download raw bytes

1import{r as y,n as D,j as t,o as C,q as V,av as A}from"./index-D-OR9T1H.js";import{A as N}from"./ActionCell-RTkLVsn8.js";import{ao as f,an as w,aa as T,al as K,ap as k,c$ as P,ah as x,at as g,ev as U,gc as $,ab as E,as as b,cU as R,eT as q,gz as j,eV as S,fV as G,el as h,dO as M,fs as v,fG as Y,fX as z}from"./DrawerManager-BF-SW3ao.js";import{S as B}from"./ServiceField-NEbapcp7.js";import{E as H}from"./EntityTable-DbAplzft.js";import"./Table-DH3jDb_j.js";import"./useUpdateDrawer-ChJhQOmN.js";import"./EntityTableHeader-DeyHDHKh.js";import"./PageTitle-CZCnsvV0.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"4b29f82c793bd1c5cf346a1e66845304a78cae0f"};var a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="7c9d0a69-0133-4e5b-9611-a538ef849ce7",e._sentryDebugIdIdentifier="sentry-dbid-7c9d0a69-0133-4e5b-9611-a538ef849ce7")}catch{}})();const J=e=>f("treatments",void 0,e),X=(e,a)=>f("treatments",e,a),Q=e=>f("treatments",null,e);A({mixed:{default:"field_invalid",required:"field_required"}});function W(e){return{name:e.name,category:e.category,questionnaire:M(e.questionnaire),specialties:h(e.specialties),services:h(e.services)}}const Z=C({name:V().required(),services:U().required()}),ee=e=>({skip:!0,method:e?"put":"post",include:["services","questionnaire","specialties"],url:e?X(e.attributes._id):Q()}),ae=({resetField:e,t:a,register:i,control:r,errors:s})=>t.jsxs("div",{className:"flex flex-col flex-grow gap-3 p-3 mb-5",children:[t.jsx($,{...i("_id")}),t.jsx(E,{error:b("name",s,a),label:a("name"),...i("name",{required:!0})}),t.jsx(E,{error:b("category",s,a),label:a("category"),...i("category")}),t.jsx(R,{name:"questionnaire",apiSearch:!0,label:a("questionnaire"),error:b("questionnaire",s,a),control:r,buildOption:q,url:j({type:S.SELF_EVALUATION}),resetField:e}),t.jsx(G,{resetField:e,name:"specialties",control:r,showSelectAll:!1,error:b("specialties",s,a),label:a("specialties")}),t.jsx(B,{name:"services",error:b("services",s,a),control:r,resetField:e,label:a("services")})]}),te=e=>{var c,u,d;if(!e)return{name:"",category:""};const a=e.id,{name:i,category:r}=e.attributes,{specialties:s,services:n,questionnaire:o}=(e==null?void 0:e.relationships)??{};return{_id:a,name:i,category:r,questionnaire:(c=o==null?void 0:o.data)==null?void 0:c.id,specialties:((u=s==null?void 0:s.data)==null?void 0:u.map(l=>l.id))??[],services:((d=n==null?void 0:n.data)==null?void 0:d.map(l=>l.id))??[]}},se=({entity:e=void 0,onClose:a})=>{const{fetchData:i,loading:r,error:s}=w(ee(e)),{t:n}=T("admin",{keyPrefix:"treatments.form.fields"}),o=y.useMemo(()=>te(e),[e]),{register:c,handleSubmit:u,resetField:d,control:l,setError:m,formState:{errors:p}}=K({shouldUseNativeValidation:!0,resolver:k(Z),defaultValues:o}),_=async L=>{const F=W(L),I=await i(F,{throw:!0});a(!0,I)},O=()=>{a(!1)};return y.useEffect(()=>{D(m,s)},[s,m]),t.jsx("div",{children:t.jsxs("form",{"data-testid":"treatments_form",onSubmit:u(_),children:[t.jsx(ae,{t:n,control:l,resetField:d,errors:p,register:c}),t.jsxs(P,{children:[t.jsx(x,{disabled:!1,onClick:O,children:t.jsx(g,{i18nKey:"ui.button.cancel"})}),t.jsx(x,{saving:r,color:"primary",type:"submit",children:t.jsx(g,{i18nKey:"ui.button.submit"})})]})]})})},ie=(e,a,i)=>{var n,o,c,u,d,l,m;const r=(o=(n=e.relationships)==null?void 0:n.services)==null?void 0:o.data,s=(u=(c=e.relationships)==null?void 0:c.specialties)==null?void 0:u.data;return{id:e.id,name:e.attributes.name,category:e.attributes.category,questionnaire:((m=(l=(d=e.relationships)==null?void 0:d.questionnaire)==null?void 0:l.data)==null?void 0:m.attributes.name)??"",services:r==null?void 0:r.map(p=>p.attributes.name).join(", "),specialties:s==null?void 0:s.map(p=>p.attributes.name).join(", "),actions:t.jsx(N,{entity:e,actions:i})}},re=[{label:"ui.table.name",dataKey:"name"},{label:"ui.table.category",dataKey:"category"},{label:"ui.table.questionnaire",dataKey:"questionnaire"},{label:"ui.table.services",dataKey:"services"},{label:"ui.table.specialties",dataKey:"specialties"},{label:"ui.table.actions",dataKey:"actions"}],ne=()=>{const{t:e}=T("admin",{keyPrefix:"treatments"}),a=v({url:Y(),property:"specialties",apiSearch:!0,multiple:!0,label:e("ui.filters.specialties"),buildOption:z}),i=v({url:j({type:S.SELF_EVALUATION}),property:"questionnaire",apiSearch:!0,multiple:!0,label:e("ui.filters.questionnaire"),buildOption:q});return t.jsx(H,{path:J({include:"services,questionnaire,specialties"}),columns:re,filters:[a,i],form:se,parseItem:ie,keyPrefix:"treatments",translationDomain:"admin"})};
1ne.displayName="Treatments";export{ne 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.