更新前端构建

This commit is contained in:
jingrow 2026-05-14 19:27:52 +08:00
parent 53ac7d29c0
commit 22df1f2ca5
302 changed files with 326 additions and 320 deletions

View File

@ -1 +1 @@
import{w as S,g as v,A,J as _,D as L,_ as k,P as D,j as b,t as h,a6 as O,i as R,a4 as T,a9 as V,B as C,G as E,Y as I,r as a,n as N,c as w}from"./index-BKMgTEC4.js";import j from"./Autocomplete-DlAldMmC.js";import{u as P,b as Y,A as $,a as z,L as U}from"./utils-ZOVZLDyb.js";import{c as G}from"./index-BKBa_Th2.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-C3WFuLkb.js";import"./index-DthMmhzd.js";const M={class:"add-field-wrapper"},W=["title"],q={__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=P(),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(()=>[...$.filter(t=>!z(U,t)).map(t=>({label:t,value:t}))]),s=a(null),f=a(null);G(s,()=>l.value=!1,{ignore:[f]});function B(){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(()=>B())}function g(e){const t=e?.value;if(!t)return;let i={df:d.getDf(t),table_columns:[]},p=Y(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",M,[_("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,W),(v(),R(I,{to:"body"},[T(_("div",{ref_key:"autocompleteRef",ref:f,class:"autocomplete-dropdown",style:E(r.value)},[C(j,{show:l.value,"onUpdate:show":t[0]||(t[0]=i=>l.value=i),value:u.value,options:F.value,onChange:g,placeholder:b(h)("Search fieldtypes...")},null,8,["show","value","options","placeholder"])],4),[[V,l.value]])]))]))}},oe=J(q,[["__scopeId","data-v-b6bd3c60"]]);export{oe as default};
import{w as S,g as v,A,J as _,D as L,_ as k,P as D,j as b,t as h,a7 as O,i as R,a5 as T,aa as V,B as C,G as E,Y as I,r as a,n as N,c as w}from"./index-CxzRbgGD.js";import j from"./Autocomplete-B-b4Vw30.js";import{u as P,b as Y,A as $,a as z,L as U}from"./utils-ODzFHtdK.js";import{c as G}from"./index-BK0tfiUi.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-DZGToCsy.js";import"./index-Bq3IV6Ko.js";const M={class:"add-field-wrapper"},W=["title"],q={__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=P(),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(()=>[...$.filter(t=>!z(U,t)).map(t=>({label:t,value:t}))]),s=a(null),f=a(null);G(s,()=>l.value=!1,{ignore:[f]});function B(){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(()=>B())}function g(e){const t=e?.value;if(!t)return;let i={df:d.getDf(t),table_columns:[]},p=Y(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",M,[_("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,W),(v(),R(I,{to:"body"},[T(_("div",{ref_key:"autocompleteRef",ref:f,class:"autocomplete-dropdown",style:E(r.value)},[C(j,{show:l.value,"onUpdate:show":t[0]||(t[0]=i=>l.value=i),value:u.value,options:F.value,onChange:g,placeholder:b(h)("Search fieldtypes...")},null,8,["show","value","options","placeholder"])],4),[[V,l.value]])]))]))}},oe=J(q,[["__scopeId","data-v-b6bd3c60"]]);export{oe as default};

View File

@ -1 +1 @@
import{uploadFileToJingrow as w}from"./common-DrLpzQVu.js";import{d as E,A as c,J as o,_ as U,P as f,O as p,K as I,H as O,r as x,c as u,g as s}from"./index-BKMgTEC4.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";const B={class:"field-label"},N={key:0,class:"required"},S={class:"attach-container"},V={class:"file-link-wrap"},A=["title","href"],M={key:0,class:"actions"},T={key:0,class:"actions actions-left"},$={key:1,class:"field-value"},j=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"),g=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 h(){e.canEdit&&y.value?.click()}async function b(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)=>(s(),c("div",{class:O(["field-wrapper",`layout-${_.value}`])},[o("label",B,[U(f(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(s(),c("span",N,"*")):p("",!0)]),o("div",S,[i.value?(s(),c("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(g.value||i.value),9,A)]),a.canEdit?(s(),c("div",M,[o("button",{class:"action",type:"button",onClick:k},f(a.ctx.t?a.ctx.t("Clear"):"Clear"),1)])):p("",!0)],32)):(s(),c(I,{key:1},[a.canEdit?(s(),c("div",T,[o("button",{class:"action",type:"button",onClick:h},f(a.ctx.t?a.ctx.t("Upload"):"Upload"),1)])):(s(),c("span",$,"—"))],64)),o("input",{ref_key:"inputRef",ref:y,type:"file",style:{display:"none"},onChange:b},null,544)])],2))}}),q=R(j,[["__scopeId","data-v-0249c198"]]),P=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));export{P as _};
import{uploadFileToJingrow as w}from"./common-DdS-f8pi.js";import{d as E,A as c,J as o,_ as U,P as f,O as p,K as I,H as O,r as x,c as u,g as s}from"./index-CxzRbgGD.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";const B={class:"field-label"},N={key:0,class:"required"},S={class:"attach-container"},V={class:"file-link-wrap"},A=["title","href"],M={key:0,class:"actions"},T={key:0,class:"actions actions-left"},$={key:1,class:"field-value"},j=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"),g=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 h(){e.canEdit&&y.value?.click()}async function b(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)=>(s(),c("div",{class:O(["field-wrapper",`layout-${_.value}`])},[o("label",B,[U(f(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(s(),c("span",N,"*")):p("",!0)]),o("div",S,[i.value?(s(),c("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(g.value||i.value),9,A)]),a.canEdit?(s(),c("div",M,[o("button",{class:"action",type:"button",onClick:k},f(a.ctx.t?a.ctx.t("Clear"):"Clear"),1)])):p("",!0)],32)):(s(),c(I,{key:1},[a.canEdit?(s(),c("div",T,[o("button",{class:"action",type:"button",onClick:h},f(a.ctx.t?a.ctx.t("Upload"):"Upload"),1)])):(s(),c("span",$,"—"))],64)),o("input",{ref_key:"inputRef",ref:y,type:"file",style:{display:"none"},onChange:b},null,544)])],2))}}),q=R(j,[["__scopeId","data-v-0249c198"]]),P=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));export{P as _};

View File

@ -1 +1 @@
import{g as s,A as o,J as n,D as a,P as r,j as c,t as d,O as i}from"./index-BKMgTEC4.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"},m=["innerHTML"],p={__name:"AttachControl",props:["df"],setup(t){return(e,b)=>(s(),o("div",_,[n("div",f,[a(e.$slots,"label",{},void 0,!0),a(e.$slots,"actions",{},void 0,!0)]),n("button",u,r(c(d)("Attach")),1),t.df.description?(s(),o("div",{key:0,class:"mt-2 description",innerHTML:t.df.description},null,8,m)):i("",!0)]))}},A=l(p,[["__scopeId","data-v-bba868d0"]]);export{A as default};
import{g as s,A as o,J as n,D as a,P as r,j as c,t as d,O as i}from"./index-CxzRbgGD.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"},m=["innerHTML"],p={__name:"AttachControl",props:["df"],setup(t){return(e,b)=>(s(),o("div",_,[n("div",f,[a(e.$slots,"label",{},void 0,!0),a(e.$slots,"actions",{},void 0,!0)]),n("button",u,r(c(d)("Attach")),1),t.df.description?(s(),o("div",{key:0,class:"mt-2 description",innerHTML:t.df.description},null,8,m)):i("",!0)]))}},A=l(p,[["__scopeId","data-v-bba868d0"]]);export{A as default};

View File

@ -1 +1 @@
import{uploadFileToJingrow as w}from"./common-DrLpzQVu.js";import{d as C,A as c,J as o,_ as E,P as u,O as m,K as V,H as B,r as y,c as _,g as n}from"./index-BKMgTEC4.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"field-label"},M={key:0,class:"required"},N={class:"attach-image-container"},O={key:0,class:"attach-line"},T={class:"file-link-wrap"},U=["title"],$={key:0,class:"actions"},q={key:1,class:"preview-popover"},z=["src"],F={key:0,class:"actions actions-left"},J={key:1,class:"field-value"},P=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(g){const a=g.target,s=a.files?.[0];if(s)try{const d=e.ctx?.entity&&(e.ctx?.entity.value??e.ctx?.entity)||e.record?.pagetype||"",p=e.ctx?.id&&(e.ctx?.id.value??e.ctx?.id)||e.record?.name||"",i=e.df?.fieldname,A=e.record?.[i];console.debug("[AttachImage] upload params",{pagetype:d,docname:p,fieldname:i,file:s.name,oldValue:A});const l=await w(s,d,p,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(I){console.warn("[AttachImage] auto save failed",I)}}}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(g,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",M,"*")):m("",!0)]),o("div",N,[r.value?(n(),c("div",O,[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",F,[o("button",{class:"action",type:"button",onClick:b},u(t.ctx.t?t.ctx.t("Upload"):"Upload"),1)])):(n(),c("span",J,"—"))],64)),o("input",{ref_key:"inputRef",ref:v,type:"file",accept:"image/*",style:{display:"none"},onChange:x},null,544)])],2))}}),R=S(P,[["__scopeId","data-v-468818cf"]]),L=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));export{L as _};
import{uploadFileToJingrow as w}from"./common-DdS-f8pi.js";import{d as C,A as c,J as o,_ as E,P as u,O as m,K as V,H as B,r as y,c as _,g as n}from"./index-CxzRbgGD.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"field-label"},M={key:0,class:"required"},N={class:"attach-image-container"},O={key:0,class:"attach-line"},T={class:"file-link-wrap"},U=["title"],$={key:0,class:"actions"},q={key:1,class:"preview-popover"},z=["src"],F={key:0,class:"actions actions-left"},J={key:1,class:"field-value"},P=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(g){const a=g.target,s=a.files?.[0];if(s)try{const d=e.ctx?.entity&&(e.ctx?.entity.value??e.ctx?.entity)||e.record?.pagetype||"",p=e.ctx?.id&&(e.ctx?.id.value??e.ctx?.id)||e.record?.name||"",i=e.df?.fieldname,A=e.record?.[i];console.debug("[AttachImage] upload params",{pagetype:d,docname:p,fieldname:i,file:s.name,oldValue:A});const l=await w(s,d,p,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(I){console.warn("[AttachImage] auto save failed",I)}}}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(g,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",M,"*")):m("",!0)]),o("div",N,[r.value?(n(),c("div",O,[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",F,[o("button",{class:"action",type:"button",onClick:b},u(t.ctx.t?t.ctx.t("Upload"):"Upload"),1)])):(n(),c("span",J,"—"))],64)),o("input",{ref_key:"inputRef",ref:v,type:"file",accept:"image/*",style:{display:"none"},onChange:x},null,544)])],2))}}),R=S(P,[["__scopeId","data-v-468818cf"]]),L=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));export{L as _};

View File

@ -1 +1 @@
import{d as ee,$ as te,g as c,A as r,J as s,B as l,C as i,P as d,j as a,t as f,i as ae,av as w,al as B,O as _,K as V,L as j,a6 as y,_ as A,c as n,r as F}from"./index-BKMgTEC4.js";import{I as p}from"./iconify-C3WFuLkb.js";import le from"./ImageGallery-Do_RCJMB.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"},_e={key:1,class:"file-attachment-list"},pe={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(P,{expose:U,emit:O}){const M=P,$=O,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))),z=n(()=>x.value.slice(0,v.value)),E=n(()=>b.value.slice(0,g.value)),R=n(()=>x.value.length>v.value),T=n(()=>b.value.length>g.value),J=n(()=>R.value||T.value),K=n(()=>z.value.length>0),q=n(()=>E.value.length>0),H=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(),L=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=()=>{};U({openByUrl:e=>{const t=L.value.indexOf(e);t>=0&&I.value?.open(t)}});const N=()=>{$("add-attachment")},G=e=>{$("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:N,title:a(f)("Add Attachment"),class:"add-attachment-btn"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(p),{icon:"tabler:plus"})]),_:1})]),_:1},8,["title"])):_("",!0)]),K.value?(c(),r("div",ie,[(c(!0),r(V,null,j(z.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=>G(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn"},[l(a(p),{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))])):_("",!0),q.value?(c(),r("div",_e,[(c(!0),r(V,null,j(E.value,(o,m)=>(c(),r("div",{key:`file-${m}`,class:"file-attachment-item"},[s("div",pe,[s("div",he,[l(a(p),{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=>G(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn-inline"},[l(a(p),{icon:"tabler:x"})],8,ke)])])])]))),128))])):_("",!0),J.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(p),{icon:"tabler:chevron-down"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Load More"))+" ("+d(H.value)+") ",1)]),_:1})])):_("",!0),!D.value&&C.value?(c(),r("div",Ae,[l(a(B),{type:"default",onClick:N,class:"add-button"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(p),{icon:"tabler:plus"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Add Attachment")),1)]),_:1})])):_("",!0),l(le,{ref_key:"imageGalleryRef",ref:I,images:L.value,onClose:Y},null,8,["images"])])):_("",!0)}}}),$e=ne(Ce,[["__scopeId","data-v-a2401eae"]]);export{$e as default};
import{d as ee,$ as te,g as c,A as r,J as s,B as l,C as i,P as d,j as a,t as f,i as ae,aw as w,am as B,O as _,K as V,L as j,a7 as y,_ as A,c as n,r as F}from"./index-CxzRbgGD.js";import{I as p}from"./iconify-DZGToCsy.js";import le from"./ImageGallery-CHVanuIL.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"},_e={key:1,class:"file-attachment-list"},pe={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(P,{expose:U,emit:O}){const M=P,$=O,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))),z=n(()=>x.value.slice(0,v.value)),E=n(()=>b.value.slice(0,g.value)),R=n(()=>x.value.length>v.value),T=n(()=>b.value.length>g.value),J=n(()=>R.value||T.value),K=n(()=>z.value.length>0),q=n(()=>E.value.length>0),H=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(),L=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=()=>{};U({openByUrl:e=>{const t=L.value.indexOf(e);t>=0&&I.value?.open(t)}});const N=()=>{$("add-attachment")},G=e=>{$("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:N,title:a(f)("Add Attachment"),class:"add-attachment-btn"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(p),{icon:"tabler:plus"})]),_:1})]),_:1},8,["title"])):_("",!0)]),K.value?(c(),r("div",ie,[(c(!0),r(V,null,j(z.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=>G(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn"},[l(a(p),{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))])):_("",!0),q.value?(c(),r("div",_e,[(c(!0),r(V,null,j(E.value,(o,m)=>(c(),r("div",{key:`file-${m}`,class:"file-attachment-item"},[s("div",pe,[s("div",he,[l(a(p),{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=>G(o),["stop"]),title:a(f)("Delete Attachment"),class:"delete-btn-inline"},[l(a(p),{icon:"tabler:x"})],8,ke)])])])]))),128))])):_("",!0),J.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(p),{icon:"tabler:chevron-down"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Load More"))+" ("+d(H.value)+") ",1)]),_:1})])):_("",!0),!D.value&&C.value?(c(),r("div",Ae,[l(a(B),{type:"default",onClick:N,class:"add-button"},{icon:i(()=>[l(a(w),null,{default:i(()=>[l(a(p),{icon:"tabler:plus"})]),_:1})]),default:i(()=>[A(" "+d(a(f)("Add Attachment")),1)]),_:1})])):_("",!0),l(le,{ref_key:"imageGalleryRef",ref:I,images:L.value,onClose:Y},null,8,["images"])])):_("",!0)}}}),$e=ne(Ce,[["__scopeId","data-v-a2401eae"]]);export{$e as default};

View File

@ -1 +1 @@
import{w,g as r,A as u,J as t,a6 as x,B as y,j as k,K as g,L as C,H as B,P as I,r as i,c as A,n as L}from"./index-BKMgTEC4.js";import{I as S}from"./iconify-C3WFuLkb.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"autocomplete-wrapper"},N={class:"combo-box-options"},O={class:"search-box"},$=["value","placeholder"],j={class:"combo-box-items"},q=["onClick","onMouseenter"],z={__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=A(()=>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 w(()=>s.show,o=>{o&&L(()=>{n.value?.focus()})}),(o,a)=>(r(),u("div",M,[t("div",N,[t("div",O,[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]=x(()=>{},["stop"]))},null,40,$),t("button",{class:"clear-button btn btn-sm",onClick:_},[y(k(S),{icon:"mdi:close",class:"icon-sm"})])]),t("div",j,[(r(!0),u(g,null,C(v.value,(l,c)=>(r(),u("div",{key:c,class:B(["combo-box-option",d.value===c?"active":""]),onClick:b=>h(l),onMouseenter:b=>d.value=c},I(l.label),43,q))),128))])])]))}},H=V(z,[["__scopeId","data-v-7fd074cb"]]);export{H as default};
import{w,g as r,A as u,J as t,a7 as x,B as y,j as k,K as g,L as C,H as B,P as I,r as i,c as A,n as L}from"./index-CxzRbgGD.js";import{I as S}from"./iconify-DZGToCsy.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"autocomplete-wrapper"},N={class:"combo-box-options"},O={class:"search-box"},$=["value","placeholder"],j={class:"combo-box-items"},q=["onClick","onMouseenter"],z={__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=A(()=>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 w(()=>s.show,o=>{o&&L(()=>{n.value?.focus()})}),(o,a)=>(r(),u("div",M,[t("div",N,[t("div",O,[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]=x(()=>{},["stop"]))},null,40,$),t("button",{class:"clear-button btn btn-sm",onClick:_},[y(k(S),{icon:"mdi:close",class:"icon-sm"})])]),t("div",j,[(r(!0),u(g,null,C(v.value,(l,c)=>(r(),u("div",{key:c,class:B(["combo-box-option",d.value===c?"active":""]),onClick:b=>h(l),onMouseenter:b=>d.value=c},I(l.label),43,q))),128))])])]))}},H=V(z,[["__scopeId","data-v-7fd074cb"]]);export{H as default};

View File

@ -1 +1 @@
import{d as n,A as a,J as s,_ as i,P as r,O as f,B as u,j as m,aP as b,H as v,c as x,g as l}from"./index-BKMgTEC4.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},p={key:0,class:"required"},B=n({__name:"Autocomplete",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(O,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))}}),N=y(B,[["__scopeId","data-v-4b87b636"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};
import{d as n,A as a,J as s,_ as i,P as r,O as f,B as u,j as m,aQ as b,H as v,c as x,g as l}from"./index-CxzRbgGD.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},p={key:0,class:"required"},B=n({__name:"Autocomplete",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(O,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))}}),N=y(B,[["__scopeId","data-v-4b87b636"]]),C=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{C as _};

View File

@ -1 +1 @@
import{d as n,A as t,J as s,_ as r,P as i,O as f,B as u,j as m,ak as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const B={class:"field-label"},_={key:0,class:"required"},p=n({__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}`])},[s("label",B,[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]=c=>e.record[e.df.fieldname]=c),type:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),g=x(p,[["__scopeId","data-v-edf8a10a"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{j as _};
import{d as n,A as t,J as s,_ as r,P as i,O as f,B as u,j as m,al as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const B={class:"field-label"},_={key:0,class:"required"},p=n({__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}`])},[s("label",B,[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]=c=>e.record[e.df.fieldname]=c),type:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),g=x(p,[["__scopeId","data-v-edf8a10a"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{k as _};

View File

@ -1 +1 @@
import{I as i}from"./iconify-C3WFuLkb.js";import{d as b,g as r,A as c,J as s,D as k,B as a,j as t,t as l,O as m,G as p,H as u}from"./index-BKMgTEC4.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=b({__name:"BaseBlock",props:{type:{},span:{},editMode:{type:Boolean},editable:{type:Boolean}},emits:["edit","expand","shrink","delete"],setup(o){return(n,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(n.$slots,"default",{},void 0,!0)]),o.editMode?(r(),c("div",v,[s("button",{class:"action-btn drag-handle",title:t(l)("Drag")},[a(t(i),{icon:"tabler:grip-vertical"})],8,B),o.editable?(r(),c("button",{key:0,class:"action-btn",onClick:e[0]||(e[0]=d=>n.$emit("edit")),title:t(l)("Edit")},[a(t(i),{icon:"tabler:edit"})],8,y)):m("",!0),s("button",{class:"action-btn",onClick:e[1]||(e[1]=d=>n.$emit("expand")),title:t(l)("Expand")},[a(t(i),{icon:"tabler:arrows-maximize"})],8,C),s("button",{class:"action-btn",onClick:e[2]||(e[2]=d=>n.$emit("shrink")),title:t(l)("Shrink")},[a(t(i),{icon:"tabler:arrows-minimize"})],8,g),s("button",{class:"action-btn delete-btn",onClick:e[3]||(e[3]=d=>n.$emit("delete")),title:t(l)("Delete")},[a(t(i),{icon:"tabler:trash"})],8,h)])):m("",!0)],6))}}),E=$(z,[["__scopeId","data-v-c35f7ccc"]]);export{E as default};
import{I as i}from"./iconify-DZGToCsy.js";import{d as b,g as r,A as c,J as s,D as k,B as a,j as t,t as l,O as m,G as p,H as u}from"./index-CxzRbgGD.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=b({__name:"BaseBlock",props:{type:{},span:{},editMode:{type:Boolean},editable:{type:Boolean}},emits:["edit","expand","shrink","delete"],setup(o){return(n,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(n.$slots,"default",{},void 0,!0)]),o.editMode?(r(),c("div",v,[s("button",{class:"action-btn drag-handle",title:t(l)("Drag")},[a(t(i),{icon:"tabler:grip-vertical"})],8,B),o.editable?(r(),c("button",{key:0,class:"action-btn",onClick:e[0]||(e[0]=d=>n.$emit("edit")),title:t(l)("Edit")},[a(t(i),{icon:"tabler:edit"})],8,y)):m("",!0),s("button",{class:"action-btn",onClick:e[1]||(e[1]=d=>n.$emit("expand")),title:t(l)("Expand")},[a(t(i),{icon:"tabler:arrows-maximize"})],8,C),s("button",{class:"action-btn",onClick:e[2]||(e[2]=d=>n.$emit("shrink")),title:t(l)("Shrink")},[a(t(i),{icon:"tabler:arrows-minimize"})],8,g),s("button",{class:"action-btn delete-btn",onClick:e[3]||(e[3]=d=>n.$emit("delete")),title:t(l)("Delete")},[a(t(i),{icon:"tabler:trash"})],8,h)])):m("",!0)],6))}}),E=$(z,[["__scopeId","data-v-c35f7ccc"]]);export{E as default};

View File

@ -1 +1 @@
import{g as n,A as i,J as e,P as c,D as a,a6 as r,O as m}from"./index-BKMgTEC4.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"},k={class:"modal-footer"},v={__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,B)=>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",k,[a(s.$slots,"footer",{},()=>[e("button",{class:"btn btn-primary",onClick:o},"确定")],!0)])])])])):m("",!0)}},y=u(v,[["__scopeId","data-v-9d206155"]]);export{y as default};
import{g as n,A as i,J as e,P as c,D as a,a7 as r,O as m}from"./index-CxzRbgGD.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"},k={class:"modal-footer"},v={__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,B)=>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",k,[a(s.$slots,"footer",{},()=>[e("button",{class:"btn btn-primary",onClick:o},"确定")],!0)])])])])):m("",!0)}},y=u(v,[["__scopeId","data-v-9d206155"]]);export{y as default};

View File

@ -1 +1 @@
import{d as u,A as a,J as b,_ as l,P as o,O as m,B as d,C as r,j as s,b4 as x,H as v,c as C,g as n,al as B}from"./index-BKMgTEC4.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=C(()=>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(P,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(B),{type:"default",disabled:!e.canEdit,onClick:t[0]||(t[0]=N=>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"]]),O=Object.freeze(Object.defineProperty({__proto__:null,default:k},Symbol.toStringTag,{value:"Module"}));export{O as _};
import{d as u,A as a,J as b,_ as l,P as o,O as m,B as d,C as r,j as s,b4 as x,H as v,c as C,g as n,am as B}from"./index-CxzRbgGD.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=C(()=>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(P,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(B),{type:"default",disabled:!e.canEdit,onClick:t[0]||(t[0]=N=>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"]]),O=Object.freeze(Object.defineProperty({__proto__:null,default:k},Symbol.toStringTag,{value:"Module"}));export{O as _};

View File

@ -1 +1 @@
import{_ as d}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{g as t,A as o,J as a,D as s,O as l}from"./index-BKMgTEC4.js";const i=["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(n,m)=>(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,[s(n.$slots,"label",{},void 0,!0)])):(t(),o("button",f,[s(n.$slots,"label",{},void 0,!0)])),s(n.$slots,"actions",{},void 0,!0)]),e.df.description?(t(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,u)):l("",!0)],8,i))}},h=d(_,[["__scopeId","data-v-5dc3795d"]]);export{h as default};
import{_ as d}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{g as t,A as o,J as a,D as s,O as l}from"./index-CxzRbgGD.js";const i=["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(n,m)=>(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,[s(n.$slots,"label",{},void 0,!0)])):(t(),o("button",f,[s(n.$slots,"label",{},void 0,!0)])),s(n.$slots,"actions",{},void 0,!0)]),e.df.description?(t(),o("div",{key:0,class:"mt-2 description",innerHTML:e.df.description},null,8,u)):l("",!0)],8,i))}},h=d(_,[["__scopeId","data-v-5dc3795d"]]);export{h as default};

View File

@ -1 +1 @@
import{d as b,g as d,A as r,H as g,J as o,P as u,j as e,t as i,B as n,aF as v,C,O as y,K as B,L as M,a6 as w,e as $,c as x,aG as D,h as L}from"./index-BKMgTEC4.js";import{I as c}from"./iconify-C3WFuLkb.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"card-header"},I={class:"card-title"},V={key:0,class:"card-actions"},z=["title"],E=["title"],F=["title"],O={class:"card-body"},T={class:"card-links"},j=["onClick"],A={class:"link-text"},G=b({__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 f(t){if(!t)return;const s=(t.link_type||"").toLowerCase();if(s==="pagetype"||s==="report"){const a=D(t.link_to);p.push(`/app/${a}`)}else s==="page"&&p.push(`/${t.link_to}`)}function k(t){t==="delete"&&m("delete")}return(t,s)=>(d(),r("div",{class:g(["card",{"edit-mode":l.editMode}])},[o("div",S,[o("div",I,u(e(i)(l.title)),1),l.editMode?(d(),r("div",V,[o("button",{class:"action-btn",onClick:s[0]||(s[0]=a=>t.$emit("edit")),title:e(i)("Edit")},[n(e(c),{icon:"tabler:edit"})],8,z),o("button",{class:"action-btn drag-handle",title:e(i)("Drag")},[n(e(c),{icon:"tabler:grip-vertical"})],8,E),n(e(v),{trigger:"click",options:h.value,onSelect:k},{default:C(()=>[o("button",{class:"action-btn",title:e(i)("More")},[n(e(c),{icon:"tabler:dots"})],8,F)]),_:1},8,["options"])])):y("",!0)]),o("div",O,[o("div",T,[(d(!0),r(B,null,M(l.links,a=>(d(),r("a",{key:a.label,class:"link",onClick:w(H=>f(a),["prevent"])},[o("span",A,u(e(i)(a.label)),1),n(e(c),{class:"link-icon",icon:"tabler:arrow-up-right"})],8,j))),128))])])],2))}}),R=N(G,[["__scopeId","data-v-5e2035d7"]]);export{R as default};
import{d as b,g as d,A as r,H as g,J as o,P as u,j as e,t as i,B as n,aG as v,C,O as y,K as B,L as M,a7 as w,e as $,c as x,aH as D,h as L}from"./index-CxzRbgGD.js";import{I as c}from"./iconify-DZGToCsy.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={class:"card-header"},I={class:"card-title"},V={key:0,class:"card-actions"},z=["title"],E=["title"],H=["title"],O={class:"card-body"},T={class:"card-links"},j=["onClick"],A={class:"link-text"},F=b({__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 f(t){if(!t)return;const s=(t.link_type||"").toLowerCase();if(s==="pagetype"||s==="report"){const a=D(t.link_to);p.push(`/app/${a}`)}else s==="page"&&p.push(`/${t.link_to}`)}function k(t){t==="delete"&&m("delete")}return(t,s)=>(d(),r("div",{class:g(["card",{"edit-mode":l.editMode}])},[o("div",S,[o("div",I,u(e(i)(l.title)),1),l.editMode?(d(),r("div",V,[o("button",{class:"action-btn",onClick:s[0]||(s[0]=a=>t.$emit("edit")),title:e(i)("Edit")},[n(e(c),{icon:"tabler:edit"})],8,z),o("button",{class:"action-btn drag-handle",title:e(i)("Drag")},[n(e(c),{icon:"tabler:grip-vertical"})],8,E),n(e(v),{trigger:"click",options:h.value,onSelect:k},{default:C(()=>[o("button",{class:"action-btn",title:e(i)("More")},[n(e(c),{icon:"tabler:dots"})],8,H)]),_:1},8,["options"])])):y("",!0)]),o("div",O,[o("div",T,[(d(!0),r(B,null,M(l.links,a=>(d(),r("a",{key:a.label,class:"link",onClick:w(G=>f(a),["prevent"])},[o("span",A,u(e(i)(a.label)),1),n(e(c),{class:"link-icon",icon:"tabler:arrow-up-right"})],8,j))),128))])])],2))}}),R=N(F,[["__scopeId","data-v-5e2035d7"]]);export{R as default};

View File

@ -1 +1 @@
import{I as g}from"./iconify-C3WFuLkb.js";import{d as A,a8 as I,w as O,i as $,j as e,aA as z,t as s,C as u,c as y,g as v,J as n,P as d,B as i,ak as k,_ as w,aM as E,A as h,L as M,as as R,al as L,K as F,O as J,Q}from"./index-BKMgTEC4.js";import{L as j}from"./LinkField-AeAohOWZ.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Y={class:"dialog-content"},G={class:"form-field"},H={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=A({__name:"CardDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(C,{emit:T}){const r=C,b=T,m=I(),p=y({get:()=>r.show,set:a=>b("update:show",a)}),_=y(()=>!!r.values?.name),P=[{label:"PageType",value:"PageType"},{label:"Page",value:"Page"},{label:"Report",value:"Report"}],l=Q({label:"",description:"",links:[],name:""});function N(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}O(()=>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(),$(e(z),{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",Y,[n("div",G,[n("label",H,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(E),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(F,null,M(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:P,size:"small"},null,8,["value","onUpdate:value"])]),n("div",ne,[i(j,{modelValue:t.link_to,"onUpdate:modelValue":c=>t.link_to=c,options:N(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(L),{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(L),{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=K(de,[["__scopeId","data-v-ac78745c"]]);export{me as default};
import{I as g}from"./iconify-DZGToCsy.js";import{d as I,a9 as O,w as $,i as z,j as e,aB as A,t as s,C as u,c as y,g as v,J as n,P as d,B as i,al as k,_ as w,aN as E,A as h,L as R,at as F,am as L,K as J,O as M,Q}from"./index-CxzRbgGD.js";import{L as j}from"./LinkField-DPTV6f3r.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Y={class:"dialog-content"},G={class:"form-field"},H={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=I({__name:"CardDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(C,{emit:T}){const r=C,b=T,m=O(),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=Q({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 B(){l.links.push({link_type:"PageType",link_to:"",label:""})}function S(a){l.links.splice(a,1)}function V(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=V(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",Y,[n("div",G,[n("label",H,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(E),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(J,null,R(l.links,(t,f)=>(v(),h("div",{key:f,class:"table-row"},[n("div",se,[i(e(F),{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(j,{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(L),{size:"small",quaternary:"",type:"error",onClick:c=>S(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)):M("",!0),i(e(L),{class:"add-link-btn",size:"small",dashed:"",onClick:B},{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=K(de,[["__scopeId","data-v-ac78745c"]]);export{me as default};

View File

@ -1 +1 @@
import{I as o}from"./iconify-C3WFuLkb.js";import{d as u,g as l,A as d,H as g,B as a,J as c,j as e,t as i,aF as f,C as k,O as p,c as C,h as B}from"./index-BKMgTEC4.js";import v from"./WorkspaceChartWidget-hNuJTT6S.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-DrLpzQVu.js";import"./ChartRenderer-DQm7tKk1.js";const N={key:0,class:"card-actions"},_=["title"],S=["title"],x=["title"],y=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:()=>B(o,{icon:"tabler:trash",size:16})}]);function b(n){n==="delete"&&m("delete")}return(n,s)=>(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,[c("button",{class:"action-btn",onClick:s[0]||(s[0]=D=>n.$emit("edit")),title:e(i)("Edit")},[a(e(o),{icon:"tabler:edit"})],8,_),c("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:k(()=>[c("button",{class:"action-btn",title:e(i)("More")},[a(e(o),{icon:"tabler:dots"})],8,x)]),_:1},8,["options"])])):p("",!0)],2))}}),W=M(y,[["__scopeId","data-v-b593d780"]]);export{W as default};
import{I as o}from"./iconify-DZGToCsy.js";import{d as u,g as l,A as d,H as g,B as a,J as c,j as e,t as i,aG as f,C as k,O as p,c as C,h as B}from"./index-CxzRbgGD.js";import v from"./WorkspaceChartWidget-DTvfVVdS.js";import{_ as M}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-DdS-f8pi.js";import"./ChartRenderer-CtX0Ksoa.js";const N={key:0,class:"card-actions"},_=["title"],S=["title"],x=["title"],y=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:()=>B(o,{icon:"tabler:trash",size:16})}]);function b(n){n==="delete"&&m("delete")}return(n,s)=>(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,[c("button",{class:"action-btn",onClick:s[0]||(s[0]=D=>n.$emit("edit")),title:e(i)("Edit")},[a(e(o),{icon:"tabler:edit"})],8,_),c("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:k(()=>[c("button",{class:"action-btn",title:e(i)("More")},[a(e(o),{icon:"tabler:dots"})],8,x)]),_:1},8,["options"])])):p("",!0)],2))}}),W=M(y,[["__scopeId","data-v-b593d780"]]);export{W as default};

View File

@ -1 +0,0 @@
import{d as C,a8 as w,w as x,i as N,j as t,aA as S,t as l,C as k,c as m,g as D,J as u,B as c,P as $,ak as y,Q as B,e as V,aG as M}from"./index-BKMgTEC4.js";import{L as A}from"./LinkField-AeAohOWZ.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-C3WFuLkb.js";const P={class:"dialog-content"},U={class:"form-field"},I={class:"field-label"},T=C({__name:"ChartDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(h,{emit:p}){const v=V(),o=h,d=p,f=w(),r=m({get:()=>o.show,set:a=>d("update:show",a)}),i=m(()=>!!o.values?.name),e=B({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 b(){if(!e.chart_name)return f.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)=>(D(),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:b,onNegativeClick:g,style:{width:"500px"}},{default:k(()=>[u("div",P,[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",U,[u("label",I,$(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"]))}}),G=L(T,[["__scopeId","data-v-12699dd8"]]);export{G as default};

View File

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

View File

@ -1 +1 @@
import{d as u,A as d,K as s,J as t,_ as r,P as f,O as b,H as k,c as h,g as a}from"./index-BKMgTEC4.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,o=h(()=>n.df.label_layout||"vertical"),i=h(()=>`checkbox-${n.df.fieldname}-${Math.random().toString(36).substr(2,9)}`);return(O,c)=>(a(),d("div",{class:k(["field-wrapper",`layout-${o.value}`])},[o.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:i.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:i.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"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{j as _};
import{d as u,A as d,K as s,J as t,_ as r,P as f,O as b,H as k,c as h,g as a}from"./index-CxzRbgGD.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,o=h(()=>n.df.label_layout||"vertical"),i=h(()=>`checkbox-${n.df.fieldname}-${Math.random().toString(36).substr(2,9)}`);return(O,c)=>(a(),d("div",{class:k(["field-wrapper",`layout-${o.value}`])},[o.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:i.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:i.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"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:N},Symbol.toStringTag,{value:"Module"}));export{j as _};

View File

@ -1 +1 @@
import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{z as b,g as s,A as t,j as n,J as o,D as c,P as f,H as r,O as k}from"./index-BKMgTEC4.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=b();return(a,l)=>(s(),t("div",{class:r(["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]=i=>a.$emit("update:modelValue",i.target.checked))},null,40,y),o("span",{class:r(["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=u(v,[["__scopeId","data-v-f613585d"]]);export{g as default};
import{_ as u}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{z as b,g as s,A as t,j as n,J as o,D as c,P as f,H as r,O as k}from"./index-CxzRbgGD.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=b();return(a,l)=>(s(),t("div",{class:r(["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]=i=>a.$emit("update:modelValue",i.target.checked))},null,40,y),o("span",{class:r(["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=u(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,a8 as j,w as T,o as O,n as p,M as P,A as f,J as l,_ as h,P as y,O as v,H as C,i as D,C as J,j as N,al as W,r as _,c as b,g as i}from"./index-BKMgTEC4.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Z={class:"field-label"},A={key:0,class:"required"},G={class:"code-editor"},I={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=_(null);let g=null,e=null;const c=_(!1),d=j(),w=b(()=>o.df.label_layout||"vertical"),u=b(()=>!o.canEdit),x=()=>({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=x(),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 m=e.getLayoutInfo(),B=e.getScrollHeight()>m.height+1,L=e.getScrollWidth()>m.width+1;r.value.classList.toggle("no-scroll-y",!B),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),H(a)}):d.warning("没有内容可复制")}function H(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 T(()=>o.record[o.df.fieldname],a=>{e&&a!==e.getValue()&&e.setValue(String(a||""))}),O(async()=>{await p(),await S(),p(()=>e?.layout())}),P(V),(a,t)=>(i(),f("div",{class:C(["field-wrapper",`layout-${w.value}`])},[l("label",Z,[h(y(n.ctx.t(n.df.label||n.df.fieldname))+" ",1),n.df.reqd?(i(),f("span",A,"*")):v("",!0)]),l("div",G,[l("div",{class:C(["code-editor__monaco-wrap",{collapsed:!c.value,readonly:u.value}])},[u.value?(i(),f("div",I,[l("pre",null,[l("code",null,y(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(),D(N(W),{key:0,size:"tiny",quaternary:"",onClick:k},{default:J(()=>[h(y(c.value?n.ctx.t("Collapse"):n.ctx.t("Expand")),1)]),_:1}))])])],2))}}),F=q($,[["__scopeId","data-v-646c435a"]]),Y=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"}));export{F as C,Y as _};
import{l as z}from"./index-w6PwaWGP.js";import{d as E,a9 as j,w as T,o as O,n as m,M as P,A as f,J as l,_ as h,P as p,O as v,H as C,i as D,C as J,j as N,am as W,r as _,c as b,g as i}from"./index-CxzRbgGD.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Z={class:"field-label"},A={key:0,class:"required"},G={class:"code-editor"},I={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=_(null);let g=null,e=null;const c=_(!1),d=j(),w=b(()=>o.df.label_layout||"vertical"),u=b(()=>!o.canEdit),x=()=>({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=x(),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(),B=e.getScrollHeight()>y.height+1,L=e.getScrollWidth()>y.width+1;r.value.classList.toggle("no-scroll-y",!B),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,m(()=>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),H(a)}):d.warning("没有内容可复制")}function H(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 T(()=>o.record[o.df.fieldname],a=>{e&&a!==e.getValue()&&e.setValue(String(a||""))}),O(async()=>{await m(),await S(),m(()=>e?.layout())}),P(V),(a,t)=>(i(),f("div",{class:C(["field-wrapper",`layout-${w.value}`])},[l("label",Z,[h(p(n.ctx.t(n.df.label||n.df.fieldname))+" ",1),n.df.reqd?(i(),f("span",A,"*")):v("",!0)]),l("div",G,[l("div",{class:C(["code-editor__monaco-wrap",{collapsed:!c.value,readonly:u.value}])},[u.value?(i(),f("div",I,[l("pre",null,[l("code",null,p(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(),D(N(W),{key:0,size:"tiny",quaternary:"",onClick:k},{default:J(()=>[h(p(c.value?n.ctx.t("Collapse"):n.ctx.t("Expand")),1)]),_:1}))])])],2))}}),F=q($,[["__scopeId","data-v-646c435a"]]),Y=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"}));export{F as C,Y as _};

View File

@ -1 +1 @@
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{z as f,r as b,g as t,A as o,j as s,D as d,P as h,J as n,G as y,O as v,H as _}from"./index-BKMgTEC4.js";const p={key:0,class:"field-controls"},V={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:r}){const i=e;let c=r,l=f();b(i.modelValue||"");function u(a){c("update:modelValue",a.target.value)}return(a,H)=>(t(),o("div",{class:_(["control",{editable:s(l).label}])},[s(l).label?(t(),o("div",p,[d(a.$slots,"label",{},void 0,!0),d(a.$slots,"actions",{},void 0,!0)])):(t(),o("div",V,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?(t(),o("div",{key:2,class:"mt-2 description",innerHTML:e.df.description},null,8,C)):v("",!0)],2))}},B=m(g,[["__scopeId","data-v-455d0205"]]);export{B as default};
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{z as f,r as b,g as t,A as o,j as s,D as d,P as h,J as n,G as y,O as v,H as _}from"./index-CxzRbgGD.js";const p={key:0,class:"field-controls"},V={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:r}){const i=e;let c=r,l=f();b(i.modelValue||"");function u(a){c("update:modelValue",a.target.value)}return(a,H)=>(t(),o("div",{class:_(["control",{editable:s(l).label}])},[s(l).label?(t(),o("div",p,[d(a.$slots,"label",{},void 0,!0),d(a.$slots,"actions",{},void 0,!0)])):(t(),o("div",V,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?(t(),o("div",{key:2,class:"mt-2 description",innerHTML:e.df.description},null,8,C)):v("",!0)],2))}},B=m(g,[["__scopeId","data-v-455d0205"]]);export{B as default};

View File

@ -1 +1 @@
import{d as r,A as t,J as c,_ as n,P as i,O as f,B as u,j as m,aL as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},C={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(N,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",x,[n(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",C,"*")):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))}}),B=_(g,[["__scopeId","data-v-896505ba"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};
import{d as r,A as t,J as c,_ as n,P as i,O as f,B as u,j as m,aM as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},C={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(N,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",x,[n(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",C,"*")):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))}}),B=_(g,[["__scopeId","data-v-896505ba"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};

View File

@ -1 +1 @@
import{c as b,g as i,A as a,j as n,J as u,P as g,O as m,B as s,C as k,a6 as r,H as B,r as w}from"./index-BKMgTEC4.js";import{d as V}from"./vuedraggable.umd-CCuYF8N4.js";import x from"./Field-aAJPB9BA.js";import h from"./AddFieldButton-DHaT_tpp.js";import{u as F,i as M}from"./utils-ZOVZLDyb.js";import{u as O}from"./index-BKBa_Th2.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{h as N}from"./index-DthMmhzd.js";import"./_commonjsHelpers-CE1G-McA.js";import"./EditableInput-DdHyw7e5.js";import"./iconify-C3WFuLkb.js";import"./Autocomplete-DlAldMmC.js";const S=["title"],U=["hidden"],D={class:"column-label"},I={key:1,class:"column-description"},P=["hidden"],$={key:2,class:"add-new-field-btn"},j={__name:"Column",props:["section","column"],setup(e){const f=e,l=F(),{Backspace:p}=O();N(p,o=>{o&&v.value&&l.notUsingInput});const c=w(!1),v=b(()=>l.selected(f.column.df.name));function y(o){o.target.closest(".add-field-btn, .add-field-wrapper")||(l.form.selected_field=f.column.df)}function C(o){o.target.closest(".add-field-btn, .add-field-wrapper")||o.stopPropagation()}return(o,t)=>(i(),a("div",{class:B(["column",v.value?"selected":c.value?"hovered":""]),title:e.column.df.fieldname,onClick:r(y,["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(),a("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,U)):m("",!0),e.column.df.description?(i(),a("div",I,g(e.column.df.description),1)):m("",!0),s(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:C},{item:k(({element:d})=>[s(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},[s(h,{column:e.column},null,8,["column"])],8,P),e.column.fields.length?(i(),a("div",$,[s(h,{field:e.column.fields[e.column.fields.length-1],column:e.column},null,8,["field","column"])])):m("",!0)],42,S))}},X=A(j,[["__scopeId","data-v-c56e0b7d"]]);export{X as default};
import{c as b,g as i,A as a,j as n,J as u,P as g,O as m,B as s,C as k,a7 as r,H as B,r as w}from"./index-CxzRbgGD.js";import{d as V}from"./vuedraggable.umd-BZwLAHfm.js";import x from"./Field-BTbIkd6a.js";import h from"./AddFieldButton-DDGsVtLO.js";import{u as F,i as M}from"./utils-ODzFHtdK.js";import{u as O}from"./index-BK0tfiUi.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{h as N}from"./index-Bq3IV6Ko.js";import"./_commonjsHelpers-CE1G-McA.js";import"./EditableInput-DYcSRq1p.js";import"./iconify-DZGToCsy.js";import"./Autocomplete-B-b4Vw30.js";const S=["title"],U=["hidden"],D={class:"column-label"},I={key:1,class:"column-description"},P=["hidden"],$={key:2,class:"add-new-field-btn"},j={__name:"Column",props:["section","column"],setup(e){const f=e,l=F(),{Backspace:p}=O();N(p,o=>{o&&v.value&&l.notUsingInput});const c=w(!1),v=b(()=>l.selected(f.column.df.name));function y(o){o.target.closest(".add-field-btn, .add-field-wrapper")||(l.form.selected_field=f.column.df)}function C(o){o.target.closest(".add-field-btn, .add-field-wrapper")||o.stopPropagation()}return(o,t)=>(i(),a("div",{class:B(["column",v.value?"selected":c.value?"hovered":""]),title:e.column.df.fieldname,onClick:r(y,["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(),a("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,U)):m("",!0),e.column.df.description?(i(),a("div",I,g(e.column.df.description),1)):m("",!0),s(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:C},{item:k(({element:d})=>[s(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},[s(h,{column:e.column},null,8,["column"])],8,P),e.column.fields.length?(i(),a("div",$,[s(h,{field:e.column.fields[e.column.fields.length-1],column:e.column},null,8,["field","column"])])):m("",!0)],42,S))}},X=A(j,[["__scopeId","data-v-c56e0b7d"]]);export{X as default};

View File

@ -1 +1 @@
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as m,j as u,ak as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"field-label"},p={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(C,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",_,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",p,"*")):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))}}),B=x(g,[["__scopeId","data-v-d32590ff"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as m,j as u,al as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"field-label"},p={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(C,a)=>(l(),t("div",{class:v(["field-wrapper",`layout-${d.value}`])},[c("label",_,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",p,"*")):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))}}),B=x(g,[["__scopeId","data-v-d32590ff"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};

View File

@ -1 +1 @@
import{M as s}from"./MarkdownEditor-CG-re7V8.js";import{_ as l}from"./Jeditor.vue_vue_type_style_index_0_lang-CyNux5-l.js";import{H as u}from"./HTML-DVCXNI6C.js";import{C as f}from"./Code-DAkERx0I.js";import{d as p,r as _,w as m,i as v,X as y,aa as x,Z as E,c as r,g as C}from"./index-BKMgTEC4.js";const T=p({__name:"Content",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(a){const t=a,o=_(t.record.content_type||t.df.default_content_type||"Jeditor");m(()=>t.record.content_type,e=>{o.value=e||t.df.default_content_type||"Jeditor"});const c=r(()=>{const e=o.value;return!e||e==="Jeditor"||e==="Rich Text"?l:e.includes("HTML")?u:e==="Code"?f:s}),n=r(()=>{const e=o.value;return!e||e==="Jeditor"||e==="Rich Text"}),d=r(()=>({df:t.df,modelValue:n.value?t.record[t.df.fieldname]??"":void 0,record:t.record,canEdit:t.canEdit,ctx:t.ctx})),i=r(()=>n.value?{"update:modelValue":e=>{t.record[t.df.fieldname]=e}}:{});return(e,g)=>(C(),v(E(c.value),y(d.value,x(i.value),{key:o.value}),null,16))}}),J=Object.freeze(Object.defineProperty({__proto__:null,default:T},Symbol.toStringTag,{value:"Module"}));export{J as _};
import{M as s}from"./MarkdownEditor-ChzaTbSa.js";import{_ as l}from"./Jeditor.vue_vue_type_style_index_0_lang-5vrW5zg1.js";import{H as u}from"./HTML-DtYe-1rU.js";import{C as f}from"./Code-BLFn7gGf.js";import{d as p,r as _,w as m,i as v,X as y,ab as x,Z as E,c as r,g as C}from"./index-CxzRbgGD.js";const T=p({__name:"Content",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(c){const t=c,o=_(t.record.content_type||t.df.default_content_type||"Jeditor");m(()=>t.record.content_type,e=>{o.value=e||t.df.default_content_type||"Jeditor"});const a=r(()=>{const e=o.value;return!e||e==="Jeditor"||e==="Rich Text"?l:e.includes("HTML")?u:e==="Code"?f:s}),n=r(()=>{const e=o.value;return!e||e==="Jeditor"||e==="Rich Text"}),d=r(()=>({df:t.df,modelValue:n.value?t.record[t.df.fieldname]??"":void 0,record:t.record,canEdit:t.canEdit,ctx:t.ctx})),i=r(()=>n.value?{"update:modelValue":e=>{t.record[t.df.fieldname]=e}}:{});return(e,b)=>(C(),v(E(a.value),y(d.value,x(i.value),{key:o.value}),null,16))}}),J=Object.freeze(Object.defineProperty({__proto__:null,default:T},Symbol.toStringTag,{value:"Module"}));export{J as _};

View File

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

View File

@ -1 +1 @@
import{d as p,r as v,w as y,A as c,J as b,_,P as g,O as x,B as C,j as u,aD as f,H as N,i as B,c as d,g as s}from"./index-BKMgTEC4.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},w={key:0,class:"required"},j=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(),B(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",w,"*")):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=k(j,[["__scopeId","data-v-489a4905"]]),z=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as C,z as _};
import{d as p,r as v,w as y,A as c,J as b,_,P as g,O as x,B as C,j as u,aE as f,H as N,i as B,c as d,g as s}from"./index-CxzRbgGD.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},w={key:0,class:"required"},E=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(),B(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",w,"*")):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))}}),j=k(E,[["__scopeId","data-v-489a4905"]]),z=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"}));export{j as C,z as _};

View File

@ -1 +1 @@
import{I as o}from"./iconify-C3WFuLkb.js";import{d as k,g as l,A as d,H as b,J as s,P as r,j as t,t as e,B as a,aF as f,C as B,O as h,c as C,h as g}from"./index-BKMgTEC4.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"custom-block-placeholder"},D={key:0,class:"card-actions"},M=["title"],y=["title"],x=["title"],I=k({__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:b(["custom-block",{"edit-mode":c.editMode}])},[s("div",N,r(t(e)("Custom Block"))+": "+r(c.customBlockName),1),c.editMode?(l(),d("div",D,[s("button",{class:"action-btn",onClick:n[0]||(n[0]=S=>i.$emit("edit")),title:t(e)("Edit")},[a(t(o),{icon:"tabler:edit"})],8,M),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:B(()=>[s("button",{class:"action-btn",title:t(e)("More")},[a(t(o),{icon:"tabler:dots"})],8,x)]),_:1},8,["options"])])):h("",!0)],2))}}),E=v(I,[["__scopeId","data-v-a6c31dc2"]]);export{E as default};
import{I as o}from"./iconify-DZGToCsy.js";import{d as k,g as l,A as d,H as b,J as s,P as r,j as t,t as e,B as a,aG as f,C as B,O as h,c as C,h as g}from"./index-CxzRbgGD.js";import{_ as v}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"custom-block-placeholder"},D={key:0,class:"card-actions"},M=["title"],y=["title"],x=["title"],I=k({__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:b(["custom-block",{"edit-mode":c.editMode}])},[s("div",N,r(t(e)("Custom Block"))+": "+r(c.customBlockName),1),c.editMode?(l(),d("div",D,[s("button",{class:"action-btn",onClick:n[0]||(n[0]=S=>i.$emit("edit")),title:t(e)("Edit")},[a(t(o),{icon:"tabler:edit"})],8,M),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:B(()=>[s("button",{class:"action-btn",title:t(e)("More")},[a(t(o),{icon:"tabler:dots"})],8,x)]),_:1},8,["options"])])):h("",!0)],2))}}),E=v(I,[["__scopeId","data-v-a6c31dc2"]]);export{E as default};

View File

@ -1 +1 @@
import{d as b,a8 as h,w as C,i as w,j as o,aA as B,t as a,C as x,c as i,g as y,J as N,B as S,Q as M,e as $,aG as V}from"./index-BKMgTEC4.js";import{L}from"./LinkField-AeAohOWZ.js";import{_ as T}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-C3WFuLkb.js";const q={class:"dialog-content"},A=b({__name:"CustomBlockDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(r,{emit:d}){const p=$(),s=r,m=d,_=h(),n=i({get:()=>s.show,set:e=>m("update:show",e)}),c=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!c.value&&!e.name&&(e.name=`custom_block-${t.custom_block_name}-${Math.random().toString(36).substring(2,12)}`),m("submit",e),n.value=!1,!0}function f(){n.value=!1}function v(){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:c.value?o(a)("Edit Custom Block"):o(a)("Add Custom Block"),"positive-text":c.value?o(a)("Save"):o(a)("Add"),"negative-text":o(a)("Cancel"),onPositiveClick:g,onNegativeClick:f,style:{width:"500px"}},{default:x(()=>[N("div",q,[S(L,{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:v,"get-query":k},null,8,["modelValue","label"])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),Q=T(A,[["__scopeId","data-v-efbc2751"]]);export{Q as default};
import{d as b,a9 as h,w as C,i as w,j as o,aB as B,t as a,C as x,c as i,g as y,J as N,B as S,Q as M,e as $,aH as V}from"./index-CxzRbgGD.js";import{L}from"./LinkField-DPTV6f3r.js";import{_ as T}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-DZGToCsy.js";const q={class:"dialog-content"},D=b({__name:"CustomBlockDialog",props:{show:{type:Boolean},values:{}},emits:["update:show","submit"],setup(r,{emit:d}){const p=$(),s=r,m=d,_=h(),n=i({get:()=>s.show,set:e=>m("update:show",e)}),c=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!c.value&&!e.name&&(e.name=`custom_block-${t.custom_block_name}-${Math.random().toString(36).substring(2,12)}`),m("submit",e),n.value=!1,!0}function f(){n.value=!1}function v(){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:c.value?o(a)("Edit Custom Block"):o(a)("Add Custom Block"),"positive-text":c.value?o(a)("Save"):o(a)("Add"),"negative-text":o(a)("Cancel"),onPositiveClick:g,onNegativeClick:f,style:{width:"500px"}},{default:x(()=>[N("div",q,[S(L,{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:v,"get-query":k},null,8,["modelValue","label"])])]),_:1},8,["show","title","positive-text","negative-text"]))}}),Q=T(D,[["__scopeId","data-v-efbc2751"]]);export{Q as default};

View File

@ -1 +1 @@
import{u as i,_ as l,a as d,g as p}from"./vue-flow-core-B8vt8sNW.js";import{g as c,A as m,B as s,j as t,C as g,J as u,G as f,K as y,c as _}from"./index-BKMgTEC4.js";const b={inheritAttrs:!1},x=Object.assign(b,{__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=_(()=>p(n));return(q,a)=>(c(),m(y,null,[s(t(l),{path:e.value[0]},null,8,["path"]),s(t(d),null,{default:g(()=>[u("div",{style:f({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,_ as l,a as d,g as p}from"./vue-flow-core-BEMYW7-6.js";import{g as c,A as m,B as s,j as t,C as g,J as u,G as f,K as y,c as _}from"./index-CxzRbgGD.js";const b={inheritAttrs:!1},x=Object.assign(b,{__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=_(()=>p(n));return(q,a)=>(c(),m(y,null,[s(t(l),{path:e.value[0]},null,8,["path"]),s(t(d),null,{default:g(()=>[u("div",{style:f({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 w,o as m,A as B,J as h,P as N,j as e,t,B as l,C as a,ao as T,Q as R,g as C,ap as u,aq as o,ar as n}from"./index-BKMgTEC4.js";import{getCount as c,getLocalJobCount as D}from"./common-DrLpzQVu.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"dashboard-page"},A={class:"page-header"},S={class:"page-title"},y=w({__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}),k=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 D();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(()=>{k()}),(d,i)=>(C(),B("div",x,[h("div",A,[h("h1",S,N(e(t)("Dashboard")),1)]),l(e(T),{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})]))}}),G=Q(y,[["__scopeId","data-v-d1f0aa95"]]);export{G as default};
import{d as w,o as m,A as B,J as h,P as N,j as e,t,B as l,C as a,ap as T,Q as R,g as C,aq as u,ar as o,as as n}from"./index-CxzRbgGD.js";import{getCount as c,getLocalJobCount as D}from"./common-DdS-f8pi.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"dashboard-page"},A={class:"page-header"},S={class:"page-title"},y=w({__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}),k=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 D();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(()=>{k()}),(d,i)=>(C(),B("div",x,[h("div",A,[h("h1",S,N(e(t)("Dashboard")),1)]),l(e(T),{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})]))}}),G=Q(y,[["__scopeId","data-v-d1f0aa95"]]);export{G as default};

View File

@ -1 +1 @@
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as u,j as m,ak as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"field-label"},p={key:0,class:"required"},g=s({__name:"Data",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}`])},[c("label",_,[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:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),B=x(g,[["__scopeId","data-v-df0034a2"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as u,j as m,al as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"field-label"},p={key:0,class:"required"},g=s({__name:"Data",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}`])},[c("label",_,[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:"text",placeholder:"",disabled:!e.canEdit},null,8,["value","disabled"])],2))}}),B=x(g,[["__scopeId","data-v-df0034a2"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{k as _};

View File

@ -1 +1 @@
import{z as p,t as f,g as l,A as t,j as o,D as m,H as c,P as b,G as h,O as u,J as k,r as y}from"./index-BKMgTEC4.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const D={key:0,class:"field-controls"},T=["placeholder"],g=["value","disabled"],x={key:4,class:"mt-2 form-control",type:"text",style:{height:"110px"},readonly:""},H=["innerHTML"],M=["innerHTML"],S={__name:"DataControl",props:["df","value","read_only"],setup(e){const s=e;let a=p(),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",D,[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}])},b(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,T)):(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]=v=>r.$emit("update:modelValue",v.target.value))},null,40,g)),o(a).label&&e.df.fieldtype==="Barcode"?(l(),t("input",x)):u("",!0),e.df.description?(l(),t("div",{key:5,class:"mt-2 description",innerHTML:e.df.description},null,8,H)):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{z as p,t as f,g as l,A as t,j as o,D as m,H as c,P as b,G as h,O as u,J as k,r as y}from"./index-CxzRbgGD.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const D={key:0,class:"field-controls"},T=["placeholder"],g=["value","disabled"],x={key:4,class:"mt-2 form-control",type:"text",style:{height:"110px"},readonly:""},H=["innerHTML"],M=["innerHTML"],S={__name:"DataControl",props:["df","value","read_only"],setup(e){const s=e;let a=p(),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",D,[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}])},b(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,T)):(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]=v=>r.$emit("update:modelValue",v.target.value))},null,40,g)),o(a).label&&e.df.fieldtype==="Barcode"?(l(),t("input",x)):u("",!0),e.df.description?(l(),t("div",{key:5,class:"mt-2 description",innerHTML:e.df.description},null,8,H)):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,n as h,A as i,J as w,_ as D,P as _,O as k,B as c,j as f,aI as p,H as I,c as m,r as S,g as u}from"./index-BKMgTEC4.js";import{_ as x}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=S(!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:I(["field-wrapper",`layout-${v.value}`])},[w("label",N,[D(_(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(u(),i("span",B,"*")):k("",!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=x($,[["__scopeId","data-v-b761b558"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as D,j as _};
import{d as b,o as g,n as h,A as i,J as w,_ as D,P as _,O as k,B as c,j as f,aJ as p,H as S,c as m,r as x,g as u}from"./index-CxzRbgGD.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:S(["field-wrapper",`layout-${v.value}`])},[w("label",N,[D(_(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(u(),i("span",B,"*")):k("",!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"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:E},Symbol.toStringTag,{value:"Module"}));export{E as D,j as _};

View File

@ -1 +1 @@
import{d as c,A as t,J as s,_ as r,P as i,O as f,B as u,j as m,aI as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"field-label"},x={key:0,class:"required"},p=c({__name:"DateRange",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}`])},[s("label",_,[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))}}),B=g(p,[["__scopeId","data-v-75386fc9"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as c,A as t,J as s,_ as r,P as i,O as f,B as u,j as m,aJ as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={class:"field-label"},x={key:0,class:"required"},p=c({__name:"DateRange",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}`])},[s("label",_,[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))}}),B=g(p,[["__scopeId","data-v-75386fc9"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{V as _};

View File

@ -1 +1 @@
import{d as i,A as n,J as u,_ as f,P as m,O as p,B as _,j as b,aI as v,H as y,c as r,g as d}from"./index-BKMgTEC4.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,s=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)=>(d(),n("div",{class:y(["field-wrapper",`layout-${s.value}`])},[u("label",N,[f(m(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(d(),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))}}),B=g(D,[["__scopeId","data-v-3dbae858"]]),O=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{O as _};
import{d as i,A as n,J as u,_ as f,P as m,O as p,B as _,j as b,aJ as v,H as y,c as r,g as d}from"./index-CxzRbgGD.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,s=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)=>(d(),n("div",{class:y(["field-wrapper",`layout-${s.value}`])},[u("label",N,[f(m(a.ctx.t(a.df.label||a.df.fieldname))+" ",1),a.df.reqd?(d(),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))}}),B=g(D,[["__scopeId","data-v-3dbae858"]]),O=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{O as _};

View File

@ -1 +1 @@
import{g as t,A as s,J as l,D as h,B as x,j as B,a6 as f,i as C,a4 as S,a9 as D,K as m,L as _,P as v,O as R,G as $,Y as I,r as d,n as z,c as N}from"./index-BKMgTEC4.js";import{c as O}from"./index-BKBa_Th2.js";import{I as V}from"./iconify-C3WFuLkb.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-DthMmhzd.js";const L={class:"dropdown-wrapper"},P={class:"dropdown-options"},T={key:0,class:"group-title"},j=["title"],q=["onClick"],F={__name:"Dropdown",props:{options:{type:Array,required:!0},placement:{type:String,default:"bottom-end"}},setup(w){const r=w,e=d(!1),a=d(null),c=d(null),u=d({});O(a,()=>e.value=!1,{ignore:[c]});const g=N(()=>(r.options[0]?.group?r.options:[{group:"",items:r.options}]).map((p,n)=>({key:n,group:p.group,items:p.items})));function k(){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 y(){e.value=!e.value,z(()=>k())}function b(o){o&&o(),e.value=!1}return(o,p)=>(t(),s("div",L,[l("button",{ref_key:"dropdownBtnRef",ref:a,class:"dropdown-btn btn btn-xs btn-icon",onClick:f(y,["stop"])},[h(o.$slots,"default",{},()=>[x(B(V),{icon:"mdi:dots-horizontal",class:"icon-sm"})],!0)],512),(t(),C(I,{to:"body"},[S(l("div",{ref_key:"dropdownRef",ref:c,class:"dropdown-menu",style:$(u.value)},[l("div",P,[(t(!0),s(m,null,_(g.value,n=>(t(),s("div",{key:n.key,class:"groups"},[n.group?(t(),s("div",T,v(n.group),1)):R("",!0),(t(!0),s(m,null,_(n.items,i=>(t(),s("div",{class:"dropdown-option",key:i.label,title:i.tooltip},[l("button",{class:"dropdown-item",onClick:f(G=>b(i.onClick),["stop"])},v(i.label),9,q)],8,j))),128))]))),128))])],4),[[D,e.value]])]))]))}},E=A(F,[["__scopeId","data-v-0014848b"]]);export{E as default};
import{g as t,A as s,J as l,D as h,B as x,j as B,a7 as f,i as C,a5 as S,aa as D,K as m,L as _,P as v,O as R,G as $,Y as I,r as d,n as z,c as N}from"./index-CxzRbgGD.js";import{c as O}from"./index-BK0tfiUi.js";import{I as V}from"./iconify-DZGToCsy.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-Bq3IV6Ko.js";const L={class:"dropdown-wrapper"},P={class:"dropdown-options"},T={key:0,class:"group-title"},j=["title"],q=["onClick"],F={__name:"Dropdown",props:{options:{type:Array,required:!0},placement:{type:String,default:"bottom-end"}},setup(w){const r=w,e=d(!1),a=d(null),c=d(null),u=d({});O(a,()=>e.value=!1,{ignore:[c]});const g=N(()=>(r.options[0]?.group?r.options:[{group:"",items:r.options}]).map((p,n)=>({key:n,group:p.group,items:p.items})));function k(){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 y(){e.value=!e.value,z(()=>k())}function b(o){o&&o(),e.value=!1}return(o,p)=>(t(),s("div",L,[l("button",{ref_key:"dropdownBtnRef",ref:a,class:"dropdown-btn btn btn-xs btn-icon",onClick:f(y,["stop"])},[h(o.$slots,"default",{},()=>[x(B(V),{icon:"mdi:dots-horizontal",class:"icon-sm"})],!0)],512),(t(),C(I,{to:"body"},[S(l("div",{ref_key:"dropdownRef",ref:c,class:"dropdown-menu",style:$(u.value)},[l("div",P,[(t(!0),s(m,null,_(g.value,n=>(t(),s("div",{key:n.key,class:"groups"},[n.group?(t(),s("div",T,v(n.group),1)):R("",!0),(t(!0),s(m,null,_(n.items,i=>(t(),s("div",{class:"dropdown-option",key:i.label,title:i.tooltip},[l("button",{class:"dropdown-item",onClick:f(G=>b(i.onClick),["stop"])},v(i.label),9,q)],8,j))),128))]))),128))])],4),[[D,e.value]])]))]))}},E=A(F,[["__scopeId","data-v-0014848b"]]);export{E as default};

View File

@ -1 +1 @@
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as u,j as m,ak as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},g={key:0,class:"required"},p=s({__name:"Duration",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}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",g,"*")):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))}}),B=_(p,[["__scopeId","data-v-8db51f41"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as u,j as m,al as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},g={key:0,class:"required"},p=s({__name:"Duration",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}`])},[c("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",g,"*")):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))}}),B=_(p,[["__scopeId","data-v-8db51f41"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{k as _};

View File

@ -0,0 +1 @@
import{_ as o}from"./DynamicIcon.vue_vue_type_script_setup_true_lang-CH6-eVqY.js";import"./iconify-DZGToCsy.js";import"./index-CxzRbgGD.js";export{o as default};

View File

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

View File

@ -1 +1 @@
import{I as c}from"./iconify-C3WFuLkb.js";import{d as r,g as a,i as t,j as i,c as l}from"./index-BKMgTEC4.js";const f=r({__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(c),{icon:n.value,width:e.size,height:e.size,color:e.color},null,8,["icon","width","height","color"]))}});export{f as _};
import{I as c}from"./iconify-DZGToCsy.js";import{d as r,g as a,i as t,j as i,c as l}from"./index-CxzRbgGD.js";const f=r({__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(c),{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,w as T,o as le,f as se,A as d,J as g,_ as oe,P as L,O as _,i as D,j as l,t as o,ak as z,C as $,a6 as R,al as U,B as y,K as ie,L as ce,H as N,c as x,r as v,g as i,av as K,aG as V,a as A}from"./index-BKMgTEC4.js";import{I as F}from"./iconify-C3WFuLkb.js";import{getPageTypeMeta as ue}from"./common-DrLpzQVu.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,G=x(()=>n.df.label_layout||"vertical"),s=x(()=>{const e=n.df.options;return e&&n.record[e]||""}),c=v(""),h=v(""),m=v(""),B=v(!1),r=v(!1),k=v([]),b=v(!1),I=v({}),w=v({}),O=x(()=>!!c.value),H=x(()=>n.df.max_options||20);T(()=>n.record[n.df.fieldname],async e=>{e!==c.value&&(c.value=e||"",e&&s.value?h.value=await Q(s.value,e):h.value="")},{immediate:!0}),T(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))}),T(s,(e,a)=>{e!==a&&c.value&&(c.value="",h.value="",m.value="",r.value=!1)});async function J(e){if(!e)return{};if(I.value[e])return I.value[e];try{const a=await ue(e),t=a.success&&a.data?a.data:{};return I.value[e]=t,t}catch{return{}}}async function Q(e,a){if(!e||!a)return a;const t=`${e}_${a}`;if(w.value[t])return w.value[t];try{const f=await J(e),u=f.title_field||"name",C=f.show_title_field_in_link||!1;if(u==="name"||!C){const q=o(a);return w.value[t]=q,q}const te=((await A.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(a)}`)).data?.data||{})[u]||a,j=o(te);return w.value[t]=j,j}catch{return o(a)}}function S(){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:H.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,S()]}else k.value=[S()]}catch{k.value=[S()]}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(){B.value=O.value}function ae(){B.value=!1}function P(e){e.target.closest(".link-field-container")||(r.value=!1)}return le(()=>{document.addEventListener("click",P)}),se(()=>{document.removeEventListener("click",P)}),(e,a)=>(i(),d("div",{class:N(["field-wrapper",`layout-${G.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(),D(l(z),{key:1,value:O.value?h.value:m.value,placeholder:"",disabled:!p.canEdit,"onUpdate:value":W,onClick:M,onFocus:M,class:"link-input"},null,8,["value","disabled"])):(i(),D(l(z),{key:0,value:c.value,placeholder:l(o)("Select a PageType first"),disabled:"",class:"link-input"},null,8,["value","placeholder"])),B.value&&O.value&&s.value?(i(),d("div",pe,[p.canEdit?(i(),D(l(U),{key:0,size:"small",quaternary:"",onClick:R(Y,["stop"]),title:l(o)("Clear"),class:"action-btn"},{icon:$(()=>[y(l(K),null,{default:$(()=>[y(l(F),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),y(l(U),{size:"small",quaternary:"",onClick:R(Z,["stop"]),title:l(o)("Open Detail"),class:"action-btn"},{icon:$(()=>[y(l(K),null,{default:$(()=>[y(l(F),{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(F),{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"]]),Se=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Se as _};
import{d as ne,w as T,o as le,f as se,A as d,J as g,_ as oe,P as L,O as _,i as D,j as l,t as o,al as z,C as $,a7 as R,am as U,B as y,K as ie,L as ce,H as N,c as x,r as v,g as i,aw as H,aH as K,a as V}from"./index-CxzRbgGD.js";import{I as F}from"./iconify-DZGToCsy.js";import{getPageTypeMeta as ue}from"./common-DdS-f8pi.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"},we={key:1,class:"loading-state"},be=ne({__name:"DynamicLink",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(p){const n=p,A=x(()=>n.df.label_layout||"vertical"),s=x(()=>{const e=n.df.options;return e&&n.record[e]||""}),c=v(""),h=v(""),m=v(""),B=v(!1),r=v(!1),k=v([]),w=v(!1),I=v({}),b=v({}),O=x(()=>!!c.value),J=x(()=>n.df.max_options||20);T(()=>n.record[n.df.fieldname],async e=>{e!==c.value&&(c.value=e||"",e&&s.value?h.value=await G(s.value,e):h.value="")},{immediate:!0}),T(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))}),T(s,(e,a)=>{e!==a&&c.value&&(c.value="",h.value="",m.value="",r.value=!1)});async function Q(e){if(!e)return{};if(I.value[e])return I.value[e];try{const a=await ue(e),t=a.success&&a.data?a.data:{};return I.value[e]=t,t}catch{return{}}}async function G(e,a){if(!e||!a)return a;const t=`${e}_${a}`;if(b.value[t])return b.value[t];try{const f=await Q(e),u=f.title_field||"name",C=f.show_title_field_in_link||!1;if(u==="name"||!C){const q=o(a);return b.value[t]=q,q}const te=((await V.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(a)}`)).data?.data||{})[u]||a,j=o(te);return b.value[t]=j,j}catch{return o(a)}}function S(){return{label:`${o("Create")}${o(s.value)}`,value:"create_new",type:"create"}}async function E(e=""){if(s.value){w.value=!0;try{const a=await V.post("/api/action/jingrow.desk.search.search_link",{pagetype:s.value,txt:e||"",page_length:J.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,S()]}else k.value=[S()]}catch{k.value=[S()]}finally{w.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=K(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=K(s.value);window.open(`/app/${e}/${c.value}`,"_blank")}function ee(){B.value=O.value}function ae(){B.value=!1}function P(e){e.target.closest(".link-field-container")||(r.value=!1)}return le(()=>{document.addEventListener("click",P)}),se(()=>{document.removeEventListener("click",P)}),(e,a)=>(i(),d("div",{class:N(["field-wrapper",`layout-${A.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(),D(l(z),{key:1,value:O.value?h.value:m.value,placeholder:"",disabled:!p.canEdit,"onUpdate:value":W,onClick:M,onFocus:M,class:"link-input"},null,8,["value","disabled"])):(i(),D(l(z),{key:0,value:c.value,placeholder:l(o)("Select a PageType first"),disabled:"",class:"link-input"},null,8,["value","placeholder"])),B.value&&O.value&&s.value?(i(),d("div",pe,[p.canEdit?(i(),D(l(U),{key:0,size:"small",quaternary:"",onClick:R(Y,["stop"]),title:l(o)("Clear"),class:"action-btn"},{icon:$(()=>[y(l(H),null,{default:$(()=>[y(l(F),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),y(l(U),{size:"small",quaternary:"",onClick:R(Z,["stop"]),title:l(o)("Open Detail"),class:"action-btn"},{icon:$(()=>[y(l(H),null,{default:$(()=>[y(l(F),{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(F),{icon:"mdi:plus"})])):_("",!0),g("span",ke,L(t.label),1)],10,me))),128)),k.value.length===0&&!w.value?(i(),d("div",ge,L(l(o)("No Data")),1)):_("",!0),w.value?(i(),d("div",we,L(l(o)("Loading")),1)):_("",!0)])])):_("",!0)],32)],2))}}),Ce=re(be,[["__scopeId","data-v-494aefeb"]]),Se=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Se as _};

View File

@ -1 +1 @@
import{g as n,A as a,j as s,a6 as k,R as x,ab as L,G as T,P as m,J as h,t as g,n as B,r as i,c as M}from"./index-BKMgTEC4.js";import{u as S}from"./utils-ZOVZLDyb.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-BKBa_Th2.js";import"./index-DthMmhzd.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),v=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}),(b,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:T({width:s(v)}),onInput:l[0]||(l[0]=d=>b.$emit("update:modelValue",d.target.value)),onKeydown:l[1]||(l[1]=L(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))}},V=w(O,[["__scopeId","data-v-c927f830"]]);export{V as default};
import{g as n,A as a,j as s,a7 as k,R as x,ac as L,G as T,P as m,J as h,t as g,n as B,r as i,c as M}from"./index-CxzRbgGD.js";import{u as S}from"./utils-ODzFHtdK.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-BK0tfiUi.js";import"./index-Bq3IV6Ko.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),v=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}),(b,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:T({width:s(v)}),onInput:l[0]||(l[0]=d=>b.$emit("update:modelValue",d.target.value)),onKeydown:l[1]||(l[1]=L(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))}},V=w(O,[["__scopeId","data-v-c927f830"]]);export{V as default};

View File

@ -1 +1 @@
import{g as i,A as o,P as x,a4 as _,a5 as b,ab as l,a6 as g,H as k,r as u,c as E,n as h}from"./index-BKMgTEC4.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={key:0,class:"editable-text"},V={__name:"EditableInput",props:{text:{type:String,default:""},placeholder:{type:String,default:""},emptyLabel:{type:String,default:""}},emits:["update:modelValue"],setup(p,{emit:d}){const e=p,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(B,c)=>(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":c[0]||(c[0]=y=>a.value=y),onBlur:n,onKeydown:[l(n,["enter"]),l(r,["escape"])]},null,544)),[[b,a.value]]):(i(),o("span",S,x(m.value),1))],34))}},K=w(V,[["__scopeId","data-v-c7790eb2"]]);export{K as default};
import{g as i,A as o,P as x,a5 as _,a6 as b,ac as l,a7 as g,H as k,r as u,c as E,n as h}from"./index-CxzRbgGD.js";import{_ as w}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S={key:0,class:"editable-text"},V={__name:"EditableInput",props:{text:{type:String,default:""},placeholder:{type:String,default:""},emptyLabel:{type:String,default:""}},emits:["update:modelValue"],setup(p,{emit:d}){const e=p,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(B,c)=>(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":c[0]||(c[0]=y=>a.value=y),onBlur:n,onKeydown:[l(n,["enter"]),l(r,["escape"])]},null,544)),[[b,a.value]]):(i(),o("span",S,x(m.value),1))],34))}},K=w(V,[["__scopeId","data-v-c7790eb2"]]);export{K as default};

View File

@ -1 +1 @@
import{a8 as k,g as o,A as i,J as e,P as u,K as g,L as w,H as v,j as p,t as C,O as d,B as T,C as N,a7 as O,r as f}from"./index-BKMgTEC4.js";import{a as _}from"./nodeMetadata-B0QcUamS.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-DrLpzQVu.js";import"./vue-flow-core-B8vt8sNW.js";import"./NodePropertyModal-CoI2ESfx.js";import"./SchemaFormRenderer-bQMBSEYt.js";import"./nodes-BWwrBl2f.js";const R={class:"execution-results"},H={class:"execution-results-body"},S={class:"execution-details"},B={class:"details-left"},D={class:"history-list"},J={key:0,class:"success-overview-card"},L={class:"overview-card-header"},$={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"},M={key:3},z=["onClick"],F={class:"history-item-header"},K={class:"history-node-name"},P={class:"history-item-meta"},W={class:"history-time"},q={key:4,class:"no-history"},G={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",R,[e("div",H,[e("div",S,[e("div",B,[e("div",D,[a.executionResult&&a.executionResult.success?(o(),i("div",J,[e("div",L,[t[5]||(t[5]=e("i",{class:"fa fa-check-circle text-success"},null,-1)),e("div",$,[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",M,[(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",F,[e("span",K,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",P,[e("span",W,u(new Date(s.timestamp).toLocaleTimeString()),1)])],10,z))),128))])):(o(),i("div",q,[...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",G,[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=j(ie,[["__scopeId","data-v-5b99f9ea"]]);export{fe as default};
import{a9 as k,g as o,A as i,J as e,P as u,K as g,L as w,H as v,j as p,t as C,O as d,B as T,C as N,a8 as O,r as f}from"./index-CxzRbgGD.js";import{a as _}from"./nodeMetadata-BJJ_nubJ.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./common-DdS-f8pi.js";import"./vue-flow-core-BEMYW7-6.js";import"./NodePropertyModal-DGh-G6ul.js";import"./SchemaFormRenderer-D0HJ-krE.js";import"./nodes-Ck-iYYs8.js";const R={class:"execution-results"},H={class:"execution-results-body"},S={class:"execution-details"},B={class:"details-left"},D={class:"history-list"},J={key:0,class:"success-overview-card"},L={class:"overview-card-header"},$={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"},M={key:3},z=["onClick"],F={class:"history-item-header"},K={class:"history-node-name"},P={class:"history-item-meta"},W={class:"history-time"},q={key:4,class:"no-history"},G={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",R,[e("div",H,[e("div",S,[e("div",B,[e("div",D,[a.executionResult&&a.executionResult.success?(o(),i("div",J,[e("div",L,[t[5]||(t[5]=e("i",{class:"fa fa-check-circle text-success"},null,-1)),e("div",$,[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",M,[(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",F,[e("span",K,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",P,[e("span",W,u(new Date(s.timestamp).toLocaleTimeString()),1)])],10,z))),128))])):(o(),i("div",q,[...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",G,[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=j(ie,[["__scopeId","data-v-5b99f9ea"]]);export{fe as default};

View File

@ -1 +1 @@
import{c as F,t as f,o as O,g as a,A as r,i as V,C as p,J as b,j as i,B as n,O as h,a6 as c,Z as L,H as $,r as y}from"./index-BKMgTEC4.js";import N from"./EditableInput-DdHyw7e5.js";import{u as z,m as A,b as D}from"./utils-ZOVZLDyb.js";import R from"./AddFieldButton-DHaT_tpp.js";import{u as T}from"./index-BKBa_Th2.js";import{I as u}from"./iconify-C3WFuLkb.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{h as w}from"./index-DthMmhzd.js";import"./Autocomplete-DlAldMmC.js";const E=["title"],S={class:"field-label"},U={key:0,class:"reqd-asterisk"},j={key:1,class:"help-icon"},H=["hidden"],J=["title"],K=["title"],P=["title"],Y={__name:"Field",props:["column","field"],setup(l){const t=l,o=z(),C=y(null),{ctrl_shift_n:B,Backspace:_}=T();w(B,e=>{e&&m.value&&C.value?.open()}),w(_,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&&A(t,"column","field",e,o.getDf)}function M(){let e=D(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 O(()=>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(L(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",j,[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(R,{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,J)):h("",!0),b("button",{class:"btn btn-xs btn-icon",title:i(f)("Duplicate field"),onClick:c(M,["stop"])},[n(i(u),{icon:"mdi:content-copy",class:"icon-sm"})],8,K),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,P)],8,H)]),_:1},8,["df","data-fieldname","data-fieldtype"]))],42,E))}},ie=q(Y,[["__scopeId","data-v-c286b6bd"]]);export{ie as default};
import{c as F,t as f,o as O,g as a,A as r,i as V,C as p,J as b,j as i,B as n,O as h,a7 as c,Z as L,H as $,r as y}from"./index-CxzRbgGD.js";import N from"./EditableInput-DYcSRq1p.js";import{u as z,m as A,b as D}from"./utils-ODzFHtdK.js";import R from"./AddFieldButton-DDGsVtLO.js";import{u as T}from"./index-BK0tfiUi.js";import{I as u}from"./iconify-DZGToCsy.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{h as w}from"./index-Bq3IV6Ko.js";import"./Autocomplete-B-b4Vw30.js";const E=["title"],S={class:"field-label"},U={key:0,class:"reqd-asterisk"},j={key:1,class:"help-icon"},H=["hidden"],J=["title"],K=["title"],P=["title"],Y={__name:"Field",props:["column","field"],setup(l){const t=l,o=z(),C=y(null),{ctrl_shift_n:B,Backspace:_}=T();w(B,e=>{e&&m.value&&C.value?.open()}),w(_,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&&A(t,"column","field",e,o.getDf)}function M(){let e=D(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 O(()=>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(L(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",j,[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(R,{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,J)):h("",!0),b("button",{class:"btn btn-xs btn-icon",title:i(f)("Duplicate field"),onClick:c(M,["stop"])},[n(i(u),{icon:"mdi:content-copy",class:"icon-sm"})],8,K),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,P)],8,H)]),_:1},8,["df","data-fieldname","data-fieldtype"]))],42,E))}},ie=q(Y,[["__scopeId","data-v-c286b6bd"]]);export{ie as default};

View File

@ -1 +1 @@
import _ from"./SearchBox-7eCW1qoc.js";import{u as y,a as r,L as v,e as L,N as C}from"./utils-ZOVZLDyb.js";import{I as V}from"./iconify-C3WFuLkb.js";import{g as s,A as i,J as n,B as f,R as k,j as a,t as h,K as x,L as g,i as B,Z as b,O as D,r as F,c as N}from"./index-BKMgTEC4.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-BKBa_Th2.js";import"./index-DthMmhzd.js";const S={class:"field-properties"},T={class:"header"},U=["title"],w={class:"control-data"},A={key:0},E={__name:"FieldProperties",setup(I){let l=y(),o=F(""),m=N(()=>[...l.getPagefields.map(e=>({...e})).filter(e=>r(v,e.fieldtype)||e.hidden||e.depends_on&&!L(e.depends_on,l.form.selected_field,l.pg)||r(["fetch_from","fetch_if_empty"],e.fieldname)&&r(C,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",S,[n("div",T,[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,U)]),n("div",w,[a(l).form.selected_field?(s(),i("div",A,[(s(!0),i(x,null,g(a(m),(t,p)=>(s(),i("div",{class:"field",key:p},[(s(),B(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))])):D("",!0)])]))}},Z=O(E,[["__scopeId","data-v-fdad068f"]]);export{Z as default};
import _ from"./SearchBox-BnH5ztT_.js";import{u as y,a as r,L as v,e as L,N as C}from"./utils-ODzFHtdK.js";import{I as V}from"./iconify-DZGToCsy.js";import{g as s,A as i,J as n,B as f,R as k,j as a,t as h,K as x,L as g,i as B,Z as b,O as D,r as F,c as N}from"./index-CxzRbgGD.js";import{_ as O}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-BK0tfiUi.js";import"./index-Bq3IV6Ko.js";const S={class:"field-properties"},T={class:"header"},U=["title"],w={class:"control-data"},A={key:0},E={__name:"FieldProperties",setup(I){let l=y(),o=F(""),m=N(()=>[...l.getPagefields.map(e=>({...e})).filter(e=>r(v,e.fieldtype)||e.hidden||e.depends_on&&!L(e.depends_on,l.form.selected_field,l.pg)||r(["fetch_from","fetch_if_empty"],e.fieldname)&&r(C,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",S,[n("div",T,[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,U)]),n("div",w,[a(l).form.selected_field?(s(),i("div",A,[(s(!0),i(x,null,g(a(m),(t,p)=>(s(),i("div",{class:"field",key:p},[(s(),B(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))])):D("",!0)])]))}},Z=O(E,[["__scopeId","data-v-fdad068f"]]);export{Z 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,w as p,A as s,J as b,_ as y,P as _,O as g,B as x,j as c,aD as i,H as B,i as N,c as u,g as r}from"./index-BKMgTEC4.js";import{_ as k}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(),N(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:B(["field-wrapper",`layout-${f.value}`])},[b("label",h,[y(_(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(r(),s("span",C,"*")):g("",!0)]),x(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=k(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,w as p,A as s,J as b,_ as y,P as _,O as g,B as x,j as c,aE as i,H as B,i as N,c as u,g as r}from"./index-CxzRbgGD.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={class:"field-label"},C={key:0,class:"required"},E=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(),N(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:B(["field-wrapper",`layout-${f.value}`])},[b("label",h,[y(_(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(r(),s("span",C,"*")):g("",!0)]),x(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))}}),F=k(E,[["__scopeId","data-v-612d5e7d"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"}));export{F,j as _};

View File

@ -0,0 +1 @@
import{d as h,a9 as F,o as A,A as _,J as p,P as d,j as s,t as a,B as S,C as k,am as x,i as q,b as C,c as g,g as m,_ as N,e as P,ax as T}from"./index-CxzRbgGD.js";import{u as V,F as b}from"./FlowBuilderContainer-KWR2tBhe.js";import{useFlowBuilderStore as D}from"./flowBuilder-D1sIkDrT.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-DZGToCsy.js";import"./AIAgentFlowBuilder-CTE_KxxN.js";import"./vue-flow-core-BEMYW7-6.js";import"./nodeMetadata-BJJ_nubJ.js";import"./common-DdS-f8pi.js";import"./NodePropertyModal-DGh-G6ul.js";import"./SchemaFormRenderer-D0HJ-krE.js";import"./nodes-Ck-iYYs8.js";import"./NodePalette-B3TyKsgh.js";import"./ExecutionResults-DqBoNJx4.js";const J={class:"flow-builder-page"},M={key:0,class:"empty-state"},R={class:"empty-content"},j=h({__name:"FlowBuilder",setup(E){const y=P(),o=C(),i=F(),c=V(),t=D(),r=g(()=>o.query.id||o.query.name||t.getAgentId()),f=g(()=>{const e=o.query.pagetype;return e?T(e):""}),w=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(),_("div",J,[w.value?(m(),q(b,{key:1,"initial-value":s(t).getFlowData(),"agent-id":r.value,onSave:v},null,8,["initial-value","agent-id"])):(m(),_("div",M,[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(x),{type:"primary",onClick:B},{default:k(()=>[N(d(s(a)("View Agents")),1)]),_:1})])]))]))}}),te=I(j,[["__scopeId","data-v-bffeb9f8"]]);export{te as default};

View File

@ -1 +0,0 @@
import{d as h,a8 as F,o as A,A as _,J as p,P as d,j as s,t as a,B as S,C as k,al as q,i as x,b as C,c as g,g as m,_ as N,e as P,aw as T}from"./index-BKMgTEC4.js";import{u as V,F as b}from"./FlowBuilderContainer-Ehk6VVVp.js";import{useFlowBuilderStore as D}from"./flowBuilder-C5Z0_2Gl.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./iconify-C3WFuLkb.js";import"./AIAgentFlowBuilder-BRSTNGsU.js";import"./vue-flow-core-B8vt8sNW.js";import"./nodeMetadata-B0QcUamS.js";import"./common-DrLpzQVu.js";import"./NodePropertyModal-CoI2ESfx.js";import"./SchemaFormRenderer-bQMBSEYt.js";import"./nodes-BWwrBl2f.js";import"./NodePalette-P_PWbIq0.js";import"./ExecutionResults-CmE-5rF0.js";const J={class:"flow-builder-page"},M={key:0,class:"empty-state"},R={class:"empty-content"},j=h({__name:"FlowBuilder",setup(E){const w=P(),o=C(),i=F(),c=V(),t=D(),r=g(()=>o.query.id||o.query.name||t.getAgentId()),f=g(()=>{const e=o.query.pagetype;return e?T(e):""}),y=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=()=>{w.push("/agents")};return(e,n)=>(m(),_("div",J,[y.value?(m(),x(b,{key:1,"initial-value":s(t).getFlowData(),"agent-id":r.value,onSave:v},null,8,["initial-value","agent-id"])):(m(),_("div",M,[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(()=>[N(d(s(a)("View Agents")),1)]),_:1})])]))]))}}),te=I(j,[["__scopeId","data-v-bffeb9f8"]]);export{te as default};

View File

@ -1 +1 @@
import{y as D,r as _,d as E,a8 as N,w as R,A as j,J as w,P as A,B as c,C as d,j as n,au as x,c as m,g as T,al as B,_ as I,t as u,av as b,e as z,aw as O}from"./index-BKMgTEC4.js";import{I as F}from"./iconify-C3WFuLkb.js";import P from"./AIAgentFlowBuilder-BRSTNGsU.js";import{useFlowBuilderStore as q}from"./flowBuilder-C5Z0_2Gl.js";import{getRecord as M,updateRecord as $}from"./common-DrLpzQVu.js";import{_ as J}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失败")}},K=D("agent",()=>{const a=_(null),l=_("");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}}}}),L={class:"flow-builder"},Q={class:"flow-builder-header"},U={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=K(),g=q(),f=_(""),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 C=async()=>{try{if(!h.value){s.error(u("Flow Builder is not initialized"));return}const t=h.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)=>(T(),j("div",L,[w("div",Q,[w("div",U,[w("h2",W,A(k.value),1)]),w("div",X,[c(n(x),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:C,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(P,{ref_key:"flowBuilderRef",ref:h,"initial-value":S.value,"agent-id":p.value},null,8,["initial-value","agent-id"])])]))}}),ee=J(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,K as u};
import{y as D,r as _,d as x,a9 as E,w as N,A as R,J as w,P as A,B as c,C as d,j as n,av as j,c as p,g as T,am as B,_ as I,t as u,aw as b,e as z,ax as O}from"./index-CxzRbgGD.js";import{I as F}from"./iconify-DZGToCsy.js";import P from"./AIAgentFlowBuilder-CTE_KxxN.js";import{useFlowBuilderStore as q}from"./flowBuilder-D1sIkDrT.js";import{getRecord as M,updateRecord as $}from"./common-DdS-f8pi.js";import{_ as J}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失败")}},K=D("agent",()=>{const a=_(null),l=_("");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}}}}),L={class:"flow-builder"},Q={class:"flow-builder-header"},U={class:"header-left"},W={class:"title"},X={class:"header-right"},Y={class:"flow-builder-content"},Z=x({__name:"FlowBuilderContainer",props:{initialValue:{},agentId:{}},emits:["save"],setup(a,{emit:l}){const e=a,o=l,i=z(),s=E(),r=K(),g=q(),f=_(""),S=p(()=>{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=_(),m=p(()=>e.agentId||g.getAgentId()),y=p(()=>{const v=i.currentRoute.value.query.pagetype;return v?O(v):""}),k=p(()=>f.value?`${f.value}`:u("Flow Builder"));N(m,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 C=async()=>{try{if(!h.value){s.error(u("Flow Builder is not initialized"));return}const t=h.value.getFlowData();m.value?(await r.updateAgent(m.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)=>(T(),R("div",L,[w("div",Q,[w("div",U,[w("h2",W,A(k.value),1)]),w("div",X,[c(n(j),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:C,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(P,{ref_key:"flowBuilderRef",ref:h,"initial-value":S.value,"agent-id":m.value},null,8,["initial-value","agent-id"])])]))}}),ee=J(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,K as u};

View File

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

View File

@ -1 +1 @@
import{d as c,A as t,J as s,_ as r,P as i,O as f,B as u,j as m,ak as b,H as v,c as y,g as l}from"./index-BKMgTEC4.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},g={key:0,class:"required"},p=c({__name:"Geolocation",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}`])},[s("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",g,"*")):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))}}),B=_(p,[["__scopeId","data-v-eb109610"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};
import{d as c,A as t,J as s,_ as r,P as i,O as f,B as u,j as m,al as b,H as v,c as y,g as l}from"./index-CxzRbgGD.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const x={class:"field-label"},g={key:0,class:"required"},p=c({__name:"Geolocation",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}`])},[s("label",x,[r(i(e.ctx.t(e.df.label||e.df.fieldname))+" ",1),e.df.reqd?(l(),t("span",g,"*")):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))}}),B=_(p,[["__scopeId","data-v-eb109610"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{k as _};

View File

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

View File

@ -1,4 +1,4 @@
import{d as x,w as d,g as l,A as p,J as u,_ as b,P as _,O as y,H as T,c as $,r as C}from"./index-BKMgTEC4.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H={class:"field-label"},L={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.df.label_layout||"vertical"),i=C(""),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,w as d,g as l,A as p,J as u,_ as b,P as _,O as y,H as T,c as $,r as C}from"./index-CxzRbgGD.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H={class:"field-label"},L={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.df.label_layout||"vertical"),i=C(""),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 x from"./FormBuilder-BqZB0d5e.js";import{d as C,a8 as B,o as L,f as M,A as d,B as S,J as m,_ as E,P as N,O,H as T,c as n,r as H,g as i}from"./index-BKMgTEC4.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={key:0,class:"form-builder-field"},w={class:"field-label"},D={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=B(),s=H(null),v=n(()=>e.df.label_layout||"vertical"),a=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(!a.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 s.value?s.value.getFields():null}function h(){if(!a.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(){h()}L(()=>{window.addEventListener("sync-form-builder-fields",f)}),M(()=>{window.removeEventListener("sync-form-builder-fields",f)});function u(t){if(e.canEdit&&a.value)try{const o=JSON.stringify(t);e.record&&(e.record.fields=o)}catch(o){console.error("Failed to update fields:",o)}}function F(t){u(t),e.ctx?.t&&p.success(e.ctx.t("Fields updated"))}function b(t){}return y({getLatestFields:c}),(t,o)=>a.value?(i(),d("div",z,[S(x,{ref_key:"formBuilderRef",ref:s,fields:_.value,pagetype:g.value,"pagetype-record":r.record,readOnly:!r.canEdit,isCustomizeForm:l.value,"onUpdate:fields":u,onSave:F,onDirtyChange:b},null,8,["fields","pagetype","pagetype-record","readOnly","isCustomizeForm"])])):(i(),d("div",{key:1,class:T(["field-wrapper",`layout-${v.value}`])},[m("label",w,[E(N(r.ctx.t(r.df.label||r.df.fieldname))+" ",1),r.df.reqd?(i(),d("span",D,"*")):O("",!0)]),m("div",{class:"html-content",innerHTML:r.record[r.df.fieldname]},null,8,J)],2))}}),A=k(V,[["__scopeId","data-v-9dbf3eec"]]),q=Object.freeze(Object.defineProperty({__proto__:null,default:A},Symbol.toStringTag,{value:"Module"}));export{A as H,q as _};
import x from"./FormBuilder-CxsK4xYK.js";import{d as C,a9 as B,o as L,f as M,A as d,B as S,J as m,_ as E,P as N,O,H as T,c as n,r as H,g as i}from"./index-CxzRbgGD.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";const z={key:0,class:"form-builder-field"},w={class:"field-label"},D={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=B(),s=H(null),v=n(()=>e.df.label_layout||"vertical"),a=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(!a.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 s.value?s.value.getFields():null}function h(){if(!a.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(){h()}L(()=>{window.addEventListener("sync-form-builder-fields",f)}),M(()=>{window.removeEventListener("sync-form-builder-fields",f)});function u(t){if(e.canEdit&&a.value)try{const o=JSON.stringify(t);e.record&&(e.record.fields=o)}catch(o){console.error("Failed to update fields:",o)}}function F(t){u(t),e.ctx?.t&&p.success(e.ctx.t("Fields updated"))}function b(t){}return y({getLatestFields:c}),(t,o)=>a.value?(i(),d("div",z,[S(x,{ref_key:"formBuilderRef",ref:s,fields:_.value,pagetype:g.value,"pagetype-record":r.record,readOnly:!r.canEdit,isCustomizeForm:l.value,"onUpdate:fields":u,onSave:F,onDirtyChange:b},null,8,["fields","pagetype","pagetype-record","readOnly","isCustomizeForm"])])):(i(),d("div",{key:1,class:T(["field-wrapper",`layout-${v.value}`])},[m("label",w,[E(N(r.ctx.t(r.df.label||r.df.fieldname))+" ",1),r.df.reqd?(i(),d("span",D,"*")):O("",!0)]),m("div",{class:"html-content",innerHTML:r.record[r.df.fieldname]},null,8,J)],2))}}),A=k(V,[["__scopeId","data-v-9dbf3eec"]]),q=Object.freeze(Object.defineProperty({__proto__:null,default:A},Symbol.toStringTag,{value:"Module"}));export{A as H,q as _};

View File

@ -1 +1 @@
import{l as H}from"./index-w6PwaWGP.js";import{d as M,w as v,o as V,M as T,A as d,J as c,_ as u,P as f,O,i as x,C as g,j as h,al as _,H as S,B as q,c as b,r as p,g as i,n as w}from"./index-BKMgTEC4.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},P={key:0,class:"required"},W={class:"html-editor"},j={class:"html-editor__toolbar"},$=["innerHTML"],I={class:"html-editor__actions"},A=M({__name:"HTMLEditor",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(o){const a=o,k=b(()=>a.df.label_layout||"vertical"),n=p(null);let m=null,e=null;const s=p(!1),r=p("preview"),L=b(()=>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:S(["field-wrapper",`layout-${k.value}`])},[c("label",N,[u(f(o.ctx.t(o.df.label||o.df.fieldname))+" ",1),o.df.reqd?(i(),d("span",P,"*")):O("",!0)]),c("div",W,[c("div",j,[r.value==="edit"?(i(),x(h(_),{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(),x(h(_),{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:L.value},null,8,$)):(i(),d("div",{key:1,ref_key:"editorHost",ref:n,class:S(["html-editor__monaco",{collapsed:!s.value}])},null,2)),c("div",I,[q(h(_),{size:"tiny",quaternary:"",onClick:E},{default:g(()=>[u(f(s.value?o.ctx.t("Collapse"):o.ctx.t("Expand")),1)]),_:1})])])],2))}}),J=D(A,[["__scopeId","data-v-4ffe6731"]]),K=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"}));export{K as _};
import{l as H}from"./index-w6PwaWGP.js";import{d as M,w as v,o as V,M as T,A as d,J as c,_ as u,P as f,O,i as x,C as g,j as h,am as _,H as S,B as q,c as b,r as p,g as i,n as w}from"./index-CxzRbgGD.js";import{_ as D}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"field-label"},P={key:0,class:"required"},W={class:"html-editor"},j={class:"html-editor__toolbar"},$=["innerHTML"],I={class:"html-editor__actions"},A=M({__name:"HTMLEditor",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(o){const a=o,k=b(()=>a.df.label_layout||"vertical"),n=p(null);let m=null,e=null;const s=p(!1),r=p("preview"),L=b(()=>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:S(["field-wrapper",`layout-${k.value}`])},[c("label",N,[u(f(o.ctx.t(o.df.label||o.df.fieldname))+" ",1),o.df.reqd?(i(),d("span",P,"*")):O("",!0)]),c("div",W,[c("div",j,[r.value==="edit"?(i(),x(h(_),{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(),x(h(_),{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:L.value},null,8,$)):(i(),d("div",{key:1,ref_key:"editorHost",ref:n,class:S(["html-editor__monaco",{collapsed:!s.value}])},null,2)),c("div",I,[q(h(_),{size:"tiny",quaternary:"",onClick:E},{default:g(()=>[u(f(s.value?o.ctx.t("Collapse"):o.ctx.t("Expand")),1)]),_:1})])])],2))}}),J=D(A,[["__scopeId","data-v-4ffe6731"]]),K=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"}));export{K as _};

View File

@ -1 +1 @@
import{I as a}from"./iconify-C3WFuLkb.js";import{d as x,g as l,A as u,H as B,J as s,j as e,t as n,B as c,aF as g,C as k,O as M,c as m,h as v}from"./index-BKMgTEC4.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H=["contenteditable","innerHTML"],N={key:0,class:"block-header-actions"},T=["title"],y=["title"],D=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:B(["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,y)]),_:1},8,["options"])])):M("",!0)],2))}}),z=C(D,[["__scopeId","data-v-3cd04ff6"]]);export{z as default};
import{I as a}from"./iconify-DZGToCsy.js";import{d as x,g as l,A as u,H as B,J as s,j as e,t as n,B as c,aG as g,C as k,O as M,c as m,h as v}from"./index-CxzRbgGD.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const H=["contenteditable","innerHTML"],N={key:0,class:"block-header-actions"},T=["title"],y=["title"],D=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:B(["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,y)]),_:1},8,["options"])])):M("",!0)],2))}}),z=C(D,[["__scopeId","data-v-3cd04ff6"]]);export{z as default};

View File

@ -1 +1 @@
import{d as h,a8 as g,w,i as _,j as e,aA as b,t as s,C,c,g as N,J as n,_ as k,P as B,B as H,ak as y,Q as D}from"./index-BKMgTEC4.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"dialog-content"},M={class:"form-field"},P={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(),l=c({get:()=>o.show,set:a=>u("update:show",a)}),r=c(()=>!!o.values?.name),t=D({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),l.value=!1,!0}function x(){l.value=!1}return(a,i)=>(N(),_(e(b),{show:l.value,"onUpdate:show":i[1]||(i[1]=d=>l.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",M,[n("label",P,[k(B(e(s)("Header Text"))+" ",1),i[2]||(i[2]=n("span",{class:"required"},"*",-1))]),H(e(y),{value:t.text,"onUpdate:value":i[0]||(i[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"]))}}),T=S(V,[["__scopeId","data-v-4cb5a647"]]);export{T as default};
import{d as h,a9 as g,w,i as _,j as e,aB as b,t as s,C,c,g as B,J as n,_ as N,P as H,B as k,al as y,Q as D}from"./index-CxzRbgGD.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"dialog-content"},P={class:"form-field"},V={class:"field-label"},A=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=D({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)=>(B(),_(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",M,[n("div",P,[n("label",V,[N(H(e(s)("Header Text"))+" ",1),l[2]||(l[2]=n("span",{class:"required"},"*",-1))]),k(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"]))}}),T=S(A,[["__scopeId","data-v-4cb5a647"]]);export{T as default};

View File

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

View File

@ -1 +1 @@
import{I as d}from"./iconify-C3WFuLkb.js";import h from"./IconPicker-DfA3hMuR.js";import{d as _,A as o,J as r,_ as b,P as v,O as y,i as c,j as i,ak as g,H as x,c as m,r as I,g as e}from"./index-BKMgTEC4.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={class:"field-label"},w={key:0,class:"required"},B={class:"icon-field-content"},C=["title"],V={key:1,class:"icon-display"},N={key:1,class:"icon-placeholder"},j={class:"icon-value-display"},O={key:0,class:"field-value-text"},S=_({__name:"Icon",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(l){const t=l,k=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 p(){u.value?.open()}return(f,n)=>(e(),o("div",{class:x(["field-wrapper",`layout-${k.value}`])},[r("label",P,[b(v(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(e(),o("span",w,"*")):y("",!0)]),r("div",B,[l.canEdit?(e(),o("div",{key:0,class:"icon-display clickable",onClick:p,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,C)):(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",j,[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",O,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))}}),q=E(S,[["__scopeId","data-v-5f2b6189"]]),$=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));export{$ as _};
import{I as d}from"./iconify-DZGToCsy.js";import h from"./IconPicker-BXrXvw_6.js";import{d as _,A as o,J as r,_ as b,P as v,O as y,i as c,j as i,al as g,H as x,c as m,r as I,g as e}from"./index-CxzRbgGD.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={class:"field-label"},w={key:0,class:"required"},B={class:"icon-field-content"},C=["title"],V={key:1,class:"icon-display"},N={key:1,class:"icon-placeholder"},j={class:"icon-value-display"},O={key:0,class:"field-value-text"},S=_({__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",P,[b(v(l.ctx.t(l.df.label||l.df.fieldname))+" ",1),l.df.reqd?(e(),o("span",w,"*")):y("",!0)]),r("div",B,[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,C)):(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",j,[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",O,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))}}),q=E(S,[["__scopeId","data-v-5f2b6189"]]),$=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));export{$ as _};

View File

@ -1 +1 @@
import{d as v,o as f,A as n,J as t,P as p,O as c,r as y,c as i,g as l}from"./index-BKMgTEC4.js";import{_ as h}from"./_plugin-vue_export-helper-DlAUqK2U.js";const I={key:0,class:"form-field"},b={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"},O=v({__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);f(()=>{});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",I,[t("div",b,[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,p(a.value),1)])):c("",!0)]),o[2]||(o[2]=t("div",{class:"clearfix"},null,-1))])])])):c("",!0)}}),S=h(O,[["__scopeId","data-v-921bd1a3"]]),M=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{M as _};
import{d as v,o as f,A as n,J as t,P as p,O as c,r as y,c as i,g as l}from"./index-CxzRbgGD.js";import{_ as h}from"./_plugin-vue_export-helper-DlAUqK2U.js";const I={key:0,class:"form-field"},b={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"},O=v({__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);f(()=>{});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",I,[t("div",b,[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,p(a.value),1)])):c("",!0)]),o[2]||(o[2]=t("div",{class:"clearfix"},null,-1))])])])):c("",!0)}}),S=h(O,[["__scopeId","data-v-921bd1a3"]]),M=Object.freeze(Object.defineProperty({__proto__:null,default:S},Symbol.toStringTag,{value:"Module"}));export{M as _};

View File

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

View File

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

View File

@ -1 +1 @@
import{d as B,a8 as R,g as d,A as m,J as u,H as b,B as k,j as v,O as y,a6 as E,t as n,r as M,c as f}from"./index-BKMgTEC4.js";import{uploadFileToJingrow as U,updateRecord as I,getRecordAttachments as x,deleteAttachment as S}from"./common-DrLpzQVu.js";import{I as C}from"./iconify-C3WFuLkb.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const $={key:0,class:"media-section"},J={class:"image-grid"},j=["src","alt"],z={key:2,class:"image-overlay"},H=["title"],O=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,o=a.files?.[0];if(!o)return;const s=r.value;if(!(!s||!e.entity||!e.id))try{i.loading(n("Uploading..."),{duration:0});const l=await U(o,e.entity,e.id,s);i.destroyAll(),l.success&&l.file_url?(e.record[s]=l.file_url,await I(e.entity,e.id,{[s]:l.file_url}),h("refresh")):i.error(l.error||n("Upload failed"))}catch(l){i.destroyAll(),i.error(l.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 s=(await x(e.entity,e.id)).data?.find(l=>l.file_url===a);s&&await S(s.name)}e.record[t]="",await I(e.entity,e.id,{[t]:""}),i.destroyAll(),h("refresh")}catch(o){i.destroyAll(),i.error(o.message||n("Remove failed"))}}return(t,a)=>A.value?(d(),m("div",$,[u("div",J,[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]=o=>t.$emit("open-gallery",c.value))},null,8,j)):g.canEdit?(d(),m("div",{key:1,class:"upload-placeholder",onClick:a[1]||(a[1]=o=>_.value?.click())},[k(v(C),{icon:"tabler:upload",class:"upload-icon"})])):y("",!0),g.canEdit&&p.value?(d(),m("div",z,[u("button",{class:"delete-btn",title:v(n)("Remove"),onClick:E(N,["stop"])},[k(v(C),{icon:"tabler:x"})],8,H)])):y("",!0),u("input",{ref_key:"fileInput",ref:_,type:"file",accept:"image/*",style:{display:"none"},onChange:F},null,544)],2)])])):y("",!0)}}),K=V(O,[["__scopeId","data-v-a1daf34d"]]);export{K as default};
import{d as B,a9 as R,g as d,A as m,J as u,H as b,B as k,j as v,O as y,a7 as E,t as n,r as M,c as f}from"./index-CxzRbgGD.js";import{uploadFileToJingrow as U,updateRecord as I,getRecordAttachments as x,deleteAttachment as S}from"./common-DdS-f8pi.js";import{I as C}from"./iconify-DZGToCsy.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const $={key:0,class:"media-section"},J={class:"image-grid"},j=["src","alt"],z={key:2,class:"image-overlay"},H=["title"],O=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,o=a.files?.[0];if(!o)return;const s=r.value;if(!(!s||!e.entity||!e.id))try{i.loading(n("Uploading..."),{duration:0});const l=await U(o,e.entity,e.id,s);i.destroyAll(),l.success&&l.file_url?(e.record[s]=l.file_url,await I(e.entity,e.id,{[s]:l.file_url}),h("refresh")):i.error(l.error||n("Upload failed"))}catch(l){i.destroyAll(),i.error(l.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 s=(await x(e.entity,e.id)).data?.find(l=>l.file_url===a);s&&await S(s.name)}e.record[t]="",await I(e.entity,e.id,{[t]:""}),i.destroyAll(),h("refresh")}catch(o){i.destroyAll(),i.error(o.message||n("Remove failed"))}}return(t,a)=>A.value?(d(),m("div",$,[u("div",J,[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]=o=>t.$emit("open-gallery",c.value))},null,8,j)):g.canEdit?(d(),m("div",{key:1,class:"upload-placeholder",onClick:a[1]||(a[1]=o=>_.value?.click())},[k(v(C),{icon:"tabler:upload",class:"upload-icon"})])):y("",!0),g.canEdit&&p.value?(d(),m("div",z,[u("button",{class:"delete-btn",title:v(n)("Remove"),onClick:E(N,["stop"])},[k(v(C),{icon:"tabler:x"})],8,H)])):y("",!0),u("input",{ref_key:"fileInput",ref:_,type:"file",accept:"image/*",style:{display:"none"},onChange:F},null,544)],2)])])):y("",!0)}}),K=V(O,[["__scopeId","data-v-a1daf34d"]]);export{K as default};

View File

@ -1 +1 @@
import{d as w,r as x,w as c,i as V,C as t,j as e,aA as B,g as v,J as u,B as n,aX as C,_ as g,P as r,am as I,t as i,al as N}from"./index-BKMgTEC4.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={class:"progress-content"},P=w({__name:"InstallProgressModal",props:{modelValue:{type:Boolean},progress:{},message:{},status:{},installing:{type:Boolean},title:{}},emits:["update:modelValue"],setup(a,{emit:m}){const o=a,p=m,s=x(o.modelValue);c(()=>o.modelValue,l=>{s.value=l}),c(s,l=>{p("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(N),{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(C),{percentage:a.progress,"show-indicator":!0,color:"#10b981"},null,8,["percentage"]),n(e(I),{class:"progress-text"},{default:t(()=>[g(r(a.message),1)]),_:1})])]),_:1},8,["show"]))}}),M=_(P,[["__scopeId","data-v-fee9acec"]]);export{M as I};
import{d as w,r as x,w as c,i as B,C as t,j as e,aB as V,g as v,J as u,B as n,aY as C,_ as g,P as r,an as I,t as i,am as N}from"./index-CxzRbgGD.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={class:"progress-content"},P=w({__name:"InstallProgressModal",props:{modelValue:{type:Boolean},progress:{},message:{},status:{},installing:{type:Boolean},title:{}},emits:["update:modelValue"],setup(a,{emit:m}){const o=a,p=m,s=x(o.modelValue);c(()=>o.modelValue,l=>{s.value=l}),c(s,l=>{p("update:modelValue",l)});function f(){o.installing||(s.value=!1)}return(l,d)=>(v(),B(e(V),{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(N),{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(C),{percentage:a.progress,"show-indicator":!0,color:"#10b981"},null,8,["percentage"]),n(e(I),{class:"progress-text"},{default:t(()=>[g(r(a.message),1)]),_:1})])]),_:1},8,["show"]))}}),M=_(P,[["__scopeId","data-v-fee9acec"]]);export{M as I};

View File

@ -1 +1 @@
import{I as y}from"./iconify-C3WFuLkb.js";import{d as N,a8 as j,af as B,t as e,h as u,al as f,a as g,o as F,A as T,J as r,B as l,C as o,j as n,av as v,_ as x,P as m,aq as U,r as c,g as S,aH as V}from"./index-BKMgTEC4.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"},q={class:"apps-section"},G=N({__name:"InstalledApps",setup(H){const _=c([]),i=c(!1),h=c(!1),p=c(null),t=j(),A=B(),k=[{title:e("App Name"),key:"name",width:200},{title:e("Version"),key:"version",width:100,render:a=>a.version||"1.0.0"},{title:e("Git Branch"),key:"git_branch",width:120,render:a=>a.git_branch||"main"},{title:e("Actions"),key:"actions",width:280,render:a=>u("div",{class:"action-buttons"},[u(f,{size:"small",type:"default",loading:p.value===a.name,disabled:a.name==="jingrow",onClick:()=>w(a)},{default:()=>e("Export Package")}),u(f,{size:"small",type:"error",style:"margin-left: 8px;",disabled:!a.uninstallable,onClick:()=>C(a)},{default:()=>a.uninstallable?e("Uninstall"):e("System App")})])}],d=async()=>{try{i.value=!0;const a=await g.get("/jingrow/installed-apps");a.data.success?_.value=a.data.data.apps||[]:t.error(a.data.error||e("Failed to load apps"))}catch(a){console.error("Load apps error:",a),t.error(a.response?.data?.error||e("Failed to load apps"))}finally{i.value=!1}},b=()=>{d()},w=async a=>{if(a.name==="jingrow"){t.warning(e("System App")+" "+e("cannot be exported"));return}try{p.value=a.name;const s=await g.post(`/jingrow/export-app-package/${a.name}`,{});if(s.data.success){if(t.success(e("App package exported successfully: {0}").replace("{0}",s.data.filename||a.name)),s.data.filename){const I=`/files/${s.data.filename}`;window.open(I,"_blank")}}else t.error(s.data.error||e("Failed to export app package"))}catch(s){console.error("Export app error:",s),t.error(s.response?.data?.error||e("Failed to export app package"))}finally{p.value=null}},C=async a=>{if(!a.uninstallable){t.warning(e("System App")+" "+e("cannot be uninstalled"));return}A.warning({title:e("Uninstall App"),content:e("Are you sure you want to uninstall '{0}'? This action cannot be undone.").replace("{0}",a.name),positiveText:e("Uninstall"),negativeText:e("Cancel"),onPositiveClick:async()=>{try{h.value=!0;const s=await g.post(`/jingrow/uninstall/${a.name}`,{});s.data.success?(t.success(e("App '{0}' uninstalled successfully").replace("{0}",a.name)),await d()):t.error(s.data.error||e("Failed to uninstall app"))}catch(s){console.error("Uninstall app error:",s),t.error(s.response?.data?.error||e("Failed to uninstall app"))}finally{h.value=!1}}})};return F(()=>{d()}),(a,s)=>(S(),T("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(e)("Installed Apps")),1)]),r("p",z,m(n(e)("Manage your locally installed applications")),1)])]),r("div",q,[l(n(U),{class:"apps-card"},{"header-extra":o(()=>[l(n(f),{onClick:b,loading:i.value},{icon:o(()=>[l(n(v),null,{default:o(()=>[l(n(y),{icon:"tabler:refresh"})]),_:1})]),default:o(()=>[x(" "+m(n(e)("Refresh")),1)]),_:1},8,["loading"])]),default:o(()=>[l(n(V),{columns:k,data:_.value,loading:i.value,pagination:!1},null,8,["data","loading"])]),_:1})])]))}}),K=D(G,[["__scopeId","data-v-ff60a689"]]);export{K as default};
import{I as y}from"./iconify-DZGToCsy.js";import{d as N,a9 as j,ag as B,t as e,h as u,am as f,a as g,o as F,A as T,J as r,B as l,C as o,j as n,aw as v,_ as x,P as m,ar as U,r as c,g as S,aI as V}from"./index-CxzRbgGD.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=j(),A=B(),k=[{title:e("App Name"),key:"name",width:200},{title:e("Version"),key:"version",width:100,render:a=>a.version||"1.0.0"},{title:e("Git Branch"),key:"git_branch",width:120,render:a=>a.git_branch||"main"},{title:e("Actions"),key:"actions",width:280,render:a=>u("div",{class:"action-buttons"},[u(f,{size:"small",type:"default",loading:p.value===a.name,disabled:a.name==="jingrow",onClick:()=>b(a)},{default:()=>e("Export Package")}),u(f,{size:"small",type:"error",style:"margin-left: 8px;",disabled:!a.uninstallable,onClick:()=>C(a)},{default:()=>a.uninstallable?e("Uninstall"):e("System App")})])}],d=async()=>{try{i.value=!0;const a=await g.get("/jingrow/installed-apps");a.data.success?_.value=a.data.data.apps||[]:t.error(a.data.error||e("Failed to load apps"))}catch(a){console.error("Load apps error:",a),t.error(a.response?.data?.error||e("Failed to load apps"))}finally{i.value=!1}},w=()=>{d()},b=async a=>{if(a.name==="jingrow"){t.warning(e("System App")+" "+e("cannot be exported"));return}try{p.value=a.name;const s=await g.post(`/jingrow/export-app-package/${a.name}`,{});if(s.data.success){if(t.success(e("App package exported successfully: {0}").replace("{0}",s.data.filename||a.name)),s.data.filename){const I=`/files/${s.data.filename}`;window.open(I,"_blank")}}else t.error(s.data.error||e("Failed to export app package"))}catch(s){console.error("Export app error:",s),t.error(s.response?.data?.error||e("Failed to export app package"))}finally{p.value=null}},C=async a=>{if(!a.uninstallable){t.warning(e("System App")+" "+e("cannot be uninstalled"));return}A.warning({title:e("Uninstall App"),content:e("Are you sure you want to uninstall '{0}'? This action cannot be undone.").replace("{0}",a.name),positiveText:e("Uninstall"),negativeText:e("Cancel"),onPositiveClick:async()=>{try{h.value=!0;const s=await g.post(`/jingrow/uninstall/${a.name}`,{});s.data.success?(t.success(e("App '{0}' uninstalled successfully").replace("{0}",a.name)),await d()):t.error(s.data.error||e("Failed to uninstall app"))}catch(s){console.error("Uninstall app error:",s),t.error(s.response?.data?.error||e("Failed to uninstall app"))}finally{h.value=!1}}})};return F(()=>{d()}),(a,s)=>(S(),T("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(e)("Installed Apps")),1)]),r("p",z,m(n(e)("Manage your locally installed applications")),1)])]),r("div",G,[l(n(U),{class:"apps-card"},{"header-extra":o(()=>[l(n(f),{onClick:w,loading:i.value},{icon:o(()=>[l(n(v),null,{default:o(()=>[l(n(y),{icon:"tabler:refresh"})]),_:1})]),default:o(()=>[x(" "+m(n(e)("Refresh")),1)]),_:1},8,["loading"])]),default:o(()=>[l(n(V),{columns:k,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,A as d,J as u,_ as f,P as m,O as _,B as b,j as p,aD as v,H as y,c as n,g as s}from"./index-BKMgTEC4.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},x={key:0,class:"required"},B=i({__name:"Int",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const t=e,r=n(()=>t.df.label_layout||"vertical"),l=n({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)=>(s(),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?(s(),d("span",x,"*")):_("",!0)]),b(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))}}),V=N(B,[["__scopeId","data-v-5b1ef029"]]),k=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"}));export{k as _};
import{d as i,A as d,J as u,_ as f,P as m,O as _,B as b,j as p,aE as v,H as y,c as n,g as s}from"./index-CxzRbgGD.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},x={key:0,class:"required"},B=i({__name:"Int",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const t=e,r=n(()=>t.df.label_layout||"vertical"),l=n({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)=>(s(),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?(s(),d("span",x,"*")):_("",!0)]),b(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))}}),V=N(B,[["__scopeId","data-v-5b1ef029"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"}));export{j as _};

View File

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

View File

@ -0,0 +1 @@
import{_ as e}from"./Jeditor.vue_vue_type_style_index_0_lang-5vrW5zg1.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-CyNux5-l.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,w as q,o as ae,f as ne,A as c,_ as le,P as L,O as _,J as I,B as h,j as l,ak as se,i as oe,C as $,t as s,a6 as z,al as P,K as ie,L as ce,H as R,c as x,r,a as U,g as o,av as K,aG as N}from"./index-BKMgTEC4.js";import{I as E}from"./iconify-C3WFuLkb.js";import{getPageTypeMeta as ue}from"./common-DrLpzQVu.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),O=r({}),g=r({}),f=x(()=>n.df.options||""),S=x(()=>!!d.value),A=x(()=>n.df.max_options||20);q(()=>n.record[n.df.fieldname],async e=>{e!==d.value&&(d.value=e||"",e&&f.value?y.value=await H(f.value,e):y.value="")},{immediate:!0}),q(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 G(e){if(!e)return{};if(O.value[e])return O.value[e];try{const t=await ue(e),a=t.success&&t.data?t.data:{};return O.value[e]=a,a}catch{return{}}}async function H(e,t){if(!e||!t)return t;const a=`${e}_${t}`;if(g.value[a])return g.value[a];try{const p=await G(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 U.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)).data?.data||{})[i]||t,j=s(ee);return g.value[a]=j,j}catch{return s(t)}}function T(){return{label:`${s("Create")}${s(f.value)}`,value:"create_new",type:"create"}}async function F(e=""){if(f.value){b.value=!0;try{const t=await U.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,T()]}else k.value=[T()]}catch{k.value=[T()]}finally{b.value=!1}}}function J(e){m.value=e,v.value&&F(e)}async function D(){n.canEdit&&(v.value||(await F(m.value),v.value=!0))}async function Q(e){if(e.type==="create"){const t=N(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=N(f.value);window.open(`/app/${e}/${d.value}`,"_blank")}function Y(){B.value=S.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:R(["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:S.value?y.value:m.value,placeholder:"",disabled:!u.canEdit,"onUpdate:value":J,onClick:D,onFocus:D,class:"link-input"},null,8,["value","disabled"]),B.value&&S.value?(o(),c("div",pe,[u.canEdit?(o(),oe(l(P),{key:0,size:"small",quaternary:"",onClick:z(W,["stop"]),title:l(s)("Clear"),class:"action-btn"},{icon:$(()=>[h(l(K),null,{default:$(()=>[h(l(E),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),h(l(P),{size:"small",quaternary:"",onClick:z(X,["stop"]),title:l(s)("Open Detail"),class:"action-btn"},{icon:$(()=>[h(l(K),null,{default:$(()=>[h(l(E),{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:R(["dropdown-item",{"create-item":a.type==="create"}]),onClick:p=>Q(a)},[a.type==="create"?(o(),c("span",me,[h(l(E),{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"]]),Se=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Ce as L,Se as _};
import{d as te,w as q,o as ae,f as ne,A as c,_ as le,P as L,O as _,J as I,B as h,j as l,al as se,i as oe,C as $,t as s,a7 as z,am as P,K as ie,L as ce,H as R,c as x,r,a as U,g as o,aw as H,aH as K}from"./index-CxzRbgGD.js";import{I as E}from"./iconify-DZGToCsy.js";import{getPageTypeMeta as ue}from"./common-DdS-f8pi.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,N=x(()=>n.df.label_layout||"vertical"),d=r(""),y=r(""),m=r(""),B=r(!1),v=r(!1),k=r([]),b=r(!1),O=r({}),g=r({}),f=x(()=>n.df.options||""),S=x(()=>!!d.value),V=x(()=>n.df.max_options||20);q(()=>n.record[n.df.fieldname],async e=>{e!==d.value&&(d.value=e||"",e&&f.value?y.value=await J(f.value,e):y.value="")},{immediate:!0}),q(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 A(e){if(!e)return{};if(O.value[e])return O.value[e];try{const t=await ue(e),a=t.success&&t.data?t.data:{};return O.value[e]=a,a}catch{return{}}}async function J(e,t){if(!e||!t)return t;const a=`${e}_${t}`;if(g.value[a])return g.value[a];try{const p=await A(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 U.get(`/api/data/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)).data?.data||{})[i]||t,j=s(ee);return g.value[a]=j,j}catch{return s(t)}}function T(){return{label:`${s("Create")}${s(f.value)}`,value:"create_new",type:"create"}}async function F(e=""){if(f.value){b.value=!0;try{const t=await U.post("/api/action/jingrow.desk.search.search_link",{pagetype:f.value,txt:e||"",page_length:V.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,T()]}else k.value=[T()]}catch{k.value=[T()]}finally{b.value=!1}}}function Q(e){m.value=e,v.value&&F(e)}async function D(){n.canEdit&&(v.value||(await F(m.value),v.value=!0))}async function G(e){if(e.type==="create"){const t=K(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=K(f.value);window.open(`/app/${e}/${d.value}`,"_blank")}function Y(){B.value=S.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:R(["field-wrapper",`layout-${N.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:S.value?y.value:m.value,placeholder:"",disabled:!u.canEdit,"onUpdate:value":Q,onClick:D,onFocus:D,class:"link-input"},null,8,["value","disabled"]),B.value&&S.value?(o(),c("div",pe,[u.canEdit?(o(),oe(l(P),{key:0,size:"small",quaternary:"",onClick:z(W,["stop"]),title:l(s)("Clear"),class:"action-btn"},{icon:$(()=>[h(l(H),null,{default:$(()=>[h(l(E),{icon:"mdi:close"})]),_:1})]),_:1},8,["title"])):_("",!0),h(l(P),{size:"small",quaternary:"",onClick:z(X,["stop"]),title:l(s)("Open Detail"),class:"action-btn"},{icon:$(()=>[h(l(H),null,{default:$(()=>[h(l(E),{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:R(["dropdown-item",{"create-item":a.type==="create"}]),onClick:p=>G(a)},[a.type==="create"?(o(),c("span",me,[h(l(E),{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"]]),Se=Object.freeze(Object.defineProperty({__proto__:null,default:Ce},Symbol.toStringTag,{value:"Module"}));export{Ce as L,Se as _};

View File

@ -1 +1 @@
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{z as y,j as d,g as l,A as o,J as n,D as i,O as r,H as p,P as b}from"./index-BKMgTEC4.js";const v=["data-fieldtype"],k={class:"field-controls"},_=["innerHTML"],h={key:1,class:"control"},L={class:"control-label label"},V=["value","disabled"],H=["innerHTML"],g={__name:"LinkControl",props:["args","df","read_only","modelValue"],emits:["update:modelValue"],setup(e,{emit:c}){let u=c,s=y();function f(t){u("update:modelValue",t.target.value)}return(t,a)=>d(s).label?(l(),o("div",{key:0,class:p(["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,b(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,H)):r("",!0)]))}},T=m(g,[["__scopeId","data-v-c7663e61"]]);export{T as default};
import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{z as y,j as d,g as l,A as o,J as n,D as i,O as r,H as p,P as b}from"./index-CxzRbgGD.js";const v=["data-fieldtype"],k={class:"field-controls"},_=["innerHTML"],h={key:1,class:"control"},L={class:"control-label label"},V=["value","disabled"],H=["innerHTML"],g={__name:"LinkControl",props:["args","df","read_only","modelValue"],emits:["update:modelValue"],setup(e,{emit:c}){let u=c,s=y();function f(t){u("update:modelValue",t.target.value)}return(t,a)=>d(s).label?(l(),o("div",{key:0,class:p(["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,b(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,H)):r("",!0)]))}},T=m(g,[["__scopeId","data-v-c7663e61"]]);export{T as default};

View File

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

View File

@ -1 +1 @@
import{d as y,a8 as k,ah as C,r as m,o as I,A as P,J as i,P as _,B as o,C as l,ab as x,j as t,ai as z,e as S,g as j,aj as g,ak as w,al as B,_ as U,Q as A}from"./index-BKMgTEC4.js";import{_ as R}from"./logo-CrT-C5Op.js";import{I as v}from"./iconify-C3WFuLkb.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"login-container"},D={class:"login-card"},F={class:"login-header"},J={class:"logo"},K=["alt"],M={class:"title"},E=y({__name:"Login",setup(Q){const L=S(),c=k(),u=C(),N=()=>"zh-CN",s=e=>{const n=N(),a={"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"&&a["zh-CN"]?.[e]?a["zh-CN"][e]:e},f=m(),d=m(!1),r=A({username:"",password:""}),b={username:[{required:!0,message:s("Please enter username"),trigger:"blur"}],password:[{required:!0,message:s("Please enter password"),trigger:"blur"},{min:6,message:s("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(s("Login successful")),window.location.reload()):c.error(e.error||s("Login failed"))}catch(e){console.error("Login error:",e),c.error(s("Login failed, please check username and password"))}finally{d.value=!1}},p=m(localStorage.getItem("appName")||"Jingrow");return I(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 a=(await e.json()).message;a&&(localStorage.setItem("appName",a),p.value=a)}}catch{}await u.initAuth(),u.isLoggedIn&&L.push("/")}),(e,n)=>(j(),P("div",q,[i("div",D,[i("div",F,[i("div",J,[i("img",{src:R,alt:p.value,width:"48",height:"48"},null,8,K)]),i("h1",M,_(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]=a=>r.username=a),placeholder:s("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]=a=>r.password=a),type:"password",placeholder:s("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(B),{type:"primary",size:"large",block:"",loading:d.value,onClick:h,class:"brand-button"},{default:l(()=>[U(_(s("Login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]))}}),W=V(E,[["__scopeId","data-v-54889905"]]);export{W as default};
import{d as y,a9 as k,ai as C,r as m,o as I,A as P,J as i,P as _,B as o,C as l,ac as x,j as t,aj as z,e as S,g as j,ak as g,al as w,am as B,_ as U,Q as A}from"./index-CxzRbgGD.js";import{_ as R}from"./logo-CrT-C5Op.js";import{I as v}from"./iconify-DZGToCsy.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";const q={class:"login-container"},D={class:"login-card"},F={class:"login-header"},J={class:"logo"},K=["alt"],M={class:"title"},E=y({__name:"Login",setup(Q){const L=S(),c=k(),u=C(),N=()=>"zh-CN",s=e=>{const n=N(),a={"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"&&a["zh-CN"]?.[e]?a["zh-CN"][e]:e},f=m(),d=m(!1),r=A({username:"",password:""}),b={username:[{required:!0,message:s("Please enter username"),trigger:"blur"}],password:[{required:!0,message:s("Please enter password"),trigger:"blur"},{min:6,message:s("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(s("Login successful")),window.location.reload()):c.error(e.error||s("Login failed"))}catch(e){console.error("Login error:",e),c.error(s("Login failed, please check username and password"))}finally{d.value=!1}},p=m(localStorage.getItem("appName")||"Jingrow");return I(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 a=(await e.json()).message;a&&(localStorage.setItem("appName",a),p.value=a)}}catch{}await u.initAuth(),u.isLoggedIn&&L.push("/")}),(e,n)=>(j(),P("div",q,[i("div",D,[i("div",F,[i("div",J,[i("img",{src:R,alt:p.value,width:"48",height:"48"},null,8,K)]),i("h1",M,_(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]=a=>r.username=a),placeholder:s("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]=a=>r.password=a),type:"password",placeholder:s("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(B),{type:"primary",size:"large",block:"",loading:d.value,onClick:h,class:"brand-button"},{default:l(()=>[U(_(s("Login")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]))}}),W=V(E,[["__scopeId","data-v-54889905"]]);export{W as default};

View File

@ -1 +1 @@
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as u,j as m,ak as b,H as v,c as x,g as l}from"./index-BKMgTEC4.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},_={key:0,class:"required"},p=s({__name:"LongText",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(N,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",_,"*")):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))}}),B=y(p,[["__scopeId","data-v-702319e4"]]),V=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{V as _};
import{d as s,A as t,J as c,_ as r,P as i,O as f,B as u,j as m,al as b,H as v,c as x,g as l}from"./index-CxzRbgGD.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const g={class:"field-label"},_={key:0,class:"required"},p=s({__name:"LongText",props:{df:{},record:{},canEdit:{type:Boolean},ctx:{}},setup(e){const o=e,d=x(()=>o.df.label_layout||"vertical");return(N,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",_,"*")):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))}}),B=y(p,[["__scopeId","data-v-702319e4"]]),j=Object.freeze(Object.defineProperty({__proto__:null,default:B},Symbol.toStringTag,{value:"Module"}));export{j as _};

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