PageSourceSearch

https://app.legalpigeon.com/assets/SurveyDefinitionsListPage-C_X14VVl.js

js legalpigeon.com collected 2026-10-04 01:33:23 UTC 5,443 bytes, 1 lines download raw bytes

1import{j as e,M as u,B as r,a as M,r as t,i as $,g as h,f as b,k as F,ac as I,ah as _,L,jp as v,C as P,af as T}from"./index-CzhT7_9q.js";import{L as z}from"./ListPageSkeleton-Bid89wON.js";import{T as R}from"./Table-B-AkJ13u.js";import{P as w}from"./Page-DHK_4KLk.js";import{P as A}from"./PageHeader-B3g1o-ZI.js";import{S as B}from"./SurveyAnswersModal-D3p0r4Wp.js";import{l as H,p as V,d as q}from"./surveyDefinitionsActions-ZNJrrtnc.js";import{F as O}from"./PencilSquareIcon-CcOdTldO.js";import{F as W}from"./TrashIcon-B1J-x06h.js";import"./Skeleton-CuJx3eeF.js";import"./TableSkeleton-CvN9U88n.js";import"./ChevronLeftIcon-CtyhCl5W.js";import"./Table.module-CuPvi-vO.js";import"./ChevronUpIcon-CBogA5Mv.js";import"./ChevronDownIcon-BsqvH_aa.js";import"./MagnifyingGlassIcon-B41WS-Td.js";import"./formatNumbers-B_SNLP3t.js";import"./CheckIcon-CwysSnBO.js";const G=({isOpen:o,target:n,isProcessing:i,onClose:c,onDeactivate:m,onConfirmDelete:a})=>{if(!o||!n)return null;const l=n.title.trim()||n.slug;return e.jsxs(u,{isOpen:o,onClose:c,size:"md",backdrop:!0,keyboard:!i,children:[e.jsx(u.Header,{showCloseButton:!i,children:e.jsx(u.Title,{children:"Eliminar encuesta"})}),e.jsxs(u.Body,{padding:"large",children:[e.jsxs("p",{className:"mb-3",children:["Vas a eliminar la encuesta ",e.jsx("strong",{children:l})," (",e.jsx("code",{className:"small",children:n.slug}),")."]}),e.jsxs("p",{className:"mb-0 text-danger",children:["En el servidor, borrar la encuesta ",e.jsx("strong",{children:"elimina"})," también las ",e.jsx("strong",{children:"respuestas ya enviadas"})," ","asociadas a esa encuesta. Esta acción ",e.jsx("strong",{children:"no se puede deshacer"}),"."]}),n.is_active?e.jsxs("p",{className:"mt-3 mb-0 text-muted small",children:["Si solo quieres dejar de mostrar la encuesta pero ",e.jsx("strong",{children:"conservar el historial de respuestas"}),", desactiva la encuesta en lugar de eliminarla."]}):null]}),e.jsxs(u.Footer,{align:"between",padding:"compact",className:"flex-wrap gap-2",children:[e.jsx(r,{color:"secondary",outline:!0,type:"button",disabled:i,onClick:c,children:"Cancelar"}),e.jsxs("div",{className:"d-flex flex-wrap gap-2 justify-content-end ms-auto",children:[n.is_active?e.jsx(r,{color:"primary",outline:!0,type:"button",disabled:i,onClick:()=>{m()},testID:"survey-definition-delete-modal-deactivate",children:"Desactivar (conservar datos)"}):null,e.jsx(r,{color:"danger",type:"button",disabled:i,onClick:()=>{a()},testID:"survey-definition-delete-modal-confirm",children:"Eliminar definitivamente"})]})]})]})},ue=()=>{const o=M(),[n,i]=t.useState([]),[c,m]=t.useState(null),[a,l]=t.useState(null),[p,f]=t.useState(!1),{isLoading:D,executeWithLoading:k}=$();t.useEffect(()=>{let s=!1;return k(async()=>{const d=await H();s||i(d)}).catch(()=>{s||h("No se pudo cargar el listado de encuestas.")}),()=>{s=!0}},[]);const g=t.useCallback(s=>{l(s)},[]),C=t.useCallback(()=>{p||l(null)},[p]),E=t.useCallback(async()=>{if(a){f(!0);try{const s=await V(a.id,{is_active:!1});i(d=>d.map(y=>y.id===s.id?s:y)),b("Encuesta desactivada."),l(null)}catch(s){h(s instanceof Error?s.message:"No se pudo desactivar la encuesta.")}finally{f(!1)}}},[a]),N=t.useCallback(async()=>{if(a){f(!0);try{await q(a.id),b("Encuesta eliminada."),i(s=>s.filter(d=>d.id!==a.id)),l(null)}catch(s){h(s instanceof Error?s.message:"No se pudo eliminar la encuesta.")}finally{f(!1)}}},[a]),x=t.useMemo(()=>[{label:"Slug",key:"slug",value:s=>e.jsx("code",{className:"small",children:s.slug})},{label:"Título",key:"title",value:s=>s.title},{label:"Estado",key:"is_active",value:s=>e.jsx(I,{color:s.is_active?"success":"secondary",size:"sm",children:s.is_active?"Activa":"Inactiva"})},{label:"Actualización",key:"updated_at",value:s=>F(s.updated_at,"long")},{label:"",key:"actions",value:s=>e.jsxs("div",{className:"d-flex align-items-center gap-2",children:[e.jsx(r,{transparent:!0,color:"secondary",size:"sm",title:`Vista previa de la encuesta ${s.slug}`,"aria-label":`Vista previa de la encuesta ${s.slug}`,onClick:()=>m(s.id),children:e.jsx(_,{width:20,height:20})}),e.jsx(L,{to:`${v.surveyDefinitions}/${s.id}`,className:"text-decoration-none d-inline-flex align-items-center","aria-label":`Editar encuesta ${s.slug}`,children:e.jsx(O,{width:20,height:20})}),e.jsx(r,{transparent:!0,color:"danger",size:"sm",title:`Eliminar encuesta ${s.slug}`,onClick:()=>g(s),children:e.jsx(W,{width:20,height:20})})]})}],[g]),S=t.useMemo(()=>({columns:x,row:{onClick:s=>{o(`${v.surveyDefinitions}/${s.id}/results`)}}}),[x,o]),j=e.jsx(A,{title:"Encuestas",subtitle:"Encuestas por segmento (slug). El contenido se muestra a usuarios no admin según su show_survey.",icon:T,actions:e.jsx(r,{color:"primary",size:"sm",to:`${v.surveyDefinitions}/new`,children:"Nueva encuesta"})});return D?e.jsxs(w,{testID:"survey-definitions-list-page",children:[j,e.jsx(z,{columnsCount:4,rows:8,showLeftFilter:!1,showRightFilters:!1})]}):e.jsxs(w,{testID:"survey-definitions-list-page",children:[j,e.jsx(P,{padding:"none",className:"overflow-hidden",children:e.jsx(R,{config:S,items:n,noItemsMessage:"No hay encuestas. Crea una o ejecuta el seed en el entorno.",testID:"survey-definitions-table"})}),c!==null?e.jsx(B,{mode:"preview",previewDefinitionId:c,isOpen:!0,onClose:()=>m(null)}):null,e.jsx(G,{isOpen:a!==null,target:a?{id:a.id,slug:a.slug,title:a.title,is_active:a.is_active}:null,isProcessing:p,onClose:C,onDeactivate:E,onConfirmDelete:N})]})};export{ue 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.