import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./jsx-runtime-CEixWuwE.js";import{In as r,Ln as i,_r as a,gr as o,hr as s,jt as c,n as l,o as u,r as d}from"./axios-CqVvIrze.js";import{t as f}from"./index.esm-DvsSulC2.js";import{t as p}from"./input-C0nx2oGD.js";import{i as m}from"./ctiAxios-BGxRUrI3.js";import{s as h}from"./notification-aPCTl9f9.js";import{t as g}from"./button-D-toS8Ed.js";import{i as _}from"./select-BHSu3-lB.js";import{t as v}from"./popover-XfergX7H.js";import{t as y}from"./tooltip-BYgQbw_z.js";import{d as b,l as x,u as S}from"./sanitizeDataUtils-D_BiYFM0.js";import{n as C}from"./iconUtil-DC0Bwrts.js";import{t as w}from"./spin-DELQXW8Z.js";import{t as T}from"./ArrowLeftOutlined-WgPwf9uw.js";import{t as E}from"./popconfirm-BpBI5i79.js";import{t as D}from"./tree-Cb-jUWQf.js";import{n as O}from"./typography-n_OOFfld.js";import{c as k,s as A}from"./chunk-4ZMWKKQ3-DSEBDjt3.js";import{t as j}from"./useMutation-BrEj-a80.js";import{t as M}from"./queryOptions-Cg9orY1Y.js";import{n as ee,t as te}from"./DiscardChangesButton-dlQQNLOv.js";import{a as ne,s as re,t as ie}from"./filterByCode-DB2erXug.js";import{t as N}from"./ImportOutlined-D4HVsi0c.js";import{t as ae}from"./LeftSquareOutlined-BJSH1hw2.js";import{t as oe}from"./RightSquareOutlined-BUWOjFTN.js";import{t as se}from"./Loader-DleZaBjN.js";import{B as ce,D as le,I as ue,O as P,Q as de,R as F,T as fe,Z as pe,k as me,mt as I,ot as L,r as he,s as ge,u as R,w as z}from"./index-BFnTiMwi.js";import{n as _e,t as ve}from"./useFormIsActive-t4wKUNhF.js";import{t as B}from"./sortBy-CyIlNcg2.js";import{t as ye}from"./module-eIe9lCj8.js";var be={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 00-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 000 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z`}}]},name:`column-width`,theme:`outlined`};i();var V=e(t()),xe=V.forwardRef(function(e,t){return V.createElement(c,r(r({},e),{},{ref:t,icon:be}))});function H(e){let t=e.getElementsByTagName(`HTTP_SERVICE`)[0],n=o(t).schema,r=s(t,`TABLE`),i={};r.forEach(e=>{let t=o(e);t.classes=l(s(e,`CLASSE`)),i[`${t.classe_schema}-${t.table_id}`]=t});let a=s(t,`REFTABLE`),c={};a.forEach(e=>{let t=o(e);t.classes=l(s(e,`CLASSE`)),c[t.table_id]=t});function l(e){let t={};return e.forEach(e=>{let n=o(e);t[n.classe_id]=n}),t}return{schema:n,tables:i,refTables:c}}function Se(e){let t=e.getElementsByTagName(`HTTP_SERVICE`)[0],n=s(t,`CLASSE`)[0],r=o(n);r.sections=i(s(n,`SECTION`));function i(e){let t=[];return e.forEach(e=>{let n=o(e);n.elements=a(s(e,`ELEMENT`)),t.push(n)}),t}function a(e){let t=[];return e.forEach(e=>{let n=o(e);n.key=n.oid,t.push(n)}),t}return r.schema=o(t).schema??o(t).classe_schema,r.classe_schema=o(t).classe_schema??o(t).schema,r}var U=async e=>H(await m(`modules/base/php/httpService_classesManager_getClasses.php`,{softCode:e})),Ce=async(e,t,n)=>Se(await m(`modules/base/php/httpService_classesManager_getClasse.php`,{classe_id:n,table_id:t,schema:e,classe_schema:e})),W=`modules/base/php/httpService_classesManager_setClasse.php`;async function we(e,t,n){let r={...e};for(let e in r)r[e]===!0?r[e]=`1`:r[e]===!1&&(r[e]=`0`);let i={CLASSE:{XMLType:`CLASSE`,...r}};delete i.CLASSE.sections;let o=a(e.sections);o&&(i.CLASSE.children=o);let s=(await m(W,{schema:t,classe_schema:n,action:`save`,classeDef:R(i,!0)})).getElementsByTagName(`HTTP_SERVICE`)[0];return{classeId:(s?.getElementsByTagName(`CLASSE`)[0])?.getAttribute(`oid`),warnings:[...s.getElementsByTagName(`WARNING`)].map(e=>e.textContent)}}async function G(e,t,n){await m(W,{schema:n,action:`delete`,classe_id:e,classe_schema:n,table_id:t})}async function K(e,t,n){await m(W,{action:`refcopy`,softCode:t,refoid:e,schema:n})}var q={all:[`classes`],list:e=>[...q.all,`list`,e],detail:(e,t,n)=>[...q.all,`detail`,e,t,n]},Te=e=>M({queryKey:q.list(e),queryFn:()=>U(e),enabled:!!e}),Ee=e=>d(Te(e)),De=(e,t,n)=>M({queryKey:q.detail(e,t,n),queryFn:()=>Ce(e,t,n),enabled:!!e&&!!t&&!!n}),Oe=(e,t,n)=>d(De(e,t,n));function ke(){let e=u();return j({mutationFn:({classe:e,schema:t,classeSchema:n})=>we(e,t,n),meta:{successMessage:`Classe enregistrée`,errorMessage:`Erreur lors de l'enregistrement de la classe`},onSettled:async()=>{await e.invalidateQueries({queryKey:q.all}),z()}})}function Ae(){let e=u();return j({mutationFn:({classeId:e,tableId:t,schema:n})=>G(e,t,n),meta:{successMessage:`Classe supprimée`,errorMessage:`Erreur lors de la suppression de la classe`},onSettled:async()=>{await e.invalidateQueries({queryKey:q.all}),z()}})}function je(){let e=u();return j({mutationFn:({refoid:e,softCode:t,schema:n})=>K(e,t,n),meta:{successMessage:`Synchronisation terminée`,errorMessage:`La synchronisation a échoué`},onSettled:async()=>{await e.invalidateQueries({queryKey:q.all})}})}var J=n();function Me(e){return[{title:`Code`,dataKey:`code`,dataGetter:({rowData:e})=>(0,J.jsx)(y,{title:e.code,children:e.code})},{dataKey:`texte`,headerRenderer:()=>e.table_texte,dataGetter:({rowData:e})=>(0,J.jsx)(y,{title:e.texte,children:e.texte})},{title:`Complément`,dataKey:`complement`},{title:`Section`,dataKey:`section_texte`},{title:`Ref`,dataKey:`utilise`,width:70}].map(e=>({width:300,key:e.dataKey,dataIndex:e.dataKey,ellipsis:!0,resizable:!0,...e}))}var Ne=e(B()),Y=e(l()),X=({section:e,handleEdit:t,handleClose:n})=>{let[r,i]=(0,V.useState)(``),[a,o]=(0,V.useState)(``);return(0,V.useEffect)(()=>{e&&(i(e.include_code),o(e.exclude_code))},[e]),(0,J.jsxs)(`div`,{className:`section-form`,children:[(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{className:`first-label`,children:`Codes à inclure`}),(0,J.jsx)(p.TextArea,{value:r,onChange:e=>i(e.target.value)})]})}),(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{className:`first-label`,children:`Codes à exclure`}),(0,J.jsx)(p.TextArea,{value:a,onChange:e=>o(e.target.value)})]})}),(0,J.jsxs)(`div`,{className:`form-row form-buttons`,style:{marginTop:`12px`},children:[(0,J.jsx)(g,{onClick:n,style:{marginRight:`8px`},children:`Annuler`}),(0,J.jsx)(g,{onClick:()=>t(e.oid,r,a),type:`primary`,children:`Appliquer`})]})]})};X.propTypes={section:Y.default.object,handleEdit:Y.default.func,handleClose:Y.default.func};var Pe=({node:e,handleSetCode:t,handleSetText:n,byCode:r,handleEdit:i,handleDelete:a})=>{let[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)(!1),[u,d]=(0,V.useState)(``),[f,m]=(0,V.useState)(``),[h,_]=(0,V.useState)(!1),[y,b]=(0,V.useState)(!1),x=(0,V.useRef)(),S=(0,V.useRef)();(0,V.useEffect)(()=>{e&&(d(e.code),m(e.texte))},[e]),(0,V.useEffect)(()=>{o&&x.current.focus()},[o]),(0,V.useEffect)(()=>{c&&S.current.focus()},[c]);let C=()=>{s(!o)},w=()=>{l(!c)},T=e=>{d(e.target.value)},D=e=>{m(e.target.value)},k=n=>{s(!1),t(e.oid,u)},A=t=>{l(!1),n(e.oid,f)},j=()=>{_(!h)};return(0,J.jsxs)(`div`,{className:`editable-title`,onMouseEnter:j,onMouseLeave:j,children:[o?(0,J.jsx)(p,{ref:x,style:{width:`20%`},value:u,onChange:T,onBlur:k}):(0,J.jsx)(`div`,{className:`editable-code`,onClick:C,children:u}),c?(0,J.jsx)(p,{ref:S,style:{marginLeft:`6px`,width:`50%`},value:f,onChange:D,onBlur:A}):(0,J.jsx)(`div`,{className:`editable-text`,onClick:w,children:`${f} (${e.elements.length})`}),(0,J.jsxs)(`div`,{className:`title-buttons`,children:[(0,J.jsx)(v,{trigger:`click`,content:(0,J.jsx)(X,{section:e,handleEdit:i,handleClose:()=>b(!1)}),visible:y,onVisibleChange:e=>{b(e)},children:r||y?(0,J.jsx)(g,{type:`link`,className:`edit-button-title`,children:(0,J.jsx)(O,{})}):null}),(0,J.jsx)(E,{title:`Etes vous sur de vouloir supprimer cette section ?`,okText:`Supprimer`,cancelText:`Annuler`,onConfirm:()=>a(e.oid),children:(0,J.jsx)(g,{type:`link`,className:`delete-button-title`,children:(0,J.jsx)(pe,{})})})]})]})};Pe.propTypes={node:Y.default.object,handleSetCode:Y.default.func,handleSetText:Y.default.func,handleEdit:Y.default.func,handleDelete:Y.default.func};var Fe=new Set([`is_cti`,`contenu_by_code`,`contenu_non_replicable_ailleurs`,`show_omit`,`est_lecture_seule`,`est_partagee_modification`]),Z=({selectedClasseParams:e,softCode:t,handleCloseEditor:n,onClasseCreated:r})=>{let i=ue(),a=ke(),o=Ae(),s=ye(t),c=e?.key?.includes(`finess`)?`base`:s,l=Oe(c,e?.tableId,e?.classeId),u=l.data,d=l.isPending&&l.fetchStatus!==`idle`,f=i.data?.session,[m]=L.useForm(),[v,y]=(0,V.useState)([]),[b,x]=(0,V.useState)([]),[S,w]=(0,V.useState)([]),[O,k]=(0,V.useState)({}),[A,j]=(0,V.useState)(!1),[M,N]=(0,V.useState)(null),[ce,le]=(0,V.useState)([]),[P,F]=(0,V.useState)([]),[R,z]=(0,V.useState)([]),[B,be]=(0,V.useState)(!1),[H,Se]=(0,V.useState)(!0),[U,Ce]=(0,V.useState)(``),[W,we]=(0,V.useState)(``);(0,V.useEffect)(()=>{if(u&&Object.keys(u).length){let e=qe(u);k(e),m.setFieldsValue(e),y(Me(u))}else m.setFieldsValue({})},[u]),(0,V.useEffect)(()=>{if(u&&Object.keys(u).length){let e=Ge(u);e=Q(e),x(e)}},[u,U,B,H,W]),(0,V.useEffect)(()=>{O.sections?w(Je(Ke(O.sections),O)):w([])},[O]);let G=ve(u?.is_cti===`1`,f),K=(e,t)=>{if(M||t){let n={...O},r=t||n.sections.find(e=>e.oid===M.oid);if(r){let t=[],i=n.sections.filter(e=>e.oid!==r.oid),a=Ge(O);(e||P).forEach(e=>{let n=a.find(t=>t.oid===e.toString());r.elements.some(e=>e.oid===n.oid)||(n.section_texte=`${r.code} - ${r.texte}`,n.section_id=r.oid,t.push(n),i.forEach(e=>{e.elements=e.elements.filter(e=>e.oid!==n.oid)}))}),r.elements=r.elements.concat(t),x(Q(a))}k({...n}),F([]),j(!0)}},q=(e,t)=>{let n=Ge(O),r={...O},i=e||R,a=O.sections.find(e=>e.oid===`0`);i.forEach(e=>{let i=n.find(t=>t.oid===e.oid);i&&(a.elements.push(i),i.section_id=`0`,i.section_texte=``);let o;t?o=t:r.sections.forEach(t=>{t.elements.forEach(n=>{n.oid===e.oid&&(o=t)})}),o.elements=o.elements.filter(t=>t.oid!==e.oid)}),n=Q(n),k(r),x(n),z([]),j(!0)},Te=()=>{let t=m.getFieldsValue(),n={...O,...t},i=e?.classeId===`-1`;a.mutate({classe:n,schema:s,classeSchema:c},{onSuccess:e=>{j(!1),e?.warnings?.forEach(e=>{h({message:`Classe — conflit`,description:e,duration:8})}),i&&e?.classeId&&r(e.classeId,t.code)}})},Ee=e=>{be(e.target.checked)},De=e=>{Se(e.target.checked)},je=e=>{Ce(e.target.value)},Y=e=>{we(e.target.value)},X=(e,t)=>{let n={...O},r=n.sections.find(t=>t.oid===e);r&&(r.texte=t),k(n),j(!0)},Z=(e,t)=>{let n={...O},r=n.sections.find(t=>t.oid===e);r&&(r.code=t),k(n),j(!0)},Ie=e=>{j(!0);let t=Object.keys(e)[0];if(t===`contenu_by_code`){let n={...O};n[t]=e[t],k(n)}},Le=(e,t)=>{t.node.section_id?(N(null),z([t.node])):(N({...t.node}),z([...t.node.children])),t.selected||z([]),le(e)},Re=()=>{let e={...O},t=-(e.sections.filter(e=>Number(e.oid<0)).length+1).toString();e.sections.push({oid:t,texte:`Nouvelle section`,code:`S${e.sections.length}`,include_code:``,exclude_code:``,elements:[]}),k(e)},ze=e=>{let t={...O};t.sections=t.sections.filter(t=>t.oid!==e),k(t)},Be=async(e,t,n)=>{let r={...O},i;i=r.sections.find(t=>t.oid===e),i&&(i.include_code=t,i.exclude_code=n),t!==``&&(q(i.elements),i.elements=[],K(await ne({schema:s,table_id:u.table_id,include_code:t,exclude_code:n}),i)),k(r)},Ve=()=>{o.mutate({classeId:u.oid,tableId:u.table_id,schema:s},{onSuccess:()=>{k({}),n()}})},He=e=>{let t=[...P];Array.isArray(e)?t=t.concat(e):t.includes(e)?t=t.filter(t=>t!==e):t.push(e),F([...new Set(t)])},Ue=()=>{P.length?F([]):F(b.map(e=>e.oid))},We=()=>{k({}),n()};function Ge(e){let t=[];return e.sections.forEach(e=>{e.elements&&(t=t.concat(e.elements))}),t=(0,Ne.default)(t,e=>e.code),t}function Q(e){let t=[...e];return B&&(t=t.filter(e=>e.utilise===`O`)),H&&(t=t.filter(e=>e.section_id===`0`)),t=fe(t,U,[`code`,`texte`,`complement`]),t=ie(t,W),t}function Ke(e,t=``,n=!1){let r=[];return e.forEach((e,i)=>{if(e.code!==``){let a=(t===``?``:t+`_`)+i,o={...e,key:a,isLeaf:!0,title:e.texte,editable:n};e.elements&&(o.children=Ke(e.elements,a,n),o.isLeaf=!1,o.editable=!0),r.push(o)}}),r}function qe(e){let t={...e};for(let e in t)Fe.has(e)&&(t[e]=t[e]===`1`);return t}function Je(e,t){return e.map(e=>({...e,title:e.editable?(0,J.jsx)(Pe,{node:e,handleSetText:X,handleSetCode:Z,byCode:m.getFieldValue(`contenu_by_code`),handleEdit:Be,handleDelete:ze}):`${e.title} (${e.code})`,children:e.children?Je(e.children):null}))}let $=d||!u;return(0,J.jsx)(J.Fragment,{children:(0,J.jsxs)(L,{form:m,onValuesChange:Ie,style:{height:`100%`,display:`flex`,flexFlow:`column`},disabled:G,children:[(0,J.jsxs)(`div`,{className:`component-header`,children:[(0,J.jsxs)(`div`,{className:`header-title`,children:[(0,J.jsx)(te,{onConfirm:We,modified:A,children:(0,J.jsx)(g,{type:`link`,style:{height:`100%`,paddingRight:`20px`},disabled:a.isPending,children:(0,J.jsx)(T,{})})}),`Gestion des classes`]}),(0,J.jsxs)(`div`,{className:`header-actions`,children:[(0,J.jsx)(g,{size:`default`,icon:(0,J.jsx)(re,{}),disabled:$,onClick:()=>{he(m.getFieldsValue(),b)},children:`Exporter`},`formExcelExportBtn`),f?.ISROLECTI&&(0,J.jsx)(g,{size:`default`,icon:(0,J.jsx)(ee,{}),disabled:$,onClick:()=>{_e(t,u?.oid,u?.table_name)},children:`SQL`},`formSQLExportBtn`),(0,J.jsx)(E,{title:`Voulez-vous vraiment supprimer cette classe ?`,onConfirm:Ve,okText:`Supprimer`,okButtonProps:{danger:!0},cancelText:`Annuler`,disabled:$||u?.est_lecture_seule===`true`||G,children:(0,J.jsx)(g,{size:`default`,danger:!0,icon:(0,J.jsx)(pe,{}),disabled:$||u?.est_lecture_seule===`true`||G,children:`Supprimer`})}),(0,J.jsx)(g,{size:`default`,type:`primary`,icon:(0,J.jsx)(_,{}),loading:a.isPending,disabled:$||!A||u?.est_lecture_seule===`true`,onClick:Te,children:`Enregistrer`},`formSubmitbtn`)]})]}),(0,J.jsxs)(`div`,{className:`classes-description`,children:[(0,J.jsxs)(`div`,{className:`form-column`,children:[(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Code:`}),(0,J.jsx)(L.Item,{name:`code`,children:(0,J.jsx)(p,{})})]}),(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Texte:`}),(0,J.jsx)(L.Item,{name:`texte`,children:(0,J.jsx)(p,{})})]})]}),(0,J.jsxs)(`div`,{className:`form-column`,children:[(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Lecture seule:`}),(0,J.jsx)(`b`,{children:u?.est_lecture_seule===`1`?`Oui`:`Non`})]}),(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Saisie par code`}),(0,J.jsx)(L.Item,{name:`contenu_by_code`,valuePropName:`checked`,children:(0,J.jsx)(de,{})})]})]}),f?.ISROLECTI&&(0,J.jsxs)(`div`,{className:`form-column`,children:[(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Classe CTI`}),(0,J.jsx)(L.Item,{name:`is_cti`,valuePropName:`checked`,children:(0,J.jsx)(I,{})})]}),(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Contenu non réplicable ailleurs`}),(0,J.jsx)(L.Item,{name:`contenu_non_replicable_ailleurs`,valuePropName:`checked`,children:(0,J.jsx)(I,{})})]})]})]}),$?(0,J.jsx)(`div`,{className:`loading-wrapper`,children:(0,J.jsx)(se,{style:{height:`auto`}})}):(0,J.jsx)(`div`,{className:`component-content`,children:(0,J.jsxs)(`div`,{className:`transfer-layout-content`,children:[(0,J.jsxs)(`div`,{className:`classes-sections`,children:[(0,J.jsxs)(`div`,{className:`tree-header`,children:[(0,J.jsx)(`span`,{children:`Sections`}),(0,J.jsx)(`div`,{className:`header-actions`,children:(0,J.jsx)(g,{type:`link`,onClick:Re,children:(0,J.jsx)(C,{})})})]}),(0,J.jsx)(D,{treeData:S,blockNode:!0,onSelect:Le,selectedKeys:ce})]}),(0,J.jsxs)(`div`,{className:`transfer-actions`,children:[(0,J.jsx)(g,{type:`link`,onClick:()=>K(),disabled:O.contenu_by_code||!M||!P.length||G,children:(0,J.jsx)(ae,{})}),(0,J.jsx)(g,{type:`link`,onClick:()=>q(),disabled:O.contenu_by_code||!R.length||G,children:(0,J.jsx)(oe,{})})]}),(0,J.jsxs)(me,{className:`classes-options`,defaultSize:{width:`50%`},enable:{top:!1,right:!1,bottom:!1,left:!0,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},children:[(0,J.jsxs)(`div`,{className:`options-search`,children:[(0,J.jsx)(`div`,{className:`options-dragger`,children:(0,J.jsx)(xe,{style:{fontSize:16}})}),(0,J.jsxs)(`div`,{className:`form-column`,children:[(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{className:`first-label`,children:`Recherche par texte`}),(0,J.jsx)(p,{value:U,onChange:je})]})}),(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Référencés uniquement`}),(0,J.jsx)(I,{checked:B,onChange:Ee})]})}),(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{children:`Non attribués uniquement`}),(0,J.jsx)(I,{checked:H,onChange:De})]})})]}),(0,J.jsxs)(`div`,{className:`form-column`,children:[(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsxs)(`div`,{className:`form-item`,children:[(0,J.jsx)(`span`,{style:{minWidth:`100px`},children:`Liste de codes`}),(0,J.jsx)(p.TextArea,{value:W,onChange:Y})]})}),(0,J.jsx)(`div`,{className:`form-row`,children:(0,J.jsx)(`div`,{className:`form-item`,children:(0,J.jsx)(g,{type:`primary`,onClick:Ue,children:`De/Sélectionner`})})})]})]}),(0,J.jsx)(`div`,{className:`options-table`,children:(0,J.jsx)(ge,{fixed:!1,columns:v,data:b,loading:l.isFetching,selectedRows:P,onRowSelect:He,shiftMulti:!0})})]})]})})]})})};Z.propTypes={selectedClasseParams:Y.default.object,softCode:Y.default.string,handleCloseEditor:Y.default.func,onClasseCreated:Y.default.func};var Ie=V.memo(Z),Le=e(P()),{DirectoryTree:Re}=D,ze=({tables:e,refTables:t,showReferences:n,handleSelectedClasse:r,search:i,isLoading:a,softCode:o})=>{let s=je(),[c,l]=(0,V.useState)(null),[u,d]=(0,V.useState)(null),[f,p]=(0,V.useState)([]),[m,h]=(0,V.useState)([]),[_,v]=(0,V.useState)(null);(0,V.useEffect)(()=>{e&&t&&(l(D(e)),d(D(t)))},[e,t]),(0,V.useEffect)(()=>{p(S(c))},[c]),(0,V.useEffect)(()=>{h(i===``?[]:f.map(e=>e.title.toLowerCase().includes(i.toLowerCase())?b(e.key,c):null).filter((e,t,n)=>e&&n.indexOf(e)===t))},[i,c,f]);let y=e=>{h(e)},T=e=>{let t=x(u).find(t=>t.key===e[0]);t&&v(t.classe_id)},E=()=>{let e=ye(o);s.mutate({refoid:_,softCode:o,schema:e},{onSuccess:()=>v(null)})};function D(e,t=``,n=!1){let r=[];return Object.values(e).forEach((e,i)=>{let a=(t===``?``:t+`_`)+(0,Le.default)(e.texte),o={title:e.texte,key:a,table_id:e.table_id};e.table_id===void 0&&(o.key=a);let s,c;e.classes!==void 0&&(s=O(e.classes,a,n)),e.groups!==void 0&&(c=D(e.groups,a,n)),s!==void 0&&c!==void 0?o.children=s.concat(c):s===void 0?o.children=c:o.children=s,r.push(o)}),r.sort((e,t)=>e.title.localeCompare(t.title,void 0,{numeric:!0,sensitivity:`base`}))}function O(e,t,n){let r=[];return Object.values(e).forEach(e=>{let n={title:e.texte,key:t+`_`+(0,Le.default)(e.texte),isLeaf:!0,table_id:e.table_id,classe_id:e.classe_id,code:e.code};e.classe_id===`-1`?n.icon=(0,J.jsx)(C,{}):n.icon=(0,J.jsx)(F,{}),r.push(n)}),r.sort((e,t)=>Number(e.classe_id)-Number(t.classe_id))}return(0,J.jsxs)(`div`,{className:`component-content`,children:[(0,J.jsxs)(`div`,{className:`classes-manager-classes`,children:[a?(0,J.jsx)(`div`,{className:`listes-spin-loader`,children:(0,J.jsx)(w,{})}):null,(0,J.jsx)(Re,{onSelect:r,treeData:c,expandedKeys:m,onExpand:y})]}),(0,J.jsxs)(`div`,{className:`cti-listes-manager-references`,style:{display:n?`flex`:`none`},children:[(0,J.jsxs)(`div`,{className:`references-header`,children:[(0,J.jsx)(`h3`,{children:`Classes de références`}),(0,J.jsx)(g,{style:{marginLeft:`10px`},size:`small`,onClick:E,icon:(0,J.jsx)(N,{}),loading:s.isPending,disabled:!_,children:`Importer`},`importBtn`)]}),(0,J.jsx)(`div`,{className:`references-tree`,children:(0,J.jsx)(Re,{treeData:u,onSelect:T})})]})]})};ze.propTypes={tables:Y.default.object,refTables:Y.default.object,showReferences:Y.default.bool,handleSelectedClasse:Y.default.func,search:Y.default.string,isLoading:Y.default.bool,softCode:Y.default.string};var Be=V.memo(ze),Ve=V.memo(()=>{let e=k(),{search:t}=A(),n=(0,V.useMemo)(()=>Object.fromEntries(new URLSearchParams(t)),[t]),{softCode:r}=le(),i=Ee(r),a=i.data?.tables??{},o=i.data?.refTables??{},[s,c]=(0,V.useState)(!1),[l,u]=(0,V.useState)(!1),[d,m]=(0,V.useState)(null),[h,_]=(0,V.useState)(``);(0,V.useEffect)(()=>{c(!1),m(null)},[r]),(0,V.useEffect)(()=>{if(!n.classe||s||!Object.keys(a).length)return;let t=n.classe,r=C(Object.values(a)).find(e=>e.code===t);r?(m({classeId:r.classe_id,tableId:r.table_id,key:r.key}),c(!0)):e({search:``},{replace:!0})},[n.classe,a]);let v=()=>{c(!1),e({search:``}),m(null)},y=(t,n)=>{e({search:`?classe=${n}`},{replace:!0}),m(e=>({...e,classeId:t}))},b=e=>{_(e.target.value)},x=()=>{u(!l)},S=(t,n)=>{n.node.isLeaf===!0&&(e({search:`?classe=${n.node.code}`},{replace:!0}),m({classeId:n.node.classe_id,tableId:n.node.table_id,key:n.node.key}),c(!0))};function C(e){let t=[];return Object.values(e).forEach(e=>{t=[...t,...Object.values(e.classes)]}),t}return s?(0,J.jsx)(Ie,{selectedClasseParams:d,softCode:r,handleCloseEditor:v,onClasseCreated:y}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{children:(0,J.jsx)(`title`,{children:`iCTI | Gestion des classes`})}),(0,J.jsxs)(`div`,{className:`component-header`,children:[(0,J.jsx)(`div`,{className:`header-title`,children:`Gestion des classes`}),(0,J.jsxs)(`div`,{className:`header-actions`,children:[(0,J.jsx)(p,{placeholder:`Recherche`,value:h,onChange:b}),(0,J.jsx)(g,{onClick:()=>i.refetch(),icon:(0,J.jsx)(ce,{}),loading:i.isFetching,children:`Actualiser`},`refreshBtn`),(0,J.jsx)(g,{style:{width:`148.5px`},type:l?`secondary`:`primary`,onClick:x,icon:(0,J.jsx)(F,{}),children:l?`Cacher références`:`Afficher références`},`showReferencesBtn`)]})]}),(0,J.jsx)(Be,{tables:a,refTables:o,showReferences:l,handleSelectedClasse:S,search:h,isLoading:i.isFetching,softCode:r})]})});export{Ve as default};
|