@farris/ui-vue 1.7.0-beta.3 → 1.7.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/avatar/index.esm.js +10 -1
- package/components/avatar/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +178 -176
- package/components/calendar/index.umd.cjs +2 -2
- package/components/collection-property-editor/index.esm.js +48 -46
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +319 -300
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +2287 -1161
- package/components/comment/index.umd.cjs +7 -7
- package/components/component/index.esm.js +3 -1
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +926 -901
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-view/index.esm.js +898 -899
- package/components/data-view/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +3 -1
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +239 -221
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +11 -9
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/expression-editor/index.esm.js +1299 -1279
- package/components/expression-editor/index.umd.cjs +4 -4
- package/components/filter-bar/index.esm.js +731 -678
- package/components/filter-bar/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.esm.js +1792 -1772
- package/components/filter-condition-editor/index.umd.cjs +4 -4
- package/components/image/index.esm.js +246 -240
- package/components/image/index.umd.cjs +2 -2
- package/components/language-textbox/index.esm.js +9 -7
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-view/index.esm.js +1 -1
- package/components/list-view/index.umd.cjs +1 -1
- package/components/locale/index.esm.js +2009 -886
- package/components/locale/index.umd.cjs +6 -6
- package/components/number-range/index.esm.js +190 -181
- package/components/number-range/index.umd.cjs +1 -1
- package/components/order/index.esm.js +734 -714
- package/components/order/index.umd.cjs +5 -5
- package/components/property-panel/index.esm.js +60 -49
- package/components/property-panel/index.umd.cjs +3 -3
- package/components/query-solution/index.esm.js +2461 -2500
- package/components/query-solution/index.umd.cjs +6 -6
- package/components/radio-group/index.esm.js +30 -30
- package/components/radio-group/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +238 -238
- package/components/schema-selector/index.umd.cjs +4 -4
- package/components/section/index.esm.js +217 -302
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +1793 -1773
- package/components/sort-condition-editor/index.umd.cjs +4 -4
- package/components/transfer/index.esm.js +155 -155
- package/components/transfer/index.umd.cjs +3 -3
- package/designer/data-grid/index.esm.js +895 -867
- package/designer/data-grid/index.umd.cjs +5 -5
- package/designer/data-view/index.esm.js +145 -144
- package/designer/data-view/index.umd.cjs +2 -2
- package/designer/drawer/index.esm.js +73 -71
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +87 -65
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +14 -3
- package/designer/farris-designer.all.umd.cjs +3 -3
- package/designer/input-group/index.esm.js +34 -14
- package/designer/input-group/index.umd.cjs +1 -1
- package/designer/list-view/index.esm.js +1 -1
- package/designer/list-view/index.umd.cjs +1 -1
- package/designer/radio-group/index.esm.js +15 -2
- package/designer/radio-group/index.umd.cjs +1 -1
- package/designer/section/index.esm.js +129 -119
- package/designer/section/index.umd.cjs +1 -1
- package/designer/time-picker/index.esm.js +140 -131
- package/designer/time-picker/index.umd.cjs +1 -1
- package/farris.all.esm.js +13578 -12394
- package/farris.all.umd.cjs +26 -26
- package/index.css +1 -1
- package/locales/data-grid/ui/en.json +2 -1
- package/locales/data-grid/ui/zh-CHS.json +2 -1
- package/locales/data-grid/ui/zh-CHT.json +2 -1
- package/locales/designer/en.json +12 -10
- package/locales/designer/zh-CHS.json +19 -17
- package/locales/designer/zh-CHT.json +19 -17
- package/locales/ui/en.json +4 -2
- package/locales/ui/zh-CHS.json +11 -9
- package/locales/ui/zh-CHT.json +11 -9
- package/package.json +1 -1
- package/package.zip +0 -0
- package/types/combo-list/src/composition/types.d.ts +1 -0
- package/types/condition/src/composition/condition-value/number-spinner-value.d.ts +1 -1
- package/types/condition/src/composition/use-field-config.d.ts +1 -1
- package/types/condition/src/condition.props.d.ts +1 -1
- package/types/data-view/designer/property-config/use-command-option.d.ts +12 -0
- package/types/image/src/property-config/image.property-config.d.ts +5 -5
- package/types/locale/src/lib/locale.service.d.ts +2 -2
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +7 -0
- package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +0 -20
- package/types/section/src/designer/section.design.props.d.ts +17 -0
- package/types/section/src/section.props.d.ts +0 -25
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(H,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../button-edit/index.umd.js"),require("../locale/index.umd.js"),require("lodash-es"),require("../list-view/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js","../button-edit/index.umd.js","../locale/index.umd.js","lodash-es","../list-view/index.umd.js","../../designer/button-edit/index.umd.js","../property-panel/index.umd.js","../tree-view/index.umd.js","../tags/index.umd.js","../popover/index.umd.js"],t):(H=typeof globalThis<"u"?globalThis:H||self,t(H["expression-editor"]={},H.Vue,H.dynamicResolver,H.common,H.designerCanvas,H.FButtonEdit$1,H.locale,H.LodashES,H.FListView,H.FButtonEditDesign,H.propertyPanel,H.FTreeView,H.FTags,H.FPopover))})(this,function(H,t,U,ee,se,ye,G,ne,Ze,Qe,et,tt,nt,at){"use strict";var ga=Object.defineProperty;var va=(H,t,U)=>t in H?ga(H,t,{enumerable:!0,configurable:!0,writable:!0,value:U}):H[t]=U;var K=(H,t,U)=>va(H,typeof t!="symbol"?t+"":t,U);const Te={modelValue:{type:String,default:""},singleExpand:{type:Boolean,default:!0},entities:{type:Array,default:[]},variables:{type:Array,default:[]},disabledFunctions:{type:Object,default:null},esprimaPath:{type:String,default:"assets/esprima-config.json"},showMessage:{type:Boolean,default:!1},validateMessage:{type:String,default:""},messageType:{type:String,default:"info"},showMessageType:{type:Boolean,default:!1},showDataPanel:{type:Boolean,default:!0},isServerSide:{type:Boolean,default:!1}},Se=new Map([["appearance",U.resolveAppearance]]);function Ne(e,n,a){return n}const ot={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},it={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},pe={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Me=U.createPropsResolver(pe,ot,Se,Ne,it);function Oe(e){const n=t.ref(-1),a=t.ref(-1),o=t.ref(0),i=t.ref(0),l=t.ref(!1),r=t.ref(!1),s=t.computed(()=>({display:l.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),c=t.computed(()=>({display:r.value?"block":"none",top:`${i.value}px`,cursor:"n-resize"})),m=t.computed(()=>{const u={display:r.value||l.value?"block":"none"};return i.value>0&&(u.cursor="n-resize"),u});function h(u,p,g,x){const N=e.value;if(N){const{left:y,right:v,width:b}=N.getBoundingClientRect();let S=u.clientX-y;x==="right"&&(S=v-u.clientX),S>p&&(S=p),S<g&&(S=g),x==="right"&&(S=b-S),o.value=S}}function f(u,p,g,x){const N=e.value;if(N){const{top:y,bottom:v,height:b}=N.getBoundingClientRect();let S=u.clientY-y;x==="bottom"&&(S=v-u.clientY),S>p&&(S=p),S<g&&(S=g),x==="bottom"&&(S=b-S),i.value=S}}function d(){const u=e.value;if(u){const{width:p,height:g}=u.getBoundingClientRect();return{width:p,height:g}}return null}function C(){const u=e.value;return u?Array.from(u.querySelectorAll("[data-position]")).reduce((p,g)=>{const x=g.getAttribute("data-position");return p=Object.assign(p,{[x]:g}),p},{}):null}function k(u,p){const g=d(),x=C();if(g&&x){const N=x==null?void 0:x.right,y=x==null?void 0:x.left;if(u==="left"&&y)return N?g.width-N.clientWidth-p:g.width-p;if(u==="right"&&N)return y?g.width-y.clientWidth-p:g.width-p}}function w(u,p){const g=d(),x=C();if(g&&x){const N=x==null?void 0:x.bottom,y=x==null?void 0:x.top;if(u==="top"&&y)return N?g.height-N.clientHeight-p:g.height-p;if(u==="bottom"&&N)return y?g.height-y.clientHeight-p:g.height-p}}return{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:c,resizeOverlayStyle:m,showHorizontalResizeHandle:l,showVerticalResizeHandle:r,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:i,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:h,draggingVerticalResizeHandle:f,getPanelMaxHeight:w,getPanelMaxWidth:k}}const _=t.defineComponent({name:"FLayout",props:pe,emits:[],setup(e,n){const a=t.ref(),o=Oe(a),{horizontalResizeHandleStyle:i,verticalResizeHandleStyle:l,resizeOverlayStyle:r}=o;t.provide("layout",{useResizeHandleComposition:o});const s=t.computed(()=>{const m={"f-layout":!0};return ee.getCustomClass(m,e==null?void 0:e.customClass)}),c=t.computed(()=>{const m={};return ee.getCustomStyle(m,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:s.value,style:c.value,ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:r.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:i.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:l.value},null)])}}),lt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}},required:["id","type","contents"]},rt={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},he={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Ve=U.createPropsResolver(he,lt,Se,Ne,rt);function Be(e,n,a,o,i){const{horizontalResizeBarPosition:l,horizontalResizeHandleOffset:r,showHorizontalResizeHandle:s,showVerticalResizeHandle:c,verticalResizeBarPosition:m,verticalResizeHandleOffset:h,draggingHorizontalResizeHandle:f,draggingVerticalResizeHandle:d,getPanelMaxHeight:C,getPanelMaxWidth:k}=i;let w="",u,p,g;function x(v){if((w==="left"||w==="right")&&p){const{left:b}=p.getBoundingClientRect(),{width:S}=u.getBoundingClientRect(),I=v.clientX-b;let j=w==="left"?(S||0)+(I-l.value):(S||0)-(I-l.value);j=a.value>0?Math.max(a.value,j):j;const O=k(w,a.value);O!=null&&(j=O>j?j:O),e.value=j}if((w==="top"||w==="bottom")&&p){const{top:b}=p.getBoundingClientRect(),{height:S}=u.getBoundingClientRect(),I=v.clientY-b;let j=w==="top"?(S||0)+(I-m.value):(S||0)-(I-m.value);j=o.value>0?Math.max(o.value,j):j;const O=C(w,o.value);O!=null&&(j=O>j?j:O),n.value=j}r.value=0,h.value=0,l.value=-1,m.value=-1,s.value=!1,c.value=!1,document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",x),document.body.style.userSelect="",w="",u=null,p=null}function N(v,b,S){if(w=b,u=S,s.value=!0,p=v.composedPath().find(j=>(j.className||"").split(" ")[0]==="f-layout"),p){const{left:j}=p.getBoundingClientRect(),O=v.clientX-j;r.value=O,l.value=O;const P=k(w,a.value)||0;g=F=>f(F,P,a.value,w),document.addEventListener("mousemove",g),document.addEventListener("mouseup",x),document.body.style.userSelect="none"}}function y(v,b,S){if(w=b,u=S,c.value=!0,p=v.composedPath().find(j=>(j.className||"").split(" ")[0]==="f-layout"),p){const{top:j}=p.getBoundingClientRect();h.value=v.clientY-j,m.value=v.clientY-j;const O=C(w,o.value)||0;g=P=>d(P,O,o.value,w),document.addEventListener("mousemove",g),document.addEventListener("mouseup",x),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:N,onClickVerticalResizeBar:y}}const X=t.defineComponent({name:"FLayoutPane",props:he,emits:[],setup(e,n){const a=t.ref(e.minHeight<=0?100:e.minHeight),o=t.ref(e.minWidth<=0?100:e.minWidth),i=t.ref(e.width<=0?100:e.width),l=t.ref(e.height<=0?100:e.height),r=t.ref(Math.max(a.value,l.value)),s=t.ref(Math.max(o.value,i.value)),c=t.ref(),m=t.ref(e.position),h=t.ref(e.resizable);t.watch(()=>e.resizable,y=>{h.value=y});const f=t.inject("layout"),{useResizeHandleComposition:d}=f,C=Be(s,r,o,a,d),{onClickHorizontalResizeBar:k,onClickVerticalResizeBar:w}=C,u=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":m.value==="left","f-layout-resize-bar-n":m.value==="bottom","f-layout-resize-bar-s":m.value==="top","f-layout-resize-bar-w":m.value==="right"})),p=t.computed(()=>m.value!=="center"&&h.value);function g(y,v){(v==="left"||v==="right")&&k(y,v,c.value),(v==="top"||v==="bottom")&&w(y,v,c.value)}const x=t.computed(()=>{const y={"f-layout-pane":!0,"f-page-content-nav":m.value==="left"||m.value==="right","f-page-content-main":m.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((v,b)=>(v[b]=!0,v),y),y}),N=t.computed(()=>{const y={};return(s.value&&m.value==="left"||m.value==="right")&&(y.width=`${s.value}px`),(r.value&&m.value==="bottom"||m.value==="top")&&(y.height=`${r.value}px`),e.visible||(y.display="none"),y});return()=>t.createVNode("div",{ref:c,class:x.value,style:N.value,"data-position":m.value},[n.slots.default&&n.slots.default(),p.value&&t.createVNode("span",{class:u.value,onMousedown:y=>g(y,m.value)},null)])}});function st(e,n){function a(){return!1}return{canAccepts:a}}const ct=t.defineComponent({name:"FLayoutDesign",props:pe,emits:[],setup(e,n){var h;const a=t.ref(),o=t.inject("design-item-context"),i=st(o.schema,(h=o.parent)==null?void 0:h.schema),l=se.useDesignerComponent(a,o,i);l.value.canNested=!1;const r=Oe(a),{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:c,resizeOverlayStyle:m}=r;return t.provide("layout",{useResizeHandleComposition:r}),t.onMounted(()=>{a.value.componentInstance=l}),n.expose(l.value),()=>t.createVNode("div",{class:"f-layout f-page-content",ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:m.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:s.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:c.value},null)])}});function ut(e,n){const a=e.schema;function o(l){return!!se.useDragulaCommonRule().basalDragulaRuleForContainer(l)}function i(){const l=["f-layout-pane"];return(a.position==="left"||a.position==="right")&&l.push("f-page-content-nav"),a.position==="center"&&l.push("f-page-content-main"),l.join(" ")}return{canAccepts:o,getDesignerClass:i}}const dt=t.defineComponent({name:"FLayoutPaneDesign",props:he,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const i=t.inject("design-item-context"),l=ut(i),r=se.useDesignerComponent(o,i,l);r.value.canNested=!1,r.value.canMove=!1,r.value.canDelete=!1,t.onMounted(()=>{o.value.componentInstance=r}),n.expose(r.value);const s=t.ref(Math.max(e.minHeight,e.height)),c=t.ref(Math.max(e.minWidth,e.width)),m=t.ref(e.minHeight),h=t.ref(e.minWidth),f=t.ref(e.position),d=t.inject("layout"),{useResizeHandleComposition:C}=d,k=Be(c,s,h,m,C),{onClickHorizontalResizeBar:w,onClickVerticalResizeBar:u}=k,p=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":f.value==="left","f-layout-resize-bar-n":f.value==="bottom","f-layout-resize-bar-s":f.value==="top","f-layout-resize-bar-w":f.value==="right"}));function g(y,v){(v==="left"||v==="right")&&w(y,v,a.value),(v==="top"||v==="bottom")&&u(y,v,a.value)}const x=t.computed(()=>{const y={"f-layout-pane":!0,"f-page-content-nav":f.value==="left"||f.value==="right","f-page-content-main":f.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((v,b)=>(v[b]=!0,v),y),y}),N=t.computed(()=>{const y={flex:"1"};return(c.value&&f.value==="left"||f.value==="right")&&(y.width=`${c.value}px`),(s.value&&f.value==="bottom"||f.value==="top")&&(y.height=`${s.value}px`),y});return()=>t.createVNode("div",{ref:a,class:x.value,style:N.value},[t.createVNode("div",{ref:o,class:"drag-container","data-dragref":`${i.schema.id}-container`},[n.slots.default&&n.slots.default()]),t.createVNode("span",{class:p.value,onMousedown:y=>g(y,f.value)},null)])}});_.install=e=>{e.component(_.name,_),e.component(X.name,X)},_.register=(e,n,a,o)=>{e.layout=_,n.layout=Me,e["layout-pane"]=X,n["layout-pane"]=Ve},_.registerDesigner=(e,n,a)=>{e.layout=ct,n.layout=Me,e["layout-pane"]=dt,n["layout-pane"]=Ve};const ft=new Map([["appearance",U.resolveAppearance]]),mt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"]};function yt(e,n,a){return n}function pt(){function e(n,a,o){const i={};return i.beforeOpen=l=>a.call("beforeOpen",n,[l,n],o),i}return{resolve:e}}const ge={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},ht=Object.assign({},ge,{readonly:{}}),De=U.createPropsResolver(ge,mt,ft,yt),gt=pt(),vt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},bt=t.defineComponent({name:"FComboListContainer",props:vt,emits:["selectionChange"],setup(e,n){const a=t.ref(),o=t.ref(e.dataSource),i=t.ref([]),l=t.ref(e.separator),r=t.ref(e.width),s=t.ref(e.maxHeight),c=t.ref(String(e.selectedValues).split(l.value)),m=t.computed(()=>e.multiSelect),h=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:m.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const f=t.computed(()=>{const u={};return r.value!==void 0&&(u.width=`${r.value}px`),s.value!==void 0&&s.value>0&&(u.maxHeight=`${s.value}px`),u});function d(u){a.value.search(u)}function C(u){i.value=u.map(p=>Object.assign({},p)),c.value=u.map(p=>p[e.idField]),n.emit("selectionChange",i.value)}function k(u){if(e.enableHighlightSearch)return;let p=[];const{searchOption:g}=e;typeof g=="function"?p=o.value.filter(x=>g(u,x)):p=o.value.filter(x=>x[e.valueField].indexOf(u)>-1||x[e.textField].indexOf(u)>-1),a.value.updateDataSource(p)}t.watch([()=>e.selectedValues],([u])=>{e.multiSelect?c.value=u.split(l.value):c.value=[u]});function w(u){a.value.activeRowById(u)}return t.onMounted(()=>{var u,p;if(!e.multiSelect){const g=(u=c.value)==null?void 0:u[0];let x=g;if(!ne.isUndefined(g)){const N=typeof g,y=typeof((p=o.value[0])==null?void 0:p[e.valueField||e.idField]);y==="number"&&N!==y&&(x=Number(g)),y==="boolean"&&N!==y&&(x=g==="true"?!0:g==="false"?!1:g),w(x)}}}),n.expose({search:d,activeRowById:w}),()=>t.createVNode("div",{class:"f-combo-list-container",style:f.value},[t.createVNode(Ze,{ref:a,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:h.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:c.value,onSelectionUpdate:C,onAfterSearch:k},null)])}});function kt(e){const n=t.ref(""),a=t.ref(e.modelValue),o=t.ref(e.data||[]),i=t.ref(e.editable);function l(f){const d=e.multiSelect?String(f).split(e.separator):[String(f)],C=d.map(u=>[u,!0]),k=new Map(C);return o.value.filter(u=>k.has(String(u[e.valueField]))).sort((u,p)=>{const g=d.indexOf(u[e.valueField]),x=d.indexOf(p[e.valueField]);return g-x})}function r(f){const d=l(f).map(C=>C[e.textField]).join(e.separator);n.value=i.value?d||f:d}function s(f){if(e.multiSelect){const d=f.split(e.separator).map(k=>[k,!0]),C=new Map(d);return o.value.filter(k=>C.has(k[e.textField]))}return o.value.filter(d=>""+d[e.textField]===f)}function c(f){const d={};return d[e.idField]=f,d[e.textField]=f,[d]}function m(f){let d=s(f);const C=d&&d.length>0;return i.value&&!C&&(d=c(f)),d}function h(){const{url:f,method:d="GET",headers:C={"Content-Type":"application/json;charset=utf-8;"},body:k=null}=e.remote;if(!f)return;const w=d.toLowerCase()==="get"?{method:d,headers:C}:{method:d,headers:C,body:k};let u=!1;fetch(new Request(f,w)).then(p=>{var x,N;if(p.status===200)return u=!!((N=(x=p.headers)==null?void 0:x.get("content-type"))!=null&&N.includes("application/json")),u?p.text():p.json();throw p.status===405?new Error(G.LocaleService.getLocaleValue("comboList.remoteError")):new Error(p.statusText)}).then(p=>{p.length&&(o.value=u?JSON.parse(p):p)}).catch(p=>{console.warn(p)})}return e.remote&&(e.load?e.load().then(f=>{o.value=f}).catch(f=>{console.log(f)}):h()),t.watch(()=>e.data,()=>{o.value=e.data}),t.watch([o],([f])=>{if(e.modelValue!=null){const d=f.find(C=>C[e.valueField]===e.modelValue);d&&(n.value=d[e.textField])}}),t.watch(()=>e.modelValue,f=>{a.value=f,r(f)}),r(e.modelValue),{dataSource:o,displayText:n,editable:i,modelValue:a,getItemsByDisplayText:s,getItemsByValue:l,getSelectedItemsByDisplayText:m}}const ae=t.defineComponent({name:"FComboList",props:ge,emits:["clear","update:modelValue","change","input"],setup(e,n){const a=t.ref(),o=t.ref(),i=t.ref(e.disabled||e.readonly),l=t.ref(e.enableClear),r=t.ref(e.enableSearch),s=t.ref(e.readonly),{dataSource:c,displayText:m,editable:h,modelValue:f,getItemsByDisplayText:d,getItemsByValue:C}=kt(e),k=t.ref(e.dropDownIcon);k.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(k.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const w=t.computed(()=>e.multiSelect),u=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function p(){!w.value&&o.value&&o.value.hidePopup()}function g(B){m.value=B.map(R=>R[e.textField]).join(e.separator);let E="";B.length===1?E=B[0][e.valueField]:E=B.map(R=>R[e.valueField]).join(e.separator),f.value!==E&&(f.value=E,n.emit("update:modelValue",f.value),n.emit("change",B,f.value))}function x(){const B=C(f.value);g(B)}function N(){s.value||m.value}function y(B){var E;f.value="",(E=a.value)==null||E.activeRowById(""),n.emit("update:modelValue",""),n.emit("change",[],""),n.emit("clear")}function v(B){var E,R;e.enableSearch&&e.enableHighlightSearch&&((E=a.value)==null||E.search(B)),(R=a.value)==null||R.activeRowById(B),n.emit("change",[f.value],f.value)}function b(B){if(e.multiSelect){const E=d(B);e.viewType;const M=E.map(D=>D[e.idField||e.valueField]).join(e.separator);f.value!==M&&(f.value=M,n.emit("update:modelValue",f.value),n.emit("change",E,f.value))}}function S(){return m.value}function I(B){const{value:E}=B.target;v(E),n.emit("input",E)}function j(){o.value.hidePopup()}function O(B){c.value=B}function P(){return c.value}const F={getDisplayText:S,hidePopup:j,updateDataSource:O,getData:P};n.expose(F);function V(B){const E=typeof e.beforeOpen=="function";return!e.beforeOpen||!E?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:F})).then(R=>typeof(R==null?void 0:R.canOpen)=="boolean"?R==null?void 0:R.canOpen:!0)}return t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([B,E,R,M,D])=>{i.value=B,h.value=E,l.value=R,r.value=M,s.value=D}),()=>t.createVNode(ye,{ref:o,id:e.id,disable:i.value,readonly:s.value,forcePlaceholder:e.forcePlaceholder,editable:h.value,buttonContent:k.value,placeholder:e.placeholder==="请选择"?G.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:l.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:m.value,"onUpdate:modelValue":B=>m.value=B,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:y,onClick:N,onChange:b,onBlur:x,onInput:I,beforeOpen:V,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[t.createVNode(bt,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:c.value,selectedValues:f.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?u.value:void 0,onSelectionChange:B=>{g(B),p()}},null)]})}}),Ee={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class Ct extends et.InputBaseProperty{constructor(n,a){super(n,a)}getCommonEditorProperties(n){var a,o,i;return{viewType:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=n.editor)!=null&&o.multiSelect)&&((i=n.editor)==null?void 0:i.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(n){var l,r;const a=this;let o="";if(((l=n==null?void 0:n.binding)==null?void 0:l.type)==="Form"){const s=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(r=s==null?void 0:s.schemaField)!=null&&r.type&&(o=s.schemaField.type.$type)}return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!n.editor.dataSourceType||n.editor.dataSourceType==="static",...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic",$converter:Ee,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Ee,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(s,c)=>{if(!s||!c.editor)return;const m=this;switch(s.propertyID){case"dataSourceType":{s.propertyValue==="static"?(c.editor.valueField="value",c.editor.textField="name",c.editor.remote=null):s.propertyValue==="dynamic"&&(c.editor.remote={method:"GET"},c.editor.valueField="value",c.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(c)&&c.formatter&&(c.formatter.data=[...s.propertyValue]);break}case"viewType":s.propertyValue==="tag"&&(c.editor.editable=!1)}})}getGridFieldEdtiorProperties(n,a){var r,s,c,m,h,f;const o=this;let i="";if(((r=n==null?void 0:n.binding)==null?void 0:r.type)==="Form"){const d=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(s=d==null?void 0:d.schemaField)!=null&&s.type&&(i=d.schemaField.type.$type)}return o.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((c=n.editor)!=null&&c.dataSourceType)||((m=n.editor)==null?void 0:m.dataSourceType)==="static",...o.getItemCollectionEditor(n,(h=n.editor)==null?void 0:h.valueField,(f=n.editor)==null?void 0:f.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(d,C)=>{if(!d||!C.editor)return;const k=this;switch(d.propertyID){case"dataSourceType":{d.propertyValue==="static"?(C.editor.valueField="value",C.editor.textField="name",C.editor.remote=null):d.propertyValue==="dynamic"&&(C.editor.remote={method:"GET"},C.editor.valueField="value",C.editor.textField="name");break}case"data":{!k.checkEnumDataReadonly(C)&&C.formatter&&(C.formatter.data=[...d.propertyValue]);break}}})}setEditorPropertyRelates(n,a,o){if(!n||!a.editor)return;const i=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(a.editor.valueField="value",a.editor.textField="name",a.editor.remote={});break}case"data":{!i.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,a,o){var l;super.changeBindingField(n,a);const i=o;n.editor&&((l=i==null?void 0:i.type)==null?void 0:l.$type)===ee.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=i.type.enumValues||[])}getEventPropertyConfig(n,a="card",o,i){const l=this;let r=[{label:"onChange",name:"值变化事件"},{label:"onClear",name:"清空事件"},{label:"beforeOpen",name:"打开下拉面板前"}];o&&(r=r.concat(o)),this.appendFieldValueChangeEvents(n,r);const s=l.eventsEditorUtils.formProperties(n,l.viewModelId,r);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(s),tabId:"commands",tabName:"交互",setPropertyRelates(h,f){const d=h.propertyValue;delete n[l.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,d.events,d)),i&&i(h,f,d);const C=l.designViewModelUtils.getDgViewModel(l.viewModelId);C&&l.designViewModelField&&C.changeField(l.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged}),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}}function wt(e,n){const a=e.schema;function o(i,l){return new Ct(i,n).getPropertyConfig(a,l)}return{getPropsConfig:o}}const xt=t.defineComponent({name:"FComboListDesign",props:ht,emits:["clear","update:modelValue","change"],setup(e,n){const a=t.ref(),o=t.inject("designer-host-service"),i=t.inject("design-item-context"),l=wt(i,o),r=se.useDesignerComponent(a,i,l);return t.onMounted(()=>{a.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode(Qe,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});ae.register=(e,n,a,o)=>{e["combo-list"]=ae,n["combo-list"]=De,o["combo-list"]={callbackResolver:gt}},ae.registerDesigner=(e,n,a)=>{e["combo-list"]=xt,n["combo-list"]=De},ee.withInstall(ae);const Ft={analytical:{name:"数据",items:[{key:"IsNull",name:"是空值",params:[{key:"obj",name:"检测对象",type:"object"}],description:`【功能】判断检测对象是否为空值(null)。检测对象为null返回true,否则返回false
|
|
1
|
+
(function(H,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../button-edit/index.umd.js"),require("../locale/index.umd.js"),require("lodash-es"),require("../list-view/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js","../button-edit/index.umd.js","../locale/index.umd.js","lodash-es","../list-view/index.umd.js","../../designer/button-edit/index.umd.js","../property-panel/index.umd.js","../tree-view/index.umd.js","../tags/index.umd.js","../popover/index.umd.js"],t):(H=typeof globalThis<"u"?globalThis:H||self,t(H["expression-editor"]={},H.Vue,H.dynamicResolver,H.common,H.designerCanvas,H.FButtonEdit$1,H.locale,H.LodashES,H.FListView,H.FButtonEditDesign,H.propertyPanel,H.FTreeView,H.FTags,H.FPopover))})(this,function(H,t,U,ee,se,ye,G,ne,Ze,Qe,et,tt,nt,at){"use strict";var ga=Object.defineProperty;var va=(H,t,U)=>t in H?ga(H,t,{enumerable:!0,configurable:!0,writable:!0,value:U}):H[t]=U;var K=(H,t,U)=>va(H,typeof t!="symbol"?t+"":t,U);const Te={modelValue:{type:String,default:""},singleExpand:{type:Boolean,default:!0},entities:{type:Array,default:[]},variables:{type:Array,default:[]},disabledFunctions:{type:Object,default:null},esprimaPath:{type:String,default:"assets/esprima-config.json"},showMessage:{type:Boolean,default:!1},validateMessage:{type:String,default:""},messageType:{type:String,default:"info"},showMessageType:{type:Boolean,default:!1},showDataPanel:{type:Boolean,default:!0},isServerSide:{type:Boolean,default:!1}},Se=new Map([["appearance",U.resolveAppearance]]);function Ne(e,n,a){return n}const ot={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},it={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},pe={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Me=U.createPropsResolver(pe,ot,Se,Ne,it);function Oe(e){const n=t.ref(-1),a=t.ref(-1),o=t.ref(0),i=t.ref(0),l=t.ref(!1),r=t.ref(!1),s=t.computed(()=>({display:l.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),u=t.computed(()=>({display:r.value?"block":"none",top:`${i.value}px`,cursor:"n-resize"})),f=t.computed(()=>{const c={display:r.value||l.value?"block":"none"};return i.value>0&&(c.cursor="n-resize"),c});function b(c,y,p,x){const S=e.value;if(S){const{left:d,right:g,width:k}=S.getBoundingClientRect();let N=c.clientX-d;x==="right"&&(N=g-c.clientX),N>y&&(N=y),N<p&&(N=p),x==="right"&&(N=k-N),o.value=N}}function v(c,y,p,x){const S=e.value;if(S){const{top:d,bottom:g,height:k}=S.getBoundingClientRect();let N=c.clientY-d;x==="bottom"&&(N=g-c.clientY),N>y&&(N=y),N<p&&(N=p),x==="bottom"&&(N=k-N),i.value=N}}function h(){const c=e.value;if(c){const{width:y,height:p}=c.getBoundingClientRect();return{width:y,height:p}}return null}function w(){const c=e.value;return c?Array.from(c.querySelectorAll("[data-position]")).reduce((y,p)=>{const x=p.getAttribute("data-position");return y=Object.assign(y,{[x]:p}),y},{}):null}function C(c,y){const p=h(),x=w();if(p&&x){const S=x==null?void 0:x.right,d=x==null?void 0:x.left;if(c==="left"&&d)return S?p.width-S.clientWidth-y:p.width-y;if(c==="right"&&S)return d?p.width-d.clientWidth-y:p.width-y}}function m(c,y){const p=h(),x=w();if(p&&x){const S=x==null?void 0:x.bottom,d=x==null?void 0:x.top;if(c==="top"&&d)return S?p.height-S.clientHeight-y:p.height-y;if(c==="bottom"&&S)return d?p.height-d.clientHeight-y:p.height-y}}return{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:u,resizeOverlayStyle:f,showHorizontalResizeHandle:l,showVerticalResizeHandle:r,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:i,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:b,draggingVerticalResizeHandle:v,getPanelMaxHeight:m,getPanelMaxWidth:C}}const _=t.defineComponent({name:"FLayout",props:pe,emits:[],setup(e,n){const a=t.ref(),o=Oe(a),{horizontalResizeHandleStyle:i,verticalResizeHandleStyle:l,resizeOverlayStyle:r}=o;t.provide("layout",{useResizeHandleComposition:o});const s=t.computed(()=>{const f={"f-layout":!0};return ee.getCustomClass(f,e==null?void 0:e.customClass)}),u=t.computed(()=>{const f={};return ee.getCustomStyle(f,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:s.value,style:u.value,ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:r.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:i.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:l.value},null)])}}),lt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}},required:["id","type","contents"]},rt={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},he={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Ve=U.createPropsResolver(he,lt,Se,Ne,rt);function Be(e,n,a,o,i){const{horizontalResizeBarPosition:l,horizontalResizeHandleOffset:r,showHorizontalResizeHandle:s,showVerticalResizeHandle:u,verticalResizeBarPosition:f,verticalResizeHandleOffset:b,draggingHorizontalResizeHandle:v,draggingVerticalResizeHandle:h,getPanelMaxHeight:w,getPanelMaxWidth:C}=i;let m="",c,y,p;function x(g){if((m==="left"||m==="right")&&y){const{left:k}=y.getBoundingClientRect(),{width:N}=c.getBoundingClientRect(),I=g.clientX-k;let j=m==="left"?(N||0)+(I-l.value):(N||0)-(I-l.value);j=a.value>0?Math.max(a.value,j):j;const O=C(m,a.value);O!=null&&(j=O>j?j:O),e.value=j}if((m==="top"||m==="bottom")&&y){const{top:k}=y.getBoundingClientRect(),{height:N}=c.getBoundingClientRect(),I=g.clientY-k;let j=m==="top"?(N||0)+(I-f.value):(N||0)-(I-f.value);j=o.value>0?Math.max(o.value,j):j;const O=w(m,o.value);O!=null&&(j=O>j?j:O),n.value=j}r.value=0,b.value=0,l.value=-1,f.value=-1,s.value=!1,u.value=!1,document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",x),document.body.style.userSelect="",m="",c=null,y=null}function S(g,k,N){if(m=k,c=N,s.value=!0,y=g.composedPath().find(j=>(j.className||"").split(" ")[0]==="f-layout"),y){const{left:j}=y.getBoundingClientRect(),O=g.clientX-j;r.value=O,l.value=O;const P=C(m,a.value)||0;p=F=>v(F,P,a.value,m),document.addEventListener("mousemove",p),document.addEventListener("mouseup",x),document.body.style.userSelect="none"}}function d(g,k,N){if(m=k,c=N,u.value=!0,y=g.composedPath().find(j=>(j.className||"").split(" ")[0]==="f-layout"),y){const{top:j}=y.getBoundingClientRect();b.value=g.clientY-j,f.value=g.clientY-j;const O=w(m,o.value)||0;p=P=>h(P,O,o.value,m),document.addEventListener("mousemove",p),document.addEventListener("mouseup",x),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:S,onClickVerticalResizeBar:d}}const X=t.defineComponent({name:"FLayoutPane",props:he,emits:[],setup(e,n){const a=t.ref(e.minHeight<=0?100:e.minHeight),o=t.ref(e.minWidth<=0?100:e.minWidth),i=t.ref(e.width<=0?100:e.width),l=t.ref(e.height<=0?100:e.height),r=t.ref(Math.max(a.value,l.value)),s=t.ref(Math.max(o.value,i.value)),u=t.ref(),f=t.ref(e.position),b=t.ref(e.resizable);t.watch(()=>e.resizable,d=>{b.value=d});const v=t.inject("layout"),{useResizeHandleComposition:h}=v,w=Be(s,r,o,a,h),{onClickHorizontalResizeBar:C,onClickVerticalResizeBar:m}=w,c=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":f.value==="left","f-layout-resize-bar-n":f.value==="bottom","f-layout-resize-bar-s":f.value==="top","f-layout-resize-bar-w":f.value==="right"})),y=t.computed(()=>f.value!=="center"&&b.value);function p(d,g){(g==="left"||g==="right")&&C(d,g,u.value),(g==="top"||g==="bottom")&&m(d,g,u.value)}const x=t.computed(()=>{const d={"f-layout-pane":!0,"f-page-content-nav":f.value==="left"||f.value==="right","f-page-content-main":f.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((g,k)=>(g[k]=!0,g),d),d}),S=t.computed(()=>{const d={};return(s.value&&f.value==="left"||f.value==="right")&&(d.width=`${s.value}px`),(r.value&&f.value==="bottom"||f.value==="top")&&(d.height=`${r.value}px`),e.visible||(d.display="none"),d});return()=>t.createVNode("div",{ref:u,class:x.value,style:S.value,"data-position":f.value},[n.slots.default&&n.slots.default(),y.value&&t.createVNode("span",{class:c.value,onMousedown:d=>p(d,f.value)},null)])}});function st(e,n){function a(){return!1}return{canAccepts:a}}const ct=t.defineComponent({name:"FLayoutDesign",props:pe,emits:[],setup(e,n){var b;const a=t.ref(),o=t.inject("design-item-context"),i=st(o.schema,(b=o.parent)==null?void 0:b.schema),l=se.useDesignerComponent(a,o,i);l.value.canNested=!1;const r=Oe(a),{horizontalResizeHandleStyle:s,verticalResizeHandleStyle:u,resizeOverlayStyle:f}=r;return t.provide("layout",{useResizeHandleComposition:r}),t.onMounted(()=>{a.value.componentInstance=l}),n.expose(l.value),()=>t.createVNode("div",{class:"f-layout f-page-content",ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:f.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:s.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:u.value},null)])}});function ut(e,n){const a=e.schema;function o(l){return!!se.useDragulaCommonRule().basalDragulaRuleForContainer(l)}function i(){const l=["f-layout-pane"];return(a.position==="left"||a.position==="right")&&l.push("f-page-content-nav"),a.position==="center"&&l.push("f-page-content-main"),l.join(" ")}return{canAccepts:o,getDesignerClass:i}}const dt=t.defineComponent({name:"FLayoutPaneDesign",props:he,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const i=t.inject("design-item-context"),l=ut(i),r=se.useDesignerComponent(o,i,l);r.value.canNested=!1,r.value.canMove=!1,r.value.canDelete=!1,t.onMounted(()=>{o.value.componentInstance=r}),n.expose(r.value);const s=t.ref(Math.max(e.minHeight,e.height)),u=t.ref(Math.max(e.minWidth,e.width)),f=t.ref(e.minHeight),b=t.ref(e.minWidth),v=t.ref(e.position),h=t.inject("layout"),{useResizeHandleComposition:w}=h,C=Be(u,s,b,f,w),{onClickHorizontalResizeBar:m,onClickVerticalResizeBar:c}=C,y=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":v.value==="left","f-layout-resize-bar-n":v.value==="bottom","f-layout-resize-bar-s":v.value==="top","f-layout-resize-bar-w":v.value==="right"}));function p(d,g){(g==="left"||g==="right")&&m(d,g,a.value),(g==="top"||g==="bottom")&&c(d,g,a.value)}const x=t.computed(()=>{const d={"f-layout-pane":!0,"f-page-content-nav":v.value==="left"||v.value==="right","f-page-content-main":v.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((g,k)=>(g[k]=!0,g),d),d}),S=t.computed(()=>{const d={flex:"1"};return(u.value&&v.value==="left"||v.value==="right")&&(d.width=`${u.value}px`),(s.value&&v.value==="bottom"||v.value==="top")&&(d.height=`${s.value}px`),d});return()=>t.createVNode("div",{ref:a,class:x.value,style:S.value},[t.createVNode("div",{ref:o,class:"drag-container","data-dragref":`${i.schema.id}-container`},[n.slots.default&&n.slots.default()]),t.createVNode("span",{class:y.value,onMousedown:d=>p(d,v.value)},null)])}});_.install=e=>{e.component(_.name,_),e.component(X.name,X)},_.register=(e,n,a,o)=>{e.layout=_,n.layout=Me,e["layout-pane"]=X,n["layout-pane"]=Ve},_.registerDesigner=(e,n,a)=>{e.layout=ct,n.layout=Me,e["layout-pane"]=dt,n["layout-pane"]=Ve};const ft=new Map([["appearance",U.resolveAppearance]]),mt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"]};function yt(e,n,a){return n}function pt(){function e(n,a,o){const i={};return i.beforeOpen=l=>a.call("beforeOpen",n,[l,n],o),i}return{resolve:e}}const ge={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},ht=Object.assign({},ge,{readonly:{}}),De=U.createPropsResolver(ge,mt,ft,yt),gt=pt(),vt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},bt=t.defineComponent({name:"FComboListContainer",props:vt,emits:["selectionChange"],setup(e,n){const a=t.ref(),o=t.ref(e.dataSource),i=t.ref([]),l=t.ref(e.separator),r=t.ref(e.width),s=t.ref(e.maxHeight),u=t.computed(()=>e.multiSelect),f=t.ref(e.multiSelect?String(e.selectedValues).split(l.value):[e.selectedValues]),b=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:u.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const v=t.computed(()=>{const c={};return r.value!==void 0&&(c.width=`${r.value}px`),s.value!==void 0&&s.value>0&&(c.maxHeight=`${s.value}px`),c});function h(c){a.value.search(c)}function w(c){i.value=c.map(y=>Object.assign({},y)),f.value=c.map(y=>y[e.idField]),n.emit("selectionChange",i.value)}function C(c){if(e.enableHighlightSearch)return;let y=[];const{searchOption:p}=e;typeof p=="function"?y=o.value.filter(x=>p(c,x)):y=o.value.filter(x=>x[e.valueField].indexOf(c)>-1||x[e.textField].indexOf(c)>-1),a.value.updateDataSource(y)}t.watch([()=>e.selectedValues],([c])=>{e.multiSelect?f.value=c.split(l.value):f.value=[c]});function m(c){a.value.activeRowById(c)}return t.onMounted(()=>{var c,y;if(!e.multiSelect){const p=(c=f.value)==null?void 0:c[0];let x=p;const S=o.value.map(d=>d[e.valueField||e.idField]);if(!ne.isUndefined(p)&&S.includes(p)){const d=typeof p,g=typeof((y=o.value[0])==null?void 0:y[e.valueField||e.idField]);g==="number"&&d!==g&&(x=Number(p)),g==="boolean"&&d!==g&&(x=p==="true"?!0:p==="false"?!1:p),m(x)}}}),n.expose({search:h,activeRowById:m}),()=>t.createVNode("div",{class:"f-combo-list-container",style:v.value},[t.createVNode(Ze,{ref:a,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:b.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionUpdate:w,onAfterSearch:C},null)])}});function kt(e){const n=t.ref(""),a=t.ref(e.modelValue),o=t.ref(e.data||[]),i=t.ref(e.editable);function l(m){const c=e.multiSelect?String(m).split(e.separator):[String(m)],y=c.map(S=>[S,!0]),p=new Map(y);return o.value.filter(S=>p.has(String(S[e.valueField]))).sort((S,d)=>{const g=c.indexOf(S[e.valueField]),k=c.indexOf(d[e.valueField]);return g-k})}function r(m){const c=l(m).map(y=>y[e.textField]).join(e.separator);n.value=i.value?c||m:c}function s(m){if(e.multiSelect){const c=m.split(e.separator).map(p=>[p,!0]),y=new Map(c);return o.value.filter(p=>y.has(p[e.textField]))}return o.value.filter(c=>""+c[e.textField]===m)}function u(m){const c={};return c[e.idField]=m,c[e.textField]=m,[c]}function f(m){let c=s(m);const y=c&&c.length>0;return i.value&&!y&&(c=u(m)),c}function b(){const{url:m,method:c="GET",headers:y={"Content-Type":"application/json;charset=utf-8;"},body:p=null}=e.remote;if(!m)return;const x=c.toLowerCase()==="get"?{method:c,headers:y}:{method:c,headers:y,body:p};let S=!1;fetch(new Request(m,x)).then(d=>{var k,N;if(d.status===200)return S=!!((N=(k=d.headers)==null?void 0:k.get("content-type"))!=null&&N.includes("application/json")),S?d.text():d.json();throw d.status===405?new Error(G.LocaleService.getLocaleValue("comboList.remoteError")):new Error(d.statusText)}).then(d=>{d.length&&(o.value=S?JSON.parse(d):d)}).catch(d=>{console.warn(d)})}e.remote&&(e.load?e.load().then(m=>{o.value=m}).catch(m=>{console.log(m)}):b()),t.watch(()=>e.data,()=>{o.value=e.data}),t.watch([o],([m])=>{if(e.modelValue!=null){const c=m.find(y=>y[e.valueField]===e.modelValue);c&&(n.value=c[e.textField])}}),t.watch(()=>e.modelValue,m=>{a.value=m,r(m)});function v(m){o.value=m}function h(){return o.value}function w(){return n.value}function C(){const m=typeof e.beforeOpen=="function";return!e.beforeOpen||!m?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:v,getData:h,getDisplayText:w}})).then(c=>typeof(c==null?void 0:c.canOpen)=="boolean"?c==null?void 0:c.canOpen:!0)}return e.beforeOpen?C().then(m=>{m&&r(e.modelValue)}):r(e.modelValue),{dataSource:o,displayText:n,editable:i,modelValue:a,beforeOpenList:C,getItemsByDisplayText:s,getItemsByValue:l,getSelectedItemsByDisplayText:f}}const ae=t.defineComponent({name:"FComboList",props:ge,emits:["clear","update:modelValue","change","input"],setup(e,n){const a=t.ref(),o=t.ref(),i=t.ref(e.disabled||e.readonly),l=t.ref(e.enableClear),r=t.ref(e.enableSearch),s=t.ref(e.readonly),{dataSource:u,displayText:f,editable:b,modelValue:v,getItemsByDisplayText:h,getItemsByValue:w,beforeOpenList:C}=kt(e),m=t.ref(e.dropDownIcon);m.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(m.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const c=t.computed(()=>e.multiSelect),y=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function p(){!c.value&&o.value&&o.value.hidePopup()}function x(B){f.value=B.map(L=>L[e.textField]).join(e.separator);let E="";B.length===1?E=B[0][e.valueField]:E=B.map(L=>L[e.valueField]).join(e.separator),v.value!==E&&(v.value=E,n.emit("update:modelValue",v.value),n.emit("change",B,v.value))}function S(){const B=w(v.value);x(B)}function d(){s.value||f.value}function g(B){var E;v.value="",(E=a.value)==null||E.activeRowById(""),n.emit("update:modelValue",""),n.emit("change",[],""),n.emit("clear")}function k(B){var E,L;e.enableSearch&&e.enableHighlightSearch&&((E=a.value)==null||E.search(B)),(L=a.value)==null||L.activeRowById(B),n.emit("change",[v.value],v.value)}function N(B){if(e.multiSelect){const E=h(B);e.viewType;const M=E.map(D=>D[e.idField||e.valueField]).join(e.separator);v.value!==M&&(v.value=M,n.emit("update:modelValue",v.value),n.emit("change",E,v.value))}}function I(){return f.value}function j(B){const{value:E}=B.target;k(E),n.emit("input",E)}function O(){o.value.hidePopup()}function P(B){u.value=B}function F(){return u.value}const V={getDisplayText:I,hidePopup:O,updateDataSource:P,getData:F};return n.expose(V),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([B,E,L,M,D])=>{i.value=B,b.value=E,l.value=L,r.value=M,s.value=D}),()=>t.createVNode(ye,{ref:o,id:e.id,disable:i.value,readonly:s.value,forcePlaceholder:e.forcePlaceholder,editable:b.value,buttonContent:m.value,placeholder:e.placeholder==="请选择"?G.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:l.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":B=>f.value=B,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:g,onClick:d,onChange:N,onBlur:S,onInput:j,beforeOpen:C,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[t.createVNode(bt,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:u.value,selectedValues:v.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?y.value:void 0,onSelectionChange:B=>{x(B),p()}},null)]})}}),Ee={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class Ct extends et.InputBaseProperty{constructor(n,a){super(n,a)}getCommonEditorProperties(n){var a,o,i;return{viewType:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=n.editor)!=null&&o.multiSelect)&&((i=n.editor)==null?void 0:i.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(n){var l,r;const a=this;let o="";if(((l=n==null?void 0:n.binding)==null?void 0:l.type)==="Form"){const s=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(r=s==null?void 0:s.schemaField)!=null&&r.type&&(o=s.schemaField.type.$type)}return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!n.editor.dataSourceType||n.editor.dataSourceType==="static",...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic",$converter:Ee,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Ee,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(s,u)=>{if(!s||!u.editor)return;const f=this;switch(s.propertyID){case"dataSourceType":{s.propertyValue==="static"?(u.editor.valueField="value",u.editor.textField="name",u.editor.remote=null):s.propertyValue==="dynamic"&&(u.editor.remote={method:"GET"},u.editor.valueField="value",u.editor.textField="name");break}case"data":{!f.checkEnumDataReadonly(u)&&u.formatter&&(u.formatter.data=[...s.propertyValue]);break}case"viewType":s.propertyValue==="tag"&&(u.editor.editable=!1)}})}getGridFieldEdtiorProperties(n,a){var r,s,u,f,b,v;const o=this;let i="";if(((r=n==null?void 0:n.binding)==null?void 0:r.type)==="Form"){const h=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(s=h==null?void 0:h.schemaField)!=null&&s.type&&(i=h.schemaField.type.$type)}return o.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((u=n.editor)!=null&&u.dataSourceType)||((f=n.editor)==null?void 0:f.dataSourceType)==="static",...o.getItemCollectionEditor(n,(b=n.editor)==null?void 0:b.valueField,(v=n.editor)==null?void 0:v.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(h,w)=>{if(!h||!w.editor)return;const C=this;switch(h.propertyID){case"dataSourceType":{h.propertyValue==="static"?(w.editor.valueField="value",w.editor.textField="name",w.editor.remote=null):h.propertyValue==="dynamic"&&(w.editor.remote={method:"GET"},w.editor.valueField="value",w.editor.textField="name");break}case"data":{!C.checkEnumDataReadonly(w)&&w.formatter&&(w.formatter.data=[...h.propertyValue]);break}}})}setEditorPropertyRelates(n,a,o){if(!n||!a.editor)return;const i=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(a.editor.valueField="value",a.editor.textField="name",a.editor.remote={});break}case"data":{!i.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,a,o){var l;super.changeBindingField(n,a);const i=o;n.editor&&((l=i==null?void 0:i.type)==null?void 0:l.$type)===ee.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=i.type.enumValues||[])}getEventPropertyConfig(n,a="card",o,i){const l=this;let r=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];o&&(r=r.concat(o)),this.appendFieldValueChangeEvents(n,r);const s=l.eventsEditorUtils.formProperties(n,l.viewModelId,r);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(s),tabId:"commands",tabName:"交互",setPropertyRelates(b,v){const h=b.propertyValue;delete n[l.viewModelId],h&&(h.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,h.events,h)),i&&i(b,v,h);const w=l.designViewModelUtils.getDgViewModel(l.viewModelId);w&&l.designViewModelField&&w.changeField(l.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged}),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}}function xt(e,n){const a=e.schema;function o(i,l){return new Ct(i,n).getPropertyConfig(a,l)}return{getPropsConfig:o}}const wt=t.defineComponent({name:"FComboListDesign",props:ht,emits:["clear","update:modelValue","change"],setup(e,n){const a=t.ref(),o=t.inject("designer-host-service"),i=t.inject("design-item-context"),l=xt(i,o),r=se.useDesignerComponent(a,i,l);return t.onMounted(()=>{a.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode(Qe,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});ae.register=(e,n,a,o)=>{e["combo-list"]=ae,n["combo-list"]=De,o["combo-list"]={callbackResolver:gt}},ae.registerDesigner=(e,n,a)=>{e["combo-list"]=wt,n["combo-list"]=De},ee.withInstall(ae);const Ft={analytical:{name:"数据",items:[{key:"IsNull",name:"是空值",params:[{key:"obj",name:"检测对象",type:"object"}],description:`【功能】判断检测对象是否为空值(null)。检测对象为null返回true,否则返回false
|
|
2
2
|
【参数】
|
|
3
3
|
【obj】检测对象
|
|
4
4
|
【返回值】true或false
|
|
@@ -414,8 +414,8 @@
|
|
|
414
414
|
}`,params:[],description:"if条件成立,执行括号中内容;否则执行else中内容",type:"Advanced",keyFront:"",className:""},{key:"for",name:`for(;;)
|
|
415
415
|
{
|
|
416
416
|
|
|
417
|
-
}`,params:[],description:"for循环:示例:for(var i=0;i<5;i++){}",type:"Advanced",keyFront:"",className:""},{key:"return",name:"return ;",params:[],description:"返回值",type:"Advanced",keyFront:"",className:""},{key:"var",name:"var ",params:[],description:"变量定义",type:"Advanced",keyFront:"",className:""},{key:"true",name:"true ",params:[],description:"正确",type:"Advanced",keyFront:"",className:""},{key:"false",name:"false ",params:[],description:"错误",type:"Advanced",keyFront:"",className:""}]}};function Tt(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function Pe(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),a.push.apply(a,o)}return a}function je(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Pe(Object(a),!0).forEach(function(o){Tt(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Pe(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function St(e,n){if(e==null)return{};var a={},o=Object.keys(e),i,l;for(l=0;l<o.length;l++)i=o[l],!(n.indexOf(i)>=0)&&(a[i]=e[i]);return a}function Nt(e,n){if(e==null)return{};var a=St(e,n),o,i;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)o=l[i],!(n.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}function Mt(e,n){return Ot(e)||Vt(e,n)||Bt(e,n)||Dt()}function Ot(e){if(Array.isArray(e))return e}function Vt(e,n){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var a=[],o=!0,i=!1,l=void 0;try{for(var r=e[Symbol.iterator](),s;!(o=(s=r.next()).done)&&(a.push(s.value),!(n&&a.length===n));o=!0);}catch(
|
|
418
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Et(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function Re(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),a.push.apply(a,o)}return a}function Le(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Re(Object(a),!0).forEach(function(o){Et(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Re(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function Pt(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return function(o){return n.reduceRight(function(i,l){return l(i)},o)}}function oe(e){return function n(){for(var a=this,o=arguments.length,i=new Array(o),l=0;l<o;l++)i[l]=arguments[l];return i.length>=e.length?e.apply(this,i):function(){for(var r=arguments.length,s=new Array(r),
|
|
417
|
+
}`,params:[],description:"for循环:示例:for(var i=0;i<5;i++){}",type:"Advanced",keyFront:"",className:""},{key:"return",name:"return ;",params:[],description:"返回值",type:"Advanced",keyFront:"",className:""},{key:"var",name:"var ",params:[],description:"变量定义",type:"Advanced",keyFront:"",className:""},{key:"true",name:"true ",params:[],description:"正确",type:"Advanced",keyFront:"",className:""},{key:"false",name:"false ",params:[],description:"错误",type:"Advanced",keyFront:"",className:""}]}};function Tt(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function Pe(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),a.push.apply(a,o)}return a}function je(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Pe(Object(a),!0).forEach(function(o){Tt(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Pe(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function St(e,n){if(e==null)return{};var a={},o=Object.keys(e),i,l;for(l=0;l<o.length;l++)i=o[l],!(n.indexOf(i)>=0)&&(a[i]=e[i]);return a}function Nt(e,n){if(e==null)return{};var a=St(e,n),o,i;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)o=l[i],!(n.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}function Mt(e,n){return Ot(e)||Vt(e,n)||Bt(e,n)||Dt()}function Ot(e){if(Array.isArray(e))return e}function Vt(e,n){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var a=[],o=!0,i=!1,l=void 0;try{for(var r=e[Symbol.iterator](),s;!(o=(s=r.next()).done)&&(a.push(s.value),!(n&&a.length===n));o=!0);}catch(u){i=!0,l=u}finally{try{!o&&r.return!=null&&r.return()}finally{if(i)throw l}}return a}}function Bt(e,n){if(e){if(typeof e=="string")return Ie(e,n);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Ie(e,n)}}function Ie(e,n){(n==null||n>e.length)&&(n=e.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=e[a];return o}function Dt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
418
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Et(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function Re(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),a.push.apply(a,o)}return a}function Le(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Re(Object(a),!0).forEach(function(o){Et(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Re(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function Pt(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return function(o){return n.reduceRight(function(i,l){return l(i)},o)}}function oe(e){return function n(){for(var a=this,o=arguments.length,i=new Array(o),l=0;l<o;l++)i[l]=arguments[l];return i.length>=e.length?e.apply(this,i):function(){for(var r=arguments.length,s=new Array(r),u=0;u<r;u++)s[u]=arguments[u];return n.apply(a,[].concat(i,s))}}}function ce(e){return{}.toString.call(e).includes("Object")}function jt(e){return!Object.keys(e).length}function ie(e){return typeof e=="function"}function It(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function Rt(e,n){return ce(n)||J("changeType"),Object.keys(n).some(function(a){return!It(e,a)})&&J("changeField"),n}function Lt(e){ie(e)||J("selectorType")}function zt(e){ie(e)||ce(e)||J("handlerType"),ce(e)&&Object.values(e).some(function(n){return!ie(n)})&&J("handlersType")}function Ht(e){e||J("initialIsRequired"),ce(e)||J("initialType"),jt(e)&&J("initialContent")}function $t(e,n){throw new Error(e[n]||e.default)}var At={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},J=oe($t)(At),ue={changes:Rt,selector:Lt,handler:zt,initial:Ht};function Wt(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};ue.initial(e),ue.handler(n);var a={current:e},o=oe(Ut)(a,n),i=oe(Yt)(a),l=oe(ue.changes)(e),r=oe(qt)(a);function s(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(b){return b};return ue.selector(f),f(a.current)}function u(f){Pt(o,i,l,r)(f)}return[s,u]}function qt(e,n){return ie(n)?n(e.current):n}function Yt(e,n){return e.current=Le(Le({},e.current),n),n}function Ut(e,n,a){return ie(n)?n(e.current):Object.keys(a).forEach(function(o){var i;return(i=n[o])===null||i===void 0?void 0:i.call(n,e.current[o])}),a}var Gt={create:Wt},Xt={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function Kt(e){return function n(){for(var a=this,o=arguments.length,i=new Array(o),l=0;l<o;l++)i[l]=arguments[l];return i.length>=e.length?e.apply(this,i):function(){for(var r=arguments.length,s=new Array(r),u=0;u<r;u++)s[u]=arguments[u];return n.apply(a,[].concat(i,s))}}}function _t(e){return{}.toString.call(e).includes("Object")}function Jt(e){return e||He("configIsRequired"),_t(e)||He("configType"),e.urls?(Zt(),{paths:{vs:e.urls.monacoBase}}):e}function Zt(){console.warn(ze.deprecation)}function Qt(e,n){throw new Error(e[n]||e.default)}var ze={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
419
419
|
You are using deprecated way of configuration.
|
|
420
420
|
|
|
421
421
|
Instead of using
|
|
@@ -424,4 +424,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
424
424
|
monaco.config({ paths: { vs: '...' } })
|
|
425
425
|
|
|
426
426
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
427
|
-
`},He=Kt(Qt)(ze),en={config:Jt},tn=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return function(i){return a.reduceRight(function(l,r){return r(l)},i)}};function $e(e,n){return Object.keys(n).forEach(function(a){n[a]instanceof Object&&e[a]&&Object.assign(n[a],$e(e[a],n[a]))}),je(je({},e),n)}var nn={type:"cancelation",msg:"operation is manually canceled"};function ve(e){var n=!1,a=new Promise(function(o,i){e.then(function(l){return n?i(nn):o(l)}),e.catch(i)});return a.cancel=function(){return n=!0},a}var an=Gt.create({config:Xt,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ae=Mt(an,2),le=Ae[0],de=Ae[1];function on(e){var n=en.config(e),a=n.monaco,o=Nt(n,["monaco"]);de(function(i){return{config:$e(i.config,o),monaco:a}})}function ln(){var e=le(function(n){var a=n.monaco,o=n.isInitialized,i=n.resolve;return{monaco:a,isInitialized:o,resolve:i}});if(!e.isInitialized){if(de({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),ve(be);if(window.monaco&&window.monaco.editor)return We(window.monaco),e.resolve(window.monaco),ve(be);tn(rn,cn)(un)}return ve(be)}function rn(e){return document.body.appendChild(e)}function sn(e){var n=document.createElement("script");return e&&(n.src=e),n}function cn(e){var n=le(function(o){var i=o.config,l=o.reject;return{config:i,reject:l}}),a=sn("".concat(n.config.paths.vs,"/loader.js"));return a.onload=function(){return e()},a.onerror=n.reject,a}function un(){var e=le(function(a){var o=a.config,i=a.resolve,l=a.reject;return{config:o,resolve:i,reject:l}}),n=window.require;n.config(e.config),n(["vs/editor/editor.main"],function(a){We(a),e.resolve(a)},function(a){e.reject(a)})}function We(e){le().monaco||de({monaco:e})}function dn(){return le(function(e){var n=e.monaco;return n})}var be=new Promise(function(e,n){return de({resolve:e,reject:n})}),ke={config:on,init:ln,__getMonacoInstance:dn};const fn=t.defineComponent({name:"expression-code",props:{modelValue:{type:String,default:""},language:{type:String,default:"javascript"},theme:{type:String,default:"vs"},readOnly:{type:Boolean,default:!1},configPath:{type:String,default:"assets/monaco-editor.config.json"}},emits:[],setup(e,n){const a=t.ref(),o=t.ref();let i=null;const l=t.ref(e.modelValue);async function r(){return fetch(e.configPath).then(k=>k.json())}async function s(){if(a.value&&!i){const k=await r(),{vsPath:w}=k;ke.config({paths:{vs:window.location.origin+w}}),ke.config({"vs/nls":{availableLanguages:{"*":"zh-cn"}}}),ke.init().then(u=>{o.value=u,i=u.editor.create(a.value,{value:l.value,automaticLayout:!0,language:e.language,theme:e.theme,folding:!0,readOnly:e.readOnly,minimap:{enabled:!1},lineNumbers:"on",lineNumbersMinChars:3,overviewRulerLanes:0,fixedOverflowWidgets:!1,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}})})}}t.watch(()=>e.modelValue,k=>{l.value=k,i==null||i.setValue(k)});const c=t.ref(),m=new ResizeObserver(k=>{i==null||i.layout();const{width:w,height:u}=k[0].contentRect;c.value={width:`${w-1}px`,height:`${u}px`}});function h(){return i==null?void 0:i.getValue()}function f(k){const w=i.getSelection(),u=new o.value.Range(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn);i.executeEdits("insert-text",[{range:u,text:k,forceMoveMarkers:!0}])}t.onMounted(()=>{s(),a.value&&m.observe(a.value.parentElement)}),t.onBeforeUnmount(()=>{i&&i.dispose(),m&&a.value&&(m.unobserve(a.value),m.disconnect())});function d(k){i.setValue(k)}function C(){d("")}return n.expose({getContent:h,insertText:f,clearText:C,setContent:d}),()=>t.createVNode("div",{class:"expression-code-editor",style:c.value,ref:a},null)}}),mn={dataSource:{type:Object,default:{}}},yn={data:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},formatter:{type:Function},customRowStatus:{type:Object,default:null}},pn=t.defineComponent({name:"FEntitiesTree",props:yn,emits:["dblclickNode"],setup(e,n){const a=t.ref(e.data),o=t.ref(),i=t.ref();function l(){let f=0;return document.querySelectorAll(".entity-variable .fv-grid-hierarchy-cell").forEach(C=>{C.style.width="auto";const k=C.scrollWidth;k>f&&(f=k)}),f}t.watch(()=>e.data,f=>{var d;a.value=f,(d=o.value)==null||d.updateDataSource(f)});const r={customRowStatus:e.customRowStatus},s=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]);function c({$event:f,node:d}){n.emit("dblclickNode",{$event:f,node:d})}function m(){const f=l();i.value={minWidth:`${f+10}px`}}function h({row:f}){t.nextTick(m)}return t.onMounted(()=>{t.nextTick(m)}),()=>t.createVNode("div",{class:"h-100 f-utils-fill",style:"overflow:auto",id:"entity-tree-view"},[t.createVNode(tt,{ref:o,fit:!1,rowNumber:{enable:!1},data:a.value,idField:e.idField,columns:s.value,rowOption:r,columnOption:{fitColumns:!0,fitMode:"percentage"},onDblclickNode:c,style:i.value,autoHeight:!0,onExpandNode:h},null)])}}),hn=t.defineComponent({name:"entity-variable",props:mn,emits:["variableItemDblClick","entityItemDblClick","fieldClick"],setup(e,n){const a=t.ref("dataEntity"),o=t.ref(e.dataSource),{entities:i,variables:l}=o.value,r=t.ref(""),s=t.ref((i==null?void 0:i.fields)||[]),c=(F,V)=>{F.stopPropagation(),n.emit("fieldClick",{$event:F,item:V.raw})},m=(F,V)=>{const B=`${V.raw.name} [${V.raw.bindingPath}]`;return t.createVNode("div",{class:"d-flex align-items-center w-100 entity-field",style:"justify-content: space-between;"},[t.createVNode("span",{title:B,class:"f-utils-fill text-truncate"},[B]),t.createVNode("button",{title:"插入属性名称",class:"btn btn-link d-none",style:"width:24px;height:24px",onClick:E=>c(E,V),onDblclick:E=>E.stopPropagation()},[t.createVNode("span",{class:"f-icon f-icon-new-edit",style:"font-size: 12px;"},null)])])},h=t.ref({}),f=t.ref(),d=t.computed(()=>F=>({"list-group d-flex flex-column":!0,"f-utils-fill":a.value===F,expand:a.value===F,collapse:a.value!==F})),C=t.computed(()=>F=>({"f-icon f-icon-arrow-chevron-up":a.value!==F,"f-icon f-icon-arrow-chevron-down":a.value===F})),k=t.computed(()=>F=>({"functions-type d-flex flex-column":!0,open:h.value[F],closed:!h.value[F]})),w=t.computed(()=>F=>({"f-icon f-icon-arrow-chevron-down":h.value[F],"f-icon f-icon-arrow-chevron-right":!h.value[F]})),u=t.computed(()=>F=>{var V;return{"functions-item pl-2":!0,selected:((V=f.value)==null?void 0:V.key)===F.key}});function p(F,V){F.stopPropagation(),h.value=h.value||{},h.value[V]=!h.value[V]}function g(F,V){F.stopPropagation(),f.value=V}function x(F,V){n.emit("variableItemDblClick",{$event:F,item:V})}function N({$event:F,node:V}){n.emit("entityItemDblClick",{$event:F,item:V.data,entityCode:i==null?void 0:i.entityCode,parentCodes:V.data.parents.join(".")})}function y(){return t.createVNode(pn,{data:s.value,formatter:m,onDblclickNode:N},null)}function v(){if(l)return t.createVNode("ul",{class:"w-100 functions-list"},[Object.keys(l).map(F=>l[F].visible&&t.createVNode("li",{"variable-type":F,class:k.value(F)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:V=>{p(V,F)}},[t.createVNode("span",{class:w.value(F)},null),l[F].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[l[F].items.map(V=>t.createVNode("li",{class:u.value(V),onClick:B=>g(B,V),onDblclick:B=>x(B,V),title:`${V.name} [${V.key}]`},[V.name]))])]))])}function b(F,V){if(F.stopPropagation(),a.value===V){a.value="";return}a.value=V}t.onMounted(()=>{if(l){const F=Object.keys(l)[0];h.value[F]=!0}});function S(F,V){const B=F.children.map(R=>S(R,V)).filter(R=>R!==null);return F.data.name.toLowerCase().includes(V.toLowerCase())||F.data.bindingPath.toLowerCase().includes(V.toLowerCase())?{data:{...F.data},children:F.children}:B.length>0?{data:{...F.data},children:B}:null}function I(F,V){return F.map(B=>S(B,V)).filter(B=>B!==null)}function j(){const F=I((i==null?void 0:i.fields)||[],r.value);s.value=F}function O(){s.value=(i==null?void 0:i.fields)||[]}function P(F){F.key==="Enter"&&j()}return()=>t.createVNode("div",{class:"f-utils-fill entity-variable"},[t.createVNode("ul",{class:"d-flex flex-column h-100"},[t.createVNode("li",{class:d.value("dataEntity")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:F=>b(F,"dataEntity")},[t.createTextVNode("数据实体"),t.createVNode("span",{class:C.value("dataEntity")},null)]),t.createVNode("div",{class:"data-area f-utils-fill d-flex flex-column"},[t.createVNode("div",{class:"w-100"},[t.createVNode(ye.FButtonEdit,{class:"m-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入名称或编号,按回车查询",modelValue:r.value,"onUpdate:modelValue":F=>r.value=F,onClickButton:j,onClear:O,onKeyup:P},null)]),y()])]),t.createVNode("li",{class:d.value("variables")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:F=>b(F,"variables")},[t.createTextVNode("变量"),t.createVNode("span",{class:C.value("variables")},null)]),t.createVNode("div",{class:"data-area f-utils-fill"},[v()])])])])}}),gn={functionItems:{type:Array,default:[]},singleExpand:{type:Boolean,default:!0}},vn=t.defineComponent({name:"FExpressionEditor",props:gn,emits:["insertFunction","search"],setup(e,n){const a=t.ref(),o=t.ref(""),i=t.ref(),l=t.ref({}),r=t.ref(""),s="没有与搜索条件匹配的项",c=t.ref(e.functionItems),m=t.computed(()=>y=>e.singleExpand?{"functions-type d-flex flex-column":!0,open:o.value===y,closed:o.value!==y}:{"functions-type d-flex flex-column":!0,open:l.value[y],closed:!l.value[y]}),h=t.computed(()=>y=>e.singleExpand?{"f-icon f-icon-arrow-chevron-down":o.value===y,"f-icon f-icon-arrow-chevron-right":o.value!==y}:{"f-icon f-icon-arrow-chevron-down":l.value[y],"f-icon f-icon-arrow-chevron-right":!l.value[y]}),f=t.computed(()=>y=>{var v;return{"functions-item pl-2":!0,selected:((v=i.value)==null?void 0:v.key)===y.key}}),d=t.ref(Object.keys(c.value));t.watch(()=>e.functionItems,y=>{c.value=y,d.value=Object.keys(c.value),r.value&&(l.value=d.value.reduce((v,b)=>(v[b]=!0,v),{}))});function C(y){y||(y=o.value);const v=a.value.querySelector('li[function-type="'+y+'"] > div.functions-type-name');v&&(a.value.querySelector(".expression-left").scrollTop=0,v.scrollIntoViewIfNeeded?v.scrollIntoViewIfNeeded(!0):v.scrollIntoView({behavior:"smooth",block:"nearest"}))}function k(y){if(e.singleExpand){if(o.value===y){o.value="";return}o.value=y}else l.value=l.value||{},l.value[y]=!l.value[y]}function w(y,v){y.stopPropagation(),i.value=v}function u(y,v){y.stopPropagation(),n.emit("insertFunction",{$event:y,item:v})}t.watch(()=>o.value,(y,v,b)=>{if(y){const S=setTimeout(()=>{C(y)},200);b(()=>clearTimeout(S))}});function p(){n.emit("search",r.value)}function g(){n.emit("search","")}function x(y){y.key==="Enter"&&p()}function N(){return d.value.length?d.value.map(y=>t.createVNode("li",{"function-type":y,class:m.value(y)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:()=>{k(y)}},[t.createVNode("span",{class:h.value(y)},null),c.value[y].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[c.value[y].items.map(v=>{if(v.visible!==!1)return t.createVNode("li",{class:f.value(v),onClick:b=>w(b,v),onDblclick:b=>u(b,v)},[y==="advanced"?v.key:v.name])})])])):t.createVNode("li",{class:"empty-message"},[s])}return t.onMounted(()=>{o.value=d.value[0],l.value=d.value.reduce((y,v)=>(y[v]=o.value===v,y),{})}),()=>t.createVNode("div",{class:"d-flex f-utils-fill flex-column",ref:a},[t.createVNode(_,{class:"flex-column expression-left"},{default:()=>[t.createVNode(X,{position:"top",minHeight:50,height:50,"custom-class":"position-relative d-flex align-items-center search-bar",resizable:!1},{default:()=>[t.createVNode(ye.FButtonEdit,{class:"w-100 mx-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入函数名称,按回车查询",modelValue:r.value,"onUpdate:modelValue":y=>r.value=y,onClickButton:p,onClear:g,onKeyup:x},null)]}),t.createVNode(X,{position:"center","custom-class":"layout-border"},{default:()=>[t.createVNode("ul",{class:"w-100 functions-list",style:"user-select: none"},[N()])]}),t.createVNode(X,{"custom-class":"position-relative",position:"bottom",minHeight:80},{default:()=>{var y;return[t.createVNode("textarea",{title:"函数说明",class:"h-100 w-100 function-remark p-1",disabled:!0},[(y=i.value)==null?void 0:y.description])]}})]})])}});function bn(e){async function n(){return fetch(e.esprimaPath).then(r=>r.json())}async function a(){if(window.esprima==null){const r=await n(),{path:s}=r;return new Promise((c,m)=>{const h=document.createElement("script");h.type="text/javascript",h.src=s+"?v="+Date.now(),h.onload=c,h.onerror=m,document.head.appendChild(h)})}}function o(r){const s=[],c=window.esprima.tokenize(r);for(let d=0;d<c.length;d++)s.push(c[d].value);const m=[];for(let d=0;d<s.length;d++){const C=r.indexOf(s[d]);C!==-1?m.push(r.substring(0,C)):m.push(""),r=r.slice(C+s[d].length),d===s.length-1&&m.push(r)}const h=[],f=s.length;for(let d=0;d<f;d++)m[d]!==""&&h.push(m[d]),s[d]!==""&&h.push(s[d]),d===f-1&&m[d+1]!==""&&h.push(m[d+1]);return h}function i(r,s="key2name"){const c=new Map;if(!r)return c;let h=Object.values(r).map(f=>f.items).flat();for(;h.length>0;){const f=h.filter(d=>d.name===h[0].name);f.length>1?h.filter(d=>d.name===h[0].name).forEach(d=>{s==="key2name"?c.set(d.key,d.key+"_"+d.name):s==="name2key"&&c.set(d.key+"_"+d.name,d.key)}):s==="key2name"?c.set(f[0].key,f[0].name):s==="name2key"&&c.set(f[0].name,f[0].key),h=h.filter(d=>d.name!==h[0].name)}return c}a();async function l(r){return window.esprima?r():await a().then(()=>r())}return{loadEsprima:a,getTokens:o,getVariableMaps:i,runWithEsprima:l}}function kn(e,n,a){const o=t.ref(e.disabledFunctions),{getTokens:i,getVariableMaps:l,runWithEsprima:r}=bn(e);function s(){const u=ne.cloneDeep(n);if(o.value){let p=Object.keys(u);const{types:g,functions:x}=o.value;return g&&g.length&&(p=p.filter(N=>g.includes(N))),x&&x.length&&Object.values(u).forEach(N=>{N.items.forEach(y=>{x.includes(y.name)&&(y.visible=!1)})}),u}return u}function c(u){const p=n.analytical.items.find(g=>g.key==="GetContextParameter");if(p)return p.name+'("'+u.name+'")'}function m(u){if(!u||u.length===0)return"";const p=g=>{switch(g.type){case"string":return`"${g.name}"`;case"list":return`[${g.name}]`;default:return g.name}};return u.map(p).join(",")}function h(u){let p=u.name;return u.type.toLowerCase()!=="advanced"&&(p+="("+m(u.params)+")"),p}function f(u){return u==null?void 0:u.bindingPath}function d(u){if(!u)return"";const p=i(u),g=l(a,"name2key");for(let N=0;N<p.length;N++){let y=0;if(y===0&&g&&p[N].length>2&&p[N][0]==='"'&&p[N][p[N].length-1]==='"'){const v=p[N].substring(1,p[N].length-1);if(g.has(v)&&p[N-1]==="("&&p[N+1]===")"){const b=g.get(v);b!==void 0&&(p[N]=`"${b}"`,y=1)}}if(y===0){const v=Object.values(n).map(b=>b.items).flat();for(let b=0;b<v.length;b++)if(p[N]===v[b].name){p[N]=v[b].keyFront+"."+v[b].key,y=1;break}}}const x=p.join("");return JSON.stringify({expr:x,sexpr:""})}function C(u,p,g,x){let N="";const y=[];for(const v of p)v.keyFront==="Math"&&y.push(v.key);for(let v=0;v<u.length;v++){if(u[v]==="Math"&&u[v+1]==="."&&!y.includes(u[v+2])){N=N+u[v]+u[v+1]+u[v+2],v=v+2;continue}if(x.includes(u[v])&&u[v+1]==="."){v=v+1;continue}else{let b=0;if(b===0&&u[v].length>2&&u[v][0]==='"'&&u[v][u[v].length-1]==='"'){const S=u[v].substring(1,u[v].length-1);if(g.has(S)&&u[v-1]==="("&&u[v+1]===")"){const I=g.get(S);I!==void 0&&(N=N+`"${I}"`,b=1)}}if(b===0){for(let S=0;S<p.length;S++)if(u[v]===p[S].key&&p[S].type.toLowerCase()!=="advanced"){N=N+p[S].name,b=1;break}}b===0&&(N=N+u[v])}}return N}function k(u){if(!u)return"";const p=i(u),g=l(a,"key2name"),x=Object.values(n).map(y=>y.items).flat();return C(p,x,g,["DefaultFunction","Math","DefaultExtendFunctionProxy"])}async function w(u){return await r(()=>k(u))}return{resetFunctionItems:s,getFieldExpression:f,getFunctionExpression:h,getContextVariableExpression:c,getExpressionCodeValue:d,getExpressionTextValue:w}}function Cn(e,n){const a=t.ref([]),o=ne.cloneDeep(n.value),i=Object.values(o).map(s=>s.items).flat();function l(s){const c=ne.cloneDeep(o);return Object.keys(c).forEach(m=>{const h=c[m].items.filter(f=>s.includes(f.key));h.length>0?c[m].items=h:delete c[m]}),c}function r(s){if(!s){n.value=o;return}const c=i.filter(m=>m.name.toLowerCase().includes(s.toLowerCase())).map(m=>m.key);n.value=l(c)}return{searchResultList:a,filterFunctions:l,onFunctionSearch:r}}const qe=t.defineComponent({name:"FExpressionEditor",props:Te,emits:[],setup(e,n){var O;const a=t.ref(),o=t.ref(e.validateMessage),i=t.ref(e.messageType),l=t.ref(e.modelValue),r=t.ref(),s=[{label:"提示",value:"info"},{label:"警告",value:"warning"},{label:"错误",value:"error"}],{getFunctionExpression:c,getContextVariableExpression:m,resetFunctionItems:h,getFieldExpression:f,getExpressionCodeValue:d,getExpressionTextValue:C}=kn(e,Ft,e.variables),k=t.ref(h()),{onFunctionSearch:w}=Cn(e,k);function u({$event:P,item:F}){var B;const V=c(F);(B=r.value)==null||B.insertText(V)}function p({$event:P,item:F}){var B;const V=m(F);(B=r.value)==null||B.insertText(V)}function g(P){return P.reduce((F,V)=>{var B;return F.push(V.data),(B=V.children)!=null&&B.length&&F.push(...g(V.children)),F},[])}const x=g(((O=e==null?void 0:e.entities)==null?void 0:O.fields)||[]);function N(P){return P.map(F=>{const V=x.find(B=>B.bindingPath===F);return V&&V.type==="entity"?`${F}[0]`:F}).join(".")}function y({$event:P,item:F,parentCodes:V,entityCode:B}){var M;const E=f(F);V=e.isServerSide?N(F.parents):V;let R=`${V}.${E}`;B===E&&(R=E),(M=r.value)==null||M.insertText(`${R}`)}function v({$event:P,item:F}){var B;const V=f(F);(B=r.value)==null||B.insertText(`${V}`)}function b(){var P;return(P=r.value)==null?void 0:P.getContent()}function S(){var F;const P=(F=r.value)==null?void 0:F.getContent();return{value:d(P),message:o.value,messageType:i.value}}const I=t.ref("");function j(){var P;(P=r.value)==null||P.clearText()}return t.onMounted(async()=>{if(l.value){const P=JSON.parse(l.value),{expr:F}=P;F&&(I.value=await C(F)||"")}}),n.expose({getExpressionContext:b,getExpressionValue:S,resetExpression:j}),()=>t.createVNode("div",{ref:a,class:"h-100 d-flex flex-column f-utils-fill mx-3 expression-editor"},[t.createVNode(_,null,{default:()=>[t.createVNode(X,{position:"left",width:248,minWidth:130},{default:()=>[t.createVNode(vn,{functionItems:k.value,singleExpand:e.singleExpand,onInsertFunction:u,onSearch:w},null)]}),t.createVNode(X,{position:"center","custom-class":"layout-border flex-column",style:"overflow:hidden"},{default:()=>[t.createVNode("div",{class:"f-utils-fill my-2 ml-1"},[t.createVNode(fn,{modelValue:I.value,"onUpdate:modelValue":P=>I.value=P,ref:r},null)]),e.showMessage&&t.createVNode("div",{class:"d-flex flex-column p-1",style:"background: #fafafa"},[t.createVNode("div",{class:"d-flex align-items-center py-1"},[t.createVNode("b",null,[t.createTextVNode("提示信息:")]),e.showMessageType&&t.createVNode(ae,{style:"width: 75px",data:s,modelValue:i.value,"onUpdate:modelValue":P=>i.value=P,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto"},null)]),t.withDirectives(t.createVNode("textarea",{"onUpdate:modelValue":P=>o.value=P,class:"form-control",style:"resize:none;border:none;outline:1px solid var(--f-neutral-04);"},null),[[t.vModelText,o.value]])])]}),e.showDataPanel&&t.createVNode(X,{position:"right",width:258,minWidth:130},{default:()=>[t.createVNode(hn,{dataSource:{entities:e.entities,variables:e.variables},onVariableItemDblClick:p,onEntityItemDblClick:y,onFieldClick:v},null)]})]})])}}),wn={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},xn={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Fn=t.defineComponent({name:"FOverlay",props:xn,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),o=t.ref(e.host),i=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function l(s){n.emit("click"),s.preventDefault(),s.stopPropagation()}t.computed(()=>{const s=o.value;if(s){const c=s.getBoundingClientRect(),{left:m,top:h,height:f}=c;return{left:m,top:h+f}}return a.value});const r=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var s,c;return[t.createVNode("div",{class:"overlay-container",onClick:m=>l(m),style:i.value},[t.createVNode("div",{style:r.value},[(c=(s=n.slots).default)==null?void 0:c.call(s)])])]}})}});function Tn(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Sn(e){const n=document.createElement("div");n.style.display="contents";let a;const o=e.onClickCallback||(()=>{}),i=()=>{o(),a&&a.unmount()};return a=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const l=Tn(e);return()=>t.createVNode(Fn,{"popup-content-position":e.popupPosition,host:e.host,onClick:i,backgroundColor:e.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(n),a.mount(n),a}class Nn{static show(n){return Sn(n)}}const Mn={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"}};class A{constructor(n,a){this.x=n,this.y=a}static getTransformInfo(n){const o=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const i=parseInt(o[4],10),l=parseInt(o[5],10);return{x:i,y:l}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new A(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new A(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let o=0;o<n.changedTouches.length;o++)if(n.changedTouches[o].target===a)return new A(n.changedTouches[o].clientX,n.changedTouches[o].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const a=new A(0,0);if(window){const o=window.getComputedStyle(n);if(o){const i=parseInt(o.getPropertyValue("left"),10),l=parseInt(o.getPropertyValue("top"),10);a.x=isNaN(i)?0:i,a.y=isNaN(l)?0:l}return a}return null}static copy(n){return new A(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class Z{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new Z(0,0);if(window){const o=window.getComputedStyle(n);return o&&(a.width=parseInt(o.getPropertyValue("width"),10),a.height=parseInt(o.getPropertyValue("height"),10)),a}return null}static copy(n){return new Z(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function On(e,n){const a=t.ref(),o=t.ref(),i=t.ref(),l=t.ref(),r=t.ref(),s=t.ref(),c=t.ref(),m=t.ref(),h=t.ref(),f=t.ref(),d=t.ref(),C=t.ref(e.resizeable),k=t.ref(),w=t.ref(e.draggable),u=t.ref(!1);function p(){const M=o.value||document.body,D=window.getComputedStyle(M);if(!D||!a.value)return;const $=A.getTransformInfo(a.value),z={};c.value&&(z.deltaL=a.value.offsetLeft-c.value.x,z.deltaT=a.value.offsetTop-c.value.y);const W=D.getPropertyValue("position");z.width=M.clientWidth,z.height=M.clientHeight,z.pr=parseInt(D.getPropertyValue("padding-right"),10),z.pb=parseInt(D.getPropertyValue("padding-bottom"),10),z.position=D.getPropertyValue("position"),W==="static"&&(M.style.position="relative"),z.translateX=$.x,z.translateY=$.y,f.value=z}function g(M){if(a.value){l.value=Z.getCurrent(a.value),r.value=A.getCurrent(a.value),s.value=l.value?Z.copy(l.value):null,c.value=r.value?A.copy(r.value):null,p();const D=M.target.getAttribute("type")||"";m.value={n:!!D.match(/n/),s:!!D.match(/s/),w:!!D.match(/w/),e:!!D.match(/e/)}}}function x(){var M,D,$,z;if(a.value){const W=a.value;m.value&&((m.value.n||m.value.s)&&((M=s.value)!=null&&M.height)&&(W.style.height=s.value.height+"px"),(m.value.w||m.value.e)&&((D=s.value)!=null&&D.width)&&(W.style.width=s.value.width+"px"),c.value&&(($=c.value)!=null&&$.x&&(W.style.left=c.value.x+"px"),(z=c.value)!=null&&z.y&&(W.style.top=c.value.y+"px")))}}function N(){const M=e.minHeight?e.minHeight:1,D=e.minWidth?e.minWidth:1;s.value&&c.value&&m.value&&l.value&&(s.value.height<M&&(s.value.height=M,m.value.n&&r.value&&(c.value.y=r.value.y+(l.value.height-M))),s.value.width<D&&(s.value.width=D,m.value.w&&r.value&&(c.value.x=r.value.x+(l.value.width-D))),e.maxHeight&&s.value.height>e.maxHeight&&(s.value.height=e.maxHeight,r.value&&m.value.n&&(c.value.y=r.value.y+(l.value.height-e.maxHeight))),e.maxWidth&&s.value.width>e.maxWidth&&(s.value.width=e.maxWidth,m.value.w&&r.value&&(c.value.x=r.value.x+(l.value.width-e.maxWidth))))}function y(){if(o.value){const M=f.value;if(c.value&&s.value&&m.value&&l.value){const D=M.width-M.pr-M.deltaL-M.translateX-c.value.x,$=M.height-M.pb-M.deltaT-M.translateY-c.value.y;m.value.n&&c.value.y+M.translateY<0&&r.value&&(c.value.y=-M.translateY,s.value.height=l.value.height+r.value.y+M.translateY),m.value.w&&c.value.x+M.translateX<0&&r.value&&(c.value.x=-M.translateX,s.value.width=l.value.width+r.value.x+M.translateX),s.value.width>D&&(s.value.width=D),s.value.height>$&&(s.value.height=$)}}}function v(M){if(!i.value||!l.value||!r.value||!m.value)return;M.subtract(i.value);const D=M.x,$=M.y;m.value.n?(c.value.y=r.value.y+$,s.value.height=l.value.height-$):m.value.s&&(s.value.height=l.value.height+$),m.value.e?s.value.width=l.value.width+D:m.value.w&&(s.value.width=l.value.width-D,c.value.x=r.value.x+D),y(),N(),x()}function b(M){if(!h.value)return;const D=A.fromEvent(M);D&&v(D)}function S(){if(a.value){const{width:M,height:D,x:$,y:z}=a.value.getBoundingClientRect(),W=A.getTransformInfo(a.value);return{size:{width:M,height:D},position:{x:$-W.x,y:z-W.y}}}return null}function I(M){if(a.value){const D=S();d.value=D}i.value=void 0,l.value=null,r.value=null,s.value=null,c.value=null,m.value=null,h.value=null,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",I)}function j(){document.addEventListener("mousemove",b),document.addEventListener("mouseup",I)}function O(M){M instanceof MouseEvent&&M.button===2||w.value&&(document.body.click(),M.stopPropagation(),M.preventDefault(),i.value=A.fromEvent(M),h.value=M.target,g(M),j())}function P(M){return a.value=M,C.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:D=>O(D)},null)])}function F(M=!0){document.body.click();const D=o.value||document.body,$=Z.getCurrent(D),z=a.value;M&&z&&(k.value=S(),k.value.transform=z.style.transform),$&&z&&(s.value=$,s.value.height-=14,s.value.width-=14,z.style.height=s.value.height+"px",z.style.width=s.value.width+"px",z.style.left="7px",z.style.top="7px",z.style.transform="",d.value={size:s.value,position:{x:0,y:0}},w.value=!1,u.value=!0)}function V(){var M,D;if(document.body.click(),k.value){const $={width:k.value.size.width||0,height:k.value.size.height||0},z={x:(window.innerWidth-$.width)/2,y:(window.innerHeight-$.height)/2};(M=s.value)==null||M.set($),(D=c.value)==null||D.set(z);const W=a.value;W.style.height=$.height+"px",W.style.width=$.width+"px",W.style.left=`${z.x}px`,W.style.top=`${z.y}px`,W.style.transform="",d.value={size:$,position:z},w.value=e.draggable,u.value=!1}}function B(){if(a.value){const M=Z.getCurrent(a.value);if(M){const{width:D,height:$}=M;a.value.style.left=`${(window.innerWidth-D)/2}px`,a.value.style.top=`${(window.innerHeight-$)/2}px`,a.value.style.transform=""}}}function E(){const M=()=>{u.value?F(!1):B(),document.body.click()};return window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}}const R=E();return{renderResizeBar:P,boundingElement:o,resizedEventParam:d,maximize:F,restore:V,allowDrag:w,isMaximized:u,unWindowResizeHandle:R,moveToCenter:B}}function Vn(e,n,a){const o=t.ref(),i=t.ref(e.draggable),l=t.ref(e.lockAxis),r=t.ref(),s=t.ref(),c=t.ref(!1),m=t.ref(new A(0,0)),h=t.ref(new A(0,0)),f=t.ref(new A(0,0)),d=t.ref(new A(0,0));t.watch(()=>a.value,b=>{r.value.style.cursor=b?"move":"default"});function C(b,S){if(S.tagName==="BUTTON")return!1;if(S===b)return!0;for(const I in S.children)if(Object.prototype.hasOwnProperty.call(S.children,I)&&C(b,S.children[I]))return!0;return!1}function k(){var j,O;let b=f.value.x+h.value.x,S=f.value.y+h.value.y;l.value==="x"?(b=((j=m.value)==null?void 0:j.x)||0,f.value.x=0):l.value==="y"&&(S=((O=m.value)==null?void 0:O.y)||0,f.value.y=0);const I=`translate3d(${Math.round(b)}px, ${Math.round(S)}px, 0px)`;o.value&&(o.value.style.transform=I),d.value.x=b,d.value.y=S}function w(){if(!s.value||!o.value)return null;const b=s.value.getBoundingClientRect(),S=o.value.getBoundingClientRect(),I={top:b.top<S.top,right:b.right>S.right,bottom:b.bottom>S.bottom,left:b.left<S.left};return I.top||(f.value.y-=S.top-b.top),I.bottom||(f.value.y-=S.bottom-b.bottom),I.right||(f.value.x-=S.right-b.right),I.left||(f.value.x-=S.left-b.left),k(),I}function u(b){b&&(m.value&&b.subtract(m.value),f.value.set(b),k(),w())}function p(b){c.value&&i.value&&(b.stopPropagation(),b.preventDefault(),u(A.fromEvent(b,r.value)))}function g(){var b;c.value&&(c.value=!1,h.value.add(f.value),f.value.reset(),(b=o.value)==null||b.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",g))}function x(){!c.value&&r.value&&(c.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",p),document.addEventListener("mouseup",g))}function N(){if(o.value){const b=A.getTransformInfo(o.value);h.value.set(b);return}h.value.reset()}function y(b){if(!a.value||b instanceof MouseEvent&&b.button===2)return;const S=b.target||b.srcElement;r.value!==void 0&&S&&!C(S,r.value)||i.value!==!1&&(document.body.click(),b.stopPropagation(),b.preventDefault(),m.value=A.fromEvent(b,o.value),N(),x())}function v(b,S,I){if(i.value&&S){if(b)r.value=b;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)r.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const j=S.querySelector(e.dragHandle);j&&(r.value=j)}}o.value=S,s.value=I,r.value?(r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",y)):i.value=!1}}return{registerDraggle:v,resetTranslate:N}}function Ye(e,n){if(e){const a=o=>{o.key.toLowerCase()===e.toLowerCase()&&n({event:o,key:e})};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}}}function Bn(e,n){const a=t.ref(e.enableEsc);let o=null;return a.value?(o=Ye("Escape",i=>{n.emit("esc",{event:i.event,type:"esc"})}),{remove:o}):null}function Dn(e,n){const a=t.ref(e.enableEnter);let o=null;return a.value?(o=Ye("Enter",i=>{n.emit("enter",{event:i.event,type:"enter"})}),{remove:o}):null}const re=t.defineComponent({name:"FModal",props:Mn,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(e,n){const a=t.ref(e.width||300),o=t.ref(e.height||200),i=t.ref(e.modelValue),l=t.ref(""),r=t.ref(e.class),s=t.ref(e.fitContent),c=t.ref(e.showHeader),m=t.ref(""),h=t.ref(e.showCloseButton),f=t.ref(e.showMaxButton),d=t.ref(!1),C=t.ref(e.dialogType),k=t.ref(e.src),w=t.ref(""),u=t.ref(e.showButtons),p=t.ref(e.title),g=t.ref(e.containment||null),x=t.ref();p.value==="错误提示"&&(p.value=G.LocaleService.getLocaleValue("messageBox.errorTitle"));const N=t.ref(!1);function y(T,L){const Y=L?"accept":"cancel";Promise.resolve().then(()=>{var q;return(q=e.beforeClose)==null?void 0:q.call(e,{closeType:Y})}).then(q=>{q&&(i.value=!1,n.emit("update:modelValue",!1),L!=null&&n.emit(L?"accept":"cancel"),n.emit("closed",T))})}const v=[{name:"cancel",text:G.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:T=>{y(T,!1)}},{name:"accept",text:G.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:T=>{y(T,!0)}}],b=t.ref(e.buttons&&e.buttons.length?e.buttons:v),S=t.computed(()=>!!m.value),I=t.computed(()=>!!u.value&&!!b.value),j=t.ref(),O=t.ref(),P=t.ref(!1),{renderResizeBar:F,maximize:V,restore:B,boundingElement:E,resizedEventParam:R,allowDrag:M,unWindowResizeHandle:D,moveToCenter:$}=On(e),{registerDraggle:z}=Vn(e,n,M);function W(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function _n(){const T=document.querySelectorAll(".farris-modal").length;(!T||T-1<=0)&&document.body.classList.remove("modal-open"),x.value&&x.value.classList.remove("show")}t.watch(()=>e.title,(T,L)=>{T!==L&&(p.value=T)}),t.watch(()=>e.modelValue,(T,L)=>{T!==L&&(i.value=T,i.value&&e.draggable&&t.nextTick(()=>{O.value&&!g.value&&(g.value=O.value.parentElement,E.value=g.value,z(j.value,O.value,E.value),$())}),T||(g.value&&(g.value=null),_n())),i.value?N.value=W():(P.value=!1,M.value=e.draggable)}),t.watch(()=>e.showHeader,(T,L)=>{T!==L&&(c.value=T)}),t.watch(()=>e.showButtons,(T,L)=>{T!==L&&(u.value=T)}),t.watch(()=>R.value,(T,L)=>{const Y=T||{},q=L||{};JSON.stringify(Y)!==JSON.stringify(q)&&n.emit("resize",{newSize:T,oldSize:L,isMaximized:P.value})}),t.watch([()=>e.width,()=>e.height],(T,L)=>{(T[0]!==L[0]||T[1]!==L[1])&&(a.value=T[0]||500,o.value=T[1]||600)});const we=t.computed(()=>(i.value&&document.body.classList.add("modal-open"),i.value)),Jn=t.computed(()=>{var Y;const T={modal:!0,"farris-modal":!0,fade:!0};T["f-modal-fitContent"]=!!s.value,T.show=!!we.value;const L=(Y=e.maskClass)==null?void 0:Y.split(" ");return L==null||L.reduce((q,te)=>(q[te]=!0,q),T),T}),Zn=t.computed(()=>{var Y;const T={"modal-dialog":!0},L=(Y=r.value)==null?void 0:Y.split(" ");return L==null||L.reduce((q,te)=>(q[te]=!0,q),T),T}),Qn=t.computed(()=>{const T=document.documentElement.clientWidth,L=document.documentElement.clientHeight,Y=Math.min(a.value,T),q=s.value?"auto":`${Math.min(o.value,L-10)}px`,te={position:"absolute",top:`${(window.innerHeight-parseInt(q==="auto"?"0":q))/2}px`,left:`${(window.innerWidth-Y)/2}px`,width:`${Y}px`,height:q};return e.mask||(te.pointerEvents="auto"),te}),ea=()=>ee.getMaxZIndex()||1040,ta=t.computed(()=>{const T={display:"block",zIndex:ea()};return e.mask||(T.pointerEvents="none",T.backgroundColor="transparent"),N.value&&(T.backgroundColor="transparent"),T}),na=t.computed(()=>({"modal-content":!0,"modal-content-has-header":c.value})),aa=t.computed(()=>{const T={display:c.value?"":"none"};return T["pointer-events"]=M.value?"auto":"none",T}),oa=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:P.value})),ia=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":C.value==="iframe","f-utils-fill":!0}));function la(){return{height:`${e.footerHeight||60}px`}}const ra=t.computed(()=>{const T={textAlgin:w.value},L=la();return Object.assign(T,L)});function Je(T){if(T==null||T.stopPropagation(),P.value){P.value=!1,B();return}V(),P.value=!0}async function sa(T,L){T.handle&&await T.handle(L,T)&&n.emit("closed",L)}function ca(T){T.width&&(a.value=T.width),T.height&&(o.value=T.height),T.buttons&&(b.value=T.buttons),T.title&&(p.value=T.title)}let xe=null,Fe=null;t.onBeforeMount(()=>{N.value=W()}),t.onMounted(()=>{O.value&&!g.value&&(g.value=O.value.parentElement,E.value=g.value,z(j.value,O.value,E.value)),we.value&&document.body.classList.add("modal-open"),xe=Bn(e,n),Fe=Dn(e,n)}),t.onUnmounted(()=>{D&&D(),xe&&xe.remove(),Fe&&Fe.remove()}),n.expose({modalElementRef:O,updateModalOptions:ca,close:y,maxDialog:Je,isMaximized:P});function ua(){return t.createVNode("ul",null,[d.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),f.value&&t.createVNode("li",{onClick:Je,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:oa.value},null)]),h.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:T=>y(T,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function da(){return t.createVNode("div",{class:"modal-footer",style:ra.value},[b.value&&b.value.map(T=>{const L=t.ref(T.disabled);return t.createVNode("button",{name:T.name,type:"button",disabled:L.value,class:T.class+(T.iconClass?" btn-icontext":""),onClick:Y=>{sa(T,Y)}},[!!T.iconClass&&t.createVNode("i",{class:T.iconClass},null),T.text])})])}function fa(){return t.createVNode("div",{ref:j,class:"modal-header",style:aa.value},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[S.value&&t.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[p.value])]),t.createVNode("div",{class:"actions"},[ua()])])}function ma(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&da()}function ya(T){if(T.stopPropagation(),e.allowClickMaskToClose){if(T.target!==x.value)return;y(T,!1)}}function pa(){var T,L;return t.createVNode("div",{id:l.value,class:Zn.value,style:Qn.value,ref:O},[t.createVNode("div",{class:na.value},[c.value&&fa(),t.createVNode("div",{class:ia.value},[(L=(T=n.slots).default)==null?void 0:L.call(T),C.value==="iframe"&&t.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:k.value},null)]),ma()]),!s.value&&O.value&&!P.value&&F(O.value)])}function ha(T){return T||"body"}return()=>t.createVNode(t.Teleport,{to:ha(e.host)},{default:()=>[we.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:x,class:Jn.value,style:ta.value,onClick:ya},[pa()])]})]})}});function Ue(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function En(e){const n=document.createElement("div");n.style.display="contents";const a=t.createApp({setup(o,i){t.onUnmounted(()=>{document.body.removeChild(n)});const l=t.ref(),r=t.ref(e.class||""),s=t.ref(!!e.showButtons),c=t.ref(!!e.showHeader),m=t.ref(e.showCloseButton==null?!0:e.showCloseButton),h=t.ref(!0),f=t.ref(e.title||""),d=e.acceptCallback||(()=>{}),C=e.rejectCallback||(()=>{}),k=e.closedCallback||(x=>{}),w=e.resizeHandle||(x=>{}),u=e.stopMoveHandle||(x=>{}),p=Ue(e),g=x=>{h.value=!1,a.unmount(),k(x)};return t.onMounted(()=>{}),i.expose({modalRef:l}),()=>t.createVNode(re,{ref:l,class:r.value,modelValue:h.value,"onUpdate:modelValue":x=>h.value=x,title:f.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":c.value,"show-buttons":s.value,"show-close-button":m.value,"show-max-button":!1,onAccept:d,onCancel:C,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:g,onResize:w,onStopMove:u},{default:()=>[p&&p(a)]})}});return document.body.appendChild(n),a.use(G.LocaleService.i18n),a.mount(n),a}class Pn{constructor(n){K(this,"appContext",null);K(this,"modalRef",t.ref());K(this,"activeModalIndex",t.ref(0));K(this,"modalRefs",{});K(this,"isUseEscCloseModal",t.ref(!1));K(this,"activeModalInstance",t.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,a){const{width:o,height:i}={width:window.innerWidth,height:window.innerHeight};return o<n&&(n=o-14),i<a&&(a=i-14),{width:n,height:a}}static show(n){const a=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return En(a)}close(n){var a,o;n?(o=n.value)==null||o.close():(a=this.getCurrentModal())==null||a.close()}open(n){const a=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const o=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),i=t.ref(!0),l=o.value.acceptCallback||(()=>{}),r=o.value.rejectCallback||(()=>{}),s=o.value.closedCallback||((y,v)=>{}),c=o.value.resizeHandle||(y=>{}),m=n.stopMoveHandle||(y=>{});let h;const f=Ue(o.value),d=y=>{var b;i.value=!1;const v=(b=y==null?void 0:y.target)==null?void 0:b.classList.contains("modal_close");s(y,this.isUseEscCloseModal.value?"esc":v?"icon":"button")},C=y=>{d(y),h&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),h=null,this.modalRef.value=null,this.modalRefs){const v=Object.keys(this.modalRefs).map(b=>Number(b));v.length>0?this.activeModalIndex.value=Math.max(...v):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},k=y=>{var v;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((v=this.activeModalInstance.value)==null||v.close(y==null?void 0:y.event))},{width:w,height:u}=o.value,p=this.adaptToWindow(w||500,u||320);Object.assign(o.value,p);const g=()=>t.createVNode(re,t.mergeProps({ref:this.modalRef,modelValue:i.value,"onUpdate:modelValue":y=>i.value=y},o.value,{onAccept:l,onCancel:r,onClosed:C,onResize:c,onEsc:k,onStopMove:m}),{default:()=>[f&&f(this.app)]});return h=(y=>{const v=t.h(g,y);return v.appContext=this.appContext,t.render(v,a),v})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:y=>{o.value={...o.value,...y},h&&t.render(t.cloneVNode(h,{...o}),a)},destroy:C,modalRef:this.activeModalInstance,close:()=>this.close()}}}const Ge=Symbol("FModalService");re.install=e=>{e.component(re.name,re);const n=new Pn(e);e.provide(Ge,n),e.provide("FModalService",n)};function Xe(e,n){function a(){const o=e.beforeOpen||e.beforeClickButton||null;let i=Promise.resolve(!0);if(o){const l=o(n.value);if(typeof l>"u")return i;typeof l=="boolean"?i=Promise.resolve(l):i=l}return i}return{judgeCanOpen:a}}function jn(e,n,a,o,i){const l=t.ref(e.buttonBehavior),r=t.ref(e.popupOnInput),s=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:c}=Xe(e,i),m=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),h=t.inject(Ge,null),f=t.ref();async function d(w){if(await c()&&m.value){const u=!!n.slots.default;if(l.value==="Modal"){const p=e.modalOptions,g=h==null?void 0:h.open({...p,render:()=>n.slots.default&&n.slots.default()});f.value=g==null?void 0:g.modalRef}l.value==="Overlay"&&Nn.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),u&&l.value==="Popup"&&o.togglePopup(!0),u&&r.value&&o.hidePopup(),n.emit("clickButton",{origin:w,value:e.modelValue})}}function C(w){n.emit("mouseEnterIcon",w)}function k(w){n.emit("mouseLeaveIcon",w)}return{buttonGroupClass:s,onClickButton:d,onMouseEnterButton:C,onMouseLeaveButton:k,modalRef:f}}function In(e,n,a,o,i,l){const r=t.ref(!1),s=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:c,hasClearClass:m}=l;function h(k){r.value=k,m.value=k}t.watch(i,()=>{h(!!i.value)});function f(k){const w=!e.readonly&&!e.disable&&e.editable,u=!e.editable;k.stopPropagation(),(w||u)&&(c(""),i.value="",h(!r.value),n.emit("clear"))}function d(k){if(s.value){if(!a.value){h(!1);return}!e.disable&&!e.readonly&&h(!0)}}function C(k){s.value&&h(!1)}return{enableClearButton:s,showClearButton:r,onClearValue:f,onMouseEnterTextBox:d,onMouseLeaveTextBox:C}}function Rn(e,n,a,o,i){const l=t.computed(()=>e.popupOnInput),r=t.computed(()=>e.popupOnFocus),{shouldPopupContent:s,closeAllPopover:c}=i,m=t.ref(!1),h=t.computed(()=>e.enableTitle?a.value:""),f=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),d=t.computed(()=>e.readonly||!e.editable),C=t.ref(!1),k=t.computed(()=>!e.disable&&C.value),w=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),u=t.computed(()=>({"input-group":!0,"f-state-disabled":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly,"f-state-focus":k.value,"input-group--has-clear":e.enableClear&&m.value}));function p(O,P=!0){a.value=O,P&&(n.emit("change",O),n.emit("update:modelValue",O))}function g(O){s.value=!1,p(O,!0)}t.watch(()=>e.modelValue,O=>{a.value=O});function x(O){C.value=!1,n.emit("blur",O),O.stopPropagation()}function N(O){n.emit("click",O),c(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&i.togglePopup()}function y(O){!e.disable&&!e.readonly&&(C.value=!0,d.value||(n.emit("focus",O),r.value&&!s.value&&i.popup()))}function v(O){n.emit("input",O);const P=O.target.value;o.value=P,a.value!==P&&p(P,e.updateOn==="change"),l.value&&!s.value&&i.popup()}function b(O){O.target.tagName!=="INPUT"&&O.preventDefault(),O.stopPropagation()}function S(O){n.emit("keydown",O)}function I(O){O.key==="Enter"&&(l.value||r.value)&&i.hidePopup(),n.emit("keyup",O)}function j(O){const P=O.target.value;O.stopPropagation(),p(P)}return{hasFocusedTextBox:k,isTextBoxReadonly:d,textBoxClass:w,textBoxPlaceholder:f,textBoxTitle:h,inputGroupClass:u,hasClearClass:m,changeTextBoxValue:p,commitValue:g,onBlurTextBox:x,onClickTextBox:N,onFocusTextBox:y,onInput:v,onKeyDownTextBox:S,onKeyUpTextBox:I,onMouseDownTextBox:b,onTextBoxValueChange:j}}const Q="FarrisVue_PopoverInstancesKey";function Ln(e,n,a,o){const i=t.ref(),l=t.ref(!1),{judgeCanOpen:r}=Xe(e,o);t.watch(()=>i.value,(C,k)=>{window[Q]=window[Q]||new WeakMap,C?window[Q].set(a.value,C):window[Q].delete(a.value)});function s(){if(window[Q]){const C=window[Q];document.querySelectorAll(".f-button-edit,.v-popover").forEach(k=>{const w=C.get(k);w&&k!==a.value&&!a.value.closest(".popover-fitcontent")&&w.hide()})}}function c(){const C=i.value;C&&C.show(a.value)}async function m(C=!1){if(!!n.slots.default){if(!C&&!l.value&&!await r())return;l.value=!l.value,l.value&&(await t.nextTick(),c())}}async function h(C=!1){if(!!n.slots.default){if(!C&&!await r())return;l.value=!0,await t.nextTick(),c()}}function f(){l.value=!1}function d(){l.value=!0,t.nextTick(()=>{c()})}return{hidePopup:f,showPopup:d,popup:h,shouldPopupContent:l,togglePopup:m,popoverRef:i,closeAllPopover:s}}function zn(e,n,a){const o=t.ref(),{isTextBoxReadonly:i,textBoxClass:l,textBoxPlaceholder:r,textBoxTitle:s,onBlurTextBox:c,onClickTextBox:m,onFocusTextBox:h,onInput:f,onKeyDownTextBox:d,onKeyUpTextBox:C,onMouseDownTextBox:k,onTextBoxValueChange:w}=a,u=t.ref(e.id),{uuid:p}=ee.useGuid(),g=t.computed(()=>({}));t.onMounted(()=>{var b,S;e.selectOnCreated&&((b=o.value)==null||b.select()),e.focusOnCreated&&((S=o.value)==null||S.focus({preventScroll:!0})),u.value||(u.value="button-edit_"+p(8)),u.value=u.value+"-textbox"});const x=t.ref(!1),N=b=>{b.preventDefault(),x.value=!0},y=b=>{b.preventDefault(),x.value=!1,f(b)};function v(b){x.value||f(b)}return()=>t.createVNode("input",{id:e.id?e.id+"-textbox":void 0,ref:o,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:l.value,style:g.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:r.value,readonly:i.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:n.value,onBlur:c,onChange:w,onClick:m,onFocus:h,onInput:v,onKeydown:d,onKeyup:C,onMousedown:k,onCompositionend:y,onCompositionstart:N},null)}function Hn(e,n,a){const o=t.ref(e.separator),i=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:l,onFocusTextBox:r,onBlurTextBox:s,onClickTextBox:c,textBoxPlaceholder:m}=a,h=t.computed(()=>n.value?n.value.split(o.value).map(k=>({name:k,selectable:!0})):[]);function f(k){l(k.map(w=>w.name).join(o.value),!0)}t.watch(()=>e.separator,k=>{o.value=k});const d=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([k,w],[u,p])=>{d.value=!k&&!w});function C(k){c(k)}return()=>t.createVNode(nt,{tabindex:e.tabIndex,onFocus:r,onBlur:s,id:`${e.id}-tag-editor`,class:"form-control",placeholder:m.value,data:h.value,showClose:!i.value,showInput:!0,disable:i.value,onChange:f,onClick:C},null)}function $n(e,n,a,o){const{buttonGroupClass:i,onClickButton:l,onMouseEnterButton:r,onMouseLeaveButton:s}=a,{enableClearButton:c,showClearButton:m,onClearValue:h}=o,f=t.ref(),d=ne.debounce(k=>{l(k)},e.buttonBehavior==="Modal"?0:200),C=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:i.value},[c.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:h,onMousedown:C},[t.createVNode("i",{class:"f-icon modal_close"},null)]),[[t.vShow,m.value]]),n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",onClick:d,onMouseenter:r,onMouseleave:s},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:f,onClick:k=>d(k),onMouseenter:r,onMouseleave:s},null):null]),buttonHandleElement:f}}function An(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:i,popoverRef:l}=a,r=()=>{n.emit("shown")};return()=>t.createVNode(at,{id:`${e.id}-popover`,ref:l,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:o.value,class:e.popupClass,offsetX:e.popupOffsetX,onHidden:i,onShown:r,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var s,c;return[(c=(s=n.slots).default)==null?void 0:c.call(s)]}})}const Wn=t.defineComponent({name:"FButtonEdit",props:wn,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),i=t.ref(e.modelValue),l=Ln(e,n,a,i),{shouldPopupContent:r,hidePopup:s,showPopup:c,togglePopup:m}=l,h=jn(e,n,a,l,i),f=t.ref(""),d=Rn(e,n,i,f,l),{hasFocusedTextBox:C,commitValue:k,inputGroupClass:w}=d,u=In(e,n,i,C,f,d),{onMouseEnterTextBox:p,onMouseLeaveTextBox:g}=u,x=t.ref(!1),N=t.computed(()=>{const E={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce((R,M)=>(R[M]=!0,R),E),E}),y=t.computed(()=>({overflow:e.wrapText?"hidden":""})),v=t.computed(()=>({}));function b(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let E=0;const R=Array.from(a.value.querySelectorAll(".farris-tag-item"));return R&&R.length&&(E=R.map(M=>M.offsetTop).filter(M=>M>20).length),E}const S=t.ref(b());t.onUpdated(()=>{S.value=b()});function I(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Hn(e,i,d)(),!!S.value&&t.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[t.createVNode("span",{class:"multi--more-text"},[t.createTextVNode("+"),S.value])])]):zn(e,i,d)}let j=I();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{j=I()});const{renderButtonGroup:O,buttonHandleElement:P}=$n(e,n,h,u),F=An(e,n,l),V=t.ref(r.value),B={displayText:f,commitValue:k,elementRef:a,hidePopup:s,showPopup:c,popoverRef:l.popoverRef,shouldPopupContent:r,togglePopup:m,openDialog:()=>{P.value&&e.buttonBehavior==="Modal"&&P.value.click()},getModal:()=>{var E;return e.buttonBehavior==="Modal"?(E=h.modalRef.value)==null?void 0:E.value:null},getTextbox:()=>{var E;return(E=a.value)==null?void 0:E.querySelector("input")},forceClosePopup:()=>{V.value=!1,x.value=!0,r.value=!1}};return t.onMounted(()=>{a.value.componentInstance=B,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var E;window.onresize=null,(E=window[Q])==null||E.delete(a.value)}),n.expose(B),t.watch(()=>r.value,async(E,R)=>{if(x.value){V.value=E,x.value=!1;return}if(!E&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const M=await e.beforeClosePopup();V.value=!M,(!M||e.readonly)&&(r.value=!0)}catch(M){console.error("Error in beforeClosePopup:",M),V.value=R,r.value=R}return}V.value=E}),()=>{var E,R;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:N.value,id:e.id?e.id:void 0,style:y.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:w.value,style:v.value,onMouseenter:p,onMouseleave:g},[(R=(E=n.slots).precontent)==null?void 0:R.call(E),j(),O()])]),V.value&&F()])}}}),qn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/expression-editor.schema.json",title:"expression-editor",description:"A Farris Expression Editor Component",type:"object",properties:{id:{description:"The unique identifier for a Expression Editor",type:"string"},type:{description:"The type string of Expression Editor component",type:"string",default:"expression-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},beforeOpen:{type:"object",default:null},modelValue:{description:"The value of Expression Editor",type:"string",default:""},variables:{description:"The variables of Expression Editor",type:"array",default:[]},entities:{description:"The entities of Expression Editor",type:"array",default:[]},onSubmitModal:{description:"The event of Expression Editor",type:"function",default:null},onExpressionChanged:{description:"The event of Expression Editor",type:"function",default:null},esprimaPath:{description:"The path of esprima",type:"string",default:"assets/esprima-config.json"},singleExpand:{description:"The singleExpand of Expression Editor",type:"boolean",default:!0},showMessage:{description:"The showMessage of Expression Editor",type:"boolean",default:!1},dialogTitle:{description:"The dialogTitle of Expression Editor",type:"string",default:"表达式编辑器"},dialogWidth:{description:"The dialogWidth of Expression Editor",type:"string",default:975},dialogHeight:{description:"The dialogHeight of Expression Editor",type:"string",default:600},beforeSubmit:{description:"The beforeSubmit of Expression Editor",type:"function",default:null},showMessageType:{description:"The showMessageType of Expression Editor",type:"boolean",default:!1},showDataPanel:{description:"Show right panel",type:"boolean",default:!0}},required:["id","type"]},Ke={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},modelValue:{type:String,default:""},displayText:{type:String,default:""},repositoryToken:{type:Object,default:null},editorParams:{},singleExpand:{type:Boolean,default:!0},beforeOpen:{type:Function,default:()=>{}},onSubmitModal:{type:Function,default:()=>{}},entities:{type:Array,default:[]},variables:{type:Array,default:[]},disabledFunctions:{type:Object,default:null},onExpressionChanged:{type:Function,default:()=>{}},esprimaPath:{type:String,default:"assets/esprima-config.json"},showMessage:{type:Boolean,default:!1},showMessageType:{type:Boolean,default:!1},dialogTitle:{type:String,default:"表达式编辑器"},dialogWidth:{type:Number,default:975},dialogHeight:{type:Number,default:600},validateMessage:{type:String,default:""},beforeSubmit:{type:Function,default:null},showDataPanel:{type:Boolean,default:!0},isServerSide:{type:Boolean,default:!1}},Yn=U.createPropsResolver(Ke,qn),Un={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object},safeHtml:{type:Boolean,default:!0}},Gn={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Ce=t.defineComponent({name:"Toast",props:Gn,emits:["close","click"],setup:(e,n)=>{const a=t.ref(e.animate),o="fadeOut",i=t.computed(()=>e.options),l=t.ref(!1),r=t.computed(()=>i.value.title&&i.value.message),s=t.computed(()=>!i.value.title&&i.value.message),c=t.computed(()=>{const g={animated:l.value,toast:!0,"toast--only-content":!r.value};return g[e.animate]=!1,g[o]=l.value,g["toasty-type-"+i.value.type]=!0,i.value.theme&&(g[i.value.theme]=!0),g}),m=t.computed(()=>{const N=`f-icon-${i.value&&i.value.type?i.value.type.replace("toasty-type-",""):"default"}`,y={"f-icon":!0};return y[N]=!0,y}),h=t.computed(()=>i.value.title||i.value.message),f=t.computed(()=>e.showCloseButton),d=t.computed(()=>!!i.value.buttons||!!n.slots.default),C=t.computed(()=>G.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function k(g){g.stopPropagation(),g.preventDefault(),l.value=!1,setTimeout(()=>{n.emit("close",i.value)},200)}function w(g,x){}function u(g){return`f-preten-link ${g.customClass?g.customClass:""}`}t.watch(a,()=>{a.value});const p=()=>{var g;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((g=i.value.buttons)==null?void 0:g.map(x=>t.createVNode("span",{class:u(x),onClick:N=>void 0},[x.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:c.value,style:"min-height:44px"},[f.value&&t.createVNode("button",{title:G.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:k},[t.createVNode("span",{class:"f-icon modal_close"},null)]),h.value&&t.createVNode("section",{class:"modal-tips"},[!r.value&&t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:m.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[r.value&&t.createVNode(t.Fragment,null,[t.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:i.value.title},null),t.createVNode("p",{class:"toast-msg",innerHTML:i.value.message,style:C.value},null),d.value&&p()]),s.value&&(i.value.buttons?t.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:C.value,innerHTML:i.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[p()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:C.value,innerHTML:i.value.message},null))])])])}}),fe=t.defineComponent({name:"Notify",props:Un,emits:["close","empty"],setup(e,n){const a=t.computed(()=>({"farris-notify":!0})),o={left:12,right:12,top:20,bottom:12},i=t.ref(),l=t.ref(e.options),r=t.ref(e.showCloseButton),s=t.computed(()=>e.position||"bottom-right"),c=t.computed(()=>e.timeout!=null?e.timeout:3e3),m=t.computed(()=>{const d=e.bottom?e.bottom:o.bottom,C=e.top?e.top:o.top,k={transition:"all 0.2s ease",left:s.value.indexOf("left")>-1?`${e.left?e.left:o.left}px`:"",right:s.value.indexOf("right")>-1?`${e.right?e.right:o.right}px`:"",top:s.value.indexOf("top")>-1?`${C}px`:"",bottom:s.value.indexOf("bottom")>-1?`${d}px`:""};return s.value.indexOf("center")>-1&&(k.left="50%",k.marginLeft="calc(-24rem / 2)",s.value==="center-center"&&(k.top="50%",k.transform="translate(-50%, -50%)")),k});function h(d){n.emit("close")}c.value&&setTimeout(()=>{h()},c.value),n.expose({closeToast:h,container:i,notifyPosition:s});function f(d,C){h()}return()=>t.createVNode("div",{class:a.value,style:m.value,ref:i},[t.createVNode(Ce,{options:l.value,showCloseButton:r.value,animate:e.animate,onClose:d=>f(d,l.value)},null)])}});class Xn{constructor(){K(this,"notifyRefs",[]);K(this,"globalConfig",t.reactive({}))}escapeAllHtml(n){if(typeof n!="string"||!n)return"";const a=document.createElement("div");return a.textContent=n||"",a.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g," ").replace(/\\r/g,"")}createNotifyInstance(n){const a=this,i=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),l=document.createElement("div");l.style.display="contents";const r=t.createApp({setup(){var m;const s=t.ref();function c(){s.value.container.style.transform="scale(0)",setTimeout(()=>{a.updateNotifyPositionForClose(i,s),r.unmount()},220)}if(i.position.indexOf("top")>-1){const h=a.getNotifyInstances(i.position),f=h[h.length-1];if(f){const d=f.value.container.getBoundingClientRect();i.top=d.bottom}}return i.safeHtml&&((m=i.options)!=null&&m.message)&&(i.options.message=a.escapeAllHtml(i.options.message)),t.onUnmounted(()=>{document.body.removeChild(l)}),t.onMounted(()=>{a.updateNotifyPositionForCreate(i,s)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(fe,t.mergeProps({ref:s},i,{onClose:c}),null)]})}});return r.provide("NotifyService",this),document.body.appendChild(l),r.use(G.LocaleService.i18n),r.mount(l),r}getNotifyInstances(n){return this.notifyRefs.filter(a=>a.value.notifyPosition===n)}updateNotifyPositionForCreate(n,a){if(this.notifyRefs&&this.notifyRefs.length){const o=window.innerHeight;n.position.indexOf("bottom")>-1&&this.getNotifyInstances(n.position).forEach(i=>{const l=i.value.container.getBoundingClientRect();i.value.container.style.bottom=l.height+o-l.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,a]}updateNotifyPositionForClose(n,a){const o=this.notifyRefs.indexOf(a);if(n.position.indexOf("top")>-1){const i=this.getNotifyInstances(n.position),l=i.indexOf(a);i.slice(l+1).forEach(r=>{r.value.container.style.top=r.value.container.offsetTop-r.value.container.offsetHeight+"px"})}o>-1&&this.notifyRefs.splice(o,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,a){let o="",i="",l,r,s;typeof a=="string"?o=a:a&&(o=a.message||"",i=a.title||"",r=a.position||null,s=a.showCloseButton!=null?a.showCloseButton:null,l=a.timeout!=null?a.timeout:null);const m={options:{type:n,message:o,title:i}};return r!=null&&(m.position=r),s!=null&&(m.showCloseButton=s),l!=null&&(m.timeout=l),m}info(n){const a=this.buildNotifyProps("info",n);return this.show(a)}success(n){const a=this.buildNotifyProps("success",n);return this.show(a)}warning(n){const a=this.buildNotifyProps("warning",n);return this.show(a)}error(n){const a=this.buildNotifyProps("error",n);return this.show(a)}close(n){n&&n.unmount()}closeAll(){this.notifyRefs.forEach(n=>{n==null||n.value.closeToast()}),this.notifyRefs.length=0}}const _e=Symbol("NOTIFY_SERVICE_TOKEN");fe.install=e=>{e.component(fe.name,fe),e.component(Ce.name,Ce);const n=new Xn;e.provide(_e,n),e.provide("FNotifyService",n)};const me=t.defineComponent({name:"f-expression-textbox",props:Ke,setup(e,n){const a=t.inject(_e),o=t.inject("FLoadingService"),i='<i class="f-icon f-icon-lookup"></i>',l=t.ref(e.modelValue),r=t.ref(e.entities),s=t.ref(e.variables),c=t.ref(),m=t.ref(e.validateMessage||""),h=t.ref("info");async function f(){const{value:w,message:u,messageType:p}=c.value.getExpressionValue();if(m.value=u,h.value=p,e.beforeSubmit&&typeof e.beforeSubmit=="function"){const g=await e.beforeSubmit({notifyService:a,expressionValue:w});if(typeof g=="boolean"&&!g)return!1;if(typeof g=="object"){const{canClose:x,message:N}=g;if(!x)return N&&(a==null||a.error({message:N})),!1}}if(n.emit("update:modelValue",w),l.value=w,e.onSubmitModal){const g={expression:w,message:u};e.showMessageType&&(g.messageType=h.value);const x=e.onSubmitModal(g);e.onExpressionChanged&&e.onExpressionChanged(x)}return!0}const d={title:e.dialogTitle||"表达式编辑器",width:e.dialogWidth||975,height:e.dialogHeight||600,fitContent:!1,minWidth:300,minHeight:200,showMaxButton:!0,resizeable:!0,draggable:!0,buttons:[{name:"reset",text:"清空",class:"btn btn-secondary mr-2",handle:w=>{var u;return(u=c.value)==null||u.resetExpression(),!1}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:w=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:async w=>await f()}]};async function C(){if(e.beforeOpen)try{o==null||o.show();const w=await e.beforeOpen({notifyService:a});if(w)return r.value=w.entities||{},s.value=w.variables||{},m.value=w.message||"",h.value=w.messageType||"info",o==null||o.clearAll(),!0}catch{return a==null||a.error({message:"获取数据失败!"}),!1}finally{o==null||o.clearAll()}return!0}function k(){if(n.emit("update:modelValue",""),l.value="",e.onSubmitModal){const w=e.onSubmitModal({expression:"",message:""});e.onExpressionChanged&&e.onExpressionChanged(w)}}return t.watch(()=>e.modelValue,w=>{l.value=w}),()=>t.createVNode(Wn,{editable:!1,enableTitle:!0,modelValue:l.value,"onUpdate:modelValue":w=>l.value=w,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:i,buttonBehavior:"Modal",modalOptions:d,beforeOpen:C,onClear:k},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode(qe,{ref:c,validateMessage:m.value,showMessageType:e.showMessageType,messageType:h.value,modelValue:l.value,"onUpdate:modelValue":w=>l.value=w,esprimaPath:e.esprimaPath,showMessage:e.showMessage,entities:r.value,variables:s.value,disabledFunctions:e.disabledFunctions,showDataPanel:e.showDataPanel,singleExpand:e.singleExpand,isServerSide:e.isServerSide},null)])]})}}),Kn={install(e){e.component(me.name,me)},register(e,n,a,o){e["expression-editor"]=me,n["expression-editor"]=Yn}};H.ExpressionEditor=qe,H.FExpressionTextbox=me,H.default=Kn,H.expressionEditorProps=Te,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
427
|
+
`},He=Kt(Qt)(ze),en={config:Jt},tn=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return function(i){return a.reduceRight(function(l,r){return r(l)},i)}};function $e(e,n){return Object.keys(n).forEach(function(a){n[a]instanceof Object&&e[a]&&Object.assign(n[a],$e(e[a],n[a]))}),je(je({},e),n)}var nn={type:"cancelation",msg:"operation is manually canceled"};function ve(e){var n=!1,a=new Promise(function(o,i){e.then(function(l){return n?i(nn):o(l)}),e.catch(i)});return a.cancel=function(){return n=!0},a}var an=Gt.create({config:Xt,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ae=Mt(an,2),le=Ae[0],de=Ae[1];function on(e){var n=en.config(e),a=n.monaco,o=Nt(n,["monaco"]);de(function(i){return{config:$e(i.config,o),monaco:a}})}function ln(){var e=le(function(n){var a=n.monaco,o=n.isInitialized,i=n.resolve;return{monaco:a,isInitialized:o,resolve:i}});if(!e.isInitialized){if(de({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),ve(be);if(window.monaco&&window.monaco.editor)return We(window.monaco),e.resolve(window.monaco),ve(be);tn(rn,cn)(un)}return ve(be)}function rn(e){return document.body.appendChild(e)}function sn(e){var n=document.createElement("script");return e&&(n.src=e),n}function cn(e){var n=le(function(o){var i=o.config,l=o.reject;return{config:i,reject:l}}),a=sn("".concat(n.config.paths.vs,"/loader.js"));return a.onload=function(){return e()},a.onerror=n.reject,a}function un(){var e=le(function(a){var o=a.config,i=a.resolve,l=a.reject;return{config:o,resolve:i,reject:l}}),n=window.require;n.config(e.config),n(["vs/editor/editor.main"],function(a){We(a),e.resolve(a)},function(a){e.reject(a)})}function We(e){le().monaco||de({monaco:e})}function dn(){return le(function(e){var n=e.monaco;return n})}var be=new Promise(function(e,n){return de({resolve:e,reject:n})}),ke={config:on,init:ln,__getMonacoInstance:dn};const fn=t.defineComponent({name:"expression-code",props:{modelValue:{type:String,default:""},language:{type:String,default:"javascript"},theme:{type:String,default:"vs"},readOnly:{type:Boolean,default:!1},configPath:{type:String,default:"assets/monaco-editor.config.json"}},emits:[],setup(e,n){const a=t.ref(),o=t.ref();let i=null;const l=t.ref(e.modelValue);async function r(){return fetch(e.configPath).then(C=>C.json())}async function s(){if(a.value&&!i){const C=await r(),{vsPath:m}=C;ke.config({paths:{vs:window.location.origin+m}}),ke.config({"vs/nls":{availableLanguages:{"*":"zh-cn"}}}),ke.init().then(c=>{o.value=c,i=c.editor.create(a.value,{value:l.value,automaticLayout:!0,language:e.language,theme:e.theme,folding:!0,readOnly:e.readOnly,minimap:{enabled:!1},lineNumbers:"on",lineNumbersMinChars:3,overviewRulerLanes:0,fixedOverflowWidgets:!1,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}})})}}t.watch(()=>e.modelValue,C=>{l.value=C,i==null||i.setValue(C)});const u=t.ref(),f=new ResizeObserver(C=>{i==null||i.layout();const{width:m,height:c}=C[0].contentRect;u.value={width:`${m-1}px`,height:`${c}px`}});function b(){return i==null?void 0:i.getValue()}function v(C){const m=i.getSelection(),c=new o.value.Range(m.startLineNumber,m.startColumn,m.endLineNumber,m.endColumn);i.executeEdits("insert-text",[{range:c,text:C,forceMoveMarkers:!0}])}t.onMounted(()=>{s(),a.value&&f.observe(a.value.parentElement)}),t.onBeforeUnmount(()=>{i&&i.dispose(),f&&a.value&&(f.unobserve(a.value),f.disconnect())});function h(C){i.setValue(C)}function w(){h("")}return n.expose({getContent:b,insertText:v,clearText:w,setContent:h}),()=>t.createVNode("div",{class:"expression-code-editor",style:u.value,ref:a},null)}}),mn={dataSource:{type:Object,default:{}}},yn={data:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},formatter:{type:Function},customRowStatus:{type:Object,default:null}},pn=t.defineComponent({name:"FEntitiesTree",props:yn,emits:["dblclickNode"],setup(e,n){const a=t.ref(e.data),o=t.ref(),i=t.ref();function l(){let v=0;return document.querySelectorAll(".entity-variable .fv-grid-hierarchy-cell").forEach(w=>{w.style.width="auto";const C=w.scrollWidth;C>v&&(v=C)}),v}t.watch(()=>e.data,v=>{var h;a.value=v,(h=o.value)==null||h.updateDataSource(v)});const r={customRowStatus:e.customRowStatus},s=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]);function u({$event:v,node:h}){n.emit("dblclickNode",{$event:v,node:h})}function f(){const v=l();i.value={minWidth:`${v+10}px`}}function b({row:v}){t.nextTick(f)}return t.onMounted(()=>{t.nextTick(f)}),()=>t.createVNode("div",{class:"h-100 f-utils-fill",style:"overflow:auto",id:"entity-tree-view"},[t.createVNode(tt,{ref:o,fit:!1,rowNumber:{enable:!1},data:a.value,idField:e.idField,columns:s.value,rowOption:r,columnOption:{fitColumns:!0,fitMode:"percentage"},onDblclickNode:u,style:i.value,autoHeight:!0,onExpandNode:b},null)])}}),hn=t.defineComponent({name:"entity-variable",props:mn,emits:["variableItemDblClick","entityItemDblClick","fieldClick"],setup(e,n){const a=t.ref("dataEntity"),o=t.ref(e.dataSource),{entities:i,variables:l}=o.value,r=t.ref(""),s=t.ref((i==null?void 0:i.fields)||[]),u=(F,V)=>{F.stopPropagation(),n.emit("fieldClick",{$event:F,item:V.raw})},f=(F,V)=>{const B=`${V.raw.name} [${V.raw.bindingPath}]`;return t.createVNode("div",{class:"d-flex align-items-center w-100 entity-field",style:"justify-content: space-between;"},[t.createVNode("span",{title:B,class:"f-utils-fill text-truncate"},[B]),t.createVNode("button",{title:"插入属性名称",class:"btn btn-link d-none",style:"width:24px;height:24px",onClick:E=>u(E,V),onDblclick:E=>E.stopPropagation()},[t.createVNode("span",{class:"f-icon f-icon-new-edit",style:"font-size: 12px;"},null)])])},b=t.ref({}),v=t.ref(),h=t.computed(()=>F=>({"list-group d-flex flex-column":!0,"f-utils-fill":a.value===F,expand:a.value===F,collapse:a.value!==F})),w=t.computed(()=>F=>({"f-icon f-icon-arrow-chevron-up":a.value!==F,"f-icon f-icon-arrow-chevron-down":a.value===F})),C=t.computed(()=>F=>({"functions-type d-flex flex-column":!0,open:b.value[F],closed:!b.value[F]})),m=t.computed(()=>F=>({"f-icon f-icon-arrow-chevron-down":b.value[F],"f-icon f-icon-arrow-chevron-right":!b.value[F]})),c=t.computed(()=>F=>{var V;return{"functions-item pl-2":!0,selected:((V=v.value)==null?void 0:V.key)===F.key}});function y(F,V){F.stopPropagation(),b.value=b.value||{},b.value[V]=!b.value[V]}function p(F,V){F.stopPropagation(),v.value=V}function x(F,V){n.emit("variableItemDblClick",{$event:F,item:V})}function S({$event:F,node:V}){n.emit("entityItemDblClick",{$event:F,item:V.data,entityCode:i==null?void 0:i.entityCode,parentCodes:V.data.parents.join(".")})}function d(){return t.createVNode(pn,{data:s.value,formatter:f,onDblclickNode:S},null)}function g(){if(l)return t.createVNode("ul",{class:"w-100 functions-list"},[Object.keys(l).map(F=>l[F].visible&&t.createVNode("li",{"variable-type":F,class:C.value(F)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:V=>{y(V,F)}},[t.createVNode("span",{class:m.value(F)},null),l[F].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[l[F].items.map(V=>t.createVNode("li",{class:c.value(V),onClick:B=>p(B,V),onDblclick:B=>x(B,V),title:`${V.name} [${V.key}]`},[V.name]))])]))])}function k(F,V){if(F.stopPropagation(),a.value===V){a.value="";return}a.value=V}t.onMounted(()=>{if(l){const F=Object.keys(l)[0];b.value[F]=!0}});function N(F,V){const B=F.children.map(L=>N(L,V)).filter(L=>L!==null);return F.data.name.toLowerCase().includes(V.toLowerCase())||F.data.bindingPath.toLowerCase().includes(V.toLowerCase())?{data:{...F.data},children:F.children}:B.length>0?{data:{...F.data},children:B}:null}function I(F,V){return F.map(B=>N(B,V)).filter(B=>B!==null)}function j(){const F=I((i==null?void 0:i.fields)||[],r.value);s.value=F}function O(){s.value=(i==null?void 0:i.fields)||[]}function P(F){F.key==="Enter"&&j()}return()=>t.createVNode("div",{class:"f-utils-fill entity-variable"},[t.createVNode("ul",{class:"d-flex flex-column h-100"},[t.createVNode("li",{class:h.value("dataEntity")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:F=>k(F,"dataEntity")},[t.createTextVNode("数据实体"),t.createVNode("span",{class:w.value("dataEntity")},null)]),t.createVNode("div",{class:"data-area f-utils-fill d-flex flex-column"},[t.createVNode("div",{class:"w-100"},[t.createVNode(ye.FButtonEdit,{class:"m-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入名称或编号,按回车查询",modelValue:r.value,"onUpdate:modelValue":F=>r.value=F,onClickButton:j,onClear:O,onKeyup:P},null)]),d()])]),t.createVNode("li",{class:h.value("variables")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:F=>k(F,"variables")},[t.createTextVNode("变量"),t.createVNode("span",{class:w.value("variables")},null)]),t.createVNode("div",{class:"data-area f-utils-fill"},[g()])])])])}}),gn={functionItems:{type:Array,default:[]},singleExpand:{type:Boolean,default:!0}},vn=t.defineComponent({name:"FExpressionEditor",props:gn,emits:["insertFunction","search"],setup(e,n){const a=t.ref(),o=t.ref(""),i=t.ref(),l=t.ref({}),r=t.ref(""),s="没有与搜索条件匹配的项",u=t.ref(e.functionItems),f=t.computed(()=>d=>e.singleExpand?{"functions-type d-flex flex-column":!0,open:o.value===d,closed:o.value!==d}:{"functions-type d-flex flex-column":!0,open:l.value[d],closed:!l.value[d]}),b=t.computed(()=>d=>e.singleExpand?{"f-icon f-icon-arrow-chevron-down":o.value===d,"f-icon f-icon-arrow-chevron-right":o.value!==d}:{"f-icon f-icon-arrow-chevron-down":l.value[d],"f-icon f-icon-arrow-chevron-right":!l.value[d]}),v=t.computed(()=>d=>{var g;return{"functions-item pl-2":!0,selected:((g=i.value)==null?void 0:g.key)===d.key}}),h=t.ref(Object.keys(u.value));t.watch(()=>e.functionItems,d=>{u.value=d,h.value=Object.keys(u.value),r.value&&(l.value=h.value.reduce((g,k)=>(g[k]=!0,g),{}))});function w(d){d||(d=o.value);const g=a.value.querySelector('li[function-type="'+d+'"] > div.functions-type-name');g&&(a.value.querySelector(".expression-left").scrollTop=0,g.scrollIntoViewIfNeeded?g.scrollIntoViewIfNeeded(!0):g.scrollIntoView({behavior:"smooth",block:"nearest"}))}function C(d){if(e.singleExpand){if(o.value===d){o.value="";return}o.value=d}else l.value=l.value||{},l.value[d]=!l.value[d]}function m(d,g){d.stopPropagation(),i.value=g}function c(d,g){d.stopPropagation(),n.emit("insertFunction",{$event:d,item:g})}t.watch(()=>o.value,(d,g,k)=>{if(d){const N=setTimeout(()=>{w(d)},200);k(()=>clearTimeout(N))}});function y(){n.emit("search",r.value)}function p(){n.emit("search","")}function x(d){d.key==="Enter"&&y()}function S(){return h.value.length?h.value.map(d=>t.createVNode("li",{"function-type":d,class:f.value(d)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:()=>{C(d)}},[t.createVNode("span",{class:b.value(d)},null),u.value[d].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[u.value[d].items.map(g=>{if(g.visible!==!1)return t.createVNode("li",{class:v.value(g),onClick:k=>m(k,g),onDblclick:k=>c(k,g)},[d==="advanced"?g.key:g.name])})])])):t.createVNode("li",{class:"empty-message"},[s])}return t.onMounted(()=>{o.value=h.value[0],l.value=h.value.reduce((d,g)=>(d[g]=o.value===g,d),{})}),()=>t.createVNode("div",{class:"d-flex f-utils-fill flex-column",ref:a},[t.createVNode(_,{class:"flex-column expression-left"},{default:()=>[t.createVNode(X,{position:"top",minHeight:50,height:50,"custom-class":"position-relative d-flex align-items-center search-bar",resizable:!1},{default:()=>[t.createVNode(ye.FButtonEdit,{class:"w-100 mx-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入函数名称,按回车查询",modelValue:r.value,"onUpdate:modelValue":d=>r.value=d,onClickButton:y,onClear:p,onKeyup:x},null)]}),t.createVNode(X,{position:"center","custom-class":"layout-border"},{default:()=>[t.createVNode("ul",{class:"w-100 functions-list",style:"user-select: none"},[S()])]}),t.createVNode(X,{"custom-class":"position-relative",position:"bottom",minHeight:80},{default:()=>{var d;return[t.createVNode("textarea",{title:"函数说明",class:"h-100 w-100 function-remark p-1",disabled:!0},[(d=i.value)==null?void 0:d.description])]}})]})])}});function bn(e){async function n(){return fetch(e.esprimaPath).then(r=>r.json())}async function a(){if(window.esprima==null){const r=await n(),{path:s}=r;return new Promise((u,f)=>{const b=document.createElement("script");b.type="text/javascript",b.src=s+"?v="+Date.now(),b.onload=u,b.onerror=f,document.head.appendChild(b)})}}function o(r){const s=[],u=window.esprima.tokenize(r);for(let h=0;h<u.length;h++)s.push(u[h].value);const f=[];for(let h=0;h<s.length;h++){const w=r.indexOf(s[h]);w!==-1?f.push(r.substring(0,w)):f.push(""),r=r.slice(w+s[h].length),h===s.length-1&&f.push(r)}const b=[],v=s.length;for(let h=0;h<v;h++)f[h]!==""&&b.push(f[h]),s[h]!==""&&b.push(s[h]),h===v-1&&f[h+1]!==""&&b.push(f[h+1]);return b}function i(r,s="key2name"){const u=new Map;if(!r)return u;let b=Object.values(r).map(v=>v.items).flat();for(;b.length>0;){const v=b.filter(h=>h.name===b[0].name);v.length>1?b.filter(h=>h.name===b[0].name).forEach(h=>{s==="key2name"?u.set(h.key,h.key+"_"+h.name):s==="name2key"&&u.set(h.key+"_"+h.name,h.key)}):s==="key2name"?u.set(v[0].key,v[0].name):s==="name2key"&&u.set(v[0].name,v[0].key),b=b.filter(h=>h.name!==b[0].name)}return u}a();async function l(r){return window.esprima?r():await a().then(()=>r())}return{loadEsprima:a,getTokens:o,getVariableMaps:i,runWithEsprima:l}}function kn(e,n,a){const o=t.ref(e.disabledFunctions),{getTokens:i,getVariableMaps:l,runWithEsprima:r}=bn(e);function s(){const c=ne.cloneDeep(n);if(o.value){let y=Object.keys(c);const{types:p,functions:x}=o.value;return p&&p.length&&(y=y.filter(S=>p.includes(S))),x&&x.length&&Object.values(c).forEach(S=>{S.items.forEach(d=>{x.includes(d.name)&&(d.visible=!1)})}),c}return c}function u(c){const y=n.analytical.items.find(p=>p.key==="GetContextParameter");if(y)return y.name+'("'+c.name+'")'}function f(c){if(!c||c.length===0)return"";const y=p=>{switch(p.type){case"string":return`"${p.name}"`;case"list":return`[${p.name}]`;default:return p.name}};return c.map(y).join(",")}function b(c){let y=c.name;return c.type.toLowerCase()!=="advanced"&&(y+="("+f(c.params)+")"),y}function v(c){return c==null?void 0:c.bindingPath}function h(c){if(!c)return"";const y=i(c),p=l(a,"name2key");for(let S=0;S<y.length;S++){let d=0;if(d===0&&p&&y[S].length>2&&y[S][0]==='"'&&y[S][y[S].length-1]==='"'){const g=y[S].substring(1,y[S].length-1);if(p.has(g)&&y[S-1]==="("&&y[S+1]===")"){const k=p.get(g);k!==void 0&&(y[S]=`"${k}"`,d=1)}}if(d===0){const g=Object.values(n).map(k=>k.items).flat();for(let k=0;k<g.length;k++)if(y[S]===g[k].name){y[S]=g[k].keyFront+"."+g[k].key,d=1;break}}}const x=y.join("");return JSON.stringify({expr:x,sexpr:""})}function w(c,y,p,x){let S="";const d=[];for(const g of y)g.keyFront==="Math"&&d.push(g.key);for(let g=0;g<c.length;g++){if(c[g]==="Math"&&c[g+1]==="."&&!d.includes(c[g+2])){S=S+c[g]+c[g+1]+c[g+2],g=g+2;continue}if(x.includes(c[g])&&c[g+1]==="."){g=g+1;continue}else{let k=0;if(k===0&&c[g].length>2&&c[g][0]==='"'&&c[g][c[g].length-1]==='"'){const N=c[g].substring(1,c[g].length-1);if(p.has(N)&&c[g-1]==="("&&c[g+1]===")"){const I=p.get(N);I!==void 0&&(S=S+`"${I}"`,k=1)}}if(k===0){for(let N=0;N<y.length;N++)if(c[g]===y[N].key&&y[N].type.toLowerCase()!=="advanced"){S=S+y[N].name,k=1;break}}k===0&&(S=S+c[g])}}return S}function C(c){if(!c)return"";const y=i(c),p=l(a,"key2name"),x=Object.values(n).map(d=>d.items).flat();return w(y,x,p,["DefaultFunction","Math","DefaultExtendFunctionProxy"])}async function m(c){return await r(()=>C(c))}return{resetFunctionItems:s,getFieldExpression:v,getFunctionExpression:b,getContextVariableExpression:u,getExpressionCodeValue:h,getExpressionTextValue:m}}function Cn(e,n){const a=t.ref([]),o=ne.cloneDeep(n.value),i=Object.values(o).map(s=>s.items).flat();function l(s){const u=ne.cloneDeep(o);return Object.keys(u).forEach(f=>{const b=u[f].items.filter(v=>s.includes(v.key));b.length>0?u[f].items=b:delete u[f]}),u}function r(s){if(!s){n.value=o;return}const u=i.filter(f=>f.name.toLowerCase().includes(s.toLowerCase())).map(f=>f.key);n.value=l(u)}return{searchResultList:a,filterFunctions:l,onFunctionSearch:r}}const qe=t.defineComponent({name:"FExpressionEditor",props:Te,emits:[],setup(e,n){var O;const a=t.ref(),o=t.ref(e.validateMessage),i=t.ref(e.messageType),l=t.ref(e.modelValue),r=t.ref(),s=[{label:"提示",value:"info"},{label:"警告",value:"warning"},{label:"错误",value:"error"}],{getFunctionExpression:u,getContextVariableExpression:f,resetFunctionItems:b,getFieldExpression:v,getExpressionCodeValue:h,getExpressionTextValue:w}=kn(e,Ft,e.variables),C=t.ref(b()),{onFunctionSearch:m}=Cn(e,C);function c({$event:P,item:F}){var B;const V=u(F);(B=r.value)==null||B.insertText(V)}function y({$event:P,item:F}){var B;const V=f(F);(B=r.value)==null||B.insertText(V)}function p(P){return P.reduce((F,V)=>{var B;return F.push(V.data),(B=V.children)!=null&&B.length&&F.push(...p(V.children)),F},[])}const x=p(((O=e==null?void 0:e.entities)==null?void 0:O.fields)||[]);function S(P){return P.map(F=>{const V=x.find(B=>B.bindingPath===F);return V&&V.type==="entity"?`${F}[0]`:F}).join(".")}function d({$event:P,item:F,parentCodes:V,entityCode:B}){var M;const E=v(F);V=e.isServerSide?S(F.parents):V;let L=`${V}.${E}`;B===E&&(L=E),(M=r.value)==null||M.insertText(`${L}`)}function g({$event:P,item:F}){var B;const V=v(F);(B=r.value)==null||B.insertText(`${V}`)}function k(){var P;return(P=r.value)==null?void 0:P.getContent()}function N(){var F;const P=(F=r.value)==null?void 0:F.getContent();return{value:h(P),message:o.value,messageType:i.value}}const I=t.ref("");function j(){var P;(P=r.value)==null||P.clearText()}return t.onMounted(async()=>{if(l.value){const P=JSON.parse(l.value),{expr:F}=P;F&&(I.value=await w(F)||"")}}),n.expose({getExpressionContext:k,getExpressionValue:N,resetExpression:j}),()=>t.createVNode("div",{ref:a,class:"h-100 d-flex flex-column f-utils-fill mx-3 expression-editor"},[t.createVNode(_,null,{default:()=>[t.createVNode(X,{position:"left",width:248,minWidth:130},{default:()=>[t.createVNode(vn,{functionItems:C.value,singleExpand:e.singleExpand,onInsertFunction:c,onSearch:m},null)]}),t.createVNode(X,{position:"center","custom-class":"layout-border flex-column",style:"overflow:hidden"},{default:()=>[t.createVNode("div",{class:"f-utils-fill my-2 ml-1"},[t.createVNode(fn,{modelValue:I.value,"onUpdate:modelValue":P=>I.value=P,ref:r},null)]),e.showMessage&&t.createVNode("div",{class:"d-flex flex-column p-1",style:"background: #fafafa"},[t.createVNode("div",{class:"d-flex align-items-center py-1"},[t.createVNode("b",null,[t.createTextVNode("提示信息:")]),e.showMessageType&&t.createVNode(ae,{style:"width: 75px",data:s,modelValue:i.value,"onUpdate:modelValue":P=>i.value=P,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto"},null)]),t.withDirectives(t.createVNode("textarea",{"onUpdate:modelValue":P=>o.value=P,class:"form-control",style:"resize:none;border:none;outline:1px solid var(--f-neutral-04);"},null),[[t.vModelText,o.value]])])]}),e.showDataPanel&&t.createVNode(X,{position:"right",width:258,minWidth:130},{default:()=>[t.createVNode(hn,{dataSource:{entities:e.entities,variables:e.variables},onVariableItemDblClick:y,onEntityItemDblClick:d,onFieldClick:g},null)]})]})])}}),xn={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},wn={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Fn=t.defineComponent({name:"FOverlay",props:wn,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),o=t.ref(e.host),i=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function l(s){n.emit("click"),s.preventDefault(),s.stopPropagation()}t.computed(()=>{const s=o.value;if(s){const u=s.getBoundingClientRect(),{left:f,top:b,height:v}=u;return{left:f,top:b+v}}return a.value});const r=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var s,u;return[t.createVNode("div",{class:"overlay-container",onClick:f=>l(f),style:i.value},[t.createVNode("div",{style:r.value},[(u=(s=n.slots).default)==null?void 0:u.call(s)])])]}})}});function Tn(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Sn(e){const n=document.createElement("div");n.style.display="contents";let a;const o=e.onClickCallback||(()=>{}),i=()=>{o(),a&&a.unmount()};return a=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const l=Tn(e);return()=>t.createVNode(Fn,{"popup-content-position":e.popupPosition,host:e.host,onClick:i,backgroundColor:e.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(n),a.mount(n),a}class Nn{static show(n){return Sn(n)}}const Mn={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"}};class A{constructor(n,a){this.x=n,this.y=a}static getTransformInfo(n){const o=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const i=parseInt(o[4],10),l=parseInt(o[5],10);return{x:i,y:l}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new A(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new A(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let o=0;o<n.changedTouches.length;o++)if(n.changedTouches[o].target===a)return new A(n.changedTouches[o].clientX,n.changedTouches[o].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const a=new A(0,0);if(window){const o=window.getComputedStyle(n);if(o){const i=parseInt(o.getPropertyValue("left"),10),l=parseInt(o.getPropertyValue("top"),10);a.x=isNaN(i)?0:i,a.y=isNaN(l)?0:l}return a}return null}static copy(n){return new A(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class Z{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new Z(0,0);if(window){const o=window.getComputedStyle(n);return o&&(a.width=parseInt(o.getPropertyValue("width"),10),a.height=parseInt(o.getPropertyValue("height"),10)),a}return null}static copy(n){return new Z(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function On(e,n){const a=t.ref(),o=t.ref(),i=t.ref(),l=t.ref(),r=t.ref(),s=t.ref(),u=t.ref(),f=t.ref(),b=t.ref(),v=t.ref(),h=t.ref(),w=t.ref(e.resizeable),C=t.ref(),m=t.ref(e.draggable),c=t.ref(!1);function y(){const M=o.value||document.body,D=window.getComputedStyle(M);if(!D||!a.value)return;const $=A.getTransformInfo(a.value),z={};u.value&&(z.deltaL=a.value.offsetLeft-u.value.x,z.deltaT=a.value.offsetTop-u.value.y);const W=D.getPropertyValue("position");z.width=M.clientWidth,z.height=M.clientHeight,z.pr=parseInt(D.getPropertyValue("padding-right"),10),z.pb=parseInt(D.getPropertyValue("padding-bottom"),10),z.position=D.getPropertyValue("position"),W==="static"&&(M.style.position="relative"),z.translateX=$.x,z.translateY=$.y,v.value=z}function p(M){if(a.value){l.value=Z.getCurrent(a.value),r.value=A.getCurrent(a.value),s.value=l.value?Z.copy(l.value):null,u.value=r.value?A.copy(r.value):null,y();const D=M.target.getAttribute("type")||"";f.value={n:!!D.match(/n/),s:!!D.match(/s/),w:!!D.match(/w/),e:!!D.match(/e/)}}}function x(){var M,D,$,z;if(a.value){const W=a.value;f.value&&((f.value.n||f.value.s)&&((M=s.value)!=null&&M.height)&&(W.style.height=s.value.height+"px"),(f.value.w||f.value.e)&&((D=s.value)!=null&&D.width)&&(W.style.width=s.value.width+"px"),u.value&&(($=u.value)!=null&&$.x&&(W.style.left=u.value.x+"px"),(z=u.value)!=null&&z.y&&(W.style.top=u.value.y+"px")))}}function S(){const M=e.minHeight?e.minHeight:1,D=e.minWidth?e.minWidth:1;s.value&&u.value&&f.value&&l.value&&(s.value.height<M&&(s.value.height=M,f.value.n&&r.value&&(u.value.y=r.value.y+(l.value.height-M))),s.value.width<D&&(s.value.width=D,f.value.w&&r.value&&(u.value.x=r.value.x+(l.value.width-D))),e.maxHeight&&s.value.height>e.maxHeight&&(s.value.height=e.maxHeight,r.value&&f.value.n&&(u.value.y=r.value.y+(l.value.height-e.maxHeight))),e.maxWidth&&s.value.width>e.maxWidth&&(s.value.width=e.maxWidth,f.value.w&&r.value&&(u.value.x=r.value.x+(l.value.width-e.maxWidth))))}function d(){if(o.value){const M=v.value;if(u.value&&s.value&&f.value&&l.value){const D=M.width-M.pr-M.deltaL-M.translateX-u.value.x,$=M.height-M.pb-M.deltaT-M.translateY-u.value.y;f.value.n&&u.value.y+M.translateY<0&&r.value&&(u.value.y=-M.translateY,s.value.height=l.value.height+r.value.y+M.translateY),f.value.w&&u.value.x+M.translateX<0&&r.value&&(u.value.x=-M.translateX,s.value.width=l.value.width+r.value.x+M.translateX),s.value.width>D&&(s.value.width=D),s.value.height>$&&(s.value.height=$)}}}function g(M){if(!i.value||!l.value||!r.value||!f.value)return;M.subtract(i.value);const D=M.x,$=M.y;f.value.n?(u.value.y=r.value.y+$,s.value.height=l.value.height-$):f.value.s&&(s.value.height=l.value.height+$),f.value.e?s.value.width=l.value.width+D:f.value.w&&(s.value.width=l.value.width-D,u.value.x=r.value.x+D),d(),S(),x()}function k(M){if(!b.value)return;const D=A.fromEvent(M);D&&g(D)}function N(){if(a.value){const{width:M,height:D,x:$,y:z}=a.value.getBoundingClientRect(),W=A.getTransformInfo(a.value);return{size:{width:M,height:D},position:{x:$-W.x,y:z-W.y}}}return null}function I(M){if(a.value){const D=N();h.value=D}i.value=void 0,l.value=null,r.value=null,s.value=null,u.value=null,f.value=null,b.value=null,document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",I)}function j(){document.addEventListener("mousemove",k),document.addEventListener("mouseup",I)}function O(M){M instanceof MouseEvent&&M.button===2||m.value&&(document.body.click(),M.stopPropagation(),M.preventDefault(),i.value=A.fromEvent(M),b.value=M.target,p(M),j())}function P(M){return a.value=M,w.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:D=>O(D)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:D=>O(D)},null)])}function F(M=!0){document.body.click();const D=o.value||document.body,$=Z.getCurrent(D),z=a.value;M&&z&&(C.value=N(),C.value.transform=z.style.transform),$&&z&&(s.value=$,s.value.height-=14,s.value.width-=14,z.style.height=s.value.height+"px",z.style.width=s.value.width+"px",z.style.left="7px",z.style.top="7px",z.style.transform="",h.value={size:s.value,position:{x:0,y:0}},m.value=!1,c.value=!0)}function V(){var M,D;if(document.body.click(),C.value){const $={width:C.value.size.width||0,height:C.value.size.height||0},z={x:(window.innerWidth-$.width)/2,y:(window.innerHeight-$.height)/2};(M=s.value)==null||M.set($),(D=u.value)==null||D.set(z);const W=a.value;W.style.height=$.height+"px",W.style.width=$.width+"px",W.style.left=`${z.x}px`,W.style.top=`${z.y}px`,W.style.transform="",h.value={size:$,position:z},m.value=e.draggable,c.value=!1}}function B(){if(a.value){const M=Z.getCurrent(a.value);if(M){const{width:D,height:$}=M;a.value.style.left=`${(window.innerWidth-D)/2}px`,a.value.style.top=`${(window.innerHeight-$)/2}px`,a.value.style.transform=""}}}function E(){const M=()=>{c.value?F(!1):B(),document.body.click()};return window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}}const L=E();return{renderResizeBar:P,boundingElement:o,resizedEventParam:h,maximize:F,restore:V,allowDrag:m,isMaximized:c,unWindowResizeHandle:L,moveToCenter:B}}function Vn(e,n,a){const o=t.ref(),i=t.ref(e.draggable),l=t.ref(e.lockAxis),r=t.ref(),s=t.ref(),u=t.ref(!1),f=t.ref(new A(0,0)),b=t.ref(new A(0,0)),v=t.ref(new A(0,0)),h=t.ref(new A(0,0));t.watch(()=>a.value,k=>{r.value.style.cursor=k?"move":"default"});function w(k,N){if(N.tagName==="BUTTON")return!1;if(N===k)return!0;for(const I in N.children)if(Object.prototype.hasOwnProperty.call(N.children,I)&&w(k,N.children[I]))return!0;return!1}function C(){var j,O;let k=v.value.x+b.value.x,N=v.value.y+b.value.y;l.value==="x"?(k=((j=f.value)==null?void 0:j.x)||0,v.value.x=0):l.value==="y"&&(N=((O=f.value)==null?void 0:O.y)||0,v.value.y=0);const I=`translate3d(${Math.round(k)}px, ${Math.round(N)}px, 0px)`;o.value&&(o.value.style.transform=I),h.value.x=k,h.value.y=N}function m(){if(!s.value||!o.value)return null;const k=s.value.getBoundingClientRect(),N=o.value.getBoundingClientRect(),I={top:k.top<N.top,right:k.right>N.right,bottom:k.bottom>N.bottom,left:k.left<N.left};return I.top||(v.value.y-=N.top-k.top),I.bottom||(v.value.y-=N.bottom-k.bottom),I.right||(v.value.x-=N.right-k.right),I.left||(v.value.x-=N.left-k.left),C(),I}function c(k){k&&(f.value&&k.subtract(f.value),v.value.set(k),C(),m())}function y(k){u.value&&i.value&&(k.stopPropagation(),k.preventDefault(),c(A.fromEvent(k,r.value)))}function p(){var k;u.value&&(u.value=!1,b.value.add(v.value),v.value.reset(),(k=o.value)==null||k.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",p))}function x(){!u.value&&r.value&&(u.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",y),document.addEventListener("mouseup",p))}function S(){if(o.value){const k=A.getTransformInfo(o.value);b.value.set(k);return}b.value.reset()}function d(k){if(!a.value||k instanceof MouseEvent&&k.button===2)return;const N=k.target||k.srcElement;r.value!==void 0&&N&&!w(N,r.value)||i.value!==!1&&(document.body.click(),k.stopPropagation(),k.preventDefault(),f.value=A.fromEvent(k,o.value),S(),x())}function g(k,N,I){if(i.value&&N){if(k)r.value=k;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)r.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const j=N.querySelector(e.dragHandle);j&&(r.value=j)}}o.value=N,s.value=I,r.value?(r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",d)):i.value=!1}}return{registerDraggle:g,resetTranslate:S}}function Ye(e,n){if(e){const a=o=>{o.key.toLowerCase()===e.toLowerCase()&&n({event:o,key:e})};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}}}function Bn(e,n){const a=t.ref(e.enableEsc);let o=null;return a.value?(o=Ye("Escape",i=>{n.emit("esc",{event:i.event,type:"esc"})}),{remove:o}):null}function Dn(e,n){const a=t.ref(e.enableEnter);let o=null;return a.value?(o=Ye("Enter",i=>{n.emit("enter",{event:i.event,type:"enter"})}),{remove:o}):null}const re=t.defineComponent({name:"FModal",props:Mn,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(e,n){const a=t.ref(e.width||300),o=t.ref(e.height||200),i=t.ref(e.modelValue),l=t.ref(""),r=t.ref(e.class),s=t.ref(e.fitContent),u=t.ref(e.showHeader),f=t.ref(""),b=t.ref(e.showCloseButton),v=t.ref(e.showMaxButton),h=t.ref(!1),w=t.ref(e.dialogType),C=t.ref(e.src),m=t.ref(""),c=t.ref(e.showButtons),y=t.ref(e.title),p=t.ref(e.containment||null),x=t.ref();y.value==="错误提示"&&(y.value=G.LocaleService.getLocaleValue("messageBox.errorTitle"));const S=t.ref(!1);function d(T,R){const Y=R?"accept":"cancel";Promise.resolve().then(()=>{var q;return(q=e.beforeClose)==null?void 0:q.call(e,{closeType:Y})}).then(q=>{q&&(i.value=!1,n.emit("update:modelValue",!1),R!=null&&n.emit(R?"accept":"cancel"),n.emit("closed",T))})}const g=[{name:"cancel",text:G.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:T=>{d(T,!1)}},{name:"accept",text:G.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:T=>{d(T,!0)}}],k=t.ref(e.buttons&&e.buttons.length?e.buttons:g),N=t.computed(()=>!!f.value),I=t.computed(()=>!!c.value&&!!k.value),j=t.ref(),O=t.ref(),P=t.ref(!1),{renderResizeBar:F,maximize:V,restore:B,boundingElement:E,resizedEventParam:L,allowDrag:M,unWindowResizeHandle:D,moveToCenter:$}=On(e),{registerDraggle:z}=Vn(e,n,M);function W(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function _n(){const T=document.querySelectorAll(".farris-modal").length;(!T||T-1<=0)&&document.body.classList.remove("modal-open"),x.value&&x.value.classList.remove("show")}t.watch(()=>e.title,(T,R)=>{T!==R&&(y.value=T)}),t.watch(()=>e.modelValue,(T,R)=>{T!==R&&(i.value=T,i.value&&e.draggable&&t.nextTick(()=>{O.value&&!p.value&&(p.value=O.value.parentElement,E.value=p.value,z(j.value,O.value,E.value),$())}),T||(p.value&&(p.value=null),_n())),i.value?S.value=W():(P.value=!1,M.value=e.draggable)}),t.watch(()=>e.showHeader,(T,R)=>{T!==R&&(u.value=T)}),t.watch(()=>e.showButtons,(T,R)=>{T!==R&&(c.value=T)}),t.watch(()=>L.value,(T,R)=>{const Y=T||{},q=R||{};JSON.stringify(Y)!==JSON.stringify(q)&&n.emit("resize",{newSize:T,oldSize:R,isMaximized:P.value})}),t.watch([()=>e.width,()=>e.height],(T,R)=>{(T[0]!==R[0]||T[1]!==R[1])&&(a.value=T[0]||500,o.value=T[1]||600)});const xe=t.computed(()=>(i.value&&document.body.classList.add("modal-open"),i.value)),Jn=t.computed(()=>{var Y;const T={modal:!0,"farris-modal":!0,fade:!0};T["f-modal-fitContent"]=!!s.value,T.show=!!xe.value;const R=(Y=e.maskClass)==null?void 0:Y.split(" ");return R==null||R.reduce((q,te)=>(q[te]=!0,q),T),T}),Zn=t.computed(()=>{var Y;const T={"modal-dialog":!0},R=(Y=r.value)==null?void 0:Y.split(" ");return R==null||R.reduce((q,te)=>(q[te]=!0,q),T),T}),Qn=t.computed(()=>{const T=document.documentElement.clientWidth,R=document.documentElement.clientHeight,Y=Math.min(a.value,T),q=s.value?"auto":`${Math.min(o.value,R-10)}px`,te={position:"absolute",top:`${(window.innerHeight-parseInt(q==="auto"?"0":q))/2}px`,left:`${(window.innerWidth-Y)/2}px`,width:`${Y}px`,height:q};return e.mask||(te.pointerEvents="auto"),te}),ea=()=>ee.getMaxZIndex()||1040,ta=t.computed(()=>{const T={display:"block",zIndex:ea()};return e.mask||(T.pointerEvents="none",T.backgroundColor="transparent"),S.value&&(T.backgroundColor="transparent"),T}),na=t.computed(()=>({"modal-content":!0,"modal-content-has-header":u.value})),aa=t.computed(()=>{const T={display:u.value?"":"none"};return T["pointer-events"]=M.value?"auto":"none",T}),oa=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:P.value})),ia=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":w.value==="iframe","f-utils-fill":!0}));function la(){return{height:`${e.footerHeight||60}px`}}const ra=t.computed(()=>{const T={textAlgin:m.value},R=la();return Object.assign(T,R)});function Je(T){if(T==null||T.stopPropagation(),P.value){P.value=!1,B();return}V(),P.value=!0}async function sa(T,R){T.handle&&await T.handle(R,T)&&n.emit("closed",R)}function ca(T){T.width&&(a.value=T.width),T.height&&(o.value=T.height),T.buttons&&(k.value=T.buttons),T.title&&(y.value=T.title)}let we=null,Fe=null;t.onBeforeMount(()=>{S.value=W()}),t.onMounted(()=>{O.value&&!p.value&&(p.value=O.value.parentElement,E.value=p.value,z(j.value,O.value,E.value)),xe.value&&document.body.classList.add("modal-open"),we=Bn(e,n),Fe=Dn(e,n)}),t.onUnmounted(()=>{D&&D(),we&&we.remove(),Fe&&Fe.remove()}),n.expose({modalElementRef:O,updateModalOptions:ca,close:d,maxDialog:Je,isMaximized:P});function ua(){return t.createVNode("ul",null,[h.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),v.value&&t.createVNode("li",{onClick:Je,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:oa.value},null)]),b.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:T=>d(T,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function da(){return t.createVNode("div",{class:"modal-footer",style:ra.value},[k.value&&k.value.map(T=>{const R=t.ref(T.disabled);return t.createVNode("button",{name:T.name,type:"button",disabled:R.value,class:T.class+(T.iconClass?" btn-icontext":""),onClick:Y=>{sa(T,Y)}},[!!T.iconClass&&t.createVNode("i",{class:T.iconClass},null),T.text])})])}function fa(){return t.createVNode("div",{ref:j,class:"modal-header",style:aa.value},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[N.value&&t.createVNode("span",{class:f.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[y.value])]),t.createVNode("div",{class:"actions"},[ua()])])}function ma(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&da()}function ya(T){if(T.stopPropagation(),e.allowClickMaskToClose){if(T.target!==x.value)return;d(T,!1)}}function pa(){var T,R;return t.createVNode("div",{id:l.value,class:Zn.value,style:Qn.value,ref:O},[t.createVNode("div",{class:na.value},[u.value&&fa(),t.createVNode("div",{class:ia.value},[(R=(T=n.slots).default)==null?void 0:R.call(T),w.value==="iframe"&&t.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:C.value},null)]),ma()]),!s.value&&O.value&&!P.value&&F(O.value)])}function ha(T){return T||"body"}return()=>t.createVNode(t.Teleport,{to:ha(e.host)},{default:()=>[xe.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:x,class:Jn.value,style:ta.value,onClick:ya},[pa()])]})]})}});function Ue(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function En(e){const n=document.createElement("div");n.style.display="contents";const a=t.createApp({setup(o,i){t.onUnmounted(()=>{document.body.removeChild(n)});const l=t.ref(),r=t.ref(e.class||""),s=t.ref(!!e.showButtons),u=t.ref(!!e.showHeader),f=t.ref(e.showCloseButton==null?!0:e.showCloseButton),b=t.ref(!0),v=t.ref(e.title||""),h=e.acceptCallback||(()=>{}),w=e.rejectCallback||(()=>{}),C=e.closedCallback||(x=>{}),m=e.resizeHandle||(x=>{}),c=e.stopMoveHandle||(x=>{}),y=Ue(e),p=x=>{b.value=!1,a.unmount(),C(x)};return t.onMounted(()=>{}),i.expose({modalRef:l}),()=>t.createVNode(re,{ref:l,class:r.value,modelValue:b.value,"onUpdate:modelValue":x=>b.value=x,title:v.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":u.value,"show-buttons":s.value,"show-close-button":f.value,"show-max-button":!1,onAccept:h,onCancel:w,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:p,onResize:m,onStopMove:c},{default:()=>[y&&y(a)]})}});return document.body.appendChild(n),a.use(G.LocaleService.i18n),a.mount(n),a}class Pn{constructor(n){K(this,"appContext",null);K(this,"modalRef",t.ref());K(this,"activeModalIndex",t.ref(0));K(this,"modalRefs",{});K(this,"isUseEscCloseModal",t.ref(!1));K(this,"activeModalInstance",t.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,a){const{width:o,height:i}={width:window.innerWidth,height:window.innerHeight};return o<n&&(n=o-14),i<a&&(a=i-14),{width:n,height:a}}static show(n){const a=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return En(a)}close(n){var a,o;n?(o=n.value)==null||o.close():(a=this.getCurrentModal())==null||a.close()}open(n){const a=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const o=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),i=t.ref(!0),l=o.value.acceptCallback||(()=>{}),r=o.value.rejectCallback||(()=>{}),s=o.value.closedCallback||((d,g)=>{}),u=o.value.resizeHandle||(d=>{}),f=n.stopMoveHandle||(d=>{});let b;const v=Ue(o.value),h=d=>{var k;i.value=!1;const g=(k=d==null?void 0:d.target)==null?void 0:k.classList.contains("modal_close");s(d,this.isUseEscCloseModal.value?"esc":g?"icon":"button")},w=d=>{h(d),b&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),b=null,this.modalRef.value=null,this.modalRefs){const g=Object.keys(this.modalRefs).map(k=>Number(k));g.length>0?this.activeModalIndex.value=Math.max(...g):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},C=d=>{var g;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((g=this.activeModalInstance.value)==null||g.close(d==null?void 0:d.event))},{width:m,height:c}=o.value,y=this.adaptToWindow(m||500,c||320);Object.assign(o.value,y);const p=()=>t.createVNode(re,t.mergeProps({ref:this.modalRef,modelValue:i.value,"onUpdate:modelValue":d=>i.value=d},o.value,{onAccept:l,onCancel:r,onClosed:w,onResize:u,onEsc:C,onStopMove:f}),{default:()=>[v&&v(this.app)]});return b=(d=>{const g=t.h(p,d);return g.appContext=this.appContext,t.render(g,a),g})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:d=>{o.value={...o.value,...d},b&&t.render(t.cloneVNode(b,{...o}),a)},destroy:w,modalRef:this.activeModalInstance,close:()=>this.close()}}}const Ge=Symbol("FModalService");re.install=e=>{e.component(re.name,re);const n=new Pn(e);e.provide(Ge,n),e.provide("FModalService",n)};function Xe(e,n){function a(){const o=e.beforeOpen||e.beforeClickButton||null;let i=Promise.resolve(!0);if(o){const l=o(n.value);if(typeof l>"u")return i;typeof l=="boolean"?i=Promise.resolve(l):i=l}return i}return{judgeCanOpen:a}}function jn(e,n,a,o,i){const l=t.ref(e.buttonBehavior),r=t.ref(e.popupOnInput),s=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:u}=Xe(e,i),f=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),b=t.inject(Ge,null),v=t.ref();async function h(m){if(await u()&&f.value){const c=!!n.slots.default;if(l.value==="Modal"){const y=e.modalOptions,p=b==null?void 0:b.open({...y,render:()=>n.slots.default&&n.slots.default()});v.value=p==null?void 0:p.modalRef}l.value==="Overlay"&&Nn.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),c&&l.value==="Popup"&&o.togglePopup(!0),c&&r.value&&o.hidePopup(),n.emit("clickButton",{origin:m,value:e.modelValue})}}function w(m){n.emit("mouseEnterIcon",m)}function C(m){n.emit("mouseLeaveIcon",m)}return{buttonGroupClass:s,onClickButton:h,onMouseEnterButton:w,onMouseLeaveButton:C,modalRef:v}}function In(e,n,a,o,i,l){const r=t.ref(!1),s=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:u,hasClearClass:f}=l;function b(C){r.value=C,f.value=C}t.watch(i,()=>{b(!!i.value)});function v(C){const m=!e.readonly&&!e.disable&&e.editable,c=!e.editable;C.stopPropagation(),(m||c)&&(u(""),i.value="",b(!r.value),n.emit("clear"))}function h(C){if(s.value){if(!a.value){b(!1);return}!e.disable&&!e.readonly&&b(!0)}}function w(C){s.value&&b(!1)}return{enableClearButton:s,showClearButton:r,onClearValue:v,onMouseEnterTextBox:h,onMouseLeaveTextBox:w}}function Rn(e,n,a,o,i){const l=t.computed(()=>e.popupOnInput),r=t.computed(()=>e.popupOnFocus),{shouldPopupContent:s,closeAllPopover:u}=i,f=t.ref(!1),b=t.computed(()=>e.enableTitle?a.value:""),v=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),h=t.computed(()=>e.readonly||!e.editable),w=t.ref(!1),C=t.computed(()=>!e.disable&&w.value),m=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),c=t.computed(()=>({"input-group":!0,"f-state-disabled":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly,"f-state-focus":C.value,"input-group--has-clear":e.enableClear&&f.value}));function y(O,P=!0){a.value=O,P&&(n.emit("change",O),n.emit("update:modelValue",O))}function p(O){s.value=!1,y(O,!0)}t.watch(()=>e.modelValue,O=>{a.value=O});function x(O){w.value=!1,n.emit("blur",O),O.stopPropagation()}function S(O){n.emit("click",O),u(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&i.togglePopup()}function d(O){!e.disable&&!e.readonly&&(w.value=!0,h.value||(n.emit("focus",O),r.value&&!s.value&&i.popup()))}function g(O){n.emit("input",O);const P=O.target.value;o.value=P,a.value!==P&&y(P,e.updateOn==="change"),l.value&&!s.value&&i.popup()}function k(O){O.target.tagName!=="INPUT"&&O.preventDefault(),O.stopPropagation()}function N(O){n.emit("keydown",O)}function I(O){O.key==="Enter"&&(l.value||r.value)&&i.hidePopup(),n.emit("keyup",O)}function j(O){const P=O.target.value;O.stopPropagation(),y(P)}return{hasFocusedTextBox:C,isTextBoxReadonly:h,textBoxClass:m,textBoxPlaceholder:v,textBoxTitle:b,inputGroupClass:c,hasClearClass:f,changeTextBoxValue:y,commitValue:p,onBlurTextBox:x,onClickTextBox:S,onFocusTextBox:d,onInput:g,onKeyDownTextBox:N,onKeyUpTextBox:I,onMouseDownTextBox:k,onTextBoxValueChange:j}}const Q="FarrisVue_PopoverInstancesKey";function Ln(e,n,a,o){const i=t.ref(),l=t.ref(!1),{judgeCanOpen:r}=Xe(e,o);t.watch(()=>i.value,(w,C)=>{window[Q]=window[Q]||new WeakMap,w?window[Q].set(a.value,w):window[Q].delete(a.value)});function s(){if(window[Q]){const w=window[Q];document.querySelectorAll(".f-button-edit,.v-popover").forEach(C=>{const m=w.get(C);m&&C!==a.value&&!a.value.closest(".popover-fitcontent")&&m.hide()})}}function u(){const w=i.value;w&&w.show(a.value)}async function f(w=!1){if(!!n.slots.default){if(!w&&!l.value&&!await r())return;l.value=!l.value,l.value&&(await t.nextTick(),u())}}async function b(w=!1){if(!!n.slots.default){if(!w&&!await r())return;l.value=!0,await t.nextTick(),u()}}function v(){l.value=!1}function h(){l.value=!0,t.nextTick(()=>{u()})}return{hidePopup:v,showPopup:h,popup:b,shouldPopupContent:l,togglePopup:f,popoverRef:i,closeAllPopover:s}}function zn(e,n,a){const o=t.ref(),{isTextBoxReadonly:i,textBoxClass:l,textBoxPlaceholder:r,textBoxTitle:s,onBlurTextBox:u,onClickTextBox:f,onFocusTextBox:b,onInput:v,onKeyDownTextBox:h,onKeyUpTextBox:w,onMouseDownTextBox:C,onTextBoxValueChange:m}=a,c=t.ref(e.id),{uuid:y}=ee.useGuid(),p=t.computed(()=>({}));t.onMounted(()=>{var k,N;e.selectOnCreated&&((k=o.value)==null||k.select()),e.focusOnCreated&&((N=o.value)==null||N.focus({preventScroll:!0})),c.value||(c.value="button-edit_"+y(8)),c.value=c.value+"-textbox"});const x=t.ref(!1),S=k=>{k.preventDefault(),x.value=!0},d=k=>{k.preventDefault(),x.value=!1,v(k)};function g(k){x.value||v(k)}return()=>t.createVNode("input",{id:e.id?e.id+"-textbox":void 0,ref:o,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:l.value,style:p.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:r.value,readonly:i.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:n.value,onBlur:u,onChange:m,onClick:f,onFocus:b,onInput:g,onKeydown:h,onKeyup:w,onMousedown:C,onCompositionend:d,onCompositionstart:S},null)}function Hn(e,n,a){const o=t.ref(e.separator),i=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:l,onFocusTextBox:r,onBlurTextBox:s,onClickTextBox:u,textBoxPlaceholder:f}=a,b=t.computed(()=>n.value?n.value.split(o.value).map(C=>({name:C,selectable:!0})):[]);function v(C){l(C.map(m=>m.name).join(o.value),!0)}t.watch(()=>e.separator,C=>{o.value=C});const h=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([C,m],[c,y])=>{h.value=!C&&!m});function w(C){u(C)}return()=>t.createVNode(nt,{tabindex:e.tabIndex,onFocus:r,onBlur:s,id:`${e.id}-tag-editor`,class:"form-control",placeholder:f.value,data:b.value,showClose:!i.value,showInput:!0,disable:i.value,onChange:v,onClick:w},null)}function $n(e,n,a,o){const{buttonGroupClass:i,onClickButton:l,onMouseEnterButton:r,onMouseLeaveButton:s}=a,{enableClearButton:u,showClearButton:f,onClearValue:b}=o,v=t.ref(),h=ne.debounce(C=>{l(C)},e.buttonBehavior==="Modal"?0:200),w=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:i.value},[u.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:b,onMousedown:w},[t.createVNode("i",{class:"f-icon modal_close"},null)]),[[t.vShow,f.value]]),n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",onClick:h,onMouseenter:r,onMouseleave:s},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:v,onClick:C=>h(C),onMouseenter:r,onMouseleave:s},null):null]),buttonHandleElement:v}}function An(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:i,popoverRef:l}=a,r=()=>{n.emit("shown")};return()=>t.createVNode(at,{id:`${e.id}-popover`,ref:l,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:o.value,class:e.popupClass,offsetX:e.popupOffsetX,onHidden:i,onShown:r,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var s,u;return[(u=(s=n.slots).default)==null?void 0:u.call(s)]}})}const Wn=t.defineComponent({name:"FButtonEdit",props:xn,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),i=t.ref(e.modelValue),l=Ln(e,n,a,i),{shouldPopupContent:r,hidePopup:s,showPopup:u,togglePopup:f}=l,b=jn(e,n,a,l,i),v=t.ref(""),h=Rn(e,n,i,v,l),{hasFocusedTextBox:w,commitValue:C,inputGroupClass:m}=h,c=In(e,n,i,w,v,h),{onMouseEnterTextBox:y,onMouseLeaveTextBox:p}=c,x=t.ref(!1),S=t.computed(()=>{const E={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce((L,M)=>(L[M]=!0,L),E),E}),d=t.computed(()=>({overflow:e.wrapText?"hidden":""})),g=t.computed(()=>({}));function k(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let E=0;const L=Array.from(a.value.querySelectorAll(".farris-tag-item"));return L&&L.length&&(E=L.map(M=>M.offsetTop).filter(M=>M>20).length),E}const N=t.ref(k());t.onUpdated(()=>{N.value=k()});function I(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Hn(e,i,h)(),!!N.value&&t.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[t.createVNode("span",{class:"multi--more-text"},[t.createTextVNode("+"),N.value])])]):zn(e,i,h)}let j=I();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{j=I()});const{renderButtonGroup:O,buttonHandleElement:P}=$n(e,n,b,c),F=An(e,n,l),V=t.ref(r.value),B={displayText:v,commitValue:C,elementRef:a,hidePopup:s,showPopup:u,popoverRef:l.popoverRef,shouldPopupContent:r,togglePopup:f,openDialog:()=>{P.value&&e.buttonBehavior==="Modal"&&P.value.click()},getModal:()=>{var E;return e.buttonBehavior==="Modal"?(E=b.modalRef.value)==null?void 0:E.value:null},getTextbox:()=>{var E;return(E=a.value)==null?void 0:E.querySelector("input")},forceClosePopup:()=>{V.value=!1,x.value=!0,r.value=!1}};return t.onMounted(()=>{a.value.componentInstance=B,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var E;window.onresize=null,(E=window[Q])==null||E.delete(a.value)}),n.expose(B),t.watch(()=>r.value,async(E,L)=>{if(x.value){V.value=E,x.value=!1;return}if(!E&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const M=await e.beforeClosePopup();V.value=!M,(!M||e.readonly)&&(r.value=!0)}catch(M){console.error("Error in beforeClosePopup:",M),V.value=L,r.value=L}return}V.value=E}),()=>{var E,L;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:S.value,id:e.id?e.id:void 0,style:d.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:m.value,style:g.value,onMouseenter:y,onMouseleave:p},[(L=(E=n.slots).precontent)==null?void 0:L.call(E),j(),O()])]),V.value&&F()])}}}),qn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/expression-editor.schema.json",title:"expression-editor",description:"A Farris Expression Editor Component",type:"object",properties:{id:{description:"The unique identifier for a Expression Editor",type:"string"},type:{description:"The type string of Expression Editor component",type:"string",default:"expression-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},beforeOpen:{type:"object",default:null},modelValue:{description:"The value of Expression Editor",type:"string",default:""},variables:{description:"The variables of Expression Editor",type:"array",default:[]},entities:{description:"The entities of Expression Editor",type:"array",default:[]},onSubmitModal:{description:"The event of Expression Editor",type:"function",default:null},onExpressionChanged:{description:"The event of Expression Editor",type:"function",default:null},esprimaPath:{description:"The path of esprima",type:"string",default:"assets/esprima-config.json"},singleExpand:{description:"The singleExpand of Expression Editor",type:"boolean",default:!0},showMessage:{description:"The showMessage of Expression Editor",type:"boolean",default:!1},dialogTitle:{description:"The dialogTitle of Expression Editor",type:"string",default:"表达式编辑器"},dialogWidth:{description:"The dialogWidth of Expression Editor",type:"string",default:975},dialogHeight:{description:"The dialogHeight of Expression Editor",type:"string",default:600},beforeSubmit:{description:"The beforeSubmit of Expression Editor",type:"function",default:null},showMessageType:{description:"The showMessageType of Expression Editor",type:"boolean",default:!1},showDataPanel:{description:"Show right panel",type:"boolean",default:!0}},required:["id","type"]},Ke={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},modelValue:{type:String,default:""},displayText:{type:String,default:""},repositoryToken:{type:Object,default:null},editorParams:{},singleExpand:{type:Boolean,default:!0},beforeOpen:{type:Function,default:()=>{}},onSubmitModal:{type:Function,default:()=>{}},entities:{type:Array,default:[]},variables:{type:Array,default:[]},disabledFunctions:{type:Object,default:null},onExpressionChanged:{type:Function,default:()=>{}},esprimaPath:{type:String,default:"assets/esprima-config.json"},showMessage:{type:Boolean,default:!1},showMessageType:{type:Boolean,default:!1},dialogTitle:{type:String,default:"表达式编辑器"},dialogWidth:{type:Number,default:975},dialogHeight:{type:Number,default:600},validateMessage:{type:String,default:""},beforeSubmit:{type:Function,default:null},showDataPanel:{type:Boolean,default:!0},isServerSide:{type:Boolean,default:!1}},Yn=U.createPropsResolver(Ke,qn),Un={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object},safeHtml:{type:Boolean,default:!0}},Gn={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Ce=t.defineComponent({name:"Toast",props:Gn,emits:["close","click"],setup:(e,n)=>{const a=t.ref(e.animate),o="fadeOut",i=t.computed(()=>e.options),l=t.ref(!1),r=t.computed(()=>i.value.title&&i.value.message),s=t.computed(()=>!i.value.title&&i.value.message),u=t.computed(()=>{const p={animated:l.value,toast:!0,"toast--only-content":!r.value};return p[e.animate]=!1,p[o]=l.value,p["toasty-type-"+i.value.type]=!0,i.value.theme&&(p[i.value.theme]=!0),p}),f=t.computed(()=>{const S=`f-icon-${i.value&&i.value.type?i.value.type.replace("toasty-type-",""):"default"}`,d={"f-icon":!0};return d[S]=!0,d}),b=t.computed(()=>i.value.title||i.value.message),v=t.computed(()=>e.showCloseButton),h=t.computed(()=>!!i.value.buttons||!!n.slots.default),w=t.computed(()=>G.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function C(p){p.stopPropagation(),p.preventDefault(),l.value=!1,setTimeout(()=>{n.emit("close",i.value)},200)}function m(p,x){}function c(p){return`f-preten-link ${p.customClass?p.customClass:""}`}t.watch(a,()=>{a.value});const y=()=>{var p;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((p=i.value.buttons)==null?void 0:p.map(x=>t.createVNode("span",{class:c(x),onClick:S=>void 0},[x.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:u.value,style:"min-height:44px"},[v.value&&t.createVNode("button",{title:G.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:C},[t.createVNode("span",{class:"f-icon modal_close"},null)]),b.value&&t.createVNode("section",{class:"modal-tips"},[!r.value&&t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:f.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[r.value&&t.createVNode(t.Fragment,null,[t.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:i.value.title},null),t.createVNode("p",{class:"toast-msg",innerHTML:i.value.message,style:w.value},null),h.value&&y()]),s.value&&(i.value.buttons?t.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:w.value,innerHTML:i.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[y()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:w.value,innerHTML:i.value.message},null))])])])}}),fe=t.defineComponent({name:"Notify",props:Un,emits:["close","empty"],setup(e,n){const a=t.computed(()=>({"farris-notify":!0})),o={left:12,right:12,top:20,bottom:12},i=t.ref(),l=t.ref(e.options),r=t.ref(e.showCloseButton),s=t.computed(()=>e.position||"bottom-right"),u=t.computed(()=>e.timeout!=null?e.timeout:3e3),f=t.computed(()=>{const h=e.bottom?e.bottom:o.bottom,w=e.top?e.top:o.top,C={transition:"all 0.2s ease",left:s.value.indexOf("left")>-1?`${e.left?e.left:o.left}px`:"",right:s.value.indexOf("right")>-1?`${e.right?e.right:o.right}px`:"",top:s.value.indexOf("top")>-1?`${w}px`:"",bottom:s.value.indexOf("bottom")>-1?`${h}px`:""};return s.value.indexOf("center")>-1&&(C.left="50%",C.marginLeft="calc(-24rem / 2)",s.value==="center-center"&&(C.top="50%",C.transform="translate(-50%, -50%)")),C});function b(h){n.emit("close")}u.value&&setTimeout(()=>{b()},u.value),n.expose({closeToast:b,container:i,notifyPosition:s});function v(h,w){b()}return()=>t.createVNode("div",{class:a.value,style:f.value,ref:i},[t.createVNode(Ce,{options:l.value,showCloseButton:r.value,animate:e.animate,onClose:h=>v(h,l.value)},null)])}});class Xn{constructor(){K(this,"notifyRefs",[]);K(this,"globalConfig",t.reactive({}))}escapeAllHtml(n){if(typeof n!="string"||!n)return"";const a=document.createElement("div");return a.textContent=n||"",a.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g," ").replace(/\\r/g,"")}createNotifyInstance(n){const a=this,i=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),l=document.createElement("div");l.style.display="contents";const r=t.createApp({setup(){var f;const s=t.ref();function u(){s.value.container.style.transform="scale(0)",setTimeout(()=>{a.updateNotifyPositionForClose(i,s),r.unmount()},220)}if(i.position.indexOf("top")>-1){const b=a.getNotifyInstances(i.position),v=b[b.length-1];if(v){const h=v.value.container.getBoundingClientRect();i.top=h.bottom}}return i.safeHtml&&((f=i.options)!=null&&f.message)&&(i.options.message=a.escapeAllHtml(i.options.message)),t.onUnmounted(()=>{document.body.removeChild(l)}),t.onMounted(()=>{a.updateNotifyPositionForCreate(i,s)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(fe,t.mergeProps({ref:s},i,{onClose:u}),null)]})}});return r.provide("NotifyService",this),document.body.appendChild(l),r.use(G.LocaleService.i18n),r.mount(l),r}getNotifyInstances(n){return this.notifyRefs.filter(a=>a.value.notifyPosition===n)}updateNotifyPositionForCreate(n,a){if(this.notifyRefs&&this.notifyRefs.length){const o=window.innerHeight;n.position.indexOf("bottom")>-1&&this.getNotifyInstances(n.position).forEach(i=>{const l=i.value.container.getBoundingClientRect();i.value.container.style.bottom=l.height+o-l.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,a]}updateNotifyPositionForClose(n,a){const o=this.notifyRefs.indexOf(a);if(n.position.indexOf("top")>-1){const i=this.getNotifyInstances(n.position),l=i.indexOf(a);i.slice(l+1).forEach(r=>{r.value.container.style.top=r.value.container.offsetTop-r.value.container.offsetHeight+"px"})}o>-1&&this.notifyRefs.splice(o,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,a){let o="",i="",l,r,s;typeof a=="string"?o=a:a&&(o=a.message||"",i=a.title||"",r=a.position||null,s=a.showCloseButton!=null?a.showCloseButton:null,l=a.timeout!=null?a.timeout:null);const f={options:{type:n,message:o,title:i}};return r!=null&&(f.position=r),s!=null&&(f.showCloseButton=s),l!=null&&(f.timeout=l),f}info(n){const a=this.buildNotifyProps("info",n);return this.show(a)}success(n){const a=this.buildNotifyProps("success",n);return this.show(a)}warning(n){const a=this.buildNotifyProps("warning",n);return this.show(a)}error(n){const a=this.buildNotifyProps("error",n);return this.show(a)}close(n){n&&n.unmount()}closeAll(){this.notifyRefs.forEach(n=>{n==null||n.value.closeToast()}),this.notifyRefs.length=0}}const _e=Symbol("NOTIFY_SERVICE_TOKEN");fe.install=e=>{e.component(fe.name,fe),e.component(Ce.name,Ce);const n=new Xn;e.provide(_e,n),e.provide("FNotifyService",n)};const me=t.defineComponent({name:"f-expression-textbox",props:Ke,setup(e,n){const a=t.inject(_e),o=t.inject("FLoadingService"),i='<i class="f-icon f-icon-lookup"></i>',l=t.ref(e.modelValue),r=t.ref(e.entities),s=t.ref(e.variables),u=t.ref(),f=t.ref(e.validateMessage||""),b=t.ref("info");async function v(){const{value:m,message:c,messageType:y}=u.value.getExpressionValue();if(f.value=c,b.value=y,e.beforeSubmit&&typeof e.beforeSubmit=="function"){const p=await e.beforeSubmit({notifyService:a,expressionValue:m});if(typeof p=="boolean"&&!p)return!1;if(typeof p=="object"){const{canClose:x,message:S}=p;if(!x)return S&&(a==null||a.error({message:S})),!1}}if(n.emit("update:modelValue",m),l.value=m,e.onSubmitModal){const p={expression:m,message:c};e.showMessageType&&(p.messageType=b.value);const x=e.onSubmitModal(p);e.onExpressionChanged&&e.onExpressionChanged(x)}return!0}const h={title:e.dialogTitle||"表达式编辑器",width:e.dialogWidth||975,height:e.dialogHeight||600,fitContent:!1,minWidth:300,minHeight:200,showMaxButton:!0,resizeable:!0,draggable:!0,buttons:[{name:"reset",text:"清空",class:"btn btn-secondary mr-2",handle:m=>{var c;return(c=u.value)==null||c.resetExpression(),!1}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:m=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:async m=>await v()}]};async function w(){if(e.beforeOpen)try{o==null||o.show();const m=await e.beforeOpen({notifyService:a});if(m)return r.value=m.entities||{},s.value=m.variables||{},f.value=m.message||"",b.value=m.messageType||"info",o==null||o.clearAll(),!0}catch{return a==null||a.error({message:"获取数据失败!"}),!1}finally{o==null||o.clearAll()}return!0}function C(){if(n.emit("update:modelValue",""),l.value="",e.onSubmitModal){const m=e.onSubmitModal({expression:"",message:""});e.onExpressionChanged&&e.onExpressionChanged(m)}}return t.watch(()=>e.modelValue,m=>{l.value=m}),()=>t.createVNode(Wn,{editable:!1,enableTitle:!0,modelValue:l.value,"onUpdate:modelValue":m=>l.value=m,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:i,buttonBehavior:"Modal",modalOptions:h,beforeOpen:w,onClear:C},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode(qe,{ref:u,validateMessage:f.value,showMessageType:e.showMessageType,messageType:b.value,modelValue:l.value,"onUpdate:modelValue":m=>l.value=m,esprimaPath:e.esprimaPath,showMessage:e.showMessage,entities:r.value,variables:s.value,disabledFunctions:e.disabledFunctions,showDataPanel:e.showDataPanel,singleExpand:e.singleExpand,isServerSide:e.isServerSide},null)])]})}}),Kn={install(e){e.component(me.name,me)},register(e,n,a,o){e["expression-editor"]=me,n["expression-editor"]=Yn}};H.ExpressionEditor=qe,H.FExpressionTextbox=me,H.default=Kn,H.expressionEditorProps=Te,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|