@gientech/modual 2.3.6 → 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/database.js CHANGED
@@ -1,4 +1,4 @@
1
- import{jsxs as P,jsx as n,Fragment as de}from"react/jsx-runtime";import{useState as y,useMemo as G,useRef as ae,useEffect as De}from"react";import{useTheme as me,defaultTheme as be,Button as Y,DropDownButton as ge,DashboardContainer as ye}from"@mxmweb/zui";import Fe from"styled-components";import{Xviwer as se}from"@mxmweb/xviewer";import{Modal as re,Tooltip as Ee,message as J}from"antd";import pe from"axios";/* empty css *//* empty css */const Ie=({url:b,token:j,role:w,eventsEmit:p})=>{const c=pe.create({baseURL:b,timeout:1e6});return c.interceptors.request.use(e=>{let a=j;return!a&&!["user/login","user/kaptcha","user/regist"].some(u=>e.url.includes(u))?(p&&p("request:error_auth",{errorMsg:"\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F",redirect:"/login"}),Promise.reject(new Error("\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"))):(e.headers.Authorization=a||"",e.headers.userName=w==="\u672A\u767B\u5F55\u7528\u6237"?"":w,e)}),c.interceptors.response.use(e=>{const a=["user/kaptcha"],r=e.data;if(a.some(h=>e.config.url&&e.config.url.includes(h))||r.size&&r.type)return r;const{success:u,errorMsg:m,errorCode:D}=r;return u?r:(p&&p("request:error_business",{errorCode:D,errorMsg:m||"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",response:r}),!1)},async e=>{var a,r,u,m,D,h,z,C,A;if(e.message==="canceled")return Promise.reject(e);if(p){let l="request:error_network",B={errorMsg:"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25",error:e};((a=e==null?void 0:e.response)==null?void 0:a.status)===401?(l="request:error_auth",B={errorMsg:"\u6CA1\u6709\u8DB3\u591F\u6743\u9650",error:e,redirect:"/login"}):(((u=(r=e==null?void 0:e.response)==null?void 0:r.data)==null?void 0:u.errorCode)==="30013"||((D=(m=e==null?void 0:e.response)==null?void 0:m.data)==null?void 0:D.errorCode)==="30023")&&(l="request:error_business",B={errorCode:(z=(h=e==null?void 0:e.response)==null?void 0:h.data)==null?void 0:z.errorCode,errorMsg:((A=(C=e==null?void 0:e.response)==null?void 0:C.data)==null?void 0:A.errorMsg)||"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",error:e}),p(l,B)}return console.log("Error occurs",e),Promise.reject(e)}),{getDatabaseList:async e=>{try{const a=await c.get(`/queryPageDBList?${new URLSearchParams(e).toString()}`),{success:r,data:u}=a;if(r)return u}catch(a){console.log("getDatabaseList error:",a)}},getShareDatabaseList:async e=>{try{const a=await c.get(`/queryShareDBList?${new URLSearchParams(e).toString()}`),{success:r,data:u}=a;if(r)return u}catch(a){console.log("getShareDatabaseList error:",a)}},delDatabaseById:async(e,a)=>{const r=te(a);try{const u=await c.delete(`/${r}/deleteDB/${e}`),{success:m,data:D}=u;if(m)return D}catch(u){console.log("delDatabaseById error:",u)}},saveDatabase:async(e,a)=>{const r=te(a);try{const u=await c.post(`/${r}/saveDBInfo`,e),{success:m,data:D}=u;if(m)return D}catch(u){console.log("saveDatabase error:",u)}},testConnection:async e=>{try{const a=await c.post("/directDB/testConnect",e),{success:r,data:u}=a;if(r)return u}catch(a){console.log("testConnection error:",a)}},syncSchema:async e=>{try{const a=await c.get(`/directDB/syncSchema/${e}`),{success:r,data:u}=a;if(r)return u}catch(a){console.log("syncSchema error:",a)}}}},te=b=>b=="DataTable"?"dataTable":"directDB",Me="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0IDEyQzE0IDEwLjg5NTQgMTQuODk1NCAxMCAxNiAxMEgyOUMzMS4yMDkxIDEwIDMzIDExLjc5MDkgMzMgMTRWMjZDMzMgMzAuNDE4MyAyOS40MTgzIDM0IDI1IDM0SDE2QzE0Ljg5NTQgMzQgMTQgMzMuMTA0NiAxNCAzMlYxMloiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl80NDcyXzE4MDUyKSIvPgo8Zm9yZWlnbk9iamVjdCB4PSItMSIgeT0iLTEiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzNiI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImJhY2tkcm9wLWZpbHRlcjpibHVyKDJweCk7Y2xpcC1wYXRoOnVybCgjYmdibHVyXzBfNDQ3Ml8xODA1Ml9jbGlwX3BhdGgpO2hlaWdodDoxMDAlO3dpZHRoOjEwMCUiPjwvZGl2PjwvZm9yZWlnbk9iamVjdD48ZyBkYXRhLWZpZ21hLWJnLWJsdXItcmFkaXVzPSI0Ij4KPHBhdGggZD0iTTMgN0MzIDQuNzkwODYgNC43OTA4NiAzIDcgM0gyM0MyNS4yMDkxIDMgMjcgNC43OTA4NiAyNyA3VjE5QzI3IDI1LjYyNzQgMjEuNjI3NCAzMSAxNSAzMUg3QzQuNzkwODYgMzEgMyAyOS4yMDkxIDMgMjdWN1oiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz4KPHBhdGggZD0iTTcgMy4yNUgyM0MyNS4wNzExIDMuMjUgMjYuNzUgNC45Mjg5MyAyNi43NSA3VjE5QzI2Ljc1IDI1LjQ4OTMgMjEuNDg5MyAzMC43NSAxNSAzMC43NUg3QzQuOTI4OTMgMzAuNzUgMy4yNSAyOS4wNzExIDMuMjUgMjdWN0MzLjI1IDQuOTI4OTMgNC45Mjg5MyAzLjI1IDcgMy4yNVoiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjM0IiBzdHJva2Utd2lkdGg9IjAuNSIvPgo8L2c+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2RfNDQ3Ml8xODA1MikiPgo8cGF0aCBkPSJNMTQgMTlWMTEuNjY2NyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjgzOTcyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExIDE0TDEyIDEzTDE0IDExTDE2IDEzTDE3IDE0IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTAgMjJIMTgiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iYmdibHVyXzBfNDQ3Ml8xODA1Ml9jbGlwX3BhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGQ9Ik0zIDdDMyA0Ljc5MDg2IDQuNzkwODYgMyA3IDNIMjNDMjUuMjA5MSAzIDI3IDQuNzkwODYgMjcgN1YxOUMyNyAyNS42Mjc0IDIxLjYyNzQgMzEgMTUgMzFIN0M0Ljc5MDg2IDMxIDMgMjkuMjA5MSAzIDI3VjdaIi8+CjwvY2xpcFBhdGg+PGZpbHRlciBpZD0iZmlsdGVyMV9kXzQ0NzJfMTgwNTIiIHg9IjUiIHk9IjYiIHdpZHRoPSIxOCIgaGVpZ2h0PSIyMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz4KPGZlT2Zmc2V0Lz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIvPgo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAuMzk2MDc4IDAgMCAwIDAgMC45ODQzMTQgMCAwIDAgMC40IDAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNDQ3Ml8xODA1MiIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd180NDcyXzE4MDUyIiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfNDQ3Ml8xODA1MiIgeDE9IjIzLjUiIHkxPSIxMCIgeDI9IjIzLjUiIHkyPSIzNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNjRBMEZEIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxNUFGRiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=",fe=""+new URL("assets/database_connect.svg",import.meta.url).href,he=""+new URL("assets/mysql.svg",import.meta.url).href,Ce=""+new URL("assets/SQLServer.png",import.meta.url).href,Ae=""+new URL("assets/PostgreSQL.png",import.meta.url).href,Be=""+new URL("assets/Doris.png",import.meta.url).href,we=[{label:"MySQL",value:"MySQL",icon:he},{label:"PostgreSQL",value:"PostgreSQL",icon:Ae},{label:"SQLServer",value:"SQLServer",icon:Ce},{label:"Doris",value:"Doris",icon:Be}],Ne=({drawerTitle:b,drawerVisible:j,isConnectSuccess:w,handleDrawerClose:p,dbInfo:c,dbType:d,eventsEmit:I})=>{var _;const[W,R]=y(!1),[V,N]=y(!1),[e,a]=y({}),[r,u]=y(!1),m=me(),D=((_=m==null?void 0:m.theme)==null?void 0:_.space)||be.space||{},h=D.dynamicFormWidth||D.formWidth,z="500px",C="470px",A=h||z,l=h||C,B=G(()=>({id:d,layout:"vertical",formWidth:A,fields:[{id:"name",name:"name",label:"\u6570\u636E\u5E93\u540D\u79F0",type:"input",required:!0,placeholder:"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7",validate:t=>{if(!t)return"\u6570\u636E\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A";if(!/[\u4E00-\u9FA5A-Za-z0-9\W]/.test(t))return"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7"},counter:100},{id:"description",name:"description",label:"\u6570\u636E\u5E93\u63CF\u8FF0",type:"textarea",counter:150,required:!1,placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u63CF\u8FF0,\u6B64\u63CF\u8FF0\u4EC5\u7528\u4E8E\u533A\u5206\u4E0D\u540C\u6570\u636E\u5E93,\u4E0D\u4F1A\u5F71\u54CD\u6570\u636E\u5E93\u8C03\u7528",defaultValue:""}]}),[d,c,A]),U=G(()=>({id:d,layout:"vertical",formWidth:l,fields:[{id:"name",name:"name",label:"\u6570\u636E\u5E93\u540D\u79F0",type:"input",required:!0,placeholder:"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7",validate:t=>{if(!t)return"\u6570\u636E\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A";if(!/[\u4E00-\u9FA5A-Za-z0-9\W]/.test(t))return"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7"},counter:100},{id:"description",name:"description",label:"\u6570\u636E\u5E93\u63CF\u8FF0",type:"textarea",required:!1,counter:150,placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u63CF\u8FF0,\u6B64\u63CF\u8FF0\u4EC5\u7528\u4E8E\u533A\u5206\u4E0D\u540C\u6570\u636E\u5E93,\u4E0D\u4F1A\u5F71\u54CD\u6570\u636E\u5E93\u8C03\u7528",defaultValue:""},{id:"db-info",label:"\u76F4\u8FDE\u6570\u636E\u6E90\u4FE1\u606F",type:"title",level:2},{id:"dbType",name:"dbType",label:"\u6570\u636E\u6E90\u7C7B\u578B",type:"select",disabled:!!c,required:!0,options:we.map(t=>{const{label:i,value:F,icon:S}=t;return{label:i,value:F,render:()=>P("div",{className:"flex items-center gap-2",children:[n("img",{src:S,width:24}),n("span",{children:i})]})}})},{id:"dbHost",name:"dbHost",label:"\u4E3B\u673A\u5730\u5740",type:"input",required:!0,disabled:!!c,placeholder:"\u8BF7\u8F93\u5165IP\u5730\u5740\u6216\u8005\u57DF\u540D"},{id:"dbPort",name:"dbPort",label:"\u7AEF\u53E3\u53F7",type:"number",required:!0,disabled:!!c,placeholder:"\u8BF7\u8F93\u5165\u7AEF\u53E3\u540D\u79F0"},{id:"dbDatabase",name:"dbDatabase",label:"\u8FDE\u63A5\u6570\u636E\u5E93\u540D",disabled:!!c,placeholder:"\u8BF7\u8F93\u5165\u8FDE\u63A5\u6570\u636E\u5E93\u540D",required:!0,type:"input"},{type:"col",children:[{id:"dbUser",type:"input",name:"dbUser",label:"\u7528\u6237\u540D",disabled:!!c,placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u540D",required:!0},{id:"dbPassword",type:"password",name:"dbPassword",label:"\u5BC6\u7801",placeholder:"\u8BF7\u8F93\u5165\u5BC6\u7801",required:!0,disabled:r?!1:!!c}]}]}),[d,c,r,l]),v=ae(null),Q=(t,i,F)=>{switch(console.log("[Form] eventsEmit:",t,i,F),t){case"form:ready":i.formRef&&(v.current=i.formRef);break;case"form_field_change":console.log("\u5B57\u6BB5\u503C\u53D8\u5316:",i),a(S=>({...S,[i.fieldId]:i.value}));break;case"form_validation_error":console.log("\u8868\u5355\u9A8C\u8BC1\u9519\u8BEF:",i);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",t,i)}I==null||I(t,i,F)},X=async()=>{try{R(!0);const t=await v.current.getAllData();t.isValid&&(console.log(t,"==="),d=="DirectDB"&&b=="\u7F16\u8F91\u6570\u636E\u5E93"&&!r&&(t.fields=t.fields.filter(i=>i.name=="name"||i.name=="description")),await I("form_submitted",t,void 0),u(!1))}catch(t){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",t)}finally{R(!1)}},O=async()=>{try{N(!0);const t=await v.current.getAllData();if(t.isValid){const i=t.fields.reduce((F,S)=>(F[S.name]=S.value,F),{});await I("form:connect_test",i,void 0)}}catch{N(!1)}finally{N(!1)}},q=G(()=>{const t=d=="DataTable"?B:U;return{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:t.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:t.id,type:"form",size:"md",formWidth:t.formWidth,formConfig:{layout:t.layout,showReset:!1,showSubmit:!1,formWidth:t.formWidth,getFormData:()=>({...e,timestamp:new Date().toISOString(),formId:t.id}),onFieldChange:(i,F)=>{Q("form_field_change",{fieldId:i,value:F},void 0)},onValidationError:i=>{Q("form_validation_error",i,void 0)}}}],dataSource:[{id:t.id,fields:t.fields,defaultValues:{...c}}],eventsEmit:Q}},[d,B,U,j,c]),K=G(()=>d=="DirectDB"?c?r&&!w:!w:!1,[d,w,r,j]);return P(re,{title:b,width:620,onCancel:()=>{p(),u(!1)},open:j,rootClassName:"create-database-modal",destroyOnHidden:!0,footer:P("div",{className:"flex justify-end gap-3",style:{justifyContent:"end",gap:10},children:[n(Y,{mode:"default",label:"\u53D6\u6D88",onClick:()=>{p(),u(!1)}}),n(Y,{mode:"primary",label:"\u786E\u8BA4",loading:W,disabled:K,onClick:X})]}),children:[n(se,{...q},"example-form"),d==="DirectDB"&&n(de,{children:b=="\u7F16\u8F91\u6570\u636E\u5E93"&&!r?n(Y,{mode:"primary",className:"mt-[10px]",label:"\u4FEE\u6539\u5BC6\u7801",onClick:()=>{u(!0),v.current.setValues({dbPassword:void 0})}}):n(Ee,{title:"\u9700\u901A\u8FC7\u6D4B\u8BD5\u624D\u53EF\u521B\u5EFA\u6210\u529F",children:n(Y,{mode:"primary",className:"test-connect",label:"\u8FDE\u63A5\u6D4B\u8BD5",loading:V,onClick:O})})})]})},ve=""+new URL("assets/empty.png",import.meta.url).href,{confirm:Se}=re,xe=Fe.div`
1
+ import{jsxs as W,jsx as c,Fragment as de}from"react/jsx-runtime";import{useState as y,useMemo as Q,useRef as ae,useEffect as De}from"react";import{useTheme as me,defaultTheme as be,Button as X,DropDownButton as Fe,DashboardContainer as ye}from"@mxmweb/zui";import Ie from"styled-components";import{Xviwer as se}from"@mxmweb/xviewer";import{Modal as re,Tooltip as Ee,message as H}from"antd";import ge from"axios";/* empty css *//* empty css */const pe=({url:b,token:x,role:N,eventsEmit:g})=>{const n=ge.create({baseURL:b,timeout:1e6});return n.interceptors.request.use(e=>{let a=x;return!a&&!["user/login","user/kaptcha","user/regist"].some(u=>e.url.includes(u))?(g&&g("request:error_auth",{errorMsg:"\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F",redirect:"/login"}),Promise.reject(new Error("\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"))):(e.headers.Authorization=a||"",e.headers.userName=N==="\u672A\u767B\u5F55\u7528\u6237"?"":N,e)}),n.interceptors.response.use(e=>{const a=["user/kaptcha"],r=e.data;if(a.some(A=>e.config.url&&e.config.url.includes(A))||r.size&&r.type)return r;const{success:u,errorMsg:m,errorCode:D}=r;return u?r:(g&&g("request:error_business",{errorCode:D,errorMsg:m||"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",response:r}),!1)},async e=>{var a,r,u,m,D,A,z,h,C;if(e.message==="canceled")return Promise.reject(e);if(g){let l="request:error_network",B={errorMsg:"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25",error:e};((a=e==null?void 0:e.response)==null?void 0:a.status)===401?(l="request:error_auth",B={errorMsg:"\u6CA1\u6709\u8DB3\u591F\u6743\u9650",error:e,redirect:"/login"}):(((u=(r=e==null?void 0:e.response)==null?void 0:r.data)==null?void 0:u.errorCode)==="30013"||((D=(m=e==null?void 0:e.response)==null?void 0:m.data)==null?void 0:D.errorCode)==="30023")&&(l="request:error_business",B={errorCode:(z=(A=e==null?void 0:e.response)==null?void 0:A.data)==null?void 0:z.errorCode,errorMsg:((C=(h=e==null?void 0:e.response)==null?void 0:h.data)==null?void 0:C.errorMsg)||"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",error:e}),g(l,B)}return console.log("Error occurs",e),Promise.reject(e)}),{getDatabaseList:async e=>{try{const a=await n.get(`/queryPageDBList?${new URLSearchParams(e).toString()}`),{success:r,data:u}=a;if(r)return u}catch(a){console.log("getDatabaseList error:",a)}},getShareDatabaseList:async e=>{try{const a=await n.get(`/queryShareDBList?${new URLSearchParams(e).toString()}`),{success:r,data:u}=a;if(r)return u}catch(a){console.log("getShareDatabaseList error:",a)}},delDatabaseById:async(e,a)=>{const r=te(a);try{const u=await n.delete(`/${r}/deleteDB/${e}`),{success:m,data:D}=u;if(m)return D}catch(u){console.log("delDatabaseById error:",u)}},saveDatabase:async(e,a)=>{const r=te(a);try{const u=await n.post(`/${r}/saveDBInfo`,e),{success:m,data:D}=u;if(m)return D}catch(u){console.log("saveDatabase error:",u)}},testConnection:async e=>{try{const a=await n.post("/directDB/testConnect",e),{success:r,data:u}=a;if(r)return u}catch(a){console.log("testConnection error:",a)}},syncSchema:async e=>{try{const a=await n.get(`/directDB/syncSchema/${e}`),{success:r,data:u}=a;if(r)return u}catch(a){console.log("syncSchema error:",a)}}}},te=b=>b=="DataTable"?"dataTable":"directDB",Me="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xNCAxMkMxNCAxMC44OTU0IDE0Ljg5NTQgMTAgMTYgMTBIMjlDMzEuMjA5MSAxMCAzMyAxMS43OTA5IDMzIDE0VjI2QzMzIDMwLjQxODMgMjkuNDE4MyAzNCAyNSAzNEgxNkMxNC44OTU0IDM0IDE0IDMzLjEwNDYgMTQgMzJWMTJaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfNDQ3Ml8xODA1MikiLz4NCjxmb3JlaWduT2JqZWN0IHg9Ii0xIiB5PSItMSIgd2lkdGg9IjMyIiBoZWlnaHQ9IjM2Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iYmFja2Ryb3AtZmlsdGVyOmJsdXIoMnB4KTtjbGlwLXBhdGg6dXJsKCNiZ2JsdXJfMF80NDcyXzE4MDUyX2NsaXBfcGF0aCk7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJSI+PC9kaXY+PC9mb3JlaWduT2JqZWN0PjxnIGRhdGEtZmlnbWEtYmctYmx1ci1yYWRpdXM9IjQiPg0KPHBhdGggZD0iTTMgN0MzIDQuNzkwODYgNC43OTA4NiAzIDcgM0gyM0MyNS4yMDkxIDMgMjcgNC43OTA4NiAyNyA3VjE5QzI3IDI1LjYyNzQgMjEuNjI3NCAzMSAxNSAzMUg3QzQuNzkwODYgMzEgMyAyOS4yMDkxIDMgMjdWN1oiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz4NCjxwYXRoIGQ9Ik03IDMuMjVIMjNDMjUuMDcxMSAzLjI1IDI2Ljc1IDQuOTI4OTMgMjYuNzUgN1YxOUMyNi43NSAyNS40ODkzIDIxLjQ4OTMgMzAuNzUgMTUgMzAuNzVIN0M0LjkyODkzIDMwLjc1IDMuMjUgMjkuMDcxMSAzLjI1IDI3VjdDMy4yNSA0LjkyODkzIDQuOTI4OTMgMy4yNSA3IDMuMjVaIiBzdHJva2U9IndoaXRlIiBzdHJva2Utb3BhY2l0eT0iMC4zNCIgc3Ryb2tlLXdpZHRoPSIwLjUiLz4NCjwvZz4NCjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2RfNDQ3Ml8xODA1MikiPg0KPHBhdGggZD0iTTE0IDE5VjExLjY2NjciIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS44Mzk3MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+DQo8cGF0aCBkPSJNMTEgMTRMMTIgMTNMMTQgMTFMMTYgMTNMMTcgMTQiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+DQo8cGF0aCBkPSJNMTAgMjJIMTgiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+DQo8L2c+DQo8ZGVmcz4NCjxjbGlwUGF0aCBpZD0iYmdibHVyXzBfNDQ3Ml8xODA1Ml9jbGlwX3BhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGQ9Ik0zIDdDMyA0Ljc5MDg2IDQuNzkwODYgMyA3IDNIMjNDMjUuMjA5MSAzIDI3IDQuNzkwODYgMjcgN1YxOUMyNyAyNS42Mjc0IDIxLjYyNzQgMzEgMTUgMzFIN0M0Ljc5MDg2IDMxIDMgMjkuMjA5MSAzIDI3VjdaIi8+DQo8L2NsaXBQYXRoPjxmaWx0ZXIgaWQ9ImZpbHRlcjFfZF80NDcyXzE4MDUyIiB4PSI1IiB5PSI2IiB3aWR0aD0iMTgiIGhlaWdodD0iMjEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+DQo8ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz4NCjxmZU9mZnNldC8+DQo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIyIi8+DQo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz4NCjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwLjM5NjA3OCAwIDAgMCAwIDAuOTg0MzE0IDAgMCAwIDAuNCAwIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd180NDcyXzE4MDUyIi8+DQo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd180NDcyXzE4MDUyIiByZXN1bHQ9InNoYXBlIi8+DQo8L2ZpbHRlcj4NCjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl80NDcyXzE4MDUyIiB4MT0iMjMuNSIgeTE9IjEwIiB4Mj0iMjMuNSIgeTI9IjM0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQo8c3RvcCBzdG9wLWNvbG9yPSIjNjRBMEZEIi8+DQo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMTVBRkYiLz4NCjwvbGluZWFyR3JhZGllbnQ+DQo8L2RlZnM+DQo8L3N2Zz4NCg==",fe=""+new URL("assets/database_connect.svg",import.meta.url).href,Ae=""+new URL("assets/mysql.svg",import.meta.url).href,he=""+new URL("assets/SQLServer.png",import.meta.url).href,Ce=""+new URL("assets/PostgreSQL.png",import.meta.url).href,Be=""+new URL("assets/Doris.png",import.meta.url).href,Ne=[{label:"MySQL",value:"MySQL",icon:Ae},{label:"PostgreSQL",value:"PostgreSQL",icon:Ce},{label:"SQLServer",value:"SQLServer",icon:he},{label:"Doris",value:"Doris",icon:Be}],we=({drawerTitle:b,drawerVisible:x,isConnectSuccess:N,handleDrawerClose:g,dbInfo:n,dbType:d,eventsEmit:p})=>{var Y;const[V,G]=y(!1),[P,w]=y(!1),[e,a]=y({}),[r,u]=y(!1),m=me(),D=((Y=m==null?void 0:m.theme)==null?void 0:Y.space)||be.space||{},A=D.dynamicFormWidth||D.formWidth,z="500px",h="470px",C=A||z,l=A||h,B=Q(()=>({id:d,layout:"vertical",formWidth:C,fields:[{id:"name",name:"name",label:"\u6570\u636E\u5E93\u540D\u79F0",type:"input",required:!0,placeholder:"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7",validate:t=>{if(!t)return"\u6570\u636E\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A";if(!/[\u4E00-\u9FA5A-Za-z0-9\W]/.test(t))return"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7"},counter:100},{id:"description",name:"description",label:"\u6570\u636E\u5E93\u63CF\u8FF0",type:"textarea",counter:150,required:!1,placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u63CF\u8FF0,\u6B64\u63CF\u8FF0\u4EC5\u7528\u4E8E\u533A\u5206\u4E0D\u540C\u6570\u636E\u5E93,\u4E0D\u4F1A\u5F71\u54CD\u6570\u636E\u5E93\u8C03\u7528",defaultValue:""}]}),[d,n,C]),U=Q(()=>({id:d,layout:"vertical",formWidth:l,fields:[{id:"name",name:"name",label:"\u6570\u636E\u5E93\u540D\u79F0",type:"input",required:!0,placeholder:"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7",validate:t=>{if(!t)return"\u6570\u636E\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A";if(!/[\u4E00-\u9FA5A-Za-z0-9\W]/.test(t))return"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7"},counter:100},{id:"description",name:"description",label:"\u6570\u636E\u5E93\u63CF\u8FF0",type:"textarea",required:!1,counter:150,placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u63CF\u8FF0,\u6B64\u63CF\u8FF0\u4EC5\u7528\u4E8E\u533A\u5206\u4E0D\u540C\u6570\u636E\u5E93,\u4E0D\u4F1A\u5F71\u54CD\u6570\u636E\u5E93\u8C03\u7528",defaultValue:""},{id:"db-info",label:"\u76F4\u8FDE\u6570\u636E\u6E90\u4FE1\u606F",type:"title",level:2},{id:"dbType",name:"dbType",label:"\u6570\u636E\u6E90\u7C7B\u578B",type:"select",disabled:!!n,required:!0,options:Ne.map(t=>{const{label:i,value:I,icon:k}=t;return{label:i,value:I,render:()=>W("div",{className:"flex items-center gap-2",children:[c("img",{src:k,width:24}),c("span",{children:i})]})}})},{id:"dbHost",name:"dbHost",label:"\u4E3B\u673A\u5730\u5740",type:"input",required:!0,disabled:!!n,placeholder:"\u8BF7\u8F93\u5165IP\u5730\u5740\u6216\u8005\u57DF\u540D"},{id:"dbPort",name:"dbPort",label:"\u7AEF\u53E3\u53F7",type:"number",required:!0,disabled:!!n,placeholder:"\u8BF7\u8F93\u5165\u7AEF\u53E3\u540D\u79F0"},{id:"dbDatabase",name:"dbDatabase",label:"\u8FDE\u63A5\u6570\u636E\u5E93\u540D",disabled:!!n,placeholder:"\u8BF7\u8F93\u5165\u8FDE\u63A5\u6570\u636E\u5E93\u540D",required:!0,type:"input"},{type:"col",children:[{id:"dbUser",type:"input",name:"dbUser",label:"\u7528\u6237\u540D",disabled:!!n,placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u540D",required:!0},{id:"dbPassword",type:"password",name:"dbPassword",label:"\u5BC6\u7801",placeholder:"\u8BF7\u8F93\u5165\u5BC6\u7801",required:!0,disabled:r?!1:!!n}]}]}),[d,n,r,l]),j=ae(null),R=(t,i,I)=>{switch(console.log("[Form] eventsEmit:",t,i,I),t){case"form:ready":i.formRef&&(j.current=i.formRef);break;case"form_field_change":console.log("\u5B57\u6BB5\u503C\u53D8\u5316:",i),a(k=>({...k,[i.fieldId]:i.value}));break;case"form_validation_error":console.log("\u8868\u5355\u9A8C\u8BC1\u9519\u8BEF:",i);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",t,i)}p==null||p(t,i,I)},_=async()=>{try{G(!0);const t=await j.current.getAllData();t.isValid&&(console.log(t,"==="),d=="DirectDB"&&b=="\u7F16\u8F91\u6570\u636E\u5E93"&&!r&&(t.fields=t.fields.filter(i=>i.name=="name"||i.name=="description")),await p("form_submitted",t,void 0),u(!1))}catch(t){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",t)}finally{G(!1)}},O=async()=>{try{w(!0);const t=await j.current.getAllData();if(t.isValid){const i=t.fields.reduce((I,k)=>(I[k.name]=k.value,I),{});await p("form:connect_test",i,void 0)}}catch{w(!1)}finally{w(!1)}},q=Q(()=>{const t=d=="DataTable"?B:U;return{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:t.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:t.id,type:"form",size:"md",formWidth:t.formWidth,formConfig:{layout:t.layout,showReset:!1,showSubmit:!1,formWidth:t.formWidth,getFormData:()=>({...e,timestamp:new Date().toISOString(),formId:t.id}),onFieldChange:(i,I)=>{R("form_field_change",{fieldId:i,value:I},void 0)},onValidationError:i=>{R("form_validation_error",i,void 0)}}}],dataSource:[{id:t.id,fields:t.fields,defaultValues:{...n}}],eventsEmit:R}},[d,B,U,x,n]),$=Q(()=>d=="DirectDB"?n?r&&!N:!N:!1,[d,N,r,x]);return W(re,{title:b,width:620,onCancel:()=>{g(),u(!1)},open:x,rootClassName:"create-database-modal",destroyOnHidden:!0,footer:W("div",{className:"flex justify-end gap-3",style:{justifyContent:"end",gap:10},children:[c(X,{mode:"default",label:"\u53D6\u6D88",onClick:()=>{g(),u(!1)}}),c(X,{mode:"primary",label:"\u786E\u8BA4",loading:V,disabled:$,onClick:_})]}),children:[c(se,{...q},"example-form"),d==="DirectDB"&&c(de,{children:b=="\u7F16\u8F91\u6570\u636E\u5E93"&&!r?c(X,{mode:"primary",className:"mt-[10px]",label:"\u4FEE\u6539\u5BC6\u7801",onClick:()=>{u(!0),j.current.setValues({dbPassword:void 0})}}):c(Ee,{title:"\u9700\u901A\u8FC7\u6D4B\u8BD5\u624D\u53EF\u521B\u5EFA\u6210\u529F",children:c(X,{mode:"primary",className:"test-connect",label:"\u8FDE\u63A5\u6D4B\u8BD5",loading:P,onClick:O})})})]})},je=""+new URL("assets/empty.png",import.meta.url).href,{confirm:ke}=re,ve=Ie.div`
2
2
  width: 282px;
3
3
  height: 81px;
4
4
  display: flex;
@@ -13,4 +13,4 @@ import{jsxs as P,jsx as n,Fragment as de}from"react/jsx-runtime";import{useState
13
13
  background-color: #F1F5FF;
14
14
  };
15
15
  border: 1px solid #EBEBEB
16
- `,je=[{key:"add_file_db",label:"\u4E0A\u4F20\u6570\u636E\u5E93",dsc:"\u901A\u8FC7\u4E0A\u4F20Excel\u3001csv\u7B49\u683C\u5F0F\u6570\u636E\u8868\u521B\u5EFA\u6570\u636E\u5E93\u3002",icon:Me},{key:"add_direct_db",label:"\u76F4\u8FDE\u6570\u636E\u5E93",dsc:"\u901A\u8FC7\u4E0E\u5DF2\u6709\u4E1A\u52A1\u5EFA\u7ACB\u8FDE\u63A5\u521B\u5EFA\u6570\u636E\u5E93\u3002",icon:fe}],Qe=b=>{const{url:j,token:w,role:p,CustomComponents:c,getBtnDisabled:d}=b,[I,W]=y("my-db"),[R,V]=y({app:"ready",container:"ready",content:"ready"}),[N,e]=y(!1),[a,r]=y([{id:"my-db",data:[]},{id:"shared-db",data:[]}]),u=ae(null),[m,D]=y(!1),[h,z]=y(""),[C,A]=y("DataTable"),[l,B]=y(),[U,v]=y(!1),{getDatabaseList:Q,delDatabaseById:X,saveDatabase:O,testConnection:q,getShareDatabaseList:K,syncSchema:_}=Ie({url:j,token:w,role:p,eventsEmit:b.eventsEmit}),t=G(()=>[{label:"\u6211\u7684\u6570\u636E\u5E93",id:"my-db",type:"card",cardType:"database",rowHeight:220,viewPageSize:12,viewBehavior:"pagination",actions:[{label:"\u7F16\u8F91",key:"edit"},{label:"\u5220\u9664",key:"delete"}],toolbar:[{type:"customized",key:"add",render:()=>n(ge,{mode:"primary",label:"\u521B\u5EFA\u6570\u636E\u5E93",actions:je.map(o=>({key:o.key,component:n(xe,{children:P("div",{className:"flex flex-grow",children:[n("div",{className:"mr-[6px]",children:n("img",{src:o.icon})}),P("div",{children:[n("div",{className:"text-base font-bold mb-1 text-[14px]",children:o.label}),n("div",{className:"text-[#888] text-[10px]",children:o.dsc})]})]})},o.key)})),eventEmit:ee})},{type:"fuzzy_search",key:"search",label:"\u8F93\u5165\u540D\u79F0\u641C\u7D22",searchKeys:["name","description"],position:"right"}]},{label:"\u5171\u4EAB\u6570\u636E\u5E93",id:"shared-db",type:"card",cardType:"database",rowHeight:240,toolbar:[{type:"fuzzy_search",key:"search",label:"\u641C\u7D22",position:"right"}],actions:[{label:"\u7F16\u8F91",key:"edit"},{label:"\u5220\u9664",key:"delete"}]}],[a]);De(()=>{V(o=>({...o,content:"loading"})),i()},[]);const i=async()=>{var o,s,M,g;try{const[f,k]=await Promise.allSettled([Q({pageNo:1,pageSize:999}),K({pageNo:1,pageSize:999})]);let T=[];if(f.status==="fulfilled"&&f.value&&(o=f.value)!=null&&o.records){const x=F((s=f.value)==null?void 0:s.records);T.push({id:"my-db",data:x||[]})}if(k.status==="fulfilled"&&k.value&&(M=k.value)!=null&&M.records){const x=F((g=k.value)==null?void 0:g.records);T.push({id:"shared-db",data:x||[]})}r(T),V(x=>({...x,content:"ready"}))}catch(f){console.log("[DatabaseApiError] getDatabaseList:",f)}},F=o=>(o||[]).map(s=>{const M=$("shared-db").map((g,f)=>({...g,key:g.type==="divider"?`${g.key}_${s.id}`:g.key,disabled:d&&d(g.key=="edit"?7:4,s.permission)}));return s.datasourceType=="DirectDB"&&M.push({label:"\u540C\u6B65\u8868\u7ED3\u6784",key:"sync_schema",disabled:d&&d(7,s.permission)}),console.log("[DatabaseViewAdopter] actions:",M),{...s,actions:M||[]}}),S="admin",ie=()=>P("div",{className:"flex flex-col items-center justify-center h-full",children:[n("div",{className:"text-xl font-semibold mb-3",style:{color:"#374151"},children:n("img",{src:ve,width:120})}),n("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:"\u6682\u65E0\u6570\u636E\uFF0C\u8BF7\u5148\u6DFB\u52A0\u6570\u636E\u5E93"})]}),$=o=>{const s=t.find(g=>g.id===o);return(s==null?void 0:s.actions)||[]},oe=G(()=>{var s;const o=((s=a==null?void 0:a.find(M=>M.id===I))==null?void 0:s.data)||[];return N?[]:o},[I,a,N]),ue=()=>{D(!1),v(!1),B(void 0)},ce=async o=>{console.log("[DatabaseViewAdopter] \u6D4B\u8BD5\u8FDE\u63A5:",o);const s=await q(o);return s&&(v(!0),J.success("\u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F\uFF01")),s};async function ee(o,s,M){var g,f,k,T,x;switch(console.log("[DatabaseViewAdopter] mergedEventsEmit",o,s),o){case"card_delete":Se({title:"\u786E\u8BA4\u5220\u9664\u6570\u636E\u5E93\uFF1F",content:"\u5220\u9664\u540E\uFF0C\u8BE5\u6570\u636E\u5E93\u5C06\u65E0\u6CD5\u6062\u590D",okText:"\u5220\u9664",cancelText:"\u53D6\u6D88",async onOk(){await X(s.id,s.datasourceType)&&(u!=null&&u.current)&&(u==null||u.current.appFn.removeItem(s.id))},onCancel(){console.log("Cancel")}});break;case"card_edit":z("\u7F16\u8F91\u6570\u636E\u5E93"),D(!0),A(s.datasourceType),delete s.render,B(s);break;case"select":W(s.id);break;case"filesDir_clicked":W(s.id);break;case"dropdown_action":z("\u521B\u5EFA\u6570\u636E\u5E93"),D(!0),s.key=="add_file_db"?A("DataTable"):A("DirectDB");break;case"form_submitted":try{const Z=s.fields.reduce((L,E)=>(L[E.name]=E.value,L),{}),ne=l?{id:l==null?void 0:l.id,...Z}:Z,H=await O(ne,C);if(H){if(l){const L={...l,...Z,datasourceType:C,actions:$("my-db").map((E,le)=>({...E,key:E.type==="divider"?`${E.key}_${H}`:E.key,allow:!0}))};(f=(g=u==null?void 0:u.current)==null?void 0:g.appFn)==null||f.updateItem(L,l==null?void 0:l.id),J.success("\u6570\u636E\u5E93\u7F16\u8F91\u6210\u529F\uFF01")}else{const L={...Z,...H,createBy:S,datasourceType:C,actions:$("my-db").map((E,le)=>({...E,key:E.type==="divider"?`${E.key}_${H}`:E.key,allow:!0}))};(T=(k=u==null?void 0:u.current)==null?void 0:k.appFn)==null||T.addItem(L,{animate:!0,position:"start"}),J.success("\u6570\u636E\u5E93\u521B\u5EFA\u6210\u529F\uFF01")}return H}}catch(Z){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",Z)}finally{ue()}break;case"form:connect_test":return await ce(s);case"toolbar_test_empty":console.log("[DatabaseViewAdopter] toolbar_test_empty \u4E8B\u4EF6\u89E6\u53D1"),e(!N);break;case"card_sync_schema":await _(s.id)&&(v(!0),J.success("\u540C\u6B65\u8868\u7ED3\u6784\u6210\u529F\uFF01"));break;default:(x=b.eventsEmit)==null||x.call(b,o,s);break}}return P(ye,{title:"\u6570\u636E\u5E93\u7BA1\u7406",children:[n(se,{ref:u,label:"",model:"tabs",defaultActiveId:I,views:t,dataSource:oe,eventsEmit:ee,status:R,CustomComponents:{EmptyData:ie,...c}},"db"),n(Ne,{drawerTitle:h,drawerVisible:m,isConnectSuccess:U,dbType:C,dbInfo:l,handleDrawerClose:ue,eventsEmit:ee})]})};export{Qe as default};
16
+ `,xe=[{key:"add_file_db",label:"\u4E0A\u4F20\u6570\u636E\u5E93",dsc:"\u901A\u8FC7\u4E0A\u4F20Excel\u3001csv\u7B49\u683C\u5F0F\u6570\u636E\u8868\u521B\u5EFA\u6570\u636E\u5E93\u3002",icon:Me},{key:"add_direct_db",label:"\u76F4\u8FDE\u6570\u636E\u5E93",dsc:"\u901A\u8FC7\u4E0E\u5DF2\u6709\u4E1A\u52A1\u5EFA\u7ACB\u8FDE\u63A5\u521B\u5EFA\u6570\u636E\u5E93\u3002",icon:fe}],Re=b=>{const{url:x,token:N,role:g,CustomComponents:n,getBtnDisabled:d}=b,[p,V]=y("my-db"),[G,P]=y({app:"ready",container:"ready",content:"ready"}),[w,e]=y(!1),[a,r]=y([{id:"my-db",data:[]},{id:"shared-db",data:[]}]),u=ae(null),[m,D]=y(!1),[A,z]=y(""),[h,C]=y("DataTable"),[l,B]=y(),[U,j]=y(!1),{getDatabaseList:R,delDatabaseById:_,saveDatabase:O,testConnection:q,getShareDatabaseList:$,syncSchema:Y}=pe({url:x,token:N,role:g,eventsEmit:b.eventsEmit}),t=Q(()=>[{label:"\u6211\u7684\u6570\u636E\u5E93",id:"my-db",type:"card",cardType:"database",rowHeight:220,viewPageSize:12,viewBehavior:"pagination",actions:[{label:"\u7F16\u8F91",key:"edit"},{label:"\u5220\u9664",key:"delete"}],toolbar:[{type:"customized",key:"add",render:()=>c(Fe,{mode:"primary",label:"\u521B\u5EFA\u6570\u636E\u5E93",actions:xe.map(o=>({key:o.key,component:c(ve,{children:W("div",{className:"flex flex-grow",children:[c("div",{className:"mr-[6px]",children:c("img",{src:o.icon})}),W("div",{children:[c("div",{className:"text-base font-bold mb-1 text-[14px]",children:o.label}),c("div",{className:"text-[#888] text-[10px]",children:o.dsc})]})]})},o.key)})),eventEmit:ee})},{type:"fuzzy_search",key:"search",label:"\u8F93\u5165\u540D\u79F0\u641C\u7D22",searchKeys:["name","description"],position:"right"}]},{label:"\u5171\u4EAB\u6570\u636E\u5E93",id:"shared-db",type:"card",cardType:"database",rowHeight:240,toolbar:[{type:"fuzzy_search",key:"search",label:"\u641C\u7D22",position:"right"}],actions:[{label:"\u7F16\u8F91",key:"edit"},{label:"\u5220\u9664",key:"delete"}]}],[a]);De(()=>{P(o=>({...o,content:"loading"})),i()},[]);const i=async()=>{var o,s,M,F;try{const[f,S]=await Promise.allSettled([R({pageNo:1,pageSize:999}),$({pageNo:1,pageSize:999})]);let L=[];if(f.status==="fulfilled"&&f.value&&(o=f.value)!=null&&o.records){const v=I((s=f.value)==null?void 0:s.records);L.push({id:"my-db",data:v||[]})}if(S.status==="fulfilled"&&S.value&&(M=S.value)!=null&&M.records){const v=I((F=S.value)==null?void 0:F.records);L.push({id:"shared-db",data:v||[]})}r(L),P(v=>({...v,content:"ready"}))}catch(f){console.log("[DatabaseApiError] getDatabaseList:",f)}},I=o=>(o||[]).map(s=>{const M=K("shared-db").map((F,f)=>({...F,key:F.type==="divider"?`${F.key}_${s.id}`:F.key,disabled:d&&d(F.key=="edit"?7:4,s.permission)}));return s.datasourceType=="DirectDB"&&M.push({label:"\u540C\u6B65\u8868\u7ED3\u6784",key:"sync_schema",disabled:d&&d(7,s.permission)}),console.log("[DatabaseViewAdopter] actions:",M),{...s,actions:M||[]}}),k="admin",ie=()=>W("div",{className:"flex flex-col items-center justify-center h-full",children:[c("div",{className:"text-xl font-semibold mb-3",style:{color:"#374151"},children:c("img",{src:je,width:120})}),c("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:"\u6682\u65E0\u6570\u636E\uFF0C\u8BF7\u5148\u6DFB\u52A0\u6570\u636E\u5E93"})]}),K=o=>{const s=t.find(F=>F.id===o);return(s==null?void 0:s.actions)||[]},oe=Q(()=>{var s;const o=((s=a==null?void 0:a.find(M=>M.id===p))==null?void 0:s.data)||[];return w?[]:o},[p,a,w]),ue=()=>{D(!1),j(!1),B(void 0)},ne=async o=>{console.log("[DatabaseViewAdopter] \u6D4B\u8BD5\u8FDE\u63A5:",o);const s=await q(o);return s&&(j(!0),H.success("\u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F\uFF01")),s};async function ee(o,s,M){var F,f,S,L,v;switch(console.log("[DatabaseViewAdopter] mergedEventsEmit",o,s),o){case"card_delete":ke({title:"\u786E\u8BA4\u5220\u9664\u6570\u636E\u5E93\uFF1F",content:"\u5220\u9664\u540E\uFF0C\u8BE5\u6570\u636E\u5E93\u5C06\u65E0\u6CD5\u6062\u590D",okText:"\u5220\u9664",cancelText:"\u53D6\u6D88",async onOk(){await _(s.id,s.datasourceType)&&(u!=null&&u.current)&&(u==null||u.current.appFn.removeItem(s.id))},onCancel(){console.log("Cancel")}});break;case"card_edit":z("\u7F16\u8F91\u6570\u636E\u5E93"),D(!0),C(s.datasourceType),delete s.render,B(s);break;case"select":V(s.id);break;case"filesDir_clicked":V(s.id);break;case"dropdown_action":z("\u521B\u5EFA\u6570\u636E\u5E93"),D(!0),s.key=="add_file_db"?C("DataTable"):C("DirectDB");break;case"form_submitted":try{const T=s.fields.reduce((Z,E)=>(Z[E.name]=E.value,Z),{}),ce=l?{id:l==null?void 0:l.id,...T}:T,J=await O(ce,h);if(J){if(l){const Z={...l,...T,datasourceType:h,actions:K("my-db").map((E,le)=>({...E,key:E.type==="divider"?`${E.key}_${J}`:E.key,allow:!0}))};(f=(F=u==null?void 0:u.current)==null?void 0:F.appFn)==null||f.updateItem(Z,l==null?void 0:l.id),H.success("\u6570\u636E\u5E93\u7F16\u8F91\u6210\u529F\uFF01")}else{const Z={...T,...J,createBy:k,datasourceType:h,actions:K("my-db").map((E,le)=>({...E,key:E.type==="divider"?`${E.key}_${J}`:E.key,allow:!0}))};(L=(S=u==null?void 0:u.current)==null?void 0:S.appFn)==null||L.addItem(Z,{animate:!0,position:"start"}),H.success("\u6570\u636E\u5E93\u521B\u5EFA\u6210\u529F\uFF01")}return J}}catch(T){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",T)}finally{ue()}break;case"form:connect_test":return await ne(s);case"toolbar_test_empty":console.log("[DatabaseViewAdopter] toolbar_test_empty \u4E8B\u4EF6\u89E6\u53D1"),e(!w);break;case"card_sync_schema":await Y(s.id)&&(j(!0),H.success("\u540C\u6B65\u8868\u7ED3\u6784\u6210\u529F\uFF01"));break;default:(v=b.eventsEmit)==null||v.call(b,o,s);break}}return W(ye,{title:"\u6570\u636E\u5E93\u7BA1\u7406",children:[c(se,{ref:u,label:"",model:"tabs",defaultActiveId:p,views:t,dataSource:oe,eventsEmit:ee,status:G,CustomComponents:{EmptyData:ie,...n}},"db"),c(we,{drawerTitle:A,drawerVisible:m,isConnectSuccess:U,dbType:h,dbInfo:l,handleDrawerClose:ue,eventsEmit:ee})]})};export{Re as default};
package/index.js CHANGED
@@ -1 +1 @@
1
- import{D as c,a as G,L as T,d as k,R as y,b as F,g as W,u as j,c as q}from"./assets/ReviewManage-dcC_Q66x.js";import"./assets/index-djXskign.js";import{C as B}from"./assets/index-g0nDcZJ0.js";import"./database.js";import{DatabaseIdI18nContext as H,DatabaseIdI18nProvider as J,getDatabaseIdMessages as K,useDatabaseIdI18n as N}from"./databaseId.js";import"./databaseTable.js";import"react/jsx-runtime";import"antd";import"react";import"axios";import{ModelManageI18nContext as Q,ModelManageI18nProvider as U,getModelManageMessages as V,interpolateModelManage as X,useModelManageI18n as Y}from"./modelManage.js";import{SensitiveI18nContext as _,SensitiveI18nProvider as $,getSensitiveMessages as ee,interpolate as te,useSensitiveI18n as oe}from"./sensitive.js";import"./oprecords.js";import{G as ie}from"./assets/GientechStreamReader-_ih9ja1B.js";import{a as se,A as ne,p as pe,g as me,u as ge}from"./assets/index-DDdhYntH.js";import{registerPDFWorker as de}from"@mxmweb/fviewer";import"@mxmweb/aichat";import"@mxmweb/rtext";import"./assets/index-CpW6Dhpp.js";import"@mxmweb/zui";import"./assets/AntdIcon-C8lLl5Jn.js";import"dayjs";import"./assets/createLucideIcon-Bj5DlX2s.js";import"./assets/plus-B679mjyt.js";import"./assets/search-CEuIa9-_.js";import"./assets/x-CdZQbi--.js";import"./assets/index-CIPEixYE.js";import"react-dom";/* empty css *//* empty css */import"styled-components";import"@mxmweb/xviewer";import"./assets/loader-circle-C1Oa97Sz.js";import"./assets/circle-plus-RlDPoPkb.js";import"./assets/triangle-alert-LqO4u4ts.js";export{se as AssistantConfigI18nContext,ne as AssistantConfigI18nProvider,B as ChatCompareComponent,H as DatabaseIdI18nContext,J as DatabaseIdI18nProvider,c as DrawerType,ie as GientechStreamReader,G as LoginI18nContext,T as LoginI18nProvider,Q as ModelManageI18nContext,U as ModelManageI18nProvider,k as ReviewManage,y as ReviewSetting,F as ReviewSettingI18nProvider,_ as SensitiveI18nContext,$ as SensitiveI18nProvider,pe as defaultTheme,me as getAssistantConfigMessages,K as getDatabaseIdMessages,W as getLoginMessages,V as getModelManageMessages,ee as getSensitiveMessages,te as interpolate,X as interpolateModelManage,de as registerPDFWorker,ge as useAssistantConfigI18n,N as useDatabaseIdI18n,j as useLoginI18n,Y as useModelManageI18n,q as useReviewSettingI18n,oe as useSensitiveI18n};
1
+ import{D as c,a as G,L as T,d as k,R as y,b as F,g as W,u as j,c as q}from"./assets/ReviewManage-BTInpIIh.js";import"./assets/index-djXskign.js";import{C as B}from"./assets/index-CqAhjlSN.js";import"./database.js";import{DatabaseIdI18nContext as H,DatabaseIdI18nProvider as J,getDatabaseIdMessages as K,useDatabaseIdI18n as N}from"./databaseId.js";import"./databaseTable.js";import"react/jsx-runtime";import"antd";import"react";import"axios";import{ModelManageI18nContext as Q,ModelManageI18nProvider as U,getModelManageMessages as V,interpolateModelManage as X,useModelManageI18n as Y}from"./modelManage.js";import{SensitiveI18nContext as _,SensitiveI18nProvider as $,getSensitiveMessages as ee,interpolate as te,useSensitiveI18n as oe}from"./sensitive.js";import"./oprecords.js";import{G as ie}from"./assets/GientechStreamReader-_ih9ja1B.js";import{a as se,A as ne,p as pe,g as me,u as ge}from"./assets/index-C4Mch_6h.js";import{registerPDFWorker as de}from"@mxmweb/fviewer";import"@mxmweb/aichat";import"@mxmweb/rtext";import"./assets/index-CpW6Dhpp.js";import"@mxmweb/zui";import"./assets/AntdIcon-C8lLl5Jn.js";import"dayjs";import"./assets/createLucideIcon-Bj5DlX2s.js";import"./assets/plus-B679mjyt.js";import"./assets/search-CEuIa9-_.js";import"./assets/x-CdZQbi--.js";import"./assets/index-CIPEixYE.js";import"react-dom";/* empty css *//* empty css */import"styled-components";import"@mxmweb/xviewer";import"./assets/loader-circle-C1Oa97Sz.js";import"./assets/circle-plus-RlDPoPkb.js";import"./assets/triangle-alert-LqO4u4ts.js";export{se as AssistantConfigI18nContext,ne as AssistantConfigI18nProvider,B as ChatCompareComponent,H as DatabaseIdI18nContext,J as DatabaseIdI18nProvider,c as DrawerType,ie as GientechStreamReader,G as LoginI18nContext,T as LoginI18nProvider,Q as ModelManageI18nContext,U as ModelManageI18nProvider,k as ReviewManage,y as ReviewSetting,F as ReviewSettingI18nProvider,_ as SensitiveI18nContext,$ as SensitiveI18nProvider,pe as defaultTheme,me as getAssistantConfigMessages,K as getDatabaseIdMessages,W as getLoginMessages,V as getModelManageMessages,ee as getSensitiveMessages,te as interpolate,X as interpolateModelManage,de as registerPDFWorker,ge as useAssistantConfigI18n,N as useDatabaseIdI18n,j as useLoginI18n,Y as useModelManageI18n,q as useReviewSettingI18n,oe as useSensitiveI18n};
package/package.json CHANGED
@@ -3,15 +3,11 @@
3
3
  "license": "MIT",
4
4
  "style": "assets/style.css",
5
5
  "private": false,
6
- "version": "2.3.6",
6
+ "version": "2.3.7",
7
7
  "author": "hanfeng_Zhang",
8
8
  "type": "module",
9
9
  "main": "index.js",
10
10
  "types": "index.d.ts",
11
- "scripts": {
12
- "test": "yarn link",
13
- "disconnect": "yarn unlink"
14
- },
15
11
  "peerDependencies": {
16
12
  "@mxmweb/aichat": "^1.8.0",
17
13
  "@mxmweb/fviewer": "^1.5.3",
@@ -101,5 +97,9 @@
101
97
  "@mxmweb/zui": "1.4.0",
102
98
  "antd": "^5.18.0",
103
99
  "axios": "^1.7.2"
100
+ },
101
+ "scripts": {
102
+ "test": "yarn link",
103
+ "disconnect": "yarn unlink"
104
104
  }
105
- }
105
+ }