import{o as e}from"./chunk-jRWAZmH_.js";import{n as t,t as n}from"./jsx-runtime-CEixWuwE.js";import{Dt as r,Mn as i,Nn as a,S as o,dr as s,fr as c,n as l,ur as u}from"./axios-DOscJEDN.js";import{t as d}from"./index.esm-DB3Pt-Y3.js";import{i as f}from"./ctiAxios-CDlE51TE.js";import{s as p}from"./notification-BkpaB2Vc.js";import{t as m}from"./button-BMyidN73.js";import{i as h}from"./select-C47FfvhI.js";import{t as g}from"./popover-D_oN25YJ.js";import{t as _}from"./tooltip-3rewahde.js";import{d as v,l as y,u as b}from"./sanitizeDataUtils-dwaGfQDt.js";import{n as x}from"./iconUtil-CvNpmAMh.js";import{t as S}from"./input-Yn95s9T0.js";import{t as C}from"./spin-CFT4geQI.js";import{t as w}from"./ArrowLeftOutlined-Be9M8IUd.js";import{t as T}from"./popconfirm-DHVG0Jca.js";import{t as E}from"./tree-brJPbLgK.js";import{n as D}from"./typography-BlzsJIlH.js";import{c as O,s as k}from"./chunk-62JRHF6Z-Dyzu9RRG.js";import{t as A}from"./useMutation-DqBabLvU.js";import{t as j}from"./queryOptions-_qrchnQm.js";import{t as ee}from"./ConsoleSqlOutlined-xZVyeJFJ.js";import{a as te,s as ne,t as re}from"./filterByCode-BHatCYW2.js";import{t as M}from"./ImportOutlined-CJMN8fnX.js";import{t as ie}from"./LeftSquareOutlined-CPEKio_w.js";import{t as ae}from"./RightSquareOutlined-79l4X31l.js";import{t as N}from"./prop-types-eZYknsgO.js";import{t as oe}from"./Loader-DwXJ8Se3.js";import{A as se,B as P,D as ce,E as F,H as I,L as le,O as L,at as R,c as ue,d as z,et as de,i as fe,k as B,tt as pe,ut as V}from"./index-BocemapU.js";import{n as me,t as he}from"./useFormIsActive-BuGtMvWa.js";import{t as ge}from"./DiscardChangesButton-B-gDuJCC.js";import{t as H}from"./sortBy-EDXnl_5E.js";import{t as _e}from"./module-DCzHhej2.js";var ve={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`};a();var U=e(t()),ye=U.forwardRef(function(e,t){return U.createElement(r,i(i({},e),{},{ref:t,icon:ve}))});function W(e){let t=e.getElementsByTagName(`HTTP_SERVICE`)[0],n=s(t).schema,r=u(t,`TABLE`),i={};r.forEach(e=>{let t=s(e);t.classes=c(u(e,`CLASSE`)),i[`${t.classe_schema}-${t.table_id}`]=t});let a=u(t,`REFTABLE`),o={};a.forEach(e=>{let t=s(e);t.classes=c(u(e,`CLASSE`)),o[t.table_id]=t});function c(e){let t={};return e.forEach(e=>{let n=s(e);t[n.classe_id]=n}),t}return{schema:n,tables:i,refTables:o}}function be(e){let t=e.getElementsByTagName(`HTTP_SERVICE`)[0],n=u(t,`CLASSE`)[0],r=s(n);r.sections=i(u(n,`SECTION`));function i(e){let t=[];return e.forEach(e=>{let n=s(e);n.elements=a(u(e,`ELEMENT`)),t.push(n)}),t}function a(e){let t=[];return e.forEach(e=>{let n=s(e);n.key=n.oid,t.push(n)}),t}return r.schema=s(t).schema??s(t).classe_schema,r.classe_schema=s(t).classe_schema??s(t).schema,r}var G=async e=>W(await f(`modules/base/php/httpService_classesManager_getClasses.php`,{softCode:e})),xe=async(e,t,n)=>be(await f(`modules/base/php/httpService_classesManager_getClasse.php`,{classe_id:n,table_id:t,schema:e,classe_schema:e})),K=`modules/base/php/httpService_classesManager_setClasse.php`;async function Se(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 a=c(e.sections);a&&(i.CLASSE.children=a);let o=(await f(K,{schema:t,classe_schema:n,action:`save`,classeDef:z(i,!0)})).getElementsByTagName(`HTTP_SERVICE`)[0];return{classeId:(o?.getElementsByTagName(`CLASSE`)[0])?.getAttribute(`oid`),warnings:[...o.getElementsByTagName(`WARNING`)].map(e=>e.textContent)}}async function q(e,t,n){await f(K,{schema:n,action:`delete`,classe_id:e,classe_schema:n,table_id:t})}async function J(e,t,n){await f(K,{action:`refcopy`,softCode:t,refoid:e,schema:n})}var Y={all:[`classes`],list:e=>[...Y.all,`list`,e],detail:(e,t,n)=>[...Y.all,`detail`,e,t,n]},Ce=e=>j({queryKey:Y.list(e),queryFn:()=>G(e),enabled:!!e}),we=e=>l(Ce(e)),Te=(e,t,n)=>j({queryKey:Y.detail(e,t,n),queryFn:()=>xe(e,t,n),enabled:!!e&&!!t&&!!n}),Ee=(e,t,n)=>l(Te(e,t,n));function De(){let e=o();return A({mutationFn:({classe:e,schema:t,classeSchema:n})=>Se(e,t,n),meta:{successMessage:`Classe enregistrée`,errorMessage:`Erreur lors de l'enregistrement de la classe`},onSettled:async()=>{await e.invalidateQueries({queryKey:Y.all}),F()}})}function Oe(){let e=o();return A({mutationFn:({classeId:e,tableId:t,schema:n})=>q(e,t,n),meta:{successMessage:`Classe supprimée`,errorMessage:`Erreur lors de la suppression de la classe`},onSettled:async()=>{await e.invalidateQueries({queryKey:Y.all}),F()}})}function ke(){let e=o();return A({mutationFn:({refoid:e,softCode:t,schema:n})=>J(e,t,n),meta:{successMessage:`Synchronisation terminée`,errorMessage:`La synchronisation a échoué`},onSettled:async()=>{await e.invalidateQueries({queryKey:Y.all})}})}var X=n();function Ae(e){return[{title:`Code`,dataKey:`code`,dataGetter:({rowData:e})=>(0,X.jsx)(_,{title:e.code,children:e.code})},{dataKey:`texte`,headerRenderer:()=>e.table_texte,dataGetter:({rowData:e})=>(0,X.jsx)(_,{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 je=e(H()),Z=e(N()),Q=({section:e,handleEdit:t,handleClose:n})=>{let[r,i]=(0,U.useState)(``),[a,o]=(0,U.useState)(``);return(0,U.useEffect)(()=>{e&&(i(e.include_code),o(e.exclude_code))},[e]),(0,X.jsxs)(`div`,{className:`section-form`,children:[(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{className:`first-label`,children:`Codes à inclure`}),(0,X.jsx)(S.TextArea,{value:r,onChange:e=>i(e.target.value)})]})}),(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{className:`first-label`,children:`Codes à exclure`}),(0,X.jsx)(S.TextArea,{value:a,onChange:e=>o(e.target.value)})]})}),(0,X.jsxs)(`div`,{className:`form-row form-buttons`,style:{marginTop:`12px`},children:[(0,X.jsx)(m,{onClick:n,style:{marginRight:`8px`},children:`Annuler`}),(0,X.jsx)(m,{onClick:()=>t(e.oid,r,a),type:`primary`,children:`Appliquer`})]})]})};Q.propTypes={section:Z.default.object,handleEdit:Z.default.func,handleClose:Z.default.func};var Me=({node:e,handleSetCode:t,handleSetText:n,byCode:r,handleEdit:i,handleDelete:a})=>{let[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(``),[h,_]=(0,U.useState)(!1),[v,y]=(0,U.useState)(!1),b=(0,U.useRef)(),x=(0,U.useRef)();(0,U.useEffect)(()=>{e&&(d(e.code),p(e.texte))},[e]),(0,U.useEffect)(()=>{o&&b.current.focus()},[o]),(0,U.useEffect)(()=>{c&&x.current.focus()},[c]);let C=()=>{s(!o)},w=()=>{l(!c)},E=e=>{d(e.target.value)},O=e=>{p(e.target.value)},k=n=>{s(!1),t(e.oid,u)},A=t=>{l(!1),n(e.oid,f)},j=()=>{_(!h)};return(0,X.jsxs)(`div`,{className:`editable-title`,onMouseEnter:j,onMouseLeave:j,children:[o?(0,X.jsx)(S,{ref:b,style:{width:`20%`},value:u,onChange:E,onBlur:k}):(0,X.jsx)(`div`,{className:`editable-code`,onClick:C,children:u}),c?(0,X.jsx)(S,{ref:x,style:{marginLeft:`6px`,width:`50%`},value:f,onChange:O,onBlur:A}):(0,X.jsx)(`div`,{className:`editable-text`,onClick:w,children:`${f} (${e.elements.length})`}),(0,X.jsxs)(`div`,{className:`title-buttons`,children:[(0,X.jsx)(g,{trigger:`click`,content:(0,X.jsx)(Q,{section:e,handleEdit:i,handleClose:()=>y(!1)}),visible:v,onVisibleChange:e=>{y(e)},children:r||v?(0,X.jsx)(m,{type:`link`,className:`edit-button-title`,children:(0,X.jsx)(D,{})}):null}),(0,X.jsx)(T,{title:`Etes vous sur de vouloir supprimer cette section ?`,okText:`Supprimer`,cancelText:`Annuler`,onConfirm:()=>a(e.oid),children:(0,X.jsx)(m,{type:`link`,className:`delete-button-title`,children:(0,X.jsx)(de,{})})})]})]})};Me.propTypes={node:Z.default.object,handleSetCode:Z.default.func,handleSetText:Z.default.func,handleEdit:Z.default.func,handleDelete:Z.default.func};var Ne=new Set([`is_cti`,`contenu_by_code`,`contenu_non_replicable_ailleurs`,`show_omit`,`est_lecture_seule`,`est_partagee_modification`]),Pe=({selectedClasseParams:e,softCode:t,handleCloseEditor:n,onClasseCreated:r})=>{let i=le(),a=De(),o=Oe(),s=_e(t),c=e?.key?.includes(`finess`)?`base`:s,l=Ee(c,e?.tableId,e?.classeId),u=l.data,d=l.isPending&&l.fetchStatus!==`idle`,f=i.data?.session,[g]=R.useForm(),[_,v]=(0,U.useState)([]),[y,b]=(0,U.useState)([]),[C,D]=(0,U.useState)([]),[O,k]=(0,U.useState)({}),[A,j]=(0,U.useState)(!1),[M,N]=(0,U.useState)(null),[P,F]=(0,U.useState)([]),[I,L]=(0,U.useState)([]),[z,B]=(0,U.useState)([]),[H,ve]=(0,U.useState)(!1),[W,be]=(0,U.useState)(!0),[G,xe]=(0,U.useState)(``),[K,Se]=(0,U.useState)(``);(0,U.useEffect)(()=>{if(u&&Object.keys(u).length){let e=qe(u);k(e),g.setFieldsValue(e),v(Ae(u))}else g.setFieldsValue({})},[u]),(0,U.useEffect)(()=>{if(u&&Object.keys(u).length){let e=We(u);e=Ge(e),b(e)}},[u,G,H,W,K]),(0,U.useEffect)(()=>{O.sections?D(Je(Ke(O.sections),O)):D([])},[O]);let q=he(u?.is_cti===`1`,f),J=(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=We(O);(e||I).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),b(Ge(a))}k({...n}),L([]),j(!0)}},Y=(e,t)=>{let n=We(O),r={...O},i=e||z,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=Ge(n),k(r),b(n),B([]),j(!0)},Ce=()=>{let t=g.getFieldsValue(),n={...O,...t},i=e?.classeId===`-1`;a.mutate({classe:n,schema:s,classeSchema:c},{onSuccess:e=>{j(!1),e?.warnings?.forEach(e=>{p({message:`Classe — conflit`,description:e,duration:8})}),i&&e?.classeId&&r(e.classeId,t.code)}})},we=e=>{ve(e.target.checked)},Te=e=>{be(e.target.checked)},ke=e=>{xe(e.target.value)},Z=e=>{Se(e.target.value)},Q=(e,t)=>{let n={...O},r=n.sections.find(t=>t.oid===e);r&&(r.texte=t),k(n),j(!0)},Pe=(e,t)=>{let n={...O},r=n.sections.find(t=>t.oid===e);r&&(r.code=t),k(n),j(!0)},Fe=e=>{j(!0);let t=Object.keys(e)[0];if(t===`contenu_by_code`){let n={...O};n[t]=e[t],k(n)}},Ie=(e,t)=>{t.node.section_id?(N(null),B([t.node])):(N({...t.node}),B([...t.node.children])),t.selected||B([]),F(e)},Le=()=>{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)},Re=e=>{let t={...O};t.sections=t.sections.filter(t=>t.oid!==e),k(t)},ze=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!==``&&(Y(i.elements),i.elements=[],J(await te({schema:s,table_id:u.table_id,include_code:t,exclude_code:n}),i)),k(r)},Be=()=>{o.mutate({classeId:u.oid,tableId:u.table_id,schema:s},{onSuccess:()=>{k({}),n()}})},Ve=e=>{let t=[...I];Array.isArray(e)?t=t.concat(e):t.includes(e)?t=t.filter(t=>t!==e):t.push(e),L([...new Set(t)])},He=()=>{I.length?L([]):L(y.map(e=>e.oid))},Ue=()=>{k({}),n()};function We(e){let t=[];return e.sections.forEach(e=>{e.elements&&(t=t.concat(e.elements))}),t=(0,je.default)(t,e=>e.code),t}function Ge(e){let t=[...e];return H&&(t=t.filter(e=>e.utilise===`O`)),W&&(t=t.filter(e=>e.section_id===`0`)),t=ce(t,G,[`code`,`texte`,`complement`]),t=re(t,K),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)Ne.has(e)&&(t[e]=t[e]===`1`);return t}function Je(e,t){return e.map(e=>({...e,title:e.editable?(0,X.jsx)(Me,{node:e,handleSetText:Q,handleSetCode:Pe,byCode:g.getFieldValue(`contenu_by_code`),handleEdit:ze,handleDelete:Re}):`${e.title} (${e.code})`,children:e.children?Je(e.children):null}))}let $=d||!u;return(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)(R,{form:g,onValuesChange:Fe,style:{height:`100%`,display:`flex`,flexFlow:`column`},disabled:q,children:[(0,X.jsxs)(`div`,{className:`component-header`,children:[(0,X.jsxs)(`div`,{className:`header-title`,children:[(0,X.jsx)(ge,{onConfirm:Ue,modified:A,children:(0,X.jsx)(m,{type:`link`,style:{height:`100%`,paddingRight:`20px`},disabled:a.isPending,children:(0,X.jsx)(w,{})})}),`Gestion des classes`]}),(0,X.jsxs)(`div`,{className:`header-actions`,children:[(0,X.jsx)(m,{size:`default`,icon:(0,X.jsx)(ne,{}),disabled:$,onClick:()=>{fe(g.getFieldsValue(),y)},children:`Exporter`},`formExcelExportBtn`),f?.ISROLECTI&&(0,X.jsx)(m,{size:`default`,icon:(0,X.jsx)(ee,{}),disabled:$,onClick:()=>{me(t,u?.oid,u?.table_name)},children:`SQL`},`formSQLExportBtn`),(0,X.jsx)(T,{title:`Voulez-vous vraiment supprimer cette classe ?`,onConfirm:Be,okText:`Supprimer`,okButtonProps:{danger:!0},cancelText:`Annuler`,disabled:$||u?.est_lecture_seule===`true`||q,children:(0,X.jsx)(m,{size:`default`,danger:!0,icon:(0,X.jsx)(de,{}),disabled:$||u?.est_lecture_seule===`true`||q,children:`Supprimer`})}),(0,X.jsx)(m,{size:`default`,type:`primary`,icon:(0,X.jsx)(h,{}),loading:a.isPending,disabled:$||!A||u?.est_lecture_seule===`true`,onClick:Ce,children:`Enregistrer`},`formSubmitbtn`)]})]}),(0,X.jsxs)(`div`,{className:`classes-description`,children:[(0,X.jsxs)(`div`,{className:`form-column`,children:[(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Code:`}),(0,X.jsx)(R.Item,{name:`code`,children:(0,X.jsx)(S,{})})]}),(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Texte:`}),(0,X.jsx)(R.Item,{name:`texte`,children:(0,X.jsx)(S,{})})]})]}),(0,X.jsxs)(`div`,{className:`form-column`,children:[(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Lecture seule:`}),(0,X.jsx)(`b`,{children:u?.est_lecture_seule===`1`?`Oui`:`Non`})]}),(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Saisie par code`}),(0,X.jsx)(R.Item,{name:`contenu_by_code`,valuePropName:`checked`,children:(0,X.jsx)(pe,{})})]})]}),f?.ISROLECTI&&(0,X.jsxs)(`div`,{className:`form-column`,children:[(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Classe CTI`}),(0,X.jsx)(R.Item,{name:`is_cti`,valuePropName:`checked`,children:(0,X.jsx)(V,{})})]}),(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Contenu non réplicable ailleurs`}),(0,X.jsx)(R.Item,{name:`contenu_non_replicable_ailleurs`,valuePropName:`checked`,children:(0,X.jsx)(V,{})})]})]})]}),$?(0,X.jsx)(`div`,{className:`loading-wrapper`,children:(0,X.jsx)(oe,{style:{height:`auto`}})}):(0,X.jsx)(`div`,{className:`component-content`,children:(0,X.jsxs)(`div`,{className:`transfer-layout-content`,children:[(0,X.jsxs)(`div`,{className:`classes-sections`,children:[(0,X.jsxs)(`div`,{className:`tree-header`,children:[(0,X.jsx)(`span`,{children:`Sections`}),(0,X.jsx)(`div`,{className:`header-actions`,children:(0,X.jsx)(m,{type:`link`,onClick:Le,children:(0,X.jsx)(x,{})})})]}),(0,X.jsx)(E,{treeData:C,blockNode:!0,onSelect:Ie,selectedKeys:P})]}),(0,X.jsxs)(`div`,{className:`transfer-actions`,children:[(0,X.jsx)(m,{type:`link`,onClick:()=>J(),disabled:O.contenu_by_code||!M||!I.length||q,children:(0,X.jsx)(ie,{})}),(0,X.jsx)(m,{type:`link`,onClick:()=>Y(),disabled:O.contenu_by_code||!z.length||q,children:(0,X.jsx)(ae,{})})]}),(0,X.jsxs)(se,{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,X.jsxs)(`div`,{className:`options-search`,children:[(0,X.jsx)(`div`,{className:`options-dragger`,children:(0,X.jsx)(ye,{style:{fontSize:16}})}),(0,X.jsxs)(`div`,{className:`form-column`,children:[(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{className:`first-label`,children:`Recherche par texte`}),(0,X.jsx)(S,{value:G,onChange:ke})]})}),(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Référencés uniquement`}),(0,X.jsx)(V,{checked:H,onChange:we})]})}),(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{children:`Non attribués uniquement`}),(0,X.jsx)(V,{checked:W,onChange:Te})]})})]}),(0,X.jsxs)(`div`,{className:`form-column`,children:[(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsxs)(`div`,{className:`form-item`,children:[(0,X.jsx)(`span`,{style:{minWidth:`100px`},children:`Liste de codes`}),(0,X.jsx)(S.TextArea,{value:K,onChange:Z})]})}),(0,X.jsx)(`div`,{className:`form-row`,children:(0,X.jsx)(`div`,{className:`form-item`,children:(0,X.jsx)(m,{type:`primary`,onClick:He,children:`De/Sélectionner`})})})]})]}),(0,X.jsx)(`div`,{className:`options-table`,children:(0,X.jsx)(ue,{fixed:!1,columns:_,data:y,loading:l.isFetching,selectedRows:I,onRowSelect:Ve,shiftMulti:!0})})]})]})})]})})};Pe.propTypes={selectedClasseParams:Z.default.object,softCode:Z.default.string,handleCloseEditor:Z.default.func,onClasseCreated:Z.default.func};var Fe=U.memo(Pe),Ie=e(B()),{DirectoryTree:Le}=E,Re=({tables:e,refTables:t,showReferences:n,handleSelectedClasse:r,search:i,isLoading:a,softCode:o})=>{let s=ke(),[c,l]=(0,U.useState)(null),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)([]),[h,g]=(0,U.useState)([]),[_,S]=(0,U.useState)(null);(0,U.useEffect)(()=>{e&&t&&(l(D(e)),d(D(t)))},[e,t]),(0,U.useEffect)(()=>{p(b(c))},[c]),(0,U.useEffect)(()=>{g(i===``?[]:f.map(e=>e.title.toLowerCase().includes(i.toLowerCase())?v(e.key,c):null).filter((e,t,n)=>e&&n.indexOf(e)===t))},[i,c,f]);let w=e=>{g(e)},T=e=>{let t=y(u).find(t=>t.key===e[0]);t&&S(t.classe_id)},E=()=>{let e=_e(o);s.mutate({refoid:_,softCode:o,schema:e},{onSuccess:()=>S(null)})};function D(e,t=``,n=!1){let r=[];return Object.values(e).forEach((e,i)=>{let a=(t===``?``:t+`_`)+(0,Ie.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,Ie.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,X.jsx)(x,{}):n.icon=(0,X.jsx)(P,{}),r.push(n)}),r.sort((e,t)=>Number(e.classe_id)-Number(t.classe_id))}return(0,X.jsxs)(`div`,{className:`component-content`,children:[(0,X.jsxs)(`div`,{className:`classes-manager-classes`,children:[a?(0,X.jsx)(`div`,{className:`listes-spin-loader`,children:(0,X.jsx)(C,{})}):null,(0,X.jsx)(Le,{onSelect:r,treeData:c,expandedKeys:h,onExpand:w})]}),(0,X.jsxs)(`div`,{className:`cti-listes-manager-references`,style:{display:n?`flex`:`none`},children:[(0,X.jsxs)(`div`,{className:`references-header`,children:[(0,X.jsx)(`h3`,{children:`Classes de références`}),(0,X.jsx)(m,{style:{marginLeft:`10px`},size:`small`,onClick:E,icon:(0,X.jsx)(M,{}),loading:s.isPending,disabled:!_,children:`Importer`},`importBtn`)]}),(0,X.jsx)(`div`,{className:`references-tree`,children:(0,X.jsx)(Le,{treeData:u,onSelect:T})})]})]})};Re.propTypes={tables:Z.default.object,refTables:Z.default.object,showReferences:Z.default.bool,handleSelectedClasse:Z.default.func,search:Z.default.string,isLoading:Z.default.bool,softCode:Z.default.string};var ze=U.memo(Re),Be=U.memo(()=>{let e=O(),{search:t}=k(),n=(0,U.useMemo)(()=>Object.fromEntries(new URLSearchParams(t)),[t]),{softCode:r}=L(),i=we(r),a=i.data?.tables??{},o=i.data?.refTables??{},[s,c]=(0,U.useState)(!1),[l,u]=(0,U.useState)(!1),[f,p]=(0,U.useState)(null),[h,g]=(0,U.useState)(``);(0,U.useEffect)(()=>{c(!1),p(null)},[r]),(0,U.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?(p({classeId:r.classe_id,tableId:r.table_id,key:r.key}),c(!0)):e({search:``},{replace:!0})},[n.classe,a]);let _=()=>{c(!1),e({search:``}),p(null)},v=(t,n)=>{e({search:`?classe=${n}`},{replace:!0}),p(e=>({...e,classeId:t}))},y=e=>{g(e.target.value)},b=()=>{u(!l)},x=(t,n)=>{n.node.isLeaf===!0&&(e({search:`?classe=${n.node.code}`},{replace:!0}),p({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,X.jsx)(Fe,{selectedClasseParams:f,softCode:r,handleCloseEditor:_,onClasseCreated:v}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(d,{children:(0,X.jsx)(`title`,{children:`iCTI | Gestion des classes`})}),(0,X.jsxs)(`div`,{className:`component-header`,children:[(0,X.jsx)(`div`,{className:`header-title`,children:`Gestion des classes`}),(0,X.jsxs)(`div`,{className:`header-actions`,children:[(0,X.jsx)(S,{placeholder:`Recherche`,value:h,onChange:y}),(0,X.jsx)(m,{onClick:()=>i.refetch(),icon:(0,X.jsx)(I,{}),loading:i.isFetching,children:`Actualiser`},`refreshBtn`),(0,X.jsx)(m,{style:{width:`148.5px`},type:l?`secondary`:`primary`,onClick:b,icon:(0,X.jsx)(P,{}),children:l?`Cacher références`:`Afficher références`},`showReferencesBtn`)]})]}),(0,X.jsx)(ze,{tables:a,refTables:o,showReferences:l,handleSelectedClasse:x,search:h,isLoading:i.isFetching,softCode:r})]})});export{Be as default};