更新frontend前端构建

This commit is contained in:
jingrow 2026-04-22 00:29:50 +08:00
parent 3adb569b29
commit e4d60b2726
225 changed files with 237 additions and 236 deletions

View File

@ -1 +1 @@
import{D as S,i as v,c as A,b as _,bb as L,l as k,t as D,g as b,A as h,T as O,q as T,Z as V,_ as R,e as C,V as E,ap as I,r as a,a0 as N,p as w}from"./index-CCNaedqK.js";import $ from"./Autocomplete-4L3b5XUW.js";import{u as j,b as z,A as P,a as U,L as Y}from"./utils-CXGJciCc.js";import{o as q}from"./index-CAz7k-Zh.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-D9UFUJY9.js";import"./index-Car5T2D0.js";const W={class:"add-field-wrapper"},Z=["title"],G={__name:"AddFieldButton",props:{column:{type:Object,default:null},field:{type:Object,default:null},tooltip:{type:String,default:"Add field"}},emits:["update:modelValue"],setup(n,{expose:x,emit:H}){const d=j(),o=n,y=w(()=>{let e=o.field?o.field.df.name:o.column.df.name;return d.selected(e)}),l=a(!1),u=a(""),r=a({}),F=w(()=>[...P.filter(t=>!U(Y,t)).map(t=>({label:t,value:t}))]),s=a(null),f=a(null);q(s,()=>l.value=!1,{ignore:[f]});function g(){if(!s.value||!l.value)return;const e=s.value.getBoundingClientRect();r.value={position:"fixed",top:`${e.bottom+4}px`,left:`${e.left}px`,minWidth:"200px",zIndex:1e3}}function c(){l.value=!l.value,u.value="",N(()=>g())}function B(e){const t=e?.value;if(!t)return;let i={df:d.getDf(t),table_columns:[]},p=z(i),m=0;o.field&&(m=o.column.fields.indexOf(o.field)),o.column.fields.splice(m+1,0,p),d.form.selected_field=p.df,l.value=!1}return S(y,e=>{e||(l.value=!1)}),x({open:c}),(e,t)=>(v(),A("div",W,[_("button",{ref_key:"addFieldBtnRef",ref:s,class:"add-field-btn btn btn-xs btn-icon",title:n.tooltip,onClick:O(c,["stop"])},[L(e.$slots,"default",{},()=>[k(D(b(h)("Add field")),1)],!0)],8,Z),(v(),T(I,{to:"body"},[V(_("div",{ref_key:"autocompleteRef",ref:f,class:"autocomplete-dropdown",style:E(r.value)},[C($,{show:l.value,"onUpdate:show":t[0]||(t[0]=i=>l.value=i),value:u.value,options:F.value,onChange:B,placeholder:b(h)("Search fieldtypes...")},null,8,["show","value","options","placeholder"])],4),[[R,l.value]])]))]))}},oe=M(G,[["__scopeId","data-v-b6bd3c60"]]);export{oe as default};
import{D as S,i as v,c as A,b as _,bb as L,l as k,t as D,g as b,A as h,T as O,q as T,Z as V,_ as R,e as C,V as E,ap as I,r as a,a0 as N,p as w}from"./index-B-XVyan_.js";import $ from"./Autocomplete-Bdd6LhAE.js";import{u as j,b as z,A as P,a as U,L as Y}from"./utils-CyIbe-9L.js";import{o as q}from"./index-CuIWrasZ.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-BO-0UNsA.js";import"./index-Dj5-SshT.js";const W={class:"add-field-wrapper"},Z=["title"],G={__name:"AddFieldButton",props:{column:{type:Object,default:null},field:{type:Object,default:null},tooltip:{type:String,default:"Add field"}},emits:["update:modelValue"],setup(n,{expose:x,emit:H}){const d=j(),o=n,y=w(()=>{let e=o.field?o.field.df.name:o.column.df.name;return d.selected(e)}),l=a(!1),u=a(""),r=a({}),F=w(()=>[...P.filter(t=>!U(Y,t)).map(t=>({label:t,value:t}))]),s=a(null),f=a(null);q(s,()=>l.value=!1,{ignore:[f]});function g(){if(!s.value||!l.value)return;const e=s.value.getBoundingClientRect();r.value={position:"fixed",top:`${e.bottom+4}px`,left:`${e.left}px`,minWidth:"200px",zIndex:1e3}}function c(){l.value=!l.value,u.value="",N(()=>g())}function B(e){const t=e?.value;if(!t)return;let i={df:d.getDf(t),table_columns:[]},p=z(i),m=0;o.field&&(m=o.column.fields.indexOf(o.field)),o.column.fields.splice(m+1,0,p),d.form.selected_field=p.df,l.value=!1}return S(y,e=>{e||(l.value=!1)}),x({open:c}),(e,t)=>(v(),A("div",W,[_("button",{ref_key:"addFieldBtnRef",ref:s,class:"add-field-btn btn btn-xs btn-icon",title:n.tooltip,onClick:O(c,["stop"])},[L(e.$slots,"default",{},()=>[k(D(b(h)("Add field")),1)],!0)],8,Z),(v(),T(I,{to:"body"},[V(_("div",{ref_key:"autocompleteRef",ref:f,class:"autocomplete-dropdown",style:E(r.value)},[C($,{show:l.value,"onUpdate:show":t[0]||(t[0]=i=>l.value=i),value:u.value,options:F.value,onChange:B,placeholder:b(h)("Search fieldtypes...")},null,8,["show","value","options","placeholder"])],4),[[R,l.value]])]))]))}},oe=M(G,[["__scopeId","data-v-b6bd3c60"]]);export{oe as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{uploadFileToJingrow as w}from"./common-W0wo9ok5.js";import{d as E,c as s,b as o,l as U,t as f,s as p,F as I,L as R,r as x,p as u,i as c}from"./index-CCNaedqK.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},O={key:0,class:"required"},S={class:"attach-container"},V={class:"file-link-wrap"},F=["title","href"],L={key:0,class:"actions"},M={key:0,class:"actions actions-left"},T={key:1,class:"field-value"},$=E({__name:"Attach",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(a){const e=a,y=x(null),v=x(!1),i=u(()=>String(e.record?.[e.df.fieldname]||"")),_=u(()=>e.df.label_layout||"vertical"),b=u(()=>{const l=i.value;if(!l)return"";try{const n=new URL(l,window.location.origin).pathname,r=n.substring(n.lastIndexOf("/")+1);return decodeURIComponent(r||l)}catch{const n=l.lastIndexOf("/");return n>=0?decodeURIComponent(l.substring(n+1)):l}});function g(){e.canEdit&&y.value?.click()}async function h(l){const t=l.target,n=t.files?.[0];if(n)try{const r=e.ctx?.entity&&(e.ctx?.entity.value??e.ctx?.entity)||e.record?.pagetype||"",C=e.ctx?.id&&(e.ctx?.id.value??e.ctx?.id)||e.record?.name||"",m=e.df?.fieldname,d=await w(n,r,C,m);if(d.success){if(d.file_url){e.record[m]=d.file_url;try{typeof e.ctx?.save=="function"&&await e.ctx.save()}catch{}}}else alert(d.error||"上传失败")}catch{alert("上传失败")}finally{t&&(t.value="")}}function k(){e.canEdit&&(e.record[e.df.fieldname]="")}return(l,t)=>(c(),s("div",{class:R(["field-wrapper",`layout-${_.value}`])},[o("label",N,[U(f(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(c(),s("span",O,"*")):p("",!0)]),o("div",S,[i.value?(c(),s("div",{key:0,class:"attach-line",onMouseenter:t[0]||(t[0]=n=>v.value=!0),onMouseleave:t[1]||(t[1]=n=>v.value=!1)},[t[2]||(t[2]=o("span",{class:"link-icon"},[o("i",{class:"fa-regular fa-file"})],-1)),o("span",V,[o("a",{class:"file-link",title:i.value,href:i.value,target:"_blank",rel:"noopener"},f(b.value||i.value),9,F)]),a.canEdit?(c(),s("div",L,[o("button",{class:"action",type:"button",onClick:k},f(a.ctx.t?a.ctx.t("Clear"):"Clear"),1)])):p("",!0)],32)):(c(),s(I,{key:1},[a.canEdit?(c(),s("div",M,[o("button",{class:"action",type:"button",onClick:g},f(a.ctx.t?a.ctx.t("Upload"):"Upload"),1)])):(c(),s("span",T,"—"))],64)),o("input",{ref_key:"inputRef",ref:y,type:"file",style:{display:"none"},onChange:h},null,544)])],2))}}),j=B($,[["__scopeId","data-v-0249c198"]]),J=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"}));export{J as _};
import{uploadFileToJingrow as w}from"./common-DnqWLxUx.js";import{d as E,c as s,b as o,l as U,t as f,s as p,F as I,L as R,r as x,p as u,i as c}from"./index-B-XVyan_.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},O={key:0,class:"required"},S={class:"attach-container"},V={class:"file-link-wrap"},F=["title","href"],L={key:0,class:"actions"},M={key:0,class:"actions actions-left"},T={key:1,class:"field-value"},$=E({__name:"Attach",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(a){const e=a,y=x(null),v=x(!1),i=u(()=>String(e.record?.[e.df.fieldname]||"")),_=u(()=>e.df.label_layout||"vertical"),b=u(()=>{const l=i.value;if(!l)return"";try{const n=new URL(l,window.location.origin).pathname,r=n.substring(n.lastIndexOf("/")+1);return decodeURIComponent(r||l)}catch{const n=l.lastIndexOf("/");return n>=0?decodeURIComponent(l.substring(n+1)):l}});function g(){e.canEdit&&y.value?.click()}async function h(l){const t=l.target,n=t.files?.[0];if(n)try{const r=e.ctx?.entity&&(e.ctx?.entity.value??e.ctx?.entity)||e.record?.pagetype||"",C=e.ctx?.id&&(e.ctx?.id.value??e.ctx?.id)||e.record?.name||"",m=e.df?.fieldname,d=await w(n,r,C,m);if(d.success){if(d.file_url){e.record[m]=d.file_url;try{typeof e.ctx?.save=="function"&&await e.ctx.save()}catch{}}}else alert(d.error||"上传失败")}catch{alert("上传失败")}finally{t&&(t.value="")}}function k(){e.canEdit&&(e.record[e.df.fieldname]="")}return(l,t)=>(c(),s("div",{class:R(["field-wrapper",`layout-${_.value}`])},[o("label",N,[U(f(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(c(),s("span",O,"*")):p("",!0)]),o("div",S,[i.value?(c(),s("div",{key:0,class:"attach-line",onMouseenter:t[0]||(t[0]=n=>v.value=!0),onMouseleave:t[1]||(t[1]=n=>v.value=!1)},[t[2]||(t[2]=o("span",{class:"link-icon"},[o("i",{class:"fa-regular fa-file"})],-1)),o("span",V,[o("a",{class:"file-link",title:i.value,href:i.value,target:"_blank",rel:"noopener"},f(b.value||i.value),9,F)]),a.canEdit?(c(),s("div",L,[o("button",{class:"action",type:"button",onClick:k},f(a.ctx.t?a.ctx.t("Clear"):"Clear"),1)])):p("",!0)],32)):(c(),s(I,{key:1},[a.canEdit?(c(),s("div",M,[o("button",{class:"action",type:"button",onClick:g},f(a.ctx.t?a.ctx.t("Upload"):"Upload"),1)])):(c(),s("span",T,"—"))],64)),o("input",{ref_key:"inputRef",ref:y,type:"file",style:{display:"none"},onChange:h},null,544)])],2))}}),j=B($,[["__scopeId","data-v-0249c198"]]),J=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"}));export{J as _};

View File

@ -1 +1 @@
import{i as s,c as o,b as n,bb as a,t as c,g as r,A as d,s as i}from"./index-CCNaedqK.js";import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"control editable"},f={class:"field-controls"},u={class:"btn btn-sm btn-default"},b=["innerHTML"],m={__name:"AttachControl",props:["df"],setup(t){return(e,p)=>(s(),o("div",_,[n("div",f,[a(e.$slots,"label",{},void 0,!0),a(e.$slots,"actions",{},void 0,!0)]),n("button",u,c(r(d)("Attach")),1),t.df.description?(s(),o("div",{key:0,class:"mt-2 description",innerHTML:t.df.description},null,8,b)):i("",!0)]))}},A=l(m,[["__scopeId","data-v-bba868d0"]]);export{A as default};
import{i as s,c as o,b as n,bb as a,t as c,g as r,A as d,s as i}from"./index-B-XVyan_.js";import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"control editable"},f={class:"field-controls"},u={class:"btn btn-sm btn-default"},b=["innerHTML"],m={__name:"AttachControl",props:["df"],setup(t){return(e,p)=>(s(),o("div",_,[n("div",f,[a(e.$slots,"label",{},void 0,!0),a(e.$slots,"actions",{},void 0,!0)]),n("button",u,c(r(d)("Attach")),1),t.df.description?(s(),o("div",{key:0,class:"mt-2 description",innerHTML:t.df.description},null,8,b)):i("",!0)]))}},A=l(m,[["__scopeId","data-v-bba868d0"]]);export{A as default};

View File

@ -1 +1 @@
import{uploadFileToJingrow as w}from"./common-W0wo9ok5.js";import{d as C,c,b as o,l as E,t as u,s as m,F as V,L as B,r as y,p as _,i as n}from"./index-CCNaedqK.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"field-label"},F={key:0,class:"required"},M={class:"attach-image-container"},N={key:0,class:"attach-line"},T={class:"file-link-wrap"},U=["title"],$={key:0,class:"actions"},q={key:1,class:"preview-popover"},z=["src"],L={key:0,class:"actions actions-left"},O={key:1,class:"field-value"},R=C({__name:"AttachImage",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(t){const e=t,v=y(null),f=y(!1),r=_(()=>String(e.record?.[e.df.fieldname]||"")),h=_(()=>e.df.label_layout||"vertical");function b(){e.canEdit&&v.value?.click()}async function x(p){const a=p.target,s=a.files?.[0];if(s)try{const d=e.ctx?.entity&&(e.ctx?.entity.value??e.ctx?.entity)||e.record?.pagetype||"",g=e.ctx?.id&&(e.ctx?.id.value??e.ctx?.id)||e.record?.name||"",i=e.df?.fieldname,I=e.record?.[i];console.debug("[AttachImage] upload params",{pagetype:d,docname:g,fieldname:i,file:s.name,oldValue:I});const l=await w(s,d,g,i);if(console.debug("[AttachImage] upload result",l),l.success){if(console.debug("[AttachImage] server returned",{file_url:l.file_url,file_name:l.file_name,local_path:l.local_path}),l.file_url){e.record[i]=l.file_url,console.debug("[AttachImage] set field value locally",{fieldname:i,value:l.file_url});try{typeof e.ctx?.save=="function"&&(await e.ctx.save(),console.debug("[AttachImage] auto save triggered"))}catch(A){console.warn("[AttachImage] auto save failed",A)}}}else alert(l.error||"上传失败"),console.warn("[AttachImage] upload failed",l)}catch(d){alert("上传失败"),console.error("[AttachImage] upload error",d)}finally{a&&(a.value="")}}function k(){e.canEdit&&(e.record[e.df.fieldname]="")}return(p,a)=>(n(),c("div",{class:B(["field-wrapper",`layout-${h.value}`])},[o("label",j,[E(u(t.ctx.t(t.df.label||t.df.fieldname))+" ",1),t.df.reqd?(n(),c("span",F,"*")):m("",!0)]),o("div",M,[r.value?(n(),c("div",N,[a[2]||(a[2]=o("span",{class:"link-icon"},[o("i",{class:"fa-solid fa-link"})],-1)),o("span",T,[o("a",{class:"file-link",title:r.value,href:"javascript:void(0)",onMouseenter:a[0]||(a[0]=s=>f.value=!0),onMouseleave:a[1]||(a[1]=s=>f.value=!1)},u(r.value),41,U)]),t.canEdit?(n(),c("div",$,[o("button",{class:"action",type:"button",onClick:k},u(t.ctx.t?t.ctx.t("Clear"):"Clear"),1)])):m("",!0),f.value?(n(),c("div",q,[o("img",{src:r.value,alt:"preview"},null,8,z)])):m("",!0)])):(n(),c(V,{key:1},[t.canEdit?(n(),c("div",L,[o("button",{class:"action",type:"button",onClick:b},u(t.ctx.t?t.ctx.t("Upload"):"Upload"),1)])):(n(),c("span",O,"—"))],64)),o("input",{ref_key:"inputRef",ref:v,type:"file",accept:"image/*",style:{display:"none"},onChange:x},null,544)])],2))}}),D=S(R,[["__scopeId","data-v-468818cf"]]),H=Object.freeze(Object.defineProperty({__proto__:null,default:D},Symbol.toStringTag,{value:"Module"}));export{H as _};
import{uploadFileToJingrow as w}from"./common-DnqWLxUx.js";import{d as C,c,b as o,l as E,t as u,s as m,F as V,L as B,r as y,p as _,i as n}from"./index-B-XVyan_.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"field-label"},F={key:0,class:"required"},M={class:"attach-image-container"},N={key:0,class:"attach-line"},T={class:"file-link-wrap"},U=["title"],$={key:0,class:"actions"},q={key:1,class:"preview-popover"},z=["src"],L={key:0,class:"actions actions-left"},O={key:1,class:"field-value"},R=C({__name:"AttachImage",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(t){const e=t,v=y(null),f=y(!1),r=_(()=>String(e.record?.[e.df.fieldname]||"")),h=_(()=>e.df.label_layout||"vertical");function b(){e.canEdit&&v.value?.click()}async function x(p){const a=p.target,s=a.files?.[0];if(s)try{const d=e.ctx?.entity&&(e.ctx?.entity.value??e.ctx?.entity)||e.record?.pagetype||"",g=e.ctx?.id&&(e.ctx?.id.value??e.ctx?.id)||e.record?.name||"",i=e.df?.fieldname,I=e.record?.[i];console.debug("[AttachImage] upload params",{pagetype:d,docname:g,fieldname:i,file:s.name,oldValue:I});const l=await w(s,d,g,i);if(console.debug("[AttachImage] upload result",l),l.success){if(console.debug("[AttachImage] server returned",{file_url:l.file_url,file_name:l.file_name,local_path:l.local_path}),l.file_url){e.record[i]=l.file_url,console.debug("[AttachImage] set field value locally",{fieldname:i,value:l.file_url});try{typeof e.ctx?.save=="function"&&(await e.ctx.save(),console.debug("[AttachImage] auto save triggered"))}catch(A){console.warn("[AttachImage] auto save failed",A)}}}else alert(l.error||"上传失败"),console.warn("[AttachImage] upload failed",l)}catch(d){alert("上传失败"),console.error("[AttachImage] upload error",d)}finally{a&&(a.value="")}}function k(){e.canEdit&&(e.record[e.df.fieldname]="")}return(p,a)=>(n(),c("div",{class:B(["field-wrapper",`layout-${h.value}`])},[o("label",j,[E(u(t.ctx.t(t.df.label||t.df.fieldname))+" ",1),t.df.reqd?(n(),c("span",F,"*")):m("",!0)]),o("div",M,[r.value?(n(),c("div",N,[a[2]||(a[2]=o("span",{class:"link-icon"},[o("i",{class:"fa-solid fa-link"})],-1)),o("span",T,[o("a",{class:"file-link",title:r.value,href:"javascript:void(0)",onMouseenter:a[0]||(a[0]=s=>f.value=!0),onMouseleave:a[1]||(a[1]=s=>f.value=!1)},u(r.value),41,U)]),t.canEdit?(n(),c("div",$,[o("button",{class:"action",type:"button",onClick:k},u(t.ctx.t?t.ctx.t("Clear"):"Clear"),1)])):m("",!0),f.value?(n(),c("div",q,[o("img",{src:r.value,alt:"preview"},null,8,z)])):m("",!0)])):(n(),c(V,{key:1},[t.canEdit?(n(),c("div",L,[o("button",{class:"action",type:"button",onClick:b},u(t.ctx.t?t.ctx.t("Upload"):"Upload"),1)])):(n(),c("span",O,"—"))],64)),o("input",{ref_key:"inputRef",ref:v,type:"file",accept:"image/*",style:{display:"none"},onChange:x},null,544)])],2))}}),D=S(R,[["__scopeId","data-v-468818cf"]]),H=Object.freeze(Object.defineProperty({__proto__:null,default:D},Symbol.toStringTag,{value:"Module"}));export{H as _};

View File

@ -1 +1 @@
import{d as ee,x as te,i as c,c as r,b as s,e as l,w as i,t as d,g as a,A as f,q as ae,U as w,B,s as p,F as U,C as V,T as y,l as A,p as n,r as F}from"./index-CCNaedqK.js";import{I as _}from"./iconify-D9UFUJY9.js";import le from"./ImageGallery-CJaqPoj6.js";import{_ as ne}from"./_plugin-vue_export-helper-DlAUqK2U.js";const se={key:0,class:"media-section"},oe={class:"section-header"},ie={key:0,class:"image-attachment-list"},ce={class:"image-attachment"},re={class:"image-container"},ue=["src","alt","onClick"],me={class:"image-overlay"},de=["onClick","title"],fe={class:"image-filename"},pe={key:1,class:"file-attachment-list"},_e={class:"file-attachment"},he={class:"attachment-icon"},ve={class:"attachment-info"},ge={class:"file-name-container"},ke=["onClick","title"],ye={key:2,class:"load-more-container"},Ae={key:3,class:"add-attachment-placeholder"},xe=8,be=20,Ce=ee({__name:"AttachmentSection",props:{metaFields:{},record:{},canEdit:{type:Boolean}},emits:["add-attachment","delete-attachment"],setup(T,{expose:j,emit:P}){const M=T,z=P,h=n(()=>{const e=M.record.attachments||[];return e.length===0?[]:e.map(t=>({file_name:t.file_name||t.name,file_url:t.file_url||t.url,name:t.name,is_private:t.is_private||!1}))}),v=F(8),g=F(20),x=n(()=>h.value.filter(e=>k(e))),b=n(()=>h.value.filter(e=>!k(e))),E=n(()=>x.value.slice(0,v.value)),$=n(()=>b.value.slice(0,g.value)),R=n(()=>x.value.length>v.value),q=n(()=>b.value.length>g.value),O=n(()=>R.value||q.value),H=n(()=>E.value.length>0),J=n(()=>$.value.length>0),K=n(()=>{const e=Math.max(0,x.value.length-v.value),t=Math.max(0,b.value.length-g.value);return e+t}),Q=()=>{v.value+=xe,g.value+=be},D=n(()=>h.value.length>0),C=n(()=>M.canEdit!==!1),I=F(),N=n(()=>h.value.filter(e=>k(e)).map(e=>e.file_url)),k=e=>{const t=e.file_url||"",u=e.file_name||"";return[".jpg",".jpeg",".png",".gif",".webp",".bmp",".svg"].some(m=>t.toLowerCase().includes(m)||u.toLowerCase().includes(m))},W=e=>{switch(e.split(".").pop()?.toLowerCase()){case"pdf":return"tabler:file-type-pdf";case"doc":case"docx":return"tabler:file-type-doc";case"xls":case"xlsx":return"tabler:file-type-xls";case"ppt":case"pptx":return"tabler:file-type-ppt";case"zip":case"rar":return"tabler:file-zip";case"txt":return"tabler:file-text";default:return"tabler:file"}},X=e=>{const t=h.value.slice(0,e+1).filter(u=>k(u)).length-1;I.value?.open(t)},Y=()=>{};j({openByUrl:e=>{const t=N.value.indexOf(e);t>=0&&I.value?.open(t)}});const G=()=>{z("add-attachment")},L=e=>{z("delete-attachment",e)},Z=e=>{const t=e.target;t.src&&!t.src.includes("?retry=")&&setTimeout(()=>{t.src=t.src.split("?")[0]+"?retry="+Date.now()},1e3)};return(e,t)=>{const u=te("router-link");return D.value||C.value?(c(),r("div",se,[s("div",oe,[l(u,{to:"/app/file",class:"section-title-link",target:"_blank"},{default:i(()=>[s("h4",null,d(a(f)("Attachments")),1)]),_:1}),C.value?(c(),ae(a(B),{key:0,type:"default",size:"small",text:"",onClick:G,title:a(f)("Add Attachment"),class:"add-attachment-btn"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(_),{icon:"tabler:plus"})]),_:1})]),_:1},8,["title"])):p("",!0)]),H.value?(c(),r("div",ie,[(c(!0),r(U,null,V(E.value,(o,m)=>(c(),r("div",{key:`image-${m}`,class:"image-attachment-item"},[s("div",ce,[s("div",re,[s("img",{src:o.file_url,alt:o.file_name,loading:"lazy",onClick:S=>X(m),onError:Z},null,40,ue),s("div",me,[s("button",{onClick:y(S=>L(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn"},[l(a(_),{icon:"tabler:x"})],8,de)])]),s("div",fe,[l(u,{to:`/app/file/${o.name}`,class:"file-name-link",target:"_blank",onClick:t[0]||(t[0]=y(()=>{},["stop"]))},{default:i(()=>[A(d(o.file_name),1)]),_:2},1032,["to"])])])]))),128))])):p("",!0),J.value?(c(),r("div",pe,[(c(!0),r(U,null,V($.value,(o,m)=>(c(),r("div",{key:`file-${m}`,class:"file-attachment-item"},[s("div",_e,[s("div",he,[l(a(_),{icon:W(o.file_url)},null,8,["icon"])]),s("div",ve,[s("div",ge,[l(u,{to:`/app/file/${o.name}`,class:"file-name-link",target:"_blank",onClick:t[1]||(t[1]=y(()=>{},["stop"]))},{default:i(()=>[A(d(o.file_name),1)]),_:2},1032,["to"]),s("button",{onClick:y(S=>L(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn-inline"},[l(a(_),{icon:"tabler:x"})],8,ke)])])])]))),128))])):p("",!0),O.value?(c(),r("div",ye,[l(a(B),{type:"default",size:"small",text:"",onClick:Q,class:"load-more-btn"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(_),{icon:"tabler:chevron-down"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Load More"))+" ("+d(K.value)+") ",1)]),_:1})])):p("",!0),!D.value&&C.value?(c(),r("div",Ae,[l(a(B),{type:"default",onClick:G,class:"add-button"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(_),{icon:"tabler:plus"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Add Attachment")),1)]),_:1})])):p("",!0),l(le,{ref_key:"imageGalleryRef",ref:I,images:N.value,onClose:Y},null,8,["images"])])):p("",!0)}}}),ze=ne(Ce,[["__scopeId","data-v-a2401eae"]]);export{ze as default};
import{d as ee,x as te,i as c,c as r,b as s,e as l,w as i,t as d,g as a,A as f,q as ae,U as w,B,s as p,F as U,C as V,T as y,l as A,p as n,r as F}from"./index-B-XVyan_.js";import{I as _}from"./iconify-BO-0UNsA.js";import le from"./ImageGallery-CY_L0IF3.js";import{_ as ne}from"./_plugin-vue_export-helper-DlAUqK2U.js";const se={key:0,class:"media-section"},oe={class:"section-header"},ie={key:0,class:"image-attachment-list"},ce={class:"image-attachment"},re={class:"image-container"},ue=["src","alt","onClick"],me={class:"image-overlay"},de=["onClick","title"],fe={class:"image-filename"},pe={key:1,class:"file-attachment-list"},_e={class:"file-attachment"},he={class:"attachment-icon"},ve={class:"attachment-info"},ge={class:"file-name-container"},ke=["onClick","title"],ye={key:2,class:"load-more-container"},Ae={key:3,class:"add-attachment-placeholder"},xe=8,be=20,Ce=ee({__name:"AttachmentSection",props:{metaFields:{},record:{},canEdit:{type:Boolean}},emits:["add-attachment","delete-attachment"],setup(T,{expose:j,emit:P}){const M=T,z=P,h=n(()=>{const e=M.record.attachments||[];return e.length===0?[]:e.map(t=>({file_name:t.file_name||t.name,file_url:t.file_url||t.url,name:t.name,is_private:t.is_private||!1}))}),v=F(8),g=F(20),x=n(()=>h.value.filter(e=>k(e))),b=n(()=>h.value.filter(e=>!k(e))),E=n(()=>x.value.slice(0,v.value)),$=n(()=>b.value.slice(0,g.value)),R=n(()=>x.value.length>v.value),q=n(()=>b.value.length>g.value),O=n(()=>R.value||q.value),H=n(()=>E.value.length>0),J=n(()=>$.value.length>0),K=n(()=>{const e=Math.max(0,x.value.length-v.value),t=Math.max(0,b.value.length-g.value);return e+t}),Q=()=>{v.value+=xe,g.value+=be},D=n(()=>h.value.length>0),C=n(()=>M.canEdit!==!1),I=F(),N=n(()=>h.value.filter(e=>k(e)).map(e=>e.file_url)),k=e=>{const t=e.file_url||"",u=e.file_name||"";return[".jpg",".jpeg",".png",".gif",".webp",".bmp",".svg"].some(m=>t.toLowerCase().includes(m)||u.toLowerCase().includes(m))},W=e=>{switch(e.split(".").pop()?.toLowerCase()){case"pdf":return"tabler:file-type-pdf";case"doc":case"docx":return"tabler:file-type-doc";case"xls":case"xlsx":return"tabler:file-type-xls";case"ppt":case"pptx":return"tabler:file-type-ppt";case"zip":case"rar":return"tabler:file-zip";case"txt":return"tabler:file-text";default:return"tabler:file"}},X=e=>{const t=h.value.slice(0,e+1).filter(u=>k(u)).length-1;I.value?.open(t)},Y=()=>{};j({openByUrl:e=>{const t=N.value.indexOf(e);t>=0&&I.value?.open(t)}});const G=()=>{z("add-attachment")},L=e=>{z("delete-attachment",e)},Z=e=>{const t=e.target;t.src&&!t.src.includes("?retry=")&&setTimeout(()=>{t.src=t.src.split("?")[0]+"?retry="+Date.now()},1e3)};return(e,t)=>{const u=te("router-link");return D.value||C.value?(c(),r("div",se,[s("div",oe,[l(u,{to:"/app/file",class:"section-title-link",target:"_blank"},{default:i(()=>[s("h4",null,d(a(f)("Attachments")),1)]),_:1}),C.value?(c(),ae(a(B),{key:0,type:"default",size:"small",text:"",onClick:G,title:a(f)("Add Attachment"),class:"add-attachment-btn"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(_),{icon:"tabler:plus"})]),_:1})]),_:1},8,["title"])):p("",!0)]),H.value?(c(),r("div",ie,[(c(!0),r(U,null,V(E.value,(o,m)=>(c(),r("div",{key:`image-${m}`,class:"image-attachment-item"},[s("div",ce,[s("div",re,[s("img",{src:o.file_url,alt:o.file_name,loading:"lazy",onClick:S=>X(m),onError:Z},null,40,ue),s("div",me,[s("button",{onClick:y(S=>L(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn"},[l(a(_),{icon:"tabler:x"})],8,de)])]),s("div",fe,[l(u,{to:`/app/file/${o.name}`,class:"file-name-link",target:"_blank",onClick:t[0]||(t[0]=y(()=>{},["stop"]))},{default:i(()=>[A(d(o.file_name),1)]),_:2},1032,["to"])])])]))),128))])):p("",!0),J.value?(c(),r("div",pe,[(c(!0),r(U,null,V($.value,(o,m)=>(c(),r("div",{key:`file-${m}`,class:"file-attachment-item"},[s("div",_e,[s("div",he,[l(a(_),{icon:W(o.file_url)},null,8,["icon"])]),s("div",ve,[s("div",ge,[l(u,{to:`/app/file/${o.name}`,class:"file-name-link",target:"_blank",onClick:t[1]||(t[1]=y(()=>{},["stop"]))},{default:i(()=>[A(d(o.file_name),1)]),_:2},1032,["to"]),s("button",{onClick:y(S=>L(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn-inline"},[l(a(_),{icon:"tabler:x"})],8,ke)])])])]))),128))])):p("",!0),O.value?(c(),r("div",ye,[l(a(B),{type:"default",size:"small",text:"",onClick:Q,class:"load-more-btn"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(_),{icon:"tabler:chevron-down"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Load More"))+" ("+d(K.value)+") ",1)]),_:1})])):p("",!0),!D.value&&C.value?(c(),r("div",Ae,[l(a(B),{type:"default",onClick:G,class:"add-button"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(_),{icon:"tabler:plus"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Add Attachment")),1)]),_:1})])):p("",!0),l(le,{ref_key:"imageGalleryRef",ref:I,images:N.value,onClose:Y},null,8,["images"])])):p("",!0)}}}),ze=ne(Ce,[["__scopeId","data-v-a2401eae"]]);export{ze as default};

View File

@ -1 +1 @@
import{D as x,i as r,c as u,b as t,T as y,e as k,g as w,F as g,C,L as I,t as B,r as i,p as L,a0 as S}from"./index-CCNaedqK.js";import{I as V}from"./iconify-D9UFUJY9.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"autocomplete-wrapper"},D={class:"combo-box-options"},F={class:"search-box"},N=["value","placeholder"],O={class:"combo-box-items"},T=["onClick","onMouseenter"],$={__name:"Autocomplete",props:{options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},modelValue:{type:String,default:""},show:{type:Boolean,default:!1}},emits:["update:modelValue","update:show","change"],setup(m,{emit:f}){const s=m,p=f,e=i(""),n=i(null),d=i(0),v=L(()=>e.value?s.options.filter(o=>o.label.toLowerCase().includes(e.value.toLowerCase())):s.options);function h(o){e.value="",p("change",o),p("update:show",!1)}function _(){e.value="",n.value?.focus()}return x(()=>s.show,o=>{o&&S(()=>{n.value?.focus()})}),(o,a)=>(r(),u("div",M,[t("div",D,[t("div",F,[t("input",{ref_key:"search",ref:n,class:"search-input form-control",type:"text",onInput:a[0]||(a[0]=l=>e.value=l.target.value),value:e.value,placeholder:s.placeholder,autocomplete:"off",onClick:a[1]||(a[1]=y(()=>{},["stop"]))},null,40,N),t("button",{class:"clear-button btn btn-sm",onClick:_},[k(w(V),{icon:"mdi:close",class:"icon-sm"})])]),t("div",O,[(r(!0),u(g,null,C(v.value,(l,c)=>(r(),u("div",{key:c,class:I(["combo-box-option",d.value===c?"active":""]),onClick:b=>h(l),onMouseenter:b=>d.value=c},B(l.label),43,T))),128))])])]))}},j=A($,[["__scopeId","data-v-7fd074cb"]]);export{j as default};
import{D as x,i as r,c as u,b as t,T as y,e as k,g as w,F as g,C,L as I,t as B,r as i,p as L,a0 as S}from"./index-B-XVyan_.js";import{I as V}from"./iconify-BO-0UNsA.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"autocomplete-wrapper"},D={class:"combo-box-options"},F={class:"search-box"},N=["value","placeholder"],O={class:"combo-box-items"},T=["onClick","onMouseenter"],$={__name:"Autocomplete",props:{options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},modelValue:{type:String,default:""},show:{type:Boolean,default:!1}},emits:["update:modelValue","update:show","change"],setup(m,{emit:f}){const s=m,p=f,e=i(""),n=i(null),d=i(0),v=L(()=>e.value?s.options.filter(o=>o.label.toLowerCase().includes(e.value.toLowerCase())):s.options);function h(o){e.value="",p("change",o),p("update:show",!1)}function _(){e.value="",n.value?.focus()}return x(()=>s.show,o=>{o&&S(()=>{n.value?.focus()})}),(o,a)=>(r(),u("div",M,[t("div",D,[t("div",F,[t("input",{ref_key:"search",ref:n,class:"search-input form-control",type:"text",onInput:a[0]||(a[0]=l=>e.value=l.target.value),value:e.value,placeholder:s.placeholder,autocomplete:"off",onClick:a[1]||(a[1]=y(()=>{},["stop"]))},null,40,N),t("button",{class:"clear-button btn btn-sm",onClick:_},[k(w(V),{icon:"mdi:close",class:"icon-sm"})])]),t("div",O,[(r(!0),u(g,null,C(v.value,(l,c)=>(r(),u("div",{key:c,class:I(["combo-box-option",d.value===c?"active":""]),onClick:b=>h(l),onMouseenter:b=>d.value=c},B(l.label),43,T))),128))])])]))}},j=A($,[["__scopeId","data-v-7fd074cb"]]);export{j as default};

View File

@ -1 +1 @@
import{d as n,c as a,b as s,l as i,t as r,s as f,e as u,g as m,ax as b,L as v,p as x,i as l}from"./index-CCNaedqK.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},p={key:0,class:"required"},N=n({__name:"Autocomplete",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(B,t)=>(l(),a("div",{class:v(["field-wrapper",`layout-${d.value}`])},[s("label",g,[i(r(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),a("span",p,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":t[0]||(t[0]=c=>e.record[e.df.fieldname]=c),options:e.ctx.getSelectOptions?e.ctx.getSelectOptions(e.df):[],placeholder:"",disabled:!e.canEdit},null,8,["value","options","disabled"])],2))}}),S=y(N,[["__scopeId","data-v-4b87b636"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as n,c as a,b as s,l as i,t as r,s as f,e as u,g as m,ax as b,L as v,p as x,i as l}from"./index-B-XVyan_.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},p={key:0,class:"required"},N=n({__name:"Autocomplete",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(B,t)=>(l(),a("div",{class:v(["field-wrapper",`layout-${d.value}`])},[s("label",g,[i(r(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),a("span",p,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":t[0]||(t[0]=c=>e.record[e.df.fieldname]=c),options:e.ctx.getSelectOptions?e.ctx.getSelectOptions(e.df):[],placeholder:"",disabled:!e.canEdit},null,8,["value","options","disabled"])],2))}}),S=y(N,[["__scopeId","data-v-4b87b636"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{V as _};

View File

@ -1 +1 @@
import{d as s,c as t,b as n,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},B={key:0,class:"required"},_=s({__name:"Barcode",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(N,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[n("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",B,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=c=>e.record[e.df.fieldname]=c),type:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),g=p(_,[["__scopeId","data-v-edf8a10a"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{C as _};
import{d as s,c as t,b as n,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},B={key:0,class:"required"},_=s({__name:"Barcode",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(N,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[n("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",B,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=c=>e.record[e.df.fieldname]=c),type:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),g=p(_,[["__scopeId","data-v-edf8a10a"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{C as _};

View File

@ -1 +1 @@
import{I as n}from"./iconify-D9UFUJY9.js";import{d as m,i as r,c,b as s,bb as k,e as a,g as t,A as l,s as b,V as p,L as u}from"./index-CCNaedqK.js";import{_ as $}from"./_plugin-vue_export-helper-DlAUqK2U.js";const f={class:"block-content"},v={key:0,class:"block-actions"},B=["title"],y=["title"],C=["title"],g=["title"],h=["title"],z=m({__name:"BaseBlock",props:{type:{},span:{},editMode:{type:Boolean},editable:{type:Boolean}},emits:["edit","expand","shrink","delete"],setup(o){return(i,e)=>(r(),c("div",{class:u(["workspace-block",[`block-${o.type}`,{"edit-mode":o.editMode}]]),style:p({gridColumn:`span ${o.span}`})},[s("div",f,[k(i.$slots,"default",{},void 0,!0)]),o.editMode?(r(),c("div",v,[s("button",{class:"action-btn drag-handle",title:t(l)("Drag")},[a(t(n),{icon:"tabler:grip-vertical"})],8,B),o.editable?(r(),c("button",{key:0,class:"action-btn",onClick:e[0]||(e[0]=d=>i.$emit("edit")),title:t(l)("Edit")},[a(t(n),{icon:"tabler:edit"})],8,y)):b("",!0),s("button",{class:"action-btn",onClick:e[1]||(e[1]=d=>i.$emit("expand")),title:t(l)("Expand")},[a(t(n),{icon:"tabler:arrows-maximize"})],8,C),s("button",{class:"action-btn",onClick:e[2]||(e[2]=d=>i.$emit("shrink")),title:t(l)("Shrink")},[a(t(n),{icon:"tabler:arrows-minimize"})],8,g),s("button",{class:"action-btn delete-btn",onClick:e[3]||(e[3]=d=>i.$emit("delete")),title:t(l)("Delete")},[a(t(n),{icon:"tabler:trash"})],8,h)])):b("",!0)],6))}}),E=$(z,[["__scopeId","data-v-c35f7ccc"]]);export{E as default};
import{I as n}from"./iconify-BO-0UNsA.js";import{d as m,i as r,c,b as s,bb as k,e as a,g as t,A as l,s as b,V as p,L as u}from"./index-B-XVyan_.js";import{_ as $}from"./_plugin-vue_export-helper-DlAUqK2U.js";const f={class:"block-content"},v={key:0,class:"block-actions"},B=["title"],y=["title"],C=["title"],g=["title"],h=["title"],z=m({__name:"BaseBlock",props:{type:{},span:{},editMode:{type:Boolean},editable:{type:Boolean}},emits:["edit","expand","shrink","delete"],setup(o){return(i,e)=>(r(),c("div",{class:u(["workspace-block",[`block-${o.type}`,{"edit-mode":o.editMode}]]),style:p({gridColumn:`span ${o.span}`})},[s("div",f,[k(i.$slots,"default",{},void 0,!0)]),o.editMode?(r(),c("div",v,[s("button",{class:"action-btn drag-handle",title:t(l)("Drag")},[a(t(n),{icon:"tabler:grip-vertical"})],8,B),o.editable?(r(),c("button",{key:0,class:"action-btn",onClick:e[0]||(e[0]=d=>i.$emit("edit")),title:t(l)("Edit")},[a(t(n),{icon:"tabler:edit"})],8,y)):b("",!0),s("button",{class:"action-btn",onClick:e[1]||(e[1]=d=>i.$emit("expand")),title:t(l)("Expand")},[a(t(n),{icon:"tabler:arrows-maximize"})],8,C),s("button",{class:"action-btn",onClick:e[2]||(e[2]=d=>i.$emit("shrink")),title:t(l)("Shrink")},[a(t(n),{icon:"tabler:arrows-minimize"})],8,g),s("button",{class:"action-btn delete-btn",onClick:e[3]||(e[3]=d=>i.$emit("delete")),title:t(l)("Delete")},[a(t(n),{icon:"tabler:trash"})],8,h)])):b("",!0)],6))}}),E=$(z,[["__scopeId","data-v-c35f7ccc"]]);export{E as default};

View File

@ -1 +1 @@
import{i as n,c as i,b as e,t as c,bb as a,T as r,s as m}from"./index-CCNaedqK.js";import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"modal-wrapper"},f={class:"modal-container"},p={class:"modal-header"},h={class:"modal-body"},b={class:"modal-footer"},k={__name:"BaseModal",props:{modelValue:Boolean,title:{type:String,default:""}},emits:["update:modelValue"],setup(t,{emit:l}){const d=l;function o(){d("update:modelValue",!1)}return(s,v)=>t.modelValue?(n(),i("div",{key:0,class:"modal-mask",onClick:r(o,["self"])},[e("div",_,[e("div",f,[e("div",p,[e("h4",null,c(t.title),1),e("button",{class:"modal-close",onClick:o},"×")]),e("div",h,[a(s.$slots,"default",{},void 0,!0)]),e("div",b,[a(s.$slots,"footer",{},()=>[e("button",{class:"btn btn-primary",onClick:o},"确定")],!0)])])])])):m("",!0)}},y=u(k,[["__scopeId","data-v-9d206155"]]);export{y as default};
import{i as n,c as i,b as e,t as c,bb as a,T as r,s as m}from"./index-B-XVyan_.js";import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"modal-wrapper"},f={class:"modal-container"},p={class:"modal-header"},h={class:"modal-body"},b={class:"modal-footer"},k={__name:"BaseModal",props:{modelValue:Boolean,title:{type:String,default:""}},emits:["update:modelValue"],setup(t,{emit:l}){const d=l;function o(){d("update:modelValue",!1)}return(s,v)=>t.modelValue?(n(),i("div",{key:0,class:"modal-mask",onClick:r(o,["self"])},[e("div",_,[e("div",f,[e("div",p,[e("h4",null,c(t.title),1),e("button",{class:"modal-close",onClick:o},"×")]),e("div",h,[a(s.$slots,"default",{},void 0,!0)]),e("div",b,[a(s.$slots,"footer",{},()=>[e("button",{class:"btn btn-primary",onClick:o},"确定")],!0)])])])])):m("",!0)}},y=u(k,[["__scopeId","data-v-9d206155"]]);export{y as default};

View File

@ -1 +1 @@
import{d as u,c as a,b,l,t as o,s as m,e as d,w as r,g as s,bw as x,L as v,p as B,i as n,B as C}from"./index-CCNaedqK.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={class:"field-label"},g={key:0,class:"required"},h=u({__name:"Button",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const c=e,f=B(()=>c.df.label_layout||"vertical"),i={Button:{colorDefault:"#f3f4f6",colorHoverDefault:"#e5e7eb",colorPressedDefault:"#d1d5db",textColorDefault:"#374151",textColorHoverDefault:"#374151",textColorPressedDefault:"#374151",borderDefault:"1px solid #d1d5db",borderHoverDefault:"1px solid #9ca3af",borderPressedDefault:"1px solid #9ca3af"}};return(N,t)=>(n(),a("div",{class:v(["field-wrapper",`layout-${f.value}`])},[b("label",y,[l(o(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(n(),a("span",g,"*")):m("",!0)]),d(s(x),{"theme-overrides":i},{default:r(()=>[d(s(C),{type:"default",disabled:!e.canEdit,onClick:t[0]||(t[0]=P=>e.ctx.handleButtonClick?e.ctx.handleButtonClick(e.df):null)},{default:r(()=>[l(o(e.ctx.t(e.df.label||e.df.fieldname)),1)]),_:1},8,["disabled"])]),_:1})],2))}}),k=D(h,[["__scopeId","data-v-e111381f"]]),_=Object.freeze(Object.defineProperty({__proto__:null,default:k},Symbol.toStringTag,{value:"Module"}));export{_};
import{d as u,c as a,b,l,t as o,s as m,e as d,w as r,g as s,bw as x,L as v,p as B,i as n,B as C}from"./index-B-XVyan_.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={class:"field-label"},g={key:0,class:"required"},h=u({__name:"Button",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const c=e,f=B(()=>c.df.label_layout||"vertical"),i={Button:{colorDefault:"#f3f4f6",colorHoverDefault:"#e5e7eb",colorPressedDefault:"#d1d5db",textColorDefault:"#374151",textColorHoverDefault:"#374151",textColorPressedDefault:"#374151",borderDefault:"1px solid #d1d5db",borderHoverDefault:"1px solid #9ca3af",borderPressedDefault:"1px solid #9ca3af"}};return(N,t)=>(n(),a("div",{class:v(["field-wrapper",`layout-${f.value}`])},[b("label",y,[l(o(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(n(),a("span",g,"*")):m("",!0)]),d(s(x),{"theme-overrides":i},{default:r(()=>[d(s(C),{type:"default",disabled:!e.canEdit,onClick:t[0]||(t[0]=P=>e.ctx.handleButtonClick?e.ctx.handleButtonClick(e.df):null)},{default:r(()=>[l(o(e.ctx.t(e.df.label||e.df.fieldname)),1)]),_:1},8,["disabled"])]),_:1})],2))}}),k=D(h,[["__scopeId","data-v-e111381f"]]),_=Object.freeze(Object.defineProperty({__proto__:null,default:k},Symbol.toStringTag,{value:"Module"}));export{_};

View File

@ -1 +1 @@
import{_ as d}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{i as t,c as o,b as a,bb as n,s as i}from"./index-CCNaedqK.js";const l=["data-fieldtype"],r={class:"field-controls"},c={key:0},f={key:1,class:"btn btn-xs btn-default"},u=["innerHTML"],_={__name:"ButtonControl",props:["df","value"],setup(e){return(s,b)=>(t(),o("div",{class:"control form-builder-control editable","data-fieldtype":e.df.fieldtype},[a("div",r,[e.df.fieldtype==="Heading"?(t(),o("h4",c,[n(s.$slots,"label",{},void 0,!0)])):(t(),o("button",f,[n(s.$slots,"label",{},void 0,!0)])),n(s.$slots,"actions",{},void 0,!0)]),e.df.description?(t(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,u)):i("",!0)],8,l))}},h=d(_,[["__scopeId","data-v-5dc3795d"]]);export{h as default};
import{_ as d}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{i as t,c as o,b as a,bb as n,s as i}from"./index-B-XVyan_.js";const l=["data-fieldtype"],r={class:"field-controls"},c={key:0},f={key:1,class:"btn btn-xs btn-default"},u=["innerHTML"],_={__name:"ButtonControl",props:["df","value"],setup(e){return(s,b)=>(t(),o("div",{class:"control form-builder-control editable","data-fieldtype":e.df.fieldtype},[a("div",r,[e.df.fieldtype==="Heading"?(t(),o("h4",c,[n(s.$slots,"label",{},void 0,!0)])):(t(),o("button",f,[n(s.$slots,"label",{},void 0,!0)])),n(s.$slots,"actions",{},void 0,!0)]),e.df.description?(t(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,u)):i("",!0)],8,l))}},h=d(_,[["__scopeId","data-v-5dc3795d"]]);export{h as default};

View File

@ -1 +1 @@
import{d as k,i as d,c as r,L as g,b as s,t as u,g as e,A as i,e as n,M as v,w as C,s as y,F as M,C as w,T as B,h as $,p as x,Q as D,P as L}from"./index-CCNaedqK.js";import{I as c}from"./iconify-D9UFUJY9.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"card-header"},I={class:"card-title"},T={key:0,class:"card-actions"},V=["title"],z=["title"],E=["title"],F={class:"card-body"},A={class:"card-links"},O=["onClick"],P={class:"link-text"},Q=k({__name:"CardBlock",props:{title:{},links:{},editMode:{type:Boolean}},emits:["edit","delete"],setup(l,{emit:_}){const m=_,p=$(),h=x(()=>[{label:i("Delete"),key:"delete",icon:()=>L(c,{icon:"tabler:trash",size:16})}]);function b(t){if(!t)return;const o=(t.link_type||"").toLowerCase();if(o==="pagetype"||o==="report"){const a=D(t.link_to);p.push(`/app/${a}`)}else o==="page"&&p.push(`/${t.link_to}`)}function f(t){t==="delete"&&m("delete")}return(t,o)=>(d(),r("div",{class:g(["card",{"edit-mode":l.editMode}])},[s("div",S,[s("div",I,u(e(i)(l.title)),1),l.editMode?(d(),r("div",T,[s("button",{class:"action-btn",onClick:o[0]||(o[0]=a=>t.$emit("edit")),title:e(i)("Edit")},[n(e(c),{icon:"tabler:edit"})],8,V),s("button",{class:"action-btn drag-handle",title:e(i)("Drag")},[n(e(c),{icon:"tabler:grip-vertical"})],8,z),n(e(v),{trigger:"click",options:h.value,onSelect:f},{default:C(()=>[s("button",{class:"action-btn",title:e(i)("More")},[n(e(c),{icon:"tabler:dots"})],8,E)]),_:1},8,["options"])])):y("",!0)]),s("div",F,[s("div",A,[(d(!0),r(M,null,w(l.links,a=>(d(),r("a",{key:a.label,class:"link",onClick:B(R=>b(a),["prevent"])},[s("span",P,u(e(i)(a.label)),1),n(e(c),{class:"link-icon",icon:"tabler:arrow-up-right"})],8,O))),128))])])],2))}}),H=N(Q,[["__scopeId","data-v-5e2035d7"]]);export{H as default};
import{d as k,i as d,c as r,L as g,b as s,t as u,g as e,A as i,e as n,M as v,w as C,s as y,F as M,C as w,T as B,h as $,p as x,Q as D,P as L}from"./index-B-XVyan_.js";import{I as c}from"./iconify-BO-0UNsA.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"card-header"},I={class:"card-title"},T={key:0,class:"card-actions"},V=["title"],z=["title"],E=["title"],F={class:"card-body"},A={class:"card-links"},O=["onClick"],P={class:"link-text"},Q=k({__name:"CardBlock",props:{title:{},links:{},editMode:{type:Boolean}},emits:["edit","delete"],setup(l,{emit:_}){const m=_,p=$(),h=x(()=>[{label:i("Delete"),key:"delete",icon:()=>L(c,{icon:"tabler:trash",size:16})}]);function b(t){if(!t)return;const o=(t.link_type||"").toLowerCase();if(o==="pagetype"||o==="report"){const a=D(t.link_to);p.push(`/app/${a}`)}else o==="page"&&p.push(`/${t.link_to}`)}function f(t){t==="delete"&&m("delete")}return(t,o)=>(d(),r("div",{class:g(["card",{"edit-mode":l.editMode}])},[s("div",S,[s("div",I,u(e(i)(l.title)),1),l.editMode?(d(),r("div",T,[s("button",{class:"action-btn",onClick:o[0]||(o[0]=a=>t.$emit("edit")),title:e(i)("Edit")},[n(e(c),{icon:"tabler:edit"})],8,V),s("button",{class:"action-btn drag-handle",title:e(i)("Drag")},[n(e(c),{icon:"tabler:grip-vertical"})],8,z),n(e(v),{trigger:"click",options:h.value,onSelect:f},{default:C(()=>[s("button",{class:"action-btn",title:e(i)("More")},[n(e(c),{icon:"tabler:dots"})],8,E)]),_:1},8,["options"])])):y("",!0)]),s("div",F,[s("div",A,[(d(!0),r(M,null,w(l.links,a=>(d(),r("a",{key:a.label,class:"link",onClick:B(R=>b(a),["prevent"])},[s("span",P,u(e(i)(a.label)),1),n(e(c),{class:"link-icon",icon:"tabler:arrow-up-right"})],8,O))),128))])])],2))}}),H=N(Q,[["__scopeId","data-v-5e2035d7"]]);export{H as default};

View File

@ -1 +1 @@
import{I as g}from"./iconify-D9UFUJY9.js";import{d as E,u as I,D as $,q as z,g as e,E as A,A as s,w as u,p as y,i as v,b as n,t as d,e as i,k,l as w,ar as F,c as h,C as O,G as R,B as C,F as M,s as J,m as G}from"./index-CCNaedqK.js";import{L as Q}from"./LinkField-D0mjsy-h.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"dialog-content"},H={class:"form-field"},K={class:"field-label"},W={class:"form-field"},X={class:"field-label"},Z={class:"links-table"},ee={class:"table-header"},le={class:"col-type"},ae={class:"col-link"},te={class:"col-label"},se={class:"col-type"},ne={class:"col-link"},oe={class:"col-label"},ie={class:"col-actions"},re={key:0,class:"empty-row"},de=E({__name:"CardDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(L,{emit:T}){const r=L,b=T,m=I(),p=y({get:()=>r.show,set:a=>b("update:show",a)}),_=y(()=>!!r.values?.name),N=[{label:"PageType",value:"PageType"},{label:"Page",value:"Page"},{label:"Report",value:"Report"}],l=G({label:"",description:"",links:[],name:""});function P(a){switch(a){case"PageType":return"PageType";case"Page":return"Page";case"Report":return"Report";default:return"PageType"}}function x(a){return a==="PageType"?{filters:{istable:0}}:{}}function U(a){l.links[a].link_to=""}function S(){l.links.push({link_type:"PageType",link_to:"",label:""})}function V(a){l.links.splice(a,1)}function B(a){if(!a)return[];if(typeof a=="string")try{return JSON.parse(a)}catch{return[]}return a}$(()=>r.show,a=>{a&&(r.values?(l.label=r.values.label||"",l.description=r.values.description||"",l.links=B(r.values.links),l.name=r.values.name||""):(l.label="",l.description="",l.links=[],l.name=""))},{immediate:!0});function D(){if(l.links.length===0)return m.error(s("You must add at least one link")),!1;for(let o=0;o<l.links.length;o++){const t=l.links[o];if(!t.link_type)return m.error(s("Link Type is required in row")+` ${o+1}`),!1;if(!t.link_to)return m.error(s("Link To is required in row")+` ${o+1}`),!1;t.label||(t.label=t.link_to)}const a={label:l.label,description:l.description,links:JSON.stringify(l.links),name:l.name};return!_.value&&!a.name&&(a.name=`card-${l.label||"card"}-${Math.random().toString(36).substring(2,12)}`),b("submit",a),p.value=!1,!0}function q(){p.value=!1}return(a,o)=>(v(),z(e(A),{show:p.value,"onUpdate:show":o[2]||(o[2]=t=>p.value=t),preset:"dialog",title:_.value?e(s)("Edit Card"):e(s)("Add Card"),"positive-text":_.value?e(s)("Save"):e(s)("Add"),"negative-text":e(s)("Cancel"),onPositiveClick:D,onNegativeClick:q,style:{width:"800px"}},{default:u(()=>[n("div",j,[n("div",H,[n("label",K,d(e(s)("Label")),1),i(e(k),{value:l.label,"onUpdate:value":o[0]||(o[0]=t=>l.label=t),placeholder:e(s)("Enter card label")},null,8,["value","placeholder"])]),n("div",W,[n("label",X,d(e(s)("Description")),1),i(e(k),{value:l.description,"onUpdate:value":o[1]||(o[1]=t=>l.description=t),type:"textarea",rows:3,placeholder:e(s)("Enter description (optional)")},null,8,["value","placeholder"])]),i(e(F),null,{default:u(()=>[w(d(e(s)("Card Links")),1)]),_:1}),n("div",Z,[n("div",ee,[n("span",le,d(e(s)("Link Type")),1),n("span",ae,d(e(s)("Link To")),1),n("span",te,d(e(s)("Label")),1),o[3]||(o[3]=n("span",{class:"col-actions"},null,-1))]),(v(!0),h(M,null,O(l.links,(t,f)=>(v(),h("div",{key:f,class:"table-row"},[n("div",se,[i(e(R),{value:t.link_type,"onUpdate:value":[c=>t.link_type=c,()=>U(f)],options:N,size:"small"},null,8,["value","onUpdate:value"])]),n("div",ne,[i(Q,{modelValue:t.link_to,"onUpdate:modelValue":c=>t.link_to=c,options:P(t.link_type),placeholder:e(s)("Select"),"get-query":()=>x(t.link_type)},null,8,["modelValue","onUpdate:modelValue","options","placeholder","get-query"])]),n("div",oe,[i(e(k),{value:t.label,"onUpdate:value":c=>t.label=c,size:"small",placeholder:e(s)("Label")},null,8,["value","onUpdate:value","placeholder"])]),n("div",ie,[i(e(C),{size:"small",quaternary:"",type:"error",onClick:c=>V(f)},{icon:u(()=>[i(e(g),{icon:"mdi:close"})]),_:1},8,["onClick"])])]))),128)),l.links.length===0?(v(),h("div",re,d(e(s)("No Items Found")),1)):J("",!0),i(e(C),{class:"add-link-btn",size:"small",dashed:"",onClick:S},{icon:u(()=>[i(e(g),{icon:"mdi:plus"})]),default:u(()=>[w(" "+d(e(s)("Add")),1)]),_:1})])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),me=Y(de,[["__scopeId","data-v-ac78745c"]]);export{me as default};
import{I as g}from"./iconify-BO-0UNsA.js";import{d as E,u as I,D as $,q as z,g as e,E as A,A as s,w as u,p as y,i as v,b as n,t as d,e as i,k,l as w,ar as F,c as h,C as O,G as R,B as C,F as M,s as J,m as G}from"./index-B-XVyan_.js";import{L as Q}from"./LinkField-DX_Moj7K.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"dialog-content"},H={class:"form-field"},K={class:"field-label"},W={class:"form-field"},X={class:"field-label"},Z={class:"links-table"},ee={class:"table-header"},le={class:"col-type"},ae={class:"col-link"},te={class:"col-label"},se={class:"col-type"},ne={class:"col-link"},oe={class:"col-label"},ie={class:"col-actions"},re={key:0,class:"empty-row"},de=E({__name:"CardDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(L,{emit:T}){const r=L,b=T,m=I(),p=y({get:()=>r.show,set:a=>b("update:show",a)}),_=y(()=>!!r.values?.name),N=[{label:"PageType",value:"PageType"},{label:"Page",value:"Page"},{label:"Report",value:"Report"}],l=G({label:"",description:"",links:[],name:""});function P(a){switch(a){case"PageType":return"PageType";case"Page":return"Page";case"Report":return"Report";default:return"PageType"}}function x(a){return a==="PageType"?{filters:{istable:0}}:{}}function U(a){l.links[a].link_to=""}function S(){l.links.push({link_type:"PageType",link_to:"",label:""})}function V(a){l.links.splice(a,1)}function B(a){if(!a)return[];if(typeof a=="string")try{return JSON.parse(a)}catch{return[]}return a}$(()=>r.show,a=>{a&&(r.values?(l.label=r.values.label||"",l.description=r.values.description||"",l.links=B(r.values.links),l.name=r.values.name||""):(l.label="",l.description="",l.links=[],l.name=""))},{immediate:!0});function D(){if(l.links.length===0)return m.error(s("You must add at least one link")),!1;for(let o=0;o<l.links.length;o++){const t=l.links[o];if(!t.link_type)return m.error(s("Link Type is required in row")+` ${o+1}`),!1;if(!t.link_to)return m.error(s("Link To is required in row")+` ${o+1}`),!1;t.label||(t.label=t.link_to)}const a={label:l.label,description:l.description,links:JSON.stringify(l.links),name:l.name};return!_.value&&!a.name&&(a.name=`card-${l.label||"card"}-${Math.random().toString(36).substring(2,12)}`),b("submit",a),p.value=!1,!0}function q(){p.value=!1}return(a,o)=>(v(),z(e(A),{show:p.value,"onUpdate:show":o[2]||(o[2]=t=>p.value=t),preset:"dialog",title:_.value?e(s)("Edit Card"):e(s)("Add Card"),"positive-text":_.value?e(s)("Save"):e(s)("Add"),"negative-text":e(s)("Cancel"),onPositiveClick:D,onNegativeClick:q,style:{width:"800px"}},{default:u(()=>[n("div",j,[n("div",H,[n("label",K,d(e(s)("Label")),1),i(e(k),{value:l.label,"onUpdate:value":o[0]||(o[0]=t=>l.label=t),placeholder:e(s)("Enter card label")},null,8,["value","placeholder"])]),n("div",W,[n("label",X,d(e(s)("Description")),1),i(e(k),{value:l.description,"onUpdate:value":o[1]||(o[1]=t=>l.description=t),type:"textarea",rows:3,placeholder:e(s)("Enter description (optional)")},null,8,["value","placeholder"])]),i(e(F),null,{default:u(()=>[w(d(e(s)("Card Links")),1)]),_:1}),n("div",Z,[n("div",ee,[n("span",le,d(e(s)("Link Type")),1),n("span",ae,d(e(s)("Link To")),1),n("span",te,d(e(s)("Label")),1),o[3]||(o[3]=n("span",{class:"col-actions"},null,-1))]),(v(!0),h(M,null,O(l.links,(t,f)=>(v(),h("div",{key:f,class:"table-row"},[n("div",se,[i(e(R),{value:t.link_type,"onUpdate:value":[c=>t.link_type=c,()=>U(f)],options:N,size:"small"},null,8,["value","onUpdate:value"])]),n("div",ne,[i(Q,{modelValue:t.link_to,"onUpdate:modelValue":c=>t.link_to=c,options:P(t.link_type),placeholder:e(s)("Select"),"get-query":()=>x(t.link_type)},null,8,["modelValue","onUpdate:modelValue","options","placeholder","get-query"])]),n("div",oe,[i(e(k),{value:t.label,"onUpdate:value":c=>t.label=c,size:"small",placeholder:e(s)("Label")},null,8,["value","onUpdate:value","placeholder"])]),n("div",ie,[i(e(C),{size:"small",quaternary:"",type:"error",onClick:c=>V(f)},{icon:u(()=>[i(e(g),{icon:"mdi:close"})]),_:1},8,["onClick"])])]))),128)),l.links.length===0?(v(),h("div",re,d(e(s)("No Items Found")),1)):J("",!0),i(e(C),{class:"add-link-btn",size:"small",dashed:"",onClick:S},{icon:u(()=>[i(e(g),{icon:"mdi:plus"})]),default:u(()=>[w(" "+d(e(s)("Add")),1)]),_:1})])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),me=Y(de,[["__scopeId","data-v-ac78745c"]]);export{me as default};

View File

@ -1 +1 @@
import{I as o}from"./iconify-D9UFUJY9.js";import{d as u,i as l,c as d,L as g,e as a,b as s,g as e,A as i,M as f,w as p,s as k,p as C,P as M}from"./index-CCNaedqK.js";import v from"./WorkspaceChartWidget-BqBU5Ike.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-W0wo9ok5.js";import"./ChartRenderer-C2n0FQzs.js";const N={key:0,class:"card-actions"},_=["title"],S=["title"],w=["title"],x=u({__name:"ChartBlock",props:{chartName:{},label:{},chartSettings:{},editMode:{type:Boolean},height:{}},emits:["edit","delete"],setup(t,{emit:r}){const m=r,h=C(()=>[{label:i("Delete"),key:"delete",icon:()=>M(o,{icon:"tabler:trash",size:16})}]);function b(n){n==="delete"&&m("delete")}return(n,c)=>(l(),d("div",{class:g(["chart-block",{"edit-mode":t.editMode}])},[a(v,{"chart-name":t.chartName,label:t.label,"chart-settings":t.chartSettings,"edit-mode":t.editMode,height:t.height},null,8,["chart-name","label","chart-settings","edit-mode","height"]),t.editMode?(l(),d("div",N,[s("button",{class:"action-btn",onClick:c[0]||(c[0]=y=>n.$emit("edit")),title:e(i)("Edit")},[a(e(o),{icon:"tabler:edit"})],8,_),s("button",{class:"action-btn drag-handle",title:e(i)("Drag")},[a(e(o),{icon:"tabler:grip-vertical"})],8,S),a(e(f),{trigger:"click",options:h.value,onSelect:b},{default:p(()=>[s("button",{class:"action-btn",title:e(i)("More")},[a(e(o),{icon:"tabler:dots"})],8,w)]),_:1},8,["options"])])):k("",!0)],2))}}),$=B(x,[["__scopeId","data-v-b593d780"]]);export{$ as default};
import{I as o}from"./iconify-BO-0UNsA.js";import{d as u,i as l,c as d,L as g,e as a,b as s,g as e,A as i,M as f,w as p,s as k,p as C,P as M}from"./index-B-XVyan_.js";import v from"./WorkspaceChartWidget-CvJBmLdl.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-DnqWLxUx.js";import"./ChartRenderer-B-CQxobz.js";const N={key:0,class:"card-actions"},_=["title"],S=["title"],w=["title"],x=u({__name:"ChartBlock",props:{chartName:{},label:{},chartSettings:{},editMode:{type:Boolean},height:{}},emits:["edit","delete"],setup(t,{emit:r}){const m=r,h=C(()=>[{label:i("Delete"),key:"delete",icon:()=>M(o,{icon:"tabler:trash",size:16})}]);function b(n){n==="delete"&&m("delete")}return(n,c)=>(l(),d("div",{class:g(["chart-block",{"edit-mode":t.editMode}])},[a(v,{"chart-name":t.chartName,label:t.label,"chart-settings":t.chartSettings,"edit-mode":t.editMode,height:t.height},null,8,["chart-name","label","chart-settings","edit-mode","height"]),t.editMode?(l(),d("div",N,[s("button",{class:"action-btn",onClick:c[0]||(c[0]=y=>n.$emit("edit")),title:e(i)("Edit")},[a(e(o),{icon:"tabler:edit"})],8,_),s("button",{class:"action-btn drag-handle",title:e(i)("Drag")},[a(e(o),{icon:"tabler:grip-vertical"})],8,S),a(e(f),{trigger:"click",options:h.value,onSelect:b},{default:p(()=>[s("button",{class:"action-btn",title:e(i)("More")},[a(e(o),{icon:"tabler:dots"})],8,w)]),_:1},8,["options"])])):k("",!0)],2))}}),$=B(x,[["__scopeId","data-v-b593d780"]]);export{$ as default};

View File

@ -1 +1 @@
import{d as C,u as w,D as x,q as N,g as t,E as S,A as l,w as D,p as m,i as k,b as u,e as c,t as $,k as y,m as V,h as B,Q as M}from"./index-CCNaedqK.js";import{L as A}from"./LinkField-D0mjsy-h.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-D9UFUJY9.js";const U={class:"dialog-content"},q={class:"form-field"},E={class:"field-label"},I=C({__name:"ChartDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(h,{emit:p}){const v=B(),o=h,d=p,b=w(),r=m({get:()=>o.show,set:a=>d("update:show",a)}),i=m(()=>!!o.values?.name),e=V({chart_name:"",label:"",name:""});x(()=>o.show,a=>{a&&(o.values?(e.chart_name=o.values.chart_name||"",e.label=o.values.label||"",e.name=o.values.name||""):(e.chart_name="",e.label="",e.name=""))},{immediate:!0});function f(){if(!e.chart_name)return b.error(l("Please select a chart")),!1;const a={...e,label:e.label||e.chart_name};return!i.value&&!a.name&&(a.name=`chart-${e.label||e.chart_name}-${Math.random().toString(36).substring(2,12)}`),d("submit",a),r.value=!1,!0}function g(){r.value=!1}function _(){r.value=!1;const a=M("Dashboard Chart"),s=Math.random().toString(36).substring(2,12),n=`new-${a}-${s}`;v.push(`/app/${a}/${n}`)}return(a,s)=>(k(),N(t(S),{show:r.value,"onUpdate:show":s[2]||(s[2]=n=>r.value=n),preset:"dialog",title:i.value?t(l)("Edit Chart"):t(l)("Add Chart"),"positive-text":i.value?t(l)("Save"):t(l)("Add"),"negative-text":t(l)("Cancel"),onPositiveClick:f,onNegativeClick:g,style:{width:"500px"}},{default:D(()=>[u("div",U,[c(A,{modelValue:e.chart_name,"onUpdate:modelValue":s[0]||(s[0]=n=>e.chart_name=n),options:"Dashboard Chart",label:t(l)("Chart Name"),required:!0,placeholder:"","enable-create":!0,onCreate:_},null,8,["modelValue","label"]),u("div",q,[u("label",E,$(t(l)("Label")),1),c(t(y),{value:e.label,"onUpdate:value":s[1]||(s[1]=n=>e.label=n),placeholder:""},null,8,["value"])])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),R=L(I,[["__scopeId","data-v-12699dd8"]]);export{R as default};
import{d as C,u as w,D as x,q as N,g as t,E as S,A as l,w as D,p as m,i as k,b as u,e as c,t as $,k as y,m as V,h as B,Q as M}from"./index-B-XVyan_.js";import{L as A}from"./LinkField-DX_Moj7K.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-BO-0UNsA.js";const U={class:"dialog-content"},q={class:"form-field"},E={class:"field-label"},I=C({__name:"ChartDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(h,{emit:p}){const v=B(),o=h,d=p,b=w(),r=m({get:()=>o.show,set:a=>d("update:show",a)}),i=m(()=>!!o.values?.name),e=V({chart_name:"",label:"",name:""});x(()=>o.show,a=>{a&&(o.values?(e.chart_name=o.values.chart_name||"",e.label=o.values.label||"",e.name=o.values.name||""):(e.chart_name="",e.label="",e.name=""))},{immediate:!0});function f(){if(!e.chart_name)return b.error(l("Please select a chart")),!1;const a={...e,label:e.label||e.chart_name};return!i.value&&!a.name&&(a.name=`chart-${e.label||e.chart_name}-${Math.random().toString(36).substring(2,12)}`),d("submit",a),r.value=!1,!0}function g(){r.value=!1}function _(){r.value=!1;const a=M("Dashboard Chart"),s=Math.random().toString(36).substring(2,12),n=`new-${a}-${s}`;v.push(`/app/${a}/${n}`)}return(a,s)=>(k(),N(t(S),{show:r.value,"onUpdate:show":s[2]||(s[2]=n=>r.value=n),preset:"dialog",title:i.value?t(l)("Edit Chart"):t(l)("Add Chart"),"positive-text":i.value?t(l)("Save"):t(l)("Add"),"negative-text":t(l)("Cancel"),onPositiveClick:f,onNegativeClick:g,style:{width:"500px"}},{default:D(()=>[u("div",U,[c(A,{modelValue:e.chart_name,"onUpdate:modelValue":s[0]||(s[0]=n=>e.chart_name=n),options:"Dashboard Chart",label:t(l)("Chart Name"),required:!0,placeholder:"","enable-create":!0,onCreate:_},null,8,["modelValue","label"]),u("div",q,[u("label",E,$(t(l)("Label")),1),c(t(y),{value:e.label,"onUpdate:value":s[1]||(s[1]=n=>e.label=n),placeholder:""},null,8,["value"])])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),R=L(I,[["__scopeId","data-v-12699dd8"]]);export{R as default};

View File

@ -1 +1 @@
import{d as u,c as d,F as s,b as t,l as r,t as f,s as b,L as k,p as h,i as a}from"./index-CCNaedqK.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const v={class:"field-label"},x={key:0,class:"required"},y={class:"checkbox-container"},g=["id","checked","disabled"],C={class:"checkbox-container"},q=["id","checked","disabled"],B={class:"field-label"},E={key:0,class:"required"},S=u({__name:"Check",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const n=e,i=h(()=>n.df.label_layout||"vertical"),o=h(()=>`checkbox-${n.df.fieldname}-${Math.random().toString(36).substr(2,9)}`);return(V,c)=>(a(),d("div",{class:k(["field-wrapper",`layout-${i.value}`])},[i.value==="vertical"?(a(),d(s,{key:0},[t("div",v,[r(f(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(a(),d("span",x,"*")):b("",!0)]),t("div",y,[t("input",{id:o.value,type:"checkbox",checked:!!e.record[e.df.fieldname],onChange:c[0]||(c[0]=l=>{e.record[e.df.fieldname]=l.target.checked?1:0}),disabled:!e.canEdit,class:"native-checkbox"},null,40,g)])],64)):(a(),d(s,{key:1},[t("div",C,[t("input",{id:o.value,type:"checkbox",checked:!!e.record[e.df.fieldname],onChange:c[1]||(c[1]=l=>{e.record[e.df.fieldname]=l.target.checked?1:0}),disabled:!e.canEdit,class:"native-checkbox"},null,40,q)]),t("div",B,[r(f(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(a(),d("span",E,"*")):b("",!0)])],64))],2))}}),N=m(S,[["__scopeId","data-v-08df56b7"]]),z=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{z as _};
import{d as u,c as d,F as s,b as t,l as r,t as f,s as b,L as k,p as h,i as a}from"./index-B-XVyan_.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const v={class:"field-label"},x={key:0,class:"required"},y={class:"checkbox-container"},g=["id","checked","disabled"],C={class:"checkbox-container"},q=["id","checked","disabled"],B={class:"field-label"},E={key:0,class:"required"},S=u({__name:"Check",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const n=e,i=h(()=>n.df.label_layout||"vertical"),o=h(()=>`checkbox-${n.df.fieldname}-${Math.random().toString(36).substr(2,9)}`);return(V,c)=>(a(),d("div",{class:k(["field-wrapper",`layout-${i.value}`])},[i.value==="vertical"?(a(),d(s,{key:0},[t("div",v,[r(f(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(a(),d("span",x,"*")):b("",!0)]),t("div",y,[t("input",{id:o.value,type:"checkbox",checked:!!e.record[e.df.fieldname],onChange:c[0]||(c[0]=l=>{e.record[e.df.fieldname]=l.target.checked?1:0}),disabled:!e.canEdit,class:"native-checkbox"},null,40,g)])],64)):(a(),d(s,{key:1},[t("div",C,[t("input",{id:o.value,type:"checkbox",checked:!!e.record[e.df.fieldname],onChange:c[1]||(c[1]=l=>{e.record[e.df.fieldname]=l.target.checked?1:0}),disabled:!e.canEdit,class:"native-checkbox"},null,40,q)]),t("div",B,[r(f(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(a(),d("span",E,"*")):b("",!0)])],64))],2))}}),N=m(S,[["__scopeId","data-v-08df56b7"]]),z=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{z as _};

View File

@ -1 +1 @@
import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{bc as u,i as s,c as t,g as n,b as o,bb as c,t as f,L as i,s as k}from"./index-CCNaedqK.js";const m={key:0,class:"field-controls"},h={class:"checkbox"},p={key:1,class:"checkbox-label"},y=["checked","disabled"],C=["innerHTML"],v={__name:"CheckControl",props:["df","value","read_only"],setup(e){let d=u();return(a,l)=>(s(),t("div",{class:i(["control form-builder-control checkbox",{editable:n(d).label}])},[n(d).label?(s(),t("label",m,[o("div",h,[l[1]||(l[1]=o("input",{type:"checkbox",disabled:""},null,-1)),c(a.$slots,"label",{},void 0,!0)]),c(a.$slots,"actions",{},void 0,!0)])):(s(),t("label",p,[o("input",{type:"checkbox",checked:e.value,disabled:e.read_only,onChange:l[0]||(l[0]=r=>a.$emit("update:modelValue",r.target.checked))},null,40,y),o("span",{class:i(["label-area",{reqd:e.df.reqd}])},f(e.df.label),3)])),e.df.description?(s(),t("div",{key:2,class:"mt-2 description",innerHTML:e.df.description},null,8,C)):k("",!0)],2))}},g=b(v,[["__scopeId","data-v-f613585d"]]);export{g as default};
import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{bc as u,i as s,c as t,g as n,b as o,bb as c,t as f,L as i,s as k}from"./index-B-XVyan_.js";const m={key:0,class:"field-controls"},h={class:"checkbox"},p={key:1,class:"checkbox-label"},y=["checked","disabled"],C=["innerHTML"],v={__name:"CheckControl",props:["df","value","read_only"],setup(e){let d=u();return(a,l)=>(s(),t("div",{class:i(["control form-builder-control checkbox",{editable:n(d).label}])},[n(d).label?(s(),t("label",m,[o("div",h,[l[1]||(l[1]=o("input",{type:"checkbox",disabled:""},null,-1)),c(a.$slots,"label",{},void 0,!0)]),c(a.$slots,"actions",{},void 0,!0)])):(s(),t("label",p,[o("input",{type:"checkbox",checked:e.value,disabled:e.read_only,onChange:l[0]||(l[0]=r=>a.$emit("update:modelValue",r.target.checked))},null,40,y),o("span",{class:i(["label-area",{reqd:e.df.reqd}])},f(e.df.label),3)])),e.df.description?(s(),t("div",{key:2,class:"mt-2 description",innerHTML:e.df.description},null,8,C)):k("",!0)],2))}},g=b(v,[["__scopeId","data-v-f613585d"]]);export{g as default};

View File

@ -1 +1 @@
import{l as z}from"./index-w6PwaWGP.js";import{d as E,u as T,D as j,o as D,a0 as p,bm as N,c as f,b as l,l as h,t as m,s as v,L as C,q as O,w as P,g as W,B as q,r as b,p as w,i}from"./index-CCNaedqK.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Z={class:"field-label"},G={key:0,class:"required"},I={class:"code-editor"},A={key:0,class:"code-editor__preview"},R=["aria-label"],U={class:"code-editor__footer"},$=E({__name:"Code",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(n){const o=n,r=b(null);let g=null,e=null;const c=b(!1),d=T(),x=w(()=>o.df.label_layout||"vertical"),u=w(()=>!o.canEdit),_=()=>({Javascript:"javascript",JS:"javascript",Python:"python",Py:"python",PythonExpression:"python",HTML:"html",CSS:"css",Markdown:"markdown",SCSS:"scss",JSON:"json",Golang:"go",Go:"go",Jinja:"html"})[o.df.options]||"text";async function S(){if(!r.value||u.value||(g||(g=await z.init()),e))return;const a=_(),t=String(o.record[o.df.fieldname]||"");e=g.editor.create(r.value,{value:t,language:a,automaticLayout:!0,folding:!0,minimap:{enabled:!1},readOnly:!1,wordWrap:o.df.wrap?"on":"off",wordWrapColumn:120,wrappingStrategy:"advanced",scrollBeyondLastLine:!1,scrollBeyondLastColumn:0,scrollbar:{horizontal:"auto",vertical:"auto",horizontalScrollbarSize:6,verticalScrollbarSize:6,alwaysConsumeMouseWheel:!1},theme:"vs",showPrintMargin:!1,fontSize:14,lineNumbers:"on",renderWhitespace:"selection",tabSize:2,insertSpaces:!0});const s=()=>{if(!e||!r.value)return;const y=e.getLayoutInfo(),H=e.getScrollHeight()>y.height+1,L=e.getScrollWidth()>y.width+1;r.value.classList.toggle("no-scroll-y",!H),r.value.classList.toggle("no-scroll-x",!L)};s(),e.onDidContentSizeChange(()=>s()),e.onDidScrollChange(()=>s()),e.onDidLayoutChange(()=>s()),e.onDidChangeModelContent(()=>{e&&(o.record[o.df.fieldname]=e.getValue(),s())})}function V(){try{e?.dispose()}catch{}e=null}function k(){c.value=!c.value,p(()=>e?.layout())}function M(){const a=e?e.getValue():String(o.record[o.df.fieldname]||"");a?navigator.clipboard.writeText(a).then(()=>{d.success("代码已复制到剪贴板")}).catch(t=>{console.error("复制失败:",t),B(a)}):d.warning("没有内容可复制")}function B(a){const t=document.createElement("textarea");t.value=a,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy"),d.success("代码已复制到剪贴板")}catch(s){console.error("复制失败:",s),d.error("复制失败,请手动复制")}document.body.removeChild(t)}return j(()=>o.record[o.df.fieldname],a=>{e&&a!==e.getValue()&&e.setValue(String(a||""))}),D(async()=>{await p(),await S(),p(()=>e?.layout())}),N(V),(a,t)=>(i(),f("div",{class:C(["field-wrapper",`layout-${x.value}`])},[l("label",Z,[h(m(n.ctx.t(n.df.label||n.df.fieldname))+" ",1),n.df.reqd?(i(),f("span",G,"*")):v("",!0)]),l("div",I,[l("div",{class:C(["code-editor__monaco-wrap",{collapsed:!c.value,readonly:u.value}])},[u.value?(i(),f("div",A,[l("pre",null,[l("code",null,m(n.record[n.df.fieldname]||""),1)])])):(i(),f("div",{key:1,ref_key:"editorHost",ref:r,class:"code-editor__monaco-host"},null,512)),l("button",{class:"code-editor__copy-btn",type:"button",onClick:M,"aria-label":n.ctx.t("Copy")},[...t[0]||(t[0]=[l("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[l("path",{d:"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z",fill:"currentColor"})],-1)])],8,R)],2),l("div",U,[u.value?v("",!0):(i(),O(W(q),{key:0,size:"tiny",quaternary:"",onClick:k},{default:P(()=>[h(m(c.value?n.ctx.t("Collapse"):n.ctx.t("Expand")),1)]),_:1}))])])],2))}}),F=J($,[["__scopeId","data-v-646c435a"]]),Y=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"}));export{Y as _};
import{l as z}from"./index-w6PwaWGP.js";import{d as E,u as T,D as j,o as D,a0 as p,bm as N,c as f,b as l,l as h,t as m,s as v,L as C,q as O,w as P,g as W,B as q,r as b,p as w,i}from"./index-B-XVyan_.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Z={class:"field-label"},G={key:0,class:"required"},I={class:"code-editor"},A={key:0,class:"code-editor__preview"},R=["aria-label"],U={class:"code-editor__footer"},$=E({__name:"Code",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(n){const o=n,r=b(null);let g=null,e=null;const c=b(!1),d=T(),x=w(()=>o.df.label_layout||"vertical"),u=w(()=>!o.canEdit),_=()=>({Javascript:"javascript",JS:"javascript",Python:"python",Py:"python",PythonExpression:"python",HTML:"html",CSS:"css",Markdown:"markdown",SCSS:"scss",JSON:"json",Golang:"go",Go:"go",Jinja:"html"})[o.df.options]||"text";async function S(){if(!r.value||u.value||(g||(g=await z.init()),e))return;const a=_(),t=String(o.record[o.df.fieldname]||"");e=g.editor.create(r.value,{value:t,language:a,automaticLayout:!0,folding:!0,minimap:{enabled:!1},readOnly:!1,wordWrap:o.df.wrap?"on":"off",wordWrapColumn:120,wrappingStrategy:"advanced",scrollBeyondLastLine:!1,scrollBeyondLastColumn:0,scrollbar:{horizontal:"auto",vertical:"auto",horizontalScrollbarSize:6,verticalScrollbarSize:6,alwaysConsumeMouseWheel:!1},theme:"vs",showPrintMargin:!1,fontSize:14,lineNumbers:"on",renderWhitespace:"selection",tabSize:2,insertSpaces:!0});const s=()=>{if(!e||!r.value)return;const y=e.getLayoutInfo(),H=e.getScrollHeight()>y.height+1,L=e.getScrollWidth()>y.width+1;r.value.classList.toggle("no-scroll-y",!H),r.value.classList.toggle("no-scroll-x",!L)};s(),e.onDidContentSizeChange(()=>s()),e.onDidScrollChange(()=>s()),e.onDidLayoutChange(()=>s()),e.onDidChangeModelContent(()=>{e&&(o.record[o.df.fieldname]=e.getValue(),s())})}function V(){try{e?.dispose()}catch{}e=null}function k(){c.value=!c.value,p(()=>e?.layout())}function M(){const a=e?e.getValue():String(o.record[o.df.fieldname]||"");a?navigator.clipboard.writeText(a).then(()=>{d.success("代码已复制到剪贴板")}).catch(t=>{console.error("复制失败:",t),B(a)}):d.warning("没有内容可复制")}function B(a){const t=document.createElement("textarea");t.value=a,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy"),d.success("代码已复制到剪贴板")}catch(s){console.error("复制失败:",s),d.error("复制失败,请手动复制")}document.body.removeChild(t)}return j(()=>o.record[o.df.fieldname],a=>{e&&a!==e.getValue()&&e.setValue(String(a||""))}),D(async()=>{await p(),await S(),p(()=>e?.layout())}),N(V),(a,t)=>(i(),f("div",{class:C(["field-wrapper",`layout-${x.value}`])},[l("label",Z,[h(m(n.ctx.t(n.df.label||n.df.fieldname))+" ",1),n.df.reqd?(i(),f("span",G,"*")):v("",!0)]),l("div",I,[l("div",{class:C(["code-editor__monaco-wrap",{collapsed:!c.value,readonly:u.value}])},[u.value?(i(),f("div",A,[l("pre",null,[l("code",null,m(n.record[n.df.fieldname]||""),1)])])):(i(),f("div",{key:1,ref_key:"editorHost",ref:r,class:"code-editor__monaco-host"},null,512)),l("button",{class:"code-editor__copy-btn",type:"button",onClick:M,"aria-label":n.ctx.t("Copy")},[...t[0]||(t[0]=[l("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[l("path",{d:"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z",fill:"currentColor"})],-1)])],8,R)],2),l("div",U,[u.value?v("",!0):(i(),O(W(q),{key:0,size:"tiny",quaternary:"",onClick:k},{default:P(()=>[h(m(c.value?n.ctx.t("Collapse"):n.ctx.t("Expand")),1)]),_:1}))])])],2))}}),F=J($,[["__scopeId","data-v-646c435a"]]),Y=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"}));export{Y as _};

View File

@ -1 +1 @@
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{bc as f,r as b,i as a,c as o,g as s,bb as d,t as h,b as n,V as y,s as v,L as _}from"./index-CCNaedqK.js";const V={key:0,class:"field-controls"},p={key:1,class:"control-label label"},k={class:"code-editor"},x=["value","disabled","readonly"],C=["innerHTML"],g={__name:"CodeControl",props:["df","read_only","modelValue"],emits:["update:modelValue"],setup(e,{emit:i}){const r=e;let c=i,l=f();b(r.modelValue||"");function u(t){c("update:modelValue",t.target.value)}return(t,S)=>(a(),o("div",{class:_(["control",{editable:s(l).label}])},[s(l).label?(a(),o("div",V,[d(t.$slots,"label",{},void 0,!0),d(t.$slots,"actions",{},void 0,!0)])):(a(),o("div",p,h(e.df.label),1)),n("div",k,[n("textarea",{class:"code-textarea form-control",style:y({maxHeight:e.df.max_height??"300px"}),value:e.modelValue,disabled:e.read_only||e.df.read_only||!!s(l).label,readonly:!!s(l).label,onInput:u,spellcheck:"false"},null,44,x)]),e.df.description?(a(),o("div",{key:2,class:"mt-2 description",innerHTML:e.df.description},null,8,C)):v("",!0)],2))}},I=m(g,[["__scopeId","data-v-455d0205"]]);export{I as default};
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{bc as f,r as b,i as a,c as o,g as s,bb as d,t as h,b as n,V as y,s as v,L as _}from"./index-B-XVyan_.js";const V={key:0,class:"field-controls"},p={key:1,class:"control-label label"},k={class:"code-editor"},x=["value","disabled","readonly"],C=["innerHTML"],g={__name:"CodeControl",props:["df","read_only","modelValue"],emits:["update:modelValue"],setup(e,{emit:i}){const r=e;let c=i,l=f();b(r.modelValue||"");function u(t){c("update:modelValue",t.target.value)}return(t,S)=>(a(),o("div",{class:_(["control",{editable:s(l).label}])},[s(l).label?(a(),o("div",V,[d(t.$slots,"label",{},void 0,!0),d(t.$slots,"actions",{},void 0,!0)])):(a(),o("div",p,h(e.df.label),1)),n("div",k,[n("textarea",{class:"code-textarea form-control",style:y({maxHeight:e.df.max_height??"300px"}),value:e.modelValue,disabled:e.read_only||e.df.read_only||!!s(l).label,readonly:!!s(l).label,onInput:u,spellcheck:"false"},null,44,x)]),e.df.description?(a(),o("div",{key:2,class:"mt-2 description",innerHTML:e.df.description},null,8,C)):v("",!0)],2))}},I=m(g,[["__scopeId","data-v-455d0205"]]);export{I as default};

View File

@ -1 +1 @@
import{d as r,c as t,b as c,l as n,t as i,s as f,e as u,g as m,aq as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"field-label"},_={key:0,class:"required"},g=r({__name:"Color",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=y(()=>o.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",C,[n(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=s=>e.record[e.df.fieldname]=s),disabled:!e.canEdit,size:"medium"},null,8,["value","disabled"])],2))}}),N=x(g,[["__scopeId","data-v-896505ba"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as r,c as t,b as c,l as n,t as i,s as f,e as u,g as m,aq as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"field-label"},_={key:0,class:"required"},g=r({__name:"Color",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=y(()=>o.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",C,[n(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=s=>e.record[e.df.fieldname]=s),disabled:!e.canEdit,size:"medium"},null,8,["value","disabled"])],2))}}),N=x(g,[["__scopeId","data-v-896505ba"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{V as _};

View File

@ -1 +1 @@
import{p as k,i,c as s,g as n,b as u,t as g,s as m,e as a,w as C,T as r,L as w,r as B}from"./index-CCNaedqK.js";import{d as V}from"./vuedraggable.umd-GX8LQdA6.js";import x from"./Field-BpLaz54O.js";import h from"./AddFieldButton-CCKg-28S.js";import{u as F,i as M}from"./utils-CXGJciCc.js";import{u as N}from"./index-CAz7k-Zh.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{w as S}from"./index-Car5T2D0.js";import"./_commonjsHelpers-DsqdWQfm.js";import"./EditableInput-CsRbA-6B.js";import"./iconify-D9UFUJY9.js";import"./Autocomplete-4L3b5XUW.js";const U=["title"],A=["hidden"],D={class:"column-label"},I={key:1,class:"column-description"},T=["hidden"],$={key:2,class:"add-new-field-btn"},z={__name:"Column",props:["section","column"],setup(e){const f=e,l=F(),{Backspace:p}=N();S(p,o=>{o&&v.value&&l.notUsingInput});const c=B(!1),v=k(()=>l.selected(f.column.df.name));function b(o){o.target.closest(".add-field-btn, .add-field-wrapper")||(l.form.selected_field=f.column.df)}function y(o){o.target.closest(".add-field-btn, .add-field-wrapper")||o.stopPropagation()}return(o,t)=>(i(),s("div",{class:w(["column",v.value?"selected":c.value?"hovered":""]),title:e.column.df.fieldname,onClick:r(b,["stop"]),onMouseover:t[1]||(t[1]=r(d=>c.value=!0,["stop"])),onMouseout:t[2]||(t[2]=r(d=>c.value=!1,["stop"]))},[e.column.df.label?(i(),s("div",{key:0,class:"column-header",hidden:!e.column.df.label&&n(l).readOnly},[u("div",D,[u("span",null,g(e.column.df.label),1)])],8,A)):m("",!0),e.column.df.description?(i(),s("div",I,g(e.column.df.description),1)):m("",!0),a(n(V),{class:"column-container",modelValue:e.column.fields,"onUpdate:modelValue":t[0]||(t[0]=d=>e.column.fields=d),group:"fields",delay:n(M)()?200:0,animation:200,easing:n(l).getAnimation,"item-key":"id",disabled:n(l).readOnly,onClick:y},{item:C(({element:d})=>[a(x,{column:e.column,field:d,"data-is-user-generated":n(l).isUserGeneratedField(d)},null,8,["column","field","data-is-user-generated"])]),_:1},8,["modelValue","delay","easing","disabled"]),u("div",{class:"empty-column",hidden:n(l).readOnly},[a(h,{column:e.column},null,8,["column"])],8,T),e.column.fields.length?(i(),s("div",$,[a(h,{field:e.column.fields[e.column.fields.length-1],column:e.column},null,8,["field","column"])])):m("",!0)],42,U))}},X=O(z,[["__scopeId","data-v-c56e0b7d"]]);export{X as default};
import{p as k,i,c as s,g as n,b as u,t as g,s as m,e as a,w as C,T as r,L as w,r as B}from"./index-B-XVyan_.js";import{d as V}from"./vuedraggable.umd-B0zPjqFq.js";import x from"./Field-BOlX8sns.js";import h from"./AddFieldButton-DcX1K5F9.js";import{u as F,i as M}from"./utils-CyIbe-9L.js";import{u as N}from"./index-CuIWrasZ.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{w as S}from"./index-Dj5-SshT.js";import"./_commonjsHelpers-DsqdWQfm.js";import"./EditableInput-CL7SfyMw.js";import"./iconify-BO-0UNsA.js";import"./Autocomplete-Bdd6LhAE.js";const U=["title"],A=["hidden"],D={class:"column-label"},I={key:1,class:"column-description"},T=["hidden"],$={key:2,class:"add-new-field-btn"},z={__name:"Column",props:["section","column"],setup(e){const f=e,l=F(),{Backspace:p}=N();S(p,o=>{o&&v.value&&l.notUsingInput});const c=B(!1),v=k(()=>l.selected(f.column.df.name));function b(o){o.target.closest(".add-field-btn, .add-field-wrapper")||(l.form.selected_field=f.column.df)}function y(o){o.target.closest(".add-field-btn, .add-field-wrapper")||o.stopPropagation()}return(o,t)=>(i(),s("div",{class:w(["column",v.value?"selected":c.value?"hovered":""]),title:e.column.df.fieldname,onClick:r(b,["stop"]),onMouseover:t[1]||(t[1]=r(d=>c.value=!0,["stop"])),onMouseout:t[2]||(t[2]=r(d=>c.value=!1,["stop"]))},[e.column.df.label?(i(),s("div",{key:0,class:"column-header",hidden:!e.column.df.label&&n(l).readOnly},[u("div",D,[u("span",null,g(e.column.df.label),1)])],8,A)):m("",!0),e.column.df.description?(i(),s("div",I,g(e.column.df.description),1)):m("",!0),a(n(V),{class:"column-container",modelValue:e.column.fields,"onUpdate:modelValue":t[0]||(t[0]=d=>e.column.fields=d),group:"fields",delay:n(M)()?200:0,animation:200,easing:n(l).getAnimation,"item-key":"id",disabled:n(l).readOnly,onClick:y},{item:C(({element:d})=>[a(x,{column:e.column,field:d,"data-is-user-generated":n(l).isUserGeneratedField(d)},null,8,["column","field","data-is-user-generated"])]),_:1},8,["modelValue","delay","easing","disabled"]),u("div",{class:"empty-column",hidden:n(l).readOnly},[a(h,{column:e.column},null,8,["column"])],8,T),e.column.fields.length?(i(),s("div",$,[a(h,{field:e.column.fields[e.column.fields.length-1],column:e.column},null,8,["field","column"])])):m("",!0)],42,U))}},X=O(z,[["__scopeId","data-v-c56e0b7d"]]);export{X as default};

View File

@ -1 +1 @@
import{d as s,c as t,b as c,l as r,t as i,s as f,e as m,g as u,k as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=s({__name:"Comment",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=y(()=>o.df.label_layout||"vertical");return(N,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),m(u(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),type:"textarea",rows:6,placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),C=p(g,[["__scopeId","data-v-d32590ff"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as s,c as t,b as c,l as r,t as i,s as f,e as m,g as u,k as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=s({__name:"Comment",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=y(()=>o.df.label_layout||"vertical");return(N,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),m(u(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),type:"textarea",rows:6,placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),C=p(g,[["__scopeId","data-v-d32590ff"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"}));export{V as _};

View File

@ -1 +1 @@
import{d as p,r as v,D as y,c,b,l as g,t as _,s as x,e as C,g as u,aj as f,L as N,q as k,p as d,i as s}from"./index-CCNaedqK.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},j={key:0,class:"required"},w=p({__name:"Currency",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(l){const e=l,m=d(()=>e.df.label_layout||"vertical"),i=d(()=>{if(typeof e.df.precision=="number")return e.df.precision;const a=window.jingrow?.boot?.sysdefaults?.currency_precision;return a?Number(a):2}),n=v(e.record[e.df.fieldname]),t=d({get:()=>{const a=e.record[e.df.fieldname];return a===""||a===void 0?null:Number(a)},set:a=>{e.record[e.df.fieldname]=a}});return y(()=>e.record[e.df.fieldname],a=>{e.ctx?.onFieldChange&&a!==n.value&&e.ctx.onFieldChange(e.df.fieldname,a,n.value,e.record),n.value=a}),(a,o)=>l.onlyInput?(s(),k(u(f),{key:1,value:t.value,"onUpdate:value":o[1]||(o[1]=r=>t.value=r),precision:i.value,placeholder:"",disabled:!l.canEdit,style:{width:"100%"}},null,8,["value","precision","disabled"])):(s(),c("div",{key:0,class:N(["field-wrapper",`layout-${m.value}`])},[b("label",h,[g(_(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(s(),c("span",j,"*")):x("",!0)]),C(u(f),{value:t.value,"onUpdate:value":o[0]||(o[0]=r=>t.value=r),precision:i.value,placeholder:"",disabled:!l.canEdit},null,8,["value","precision","disabled"])],2))}}),E=B(w,[["__scopeId","data-v-489a4905"]]),q=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as C,q as _};
import{d as p,r as v,D as y,c,b,l as g,t as _,s as x,e as C,g as u,aj as f,L as N,q as k,p as d,i as s}from"./index-B-XVyan_.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},j={key:0,class:"required"},w=p({__name:"Currency",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(l){const e=l,m=d(()=>e.df.label_layout||"vertical"),i=d(()=>{if(typeof e.df.precision=="number")return e.df.precision;const a=window.jingrow?.boot?.sysdefaults?.currency_precision;return a?Number(a):2}),n=v(e.record[e.df.fieldname]),t=d({get:()=>{const a=e.record[e.df.fieldname];return a===""||a===void 0?null:Number(a)},set:a=>{e.record[e.df.fieldname]=a}});return y(()=>e.record[e.df.fieldname],a=>{e.ctx?.onFieldChange&&a!==n.value&&e.ctx.onFieldChange(e.df.fieldname,a,n.value,e.record),n.value=a}),(a,o)=>l.onlyInput?(s(),k(u(f),{key:1,value:t.value,"onUpdate:value":o[1]||(o[1]=r=>t.value=r),precision:i.value,placeholder:"",disabled:!l.canEdit,style:{width:"100%"}},null,8,["value","precision","disabled"])):(s(),c("div",{key:0,class:N(["field-wrapper",`layout-${m.value}`])},[b("label",h,[g(_(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(s(),c("span",j,"*")):x("",!0)]),C(u(f),{value:t.value,"onUpdate:value":o[0]||(o[0]=r=>t.value=r),precision:i.value,placeholder:"",disabled:!l.canEdit},null,8,["value","precision","disabled"])],2))}}),E=B(w,[["__scopeId","data-v-489a4905"]]),q=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as C,q as _};

View File

@ -1 +1 @@
import{I as o}from"./iconify-D9UFUJY9.js";import{d as b,i as l,c as d,L as k,b as s,t as r,g as t,A as e,e as a,M as f,w as h,s as B,p as C,P as g}from"./index-CCNaedqK.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"custom-block-placeholder"},N={key:0,class:"card-actions"},D=["title"],y=["title"],w=["title"],x=b({__name:"CustomBlock",props:{customBlockName:{},customBlockData:{},editMode:{type:Boolean}},emits:["edit","delete"],setup(c,{emit:m}){const u=m,p=C(()=>[{label:e("Delete"),key:"delete",icon:()=>g(o,{icon:"tabler:trash",size:16})}]);function _(i){i==="delete"&&u("delete")}return(i,n)=>(l(),d("div",{class:k(["custom-block",{"edit-mode":c.editMode}])},[s("div",M,r(t(e)("Custom Block"))+": "+r(c.customBlockName),1),c.editMode?(l(),d("div",N,[s("button",{class:"action-btn",onClick:n[0]||(n[0]=I=>i.$emit("edit")),title:t(e)("Edit")},[a(t(o),{icon:"tabler:edit"})],8,D),s("button",{class:"action-btn drag-handle",title:t(e)("Drag")},[a(t(o),{icon:"tabler:grip-vertical"})],8,y),a(t(f),{trigger:"click",options:p.value,onSelect:_},{default:h(()=>[s("button",{class:"action-btn",title:t(e)("More")},[a(t(o),{icon:"tabler:dots"})],8,w)]),_:1},8,["options"])])):B("",!0)],2))}}),E=v(x,[["__scopeId","data-v-a6c31dc2"]]);export{E as default};
import{I as o}from"./iconify-BO-0UNsA.js";import{d as b,i as l,c as d,L as k,b as s,t as r,g as t,A as e,e as a,M as f,w as h,s as B,p as C,P as g}from"./index-B-XVyan_.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"custom-block-placeholder"},N={key:0,class:"card-actions"},D=["title"],y=["title"],w=["title"],x=b({__name:"CustomBlock",props:{customBlockName:{},customBlockData:{},editMode:{type:Boolean}},emits:["edit","delete"],setup(c,{emit:m}){const u=m,p=C(()=>[{label:e("Delete"),key:"delete",icon:()=>g(o,{icon:"tabler:trash",size:16})}]);function _(i){i==="delete"&&u("delete")}return(i,n)=>(l(),d("div",{class:k(["custom-block",{"edit-mode":c.editMode}])},[s("div",M,r(t(e)("Custom Block"))+": "+r(c.customBlockName),1),c.editMode?(l(),d("div",N,[s("button",{class:"action-btn",onClick:n[0]||(n[0]=I=>i.$emit("edit")),title:t(e)("Edit")},[a(t(o),{icon:"tabler:edit"})],8,D),s("button",{class:"action-btn drag-handle",title:t(e)("Drag")},[a(t(o),{icon:"tabler:grip-vertical"})],8,y),a(t(f),{trigger:"click",options:p.value,onSelect:_},{default:h(()=>[s("button",{class:"action-btn",title:t(e)("More")},[a(t(o),{icon:"tabler:dots"})],8,w)]),_:1},8,["options"])])):B("",!0)],2))}}),E=v(x,[["__scopeId","data-v-a6c31dc2"]]);export{E as default};

View File

@ -1 +1 @@
import{d as v,u as h,D as C,q as w,g as o,E as B,A as a,w as x,p as i,i as y,b as N,e as S,m as M,h as $,Q as V}from"./index-CCNaedqK.js";import{L as q}from"./LinkField-D0mjsy-h.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-D9UFUJY9.js";const L={class:"dialog-content"},T=v({__name:"CustomBlockDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(r,{emit:d}){const p=$(),s=r,c=d,_=h(),n=i({get:()=>s.show,set:e=>c("update:show",e)}),m=i(()=>!!s.values?.name),t=M({custom_block_name:"",name:""});function k(){return{query:"jingrow.desk.pagetype.custom_html_block.custom_html_block.get_custom_blocks_for_user"}}C(()=>s.show,e=>{e&&(s.values?(t.custom_block_name=s.values.custom_block_name||"",t.name=s.values.name||""):(t.custom_block_name="",t.name=""))},{immediate:!0});function g(){if(!t.custom_block_name)return _.error(a("Please select a custom block")),!1;const e={...t};return!m.value&&!e.name&&(e.name=`custom_block-${t.custom_block_name}-${Math.random().toString(36).substring(2,12)}`),c("submit",e),n.value=!1,!0}function b(){n.value=!1}function f(){n.value=!1;const e=V("Custom HTML Block"),l=Math.random().toString(36).substring(2,12),u=`new-${e}-${l}`;p.push(`/app/${e}/${u}`)}return(e,l)=>(y(),w(o(B),{show:n.value,"onUpdate:show":l[1]||(l[1]=u=>n.value=u),preset:"dialog",title:m.value?o(a)("Edit Custom Block"):o(a)("Add Custom Block"),"positive-text":m.value?o(a)("Save"):o(a)("Add"),"negative-text":o(a)("Cancel"),onPositiveClick:g,onNegativeClick:b,style:{width:"500px"}},{default:x(()=>[N("div",L,[S(q,{modelValue:t.custom_block_name,"onUpdate:modelValue":l[0]||(l[0]=u=>t.custom_block_name=u),options:"Custom HTML Block",label:o(a)("Custom Block Name"),required:!0,placeholder:"","enable-create":!0,onCreate:f,"get-query":k},null,8,["modelValue","label"])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),Q=D(T,[["__scopeId","data-v-efbc2751"]]);export{Q as default};
import{d as v,u as h,D as C,q as w,g as o,E as B,A as a,w as x,p as i,i as y,b as N,e as S,m as M,h as $,Q as V}from"./index-B-XVyan_.js";import{L as q}from"./LinkField-DX_Moj7K.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-BO-0UNsA.js";const L={class:"dialog-content"},T=v({__name:"CustomBlockDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(r,{emit:d}){const p=$(),s=r,c=d,_=h(),n=i({get:()=>s.show,set:e=>c("update:show",e)}),m=i(()=>!!s.values?.name),t=M({custom_block_name:"",name:""});function k(){return{query:"jingrow.desk.pagetype.custom_html_block.custom_html_block.get_custom_blocks_for_user"}}C(()=>s.show,e=>{e&&(s.values?(t.custom_block_name=s.values.custom_block_name||"",t.name=s.values.name||""):(t.custom_block_name="",t.name=""))},{immediate:!0});function g(){if(!t.custom_block_name)return _.error(a("Please select a custom block")),!1;const e={...t};return!m.value&&!e.name&&(e.name=`custom_block-${t.custom_block_name}-${Math.random().toString(36).substring(2,12)}`),c("submit",e),n.value=!1,!0}function b(){n.value=!1}function f(){n.value=!1;const e=V("Custom HTML Block"),l=Math.random().toString(36).substring(2,12),u=`new-${e}-${l}`;p.push(`/app/${e}/${u}`)}return(e,l)=>(y(),w(o(B),{show:n.value,"onUpdate:show":l[1]||(l[1]=u=>n.value=u),preset:"dialog",title:m.value?o(a)("Edit Custom Block"):o(a)("Add Custom Block"),"positive-text":m.value?o(a)("Save"):o(a)("Add"),"negative-text":o(a)("Cancel"),onPositiveClick:g,onNegativeClick:b,style:{width:"500px"}},{default:x(()=>[N("div",L,[S(q,{modelValue:t.custom_block_name,"onUpdate:modelValue":l[0]||(l[0]=u=>t.custom_block_name=u),options:"Custom HTML Block",label:o(a)("Custom Block Name"),required:!0,placeholder:"","enable-create":!0,onCreate:f,"get-query":k},null,8,["modelValue","label"])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),Q=D(T,[["__scopeId","data-v-efbc2751"]]);export{Q as default};

View File

@ -1 +1 @@
import{u as i,f as l,h as p,j as d}from"./vue-flow-core--648GSki.js";import{i as c,c as m,e as s,g as t,w as f,b as u,V as g,F as y,p as b}from"./index-CCNaedqK.js";const _={inheritAttrs:!1},x=Object.assign(_,{__name:"CustomEdge",props:{id:{type:String,required:!0},sourceX:{type:Number,required:!0},sourceY:{type:Number,required:!0},targetX:{type:Number,required:!0},targetY:{type:Number,required:!0},sourcePosition:{type:String,required:!0},targetPosition:{type:String,required:!0},data:{type:Object,required:!1},markerEnd:{type:String,required:!1},style:{type:Object,required:!1}},setup(r){const n=r,{removeEdges:o}=i(),e=b(()=>d(n));return(q,a)=>(c(),m(y,null,[s(t(l),{path:e.value[0]},null,8,["path"]),s(t(p),null,{default:f(()=>[u("div",{style:g({pointerEvents:"all",position:"absolute",transform:`translate(-50%, -50%) translate(${e.value[1]}px,${e.value[2]}px)`}),class:"nodrag nopan"},[u("button",{class:"edgebutton",onClick:a[0]||(a[0]=v=>t(o)(r.id))},"×")],4)]),_:1})],64))}});export{x as default};
import{u as i,f as l,h as p,j as d}from"./vue-flow-core-DXR9vmBs.js";import{i as c,c as m,e as s,g as t,w as f,b as u,V as g,F as y,p as b}from"./index-B-XVyan_.js";const _={inheritAttrs:!1},x=Object.assign(_,{__name:"CustomEdge",props:{id:{type:String,required:!0},sourceX:{type:Number,required:!0},sourceY:{type:Number,required:!0},targetX:{type:Number,required:!0},targetY:{type:Number,required:!0},sourcePosition:{type:String,required:!0},targetPosition:{type:String,required:!0},data:{type:Object,required:!1},markerEnd:{type:String,required:!1},style:{type:Object,required:!1}},setup(r){const n=r,{removeEdges:o}=i(),e=b(()=>d(n));return(q,a)=>(c(),m(y,null,[s(t(l),{path:e.value[0]},null,8,["path"]),s(t(p),null,{default:f(()=>[u("div",{style:g({pointerEvents:"all",position:"absolute",transform:`translate(-50%, -50%) translate(${e.value[1]}px,${e.value[2]}px)`}),class:"nodrag nopan"},[u("button",{class:"edgebutton",onClick:a[0]||(a[0]=v=>t(o)(r.id))},"×")],4)]),_:1})],64))}});export{x as default};

View File

@ -1 +1 @@
import{d as k,o as m,c as N,b as h,t as T,g as e,A as t,e as l,w as a,a9 as B,m as R,i as D,aa as u,ab as o,ac as n}from"./index-CCNaedqK.js";import{getCount as c,getLocalJobCount as x}from"./common-W0wo9ok5.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"dashboard-page"},Q={class:"page-header"},S={class:"page-title"},y=k({__name:"Dashboard",setup(L){const s=R({agents:0,nodes:0,taskQueue:0,scheduledTasks:0,knowledgeBase:0,note:0,event:0,todo:0,file:0}),w=async()=>{try{const d=await c("Local Ai Agent");d.success&&(s.agents=d.count||0);const i=await c("Local Ai Node");i.success&&(s.nodes=i.count||0);const f=await x();f.success&&(s.taskQueue=f.count||0);const r=await c("Local Scheduled Job");r.success&&(s.scheduledTasks=r.count||0);const _=await c("Knowledge Base");_.success&&(s.knowledgeBase=_.count||0);const v=await c("Note");v.success&&(s.note=v.count||0);const b=await c("Event");b.success&&(s.event=b.count||0);const g=await c("ToDo");g.success&&(s.todo=g.count||0);const p=await c("File");p.success&&(s.file=p.count||0)}catch(d){console.error("加载统计数据失败:",d)}};return m(()=>{w()}),(d,i)=>(D(),N("div",C,[h("div",Q,[h("h1",S,T(e(t)("Dashboard")),1)]),l(e(B),{cols:4,"x-gap":16,"y-gap":16,responsive:"screen","item-responsive":!0,class:"stats-grid"},{default:a(()=>[l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Total Agents"),value:s.agents},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Total Nodes"),value:s.nodes},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Task Queue"),value:s.taskQueue},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Scheduled Tasks"),value:s.scheduledTasks},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Knowledge Base"),value:s.knowledgeBase},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Note"),value:s.note},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Event"),value:s.event},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("ToDo"),value:s.todo},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("File"),value:s.file},null,8,["label","value"])]),_:1})]),_:1})]),_:1})]))}}),J=A(y,[["__scopeId","data-v-d1f0aa95"]]);export{J as default};
import{d as k,o as m,c as N,b as h,t as T,g as e,A as t,e as l,w as a,a9 as B,m as R,i as D,aa as u,ab as o,ac as n}from"./index-B-XVyan_.js";import{getCount as c,getLocalJobCount as x}from"./common-DnqWLxUx.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"dashboard-page"},Q={class:"page-header"},S={class:"page-title"},y=k({__name:"Dashboard",setup(L){const s=R({agents:0,nodes:0,taskQueue:0,scheduledTasks:0,knowledgeBase:0,note:0,event:0,todo:0,file:0}),w=async()=>{try{const d=await c("Local Ai Agent");d.success&&(s.agents=d.count||0);const i=await c("Local Ai Node");i.success&&(s.nodes=i.count||0);const f=await x();f.success&&(s.taskQueue=f.count||0);const r=await c("Local Scheduled Job");r.success&&(s.scheduledTasks=r.count||0);const _=await c("Knowledge Base");_.success&&(s.knowledgeBase=_.count||0);const v=await c("Note");v.success&&(s.note=v.count||0);const b=await c("Event");b.success&&(s.event=b.count||0);const g=await c("ToDo");g.success&&(s.todo=g.count||0);const p=await c("File");p.success&&(s.file=p.count||0)}catch(d){console.error("加载统计数据失败:",d)}};return m(()=>{w()}),(d,i)=>(D(),N("div",C,[h("div",Q,[h("h1",S,T(e(t)("Dashboard")),1)]),l(e(B),{cols:4,"x-gap":16,"y-gap":16,responsive:"screen","item-responsive":!0,class:"stats-grid"},{default:a(()=>[l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Total Agents"),value:s.agents},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Total Nodes"),value:s.nodes},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Task Queue"),value:s.taskQueue},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Scheduled Tasks"),value:s.scheduledTasks},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Knowledge Base"),value:s.knowledgeBase},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Note"),value:s.note},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("Event"),value:s.event},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("ToDo"),value:s.todo},null,8,["label","value"])]),_:1})]),_:1}),l(e(u),null,{default:a(()=>[l(e(o),null,{default:a(()=>[l(e(n),{label:e(t)("File"),value:s.file},null,8,["label","value"])]),_:1})]),_:1})]),_:1})]))}}),J=A(y,[["__scopeId","data-v-d1f0aa95"]]);export{J as default};

View File

@ -1 +1 @@
import{d as n,c as t,b as c,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=n({__name:"Data",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=s=>e.record[e.df.fieldname]=s),type:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=p(g,[["__scopeId","data-v-df0034a2"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};
import{d as n,c as t,b as c,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=n({__name:"Data",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=s=>e.record[e.df.fieldname]=s),type:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=p(g,[["__scopeId","data-v-df0034a2"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};

View File

@ -1 +1 @@
import{bc as v,A as f,i as l,c as t,g as o,bb as m,L as c,t as p,V as h,s as u,b as k,r as y}from"./index-CCNaedqK.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={key:0,class:"field-controls"},g=["placeholder"],x=["value","disabled"],D={key:4,class:"mt-2 form-control",type:"text",style:{height:"110px"},readonly:""},L=["innerHTML"],M=["innerHTML"],S={__name:"DataControl",props:["df","value","read_only"],setup(e){const s=e;let a=v(),d=y(""),i=y("");return s.df.fieldtype==="Datetime"&&(d.value=Intl.DateTimeFormat().resolvedOptions().timeZone),s.df.fieldtype==="Color"&&(i.value=f("Choose a color")),s.df.fieldtype==="Icon"&&(i.value=f("Choose an icon")),(r,n)=>(l(),t("div",{class:c(["control form-builder-control",{editable:o(a).label}])},[o(a).label?(l(),t("div",T,[m(r.$slots,"label",{},void 0,!0),m(r.$slots,"actions",{},void 0,!0)])):(l(),t("div",{key:1,class:c(["control-label label",{reqd:e.df.reqd}])},p(e.df.label),3)),o(a).label?(l(),t("input",{key:2,class:"form-control",type:"text",style:h({height:e.df.fieldtype=="Table MultiSelect"?"42px":""}),placeholder:o(i),readonly:""},null,12,g)):(l(),t("input",{key:3,class:"form-control",type:"text",value:e.value,disabled:e.read_only||e.df.read_only,onInput:n[0]||(n[0]=b=>r.$emit("update:modelValue",b.target.value))},null,40,x)),o(a).label&&e.df.fieldtype==="Barcode"?(l(),t("input",D)):u("",!0),e.df.description?(l(),t("div",{key:5,class:"mt-2 description",innerHTML:e.df.description},null,8,L)):u("",!0),o(d)?(l(),t("div",{key:6,class:c(["time-zone",e.df.description?"":"mt-2"]),innerHTML:o(d)},null,10,M)):u("",!0),n[1]||(n[1]=k("div",{class:"selected-color no-value"},null,-1))],2))}},I=C(S,[["__scopeId","data-v-1d7bcc6e"]]);export{I as default};
import{bc as v,A as f,i as l,c as t,g as o,bb as m,L as c,t as p,V as h,s as u,b as k,r as y}from"./index-B-XVyan_.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={key:0,class:"field-controls"},g=["placeholder"],x=["value","disabled"],D={key:4,class:"mt-2 form-control",type:"text",style:{height:"110px"},readonly:""},L=["innerHTML"],M=["innerHTML"],S={__name:"DataControl",props:["df","value","read_only"],setup(e){const s=e;let a=v(),d=y(""),i=y("");return s.df.fieldtype==="Datetime"&&(d.value=Intl.DateTimeFormat().resolvedOptions().timeZone),s.df.fieldtype==="Color"&&(i.value=f("Choose a color")),s.df.fieldtype==="Icon"&&(i.value=f("Choose an icon")),(r,n)=>(l(),t("div",{class:c(["control form-builder-control",{editable:o(a).label}])},[o(a).label?(l(),t("div",T,[m(r.$slots,"label",{},void 0,!0),m(r.$slots,"actions",{},void 0,!0)])):(l(),t("div",{key:1,class:c(["control-label label",{reqd:e.df.reqd}])},p(e.df.label),3)),o(a).label?(l(),t("input",{key:2,class:"form-control",type:"text",style:h({height:e.df.fieldtype=="Table MultiSelect"?"42px":""}),placeholder:o(i),readonly:""},null,12,g)):(l(),t("input",{key:3,class:"form-control",type:"text",value:e.value,disabled:e.read_only||e.df.read_only,onInput:n[0]||(n[0]=b=>r.$emit("update:modelValue",b.target.value))},null,40,x)),o(a).label&&e.df.fieldtype==="Barcode"?(l(),t("input",D)):u("",!0),e.df.description?(l(),t("div",{key:5,class:"mt-2 description",innerHTML:e.df.description},null,8,L)):u("",!0),o(d)?(l(),t("div",{key:6,class:c(["time-zone",e.df.description?"":"mt-2"]),innerHTML:o(d)},null,10,M)):u("",!0),n[1]||(n[1]=k("div",{class:"selected-color no-value"},null,-1))],2))}},I=C(S,[["__scopeId","data-v-1d7bcc6e"]]);export{I as default};

View File

@ -1 +1 @@
import{d as b,o as g,a0 as h,c as i,b as w,l as D,t as k,s as S,e as c,g as f,an as p,L as _,p as m,r as x,i as u}from"./index-CCNaedqK.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},B={key:0,class:"required"},T={key:1,class:"date-inline-wrapper"},$=b({__name:"Date",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(l){const n=l,v=m(()=>n.df.label_layout||"vertical"),o=x(!1),s=m({get(){const a=n.record[n.df.fieldname];if(!a)return null;if(typeof a=="number")return a;const e=String(a).split("-");if(e.length===3){const d=parseInt(e[0],10),r=parseInt(e[1],10)-1,y=parseInt(e[2],10);return new Date(d,r,y).getTime()}const t=new Date(a).getTime();return isNaN(t)?null:t},set(a){if(a===null)n.record[n.df.fieldname]=null;else{const e=new Date(a),t=e.getFullYear(),d=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");n.record[n.df.fieldname]=`${t}-${d}-${r}`}o.value=!1}});return g(()=>{n.onlyInput&&h(()=>{o.value=!0})}),(a,e)=>l.onlyInput?(u(),i("div",T,[c(f(p),{value:s.value,"onUpdate:value":e[1]||(e[1]=t=>s.value=t),show:o.value,"onUpdate:show":e[2]||(e[2]=t=>o.value=t),type:"date",placeholder:"",disabled:!l.canEdit,style:{width:"100%"}},null,8,["value","show","disabled"])])):(u(),i("div",{key:0,class:_(["field-wrapper",`layout-${v.value}`])},[w("label",N,[D(k(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(u(),i("span",B,"*")):S("",!0)]),c(f(p),{value:s.value,"onUpdate:value":e[0]||(e[0]=t=>s.value=t),type:"date",placeholder:"",disabled:!l.canEdit},null,8,["value","disabled"])],2))}}),E=I($,[["__scopeId","data-v-b761b558"]]),M=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as D,M as _};
import{d as b,o as g,a0 as h,c as i,b as w,l as D,t as k,s as S,e as c,g as f,an as p,L as _,p as m,r as x,i as u}from"./index-B-XVyan_.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},B={key:0,class:"required"},T={key:1,class:"date-inline-wrapper"},$=b({__name:"Date",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(l){const n=l,v=m(()=>n.df.label_layout||"vertical"),o=x(!1),s=m({get(){const a=n.record[n.df.fieldname];if(!a)return null;if(typeof a=="number")return a;const e=String(a).split("-");if(e.length===3){const d=parseInt(e[0],10),r=parseInt(e[1],10)-1,y=parseInt(e[2],10);return new Date(d,r,y).getTime()}const t=new Date(a).getTime();return isNaN(t)?null:t},set(a){if(a===null)n.record[n.df.fieldname]=null;else{const e=new Date(a),t=e.getFullYear(),d=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");n.record[n.df.fieldname]=`${t}-${d}-${r}`}o.value=!1}});return g(()=>{n.onlyInput&&h(()=>{o.value=!0})}),(a,e)=>l.onlyInput?(u(),i("div",T,[c(f(p),{value:s.value,"onUpdate:value":e[1]||(e[1]=t=>s.value=t),show:o.value,"onUpdate:show":e[2]||(e[2]=t=>o.value=t),type:"date",placeholder:"",disabled:!l.canEdit,style:{width:"100%"}},null,8,["value","show","disabled"])])):(u(),i("div",{key:0,class:_(["field-wrapper",`layout-${v.value}`])},[w("label",N,[D(k(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(u(),i("span",B,"*")):S("",!0)]),c(f(p),{value:s.value,"onUpdate:value":e[0]||(e[0]=t=>s.value=t),type:"date",placeholder:"",disabled:!l.canEdit},null,8,["value","disabled"])],2))}}),E=I($,[["__scopeId","data-v-b761b558"]]),M=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as D,M as _};

View File

@ -1 +1 @@
import{d as c,c as t,b as s,l as r,t as i,s as f,e as u,g as m,an as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const p={class:"field-label"},x={key:0,class:"required"},_=c({__name:"DateRange",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[s("label",p,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",x,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),type:"daterange",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=g(_,[["__scopeId","data-v-75386fc9"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as c,c as t,b as s,l as r,t as i,s as f,e as u,g as m,an as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const p={class:"field-label"},x={key:0,class:"required"},_=c({__name:"DateRange",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[s("label",p,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",x,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),type:"daterange",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=g(_,[["__scopeId","data-v-75386fc9"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{V as _};

View File

@ -1 +1 @@
import{d as i,c as n,b as u,l as f,t as m,s as p,e as b,g as _,an as v,L as y,p as r,i as s}from"./index-CCNaedqK.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},x={key:0,class:"required"},D=i({__name:"Datetime",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(a){const t=a,d=r(()=>t.df.label_layout||"vertical"),o=r({get(){const e=t.record[t.df.fieldname];if(!e)return null;if(typeof e=="number")return e;const l=new Date(e).getTime();return isNaN(l)?null:l},set(e){e===null?t.record[t.df.fieldname]=null:t.record[t.df.fieldname]=new Date(e).toISOString().replace("T"," ").substring(0,23)}});return(e,l)=>(s(),n("div",{class:y(["field-wrapper",`layout-${d.value}`])},[u("label",N,[f(m(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(s(),n("span",x,"*")):p("",!0)]),b(_(v),{value:o.value,"onUpdate:value":l[0]||(l[0]=c=>o.value=c),type:"datetime",placeholder:"",disabled:!a.canEdit},null,8,["value","disabled"])],2))}}),S=g(D,[["__scopeId","data-v-3dbae858"]]),T=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{T as _};
import{d as i,c as n,b as u,l as f,t as m,s as p,e as b,g as _,an as v,L as y,p as r,i as s}from"./index-B-XVyan_.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},x={key:0,class:"required"},D=i({__name:"Datetime",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(a){const t=a,d=r(()=>t.df.label_layout||"vertical"),o=r({get(){const e=t.record[t.df.fieldname];if(!e)return null;if(typeof e=="number")return e;const l=new Date(e).getTime();return isNaN(l)?null:l},set(e){e===null?t.record[t.df.fieldname]=null:t.record[t.df.fieldname]=new Date(e).toISOString().replace("T"," ").substring(0,23)}});return(e,l)=>(s(),n("div",{class:y(["field-wrapper",`layout-${d.value}`])},[u("label",N,[f(m(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(s(),n("span",x,"*")):p("",!0)]),b(_(v),{value:o.value,"onUpdate:value":l[0]||(l[0]=c=>o.value=c),type:"datetime",placeholder:"",disabled:!a.canEdit},null,8,["value","disabled"])],2))}}),S=g(D,[["__scopeId","data-v-3dbae858"]]),T=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{T as _};

View File

@ -1 +1 @@
import{i as t,c as n,b as l,bb as h,e as x,g as C,T as f,q as B,Z as S,_ as R,F as m,C as _,t as v,s as $,V as D,ap as I,r as p,a0 as V,p as z}from"./index-CCNaedqK.js";import{o as N}from"./index-CAz7k-Zh.js";import{I as T}from"./iconify-D9UFUJY9.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-Car5T2D0.js";const F={class:"dropdown-wrapper"},O={class:"dropdown-options"},A={key:0,class:"group-title"},L=["title"],M=["onClick"],P={__name:"Dropdown",props:{options:{type:Array,required:!0},placement:{type:String,default:"bottom-end"}},setup(w){const r=w,e=p(!1),a=p(null),c=p(null),u=p({});N(a,()=>e.value=!1,{ignore:[c]});const g=z(()=>(r.options[0]?.group?r.options:[{group:"",items:r.options}]).map((d,s)=>({key:s,group:d.group,items:d.items})));function b(){if(!a.value||!e.value)return;const o=a.value.getBoundingClientRect();u.value={position:"fixed",top:`${o.bottom+4}px`,left:r.placement==="bottom-end"?"auto":`${o.left}px`,right:r.placement==="bottom-end"?`${window.innerWidth-o.right}px`:"auto",zIndex:1e3}}function k(){e.value=!e.value,V(()=>b())}function y(o){o&&o(),e.value=!1}return(o,d)=>(t(),n("div",F,[l("button",{ref_key:"dropdownBtnRef",ref:a,class:"dropdown-btn btn btn-xs btn-icon",onClick:f(k,["stop"])},[h(o.$slots,"default",{},()=>[x(C(T),{icon:"mdi:dots-horizontal",class:"icon-sm"})],!0)],512),(t(),B(I,{to:"body"},[S(l("div",{ref_key:"dropdownRef",ref:c,class:"dropdown-menu",style:D(u.value)},[l("div",O,[(t(!0),n(m,null,_(g.value,s=>(t(),n("div",{key:s.key,class:"groups"},[s.group?(t(),n("div",A,v(s.group),1)):$("",!0),(t(!0),n(m,null,_(s.items,i=>(t(),n("div",{class:"dropdown-option",key:i.label,title:i.tooltip},[l("button",{class:"dropdown-item",onClick:f(W=>y(i.onClick),["stop"])},v(i.label),9,M)],8,L))),128))]))),128))])],4),[[R,e.value]])]))]))}},J=q(P,[["__scopeId","data-v-0014848b"]]);export{J as default};
import{i as t,c as n,b as l,bb as h,e as x,g as C,T as f,q as B,Z as S,_ as R,F as m,C as _,t as v,s as $,V as D,ap as I,r as p,a0 as V,p as z}from"./index-B-XVyan_.js";import{o as N}from"./index-CuIWrasZ.js";import{I as T}from"./iconify-BO-0UNsA.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-Dj5-SshT.js";const F={class:"dropdown-wrapper"},O={class:"dropdown-options"},A={key:0,class:"group-title"},L=["title"],M=["onClick"],P={__name:"Dropdown",props:{options:{type:Array,required:!0},placement:{type:String,default:"bottom-end"}},setup(w){const r=w,e=p(!1),a=p(null),c=p(null),u=p({});N(a,()=>e.value=!1,{ignore:[c]});const g=z(()=>(r.options[0]?.group?r.options:[{group:"",items:r.options}]).map((d,s)=>({key:s,group:d.group,items:d.items})));function b(){if(!a.value||!e.value)return;const o=a.value.getBoundingClientRect();u.value={position:"fixed",top:`${o.bottom+4}px`,left:r.placement==="bottom-end"?"auto":`${o.left}px`,right:r.placement==="bottom-end"?`${window.innerWidth-o.right}px`:"auto",zIndex:1e3}}function k(){e.value=!e.value,V(()=>b())}function y(o){o&&o(),e.value=!1}return(o,d)=>(t(),n("div",F,[l("button",{ref_key:"dropdownBtnRef",ref:a,class:"dropdown-btn btn btn-xs btn-icon",onClick:f(k,["stop"])},[h(o.$slots,"default",{},()=>[x(C(T),{icon:"mdi:dots-horizontal",class:"icon-sm"})],!0)],512),(t(),B(I,{to:"body"},[S(l("div",{ref_key:"dropdownRef",ref:c,class:"dropdown-menu",style:D(u.value)},[l("div",O,[(t(!0),n(m,null,_(g.value,s=>(t(),n("div",{key:s.key,class:"groups"},[s.group?(t(),n("div",A,v(s.group),1)):$("",!0),(t(!0),n(m,null,_(s.items,i=>(t(),n("div",{class:"dropdown-option",key:i.label,title:i.tooltip},[l("button",{class:"dropdown-item",onClick:f(W=>y(i.onClick),["stop"])},v(i.label),9,M)],8,L))),128))]))),128))])],4),[[R,e.value]])]))]))}},J=q(P,[["__scopeId","data-v-0014848b"]]);export{J as default};

View File

@ -1 +1 @@
import{d as s,c as t,b as c,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=s({__name:"Duration",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=p(g,[["__scopeId","data-v-8db51f41"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};
import{d as s,c as t,b as c,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=s({__name:"Duration",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,o=y(()=>d.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${o.value}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=p(g,[["__scopeId","data-v-8db51f41"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};

View File

@ -0,0 +1 @@
import{_ as o}from"./DynamicIcon.vue_vue_type_script_setup_true_lang-DVezqn6A.js";import"./iconify-BO-0UNsA.js";import"./index-B-XVyan_.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./DynamicIcon.vue_vue_type_script_setup_true_lang-Bc6UFVWA.js";import"./iconify-D9UFUJY9.js";import"./index-CCNaedqK.js";export{o as default};

View File

@ -1 +1 @@
import{I as r}from"./iconify-D9UFUJY9.js";import{d as c,i as a,q as t,g as i,p as l}from"./index-CCNaedqK.js";const f=c({__name:"DynamicIcon",props:{name:{},size:{default:32},color:{default:"currentColor"},iconLibrary:{default:"tabler"}},setup(e){const o=e,n=l(()=>o.name.includes(":")?o.name:`${o.iconLibrary}:${o.name}`);return(s,m)=>(a(),t(i(r),{icon:n.value,width:e.size,height:e.size,color:e.color},null,8,["icon","width","height","color"]))}});export{f as _};
import{I as r}from"./iconify-BO-0UNsA.js";import{d as c,i as a,q as t,g as i,p as l}from"./index-B-XVyan_.js";const f=c({__name:"DynamicIcon",props:{name:{},size:{default:32},color:{default:"currentColor"},iconLibrary:{default:"tabler"}},setup(e){const o=e,n=l(()=>o.name.includes(":")?o.name:`${o.iconLibrary}:${o.name}`);return(s,m)=>(a(),t(i(r),{icon:n.value,width:e.size,height:e.size,color:e.color},null,8,["icon","width","height","color"]))}});export{f as _};

View File

@ -1 +1 @@
import{d as ne,D as S,o as le,z as se,c as d,b as g,l as oe,t as L,s as _,q as F,g as l,A as o,k as U,w as $,T as R,B as j,e as y,F as ie,C as ce,L as N,p as x,r as v,i,U as Q,Q as V,ae as A}from"./index-CCNaedqK.js";import{I as O}from"./iconify-D9UFUJY9.js";import{getPageTypeMeta as ue}from"./common-W0wo9ok5.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";const de={class:"field-label"},ve={key:0,class:"required"},fe={class:"input-wrapper"},pe={key:2,class:"link-buttons"},_e={key:0,class:"dropdown-menu"},he={class:"dropdown-content"},me=["onClick"],ye={key:0,class:"create-icon"},ke={class:"item-label"},ge={key:0,class:"empty-state"},be={key:1,class:"loading-state"},we=ne({__name:"DynamicLink",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(p){const n=p,K=x(()=>n.df.label_layout||"vertical"),s=x(()=>{const e=n.df.options;return e&&n.record[e]||""}),c=v(""),h=v(""),m=v(""),T=v(!1),r=v(!1),k=v([]),b=v(!1),B=v({}),w=v({}),D=x(()=>!!c.value),G=x(()=>n.df.max_options||20);S(()=>n.record[n.df.fieldname],async e=>{e!==c.value&&(c.value=e||"",e&&s.value?h.value=await J(s.value,e):h.value="")},{immediate:!0}),S(c,(e,a)=>{n.record[n.df.fieldname]!==e&&(n.record[n.df.fieldname]=e,n.ctx?.onFieldChange&&e!==a&&n.ctx.onFieldChange(n.df.fieldname,e,a,n.record))}),S(s,(e,a)=>{e!==a&&c.value&&(c.value="",h.value="",m.value="",r.value=!1)});async function H(e){if(!e)return{};if(B.value[e])return B.value[e];try{const a=await ue(e),t=a.success&&a.data?a.data:{};return B.value[e]=t,t}catch{return{}}}async function J(e,a){if(!e||!a)return a;const t=`${e}_${a}`;if(w.value[t])return w.value[t];try{const f=await H(e),u=f.title_field||"name",C=f.show_title_field_in_link||!1;if(u==="name"||!C){const P=o(a);return w.value[t]=P,P}const te=((await A.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(a)}`)).data?.data||{})[u]||a,z=o(te);return w.value[t]=z,z}catch{return o(a)}}function I(){return{label:`${o("Create")}${o(s.value)}`,value:"create_new",type:"create"}}async function E(e=""){if(s.value){b.value=!0;try{const a=await A.post("/api/action/jingrow.desk.search.search_link",{pagetype:s.value,txt:e||"",page_length:G.value});if(a.data&&a.data.message){const f=a.data.message.filter(u=>u.value&&u.value!=="create_new__link_option"&&u.value!=="advanced_search__link_option").map(u=>{const C=u.label||u.value;return{label:o(C),value:u.value,title:o(C)}});k.value=[...f,I()]}else k.value=[I()]}catch{k.value=[I()]}finally{b.value=!1}}}function W(e){m.value=e,r.value&&E(e)}async function M(){n.canEdit&&s.value&&(r.value||(await E(m.value),r.value=!0))}async function X(e){if(e.type==="create"){const a=V(s.value),t=Math.random().toString(36).substring(2,12),f=`new-${a}-${t}`;window.open(`/app/${a}/${f}`,"_blank"),r.value=!1;return}c.value=e.value,h.value=e.title||e.label,m.value="",r.value=!1}function Y(){c.value="",h.value="",m.value="",r.value=!1}function Z(){if(!c.value||!s.value)return;const e=V(s.value);window.open(`/app/${e}/${c.value}`,"_blank")}function ee(){T.value=D.value}function ae(){T.value=!1}function q(e){e.target.closest(".link-field-container")||(r.value=!1)}return le(()=>{document.addEventListener("click",q)}),se(()=>{document.removeEventListener("click",q)}),(e,a)=>(i(),d("div",{class:N(["field-wrapper",`layout-${K.value}`])},[g("label",de,[oe(L(p.ctx.t(p.df.label||p.df.fieldname))+" ",1),p.df.reqd?(i(),d("span",ve,"*")):_("",!0)]),g("div",{class:"link-field-container",onMouseenter:ee,onMouseleave:ae},[g("div",fe,[s.value?(i(),F(l(U),{key:1,value:D.value?h.value:m.value,placeholder:"",disabled:!p.canEdit,"onUpdate:value":W,onClick:M,onFocus:M,class:"link-input"},null,8,["value","disabled"])):(i(),F(l(U),{key:0,value:c.value,placeholder:l(o)("Select a PageType first"),disabled:"",class:"link-input"},null,8,["value","placeholder"])),T.value&&D.value&&s.value?(i(),d("div",pe,[p.canEdit?(i(),F(l(j),{key:0,size:"small",quaternary:"",onClick:R(Y,["stop"]),title:l(o)("Clear"),class:"action-btn"},{icon:$(()=>[y(l(Q),null,{default:$(()=>[y(l(O),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),y(l(j),{size:"small",quaternary:"",onClick:R(Z,["stop"]),title:l(o)("Open Detail"),class:"action-btn"},{icon:$(()=>[y(l(Q),null,{default:$(()=>[y(l(O),{icon:"mdi:arrow-right"})]),_:1})]),_:1},8,["title"])])):_("",!0)]),r.value?(i(),d("div",_e,[g("div",he,[(i(!0),d(ie,null,ce(k.value,t=>(i(),d("div",{key:t.value,class:N(["dropdown-item",{"create-item":t.type==="create"}]),onClick:f=>X(t)},[t.type==="create"?(i(),d("span",ye,[y(l(O),{icon:"mdi:plus"})])):_("",!0),g("span",ke,L(t.label),1)],10,me))),128)),k.value.length===0&&!b.value?(i(),d("div",ge,L(l(o)("No Data")),1)):_("",!0),b.value?(i(),d("div",be,L(l(o)("Loading")),1)):_("",!0)])])):_("",!0)],32)],2))}}),Ce=re(we,[["__scopeId","data-v-494aefeb"]]),Ie=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Ie as _};
import{d as ne,D as S,o as le,z as se,c as d,b as g,l as oe,t as L,s as _,q as F,g as l,A as o,k as U,w as $,T as R,B as j,e as y,F as ie,C as ce,L as N,p as x,r as v,i,U as Q,Q as V,ae as A}from"./index-B-XVyan_.js";import{I as O}from"./iconify-BO-0UNsA.js";import{getPageTypeMeta as ue}from"./common-DnqWLxUx.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";const de={class:"field-label"},ve={key:0,class:"required"},fe={class:"input-wrapper"},pe={key:2,class:"link-buttons"},_e={key:0,class:"dropdown-menu"},he={class:"dropdown-content"},me=["onClick"],ye={key:0,class:"create-icon"},ke={class:"item-label"},ge={key:0,class:"empty-state"},be={key:1,class:"loading-state"},we=ne({__name:"DynamicLink",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(p){const n=p,K=x(()=>n.df.label_layout||"vertical"),s=x(()=>{const e=n.df.options;return e&&n.record[e]||""}),c=v(""),h=v(""),m=v(""),T=v(!1),r=v(!1),k=v([]),b=v(!1),B=v({}),w=v({}),D=x(()=>!!c.value),G=x(()=>n.df.max_options||20);S(()=>n.record[n.df.fieldname],async e=>{e!==c.value&&(c.value=e||"",e&&s.value?h.value=await J(s.value,e):h.value="")},{immediate:!0}),S(c,(e,a)=>{n.record[n.df.fieldname]!==e&&(n.record[n.df.fieldname]=e,n.ctx?.onFieldChange&&e!==a&&n.ctx.onFieldChange(n.df.fieldname,e,a,n.record))}),S(s,(e,a)=>{e!==a&&c.value&&(c.value="",h.value="",m.value="",r.value=!1)});async function H(e){if(!e)return{};if(B.value[e])return B.value[e];try{const a=await ue(e),t=a.success&&a.data?a.data:{};return B.value[e]=t,t}catch{return{}}}async function J(e,a){if(!e||!a)return a;const t=`${e}_${a}`;if(w.value[t])return w.value[t];try{const f=await H(e),u=f.title_field||"name",C=f.show_title_field_in_link||!1;if(u==="name"||!C){const P=o(a);return w.value[t]=P,P}const te=((await A.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(a)}`)).data?.data||{})[u]||a,z=o(te);return w.value[t]=z,z}catch{return o(a)}}function I(){return{label:`${o("Create")}${o(s.value)}`,value:"create_new",type:"create"}}async function E(e=""){if(s.value){b.value=!0;try{const a=await A.post("/api/action/jingrow.desk.search.search_link",{pagetype:s.value,txt:e||"",page_length:G.value});if(a.data&&a.data.message){const f=a.data.message.filter(u=>u.value&&u.value!=="create_new__link_option"&&u.value!=="advanced_search__link_option").map(u=>{const C=u.label||u.value;return{label:o(C),value:u.value,title:o(C)}});k.value=[...f,I()]}else k.value=[I()]}catch{k.value=[I()]}finally{b.value=!1}}}function W(e){m.value=e,r.value&&E(e)}async function M(){n.canEdit&&s.value&&(r.value||(await E(m.value),r.value=!0))}async function X(e){if(e.type==="create"){const a=V(s.value),t=Math.random().toString(36).substring(2,12),f=`new-${a}-${t}`;window.open(`/app/${a}/${f}`,"_blank"),r.value=!1;return}c.value=e.value,h.value=e.title||e.label,m.value="",r.value=!1}function Y(){c.value="",h.value="",m.value="",r.value=!1}function Z(){if(!c.value||!s.value)return;const e=V(s.value);window.open(`/app/${e}/${c.value}`,"_blank")}function ee(){T.value=D.value}function ae(){T.value=!1}function q(e){e.target.closest(".link-field-container")||(r.value=!1)}return le(()=>{document.addEventListener("click",q)}),se(()=>{document.removeEventListener("click",q)}),(e,a)=>(i(),d("div",{class:N(["field-wrapper",`layout-${K.value}`])},[g("label",de,[oe(L(p.ctx.t(p.df.label||p.df.fieldname))+" ",1),p.df.reqd?(i(),d("span",ve,"*")):_("",!0)]),g("div",{class:"link-field-container",onMouseenter:ee,onMouseleave:ae},[g("div",fe,[s.value?(i(),F(l(U),{key:1,value:D.value?h.value:m.value,placeholder:"",disabled:!p.canEdit,"onUpdate:value":W,onClick:M,onFocus:M,class:"link-input"},null,8,["value","disabled"])):(i(),F(l(U),{key:0,value:c.value,placeholder:l(o)("Select a PageType first"),disabled:"",class:"link-input"},null,8,["value","placeholder"])),T.value&&D.value&&s.value?(i(),d("div",pe,[p.canEdit?(i(),F(l(j),{key:0,size:"small",quaternary:"",onClick:R(Y,["stop"]),title:l(o)("Clear"),class:"action-btn"},{icon:$(()=>[y(l(Q),null,{default:$(()=>[y(l(O),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),y(l(j),{size:"small",quaternary:"",onClick:R(Z,["stop"]),title:l(o)("Open Detail"),class:"action-btn"},{icon:$(()=>[y(l(Q),null,{default:$(()=>[y(l(O),{icon:"mdi:arrow-right"})]),_:1})]),_:1},8,["title"])])):_("",!0)]),r.value?(i(),d("div",_e,[g("div",he,[(i(!0),d(ie,null,ce(k.value,t=>(i(),d("div",{key:t.value,class:N(["dropdown-item",{"create-item":t.type==="create"}]),onClick:f=>X(t)},[t.type==="create"?(i(),d("span",ye,[y(l(O),{icon:"mdi:plus"})])):_("",!0),g("span",ke,L(t.label),1)],10,me))),128)),k.value.length===0&&!b.value?(i(),d("div",ge,L(l(o)("No Data")),1)):_("",!0),b.value?(i(),d("div",be,L(l(o)("Loading")),1)):_("",!0)])])):_("",!0)],32)],2))}}),Ce=re(we,[["__scopeId","data-v-494aefeb"]]),Ie=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Ie as _};

View File

@ -1 +1 @@
import{i,c as o,t as x,Z as _,ag as b,f as l,T as g,L as k,r as u,p as E,a0 as h}from"./index-CCNaedqK.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";const L={key:0,class:"editable-text"},S={__name:"EditableInput",props:{text:{type:String,default:""},placeholder:{type:String,default:""},emptyLabel:{type:String,default:""}},emits:["update:modelValue"],setup(c,{emit:d}){const e=c,f=d,t=u(!1),a=u(""),s=u(null),m=E(()=>e.text?e.text:e.emptyLabel?e.emptyLabel:e.placeholder||"点击编辑");async function v(){t.value=!0,a.value=e.text,await h(),s.value?.focus(),s.value?.select()}function n(){t.value&&(f("update:modelValue",a.value),t.value=!1)}function r(){a.value=e.text,t.value=!1}return(T,p)=>(i(),o("span",{class:k(["editable-input",{"is-editing":t.value}]),onDblclick:g(v,["stop"]),onKeydown:[l(n,["enter"]),l(r,["escape"])],tabindex:"0"},[t.value?_((i(),o("input",{key:1,ref_key:"inputRef",ref:s,type:"text",class:"form-control","onUpdate:modelValue":p[0]||(p[0]=y=>a.value=y),onBlur:n,onKeydown:[l(n,["enter"]),l(r,["escape"])]},null,544)),[[b,a.value]]):(i(),o("span",L,x(m.value),1))],34))}},D=w(S,[["__scopeId","data-v-c7790eb2"]]);export{D as default};
import{i,c as o,t as x,Z as _,ag as b,f as l,T as g,L as k,r as u,p as E,a0 as h}from"./index-B-XVyan_.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";const L={key:0,class:"editable-text"},S={__name:"EditableInput",props:{text:{type:String,default:""},placeholder:{type:String,default:""},emptyLabel:{type:String,default:""}},emits:["update:modelValue"],setup(c,{emit:d}){const e=c,f=d,t=u(!1),a=u(""),s=u(null),m=E(()=>e.text?e.text:e.emptyLabel?e.emptyLabel:e.placeholder||"点击编辑");async function v(){t.value=!0,a.value=e.text,await h(),s.value?.focus(),s.value?.select()}function n(){t.value&&(f("update:modelValue",a.value),t.value=!1)}function r(){a.value=e.text,t.value=!1}return(T,p)=>(i(),o("span",{class:k(["editable-input",{"is-editing":t.value}]),onDblclick:g(v,["stop"]),onKeydown:[l(n,["enter"]),l(r,["escape"])],tabindex:"0"},[t.value?_((i(),o("input",{key:1,ref_key:"inputRef",ref:s,type:"text",class:"form-control","onUpdate:modelValue":p[0]||(p[0]=y=>a.value=y),onBlur:n,onKeydown:[l(n,["enter"]),l(r,["escape"])]},null,544)),[[b,a.value]]):(i(),o("span",L,x(m.value),1))],34))}},D=w(S,[["__scopeId","data-v-c7790eb2"]]);export{D as default};

View File

@ -1 +1 @@
import{i as n,c as a,g as s,T as k,bo as x,f as T,V as L,t as m,b as h,A as g,a0 as B,r as i,p as M}from"./index-CCNaedqK.js";import{u as S}from"./utils-CXGJciCc.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CAz7k-Zh.js";import"./index-Car5T2D0.js";const H=["title"],I=["disabled","placeholder","value"],D=["innerHTML"],E={key:2,class:"text-muted"},N=["innerHTML"],O={__name:"EditableInput",props:{text:{type:String},placeholder:{default:"No Label"},emptyLabel:{default:"No Label"}},setup(e,{expose:y}){let r=S();const u=e;let t=i(!1),f=i(null),o=i(null),p=i(null),b=M(()=>o.value&&u.text?o.value.offsetWidth+15+"px":u.text?"40px":p.value?.offsetWidth+15+"px"||"100px");function c(){r.readOnly||(t.value=!0,B(()=>f.value?.focus()))}return y({focusOnLabel:c}),(v,l)=>(n(),a("div",{onDblclick:c,title:s(g)("Double click to edit label")},[s(t)?(n(),a("input",{key:0,class:"input-text",ref_key:"inputText",ref:f,disabled:s(r).readOnly,type:"text",placeholder:e.placeholder,value:e.text,style:L({width:s(b)}),onInput:l[0]||(l[0]=d=>v.$emit("update:modelValue",d.target.value)),onKeydown:l[1]||(l[1]=T(d=>x(t)?t.value=!1:t=!1,["enter"])),onBlur:l[2]||(l[2]=d=>x(t)?t.value=!1:t=!1),onClick:l[3]||(l[3]=k(()=>{},["stop"]))},null,44,I)):e.text?(n(),a("span",{key:1,innerHTML:e.text},null,8,D)):(n(),a("i",E,m(e.emptyLabel),1)),h("span",{class:"hidden-span",ref_key:"hiddenText",ref:o,innerHTML:e.text},null,8,N),h("span",{class:"hidden-span",ref_key:"hiddenPlaceholder",ref:p},m(e.placeholder),513)],40,H))}},z=w(O,[["__scopeId","data-v-c927f830"]]);export{z as default};
import{i as n,c as a,g as s,T as k,bo as x,f as T,V as L,t as m,b as h,A as g,a0 as B,r as i,p as M}from"./index-B-XVyan_.js";import{u as S}from"./utils-CyIbe-9L.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CuIWrasZ.js";import"./index-Dj5-SshT.js";const H=["title"],I=["disabled","placeholder","value"],D=["innerHTML"],E={key:2,class:"text-muted"},N=["innerHTML"],O={__name:"EditableInput",props:{text:{type:String},placeholder:{default:"No Label"},emptyLabel:{default:"No Label"}},setup(e,{expose:y}){let r=S();const u=e;let t=i(!1),f=i(null),o=i(null),p=i(null),b=M(()=>o.value&&u.text?o.value.offsetWidth+15+"px":u.text?"40px":p.value?.offsetWidth+15+"px"||"100px");function c(){r.readOnly||(t.value=!0,B(()=>f.value?.focus()))}return y({focusOnLabel:c}),(v,l)=>(n(),a("div",{onDblclick:c,title:s(g)("Double click to edit label")},[s(t)?(n(),a("input",{key:0,class:"input-text",ref_key:"inputText",ref:f,disabled:s(r).readOnly,type:"text",placeholder:e.placeholder,value:e.text,style:L({width:s(b)}),onInput:l[0]||(l[0]=d=>v.$emit("update:modelValue",d.target.value)),onKeydown:l[1]||(l[1]=T(d=>x(t)?t.value=!1:t=!1,["enter"])),onBlur:l[2]||(l[2]=d=>x(t)?t.value=!1:t=!1),onClick:l[3]||(l[3]=k(()=>{},["stop"]))},null,44,I)):e.text?(n(),a("span",{key:1,innerHTML:e.text},null,8,D)):(n(),a("i",E,m(e.emptyLabel),1)),h("span",{class:"hidden-span",ref_key:"hiddenText",ref:o,innerHTML:e.text},null,8,N),h("span",{class:"hidden-span",ref_key:"hiddenPlaceholder",ref:p},m(e.placeholder),513)],40,H))}},z=w(O,[["__scopeId","data-v-c927f830"]]);export{z as default};

View File

@ -1 +1 @@
import{u as k,i as o,c as i,b as e,t as u,F as g,C as w,L as v,g as p,A as C,s as d,e as T,w as N,a4 as O,r as f}from"./index-CCNaedqK.js";import{g as _}from"./nodeMetadata-Bu2tX9Xa.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-W0wo9ok5.js";import"./vue-flow-core--648GSki.js";import"./NodePropertyModal-D9fXVYfl.js";import"./SchemaFormRenderer-Bywsfdsc.js";import"./nodes-DmCvS77i.js";const j={class:"execution-results"},S={class:"execution-results-body"},D={class:"execution-details"},H={class:"details-left"},L={class:"history-list"},$={key:0,class:"success-overview-card"},B={class:"overview-card-header"},J={class:"overview-info-header"},E={key:1,class:"error-overview-card"},I={class:"overview-card-header"},V={class:"overview-info-header"},A={key:2,class:"no-execution-overview-card"},F={key:3},M=["onClick"],z={class:"history-item-header"},W={class:"history-node-name"},q={class:"history-item-meta"},G={class:"history-time"},K={key:4,class:"no-history"},P={key:0,class:"details-right"},Q={class:"node-detail-header"},U={class:"detail-tabs"},X={class:"node-detail-content"},Y={key:0,class:"detail-panel"},Z={class:"json-viewer"},ee={key:1,class:"detail-panel"},te={class:"json-viewer"},se={key:1,class:"details-right empty"},oe={key:0,class:"copy-tip"},ie={__name:"ExecutionResults",props:{executionResult:Object,executionHistory:Array},emits:["close"],setup(a,{emit:le}){const x=k(),l=f(null),r=f("output"),y=f(!1),b=n=>{l.value=n,r.value="output"},h=async n=>{try{const t=JSON.stringify(n,null,2);await navigator.clipboard.writeText(t),y.value=!0,setTimeout(()=>{y.value=!1},2e3)}catch{x.error("复制失败,请手动复制")}},m=n=>{if(typeof n!="object"||n===null)return n;const t={};for(const[s,c]of Object.entries(n))if(typeof c=="string"&&c.trim().startsWith("{"))try{t[s]=JSON.parse(c)}catch{t[s]=c}else t[s]=c;return t};return(n,t)=>(o(),i("div",j,[e("div",S,[e("div",D,[e("div",H,[e("div",L,[a.executionResult&&a.executionResult.success?(o(),i("div",$,[e("div",B,[t[5]||(t[5]=e("i",{class:"fa fa-check-circle text-success"},null,-1)),e("div",J,[t[4]||(t[4]=e("h5",null,"执行成功",-1)),e("p",null,"执行了 "+u(a.executionHistory.length)+" 个节点",1)])])])):a.executionResult&&!a.executionResult.success?(o(),i("div",E,[e("div",I,[t[7]||(t[7]=e("i",{class:"fa fa-exclamation-circle text-danger"},null,-1)),e("div",V,[t[6]||(t[6]=e("h5",null,"执行失败",-1)),e("p",null,u(a.executionResult.error),1)])])])):(o(),i("div",A,[...t[8]||(t[8]=[e("div",{class:"overview-card-header"},[e("i",{class:"fa fa-info-circle text-info"}),e("div",{class:"overview-info-header"},[e("h5",null,"无执行历史"),e("p",null,"请先执行流程查看结果")])],-1)])])),a.executionHistory&&a.executionHistory.length>0?(o(),i("div",F,[(o(!0),i(g,null,w(a.executionHistory,(s,c)=>(o(),i("div",{key:c,class:v(["history-item",[s.status,{active:l.value?.nodeId===s.nodeId}]]),onClick:ae=>b(s)},[e("div",z,[e("span",W,u(s.nodeLabel||p(_)(s.nodeType)?.label||s.nodeType),1),e("span",{class:v(["history-status-badge",s.status])},u(p(C)(s.status)),3)]),e("div",q,[e("span",G,u(new Date(s.timestamp).toLocaleTimeString()),1)])],10,M))),128))])):(o(),i("div",K,[...t[9]||(t[9]=[e("div",{class:"no-history-content"},[e("i",{class:"fa fa-history"}),e("p",null,"暂无执行历史")],-1)])]))])]),l.value?(o(),i("div",P,[e("div",Q,[e("h6",null,u(l.value.nodeLabel||p(_)(l.value.nodeType)?.label||l.value.nodeType),1),e("div",U,[e("button",{class:v(["tab-btn",{active:r.value==="input"}]),onClick:t[0]||(t[0]=s=>r.value="input")}," 输入 ",2),e("button",{class:v(["tab-btn",{active:r.value==="output"}]),onClick:t[1]||(t[1]=s=>r.value="output")}," 输出 ",2)])]),e("div",X,[r.value==="input"?(o(),i("div",Y,[l.value.inputs&&Object.keys(l.value.inputs).length>0?(o(),i("button",{key:0,class:"copy-btn-floating",onClick:t[2]||(t[2]=s=>h(l.value.inputs)),title:"复制"},[...t[10]||(t[10]=[e("i",{class:"fa fa-copy"},null,-1)])])):d("",!0),e("pre",Z,u(JSON.stringify(m(l.value.inputs||{}),null,2)),1)])):d("",!0),r.value==="output"?(o(),i("div",ee,[l.value.result&&Object.keys(l.value.result).length>0?(o(),i("button",{key:0,class:"copy-btn-floating",onClick:t[3]||(t[3]=s=>h(l.value.result)),title:"复制"},[...t[11]||(t[11]=[e("i",{class:"fa fa-copy"},null,-1)])])):d("",!0),e("pre",te,u(JSON.stringify(m(l.value.result||{}),null,2)),1)])):d("",!0)])])):(o(),i("div",se,[...t[12]||(t[12]=[e("div",{class:"empty-state"},[e("i",{class:"fa fa-mouse-pointer"}),e("p",null,"点击左侧节点查看详情")],-1)])]))])]),T(O,{name:"fade"},{default:N(()=>[y.value?(o(),i("div",oe,"已复制")):d("",!0)]),_:1})]))}},fe=R(ie,[["__scopeId","data-v-5b99f9ea"]]);export{fe as default};
import{u as k,i as o,c as i,b as e,t as u,F as g,C as w,L as v,g as p,A as C,s as d,e as T,w as N,a4 as O,r as f}from"./index-B-XVyan_.js";import{g as _}from"./nodeMetadata-B-M6jBgr.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-DnqWLxUx.js";import"./vue-flow-core-DXR9vmBs.js";import"./NodePropertyModal-CgrO7EdP.js";import"./SchemaFormRenderer-3bjN59PW.js";import"./nodes-CRlb2Gca.js";const j={class:"execution-results"},S={class:"execution-results-body"},D={class:"execution-details"},H={class:"details-left"},L={class:"history-list"},$={key:0,class:"success-overview-card"},B={class:"overview-card-header"},J={class:"overview-info-header"},E={key:1,class:"error-overview-card"},I={class:"overview-card-header"},V={class:"overview-info-header"},A={key:2,class:"no-execution-overview-card"},F={key:3},M=["onClick"],z={class:"history-item-header"},W={class:"history-node-name"},q={class:"history-item-meta"},G={class:"history-time"},K={key:4,class:"no-history"},P={key:0,class:"details-right"},Q={class:"node-detail-header"},U={class:"detail-tabs"},X={class:"node-detail-content"},Y={key:0,class:"detail-panel"},Z={class:"json-viewer"},ee={key:1,class:"detail-panel"},te={class:"json-viewer"},se={key:1,class:"details-right empty"},oe={key:0,class:"copy-tip"},ie={__name:"ExecutionResults",props:{executionResult:Object,executionHistory:Array},emits:["close"],setup(a,{emit:le}){const x=k(),l=f(null),r=f("output"),y=f(!1),b=n=>{l.value=n,r.value="output"},h=async n=>{try{const t=JSON.stringify(n,null,2);await navigator.clipboard.writeText(t),y.value=!0,setTimeout(()=>{y.value=!1},2e3)}catch{x.error("复制失败,请手动复制")}},m=n=>{if(typeof n!="object"||n===null)return n;const t={};for(const[s,c]of Object.entries(n))if(typeof c=="string"&&c.trim().startsWith("{"))try{t[s]=JSON.parse(c)}catch{t[s]=c}else t[s]=c;return t};return(n,t)=>(o(),i("div",j,[e("div",S,[e("div",D,[e("div",H,[e("div",L,[a.executionResult&&a.executionResult.success?(o(),i("div",$,[e("div",B,[t[5]||(t[5]=e("i",{class:"fa fa-check-circle text-success"},null,-1)),e("div",J,[t[4]||(t[4]=e("h5",null,"执行成功",-1)),e("p",null,"执行了 "+u(a.executionHistory.length)+" 个节点",1)])])])):a.executionResult&&!a.executionResult.success?(o(),i("div",E,[e("div",I,[t[7]||(t[7]=e("i",{class:"fa fa-exclamation-circle text-danger"},null,-1)),e("div",V,[t[6]||(t[6]=e("h5",null,"执行失败",-1)),e("p",null,u(a.executionResult.error),1)])])])):(o(),i("div",A,[...t[8]||(t[8]=[e("div",{class:"overview-card-header"},[e("i",{class:"fa fa-info-circle text-info"}),e("div",{class:"overview-info-header"},[e("h5",null,"无执行历史"),e("p",null,"请先执行流程查看结果")])],-1)])])),a.executionHistory&&a.executionHistory.length>0?(o(),i("div",F,[(o(!0),i(g,null,w(a.executionHistory,(s,c)=>(o(),i("div",{key:c,class:v(["history-item",[s.status,{active:l.value?.nodeId===s.nodeId}]]),onClick:ae=>b(s)},[e("div",z,[e("span",W,u(s.nodeLabel||p(_)(s.nodeType)?.label||s.nodeType),1),e("span",{class:v(["history-status-badge",s.status])},u(p(C)(s.status)),3)]),e("div",q,[e("span",G,u(new Date(s.timestamp).toLocaleTimeString()),1)])],10,M))),128))])):(o(),i("div",K,[...t[9]||(t[9]=[e("div",{class:"no-history-content"},[e("i",{class:"fa fa-history"}),e("p",null,"暂无执行历史")],-1)])]))])]),l.value?(o(),i("div",P,[e("div",Q,[e("h6",null,u(l.value.nodeLabel||p(_)(l.value.nodeType)?.label||l.value.nodeType),1),e("div",U,[e("button",{class:v(["tab-btn",{active:r.value==="input"}]),onClick:t[0]||(t[0]=s=>r.value="input")}," 输入 ",2),e("button",{class:v(["tab-btn",{active:r.value==="output"}]),onClick:t[1]||(t[1]=s=>r.value="output")}," 输出 ",2)])]),e("div",X,[r.value==="input"?(o(),i("div",Y,[l.value.inputs&&Object.keys(l.value.inputs).length>0?(o(),i("button",{key:0,class:"copy-btn-floating",onClick:t[2]||(t[2]=s=>h(l.value.inputs)),title:"复制"},[...t[10]||(t[10]=[e("i",{class:"fa fa-copy"},null,-1)])])):d("",!0),e("pre",Z,u(JSON.stringify(m(l.value.inputs||{}),null,2)),1)])):d("",!0),r.value==="output"?(o(),i("div",ee,[l.value.result&&Object.keys(l.value.result).length>0?(o(),i("button",{key:0,class:"copy-btn-floating",onClick:t[3]||(t[3]=s=>h(l.value.result)),title:"复制"},[...t[11]||(t[11]=[e("i",{class:"fa fa-copy"},null,-1)])])):d("",!0),e("pre",te,u(JSON.stringify(m(l.value.result||{}),null,2)),1)])):d("",!0)])])):(o(),i("div",se,[...t[12]||(t[12]=[e("div",{class:"empty-state"},[e("i",{class:"fa fa-mouse-pointer"}),e("p",null,"点击左侧节点查看详情")],-1)])]))])]),T(O,{name:"fade"},{default:N(()=>[y.value?(o(),i("div",oe,"已复制")):d("",!0)]),_:1})]))}},fe=R(ie,[["__scopeId","data-v-5b99f9ea"]]);export{fe as default};

View File

@ -1 +1 @@
import{p as F,A as f,o as M,i as a,c as r,q as V,w as p,b,g as i,e as n,s as h,T as c,aC as O,L as $,r as y}from"./index-CCNaedqK.js";import N from"./EditableInput-CsRbA-6B.js";import{u as T,m as q,b as z}from"./utils-CXGJciCc.js";import A from"./AddFieldButton-CCKg-28S.js";import{u as D}from"./index-CAz7k-Zh.js";import{I as u}from"./iconify-D9UFUJY9.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{w}from"./index-Car5T2D0.js";import"./Autocomplete-4L3b5XUW.js";const E=["title"],S={class:"field-label"},U={key:0,class:"reqd-asterisk"},K={key:1,class:"help-icon"},P=["hidden"],Y=["title"],j=["title"],G=["title"],H={__name:"Field",props:["column","field"],setup(l){const t=l,o=T(),C=y(null),{ctrl_shift_n:_,Backspace:B}=D();w(_,e=>{e&&m.value&&C.value?.open()}),w(B,e=>{e&&m.value&&o.notUsingInput&&k()});const x=y(null),v=y(!1),m=F(()=>o.selected(t.field.df.name)),I=F(()=>t.field.df.fieldtype.replaceAll(" ","")+"Control");function k(){if(o.isCustomizeForm&&t.field.df.is_custom_field===0)throw alert(f("Cannot delete standard field. You can hide it if you want")),"cannot delete standard field";let e=t.column.fields.indexOf(t.field);t.column.fields.splice(e,1),o.form.selected_field=null}function g(){let e=o.currentTab?.sections?.find(d=>d.columns.find(s=>s===t.column));e&&q(t,"column","field",e,o.getDf)}function L(){let e=z(t.field);o.isCustomizeForm&&(e.df.is_custom_field=1),e.df.label&&(e.df.label=e.df.label+" Copy"),e.df.fieldname="",e.df.__islocal=1,e.df.__unsaved=1,delete e.df.creation,delete e.df.modified,delete e.df.modified_by;let d=t.column.fields.indexOf(t.field);t.column.fields.splice(d+1,0,e),o.form.selected_field=e.df}return M(()=>m.value&&x.value?.focusOnLabel?.()),(e,d)=>(a(),r("div",{class:$(["field",m.value?"selected":v.value?"hovered":""]),title:l.field.df.fieldname,onClick:d[1]||(d[1]=c(s=>i(o).form.selected_field=l.field.df,["stop"])),onMouseover:d[2]||(d[2]=c(s=>v.value=!0,["stop"])),onMouseout:d[3]||(d[3]=c(s=>v.value=!1,["stop"]))},[(a(),V(O(I.value),{df:l.field.df,"data-fieldname":l.field.df.fieldname,"data-fieldtype":l.field.df.fieldtype},{label:p(()=>[b("div",S,[n(N,{ref_key:"labelInput",ref:x,text:l.field.df.label,placeholder:i(f)("Label"),emptyLabel:`${i(f)("No Label")} (${l.field.df.fieldtype})`,modelValue:l.field.df.label,"onUpdate:modelValue":d[0]||(d[0]=s=>l.field.df.label=s)},null,8,["text","placeholder","emptyLabel","modelValue"]),l.field.df.reqd?(a(),r("div",U,"*")):h("",!0),l.field.df.documentation_url?(a(),r("div",K,[n(i(u),{icon:"mdi:help-circle-outline",class:"icon-sm"})])):h("",!0)])]),actions:p(()=>[b("div",{class:"field-actions",hidden:i(o).readOnly},[n(A,{ref_key:"addFieldRef",ref:C,column:l.column,field:l.field},{default:p(()=>[n(i(u),{icon:"mdi:plus",class:"icon-sm"})]),_:1},8,["column","field"]),l.column.fields.indexOf(l.field)?(a(),r("button",{key:0,class:"btn btn-xs btn-icon",title:i(f)("Move the current field and the following fields to a new column"),onClick:g},[n(i(u),{icon:"mdi:arrow-right-box",class:"icon-sm"})],8,Y)):h("",!0),b("button",{class:"btn btn-xs btn-icon",title:i(f)("Duplicate field"),onClick:c(L,["stop"])},[n(i(u),{icon:"mdi:content-copy",class:"icon-sm"})],8,j),b("button",{class:"btn btn-xs btn-icon",title:i(f)("Remove field"),onClick:c(k,["stop"])},[n(i(u),{icon:"mdi:close",class:"icon-sm"})],8,G)],8,P)]),_:1},8,["df","data-fieldname","data-fieldtype"]))],42,E))}},ie=R(H,[["__scopeId","data-v-c286b6bd"]]);export{ie as default};
import{p as F,A as f,o as M,i as a,c as r,q as V,w as p,b,g as i,e as n,s as h,T as c,aC as O,L as $,r as y}from"./index-B-XVyan_.js";import N from"./EditableInput-CL7SfyMw.js";import{u as T,m as q,b as z}from"./utils-CyIbe-9L.js";import A from"./AddFieldButton-DcX1K5F9.js";import{u as D}from"./index-CuIWrasZ.js";import{I as u}from"./iconify-BO-0UNsA.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{w}from"./index-Dj5-SshT.js";import"./Autocomplete-Bdd6LhAE.js";const E=["title"],S={class:"field-label"},U={key:0,class:"reqd-asterisk"},K={key:1,class:"help-icon"},P=["hidden"],Y=["title"],j=["title"],G=["title"],H={__name:"Field",props:["column","field"],setup(l){const t=l,o=T(),C=y(null),{ctrl_shift_n:_,Backspace:B}=D();w(_,e=>{e&&m.value&&C.value?.open()}),w(B,e=>{e&&m.value&&o.notUsingInput&&k()});const x=y(null),v=y(!1),m=F(()=>o.selected(t.field.df.name)),I=F(()=>t.field.df.fieldtype.replaceAll(" ","")+"Control");function k(){if(o.isCustomizeForm&&t.field.df.is_custom_field===0)throw alert(f("Cannot delete standard field. You can hide it if you want")),"cannot delete standard field";let e=t.column.fields.indexOf(t.field);t.column.fields.splice(e,1),o.form.selected_field=null}function g(){let e=o.currentTab?.sections?.find(d=>d.columns.find(s=>s===t.column));e&&q(t,"column","field",e,o.getDf)}function L(){let e=z(t.field);o.isCustomizeForm&&(e.df.is_custom_field=1),e.df.label&&(e.df.label=e.df.label+" Copy"),e.df.fieldname="",e.df.__islocal=1,e.df.__unsaved=1,delete e.df.creation,delete e.df.modified,delete e.df.modified_by;let d=t.column.fields.indexOf(t.field);t.column.fields.splice(d+1,0,e),o.form.selected_field=e.df}return M(()=>m.value&&x.value?.focusOnLabel?.()),(e,d)=>(a(),r("div",{class:$(["field",m.value?"selected":v.value?"hovered":""]),title:l.field.df.fieldname,onClick:d[1]||(d[1]=c(s=>i(o).form.selected_field=l.field.df,["stop"])),onMouseover:d[2]||(d[2]=c(s=>v.value=!0,["stop"])),onMouseout:d[3]||(d[3]=c(s=>v.value=!1,["stop"]))},[(a(),V(O(I.value),{df:l.field.df,"data-fieldname":l.field.df.fieldname,"data-fieldtype":l.field.df.fieldtype},{label:p(()=>[b("div",S,[n(N,{ref_key:"labelInput",ref:x,text:l.field.df.label,placeholder:i(f)("Label"),emptyLabel:`${i(f)("No Label")} (${l.field.df.fieldtype})`,modelValue:l.field.df.label,"onUpdate:modelValue":d[0]||(d[0]=s=>l.field.df.label=s)},null,8,["text","placeholder","emptyLabel","modelValue"]),l.field.df.reqd?(a(),r("div",U,"*")):h("",!0),l.field.df.documentation_url?(a(),r("div",K,[n(i(u),{icon:"mdi:help-circle-outline",class:"icon-sm"})])):h("",!0)])]),actions:p(()=>[b("div",{class:"field-actions",hidden:i(o).readOnly},[n(A,{ref_key:"addFieldRef",ref:C,column:l.column,field:l.field},{default:p(()=>[n(i(u),{icon:"mdi:plus",class:"icon-sm"})]),_:1},8,["column","field"]),l.column.fields.indexOf(l.field)?(a(),r("button",{key:0,class:"btn btn-xs btn-icon",title:i(f)("Move the current field and the following fields to a new column"),onClick:g},[n(i(u),{icon:"mdi:arrow-right-box",class:"icon-sm"})],8,Y)):h("",!0),b("button",{class:"btn btn-xs btn-icon",title:i(f)("Duplicate field"),onClick:c(L,["stop"])},[n(i(u),{icon:"mdi:content-copy",class:"icon-sm"})],8,j),b("button",{class:"btn btn-xs btn-icon",title:i(f)("Remove field"),onClick:c(k,["stop"])},[n(i(u),{icon:"mdi:close",class:"icon-sm"})],8,G)],8,P)]),_:1},8,["df","data-fieldname","data-fieldtype"]))],42,E))}},ie=R(H,[["__scopeId","data-v-c286b6bd"]]);export{ie as default};

View File

@ -1 +1 @@
import _ from"./SearchBox-D4L0mP9A.js";import{u as y,a as r,L as v,e as C,N as L}from"./utils-CXGJciCc.js";import{I as V}from"./iconify-D9UFUJY9.js";import{i as s,c as i,b as n,e as f,bo as k,g as a,A as h,F as b,C as x,q as g,aC as B,s as F,r as D,p as N}from"./index-CCNaedqK.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CAz7k-Zh.js";import"./index-Car5T2D0.js";const T={class:"field-properties"},U={class:"header"},w=["title"],A={class:"control-data"},E={key:0},I={__name:"FieldProperties",setup(O){let l=y(),o=D(""),m=N(()=>[...l.getPagefields.map(e=>({...e})).filter(e=>r(v,e.fieldtype)||e.hidden||e.depends_on&&!C(e.depends_on,l.form.selected_field,l.pg)||r(["fetch_from","fetch_if_empty"],e.fieldname)&&r(L,l.form.selected_field.fieldtype)||e.fieldname==="reqd"&&l.form.selected_field.fieldtype==="Check"||(e.fieldname==="options"&&(e.fieldtype="Small Text",e.options="",r(["Table","Link"],l.form.selected_field.fieldtype)&&(e.fieldtype="Data")),e.fieldname==="link_filters"&&l.form.selected_field.fieldtype!=="Link")?!1:o.value?!!(e.label.toLowerCase().includes(o.value.toLowerCase())||e.fieldname.toLowerCase().includes(o.value.toLowerCase())):!0)]);function c(d){return d.replaceAll(" ","")+"Control"}return(d,e)=>(s(),i("div",T,[n("div",U,[f(_,{class:"flex-1",modelValue:a(o),"onUpdate:modelValue":e[0]||(e[0]=t=>k(o)?o.value=t:o=t)},null,8,["modelValue"]),n("button",{class:"close-btn btn btn-xs",title:a(h)("Close properties"),onClick:e[1]||(e[1]=t=>a(l).form.selected_field=null)},[f(a(V),{icon:"mdi:close",class:"icon-sm"})],8,w)]),n("div",A,[a(l).form.selected_field?(s(),i("div",E,[(s(!0),i(b,null,x(a(m),(t,p)=>(s(),i("div",{class:"field",key:p},[(s(),g(B(c(t.fieldtype)),{df:t,read_only:a(l).readOnly,value:a(l).form.selected_field[t.fieldname],modelValue:a(l).form.selected_field[t.fieldname],"onUpdate:modelValue":u=>a(l).form.selected_field[t.fieldname]=u,"data-fieldname":t.fieldname,"data-fieldtype":t.fieldtype},null,8,["df","read_only","value","modelValue","onUpdate:modelValue","data-fieldname","data-fieldtype"]))]))),128))])):F("",!0)])]))}},H=S(I,[["__scopeId","data-v-fdad068f"]]);export{H as default};
import _ from"./SearchBox-2RGEmNId.js";import{u as y,a as r,L as v,e as C,N as L}from"./utils-CyIbe-9L.js";import{I as V}from"./iconify-BO-0UNsA.js";import{i as s,c as i,b as n,e as f,bo as k,g as a,A as h,F as b,C as x,q as g,aC as B,s as F,r as D,p as N}from"./index-B-XVyan_.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CuIWrasZ.js";import"./index-Dj5-SshT.js";const T={class:"field-properties"},U={class:"header"},w=["title"],A={class:"control-data"},E={key:0},I={__name:"FieldProperties",setup(O){let l=y(),o=D(""),m=N(()=>[...l.getPagefields.map(e=>({...e})).filter(e=>r(v,e.fieldtype)||e.hidden||e.depends_on&&!C(e.depends_on,l.form.selected_field,l.pg)||r(["fetch_from","fetch_if_empty"],e.fieldname)&&r(L,l.form.selected_field.fieldtype)||e.fieldname==="reqd"&&l.form.selected_field.fieldtype==="Check"||(e.fieldname==="options"&&(e.fieldtype="Small Text",e.options="",r(["Table","Link"],l.form.selected_field.fieldtype)&&(e.fieldtype="Data")),e.fieldname==="link_filters"&&l.form.selected_field.fieldtype!=="Link")?!1:o.value?!!(e.label.toLowerCase().includes(o.value.toLowerCase())||e.fieldname.toLowerCase().includes(o.value.toLowerCase())):!0)]);function c(d){return d.replaceAll(" ","")+"Control"}return(d,e)=>(s(),i("div",T,[n("div",U,[f(_,{class:"flex-1",modelValue:a(o),"onUpdate:modelValue":e[0]||(e[0]=t=>k(o)?o.value=t:o=t)},null,8,["modelValue"]),n("button",{class:"close-btn btn btn-xs",title:a(h)("Close properties"),onClick:e[1]||(e[1]=t=>a(l).form.selected_field=null)},[f(a(V),{icon:"mdi:close",class:"icon-sm"})],8,w)]),n("div",A,[a(l).form.selected_field?(s(),i("div",E,[(s(!0),i(b,null,x(a(m),(t,p)=>(s(),i("div",{class:"field",key:p},[(s(),g(B(c(t.fieldtype)),{df:t,read_only:a(l).readOnly,value:a(l).form.selected_field[t.fieldname],modelValue:a(l).form.selected_field[t.fieldname],"onUpdate:modelValue":u=>a(l).form.selected_field[t.fieldname]=u,"data-fieldname":t.fieldname,"data-fieldtype":t.fieldtype},null,8,["df","read_only","value","modelValue","onUpdate:modelValue","data-fieldname","data-fieldtype"]))]))),128))])):F("",!0)])]))}},H=S(I,[["__scopeId","data-v-fdad068f"]]);export{H as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{d as m,r as v,D as p,c as s,b,l as y,t as g,s as x,e as _,g as c,aj as i,L as N,q as k,p as u,i as r}from"./index-CCNaedqK.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},C={key:0,class:"required"},F=m({__name:"Float",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(l){const e=l,f=u(()=>e.df.label_layout||"vertical"),o=v(e.record[e.df.fieldname]),t=u({get:()=>{const a=e.record[e.df.fieldname];return a===""||a===void 0?null:Number(a)},set:a=>{e.record[e.df.fieldname]=a}});return p(()=>e.record[e.df.fieldname],a=>{e.ctx?.onFieldChange&&a!==o.value&&e.ctx.onFieldChange(e.df.fieldname,a,o.value,e.record),o.value=a}),(a,d)=>l.onlyInput?(r(),k(c(i),{key:1,value:t.value,"onUpdate:value":d[1]||(d[1]=n=>t.value=n),precision:2,placeholder:"",disabled:!l.canEdit,style:{width:"100%"}},null,8,["value","disabled"])):(r(),s("div",{key:0,class:N(["field-wrapper",`layout-${f.value}`])},[b("label",h,[y(g(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(r(),s("span",C,"*")):x("",!0)]),_(c(i),{value:t.value,"onUpdate:value":d[0]||(d[0]=n=>t.value=n),precision:2,placeholder:"",disabled:!l.canEdit},null,8,["value","disabled"])],2))}}),E=B(F,[["__scopeId","data-v-612d5e7d"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as F,j as _};
import{d as m,r as v,D as p,c as s,b,l as y,t as g,s as x,e as _,g as c,aj as i,L as N,q as k,p as u,i as r}from"./index-B-XVyan_.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},C={key:0,class:"required"},F=m({__name:"Float",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(l){const e=l,f=u(()=>e.df.label_layout||"vertical"),o=v(e.record[e.df.fieldname]),t=u({get:()=>{const a=e.record[e.df.fieldname];return a===""||a===void 0?null:Number(a)},set:a=>{e.record[e.df.fieldname]=a}});return p(()=>e.record[e.df.fieldname],a=>{e.ctx?.onFieldChange&&a!==o.value&&e.ctx.onFieldChange(e.df.fieldname,a,o.value,e.record),o.value=a}),(a,d)=>l.onlyInput?(r(),k(c(i),{key:1,value:t.value,"onUpdate:value":d[1]||(d[1]=n=>t.value=n),precision:2,placeholder:"",disabled:!l.canEdit,style:{width:"100%"}},null,8,["value","disabled"])):(r(),s("div",{key:0,class:N(["field-wrapper",`layout-${f.value}`])},[b("label",h,[y(g(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(r(),s("span",C,"*")):x("",!0)]),_(c(i),{value:t.value,"onUpdate:value":d[0]||(d[0]=n=>t.value=n),precision:2,placeholder:"",disabled:!l.canEdit},null,8,["value","disabled"])],2))}}),E=B(F,[["__scopeId","data-v-612d5e7d"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as F,j as _};

View File

@ -1 +1 @@
import{d as h,u as F,o as A,c as w,b as p,t as d,g as s,A as a,e as S,w as k,B as q,q as x,O as N,p as g,i as m,l as T,h as V,af as b}from"./index-CCNaedqK.js";import{u as C,F as D}from"./FlowBuilderContainer-Df8TfSMd.js";import{useFlowBuilderStore as P}from"./flowBuilder-D_axYCwk.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-D9UFUJY9.js";import"./AIAgentFlowBuilder-BSBVpaAk.js";import"./vue-flow-core--648GSki.js";import"./nodeMetadata-Bu2tX9Xa.js";import"./common-W0wo9ok5.js";import"./NodePropertyModal-D9fXVYfl.js";import"./SchemaFormRenderer-Bywsfdsc.js";import"./nodes-DmCvS77i.js";import"./NodePalette-aaTISy39.js";import"./ExecutionResults-C80UsiKs.js";const M={class:"flow-builder-page"},O={key:0,class:"empty-state"},R={class:"empty-content"},E=h({__name:"FlowBuilder",setup(J){const y=V(),o=N(),i=F(),c=C(),t=P(),r=g(()=>o.query.id||o.query.name||t.getAgentId()),f=g(()=>{const e=o.query.pagetype;return e?b(e):""}),_=g(()=>r.value||t.hasFlowData());A(async()=>{const e=o.query.id||o.query.name,n=f.value;if(e&&!t.getAgentId())try{await c.fetchAgent(e,n);const l=c.currentAgent;if(l?.agent_flow){let u=l.agent_flow;typeof u=="string"&&(u=JSON.parse(u)),t.activateFlowBuilder(u,e)}}catch(l){console.error("恢复智能体数据失败:",l)}});const v=async e=>{try{r.value?(await c.updateAgent(r.value,{agent_flow:e},f.value),i.success(a("Agent flow saved successfully")),t.deactivateFlowBuilder()):i.success(a("Flow saved successfully"))}catch(n){i.error(a("Save failed")+": "+(n?.message||""))}},B=()=>{y.push("/agents")};return(e,n)=>(m(),w("div",M,[_.value?(m(),x(D,{key:1,"initial-value":s(t).getFlowData(),"agent-id":r.value,onSave:v},null,8,["initial-value","agent-id"])):(m(),w("div",O,[p("div",R,[p("h3",null,d(s(a)("Flow Builder")),1),p("p",null,d(s(a)("Please enter from Agents page to open Flow Builder")),1),S(s(q),{type:"primary",onClick:B},{default:k(()=>[T(d(s(a)("View Agents")),1)]),_:1})])]))]))}}),te=I(E,[["__scopeId","data-v-bffeb9f8"]]);export{te as default};
import{d as h,u as F,o as A,c as w,b as p,t as d,g as s,A as a,e as S,w as k,B as q,q as x,O as N,p as g,i as m,l as T,h as V,af as b}from"./index-B-XVyan_.js";import{u as C,F as D}from"./FlowBuilderContainer-C7rrDbOR.js";import{useFlowBuilderStore as P}from"./flowBuilder--KTjBWCL.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-BO-0UNsA.js";import"./AIAgentFlowBuilder-zrGzTqOr.js";import"./vue-flow-core-DXR9vmBs.js";import"./nodeMetadata-B-M6jBgr.js";import"./common-DnqWLxUx.js";import"./NodePropertyModal-CgrO7EdP.js";import"./SchemaFormRenderer-3bjN59PW.js";import"./nodes-CRlb2Gca.js";import"./NodePalette-D4smYz7k.js";import"./ExecutionResults-xZwTFqLB.js";const M={class:"flow-builder-page"},O={key:0,class:"empty-state"},R={class:"empty-content"},E=h({__name:"FlowBuilder",setup(J){const y=V(),o=N(),i=F(),c=C(),t=P(),r=g(()=>o.query.id||o.query.name||t.getAgentId()),f=g(()=>{const e=o.query.pagetype;return e?b(e):""}),_=g(()=>r.value||t.hasFlowData());A(async()=>{const e=o.query.id||o.query.name,n=f.value;if(e&&!t.getAgentId())try{await c.fetchAgent(e,n);const l=c.currentAgent;if(l?.agent_flow){let u=l.agent_flow;typeof u=="string"&&(u=JSON.parse(u)),t.activateFlowBuilder(u,e)}}catch(l){console.error("恢复智能体数据失败:",l)}});const v=async e=>{try{r.value?(await c.updateAgent(r.value,{agent_flow:e},f.value),i.success(a("Agent flow saved successfully")),t.deactivateFlowBuilder()):i.success(a("Flow saved successfully"))}catch(n){i.error(a("Save failed")+": "+(n?.message||""))}},B=()=>{y.push("/agents")};return(e,n)=>(m(),w("div",M,[_.value?(m(),x(D,{key:1,"initial-value":s(t).getFlowData(),"agent-id":r.value,onSave:v},null,8,["initial-value","agent-id"])):(m(),w("div",O,[p("div",R,[p("h3",null,d(s(a)("Flow Builder")),1),p("p",null,d(s(a)("Please enter from Agents page to open Flow Builder")),1),S(s(q),{type:"primary",onClick:B},{default:k(()=>[T(d(s(a)("View Agents")),1)]),_:1})])]))]))}}),te=I(E,[["__scopeId","data-v-bffeb9f8"]]);export{te as default};

View File

@ -1 +1 @@
import{al as C,r as h,d as E,u as N,D as R,c as x,b as w,t as A,e as c,w as d,g as n,I as T,p as m,i as j,B,l as I,A as u,U as b,h as z,af as O}from"./index-CCNaedqK.js";import{I as F}from"./iconify-D9UFUJY9.js";import q from"./AIAgentFlowBuilder-BSBVpaAk.js";import{useFlowBuilderStore as P}from"./flowBuilder-D_axYCwk.js";import{getRecord as M,updateRecord as $}from"./common-W0wo9ok5.js";import{_ as U}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G=async(a,l)=>{try{const e=await M(l,a);if(!e.success)throw new Error(e.message||"获取AI Agent详情失败");return e.data}catch(e){throw new Error(e.message||"获取AI Agent详情失败")}},H=async(a,l,e)=>{try{const o=await $(e,a,l);if(!o.success)throw new Error(o.message||"更新AI Agent失败");return o.data}catch(o){throw console.error("Error in updateAgentApi:",o),new Error(o.message||"更新AI Agent失败")}},J=C("agent",()=>{const a=h(null),l=h("");return{currentAgent:a,currentPageType:l,fetchAgent:async(i,s)=>{try{const r=await G(i,s);a.value=r,l.value=s}catch(r){throw console.error("获取AI Agent详情失败:",r),r}},updateAgent:async(i,s,r)=>{try{return await H(i,s,r),a.value&&a.value.name===i&&(a.value={...a.value,...s}),{success:!0}}catch(g){throw console.error("更新AI Agent失败:",g),g}}}}),K={class:"flow-builder"},L={class:"flow-builder-header"},Q={class:"header-left"},W={class:"title"},X={class:"header-right"},Y={class:"flow-builder-content"},Z=E({__name:"FlowBuilderContainer",props:{initialValue:{},agentId:{}},emits:["save"],setup(a,{emit:l}){const e=a,o=l,i=z(),s=N(),r=J(),g=P(),f=h(""),S=m(()=>{if(e.initialValue&&Object.keys(e.initialValue).length>0)return e.initialValue;const t=g.getFlowData();return t&&Object.keys(t).length>0?t:{}}),_=h(),p=m(()=>e.agentId||g.getAgentId()),y=m(()=>{const v=i.currentRoute.value.query.pagetype;return v?O(v):""}),k=m(()=>f.value?`${f.value}`:u("Flow Builder"));R(p,async t=>{if(t)try{await r.fetchAgent(t,y.value),f.value=r.currentAgent?.agent_name||r.currentAgent?.name||""}catch(v){console.error("获取智能体信息失败:",v),f.value=""}else f.value=""},{immediate:!0});const D=async()=>{try{if(!_.value){s.error(u("Flow Builder is not initialized"));return}const t=_.value.getFlowData();p.value?(await r.updateAgent(p.value,{agent_flow:t},y.value),s.success(u("Flow saved successfully"))):(o("save",t),s.success(u("Flow saved successfully")))}catch(t){s.error(u("Save failed")+": "+(t.message||u("An error occurred during save")))}},V=()=>{g.deactivateFlowBuilder(),i.back()};return(t,v)=>(j(),x("div",K,[w("div",L,[w("div",Q,[w("h2",W,A(k.value),1)]),w("div",X,[c(n(T),null,{default:d(()=>[c(n(B),{size:"small",onClick:V},{icon:d(()=>[c(n(b),null,{default:d(()=>[c(n(F),{icon:"tabler:arrow-left"})]),_:1})]),default:d(()=>[I(" "+A(n(u)("Back")),1)]),_:1}),c(n(B),{size:"small",type:"primary",onClick:D,class:"save-btn-brand"},{icon:d(()=>[c(n(b),null,{default:d(()=>[c(n(F),{icon:"tabler:check"})]),_:1})]),default:d(()=>[I(" "+A(n(u)("Save")),1)]),_:1})]),_:1})])]),w("div",Y,[c(q,{ref_key:"flowBuilderRef",ref:_,"initial-value":S.value,"agent-id":p.value},null,8,["initial-value","agent-id"])])]))}}),ee=U(Z,[["__scopeId","data-v-c9b4f7b6"]]),le=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{ee as F,le as a,J as u};
import{al as C,r as h,d as E,u as N,D as R,c as x,b as w,t as A,e as c,w as d,g as n,I as T,p as m,i as j,B,l as I,A as u,U as b,h as z,af as O}from"./index-B-XVyan_.js";import{I as F}from"./iconify-BO-0UNsA.js";import q from"./AIAgentFlowBuilder-zrGzTqOr.js";import{useFlowBuilderStore as P}from"./flowBuilder--KTjBWCL.js";import{getRecord as M,updateRecord as $}from"./common-DnqWLxUx.js";import{_ as U}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G=async(a,l)=>{try{const e=await M(l,a);if(!e.success)throw new Error(e.message||"获取AI Agent详情失败");return e.data}catch(e){throw new Error(e.message||"获取AI Agent详情失败")}},H=async(a,l,e)=>{try{const o=await $(e,a,l);if(!o.success)throw new Error(o.message||"更新AI Agent失败");return o.data}catch(o){throw console.error("Error in updateAgentApi:",o),new Error(o.message||"更新AI Agent失败")}},J=C("agent",()=>{const a=h(null),l=h("");return{currentAgent:a,currentPageType:l,fetchAgent:async(i,s)=>{try{const r=await G(i,s);a.value=r,l.value=s}catch(r){throw console.error("获取AI Agent详情失败:",r),r}},updateAgent:async(i,s,r)=>{try{return await H(i,s,r),a.value&&a.value.name===i&&(a.value={...a.value,...s}),{success:!0}}catch(g){throw console.error("更新AI Agent失败:",g),g}}}}),K={class:"flow-builder"},L={class:"flow-builder-header"},Q={class:"header-left"},W={class:"title"},X={class:"header-right"},Y={class:"flow-builder-content"},Z=E({__name:"FlowBuilderContainer",props:{initialValue:{},agentId:{}},emits:["save"],setup(a,{emit:l}){const e=a,o=l,i=z(),s=N(),r=J(),g=P(),f=h(""),S=m(()=>{if(e.initialValue&&Object.keys(e.initialValue).length>0)return e.initialValue;const t=g.getFlowData();return t&&Object.keys(t).length>0?t:{}}),_=h(),p=m(()=>e.agentId||g.getAgentId()),y=m(()=>{const v=i.currentRoute.value.query.pagetype;return v?O(v):""}),k=m(()=>f.value?`${f.value}`:u("Flow Builder"));R(p,async t=>{if(t)try{await r.fetchAgent(t,y.value),f.value=r.currentAgent?.agent_name||r.currentAgent?.name||""}catch(v){console.error("获取智能体信息失败:",v),f.value=""}else f.value=""},{immediate:!0});const D=async()=>{try{if(!_.value){s.error(u("Flow Builder is not initialized"));return}const t=_.value.getFlowData();p.value?(await r.updateAgent(p.value,{agent_flow:t},y.value),s.success(u("Flow saved successfully"))):(o("save",t),s.success(u("Flow saved successfully")))}catch(t){s.error(u("Save failed")+": "+(t.message||u("An error occurred during save")))}},V=()=>{g.deactivateFlowBuilder(),i.back()};return(t,v)=>(j(),x("div",K,[w("div",L,[w("div",Q,[w("h2",W,A(k.value),1)]),w("div",X,[c(n(T),null,{default:d(()=>[c(n(B),{size:"small",onClick:V},{icon:d(()=>[c(n(b),null,{default:d(()=>[c(n(F),{icon:"tabler:arrow-left"})]),_:1})]),default:d(()=>[I(" "+A(n(u)("Back")),1)]),_:1}),c(n(B),{size:"small",type:"primary",onClick:D,class:"save-btn-brand"},{icon:d(()=>[c(n(b),null,{default:d(()=>[c(n(F),{icon:"tabler:check"})]),_:1})]),default:d(()=>[I(" "+A(n(u)("Save")),1)]),_:1})]),_:1})])]),w("div",Y,[c(q,{ref_key:"flowBuilderRef",ref:_,"initial-value":S.value,"agent-id":p.value},null,8,["initial-value","agent-id"])])]))}}),ee=U(Z,[["__scopeId","data-v-c9b4f7b6"]]),le=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{ee as F,le as a,J as u};

View File

@ -1 +1 @@
import{d as s,i as t,c as a,b as n,bb as c,s as r}from"./index-CCNaedqK.js";import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const d={key:0,class:"media-sidebar"},i={class:"sidebar-content"},p=s({__name:"FormPanel",props:{position:{},collapsed:{type:Boolean},hasContent:{type:Boolean}},emits:["toggle-collapse"],setup(e){return(o,m)=>e.collapsed?r("",!0):(t(),a("div",d,[n("div",i,[c(o.$slots,"default",{},void 0,!0)])]))}}),u=l(p,[["__scopeId","data-v-84fe9c98"]]);export{u as default};
import{d as s,i as t,c as a,b as n,bb as c,s as r}from"./index-B-XVyan_.js";import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const d={key:0,class:"media-sidebar"},i={class:"sidebar-content"},p=s({__name:"FormPanel",props:{position:{},collapsed:{type:Boolean},hasContent:{type:Boolean}},emits:["toggle-collapse"],setup(e){return(o,m)=>e.collapsed?r("",!0):(t(),a("div",d,[n("div",i,[c(o.$slots,"default",{},void 0,!0)])]))}}),u=l(p,[["__scopeId","data-v-84fe9c98"]]);export{u as default};

View File

@ -1 +1 @@
import{d as c,c as t,b as s,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-CCNaedqK.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=c({__name:"Geolocation",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=y(()=>o.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[s("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=p(g,[["__scopeId","data-v-eb109610"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};
import{d as c,c as t,b as s,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as y,i as l}from"./index-B-XVyan_.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},_={key:0,class:"required"},g=c({__name:"Geolocation",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=y(()=>o.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[s("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",_,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=p(g,[["__scopeId","data-v-eb109610"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};

View File

@ -1 +1 @@
import{I as i}from"./iconify-D9UFUJY9.js";import{i as t,c as n,b as e,bb as a,e as r,g as c,t as l,A as d,s as m}from"./index-CCNaedqK.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const f={class:"control editable"},_={class:"field-controls"},u={class:"map-placeholder"},b=["innerHTML"],h={__name:"GeolocationControl",props:["df"],setup(o){return(s,v)=>(t(),n("div",f,[e("div",_,[a(s.$slots,"label",{},void 0,!0),a(s.$slots,"actions",{},void 0,!0)]),e("div",u,[r(c(i),{icon:"mdi:map-marker",class:"icon-lg"}),e("span",null,l(c(d)("Geolocation Field")),1)]),o.df.description?(t(),n("div",{key:0,class:"mt-2 description",innerHTML:o.df.description},null,8,b)):m("",!0)]))}},C=p(h,[["__scopeId","data-v-2bf931f7"]]);export{C as default};
import{I as i}from"./iconify-BO-0UNsA.js";import{i as t,c as n,b as e,bb as a,e as r,g as c,t as l,A as d,s as m}from"./index-B-XVyan_.js";import{_ as p}from"./_plugin-vue_export-helper-DlAUqK2U.js";const f={class:"control editable"},_={class:"field-controls"},u={class:"map-placeholder"},b=["innerHTML"],h={__name:"GeolocationControl",props:["df"],setup(o){return(s,v)=>(t(),n("div",f,[e("div",_,[a(s.$slots,"label",{},void 0,!0),a(s.$slots,"actions",{},void 0,!0)]),e("div",u,[r(c(i),{icon:"mdi:map-marker",class:"icon-lg"}),e("span",null,l(c(d)("Geolocation Field")),1)]),o.df.description?(t(),n("div",{key:0,class:"mt-2 description",innerHTML:o.df.description},null,8,b)):m("",!0)]))}},C=p(h,[["__scopeId","data-v-2bf931f7"]]);export{C as default};

View File

@ -1 +1 @@
import x from"./FormBuilder-BmdEsAoo.js";import{d as C,u as L,o as M,z as S,c as d,e as B,b as m,l as E,t as N,s as T,L as z,p as n,r as O,i}from"./index-CCNaedqK.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const w={key:0,class:"form-builder-field"},D={class:"field-label"},H={key:0,class:"required"},J=["innerHTML"],V=C({__name:"HTML",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(r,{expose:y}){const e=r,p=L(),a=O(null),v=n(()=>e.df.label_layout||"vertical"),s=n(()=>e.df.fieldname==="form_builder"),l=n(()=>e.ctx?.entity==="Customize Form"),g=n(()=>l.value&&e.record?.pg_type?e.record.pg_type:e.record?.name||""),_=n(()=>{if(!s.value)return[];try{const t=e.record?.fields;return typeof t=="string"?JSON.parse(t):Array.isArray(t)?t:[]}catch(t){return console.error("Failed to parse fields:",t),[]}});function c(){return a.value?a.value.getFields():null}function b(){if(!s.value||!e.canEdit)return;const t=c();if(t&&e.record)try{e.record.fields=JSON.stringify(t)}catch(o){console.error("[HTML.vue] Failed to sync fields:",o)}}function f(){b()}M(()=>{window.addEventListener("sync-form-builder-fields",f)}),S(()=>{window.removeEventListener("sync-form-builder-fields",f)});function u(t){if(e.canEdit&&s.value)try{const o=JSON.stringify(t);e.record&&(e.record.fields=o)}catch(o){console.error("Failed to update fields:",o)}}function h(t){u(t),e.ctx?.t&&p.success(e.ctx.t("Fields updated"))}function F(t){}return y({getLatestFields:c}),(t,o)=>s.value?(i(),d("div",w,[B(x,{ref_key:"formBuilderRef",ref:a,fields:_.value,pagetype:g.value,"pagetype-record":r.record,readOnly:!r.canEdit,isCustomizeForm:l.value,"onUpdate:fields":u,onSave:h,onDirtyChange:F},null,8,["fields","pagetype","pagetype-record","readOnly","isCustomizeForm"])])):(i(),d("div",{key:1,class:z(["field-wrapper",`layout-${v.value}`])},[m("label",D,[E(N(r.ctx.t(r.df.label||r.df.fieldname))+" ",1),r.df.reqd?(i(),d("span",H,"*")):T("",!0)]),m("div",{class:"html-content",innerHTML:r.record[r.df.fieldname]},null,8,J)],2))}}),R=k(V,[["__scopeId","data-v-9dbf3eec"]]),A=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));export{A as _};
import x from"./FormBuilder-CZ0RWrWG.js";import{d as C,u as L,o as M,z as S,c as d,e as B,b as m,l as E,t as N,s as T,L as z,p as n,r as O,i}from"./index-B-XVyan_.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const w={key:0,class:"form-builder-field"},D={class:"field-label"},H={key:0,class:"required"},J=["innerHTML"],V=C({__name:"HTML",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(r,{expose:y}){const e=r,p=L(),a=O(null),v=n(()=>e.df.label_layout||"vertical"),s=n(()=>e.df.fieldname==="form_builder"),l=n(()=>e.ctx?.entity==="Customize Form"),g=n(()=>l.value&&e.record?.pg_type?e.record.pg_type:e.record?.name||""),_=n(()=>{if(!s.value)return[];try{const t=e.record?.fields;return typeof t=="string"?JSON.parse(t):Array.isArray(t)?t:[]}catch(t){return console.error("Failed to parse fields:",t),[]}});function c(){return a.value?a.value.getFields():null}function b(){if(!s.value||!e.canEdit)return;const t=c();if(t&&e.record)try{e.record.fields=JSON.stringify(t)}catch(o){console.error("[HTML.vue] Failed to sync fields:",o)}}function f(){b()}M(()=>{window.addEventListener("sync-form-builder-fields",f)}),S(()=>{window.removeEventListener("sync-form-builder-fields",f)});function u(t){if(e.canEdit&&s.value)try{const o=JSON.stringify(t);e.record&&(e.record.fields=o)}catch(o){console.error("Failed to update fields:",o)}}function h(t){u(t),e.ctx?.t&&p.success(e.ctx.t("Fields updated"))}function F(t){}return y({getLatestFields:c}),(t,o)=>s.value?(i(),d("div",w,[B(x,{ref_key:"formBuilderRef",ref:a,fields:_.value,pagetype:g.value,"pagetype-record":r.record,readOnly:!r.canEdit,isCustomizeForm:l.value,"onUpdate:fields":u,onSave:h,onDirtyChange:F},null,8,["fields","pagetype","pagetype-record","readOnly","isCustomizeForm"])])):(i(),d("div",{key:1,class:z(["field-wrapper",`layout-${v.value}`])},[m("label",D,[E(N(r.ctx.t(r.df.label||r.df.fieldname))+" ",1),r.df.reqd?(i(),d("span",H,"*")):T("",!0)]),m("div",{class:"html-content",innerHTML:r.record[r.df.fieldname]},null,8,J)],2))}}),R=k(V,[["__scopeId","data-v-9dbf3eec"]]),A=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));export{A as _};

View File

@ -1,4 +1,4 @@
import{d as x,D as d,i as l,c as p,b as u,l as b,t as y,s as _,L,p as T,r as $}from"./index-CCNaedqK.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"field-label"},H={key:0,class:"required"},j=["innerHTML"],k=x({__name:"HTML",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(r,{expose:m}){const t=r,f=T(()=>t.df.label_layout||"vertical"),i=$(""),c=()=>{if(t.df.fieldname==="preview_html")return v();let e=t.df.options||"";e=t.ctx.t?t.ctx.t(e):e;try{return t.ctx.render?t.ctx.render(e,t):e}catch(o){return console.warn("HTML模板渲染失败:",o),e}},v=()=>{const e=t.record,o=e.file_url,a=e.file_type?.toLowerCase();return o?g(o)?`<div class="img_preview">
import{d as x,D as d,i as l,c as p,b as u,l as b,t as y,s as _,L,p as T,r as $}from"./index-B-XVyan_.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"field-label"},H={key:0,class:"required"},j=["innerHTML"],k=x({__name:"HTML",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(r,{expose:m}){const t=r,f=T(()=>t.df.label_layout||"vertical"),i=$(""),c=()=>{if(t.df.fieldname==="preview_html")return v();let e=t.df.options||"";e=t.ctx.t?t.ctx.t(e):e;try{return t.ctx.render?t.ctx.render(e,t):e}catch(o){return console.warn("HTML模板渲染失败:",o),e}},v=()=>{const e=t.record,o=e.file_url,a=e.file_type?.toLowerCase();return o?g(o)?`<div class="img_preview">
<img
class="img-responsive"
src="${s(o)}"

View File

@ -1 +1 @@
import{l as H}from"./index-w6PwaWGP.js";import{d as M,D as v,o as V,bm as T,c as d,b as c,l as u,t as f,s as q,q as b,w as g,g as h,B as p,L as x,e as D,p as S,r as _,i,a0 as w}from"./index-CCNaedqK.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},W={key:0,class:"required"},P={class:"html-editor"},$={class:"html-editor__toolbar"},j=["innerHTML"],I={class:"html-editor__actions"},U=M({__name:"HTMLEditor",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(o){const a=o,L=S(()=>a.df.label_layout||"vertical"),n=_(null);let m=null,e=null;const s=_(!1),r=_("preview"),k=S(()=>String(a.record[a.df.fieldname]||""));async function B(){if(!n.value||(m||(m=await H.init()),e))return;e=m.editor.create(n.value,{value:String(a.record[a.df.fieldname]||""),language:"html",automaticLayout:!0,folding:!0,minimap:{enabled:!1},readOnly:!a.canEdit,wordWrap:"on",wordWrapColumn:120,wrappingStrategy:"advanced",scrollBeyondLastLine:!1,scrollBeyondLastColumn:0,scrollbar:{horizontal:"hidden",vertical:"auto",horizontalScrollbarSize:6,verticalScrollbarSize:6,alwaysConsumeMouseWheel:!1}});const t=()=>{if(!e||!n.value)return;const l=e.getLayoutInfo(),y=e.getScrollHeight()>l.height+1,z=e.getScrollWidth()>l.width+1;n.value.classList.toggle("no-scroll-y",!y),n.value.classList.toggle("no-scroll-x",!z)};t(),e.onDidContentSizeChange(()=>t()),e.onDidScrollChange(()=>t()),e.onDidLayoutChange(()=>t()),e.onDidChangeModelContent(()=>{e&&(a.record[a.df.fieldname]=e.getValue(),t())})}function C(){try{e?.dispose()}catch{}e=null}function E(){s.value=!s.value,w(()=>e?.layout())}return v(()=>a.canEdit,t=>{e?.updateOptions({readOnly:!t})}),v(()=>a.record[a.df.fieldname],t=>{e&&t!==e.getValue()&&e.setValue(String(t||""))}),V(async()=>{}),v(r,async t=>{t==="edit"?(await w(),await B(),w(()=>e?.layout())):C()}),T(C),(t,l)=>(i(),d("div",{class:x(["field-wrapper",`layout-${L.value}`])},[c("label",N,[u(f(o.ctx.t(o.df.label||o.df.fieldname))+" ",1),o.df.reqd?(i(),d("span",W,"*")):q("",!0)]),c("div",P,[c("div",$,[r.value==="edit"?(i(),b(h(p),{key:0,size:"tiny",quaternary:"",type:"default",onClick:l[0]||(l[0]=y=>r.value="preview")},{default:g(()=>[u(f(o.ctx.t("Preview")),1)]),_:1})):(i(),b(h(p),{key:1,size:"tiny",quaternary:"",type:"default",onClick:l[1]||(l[1]=y=>r.value="edit")},{default:g(()=>[u(f(o.ctx.t("Edit")),1)]),_:1}))]),r.value==="preview"?(i(),d("div",{key:0,class:"html-editor__preview",innerHTML:k.value},null,8,j)):(i(),d("div",{key:1,ref_key:"editorHost",ref:n,class:x(["html-editor__monaco",{collapsed:!s.value}])},null,2)),c("div",I,[D(h(p),{size:"tiny",quaternary:"",onClick:E},{default:g(()=>[u(f(s.value?o.ctx.t("Collapse"):o.ctx.t("Expand")),1)]),_:1})])])],2))}}),A=O(U,[["__scopeId","data-v-4ffe6731"]]),K=Object.freeze(Object.defineProperty({__proto__:null,default:A},Symbol.toStringTag,{value:"Module"}));export{K as _};
import{l as H}from"./index-w6PwaWGP.js";import{d as M,D as v,o as V,bm as T,c as d,b as c,l as u,t as f,s as q,q as b,w as g,g as h,B as p,L as x,e as D,p as S,r as _,i,a0 as w}from"./index-B-XVyan_.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},W={key:0,class:"required"},P={class:"html-editor"},$={class:"html-editor__toolbar"},j=["innerHTML"],I={class:"html-editor__actions"},U=M({__name:"HTMLEditor",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(o){const a=o,L=S(()=>a.df.label_layout||"vertical"),n=_(null);let m=null,e=null;const s=_(!1),r=_("preview"),k=S(()=>String(a.record[a.df.fieldname]||""));async function B(){if(!n.value||(m||(m=await H.init()),e))return;e=m.editor.create(n.value,{value:String(a.record[a.df.fieldname]||""),language:"html",automaticLayout:!0,folding:!0,minimap:{enabled:!1},readOnly:!a.canEdit,wordWrap:"on",wordWrapColumn:120,wrappingStrategy:"advanced",scrollBeyondLastLine:!1,scrollBeyondLastColumn:0,scrollbar:{horizontal:"hidden",vertical:"auto",horizontalScrollbarSize:6,verticalScrollbarSize:6,alwaysConsumeMouseWheel:!1}});const t=()=>{if(!e||!n.value)return;const l=e.getLayoutInfo(),y=e.getScrollHeight()>l.height+1,z=e.getScrollWidth()>l.width+1;n.value.classList.toggle("no-scroll-y",!y),n.value.classList.toggle("no-scroll-x",!z)};t(),e.onDidContentSizeChange(()=>t()),e.onDidScrollChange(()=>t()),e.onDidLayoutChange(()=>t()),e.onDidChangeModelContent(()=>{e&&(a.record[a.df.fieldname]=e.getValue(),t())})}function C(){try{e?.dispose()}catch{}e=null}function E(){s.value=!s.value,w(()=>e?.layout())}return v(()=>a.canEdit,t=>{e?.updateOptions({readOnly:!t})}),v(()=>a.record[a.df.fieldname],t=>{e&&t!==e.getValue()&&e.setValue(String(t||""))}),V(async()=>{}),v(r,async t=>{t==="edit"?(await w(),await B(),w(()=>e?.layout())):C()}),T(C),(t,l)=>(i(),d("div",{class:x(["field-wrapper",`layout-${L.value}`])},[c("label",N,[u(f(o.ctx.t(o.df.label||o.df.fieldname))+" ",1),o.df.reqd?(i(),d("span",W,"*")):q("",!0)]),c("div",P,[c("div",$,[r.value==="edit"?(i(),b(h(p),{key:0,size:"tiny",quaternary:"",type:"default",onClick:l[0]||(l[0]=y=>r.value="preview")},{default:g(()=>[u(f(o.ctx.t("Preview")),1)]),_:1})):(i(),b(h(p),{key:1,size:"tiny",quaternary:"",type:"default",onClick:l[1]||(l[1]=y=>r.value="edit")},{default:g(()=>[u(f(o.ctx.t("Edit")),1)]),_:1}))]),r.value==="preview"?(i(),d("div",{key:0,class:"html-editor__preview",innerHTML:k.value},null,8,j)):(i(),d("div",{key:1,ref_key:"editorHost",ref:n,class:x(["html-editor__monaco",{collapsed:!s.value}])},null,2)),c("div",I,[D(h(p),{size:"tiny",quaternary:"",onClick:E},{default:g(()=>[u(f(s.value?o.ctx.t("Collapse"):o.ctx.t("Expand")),1)]),_:1})])])],2))}}),A=O(U,[["__scopeId","data-v-4ffe6731"]]),K=Object.freeze(Object.defineProperty({__proto__:null,default:A},Symbol.toStringTag,{value:"Module"}));export{K as _};

View File

@ -1 +1 @@
import{I as a}from"./iconify-D9UFUJY9.js";import{d as x,i as l,c as u,L as M,b as s,g as e,A as n,e as c,M as g,w as k,s as B,p as m,P as v}from"./index-CCNaedqK.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H=["contenteditable","innerHTML"],N={key:0,class:"block-header-actions"},T=["title"],w=["title"],y=x({__name:"HeaderBlock",props:{text:{},editMode:{type:Boolean}},emits:["update:text","delete"],setup(t,{emit:p}){const i=t,d=p,f=m(()=>i.text?n(i.text):""),h=m(()=>[{label:n("Delete"),key:"delete",icon:()=>v(a,{icon:"tabler:trash",size:16})}]);function _(o){const r=o.target;d("update:text",r.innerText)}function b(o){o==="delete"&&d("delete")}return(o,r)=>(l(),u("div",{class:M(["header",{"edit-mode":t.editMode}])},[s("div",{class:"header-content",contenteditable:t.editMode,onBlur:_,innerHTML:f.value},null,40,H),t.editMode?(l(),u("div",N,[s("button",{class:"action-btn drag-handle",title:e(n)("Drag")},[c(e(a),{icon:"tabler:grip-vertical"})],8,T),c(e(g),{trigger:"click",options:h.value,onSelect:b},{default:k(()=>[s("button",{class:"action-btn",title:e(n)("More")},[c(e(a),{icon:"tabler:dots"})],8,w)]),_:1},8,["options"])])):B("",!0)],2))}}),V=C(y,[["__scopeId","data-v-3cd04ff6"]]);export{V as default};
import{I as a}from"./iconify-BO-0UNsA.js";import{d as x,i as l,c as u,L as M,b as s,g as e,A as n,e as c,M as g,w as k,s as B,p as m,P as v}from"./index-B-XVyan_.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H=["contenteditable","innerHTML"],N={key:0,class:"block-header-actions"},T=["title"],w=["title"],y=x({__name:"HeaderBlock",props:{text:{},editMode:{type:Boolean}},emits:["update:text","delete"],setup(t,{emit:p}){const i=t,d=p,f=m(()=>i.text?n(i.text):""),h=m(()=>[{label:n("Delete"),key:"delete",icon:()=>v(a,{icon:"tabler:trash",size:16})}]);function _(o){const r=o.target;d("update:text",r.innerText)}function b(o){o==="delete"&&d("delete")}return(o,r)=>(l(),u("div",{class:M(["header",{"edit-mode":t.editMode}])},[s("div",{class:"header-content",contenteditable:t.editMode,onBlur:_,innerHTML:f.value},null,40,H),t.editMode?(l(),u("div",N,[s("button",{class:"action-btn drag-handle",title:e(n)("Drag")},[c(e(a),{icon:"tabler:grip-vertical"})],8,T),c(e(g),{trigger:"click",options:h.value,onSelect:b},{default:k(()=>[s("button",{class:"action-btn",title:e(n)("More")},[c(e(a),{icon:"tabler:dots"})],8,w)]),_:1},8,["options"])])):B("",!0)],2))}}),V=C(y,[["__scopeId","data-v-3cd04ff6"]]);export{V as default};

View File

@ -1 +1 @@
import{d as h,u as g,D as w,q as _,g as e,E as b,A as s,w as C,p as c,i as N,b as n,l as k,t as D,e as H,k as y,m as B}from"./index-CCNaedqK.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"dialog-content"},E={class:"form-field"},M={class:"field-label"},V=h({__name:"HeaderDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(m,{emit:p}){const o=m,u=p,v=g(),i=c({get:()=>o.show,set:a=>u("update:show",a)}),r=c(()=>!!o.values?.name),t=B({text:"",name:""});w(()=>o.show,a=>{a&&(o.values?(t.text=o.values.text||"",t.name=o.values.name||""):(t.text="",t.name=""))},{immediate:!0});function f(){if(!t.text.trim())return v.error(s("Please enter header text")),!1;const a={...t};return!r.value&&!a.name&&(a.name=`header-${Math.random().toString(36).substring(2,12)}`),u("submit",a),i.value=!1,!0}function x(){i.value=!1}return(a,l)=>(N(),_(e(b),{show:i.value,"onUpdate:show":l[1]||(l[1]=d=>i.value=d),preset:"dialog",title:r.value?e(s)("Edit Header"):e(s)("Add Header"),"positive-text":r.value?e(s)("Save"):e(s)("Add"),"negative-text":e(s)("Cancel"),onPositiveClick:f,onNegativeClick:x,style:{width:"500px"}},{default:C(()=>[n("div",A,[n("div",E,[n("label",M,[k(D(e(s)("Header Text"))+" ",1),l[2]||(l[2]=n("span",{class:"required"},"*",-1))]),H(e(y),{value:t.text,"onUpdate:value":l[0]||(l[0]=d=>t.text=d),type:"textarea",rows:2,placeholder:e(s)("Enter header text")},null,8,["value","placeholder"])])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),P=S(V,[["__scopeId","data-v-4cb5a647"]]);export{P as default};
import{d as h,u as g,D as w,q as _,g as e,E as b,A as s,w as C,p as c,i as N,b as n,l as k,t as D,e as H,k as y,m as B}from"./index-B-XVyan_.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"dialog-content"},E={class:"form-field"},M={class:"field-label"},V=h({__name:"HeaderDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(m,{emit:p}){const o=m,u=p,v=g(),i=c({get:()=>o.show,set:a=>u("update:show",a)}),r=c(()=>!!o.values?.name),t=B({text:"",name:""});w(()=>o.show,a=>{a&&(o.values?(t.text=o.values.text||"",t.name=o.values.name||""):(t.text="",t.name=""))},{immediate:!0});function f(){if(!t.text.trim())return v.error(s("Please enter header text")),!1;const a={...t};return!r.value&&!a.name&&(a.name=`header-${Math.random().toString(36).substring(2,12)}`),u("submit",a),i.value=!1,!0}function x(){i.value=!1}return(a,l)=>(N(),_(e(b),{show:i.value,"onUpdate:show":l[1]||(l[1]=d=>i.value=d),preset:"dialog",title:r.value?e(s)("Edit Header"):e(s)("Add Header"),"positive-text":r.value?e(s)("Save"):e(s)("Add"),"negative-text":e(s)("Cancel"),onPositiveClick:f,onNegativeClick:x,style:{width:"500px"}},{default:C(()=>[n("div",A,[n("div",E,[n("label",M,[k(D(e(s)("Header Text"))+" ",1),l[2]||(l[2]=n("span",{class:"required"},"*",-1))]),H(e(y),{value:t.text,"onUpdate:value":l[0]||(l[0]=d=>t.text=d),type:"textarea",rows:2,placeholder:e(s)("Enter header text")},null,8,["value","placeholder"])])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),P=S(V,[["__scopeId","data-v-4cb5a647"]]);export{P as default};

View File

@ -1 +1 @@
import{d as s,c as t,b as a,l as n,t as l,s as i,L as r,p as f,i as o}from"./index-CCNaedqK.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const u={class:"field-label"},_={key:0,class:"required"},b={class:"field-heading"},y=s({__name:"Heading",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,c=f(()=>d.df.label_layout||"vertical");return(p,x)=>(o(),t("div",{class:r(["field-wrapper",`layout-${c.value}`])},[a("label",u,[n(l(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(o(),t("span",_,"*")):i("",!0)]),a("h3",b,l(e.ctx.t(e.df.label||e.df.fieldname)),1)],2))}}),g=m(y,[["__scopeId","data-v-3988dedc"]]),B=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{B as _};
import{d as s,c as t,b as a,l as n,t as l,s as i,L as r,p as f,i as o}from"./index-B-XVyan_.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const u={class:"field-label"},_={key:0,class:"required"},b={class:"field-heading"},y=s({__name:"Heading",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const d=e,c=f(()=>d.df.label_layout||"vertical");return(p,x)=>(o(),t("div",{class:r(["field-wrapper",`layout-${c.value}`])},[a("label",u,[n(l(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(o(),t("span",_,"*")):i("",!0)]),a("h3",b,l(e.ctx.t(e.df.label||e.df.fieldname)),1)],2))}}),g=m(y,[["__scopeId","data-v-3988dedc"]]),B=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{B as _};

View File

@ -1 +1 @@
import{I as d}from"./iconify-D9UFUJY9.js";import h from"./IconPicker-BY34vows.js";import{d as _,c as o,b as r,l as b,t as v,s as y,q as c,g as i,k as g,L as x,p as m,r as I,i as e}from"./index-CCNaedqK.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const w={class:"field-label"},B={key:0,class:"required"},C={class:"icon-field-content"},P=["title"],V={key:1,class:"icon-display"},N={key:1,class:"icon-placeholder"},q={class:"icon-value-display"},S={key:0,class:"field-value-text"},j=_({__name:"Icon",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(l){const t=l,p=m(()=>t.df.label_layout||"vertical"),a=m({get:()=>t.record[t.df.fieldname]||"",set:f=>{t.record[t.df.fieldname]=f}}),u=I(null);function k(){u.value?.open()}return(f,n)=>(e(),o("div",{class:x(["field-wrapper",`layout-${p.value}`])},[r("label",w,[b(v(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(e(),o("span",B,"*")):y("",!0)]),r("div",C,[l.canEdit?(e(),o("div",{key:0,class:"icon-display clickable",onClick:k,title:l.ctx.t("Click to select icon")},[a.value?(e(),c(i(d),{key:0,icon:a.value,width:24,height:24,class:"icon-gray icon-preview"},null,8,["icon"])):(e(),c(i(d),{key:1,icon:"tabler:apps",width:24,height:24,class:"icon-gray icon-placeholder-icon"}))],8,P)):(e(),o("div",V,[a.value?(e(),c(i(d),{key:0,icon:a.value,width:24,height:24,class:"icon-gray"},null,8,["icon"])):(e(),o("span",N,"—"))])),r("div",q,[l.canEdit?(e(),c(i(g),{key:1,value:a.value,"onUpdate:value":n[0]||(n[0]=s=>a.value=s),placeholder:l.ctx.t("Enter icon name or click icon to select"),class:"icon-input",clearable:""},null,8,["value","placeholder"])):(e(),o("span",S,v(a.value||"—"),1))])]),l.canEdit?(e(),c(h,{key:0,ref_key:"iconPickerRef",ref:u,"model-value":a.value,"onUpdate:modelValue":n[1]||(n[1]=s=>a.value=s),style:{display:"none"}},null,8,["model-value"])):y("",!0)],2))}}),z=E(j,[["__scopeId","data-v-5f2b6189"]]),U=Object.freeze(Object.defineProperty({__proto__:null,default:z},Symbol.toStringTag,{value:"Module"}));export{U as _};
import{I as d}from"./iconify-BO-0UNsA.js";import h from"./IconPicker-w-t_Z_df.js";import{d as _,c as o,b as r,l as b,t as v,s as y,q as c,g as i,k as g,L as x,p as m,r as I,i as e}from"./index-B-XVyan_.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const w={class:"field-label"},B={key:0,class:"required"},C={class:"icon-field-content"},P=["title"],V={key:1,class:"icon-display"},N={key:1,class:"icon-placeholder"},q={class:"icon-value-display"},S={key:0,class:"field-value-text"},j=_({__name:"Icon",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(l){const t=l,p=m(()=>t.df.label_layout||"vertical"),a=m({get:()=>t.record[t.df.fieldname]||"",set:f=>{t.record[t.df.fieldname]=f}}),u=I(null);function k(){u.value?.open()}return(f,n)=>(e(),o("div",{class:x(["field-wrapper",`layout-${p.value}`])},[r("label",w,[b(v(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(e(),o("span",B,"*")):y("",!0)]),r("div",C,[l.canEdit?(e(),o("div",{key:0,class:"icon-display clickable",onClick:k,title:l.ctx.t("Click to select icon")},[a.value?(e(),c(i(d),{key:0,icon:a.value,width:24,height:24,class:"icon-gray icon-preview"},null,8,["icon"])):(e(),c(i(d),{key:1,icon:"tabler:apps",width:24,height:24,class:"icon-gray icon-placeholder-icon"}))],8,P)):(e(),o("div",V,[a.value?(e(),c(i(d),{key:0,icon:a.value,width:24,height:24,class:"icon-gray"},null,8,["icon"])):(e(),o("span",N,"—"))])),r("div",q,[l.canEdit?(e(),c(i(g),{key:1,value:a.value,"onUpdate:value":n[0]||(n[0]=s=>a.value=s),placeholder:l.ctx.t("Enter icon name or click icon to select"),class:"icon-input",clearable:""},null,8,["value","placeholder"])):(e(),o("span",S,v(a.value||"—"),1))])]),l.canEdit?(e(),c(h,{key:0,ref_key:"iconPickerRef",ref:u,"model-value":a.value,"onUpdate:modelValue":n[1]||(n[1]=s=>a.value=s),style:{display:"none"}},null,8,["model-value"])):y("",!0)],2))}}),z=E(j,[["__scopeId","data-v-5f2b6189"]]),U=Object.freeze(Object.defineProperty({__proto__:null,default:z},Symbol.toStringTag,{value:"Module"}));export{U as _};

View File

@ -1 +1 @@
import{d as p,o as v,c as n,b as t,t as f,s as c,r as y,p as i,i as l}from"./index-CCNaedqK.js";import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={key:0,class:"form-field"},I={class:"field-content"},x={class:"image-container"},k={class:"image-body",style:{"margin-bottom":"10px"}},B=["src"],E={key:1,class:"image-error"},L={class:"error-url"},S=p({__name:"Image",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(u){const r=u,s=y(!1),a=i(()=>{const e=r.record;return e&&r.df.options&&e[r.df.options]?e[r.df.options]:""}),d=i(()=>{const e=a.value;return!!(e&&e.trim())}),m=i(()=>d.value||s.value);v(()=>{});function _(e){const o=e.target;s.value=!0,console.error("[Image] Failed to load image:",o.src)}function g(){s.value=!1}return(e,o)=>m.value?(l(),n("div",h,[t("div",I,[t("div",x,[t("div",k,[d.value&&!s.value?(l(),n("img",{key:0,src:a.value,class:"img-responsive",alt:"Image",onError:_,onLoad:g},null,40,B)):s.value?(l(),n("div",E,[o[0]||(o[0]=t("svg",{class:"icon icon-md","aria-hidden":"true"},[t("use",{href:"#icon-restriction"})],-1)),o[1]||(o[1]=t("div",{class:"error-text"},"图片加载失败",-1)),t("div",L,f(a.value),1)])):c("",!0)]),o[2]||(o[2]=t("div",{class:"clearfix"},null,-1))])])])):c("",!0)}}),j=b(S,[["__scopeId","data-v-921bd1a3"]]),N=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"}));export{N as _};
import{d as p,o as v,c as n,b as t,t as f,s as c,r as y,p as i,i as l}from"./index-B-XVyan_.js";import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={key:0,class:"form-field"},I={class:"field-content"},x={class:"image-container"},k={class:"image-body",style:{"margin-bottom":"10px"}},B=["src"],E={key:1,class:"image-error"},L={class:"error-url"},S=p({__name:"Image",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(u){const r=u,s=y(!1),a=i(()=>{const e=r.record;return e&&r.df.options&&e[r.df.options]?e[r.df.options]:""}),d=i(()=>{const e=a.value;return!!(e&&e.trim())}),m=i(()=>d.value||s.value);v(()=>{});function _(e){const o=e.target;s.value=!0,console.error("[Image] Failed to load image:",o.src)}function g(){s.value=!1}return(e,o)=>m.value?(l(),n("div",h,[t("div",I,[t("div",x,[t("div",k,[d.value&&!s.value?(l(),n("img",{key:0,src:a.value,class:"img-responsive",alt:"Image",onError:_,onLoad:g},null,40,B)):s.value?(l(),n("div",E,[o[0]||(o[0]=t("svg",{class:"icon icon-md","aria-hidden":"true"},[t("use",{href:"#icon-restriction"})],-1)),o[1]||(o[1]=t("div",{class:"error-text"},"图片加载失败",-1)),t("div",L,f(a.value),1)])):c("",!0)]),o[2]||(o[2]=t("div",{class:"clearfix"},null,-1))])])])):c("",!0)}}),j=b(S,[["__scopeId","data-v-921bd1a3"]]),N=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"}));export{N as _};

View File

@ -1 +1 @@
import{I as i}from"./iconify-D9UFUJY9.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{i as o,c as t,b as n,bb as a,e as r,g as d,s as l}from"./index-CCNaedqK.js";const m={class:"control editable"},f={class:"field-controls"},_={class:"missing-image"},u=["innerHTML"],p={__name:"ImageControl",props:["df"],setup(e){return(s,g)=>(o(),t("div",m,[n("div",f,[a(s.$slots,"label",{},void 0,!0),a(s.$slots,"actions",{},void 0,!0)]),n("div",_,[r(d(i),{icon:"mdi:image-off-outline",class:"icon-lg"})]),e.df.description?(o(),t("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,u)):l("",!0)]))}},I=c(p,[["__scopeId","data-v-e314d7a4"]]);export{I as default};
import{I as i}from"./iconify-BO-0UNsA.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{i as o,c as t,b as n,bb as a,e as r,g as d,s as l}from"./index-B-XVyan_.js";const m={class:"control editable"},f={class:"field-controls"},_={class:"missing-image"},u=["innerHTML"],p={__name:"ImageControl",props:["df"],setup(e){return(s,g)=>(o(),t("div",m,[n("div",f,[a(s.$slots,"label",{},void 0,!0),a(s.$slots,"actions",{},void 0,!0)]),n("div",_,[r(d(i),{icon:"mdi:image-off-outline",class:"icon-lg"})]),e.df.description?(o(),t("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,u)):l("",!0)]))}},I=c(p,[["__scopeId","data-v-e314d7a4"]]);export{I as default};

View File

@ -1 +1 @@
import{d as U,D as q,o as z,z as K,i as r,q as O,c as g,b as m,e as p,g as k,T as E,s as h,t as T,ap as P,r as b,p as $}from"./index-CCNaedqK.js";import{I as y}from"./iconify-D9UFUJY9.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"image-wrapper"},H=["src","alt"],J={key:0,class:"image-index"},Q=U({__name:"ImageGallery",props:{images:{},initialIndex:{}},emits:["close"],setup(s,{expose:_,emit:M}){const n=s,B=M,o=b(!1),t=b(0),u=b(!1),X=$(()=>n.images[t.value]||""),N=(e=0)=>{t.value=Math.max(0,Math.min(e,n.images.length-1)),o.value=!0,u.value=!1},c=()=>{o.value=!1,B("close")},l=()=>{n.images.length<=1||(t.value=t.value>0?t.value-1:n.images.length-1,u.value=!1)},i=()=>{n.images.length<=1||(t.value=t.value<n.images.length-1?t.value+1:0,u.value=!1)},S=e=>{e.target===e.currentTarget&&c()},R=e=>{const a=e.target;if(!(a.tagName==="BUTTON"||a.closest("button"))&&!(a.classList.contains("image-index")||a.closest(".image-index"))){if(a.classList.contains("gallery-image")){const d=a.getBoundingClientRect(),f=e.clientX-d.left,G=d.width;f<G/2?l():i();return}c()}},V=e=>{e.stopPropagation();const v=e.currentTarget.getBoundingClientRect(),d=e.clientX-v.left,f=v.width;d<f/2?l():i()},A=()=>{u.value=!0},x=e=>{if(o.value)switch(e.key){case"Escape":c();break;case"ArrowLeft":l();break;case"ArrowRight":i();break}};let C=0,w=0;const I=e=>{e.touches.length===1&&(C=e.touches[0].clientX)},L=e=>{e.changedTouches.length===1&&(w=e.changedTouches[0].clientX,D())},D=()=>{const e=w-C;Math.abs(e)>50&&(e<0?i():l())};return q(()=>n.initialIndex,e=>{e!==void 0&&o.value&&(t.value=Math.max(0,Math.min(e,n.images.length-1)))}),z(()=>{document.addEventListener("keydown",x),document.addEventListener("touchstart",I,{passive:!0}),document.addEventListener("touchend",L,{passive:!0})}),K(()=>{document.removeEventListener("keydown",x),document.removeEventListener("touchstart",I),document.removeEventListener("touchend",L)}),_({open:N,close:c}),(e,a)=>(r(),O(P,{to:"body"},[o.value?(r(),g("div",{key:0,class:"image-gallery-modal",onClick:S},[m("div",{class:"image-gallery-container",onClick:R},[m("button",{class:"close-btn",onClick:c},[p(k(y),{icon:"tabler:x"})]),m("div",F,[m("img",{src:X.value,alt:`图片 ${t.value+1}`,class:"gallery-image",onLoad:A,onClick:V},null,40,H),s.images.length>1?(r(),g("button",{key:0,class:"nav-btn nav-left",onClick:E(l,["stop"])},[p(k(y),{icon:"tabler:chevron-left"})])):h("",!0),s.images.length>1?(r(),g("button",{key:1,class:"nav-btn nav-right",onClick:E(i,["stop"])},[p(k(y),{icon:"tabler:chevron-right"})])):h("",!0)]),s.images.length>1?(r(),g("div",J,T(t.value+1)+" / "+T(s.images.length),1)):h("",!0)])])):h("",!0)]))}}),ee=j(Q,[["__scopeId","data-v-5cebea08"]]);export{ee as default};
import{d as U,D as q,o as z,z as K,i as r,q as O,c as g,b as m,e as p,g as k,T as E,s as h,t as T,ap as P,r as b,p as $}from"./index-B-XVyan_.js";import{I as y}from"./iconify-BO-0UNsA.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const F={class:"image-wrapper"},H=["src","alt"],J={key:0,class:"image-index"},Q=U({__name:"ImageGallery",props:{images:{},initialIndex:{}},emits:["close"],setup(s,{expose:_,emit:M}){const n=s,B=M,o=b(!1),t=b(0),u=b(!1),X=$(()=>n.images[t.value]||""),N=(e=0)=>{t.value=Math.max(0,Math.min(e,n.images.length-1)),o.value=!0,u.value=!1},c=()=>{o.value=!1,B("close")},l=()=>{n.images.length<=1||(t.value=t.value>0?t.value-1:n.images.length-1,u.value=!1)},i=()=>{n.images.length<=1||(t.value=t.value<n.images.length-1?t.value+1:0,u.value=!1)},S=e=>{e.target===e.currentTarget&&c()},R=e=>{const a=e.target;if(!(a.tagName==="BUTTON"||a.closest("button"))&&!(a.classList.contains("image-index")||a.closest(".image-index"))){if(a.classList.contains("gallery-image")){const d=a.getBoundingClientRect(),f=e.clientX-d.left,G=d.width;f<G/2?l():i();return}c()}},V=e=>{e.stopPropagation();const v=e.currentTarget.getBoundingClientRect(),d=e.clientX-v.left,f=v.width;d<f/2?l():i()},A=()=>{u.value=!0},x=e=>{if(o.value)switch(e.key){case"Escape":c();break;case"ArrowLeft":l();break;case"ArrowRight":i();break}};let C=0,w=0;const I=e=>{e.touches.length===1&&(C=e.touches[0].clientX)},L=e=>{e.changedTouches.length===1&&(w=e.changedTouches[0].clientX,D())},D=()=>{const e=w-C;Math.abs(e)>50&&(e<0?i():l())};return q(()=>n.initialIndex,e=>{e!==void 0&&o.value&&(t.value=Math.max(0,Math.min(e,n.images.length-1)))}),z(()=>{document.addEventListener("keydown",x),document.addEventListener("touchstart",I,{passive:!0}),document.addEventListener("touchend",L,{passive:!0})}),K(()=>{document.removeEventListener("keydown",x),document.removeEventListener("touchstart",I),document.removeEventListener("touchend",L)}),_({open:N,close:c}),(e,a)=>(r(),O(P,{to:"body"},[o.value?(r(),g("div",{key:0,class:"image-gallery-modal",onClick:S},[m("div",{class:"image-gallery-container",onClick:R},[m("button",{class:"close-btn",onClick:c},[p(k(y),{icon:"tabler:x"})]),m("div",F,[m("img",{src:X.value,alt:`图片 ${t.value+1}`,class:"gallery-image",onLoad:A,onClick:V},null,40,H),s.images.length>1?(r(),g("button",{key:0,class:"nav-btn nav-left",onClick:E(l,["stop"])},[p(k(y),{icon:"tabler:chevron-left"})])):h("",!0),s.images.length>1?(r(),g("button",{key:1,class:"nav-btn nav-right",onClick:E(i,["stop"])},[p(k(y),{icon:"tabler:chevron-right"})])):h("",!0)]),s.images.length>1?(r(),g("div",J,T(t.value+1)+" / "+T(s.images.length),1)):h("",!0)])])):h("",!0)]))}}),ee=j(Q,[["__scopeId","data-v-5cebea08"]]);export{ee as default};

View File

@ -1 +1 @@
import{d as b,u as R,i as d,c as m,b as u,L as B,e as k,g as v,s as y,T as E,A as n,r as M,p as f}from"./index-CCNaedqK.js";import{uploadFileToJingrow as U,updateRecord as I,getRecordAttachments as x,deleteAttachment as S}from"./common-W0wo9ok5.js";import{I as C}from"./iconify-D9UFUJY9.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const $={key:0,class:"media-section"},T={class:"image-grid"},z=["src","alt"],J={key:2,class:"image-overlay"},L=["title"],j=b({__name:"ImageSection",props:{metaFields:{},record:{},pageMeta:{},canEdit:{type:Boolean},entity:{},id:{}},emits:["open-gallery","refresh"],setup(g,{emit:w}){const e=g,h=w,i=R(),_=M(null),r=f(()=>e.pageMeta?.image_field),A=f(()=>{const t=r.value;return t?.trim()?e.metaFields.some(a=>a.fieldname===t):!1}),c=f(()=>{const t=r.value;return t?String(e.record[t]||"").trim():""}),p=f(()=>!!c.value);async function F(t){const a=t.target,l=a.files?.[0];if(!l)return;const o=r.value;if(!(!o||!e.entity||!e.id))try{i.loading(n("Uploading..."),{duration:0});const s=await U(l,e.entity,e.id,o);i.destroyAll(),s.success&&s.file_url?(e.record[o]=s.file_url,await I(e.entity,e.id,{[o]:s.file_url}),h("refresh")):i.error(s.error||n("Upload failed"))}catch(s){i.destroyAll(),i.error(s.message||n("Upload failed"))}finally{a.value=""}}async function N(){const t=r.value;if(!t||!e.entity||!e.id)return;const a=c.value;try{if(i.loading(n("Removing..."),{duration:0}),a){const o=(await x(e.entity,e.id)).data?.find(s=>s.file_url===a);o&&await S(o.name)}e.record[t]="",await I(e.entity,e.id,{[t]:""}),i.destroyAll(),h("refresh")}catch(l){i.destroyAll(),i.error(l.message||n("Remove failed"))}}return(t,a)=>A.value?(d(),m("div",$,[u("div",T,[u("div",{class:B(["image-card",{"has-image":p.value}])},[p.value?(d(),m("img",{key:0,src:c.value,alt:r.value,onClick:a[0]||(a[0]=l=>t.$emit("open-gallery",c.value))},null,8,z)):g.canEdit?(d(),m("div",{key:1,class:"upload-placeholder",onClick:a[1]||(a[1]=l=>_.value?.click())},[k(v(C),{icon:"tabler:upload",class:"upload-icon"})])):y("",!0),g.canEdit&&p.value?(d(),m("div",J,[u("button",{class:"delete-btn",title:v(n)("Remove"),onClick:E(N,["stop"])},[k(v(C),{icon:"tabler:x"})],8,L)])):y("",!0),u("input",{ref_key:"fileInput",ref:_,type:"file",accept:"image/*",style:{display:"none"},onChange:F},null,544)],2)])])):y("",!0)}}),K=V(j,[["__scopeId","data-v-a1daf34d"]]);export{K as default};
import{d as b,u as R,i as d,c as m,b as u,L as B,e as k,g as v,s as y,T as E,A as n,r as M,p as f}from"./index-B-XVyan_.js";import{uploadFileToJingrow as U,updateRecord as I,getRecordAttachments as x,deleteAttachment as S}from"./common-DnqWLxUx.js";import{I as C}from"./iconify-BO-0UNsA.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const $={key:0,class:"media-section"},T={class:"image-grid"},z=["src","alt"],J={key:2,class:"image-overlay"},L=["title"],j=b({__name:"ImageSection",props:{metaFields:{},record:{},pageMeta:{},canEdit:{type:Boolean},entity:{},id:{}},emits:["open-gallery","refresh"],setup(g,{emit:w}){const e=g,h=w,i=R(),_=M(null),r=f(()=>e.pageMeta?.image_field),A=f(()=>{const t=r.value;return t?.trim()?e.metaFields.some(a=>a.fieldname===t):!1}),c=f(()=>{const t=r.value;return t?String(e.record[t]||"").trim():""}),p=f(()=>!!c.value);async function F(t){const a=t.target,l=a.files?.[0];if(!l)return;const o=r.value;if(!(!o||!e.entity||!e.id))try{i.loading(n("Uploading..."),{duration:0});const s=await U(l,e.entity,e.id,o);i.destroyAll(),s.success&&s.file_url?(e.record[o]=s.file_url,await I(e.entity,e.id,{[o]:s.file_url}),h("refresh")):i.error(s.error||n("Upload failed"))}catch(s){i.destroyAll(),i.error(s.message||n("Upload failed"))}finally{a.value=""}}async function N(){const t=r.value;if(!t||!e.entity||!e.id)return;const a=c.value;try{if(i.loading(n("Removing..."),{duration:0}),a){const o=(await x(e.entity,e.id)).data?.find(s=>s.file_url===a);o&&await S(o.name)}e.record[t]="",await I(e.entity,e.id,{[t]:""}),i.destroyAll(),h("refresh")}catch(l){i.destroyAll(),i.error(l.message||n("Remove failed"))}}return(t,a)=>A.value?(d(),m("div",$,[u("div",T,[u("div",{class:B(["image-card",{"has-image":p.value}])},[p.value?(d(),m("img",{key:0,src:c.value,alt:r.value,onClick:a[0]||(a[0]=l=>t.$emit("open-gallery",c.value))},null,8,z)):g.canEdit?(d(),m("div",{key:1,class:"upload-placeholder",onClick:a[1]||(a[1]=l=>_.value?.click())},[k(v(C),{icon:"tabler:upload",class:"upload-icon"})])):y("",!0),g.canEdit&&p.value?(d(),m("div",J,[u("button",{class:"delete-btn",title:v(n)("Remove"),onClick:E(N,["stop"])},[k(v(C),{icon:"tabler:x"})],8,L)])):y("",!0),u("input",{ref_key:"fileInput",ref:_,type:"file",accept:"image/*",style:{display:"none"},onChange:F},null,544)],2)])])):y("",!0)}}),K=V(j,[["__scopeId","data-v-a1daf34d"]]);export{K as default};

View File

@ -1 +1 @@
import{d as w,r as x,D as c,q as V,w as t,g as e,E as B,i as v,b as u,e as n,aH as I,l as g,t as r,n as N,A as i,B as C}from"./index-CCNaedqK.js";import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={class:"progress-content"},_=w({__name:"InstallProgressModal",props:{modelValue:{type:Boolean},progress:{},message:{},status:{},installing:{type:Boolean},title:{}},emits:["update:modelValue"],setup(a,{emit:p}){const o=a,m=p,s=x(o.modelValue);c(()=>o.modelValue,l=>{s.value=l}),c(s,l=>{m("update:modelValue",l)});function f(){o.installing||(s.value=!1)}return(l,d)=>(v(),V(e(B),{show:s.value,"onUpdate:show":d[0]||(d[0]=h=>s.value=h),preset:"card",style:{width:"500px"}},{header:t(()=>[u("h3",null,r(a.title||e(i)("Installing App")),1)]),action:t(()=>[n(e(C),{onClick:f,disabled:a.installing},{default:t(()=>[g(r(a.installing?e(i)("Installing..."):e(i)("Close")),1)]),_:1},8,["disabled"])]),default:t(()=>[u("div",y,[n(e(I),{percentage:a.progress,"show-indicator":!0,color:"#10b981"},null,8,["percentage"]),n(e(N),{class:"progress-text"},{default:t(()=>[g(r(a.message),1)]),_:1})])]),_:1},8,["show"]))}}),P=b(_,[["__scopeId","data-v-fee9acec"]]);export{P as I};
import{d as w,r as x,D as c,q as V,w as t,g as e,E as B,i as v,b as u,e as n,aH as I,l as g,t as r,n as N,A as i,B as C}from"./index-B-XVyan_.js";import{_ as b}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={class:"progress-content"},_=w({__name:"InstallProgressModal",props:{modelValue:{type:Boolean},progress:{},message:{},status:{},installing:{type:Boolean},title:{}},emits:["update:modelValue"],setup(a,{emit:p}){const o=a,m=p,s=x(o.modelValue);c(()=>o.modelValue,l=>{s.value=l}),c(s,l=>{m("update:modelValue",l)});function f(){o.installing||(s.value=!1)}return(l,d)=>(v(),V(e(B),{show:s.value,"onUpdate:show":d[0]||(d[0]=h=>s.value=h),preset:"card",style:{width:"500px"}},{header:t(()=>[u("h3",null,r(a.title||e(i)("Installing App")),1)]),action:t(()=>[n(e(C),{onClick:f,disabled:a.installing},{default:t(()=>[g(r(a.installing?e(i)("Installing..."):e(i)("Close")),1)]),_:1},8,["disabled"])]),default:t(()=>[u("div",y,[n(e(I),{percentage:a.progress,"show-indicator":!0,color:"#10b981"},null,8,["percentage"]),n(e(N),{class:"progress-text"},{default:t(()=>[g(r(a.message),1)]),_:1})])]),_:1},8,["show"]))}}),P=b(_,[["__scopeId","data-v-fee9acec"]]);export{P as I};

View File

@ -1 +1 @@
import{I as y}from"./iconify-D9UFUJY9.js";import{d as N,u as B,J as F,A as a,P as u,B as f,ae as g,o as U,c as j,b as r,e as l,w as o,g as n,U as v,l as x,t as m,ab as T,r as c,i as S,am as V}from"./index-CCNaedqK.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"installed-apps-page"},M={class:"page-header"},P={class:"header-content"},$={class:"page-title"},z={class:"page-description"},G={class:"apps-section"},J=N({__name:"InstalledApps",setup(L){const _=c([]),i=c(!1),h=c(!1),p=c(null),t=B(),A=F(),b=[{title:a("App Name"),key:"name",width:200},{title:a("Version"),key:"version",width:100,render:e=>e.version||"1.0.0"},{title:a("Git Branch"),key:"git_branch",width:120,render:e=>e.git_branch||"main"},{title:a("Actions"),key:"actions",width:280,render:e=>u("div",{class:"action-buttons"},[u(f,{size:"small",type:"default",loading:p.value===e.name,disabled:e.name==="jingrow",onClick:()=>w(e)},{default:()=>a("Export Package")}),u(f,{size:"small",type:"error",style:"margin-left: 8px;",disabled:!e.uninstallable,onClick:()=>C(e)},{default:()=>e.uninstallable?a("Uninstall"):a("System App")})])}],d=async()=>{try{i.value=!0;const e=await g.get("/jingrow/installed-apps");e.data.success?_.value=e.data.data.apps||[]:t.error(e.data.error||a("Failed to load apps"))}catch(e){console.error("Load apps error:",e),t.error(e.response?.data?.error||a("Failed to load apps"))}finally{i.value=!1}},k=()=>{d()},w=async e=>{if(e.name==="jingrow"){t.warning(a("System App")+" "+a("cannot be exported"));return}try{p.value=e.name;const s=await g.post(`/jingrow/export-app-package/${e.name}`,{});if(s.data.success){if(t.success(a("App package exported successfully: {0}").replace("{0}",s.data.filename||e.name)),s.data.filename){const I=`/files/${s.data.filename}`;window.open(I,"_blank")}}else t.error(s.data.error||a("Failed to export app package"))}catch(s){console.error("Export app error:",s),t.error(s.response?.data?.error||a("Failed to export app package"))}finally{p.value=null}},C=async e=>{if(!e.uninstallable){t.warning(a("System App")+" "+a("cannot be uninstalled"));return}A.warning({title:a("Uninstall App"),content:a("Are you sure you want to uninstall '{0}'? This action cannot be undone.").replace("{0}",e.name),positiveText:a("Uninstall"),negativeText:a("Cancel"),onPositiveClick:async()=>{try{h.value=!0;const s=await g.post(`/jingrow/uninstall/${e.name}`,{});s.data.success?(t.success(a("App '{0}' uninstalled successfully").replace("{0}",e.name)),await d()):t.error(s.data.error||a("Failed to uninstall app"))}catch(s){console.error("Uninstall app error:",s),t.error(s.response?.data?.error||a("Failed to uninstall app"))}finally{h.value=!1}}})};return U(()=>{d()}),(e,s)=>(S(),j("div",E,[r("div",M,[r("div",P,[r("h1",$,[l(n(v),null,{default:o(()=>[l(n(y),{icon:"tabler:apps"})]),_:1}),x(" "+m(n(a)("Installed Apps")),1)]),r("p",z,m(n(a)("Manage your locally installed applications")),1)])]),r("div",G,[l(n(T),{class:"apps-card"},{"header-extra":o(()=>[l(n(f),{onClick:k,loading:i.value},{icon:o(()=>[l(n(v),null,{default:o(()=>[l(n(y),{icon:"tabler:refresh"})]),_:1})]),default:o(()=>[x(" "+m(n(a)("Refresh")),1)]),_:1},8,["loading"])]),default:o(()=>[l(n(V),{columns:b,data:_.value,loading:i.value,pagination:!1},null,8,["data","loading"])]),_:1})])]))}}),K=D(J,[["__scopeId","data-v-ff60a689"]]);export{K as default};
import{I as y}from"./iconify-BO-0UNsA.js";import{d as N,u as B,J as F,A as a,P as u,B as f,ae as g,o as U,c as j,b as r,e as l,w as o,g as n,U as v,l as x,t as m,ab as T,r as c,i as S,am as V}from"./index-B-XVyan_.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";const E={class:"installed-apps-page"},M={class:"page-header"},P={class:"header-content"},$={class:"page-title"},z={class:"page-description"},G={class:"apps-section"},J=N({__name:"InstalledApps",setup(L){const _=c([]),i=c(!1),h=c(!1),p=c(null),t=B(),A=F(),b=[{title:a("App Name"),key:"name",width:200},{title:a("Version"),key:"version",width:100,render:e=>e.version||"1.0.0"},{title:a("Git Branch"),key:"git_branch",width:120,render:e=>e.git_branch||"main"},{title:a("Actions"),key:"actions",width:280,render:e=>u("div",{class:"action-buttons"},[u(f,{size:"small",type:"default",loading:p.value===e.name,disabled:e.name==="jingrow",onClick:()=>w(e)},{default:()=>a("Export Package")}),u(f,{size:"small",type:"error",style:"margin-left: 8px;",disabled:!e.uninstallable,onClick:()=>C(e)},{default:()=>e.uninstallable?a("Uninstall"):a("System App")})])}],d=async()=>{try{i.value=!0;const e=await g.get("/jingrow/installed-apps");e.data.success?_.value=e.data.data.apps||[]:t.error(e.data.error||a("Failed to load apps"))}catch(e){console.error("Load apps error:",e),t.error(e.response?.data?.error||a("Failed to load apps"))}finally{i.value=!1}},k=()=>{d()},w=async e=>{if(e.name==="jingrow"){t.warning(a("System App")+" "+a("cannot be exported"));return}try{p.value=e.name;const s=await g.post(`/jingrow/export-app-package/${e.name}`,{});if(s.data.success){if(t.success(a("App package exported successfully: {0}").replace("{0}",s.data.filename||e.name)),s.data.filename){const I=`/files/${s.data.filename}`;window.open(I,"_blank")}}else t.error(s.data.error||a("Failed to export app package"))}catch(s){console.error("Export app error:",s),t.error(s.response?.data?.error||a("Failed to export app package"))}finally{p.value=null}},C=async e=>{if(!e.uninstallable){t.warning(a("System App")+" "+a("cannot be uninstalled"));return}A.warning({title:a("Uninstall App"),content:a("Are you sure you want to uninstall '{0}'? This action cannot be undone.").replace("{0}",e.name),positiveText:a("Uninstall"),negativeText:a("Cancel"),onPositiveClick:async()=>{try{h.value=!0;const s=await g.post(`/jingrow/uninstall/${e.name}`,{});s.data.success?(t.success(a("App '{0}' uninstalled successfully").replace("{0}",e.name)),await d()):t.error(s.data.error||a("Failed to uninstall app"))}catch(s){console.error("Uninstall app error:",s),t.error(s.response?.data?.error||a("Failed to uninstall app"))}finally{h.value=!1}}})};return U(()=>{d()}),(e,s)=>(S(),j("div",E,[r("div",M,[r("div",P,[r("h1",$,[l(n(v),null,{default:o(()=>[l(n(y),{icon:"tabler:apps"})]),_:1}),x(" "+m(n(a)("Installed Apps")),1)]),r("p",z,m(n(a)("Manage your locally installed applications")),1)])]),r("div",G,[l(n(T),{class:"apps-card"},{"header-extra":o(()=>[l(n(f),{onClick:k,loading:i.value},{icon:o(()=>[l(n(v),null,{default:o(()=>[l(n(y),{icon:"tabler:refresh"})]),_:1})]),default:o(()=>[x(" "+m(n(a)("Refresh")),1)]),_:1},8,["loading"])]),default:o(()=>[l(n(V),{columns:b,data:_.value,loading:i.value,pagination:!1},null,8,["data","loading"])]),_:1})])]))}}),K=D(J,[["__scopeId","data-v-ff60a689"]]);export{K as default};

View File

@ -1 +1 @@
import{d as i,c as d,b as u,l as f,t as m,s as b,e as p,g as _,aj as v,L as y,p as s,i as n}from"./index-CCNaedqK.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},x={key:0,class:"required"},V=i({__name:"Int",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const t=e,r=s(()=>t.df.label_layout||"vertical"),l=s({get:()=>{const a=t.record[t.df.fieldname];return a===""||a===void 0?null:Number(a)},set:a=>{t.record[t.df.fieldname]=a}});return(a,o)=>(n(),d("div",{class:y(["field-wrapper",`layout-${r.value}`])},[u("label",g,[f(m(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(n(),d("span",x,"*")):b("",!0)]),p(_(v),{value:l.value,"onUpdate:value":o[0]||(o[0]=c=>l.value=c),precision:0,placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),B=N(V,[["__scopeId","data-v-5b1ef029"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{k as _};
import{d as i,c as d,b as u,l as f,t as m,s as b,e as p,g as _,aj as v,L as y,p as s,i as n}from"./index-B-XVyan_.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},x={key:0,class:"required"},V=i({__name:"Int",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const t=e,r=s(()=>t.df.label_layout||"vertical"),l=s({get:()=>{const a=t.record[t.df.fieldname];return a===""||a===void 0?null:Number(a)},set:a=>{t.record[t.df.fieldname]=a}});return(a,o)=>(n(),d("div",{class:y(["field-wrapper",`layout-${r.value}`])},[u("label",g,[f(m(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(n(),d("span",x,"*")):b("",!0)]),p(_(v),{value:l.value,"onUpdate:value":o[0]||(o[0]=c=>l.value=c),precision:0,placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),B=N(V,[["__scopeId","data-v-5b1ef029"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{k as _};

View File

@ -1 +1 @@
import{d as c,c as t,b as l,l as i,t as r,s as u,e as f,g as m,k as b,L as x,p as y,i as d}from"./index-CCNaedqK.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"field-label"},g={key:0,class:"required"},N={class:"json-field-container"},J=c({__name:"JSON",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,s=y(()=>o.df.label_layout||"vertical");return(j,a)=>(d(),t("div",{class:x(["field-wrapper",`layout-${s.value}`])},[l("label",V,[i(r(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(d(),t("span",g,"*")):u("",!0)]),l("div",N,[f(m(b),{value:e.ctx.getJsonDisplayValue?e.ctx.getJsonDisplayValue(e.record[e.df.fieldname]):e.record[e.df.fieldname]??"","onUpdate:value":a[0]||(a[0]=n=>e.ctx.updateJsonValue&&e.ctx.updateJsonValue(e.df.fieldname,n)),type:"textarea",rows:12,placeholder:"",disabled:!e.canEdit,class:"json-textarea"},null,8,["value","disabled"])])],2))}}),S=v(J,[["__scopeId","data-v-16e378b8"]]),O=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{O as _};
import{d as c,c as t,b as l,l as i,t as r,s as u,e as f,g as m,k as b,L as x,p as y,i as d}from"./index-B-XVyan_.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const V={class:"field-label"},g={key:0,class:"required"},N={class:"json-field-container"},J=c({__name:"JSON",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,s=y(()=>o.df.label_layout||"vertical");return(j,a)=>(d(),t("div",{class:x(["field-wrapper",`layout-${s.value}`])},[l("label",V,[i(r(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(d(),t("span",g,"*")):u("",!0)]),l("div",N,[f(m(b),{value:e.ctx.getJsonDisplayValue?e.ctx.getJsonDisplayValue(e.record[e.df.fieldname]):e.record[e.df.fieldname]??"","onUpdate:value":a[0]||(a[0]=n=>e.ctx.updateJsonValue&&e.ctx.updateJsonValue(e.df.fieldname,n)),type:"textarea",rows:12,placeholder:"",disabled:!e.canEdit,class:"json-textarea"},null,8,["value","disabled"])])],2))}}),S=v(J,[["__scopeId","data-v-16e378b8"]]),O=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{O as _};

View File

@ -0,0 +1 @@
import{_ as e}from"./Jeditor.vue_vue_type_style_index_0_lang-CXu94UBh.js";const o=Object.freeze(Object.defineProperty({__proto__:null,default:e},Symbol.toStringTag,{value:"Module"}));export{o as _};

View File

@ -1 +0,0 @@
import{_ as e}from"./Jeditor.vue_vue_type_style_index_0_lang-Cz3SFuJD.js";const o=Object.freeze(Object.defineProperty({__proto__:null,default:e},Symbol.toStringTag,{value:"Module"}));export{o as _};

View File

@ -1 +1 @@
import{d as te,D as z,o as ae,z as ne,c,l as le,t as L,s as _,b as I,e as h,g as l,k as se,q as oe,w as $,A as s,T as U,B as R,F as ie,C as ce,L as j,p as x,r,ae as P,i as o,U as N,Q}from"./index-CCNaedqK.js";import{I as F}from"./iconify-D9UFUJY9.js";import{getPageTypeMeta as ue}from"./common-W0wo9ok5.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";const de={key:0,class:"field-label"},ve={key:0,class:"required"},fe={class:"input-wrapper"},pe={key:0,class:"link-buttons"},_e={key:0,class:"dropdown-menu"},he={class:"dropdown-content"},ye=["onClick"],me={key:0,class:"create-icon"},ke={class:"item-label"},ge={key:0,class:"empty-state"},we={key:1,class:"loading-state"},be=te({__name:"Link",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(u){const n=u,V=x(()=>n.df.label_layout||"vertical"),d=r(""),y=r(""),m=r(""),B=r(!1),v=r(!1),k=r([]),b=r(!1),T=r({}),g=r({}),f=x(()=>n.df.options||""),O=x(()=>!!d.value),A=x(()=>n.df.max_options||20);z(()=>n.record[n.df.fieldname],async e=>{e!==d.value&&(d.value=e||"",e&&f.value?y.value=await G(f.value,e):y.value="")},{immediate:!0}),z(d,(e,t)=>{n.record[n.df.fieldname]!==e&&(n.record[n.df.fieldname]=e,n.ctx?.onFieldChange&&e!==t&&n.ctx.onFieldChange(n.df.fieldname,e,t,n.record))});async function K(e){if(!e)return{};if(T.value[e])return T.value[e];try{const t=await ue(e),a=t.success&&t.data?t.data:{};return T.value[e]=a,a}catch{return{}}}async function G(e,t){if(!e||!t)return t;const a=`${e}_${t}`;if(g.value[a])return g.value[a];try{const p=await K(e),i=p.title_field||"name",C=p.show_title_field_in_link||!1;if(i==="name"){const w=s(t);return g.value[a]=w,w}if(!C){const w=s(t);return g.value[a]=w,w}const ee=((await P.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)).data?.data||{})[i]||t,q=s(ee);return g.value[a]=q,q}catch{return s(t)}}function S(){return{label:`${s("Create")}${s(f.value)}`,value:"create_new",type:"create"}}async function E(e=""){if(f.value){b.value=!0;try{const t=await P.post("/api/action/jingrow.desk.search.search_link",{pagetype:f.value,txt:e||"",page_length:A.value});if(t.data&&t.data.message){const p=t.data.message.filter(i=>i.value&&i.value!=="create_new__link_option"&&i.value!=="advanced_search__link_option").map(i=>{const C=i.label||i.value;return{label:s(C),value:i.value,title:s(C)}});k.value=[...p,S()]}else k.value=[S()]}catch{k.value=[S()]}finally{b.value=!1}}}function H(e){m.value=e,v.value&&E(e)}async function D(){n.canEdit&&(v.value||(await E(m.value),v.value=!0))}async function J(e){if(e.type==="create"){const t=Q(f.value),a=Math.random().toString(36).substring(2,12),p=`new-${t}-${a}`;window.open(`/app/${t}/${p}`,"_blank"),v.value=!1;return}d.value=e.value,y.value=e.title||e.label,m.value="",v.value=!1}function W(){d.value="",y.value="",m.value="",v.value=!1}function X(){if(!d.value||!f.value)return;const e=Q(f.value);window.open(`/app/${e}/${d.value}`,"_blank")}function Y(){B.value=O.value}function Z(){B.value=!1}function M(e){e.target.closest(".link-field-container")||(v.value=!1)}return ae(()=>{document.addEventListener("click",M),n.onlyInput&&D()}),ne(()=>{document.removeEventListener("click",M)}),(e,t)=>(o(),c("div",{class:j(["field-wrapper",`layout-${V.value}`,{"only-input":u.onlyInput}])},[u.onlyInput?_("",!0):(o(),c("label",de,[le(L(u.ctx.t(u.df.label||u.df.fieldname))+" ",1),u.df.reqd?(o(),c("span",ve,"*")):_("",!0)])),I("div",{class:"link-field-container",onMouseenter:Y,onMouseleave:Z},[I("div",fe,[h(l(se),{value:O.value?y.value:m.value,placeholder:"",disabled:!u.canEdit,"onUpdate:value":H,onClick:D,onFocus:D,class:"link-input"},null,8,["value","disabled"]),B.value&&O.value?(o(),c("div",pe,[u.canEdit?(o(),oe(l(R),{key:0,size:"small",quaternary:"",onClick:U(W,["stop"]),title:l(s)("Clear"),class:"action-btn"},{icon:$(()=>[h(l(N),null,{default:$(()=>[h(l(F),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),h(l(R),{size:"small",quaternary:"",onClick:U(X,["stop"]),title:l(s)("Open Detail"),class:"action-btn"},{icon:$(()=>[h(l(N),null,{default:$(()=>[h(l(F),{icon:"mdi:arrow-right"})]),_:1})]),_:1},8,["title"])])):_("",!0)]),v.value?(o(),c("div",_e,[I("div",he,[(o(!0),c(ie,null,ce(k.value,a=>(o(),c("div",{key:a.value,class:j(["dropdown-item",{"create-item":a.type==="create"}]),onClick:p=>J(a)},[a.type==="create"?(o(),c("span",me,[h(l(F),{icon:"mdi:plus"})])):_("",!0),I("span",ke,L(a.label),1)],10,ye))),128)),k.value.length===0&&!b.value?(o(),c("div",ge,L(l(s)("No Data")),1)):_("",!0),b.value?(o(),c("div",we,L(l(s)("Loading")),1)):_("",!0)])])):_("",!0)],32)],2))}}),Ce=re(be,[["__scopeId","data-v-cd7ec253"]]),Oe=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Ce as L,Oe as _};
import{d as te,D as z,o as ae,z as ne,c,l as le,t as L,s as _,b as I,e as h,g as l,k as se,q as oe,w as $,A as s,T as U,B as R,F as ie,C as ce,L as j,p as x,r,ae as P,i as o,U as N,Q}from"./index-B-XVyan_.js";import{I as F}from"./iconify-BO-0UNsA.js";import{getPageTypeMeta as ue}from"./common-DnqWLxUx.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";const de={key:0,class:"field-label"},ve={key:0,class:"required"},fe={class:"input-wrapper"},pe={key:0,class:"link-buttons"},_e={key:0,class:"dropdown-menu"},he={class:"dropdown-content"},ye=["onClick"],me={key:0,class:"create-icon"},ke={class:"item-label"},ge={key:0,class:"empty-state"},we={key:1,class:"loading-state"},be=te({__name:"Link",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{},onlyInput:{type:Boolean}},setup(u){const n=u,V=x(()=>n.df.label_layout||"vertical"),d=r(""),y=r(""),m=r(""),B=r(!1),v=r(!1),k=r([]),b=r(!1),T=r({}),g=r({}),f=x(()=>n.df.options||""),O=x(()=>!!d.value),A=x(()=>n.df.max_options||20);z(()=>n.record[n.df.fieldname],async e=>{e!==d.value&&(d.value=e||"",e&&f.value?y.value=await G(f.value,e):y.value="")},{immediate:!0}),z(d,(e,t)=>{n.record[n.df.fieldname]!==e&&(n.record[n.df.fieldname]=e,n.ctx?.onFieldChange&&e!==t&&n.ctx.onFieldChange(n.df.fieldname,e,t,n.record))});async function K(e){if(!e)return{};if(T.value[e])return T.value[e];try{const t=await ue(e),a=t.success&&t.data?t.data:{};return T.value[e]=a,a}catch{return{}}}async function G(e,t){if(!e||!t)return t;const a=`${e}_${t}`;if(g.value[a])return g.value[a];try{const p=await K(e),i=p.title_field||"name",C=p.show_title_field_in_link||!1;if(i==="name"){const w=s(t);return g.value[a]=w,w}if(!C){const w=s(t);return g.value[a]=w,w}const ee=((await P.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)).data?.data||{})[i]||t,q=s(ee);return g.value[a]=q,q}catch{return s(t)}}function S(){return{label:`${s("Create")}${s(f.value)}`,value:"create_new",type:"create"}}async function E(e=""){if(f.value){b.value=!0;try{const t=await P.post("/api/action/jingrow.desk.search.search_link",{pagetype:f.value,txt:e||"",page_length:A.value});if(t.data&&t.data.message){const p=t.data.message.filter(i=>i.value&&i.value!=="create_new__link_option"&&i.value!=="advanced_search__link_option").map(i=>{const C=i.label||i.value;return{label:s(C),value:i.value,title:s(C)}});k.value=[...p,S()]}else k.value=[S()]}catch{k.value=[S()]}finally{b.value=!1}}}function H(e){m.value=e,v.value&&E(e)}async function D(){n.canEdit&&(v.value||(await E(m.value),v.value=!0))}async function J(e){if(e.type==="create"){const t=Q(f.value),a=Math.random().toString(36).substring(2,12),p=`new-${t}-${a}`;window.open(`/app/${t}/${p}`,"_blank"),v.value=!1;return}d.value=e.value,y.value=e.title||e.label,m.value="",v.value=!1}function W(){d.value="",y.value="",m.value="",v.value=!1}function X(){if(!d.value||!f.value)return;const e=Q(f.value);window.open(`/app/${e}/${d.value}`,"_blank")}function Y(){B.value=O.value}function Z(){B.value=!1}function M(e){e.target.closest(".link-field-container")||(v.value=!1)}return ae(()=>{document.addEventListener("click",M),n.onlyInput&&D()}),ne(()=>{document.removeEventListener("click",M)}),(e,t)=>(o(),c("div",{class:j(["field-wrapper",`layout-${V.value}`,{"only-input":u.onlyInput}])},[u.onlyInput?_("",!0):(o(),c("label",de,[le(L(u.ctx.t(u.df.label||u.df.fieldname))+" ",1),u.df.reqd?(o(),c("span",ve,"*")):_("",!0)])),I("div",{class:"link-field-container",onMouseenter:Y,onMouseleave:Z},[I("div",fe,[h(l(se),{value:O.value?y.value:m.value,placeholder:"",disabled:!u.canEdit,"onUpdate:value":H,onClick:D,onFocus:D,class:"link-input"},null,8,["value","disabled"]),B.value&&O.value?(o(),c("div",pe,[u.canEdit?(o(),oe(l(R),{key:0,size:"small",quaternary:"",onClick:U(W,["stop"]),title:l(s)("Clear"),class:"action-btn"},{icon:$(()=>[h(l(N),null,{default:$(()=>[h(l(F),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),h(l(R),{size:"small",quaternary:"",onClick:U(X,["stop"]),title:l(s)("Open Detail"),class:"action-btn"},{icon:$(()=>[h(l(N),null,{default:$(()=>[h(l(F),{icon:"mdi:arrow-right"})]),_:1})]),_:1},8,["title"])])):_("",!0)]),v.value?(o(),c("div",_e,[I("div",he,[(o(!0),c(ie,null,ce(k.value,a=>(o(),c("div",{key:a.value,class:j(["dropdown-item",{"create-item":a.type==="create"}]),onClick:p=>J(a)},[a.type==="create"?(o(),c("span",me,[h(l(F),{icon:"mdi:plus"})])):_("",!0),I("span",ke,L(a.label),1)],10,ye))),128)),k.value.length===0&&!b.value?(o(),c("div",ge,L(l(s)("No Data")),1)):_("",!0),b.value?(o(),c("div",we,L(l(s)("Loading")),1)):_("",!0)])])):_("",!0)],32)],2))}}),Ce=re(be,[["__scopeId","data-v-cd7ec253"]]),Oe=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Ce as L,Oe as _};

View File

@ -1 +1 @@
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{bc as b,g as d,i as l,c as o,b as n,bb as i,s as r,L as y,t as p}from"./index-CCNaedqK.js";const v=["data-fieldtype"],k={class:"field-controls"},_=["innerHTML"],h={key:1,class:"control"},L={class:"control-label label"},V=["value","disabled"],g=["innerHTML"],C={__name:"LinkControl",props:["args","df","read_only","modelValue"],emits:["update:modelValue"],setup(e,{emit:c}){let u=c,s=b();function f(t){u("update:modelValue",t.target.value)}return(t,a)=>d(s).label?(l(),o("div",{key:0,class:y(["control form-builder-control",{editable:d(s).label}]),"data-fieldtype":e.df.fieldtype},[n("div",k,[i(t.$slots,"label",{},void 0,!0),i(t.$slots,"actions",{},void 0,!0)]),a[0]||(a[0]=n("input",{class:"form-control",type:"text",readonly:""},null,-1)),e.df.description?(l(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,_)):r("",!0)],10,v)):(l(),o("div",h,[n("div",L,p(e.df.label),1),n("input",{class:"form-control",type:"text",value:e.modelValue,disabled:e.read_only||e.df.read_only,onInput:f},null,40,V),e.df.description?(l(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,g)):r("",!0)]))}},T=m(C,[["__scopeId","data-v-c7663e61"]]);export{T as default};
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{bc as b,g as d,i as l,c as o,b as n,bb as i,s as r,L as y,t as p}from"./index-B-XVyan_.js";const v=["data-fieldtype"],k={class:"field-controls"},_=["innerHTML"],h={key:1,class:"control"},L={class:"control-label label"},V=["value","disabled"],g=["innerHTML"],C={__name:"LinkControl",props:["args","df","read_only","modelValue"],emits:["update:modelValue"],setup(e,{emit:c}){let u=c,s=b();function f(t){u("update:modelValue",t.target.value)}return(t,a)=>d(s).label?(l(),o("div",{key:0,class:y(["control form-builder-control",{editable:d(s).label}]),"data-fieldtype":e.df.fieldtype},[n("div",k,[i(t.$slots,"label",{},void 0,!0),i(t.$slots,"actions",{},void 0,!0)]),a[0]||(a[0]=n("input",{class:"form-control",type:"text",readonly:""},null,-1)),e.df.description?(l(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,_)):r("",!0)],10,v)):(l(),o("div",h,[n("div",L,p(e.df.label),1),n("input",{class:"form-control",type:"text",value:e.modelValue,disabled:e.read_only||e.df.read_only,onInput:f},null,40,V),e.df.description?(l(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,g)):r("",!0)]))}},T=m(C,[["__scopeId","data-v-c7663e61"]]);export{T as default};

View File

@ -1 +1 @@
import{d as D,D as E,o as S,z as U,i as t,c as s,l as M,t as v,g as n,A as p,s as r,b as _,e as k,k as R,B as T,T as j,w as V,U as A,F as L,C as $,L as G,q as H,r as f,p as J,ae as K}from"./index-CCNaedqK.js";import{I as B}from"./iconify-D9UFUJY9.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const W={class:"link-field"},X={key:0,class:"field-label"},Y={key:0,class:"required"},Z={class:"input-wrapper"},ee={key:0,class:"link-buttons"},ae={key:0,class:"dropdown-menu"},te={class:"dropdown-content"},se={key:0,class:"loading-state"},le=["onClick"],ne={class:"item-label"},oe={key:1,class:"item-description"},ie={key:0,class:"empty-state"},ce=D({__name:"LinkField",props:{modelValue:{},options:{},label:{},placeholder:{},required:{type:Boolean},getQuery:{type:Function},enableCreate:{type:Boolean}},emits:["update:modelValue","create"],setup(m,{emit:I}){const i=m,h=I,y=f(null),l=f(""),o=f(!1),b=f(!1),u=f([]),x=J(()=>!!i.modelValue);E(()=>i.modelValue,e=>{e&&!l.value&&(l.value=e)},{immediate:!0});async function g(e=""){if(i.options){b.value=!0;try{const d=i.getQuery?.()||{},a=await K.post("/api/action/jingrow.desk.search.search_link",{pagetype:i.options,txt:e||"",page_length:20,...d});if(a.data?.message){const w=a.data.message.filter(c=>c.value&&!c.value.includes("__link_option")).map(c=>({value:c.value,label:c.label||c.value,description:c.description}));i.enableCreate!==!1?u.value=[...w,{value:"__create_new__",label:p("Create a new {0}",[p(i.options)]),type:"create"}]:u.value=w}else u.value=[]}catch(d){console.error("Search link error:",d),u.value=[]}finally{b.value=!1}}}function F(){o.value||(o.value=!0,g(l.value))}function N(){o.value||(o.value=!0,g(l.value))}function q(e){l.value=e,g(e)}function O(e){if(e.type==="create"){o.value=!1,h("create");return}l.value=e.label,h("update:modelValue",e.value),o.value=!1}function Q(){l.value="",h("update:modelValue","")}function C(e){y.value&&!y.value.contains(e.target)&&(o.value=!1)}return S(()=>{document.addEventListener("click",C)}),U(()=>{document.removeEventListener("click",C)}),(e,d)=>(t(),s("div",W,[m.label?(t(),s("label",X,[M(v(n(p)(m.label))+" ",1),m.required?(t(),s("span",Y,"*")):r("",!0)])):r("",!0),_("div",{class:"link-field-container",ref_key:"containerRef",ref:y},[_("div",Z,[k(n(R),{value:l.value,"onUpdate:value":d[0]||(d[0]=a=>l.value=a),placeholder:"",onFocus:F,onInput:q,onClick:N,class:"link-input"},null,8,["value"]),x.value?(t(),s("div",ee,[k(n(T),{size:"small",quaternary:"",onClick:j(Q,["stop"]),title:n(p)("Clear"),class:"action-btn"},{icon:V(()=>[k(n(A),null,{default:V(()=>[k(n(B),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])])):r("",!0)]),o.value?(t(),s("div",ae,[_("div",te,[b.value?(t(),s("div",se,v(n(p)("Loading...")),1)):(t(),s(L,{key:1},[(t(!0),s(L,null,$(u.value,a=>(t(),s("div",{key:a.value,class:G(["dropdown-item",{"create-item":a.type==="create"}]),onClick:z=>O(a)},[a.type==="create"?(t(),H(n(B),{key:0,icon:"mdi:plus",class:"item-icon"})):r("",!0),_("span",ne,v(a.label),1),a.description?(t(),s("span",oe,v(a.description),1)):r("",!0)],10,le))),128)),u.value.length===0?(t(),s("div",ie,v(n(p)("No results found")),1)):r("",!0)],64))])])):r("",!0)],512)]))}}),pe=P(ce,[["__scopeId","data-v-1d15f0d2"]]);export{pe as L};
import{d as D,D as E,o as S,z as U,i as t,c as s,l as M,t as v,g as n,A as p,s as r,b as _,e as k,k as R,B as T,T as j,w as V,U as A,F as L,C as $,L as G,q as H,r as f,p as J,ae as K}from"./index-B-XVyan_.js";import{I as B}from"./iconify-BO-0UNsA.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const W={class:"link-field"},X={key:0,class:"field-label"},Y={key:0,class:"required"},Z={class:"input-wrapper"},ee={key:0,class:"link-buttons"},ae={key:0,class:"dropdown-menu"},te={class:"dropdown-content"},se={key:0,class:"loading-state"},le=["onClick"],ne={class:"item-label"},oe={key:1,class:"item-description"},ie={key:0,class:"empty-state"},ce=D({__name:"LinkField",props:{modelValue:{},options:{},label:{},placeholder:{},required:{type:Boolean},getQuery:{type:Function},enableCreate:{type:Boolean}},emits:["update:modelValue","create"],setup(m,{emit:I}){const i=m,h=I,y=f(null),l=f(""),o=f(!1),b=f(!1),u=f([]),x=J(()=>!!i.modelValue);E(()=>i.modelValue,e=>{e&&!l.value&&(l.value=e)},{immediate:!0});async function g(e=""){if(i.options){b.value=!0;try{const d=i.getQuery?.()||{},a=await K.post("/api/action/jingrow.desk.search.search_link",{pagetype:i.options,txt:e||"",page_length:20,...d});if(a.data?.message){const w=a.data.message.filter(c=>c.value&&!c.value.includes("__link_option")).map(c=>({value:c.value,label:c.label||c.value,description:c.description}));i.enableCreate!==!1?u.value=[...w,{value:"__create_new__",label:p("Create a new {0}",[p(i.options)]),type:"create"}]:u.value=w}else u.value=[]}catch(d){console.error("Search link error:",d),u.value=[]}finally{b.value=!1}}}function F(){o.value||(o.value=!0,g(l.value))}function N(){o.value||(o.value=!0,g(l.value))}function q(e){l.value=e,g(e)}function O(e){if(e.type==="create"){o.value=!1,h("create");return}l.value=e.label,h("update:modelValue",e.value),o.value=!1}function Q(){l.value="",h("update:modelValue","")}function C(e){y.value&&!y.value.contains(e.target)&&(o.value=!1)}return S(()=>{document.addEventListener("click",C)}),U(()=>{document.removeEventListener("click",C)}),(e,d)=>(t(),s("div",W,[m.label?(t(),s("label",X,[M(v(n(p)(m.label))+" ",1),m.required?(t(),s("span",Y,"*")):r("",!0)])):r("",!0),_("div",{class:"link-field-container",ref_key:"containerRef",ref:y},[_("div",Z,[k(n(R),{value:l.value,"onUpdate:value":d[0]||(d[0]=a=>l.value=a),placeholder:"",onFocus:F,onInput:q,onClick:N,class:"link-input"},null,8,["value"]),x.value?(t(),s("div",ee,[k(n(T),{size:"small",quaternary:"",onClick:j(Q,["stop"]),title:n(p)("Clear"),class:"action-btn"},{icon:V(()=>[k(n(A),null,{default:V(()=>[k(n(B),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])])):r("",!0)]),o.value?(t(),s("div",ae,[_("div",te,[b.value?(t(),s("div",se,v(n(p)("Loading...")),1)):(t(),s(L,{key:1},[(t(!0),s(L,null,$(u.value,a=>(t(),s("div",{key:a.value,class:G(["dropdown-item",{"create-item":a.type==="create"}]),onClick:z=>O(a)},[a.type==="create"?(t(),H(n(B),{key:0,icon:"mdi:plus",class:"item-icon"})):r("",!0),_("span",ne,v(a.label),1),a.description?(t(),s("span",oe,v(a.description),1)):r("",!0)],10,le))),128)),u.value.length===0?(t(),s("div",ie,v(n(p)("No results found")),1)):r("",!0)],64))])])):r("",!0)],512)]))}}),pe=P(ce,[["__scopeId","data-v-1d15f0d2"]]);export{pe as L};

View File

@ -1 +1 @@
import{d as y,u as k,a as I,r as m,o as C,c as P,b as i,t as _,e as o,w as l,f as x,g as t,N as z,h as S,i as B,j as g,k as w,B as U,l as j,m as A}from"./index-CCNaedqK.js";import{_ as R}from"./logo-CrT-C5Op.js";import{I as v}from"./iconify-D9UFUJY9.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"login-container"},D={class:"login-card"},F={class:"login-header"},K={class:"logo"},M=["alt"],E={class:"title"},J=y({__name:"Login",setup(T){const L=S(),c=k(),u=I(),N=()=>"zh-CN",a=e=>{const n=N(),s={"zh-CN":{Username:"用户名",Password:"密码",Login:"登录","Please enter username":"请输入用户名","Please enter password":"请输入密码","Password must be at least 6 characters":"密码至少需要6个字符","Login successful":"登录成功","Login failed":"登录失败","Login failed, please check username and password":"登录失败,请检查用户名和密码"}};return n==="zh-CN"&&s["zh-CN"]?.[e]?s["zh-CN"][e]:e},f=m(),d=m(!1),r=A({username:"",password:""}),b={username:[{required:!0,message:a("Please enter username"),trigger:"blur"}],password:[{required:!0,message:a("Please enter password"),trigger:"blur"},{min:6,message:a("Password must be at least 6 characters"),trigger:"blur"}]},h=async()=>{try{await f.value?.validate(),d.value=!0;const e=await u.login(r.username,r.password);e.success?(c.success(a("Login successful")),window.location.reload()):c.error(e.error||a("Login failed"))}catch(e){console.error("Login error:",e),c.error(a("Login failed, please check username and password"))}finally{d.value=!1}},p=m(localStorage.getItem("appName")||"Jingrow");return C(async()=>{if(!localStorage.getItem("appName"))try{const e=await fetch("/api/action/jingrow.sessions.get_app_name",{headers:{Accept:"application/json"},credentials:"include"});if(e.ok){const s=(await e.json()).message;s&&(localStorage.setItem("appName",s),p.value=s)}}catch{}await u.initAuth(),u.isLoggedIn&&L.push("/")}),(e,n)=>(B(),P("div",q,[i("div",D,[i("div",F,[i("div",K,[i("img",{src:R,alt:p.value,width:"48",height:"48"},null,8,M)]),i("h1",E,_(p.value),1)]),o(t(z),{ref_key:"formRef",ref:f,model:r,rules:b,size:"medium","show-label":!1,onKeyup:x(h,["enter"])},{default:l(()=>[o(t(g),{path:"username"},{default:l(()=>[o(t(w),{value:r.username,"onUpdate:value":n[0]||(n[0]=s=>r.username=s),placeholder:a("Username"),"input-props":{autocomplete:"username"}},{prefix:l(()=>[o(t(v),{icon:"tabler:user"})]),_:1},8,["value","placeholder"])]),_:1}),o(t(g),{path:"password"},{default:l(()=>[o(t(w),{value:r.password,"onUpdate:value":n[1]||(n[1]=s=>r.password=s),type:"password",placeholder:a("Password"),"input-props":{autocomplete:"current-password"},"show-password-on":"click"},{prefix:l(()=>[o(t(v),{icon:"tabler:lock"})]),_:1},8,["value","placeholder"])]),_:1}),o(t(g),null,{default:l(()=>[o(t(U),{type:"primary",size:"large",block:"",loading:d.value,onClick:h,class:"brand-button"},{default:l(()=>[j(_(a("Login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]))}}),W=V(J,[["__scopeId","data-v-54889905"]]);export{W as default};
import{d as y,u as k,a as I,r as m,o as C,c as P,b as i,t as _,e as o,w as l,f as x,g as t,N as z,h as S,i as B,j as g,k as w,B as U,l as j,m as A}from"./index-B-XVyan_.js";import{_ as R}from"./logo-CrT-C5Op.js";import{I as v}from"./iconify-BO-0UNsA.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"login-container"},D={class:"login-card"},F={class:"login-header"},K={class:"logo"},M=["alt"],E={class:"title"},J=y({__name:"Login",setup(T){const L=S(),c=k(),u=I(),N=()=>"zh-CN",a=e=>{const n=N(),s={"zh-CN":{Username:"用户名",Password:"密码",Login:"登录","Please enter username":"请输入用户名","Please enter password":"请输入密码","Password must be at least 6 characters":"密码至少需要6个字符","Login successful":"登录成功","Login failed":"登录失败","Login failed, please check username and password":"登录失败,请检查用户名和密码"}};return n==="zh-CN"&&s["zh-CN"]?.[e]?s["zh-CN"][e]:e},f=m(),d=m(!1),r=A({username:"",password:""}),b={username:[{required:!0,message:a("Please enter username"),trigger:"blur"}],password:[{required:!0,message:a("Please enter password"),trigger:"blur"},{min:6,message:a("Password must be at least 6 characters"),trigger:"blur"}]},h=async()=>{try{await f.value?.validate(),d.value=!0;const e=await u.login(r.username,r.password);e.success?(c.success(a("Login successful")),window.location.reload()):c.error(e.error||a("Login failed"))}catch(e){console.error("Login error:",e),c.error(a("Login failed, please check username and password"))}finally{d.value=!1}},p=m(localStorage.getItem("appName")||"Jingrow");return C(async()=>{if(!localStorage.getItem("appName"))try{const e=await fetch("/api/action/jingrow.sessions.get_app_name",{headers:{Accept:"application/json"},credentials:"include"});if(e.ok){const s=(await e.json()).message;s&&(localStorage.setItem("appName",s),p.value=s)}}catch{}await u.initAuth(),u.isLoggedIn&&L.push("/")}),(e,n)=>(B(),P("div",q,[i("div",D,[i("div",F,[i("div",K,[i("img",{src:R,alt:p.value,width:"48",height:"48"},null,8,M)]),i("h1",E,_(p.value),1)]),o(t(z),{ref_key:"formRef",ref:f,model:r,rules:b,size:"medium","show-label":!1,onKeyup:x(h,["enter"])},{default:l(()=>[o(t(g),{path:"username"},{default:l(()=>[o(t(w),{value:r.username,"onUpdate:value":n[0]||(n[0]=s=>r.username=s),placeholder:a("Username"),"input-props":{autocomplete:"username"}},{prefix:l(()=>[o(t(v),{icon:"tabler:user"})]),_:1},8,["value","placeholder"])]),_:1}),o(t(g),{path:"password"},{default:l(()=>[o(t(w),{value:r.password,"onUpdate:value":n[1]||(n[1]=s=>r.password=s),type:"password",placeholder:a("Password"),"input-props":{autocomplete:"current-password"},"show-password-on":"click"},{prefix:l(()=>[o(t(v),{icon:"tabler:lock"})]),_:1},8,["value","placeholder"])]),_:1}),o(t(g),null,{default:l(()=>[o(t(U),{type:"primary",size:"large",block:"",loading:d.value,onClick:h,class:"brand-button"},{default:l(()=>[j(_(a("Login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]))}}),W=V(J,[["__scopeId","data-v-54889905"]]);export{W as default};

View File

@ -1 +1 @@
import{d as s,c as t,b as c,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as x,i as l}from"./index-CCNaedqK.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},p={key:0,class:"required"},_=s({__name:"LongText",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",g,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",p,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),type:"textarea",rows:6,placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=y(_,[["__scopeId","data-v-702319e4"]]),T=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{T as _};
import{d as s,c as t,b as c,l as r,t as i,s as f,e as u,g as m,k as b,L as v,p as x,i as l}from"./index-B-XVyan_.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},p={key:0,class:"required"},_=s({__name:"LongText",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(k,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",g,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",p,"*")):f("",!0)]),u(m(b),{value:e.record[e.df.fieldname],"onUpdate:value":a[0]||(a[0]=n=>e.record[e.df.fieldname]=n),type:"textarea",rows:6,placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),N=y(_,[["__scopeId","data-v-702319e4"]]),T=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{T as _};

View File

@ -1,4 +1,4 @@
import{l as $e}from"./index-w6PwaWGP.js";import{d as _e,D as j,o as Te,bm as ze,c as z,b as Q,l as C,t as A,s as se,q as ie,w as H,L as re,e as Re,p as le,r as N,x as Se,i as $,a0 as V}from"./index-CCNaedqK.js";import{_ as ve}from"./_plugin-vue_export-helper-DlAUqK2U.js";function W(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let T=W();function pe(c){T=c}const fe=/[&<>"']/,Ee=new RegExp(fe.source,"g"),de=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ie=new RegExp(de.source,"g"),Ce={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},oe=c=>Ce[c];function b(c,e){if(e){if(fe.test(c))return c.replace(Ee,oe)}else if(de.test(c))return c.replace(Ie,oe);return c}const Ae=/(^|[^\[])\^/g;function g(c,e){let t=typeof c=="string"?c:c.source;e=e||"";const n={replace:(s,i)=>{let r=typeof i=="string"?i:i.source;return r=r.replace(Ae,"$1"),t=t.replace(s,r),n},getRegex:()=>new RegExp(t,e)};return n}function ae(c){try{c=encodeURI(c).replace(/%25/g,"%")}catch{return null}return c}const v={exec:()=>null};function ce(c,e){const t=c.replace(/\|/g,(i,r,l)=>{let o=!1,a=r;for(;--a>=0&&l[a]==="\\";)o=!o;return o?"|":" |"}),n=t.split(/ \|/);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;s<n.length;s++)n[s]=n[s].trim().replace(/\\\|/g,"|");return n}function R(c,e,t){const n=c.length;if(n===0)return"";let s=0;for(;s<n&&c.charAt(n-s-1)===e;)s++;return c.slice(0,n-s)}function Le(c,e){if(c.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<c.length;n++)if(c[n]==="\\")n++;else if(c[n]===e[0])t++;else if(c[n]===e[1]&&(t--,t<0))return n;return-1}function he(c,e,t,n){const s=e.href,i=e.title?b(e.title):null,r=c[1].replace(/\\([\[\]])/g,"$1");if(c[0].charAt(0)!=="!"){n.state.inLink=!0;const l={type:"link",raw:t,href:s,title:i,text:r,tokens:n.inlineTokens(r)};return n.state.inLink=!1,l}return{type:"image",raw:t,href:s,title:i,text:b(r)}}function qe(c,e){const t=c.match(/^(\s+)(?:```)/);if(t===null)return e;const n=t[1];return e.split(`
import{l as $e}from"./index-w6PwaWGP.js";import{d as _e,D as j,o as Te,bm as ze,c as z,b as Q,l as C,t as A,s as se,q as ie,w as H,L as re,e as Re,p as le,r as N,x as Se,i as $,a0 as V}from"./index-B-XVyan_.js";import{_ as ve}from"./_plugin-vue_export-helper-DlAUqK2U.js";function W(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let T=W();function pe(c){T=c}const fe=/[&<>"']/,Ee=new RegExp(fe.source,"g"),de=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ie=new RegExp(de.source,"g"),Ce={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},oe=c=>Ce[c];function b(c,e){if(e){if(fe.test(c))return c.replace(Ee,oe)}else if(de.test(c))return c.replace(Ie,oe);return c}const Ae=/(^|[^\[])\^/g;function g(c,e){let t=typeof c=="string"?c:c.source;e=e||"";const n={replace:(s,i)=>{let r=typeof i=="string"?i:i.source;return r=r.replace(Ae,"$1"),t=t.replace(s,r),n},getRegex:()=>new RegExp(t,e)};return n}function ae(c){try{c=encodeURI(c).replace(/%25/g,"%")}catch{return null}return c}const v={exec:()=>null};function ce(c,e){const t=c.replace(/\|/g,(i,r,l)=>{let o=!1,a=r;for(;--a>=0&&l[a]==="\\";)o=!o;return o?"|":" |"}),n=t.split(/ \|/);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;s<n.length;s++)n[s]=n[s].trim().replace(/\\\|/g,"|");return n}function R(c,e,t){const n=c.length;if(n===0)return"";let s=0;for(;s<n&&c.charAt(n-s-1)===e;)s++;return c.slice(0,n-s)}function Le(c,e){if(c.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<c.length;n++)if(c[n]==="\\")n++;else if(c[n]===e[0])t++;else if(c[n]===e[1]&&(t--,t<0))return n;return-1}function he(c,e,t,n){const s=e.href,i=e.title?b(e.title):null,r=c[1].replace(/\\([\[\]])/g,"$1");if(c[0].charAt(0)!=="!"){n.state.inLink=!0;const l={type:"link",raw:t,href:s,title:i,text:r,tokens:n.inlineTokens(r)};return n.state.inLink=!1,l}return{type:"image",raw:t,href:s,title:i,text:b(r)}}function qe(c,e){const t=c.match(/^(\s+)(?:```)/);if(t===null)return e;const n=t[1];return e.split(`
`).map(s=>{const i=s.match(/^\s+/);if(i===null)return s;const[r]=i;return r.length>=n.length?s.slice(n.length):s}).join(`
`)}class B{options;rules;lexer;constructor(e){this.options=e||T}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:R(n,`
`)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const n=t[0],s=qe(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(/#$/.test(n)){const s=R(n,"#");(this.options.pedantic||!s||/ $/.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:R(t[0],`

View File

@ -1 +1 @@
import{u as I}from"./useMindMap-D11kFqxM.js";import{d as S,o as J,D as v,i as C,c as _,b as o,t as g,F as R,C as E,L as Z,g as l,r as h,p as $}from"./index-CCNaedqK.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"toolbar"},A={class:"toolbar-left"},G={class:"layout-label"},H={class:"toolbar-center"},K={class:"layout-switcher"},P=["onClick"],Q={class:"toolbar-right"},U={class:"canvas-wrapper"},W=S({__name:"MindMapCanvas",props:{modelValue:{},layoutType:{},readonly:{type:Boolean}},emits:["update:modelValue","nodeClick","nodeDoubleClick","layoutChange"],setup(V,{expose:D,emit:L}){const n=V,i=L,M=h(),d=h(),{layoutType:r,interaction:c,initCanvas:N,applyLayout:u,addNode:T,removeNode:w,updateNodeLabel:F,toggleCollapse:x,exportData:f,importData:p,fitView:s,zoomIn:m,zoomOut:y,resetZoom:b}=I({layoutType:n.layoutType}),k=[{label:"思维导图",key:"radial-mindmap"},{label:"逻辑树",key:"logic-tree"},{label:"鱼骨图",key:"fishbone"},{label:"树形图",key:"tree"},{label:"组织结构图",key:"org-chart"},{label:"横向时间轴",key:"timeline-horizontal"},{label:"纵向时间轴",key:"timeline-vertical"},{label:"力导向图",key:"force-directed"}],O=$(()=>k.find(e=>e.key===r.value)?.label||"思维导图");J(()=>{if(d.value){const t=N(d.value);if(n.modelValue)try{const e=typeof n.modelValue=="string"?JSON.parse(n.modelValue):n.modelValue;p(e)}catch(e){console.error("Failed to load mindmap data:",e)}else t&&setTimeout(()=>s(),100);c.value&&(c.value.on("node:click",e=>{i("nodeClick",e.nodeId)}),c.value.on("node:dblclick",e=>{i("nodeDoubleClick",e.nodeId)})),setTimeout(()=>s(),100)}}),v(()=>n.modelValue,t=>{if(t)try{const e=typeof t=="string"?JSON.parse(t):t;p(e)}catch(e){console.error("Failed to load mindmap data:",e)}},{deep:!0}),v(()=>n.layoutType,t=>{t&&t!==r.value&&u(t)});function z(){const t=f();i("update:modelValue",JSON.stringify(t))}function B(t){u(t),i("layoutChange",t),z()}return D({applyLayout:u,addNode:T,removeNode:w,updateNodeLabel:F,toggleCollapse:x,exportData:f,importData:p,fitView:s,zoomIn:m,zoomOut:y,resetZoom:b}),(t,e)=>(C(),_("div",{class:"mind-map-container",ref_key:"canvasContainer",ref:M},[o("div",q,[o("div",A,[o("span",G,g(O.value),1)]),o("div",H,[o("div",K,[(C(),_(R,null,E(k,a=>o("button",{key:a.key,class:Z(["layout-btn",{active:l(r)===a.key}]),onClick:X=>B(a.key)},g(a.label),11,P)),64))])]),o("div",Q,[o("button",{class:"tool-btn",onClick:e[0]||(e[0]=(...a)=>l(m)&&l(m)(...a)),title:"放大"},"+"),o("button",{class:"tool-btn",onClick:e[1]||(e[1]=(...a)=>l(y)&&l(y)(...a)),title:"缩小"},"-"),o("button",{class:"tool-btn",onClick:e[2]||(e[2]=(...a)=>l(s)&&l(s)(...a)),title:"适应"},"Fit"),o("button",{class:"tool-btn",onClick:e[3]||(e[3]=(...a)=>l(b)&&l(b)(...a)),title:"重置"},"Reset")])]),o("div",U,[o("canvas",{ref_key:"canvasRef",ref:d,class:"mind-map-canvas"},null,512)])],512))}}),oe=j(W,[["__scopeId","data-v-6f5e63bd"]]);export{oe as default};
import{u as I}from"./useMindMap-i8pikA1W.js";import{d as S,o as J,D as v,i as C,c as _,b as o,t as g,F as R,C as E,L as Z,g as l,r as h,p as $}from"./index-B-XVyan_.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"toolbar"},A={class:"toolbar-left"},G={class:"layout-label"},H={class:"toolbar-center"},K={class:"layout-switcher"},P=["onClick"],Q={class:"toolbar-right"},U={class:"canvas-wrapper"},W=S({__name:"MindMapCanvas",props:{modelValue:{},layoutType:{},readonly:{type:Boolean}},emits:["update:modelValue","nodeClick","nodeDoubleClick","layoutChange"],setup(V,{expose:D,emit:L}){const n=V,i=L,M=h(),d=h(),{layoutType:r,interaction:c,initCanvas:N,applyLayout:u,addNode:T,removeNode:w,updateNodeLabel:F,toggleCollapse:x,exportData:f,importData:p,fitView:s,zoomIn:m,zoomOut:y,resetZoom:b}=I({layoutType:n.layoutType}),k=[{label:"思维导图",key:"radial-mindmap"},{label:"逻辑树",key:"logic-tree"},{label:"鱼骨图",key:"fishbone"},{label:"树形图",key:"tree"},{label:"组织结构图",key:"org-chart"},{label:"横向时间轴",key:"timeline-horizontal"},{label:"纵向时间轴",key:"timeline-vertical"},{label:"力导向图",key:"force-directed"}],O=$(()=>k.find(e=>e.key===r.value)?.label||"思维导图");J(()=>{if(d.value){const t=N(d.value);if(n.modelValue)try{const e=typeof n.modelValue=="string"?JSON.parse(n.modelValue):n.modelValue;p(e)}catch(e){console.error("Failed to load mindmap data:",e)}else t&&setTimeout(()=>s(),100);c.value&&(c.value.on("node:click",e=>{i("nodeClick",e.nodeId)}),c.value.on("node:dblclick",e=>{i("nodeDoubleClick",e.nodeId)})),setTimeout(()=>s(),100)}}),v(()=>n.modelValue,t=>{if(t)try{const e=typeof t=="string"?JSON.parse(t):t;p(e)}catch(e){console.error("Failed to load mindmap data:",e)}},{deep:!0}),v(()=>n.layoutType,t=>{t&&t!==r.value&&u(t)});function z(){const t=f();i("update:modelValue",JSON.stringify(t))}function B(t){u(t),i("layoutChange",t),z()}return D({applyLayout:u,addNode:T,removeNode:w,updateNodeLabel:F,toggleCollapse:x,exportData:f,importData:p,fitView:s,zoomIn:m,zoomOut:y,resetZoom:b}),(t,e)=>(C(),_("div",{class:"mind-map-container",ref_key:"canvasContainer",ref:M},[o("div",q,[o("div",A,[o("span",G,g(O.value),1)]),o("div",H,[o("div",K,[(C(),_(R,null,E(k,a=>o("button",{key:a.key,class:Z(["layout-btn",{active:l(r)===a.key}]),onClick:X=>B(a.key)},g(a.label),11,P)),64))])]),o("div",Q,[o("button",{class:"tool-btn",onClick:e[0]||(e[0]=(...a)=>l(m)&&l(m)(...a)),title:"放大"},"+"),o("button",{class:"tool-btn",onClick:e[1]||(e[1]=(...a)=>l(y)&&l(y)(...a)),title:"缩小"},"-"),o("button",{class:"tool-btn",onClick:e[2]||(e[2]=(...a)=>l(s)&&l(s)(...a)),title:"适应"},"Fit"),o("button",{class:"tool-btn",onClick:e[3]||(e[3]=(...a)=>l(b)&&l(b)(...a)),title:"重置"},"Reset")])]),o("div",U,[o("canvas",{ref_key:"canvasRef",ref:d,class:"mind-map-canvas"},null,512)])],512))}}),oe=j(W,[["__scopeId","data-v-6f5e63bd"]]);export{oe as default};

Some files were not shown because too many files have changed in this diff Show More