File "useApp-1.0.13-075adc22.js"

Full Path: /home/vantageo/public_html/wp-admin/.wp-cli/wp-content/plugins/wp-data-access/assets/dist/useApp-1.0.13-075adc22.js
File size: 8.16 KB
MIME-type: text/plain
Charset: utf-8

import{l as n,r as h,A as z,j as e,dw as I,dx as O,e as T,C as j,dy as q,dz as V,dA as L,dB as G,dC as J,dD as K,dE as Q,dF as B,dG as E,dH as Y,dI as X,dJ as Z,dK as $,dL as U,dM as ee,dN as ae,dO as te,dP as A,dQ as se}from"./main-1.0.13.js";import{a as k,B as C,d as ne,T as re,ay as le,e as R,u as x}from"./main-1.0.13-4cbe632d.js";import{A as oe}from"./AdminTheme-1.0.13-a1e60de2.js";import{m as ie}from"./ActionsApp-1.0.13-9ce21fa9.js";import{F as v,b as ce,a as w,A as W,T as _}from"./TextField-1.0.13-7258d491.js";import{P as de,I as ue}from"./iconBase-1.0.13-98e06aa9.js";import{F as pe}from"./FormControlLabel-1.0.13-143a10df.js";import{C as me}from"./Checkbox-1.0.13-3ec10fcc.js";import{L as F}from"./Link-1.0.13-03de5435.js";import{d as N,e as H,h as be}from"./ActionsExplorer-1.0.13-5e860b61.js";const we=({app:t,setIsUpdated:c,isRelationTable:r})=>{n.debug(t,r);const p=k(),[m,i]=h.useState(!1),g=h.useRef(!0);h.useEffect(()=>{g.current?g.current=!1:a()},[t.appDatabase,t.appTable,t.appRelationTable,p]);const a=()=>{t.appDatabase!==null&&(!r&&t.appTable!==null||r&&t.appRelationTable!==null)&&(i(!0),ie(t.appDatabase,r?t.appRelationTable??"":t.appTable??"",!1,function(d){const f=d==null?void 0:d.data;if(n.debug("response data",t.appDatabase,r?t.appRelationTable:t.appTable,f),!f.columns)T(j.contactSupport,{variant:"error"});else{const b=[];f.columns.map(S=>{S.column_name!==void 0&&b.push({columnName:S.column_name,isSelected:!0})}),p(r?q({appRelationColumns:b}):V({appColumns:b,appMetaData:f}))}i(!1)},d=>{n.error("error",d),T(d??j.contactSupport,{variant:"error"}),i(!1)}))},[l,s]=h.useState(!1);n.debug("hasErrors",l);const o=r?t.appRelationColumns:t.appColumns;n.debug("columns",o);const[D,u]=h.useState(!1),[y,P]=h.useState(!1);return h.useEffect(()=>{Number(t.appType)!==z.DATATABLE&&t.appMetaData.primary_key!==void 0?s(t.appMetaData.primary_key.length===0||t.appMetaData.primary_key.filter(d=>o.filter(b=>b.isSelected).map(b=>b.isSelected?b.columnName:!1).includes(d)).length!==t.appMetaData.primary_key.length):s(!1)},[t,o]),e.jsxs(C,{sx:{position:"relative"},children:[e.jsxs(v,{fullWidth:!0,children:[e.jsxs(C,{component:"fieldset",sx:{borderWidth:1,borderRadius:"4px","& .MuiPaper-root":{border:"none",padding:"15px 20px"},"& .MuiFormHelperText-root":{marginLeft:"20px",marginBottom:"20px"}},children:[e.jsx("legend",{style:{fontSize:"0.75rem",fontWeight:400,color:"rgba(0, 0, 0, 0.6)"},children:"Select columns *"}),e.jsxs(de,{variant:"outlined",sx:{padding:"15px 30px"},children:[o.length===0&&e.jsx(v,{fullWidth:!0,sx:{margin:"5px 0"},children:e.jsx(ce,{sx:{color:"inherit"},children:"No table selected"})}),...o.map((d,f)=>{var b;return e.jsx(pe,{control:e.jsx(me,{checked:d.isSelected,onChange:(S,M)=>{p(r?I({appRelationColumns:[...t.appRelationColumns.slice(0,f),{columnName:d.columnName,isSelected:M},...t.appRelationColumns.slice(f+1)]}):O({appColumns:[...t.appColumns.slice(0,f),{columnName:d.columnName,isSelected:M},...t.appColumns.slice(f+1)]})),c&&c(!0)}}),label:e.jsx(C,{sx:{color:l&&t.appMetaData.primary_key.includes(d.columnName)?(b=oe)==null?void 0:b.palette.error.main:""},children:d.columnName+(l&&t.appMetaData.primary_key.includes(d.columnName)?" (primary key column)":"")}),sx:{width:"100%"}})})]})]}),e.jsx(w,{children:"Only selected columns are available in tables and forms. Unselected columns are excluded from responses. At least one column must be selected."}),!m&&t.appDatabase!==null&&(!r&&t.appTable!==null||!r&&t.appRelationTable!==null)&&l&&e.jsxs(w,{error:!0,sx:{marginTop:"20px",width:"fit-content",display:"inline-grid",gridTemplateColumns:"40px auto",justifyContent:"space-around",alignItems:"center"},children:[e.jsx(ne,{size:"24px"}),e.jsx("span",{children:t.appMetaData.primary_key.length===0?e.jsx(e.Fragment,{children:"This table contains no primary key. Transactions are not supported for tables without a primary key. Please create a primary key to continue or select app type Data Table in the app info tab."}):e.jsx(e.Fragment,{children:"Transactions require all primary key columns to be selected. With the current settings transactions will be disabled."})})]})]}),e.jsx(C,{sx:{position:"absolute",top:"15px",right:"10px"},children:e.jsx(re,{title:"Refresh column list",children:e.jsx(ue,{onClick:()=>{a()},children:e.jsx(le,{})})})}),e.jsx(v,{fullWidth:!0,children:e.jsxs(w,{component:"div",sx:{marginTop:"20px",marginLeft:0},children:[e.jsxs(F,{sx:{textDecoration:"none",cursor:"pointer",display:"inline-flex",marginBottom:0,"& svg":{fontSize:"1rem",marginRight:"2px"}},onClick:()=>u(!D),children:[e.jsx(R,{}),"Which columns should be included | excluded?"]}),D&&e.jsx(C,{sx:{marginTop:"20px",marginBottom:"25px"},children:"In most cases, you can simply select all columns. You can hide specific columns later in the Table Builder and Form Builder. Only if your table contains columns with sensitive data that you absolutely do not want to share with anyone, should you deselect them here. This ensures that the contents of these columns will not be included in server responses, maintaining their privacy."})]})}),e.jsx(v,{fullWidth:!0,children:e.jsxs(w,{component:"div",sx:{marginTop:0,marginBottom:"10px",marginLeft:0},children:[e.jsxs(F,{sx:{textDecoration:"none",cursor:"pointer",display:"inline-flex","& svg":{fontSize:"1rem",marginRight:"2px"}},onClick:()=>P(!y),children:[e.jsx(R,{}),"What to do when a table structure changes?"]}),y&&e.jsx(C,{sx:{marginTop:"20px"},children:"Click the refresh icon and save the new structure. Proceed to use the Table Builder and Form Builder sequentially to apply the updated structure."})]})})]})},Se=({setIsUpdated:t,isDetail:c,isRelationTable:r})=>{const p=k(),m=x(s=>L(s));n.debug("appDatabase",m);const i=x(s=>G(s));n.debug("tables",i);const g=x(s=>J(s));n.debug("views",g);const a=x(s=>K(s));n.debug("appTable",a);const l=x(s=>Q(s));return n.debug("appRelationTable",l),h.useEffect(()=>{m!==null&&(i.length===0||g.length===0)&&(N(m,function(s){const o=s==null?void 0:s.data;n.debug("response data",o),p(B({tables:o}))},s=>{n.error("error",s),T(s??j.contactSupport,{variant:"error"})}),H(m,function(s){const o=s==null?void 0:s.data;n.debug("response data",o),p(E({views:o}))},s=>{n.error("error",s),T(s??j.contactSupport,{variant:"error"})}))},[m]),e.jsxs(v,{sx:{width:"100%",marginTop:"8px"},children:[e.jsx(W,{options:m!==null?i.concat(g).sort():[],value:r?l:a,onChange:(s,o)=>{p(r?Y({appRelationTable:o??null}):X({appTable:o??null})),t&&t(!0)},renderInput:s=>e.jsx(_,{...s,label:"Table *",variant:"outlined"}),sx:{width:"100%"}}),e.jsxs(w,{children:["Select a table from the list",c===void 0&&e.jsx(e.Fragment,{children:" (additional tables can be added in the Form Builder)"}),"."]})]})},Ae=({setIsUpdated:t})=>{const c=k(),r=x(a=>Z(a));n.debug("databases",r);const p=x(a=>$(a));n.debug("wpDatabase",p);const m=x(a=>U(a));n.debug("defaultDatabase",m);const i=x(a=>L(a));n.debug("appDatabase",i),h.useEffect(()=>{r.length===0?be(function(a){const l=a==null?void 0:a.data;n.debug("response data",l);const s=[];let o="",D="";l.map(u=>{var y;n.debug(u),(u==null?void 0:u.dbs)!==void 0&&(s.push(u.dbs),((y=u==null?void 0:u.dbs_type)==null?void 0:y.toLocaleLowerCase())==="wp"&&(o=u.dbs,D=u.dbs))}),s.sort((u,y)=>u.localeCompare(y,void 0,{sensitivity:"base"})),c(ee({databases:s})),c(ae({wpDatabase:o})),c(te({defaultDatabase:D})),i===null&&c(A({appDatabase:D})),n.debug(s,o,D)},a=>{n.error("error",a),T(a??j.contactSupport,{variant:"error"})}):i===null&&c(A({appDatabase:m}))},[]);const g=h.useRef(!0);return h.useEffect(()=>{g.current?g.current=!1:i!==null&&r.includes(i)&&(N(i,function(a){const l=a==null?void 0:a.data;n.debug("response data",l),c(B({tables:l}))},a=>{n.error("error",a),T(a??j.contactSupport,{variant:"error"})}),H(i,function(a){const l=a==null?void 0:a.data;n.debug("response data",l),c(E({views:l}))},a=>{n.error("error",a),T(a??j.contactSupport,{variant:"error"})}))},[i]),e.jsxs(v,{sx:{width:"100%",marginTop:"8px"},children:[e.jsx(W,{options:r,value:i,onChange:(a,l)=>{c(A({appDatabase:l??null})),t&&t(!0)},getOptionLabel:a=>p===a?a+" (WordPress database)":a,renderInput:a=>e.jsx(_,{...a,label:"Database *",variant:"outlined"}),sx:{width:"100%"}}),e.jsx(w,{children:"Select a database from the list."})]})},ke=()=>{const t=x(c=>se(c));return n.debug("app",t),t};export{Ae as C,Se as a,we as b,ke as u};