@farris/ui-vue 1.8.5-beta.3 → 1.8.5-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/batch-editor/index.esm.js +6850 -6840
- package/components/batch-editor/index.umd.cjs +20 -20
- package/components/button/index.esm.js +6852 -6842
- package/components/button/index.umd.cjs +20 -20
- package/components/button-edit/index.esm.js +140 -140
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/button-group/index.esm.js +46 -45
- package/components/button-group/index.umd.cjs +1 -1
- package/components/common/index.esm.js +16 -12
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +411 -411
- package/components/component/index.umd.cjs +2 -2
- package/components/data-view/index.esm.js +6500 -6487
- package/components/data-view/index.umd.cjs +21 -21
- package/components/designer-canvas/index.esm.js +269 -269
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/expression-editor/index.esm.js +458 -458
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.esm.js +386 -386
- package/components/filter-condition-editor/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +1100 -1100
- package/components/flow-canvas/index.umd.cjs +7 -7
- package/components/mapping-editor/index.esm.js +243 -243
- package/components/mapping-editor/index.umd.cjs +2 -2
- package/components/message-box/index.esm.js +82 -82
- package/components/message-box/index.umd.cjs +1 -1
- package/components/modal/index.esm.js +76 -76
- package/components/modal/index.umd.cjs +1 -1
- package/components/order/index.esm.js +139 -138
- package/components/order/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +891 -891
- package/components/query-solution/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +151 -149
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +947 -941
- package/components/schema-selector/index.umd.cjs +6 -6
- package/components/section/index.esm.js +121 -121
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +539 -539
- package/components/sort-condition-editor/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +448 -442
- package/components/tabs/index.umd.cjs +1 -1
- package/designer/button-edit/index.esm.js +97 -97
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +6483 -6470
- package/designer/data-grid/index.umd.cjs +21 -21
- package/designer/farris-designer.all.esm.js +1891 -1885
- package/designer/farris-designer.all.umd.cjs +14 -14
- package/designer/radio-group/index.esm.js +183 -183
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +558 -556
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +416 -416
- package/designer/tabs/index.umd.cjs +2 -2
- package/farris.all.esm.js +9133 -9119
- package/farris.all.umd.cjs +35 -35
- package/package.json +1 -1
- package/types/common/index.d.ts +1 -0
- package/types/common/utils/attrs.d.ts +26 -0
- package/types/modal/src/composition/type.d.ts +2 -0
- package/types/tabs/src/composition/types.d.ts +2 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(z,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("../list-view/index.umd.js"),require("lodash-es"),require("bignumber.js"),require("../../designer/button-edit/index.umd.js"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js"),require("../drawer/index.umd.js"),require("../button/index.umd.js"),require("../field-selector/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer"),require("../tags/index.umd.js"),require("../common/index.umd.js/text-box/use-input-expand"),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","../list-view/index.umd.js","lodash-es","bignumber.js","../../designer/button-edit/index.umd.js","../property-panel/index.umd.js","../tree-view/index.umd.js","../drawer/index.umd.js","../button/index.umd.js","../field-selector/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer","../tags/index.umd.js","../common/index.umd.js/text-box/use-input-expand","../popover/index.umd.js"],t):(z=typeof globalThis<"u"?globalThis:z||self,t(z["expression-editor"]={},z.Vue,z.dynamicResolver,z.common,z.designerCanvas,z.FButtonEdit$1,z.locale,z.FListView,z.LodashES,z.BigNumber,z.FButtonEditDesign,z.propertyPanel,z.FTreeView,z.FDrawer,null,null,null,z.FTags,z.useInputExpand,z.FPopover))})(this,function(z,t,G,A,se,ge,_,ct,ne,Aa,ut,dt,ft,ve,$a,Wa,qa,mt,yt,pt){"use strict";var Ha=Object.defineProperty;var za=(z,t,G)=>t in z?Ha(z,t,{enumerable:!0,configurable:!0,writable:!0,value:G}):z[t]=G;var Z=(z,t,G)=>za(z,typeof t!="symbol"?t+"":t,G);const Me={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}},Ve=new Map([["appearance",G.resolveAppearance]]);function Oe(e,n,a){return n}const ht={$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"]},gt={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"}}}}},be={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Be=G.createPropsResolver(be,ht,Ve,Oe,gt);function Ee(e){const n=t.ref(-1),a=t.ref(-1),o=t.ref(0),l=t.ref(0),r=t.ref(!1),i=t.ref(!1),y=t.computed(()=>({display:r.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),d=t.computed(()=>({display:i.value?"block":"none",top:`${l.value}px`,cursor:"n-resize"})),m=t.computed(()=>{const p={display:i.value||r.value?"block":"none"};return l.value>0&&(p.cursor="n-resize"),p});function g(p,s,u,C){const v=e.value;if(v){const{left:c,right:f,width:b}=v.getBoundingClientRect();let k=p.clientX-c;C==="right"&&(k=f-p.clientX),k>s&&(k=s),k<u&&(k=u),C==="right"&&(k=b-k),o.value=k}}function h(p,s,u,C){const v=e.value;if(v){const{top:c,bottom:f,height:b}=v.getBoundingClientRect();let k=p.clientY-c;C==="bottom"&&(k=f-p.clientY),k>s&&(k=s),k<u&&(k=u),C==="bottom"&&(k=b-k),l.value=k}}function x(){const p=e.value;if(p){const{width:s,height:u}=p.getBoundingClientRect();return{width:s,height:u}}return null}function w(){const p=e.value;return p?Array.from(p.querySelectorAll("[data-position]")).reduce((s,u)=>{const C=u.getAttribute("data-position");return s=Object.assign(s,{[C]:u}),s},{}):null}function F(p,s){const u=x(),C=w();if(u&&C){const v=C==null?void 0:C.right,c=C==null?void 0:C.left;if(p==="left"&&c)return v?u.width-v.clientWidth-s:u.width-s;if(p==="right"&&v)return c?u.width-c.clientWidth-s:u.width-s}}function S(p,s){const u=x(),C=w();if(u&&C){const v=C==null?void 0:C.bottom,c=C==null?void 0:C.top;if(p==="top"&&c)return v?u.height-v.clientHeight-s:u.height-s;if(p==="bottom"&&v)return c?u.height-c.clientHeight-s:u.height-s}}return{horizontalResizeHandleStyle:y,verticalResizeHandleStyle:d,resizeOverlayStyle:m,showHorizontalResizeHandle:r,showVerticalResizeHandle:i,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:g,draggingVerticalResizeHandle:h,getPanelMaxHeight:S,getPanelMaxWidth:F}}const K=t.defineComponent({name:"FLayout",props:be,emits:[],setup(e,n){const a=t.ref(),o=Ee(a),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:r,resizeOverlayStyle:i}=o;t.provide("layout",{useResizeHandleComposition:o});const y=t.computed(()=>{const m={"f-layout":!0};return A.getCustomClass(m,e==null?void 0:e.customClass)}),d=t.computed(()=>{const m={};return A.getCustomStyle(m,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:y.value,style:d.value,ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:i.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:l.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:r.value},null)])}}),vt={$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"]},bt={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:"是否可见"}}}}},Ce={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},maxWidth:{type:Number,default:null}},Pe=G.createPropsResolver(Ce,vt,Ve,Oe,bt);function De(e,n,a,o,l,r){const{horizontalResizeBarPosition:i,horizontalResizeHandleOffset:y,showHorizontalResizeHandle:d,showVerticalResizeHandle:m,verticalResizeBarPosition:g,verticalResizeHandleOffset:h,draggingHorizontalResizeHandle:x,draggingVerticalResizeHandle:w,getPanelMaxHeight:F,getPanelMaxWidth:S}=l;let p="",s,u,C;const v=()=>r.maxWidth?r.maxWidth:S(p,a.value)||0;function c(k){if((p==="left"||p==="right")&&u){const{left:P}=u.getBoundingClientRect(),{width:I}=s.getBoundingClientRect(),B=k.clientX-P;let O=p==="left"?(I||0)+(B-i.value):(I||0)-(B-i.value);O=a.value>0?Math.max(a.value,O):O;const T=v();T!=null&&(O=T>O?O:T),e.value=O}if((p==="top"||p==="bottom")&&u){const{top:P}=u.getBoundingClientRect(),{height:I}=s.getBoundingClientRect(),B=k.clientY-P;let O=p==="top"?(I||0)+(B-g.value):(I||0)-(B-g.value);O=o.value>0?Math.max(o.value,O):O;const T=F(p,o.value);T!=null&&(O=T>O?O:T),n.value=O}y.value=0,h.value=0,i.value=-1,g.value=-1,d.value=!1,m.value=!1,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",c),document.body.style.userSelect="",p="",s=null,u=null}function f(k,P,I){if(p=P,s=I,d.value=!0,u=k.composedPath().find(O=>(O.className||"").split(" ")[0]==="f-layout"),u){const{left:O}=u.getBoundingClientRect(),T=k.clientX-O;y.value=T,i.value=T;const E=v();C=R=>x(R,E,a.value,p),document.addEventListener("mousemove",C),document.addEventListener("mouseup",c),document.body.style.userSelect="none"}}function b(k,P,I){if(p=P,s=I,m.value=!0,u=k.composedPath().find(O=>(O.className||"").split(" ")[0]==="f-layout"),u){const{top:O}=u.getBoundingClientRect();h.value=k.clientY-O,g.value=k.clientY-O;const T=F(p,o.value)||0;C=E=>w(E,T,o.value,p),document.addEventListener("mousemove",C),document.addEventListener("mouseup",c),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:f,onClickVerticalResizeBar:b}}const X=t.defineComponent({name:"FLayoutPane",props:Ce,emits:[],setup(e,n){const a=t.ref(e.minHeight<=0?100:e.minHeight),o=t.ref(e.minWidth<=0?100:e.minWidth),l=t.ref(e.width<=0?100:e.width),r=t.ref(e.height<=0?100:e.height),i=t.ref(Math.max(a.value,r.value)),y=t.ref(Math.max(o.value,l.value)),d=t.ref(),m=t.ref(e.position),g=t.ref(e.resizable);t.watch(()=>e.resizable,c=>{g.value=c});const h=t.inject("layout"),{useResizeHandleComposition:x}=h,w=De(y,i,o,a,x,e),{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:S}=w,p=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"})),s=t.computed(()=>m.value!=="center"&&g.value);function u(c,f){(f==="left"||f==="right")&&F(c,f,d.value),(f==="top"||f==="bottom")&&S(c,f,d.value)}const C=t.computed(()=>{const c={"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((f,b)=>(f[b]=!0,f),c),c}),v=t.computed(()=>{const c={};return(y.value&&m.value==="left"||m.value==="right")&&(c.width=`${y.value}px`),(i.value&&m.value==="bottom"||m.value==="top")&&(c.height=`${i.value}px`),e.visible||(c.display="none"),c});return()=>t.createVNode("div",{ref:d,class:C.value,style:v.value,"data-position":m.value},[n.slots.default&&n.slots.default(),s.value&&t.createVNode("span",{class:p.value,onMousedown:c=>u(c,m.value)},null)])}});function Ct(e,n){function a(){return!1}return{canAccepts:a}}const xt=t.defineComponent({name:"FLayoutDesign",props:be,emits:[],setup(e,n){var g;const a=t.ref(),o=t.inject("design-item-context"),l=Ct(o.schema,(g=o.parent)==null?void 0:g.schema),r=se.useDesignerComponent(a,o,l);r.value.canNested=!1;const i=Ee(a),{horizontalResizeHandleStyle:y,verticalResizeHandleStyle:d,resizeOverlayStyle:m}=i;return t.provide("layout",{useResizeHandleComposition:i}),t.onMounted(()=>{a.value.componentInstance=r}),n.expose(r.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:y.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:d.value},null)])}});function kt(e,n){const a=e.schema;function o(r){return!!se.useDragulaCommonRule().basalDragulaRuleForContainer(r)}function l(){const r=["f-layout-pane"];return(a.position==="left"||a.position==="right")&&r.push("f-page-content-nav"),a.position==="center"&&r.push("f-page-content-main"),r.join(" ")}return{canAccepts:o,getDesignerClass:l}}const wt=t.defineComponent({name:"FLayoutPaneDesign",props:Ce,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const l=t.inject("design-item-context"),r=kt(l),i=se.useDesignerComponent(o,l,r);i.value.canNested=!1,i.value.canMove=!1,i.value.canDelete=!1,t.onMounted(()=>{o.value.componentInstance=i}),n.expose(i.value);const y=t.ref(Math.max(e.minHeight,e.height)),d=t.ref(Math.max(e.minWidth,e.width)),m=t.ref(e.minHeight),g=t.ref(e.minWidth),h=t.ref(e.position),x=t.inject("layout"),{useResizeHandleComposition:w}=x,F=De(d,y,g,m,w,e),{onClickHorizontalResizeBar:S,onClickVerticalResizeBar:p}=F,s=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":h.value==="left","f-layout-resize-bar-n":h.value==="bottom","f-layout-resize-bar-s":h.value==="top","f-layout-resize-bar-w":h.value==="right"}));function u(c,f){(f==="left"||f==="right")&&S(c,f,a.value),(f==="top"||f==="bottom")&&p(c,f,a.value)}const C=t.computed(()=>{const c={"f-layout-pane":!0,"f-page-content-nav":h.value==="left"||h.value==="right","f-page-content-main":h.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((f,b)=>(f[b]=!0,f),c),c}),v=t.computed(()=>{const c={flex:"1"};return(d.value&&h.value==="left"||h.value==="right")&&(c.width=`${d.value}px`),(y.value&&h.value==="bottom"||h.value==="top")&&(c.height=`${y.value}px`),c});return()=>t.createVNode("div",{ref:a,class:C.value,style:v.value},[t.createVNode("div",{ref:o,class:"drag-container","data-dragref":`${l.schema.id}-container`},[n.slots.default&&n.slots.default()]),t.createVNode("span",{class:s.value,onMousedown:c=>u(c,h.value)},null)])}});K.install=e=>{e.component(K.name,K),e.component(X.name,X)},K.register=(e,n,a,o)=>{e.layout=K,n.layout=Be,e["layout-pane"]=X,n["layout-pane"]=Pe},K.registerDesigner=(e,n,a)=>{e.layout=xt,n.layout=Be,e["layout-pane"]=wt,n["layout-pane"]=Pe};const Ie=new Map([["appearance",G.resolveAppearance]]),je={$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"},dataSource:{description:"",type:"string"},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"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function Le(e,n,a){return n}function Ft(){function e(n,a,o){const l={};return l.beforeOpen=r=>a.call("beforeOpen",n,[r,n],o),l}return{resolve:e}}const ce={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},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},St=Object.assign({},ce,{readonly:{}});G.createPropsResolver(ce,je,Ie,Le);const Re=G.getPropsResolverGenerator(ce,je,Ie,Le),Tt=Ft(),Nt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{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}},Mt=t.defineComponent({name:"FComboListContainer",props:Nt,emits:["selectionChange"],setup(e,n){const a=t.ref(),o=t.ref(e.dataSource),l=t.ref(e.dataSource),r=t.ref([]),i=t.ref(e.separator),y=t.ref(e.width),d=t.ref(e.maxHeight),m=t.computed(()=>e.multiSelect),g=t.ref(e.multiSelect?String(e.selectedValues).split(i.value):[e.selectedValues]),h=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:m.value,showSelectAll:e.showSelectAll,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource,l.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const x=t.computed(()=>{const s={};return y.value!==void 0&&(s.width=`${y.value}px`),d.value!==void 0&&d.value>0&&(s.maxHeight=`${d.value}px`),s});function w(s){a.value.search(s)}function F(s){r.value=s.map(u=>Object.assign({},u)),g.value=s.map(u=>u[e.idField]),n.emit("selectionChange",r.value)}function S(s){if(e.enableHighlightSearch)return;let u=[];const{searchOption:C}=e;typeof C=="function"?u=o.value.filter(v=>C(s,v)):u=o.value.filter(v=>v[e.valueField].indexOf(s)>-1||v[e.textField].indexOf(s)>-1),a.value.updateDataSource(u)}t.watch([()=>e.selectedValues],([s])=>{e.multiSelect?s===null?g.value=[]:g.value=String(s).split(i.value):s===null?g.value=[]:g.value=[s]});function p(s){a.value.activeRowById(s)}return t.onMounted(()=>{var s,u;if(!e.multiSelect){const C=(s=g.value)==null?void 0:s[0];let v=C;const c=o.value.map(f=>f[e.valueField||e.idField]);if(!ne.isUndefined(C)&&c.includes(C)){const f=typeof C,b=typeof((u=o.value[0])==null?void 0:u[e.valueField||e.idField]);b==="number"&&f!==b&&(v=Number(C)),b==="boolean"&&f!==b&&(v=C==="true"?!0:C==="false"?!1:C),p(v)}}}),n.expose({search:w,activeRowById:p}),()=>t.createVNode("div",{class:"f-combo-list-container",style:x.value},[t.createVNode(ct,{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:g.value,onSelectionUpdate:F,onAfterSearch:S},null)])}}),He={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},Vt=(e,n)=>{const a=e.lineHeight/2,o=A.useTouchMomentum({maxOverflowY:44}),l=t.reactive({...He}),r=v=>{n.emit("change",v)},i=t.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),y=()=>{i.max=e.visiableOptionCount/2*e.lineHeight;const v=e.column.length*e.lineHeight;i.min=i.max-v+e.lineHeight},d=(v=0)=>{y(),i.index=v,i.value=i.max-v*e.lineHeight,i.currentItem=e.column[v]},m=v=>{const c=e.column.length-1,f=Math.min(i.index,c),b=e.column.findIndex(k=>k[e.valueField]===v);return b>=0?b:f},g=v=>{const c=e.column.length-1;return i.index>c?e.column[c]:e.column[v]},h=v=>{v&&(i.currentItem=v,l.duration=0);const c=i.currentItem[e.valueField],f=m(c),b=g(i.index)[e.valueField];d(f),c!==b&&setTimeout(()=>{r(i.currentItem)},l.duration*1e3)},x=()=>{const v=Array.isArray(e.value)?e.value[0]:e.value;d(m(v))};x(),t.watch(()=>e.value,()=>{e.multiSelect||x()}),t.watch(()=>e.column,()=>h());const w=(v,c=i.max,f=i.min)=>{const b=i.start+v;i.value=b>a?Math.min(b,c):Math.max(b,f),i.index=Math.round((i.max-i.value)/e.lineHeight),i.currentItem=g(i.index)},F=A.useTouch(),S=v=>{F.start(v),i.active=!0,i.start=i.value,o.start(i.start),l.duration=0},p=v=>{v.preventDefault(),F.move(v),w(F.deltaY.value,i.max+e.lineHeight,i.min-e.lineHeight),o.move(F.deltaY.value),l.duration=He.duration},s=v=>{const c=v<0,f=v%e.lineHeight>a?1:0,b=Math.floor(v/e.lineHeight);return(c?b-f:b+f)*e.lineHeight+a};return{translateY:i,transition:l,onTouchStart:S,onTouchMove:p,onTouchEnd:()=>{i.start=0;const v=o.end();let c=0;if(v){const{destination:f,duration:b}=o.get(i.value,i.min,i.max);c=f,l.duration=b/1e3}else c=i.value;w(s(c)),r(i.currentItem)},onTransitionend:()=>{i.active=!1},updateTranslate:h}},Ot={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},Bt=t.defineComponent({props:Ot,emits:["change","click"],setup(e,n){const{addUnit:a}=A.useCommonUtils(),{bem:o}=A.useBem("FComboTouchList"),{translateY:l,transition:r,onTouchStart:i,onTouchMove:y,onTouchEnd:d,onTransitionend:m}=Vt(e,n),g=w=>{n.emit("click",w)},h=t.computed(()=>({transform:`translateY(${a(l.value)})`,transition:`all ${l.active?r.duration:0}s ${r.timingFunction} 0s`})),x=w=>e.showIcon?Array.isArray(e.value)&&e.value.includes(w[e.valueField]):!1;return()=>t.createVNode("div",{class:o("column"),style:h.value,onTouchstart:i,onTouchmove:y,onTouchend:d,onTransitionend:m},[e.column.map(w=>t.createVNode("div",{class:o("column-item"),onClick:()=>g(w)},[t.createVNode("span",null,[w[e.textField]]),x(w)&&t.createVNode("span",{class:`f-icon f-icon-check ${o("column-item-icon")}`},null)]))])}}),Et={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},Pt=(e,n)=>{const{finalValue:a,initValue:o,setSelectedByIndex:l,getSelectedValueByIndex:r}=n,{isArray:i,isFunction:y,isObject:d}=A.useCommonUtils(),m=c=>c&&c[0],g=t.computed(()=>{var c;return((c=e.columns)==null?void 0:c.length)>0&&i(e.columns[0])}),h=c=>{if((c==null?void 0:c.length)===0)return!1;const f=m(c);return f&&i(f[e.childrenField])},x=(c,f)=>{const b=m(c),k=r(f);let P=c.find(B=>B[e.valueField]===k);P=P||b;const I=P[e.childrenField]||[];if(h(I)){const B=x(I,f+1);return[I,...B]}return[I]},w=()=>{const c=e.columns,f=x(c,0);return[c,...f]},F=(c,f)=>{const b=c[e.textField];return y(e.optionFormatter)?e.optionFormatter(f,c):b},S=(c,f)=>c.map(b=>{const k=d(b)?b:{[e.valueField]:b,[e.textField]:b};return k[e.textField]=F(k,f),k}),p=t.computed(()=>{let c=[];return g.value?c=e.columns:h(e.columns)?c=w():c=[e.columns],c.map(S)}),s=()=>p.value.map((c,f)=>{const b=a.value[f];return c.find(P=>P[e.valueField]===b)}).filter(c=>c),u=()=>s().map(c=>c[e.valueField]),C=()=>s().map(c=>c[e.textField]).join("-"),v=()=>{p.value.forEach((c,f)=>{if(e.multiSelect)a.value[f].forEach(k=>{const P=c.find(I=>I[e.valueField]===k);P&&l(f,P)});else{const b=a.value[f],k=c.find(P=>P[e.valueField]===b);k?l(f,k):l(f,m(c))}})};return t.watch(()=>e.modelValue,()=>{o(e.modelValue),v()},{immediate:!0}),{columns:p,getPickeds:s,getValue:u,getTextValue:C}},Dt=e=>{const{isArray:n,isMultiArray:a,isString:o,isDef:l}=A.useCommonUtils(),r=s=>{let u=[];return n(s)?u=s:o(s)?u=s.split(e.separator):l(s)&&(u=[s]),e.multiSelect?a(u)?u:[u]:u},i=t.ref([]),y=s=>{i.value=r(s)},d=t.reactive([]),m=t.computed(()=>d.map(s=>s[e.valueField])),g=t.reactive([]),h=t.computed(()=>g.map(s=>s.map(u=>u[e.valueField])));return{finalValue:i,initValue:y,getSelected:()=>e.multiSelect?g:d,getSelectedValue:()=>e.multiSelect?h.value:m.value,setSelectedByIndex:(s,u)=>{if(e.multiSelect){const C=g[s]||[];C.includes(u)?g[s]=C.filter(v=>v!==u):g[s]=[...C,u]}else d[s]=u},getSelectedByIndex:s=>e.multiSelect?g[s]:d[s],getSelectedValueByIndex:s=>e.multiSelect?h.value[s]:m.value[s]}},It=t.defineComponent({props:Et,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:a}=n,{addUnit:o}=A.useCommonUtils(),l=Dt(e),{finalValue:r,getSelectedValue:i,getSelectedValueByIndex:y,getSelected:d,setSelectedByIndex:m}=l,{columns:g}=Pt(e,l),h=(C,v=!0)=>{const{value:c,index:f}=C;(v&&!e.multiSelect||!v&&e.multiSelect)&&(a("change",C),m(f,c))},x=()=>{r.value=i(),a("confirm",d()),a("update:modelValue",r.value)},w=()=>{a("cancel")},{bem:F}=A.useBem("FComboTouchList"),S=()=>t.createVNode("div",{class:F("toolbar")},[t.createVNode("div",{class:F("toolbar-left"),onClick:w},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:F("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:F("toolbar-right"),onClick:x},[t.createVNode("span",null,[e.confirmText])])]),p=t.computed(()=>{const C=(e.visiableOptionCount+1)*e.lineHeight;return{height:o(C)}}),s=t.computed(()=>{const C=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${o(C)}`}}),u=()=>t.createVNode("div",{class:F("content")},[t.createVNode("div",{class:F("columns"),style:p.value},[g.value.map((C,v)=>t.createVNode(Bt,{column:C,value:y(v),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:c=>h({value:c,index:v}),onClick:c=>h({value:c,index:v},!1)},null)),!e.multiSelect&&t.createVNode("div",{class:F("mask"),style:s.value},null),t.createVNode("div",{class:F("frame")},null)])]);return()=>t.createVNode("div",{class:F("")},[e.showToolbar&&S(),u()])}});function jt(e,n){const a=t.ref(""),o=t.ref(e.modelValue),l=t.ref(e.data||[]),r=t.ref(e.editable),i=t.computed(()=>e.hideDisabledItems?l.value.filter(s=>!s.disabled):l.value);function y(s){const u=e.multiSelect?String(s).split(e.separator):[String(s)],C=u.map(f=>[f,!0]),v=new Map(C);return l.value.filter(f=>v.has(String(f[e.valueField]))).sort((f,b)=>{const k=u.indexOf(f[e.valueField]),P=u.indexOf(b[e.valueField]);return k-P})}function d(s){const u=y(s).map(C=>C[e.textField]).join(e.separator);a.value=r.value?u||s:u}function m(s){if(e.multiSelect){const u=s.split(e.separator).map(v=>[v,!0]),C=new Map(u);return l.value.filter(v=>C.has(v[e.textField]))}return l.value.filter(u=>""+u[e.textField]===s)}function g(s){const u={};return u[e.idField]=s,u[e.textField]=s,[u]}function h(s){let u=m(s);const C=u&&u.length>0;return r.value&&!C&&(u=g(s)),u}function x(){const{url:s,method:u="GET",headers:C={"Content-Type":"application/json;charset=utf-8;"},body:v=null}=e.remote;if(!s)return;const{basePath:c}=A.useFarrisConfig().value,f=u.toLowerCase()==="get"?{method:u,headers:C}:{method:u,headers:C,body:v};let b=!1;fetch(new Request(c+s,f)).then(k=>{var I,B;if(k.status===200)return b=!!((B=(I=k.headers)==null?void 0:I.get("content-type"))!=null&&B.includes("application/json")),b?k.text():k.json();throw k.status===405?new Error(_.LocaleService.getLocaleValue("comboList.remoteError")):new Error(k.statusText)}).then(k=>{k.length&&(l.value=b?JSON.parse(k):k,o.value&&d(o.value))}).catch(k=>{console.warn(k)})}e.remote&&(e.load?e.load().then(s=>{l.value=s}).catch(s=>{console.log(s)}):x()),t.watch(()=>e.data,()=>{l.value=e.data}),t.watch([l],([s],[u])=>{if(e.modelValue!=null&&!e.multiSelect){const C=s.find(v=>v[e.valueField]===o.value);C?C[e.valueField]!==o.value?(o.value=C[e.valueField],a.value=C[e.textField],n.emit("update:modelValue",C[e.valueField]),n.emit("change",[C],C[e.valueField])):a.value!==C[e.textField]&&(a.value=C[e.textField]):o.value!==""&&(o.value="",a.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(s,u)=>{u!==s&&(o.value=s,d(s))});function w(s){l.value=s,n.emit("dataChanged",s)}function F(){return l.value}function S(){return a.value}async function p(){const s=typeof e.beforeOpen=="function";return!e.beforeOpen||!s?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:w,getData:F,getDisplayText:S}})).then(u=>typeof(u==null?void 0:u.canOpen)=="boolean"?u==null?void 0:u.canOpen:!0)}return d(e.modelValue),{dataSource:l,filteredDataSource:i,displayText:a,editable:r,modelValue:o,beforeOpenList:p,getItemsByDisplayText:m,getItemsByValue:y,getSelectedItemsByDisplayText:h}}const Lt=["moz","ms","webkit"];function Rt(){let e=0;return n=>{const a=new Date().getTime(),o=Math.max(0,16-(a-e)),l=setTimeout(()=>{n(a+o)},o);return e=a+o,l}}function Ht(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=Lt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:Rt()}Ht(),t.ref("");function ue(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],a=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const d of a)if(d.test(e))return!1;for(const d of n)if(d.test(e))return!0;if(typeof screen>"u")return!1;const o="ontouchstart"in window||navigator.maxTouchPoints>0,l=screen.width,r=screen.height,i=Math.min(l,r);return!!(o&&i<=768)}function zt(){const e=ue();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&zt();const ae=t.defineComponent({name:"FComboList",props:ce,emits:["clear","update:modelValue","change","input","dataChanged","expandClick","hidden","shown"],setup(e,n){const a=t.ref(),o=t.ref(),l=t.ref(e.disabled||e.readonly),r=t.ref(e.enableClear),i=t.ref(e.enableSearch),y=t.ref(e.readonly),{dataSource:d,displayText:m,editable:g,modelValue:h,filteredDataSource:x,getItemsByDisplayText:w,getItemsByValue:F,beforeOpenList:S}=jt(e,n),p=t.ref(e.dropDownIcon);p.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(p.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const s=t.computed(()=>e.multiSelect),u=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function C(){!s.value&&o.value&&o.value.hidePopup()}function v(D){m.value=D.map(V=>V[e.textField]).join(e.separator)||h.value;let N="";D.length===1?N=D[0][e.valueField]:N=D.map(V=>V[e.valueField]).join(e.separator),h.value!==N&&(h.value=N,n.emit("update:modelValue",h.value),n.emit("change",D,h.value))}function c(){const D=F(h.value);v(D)}function f(){y.value||m.value}function b(D){var N;h.value="",(N=a.value)==null||N.activeRowById(""),n.emit("clear")}function k(D){var N,V;e.enableSearch&&e.enableHighlightSearch&&((N=a.value)==null||N.search(D)),(V=a.value)==null||V.activeRowById(D),n.emit("change",[h.value],h.value)}function P(D){if(e.multiSelect){const N=w(D);e.viewType;const j=N.map(H=>H[e.idField||e.valueField]).join(e.separator);h.value!==j&&(h.value=j,n.emit("update:modelValue",h.value),n.emit("change",N,h.value))}else D!==h.value&&(h.value=D,n.emit("update:modelValue",h.value),n.emit("change",[],D))}function I(){return m.value}function B(D){const{value:N}=D.target;k(N),n.emit("input",N)}function O(){o.value.hidePopup()}function T(D){d.value=D}function E(){return d.value}const R={getDisplayText:I,hidePopup:O,updateDataSource:T,getData:E};n.expose(R),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([D,N,V,j,H])=>{l.value=D,g.value=N,r.value=V,i.value=j,y.value=H});const W=()=>{n.emit("expandClick")};return()=>t.createVNode(ge,{ref:o,id:e.id,disable:l.value,readonly:y.value,forcePlaceholder:e.forcePlaceholder,editable:g.value,buttonContent:p.value,placeholder:e.placeholder==="请选择"?_.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:r.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:m.value,"onUpdate:modelValue":D=>m.value=D,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:f,onChange:P,onBlur:c,onInput:B,beforeOpen:S,placement:ue()?"bottom":e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:W,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[ue()?t.createVNode(It,{modelValue:h.value,valueField:e.valueField,textField:e.textField,columns:d.value,multiSelect:e.multiSelect,separator:e.separator,onConfirm:D=>{const N=e.multiSelect?D[0]||[]:D;v(N),o==null||o.value.hidePopup()},onCancel:()=>{o==null||o.value.hidePopup()}},null):t.createVNode(Mt,{class:e.popupClass,ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:x.value,selectedValues:h.value,separator:e.separator,multiSelect:e.multiSelect,showSelectAll:e.showSelectAll,enableSearch:i.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?u.value:void 0,onSelectionChange:D=>{v(D),C()}},null)]})}}),ze={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class At extends dt.InputBaseProperty{constructor(n,a){super(n,a)}getCommonEditorProperties(n){var a,o,l,r;return{showSelectAll:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((o=n.editor)!=null&&o.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((l=n.editor)!=null&&l.multiSelect)&&((r=n.editor)==null?void 0:r.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},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var d,m,g,h,x,w,F,S,p,s,u,C,v;const a=this;let o="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(m=c==null?void 0:c.schemaField)!=null&&m.type&&(o=c.schemaField.type.$type)}const l=this.getPropertyEditorParams(n,["Variable"]),r=!n.editor.dataSourceType||n.editor.dataSourceType==="static",i=(((h=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:h.$type)===A.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((x=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:x.type.$type)===A.FormSchemaEntityFieldType$Type.StringType)&&((w=n.editor)==null?void 0:w.type)==="combo-list"&&((F=n.editor)==null?void 0:F.dataSourceType)==="dynamic"&&!((p=(S=n.editor)==null?void 0:S.remote)!=null&&p.url)&&!((s=n.editor)!=null&&s.multiSelect);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},dataSource:{description:"动态数据源绑定变量",visible:i,title:"数据",editor:{...l,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:r,...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((u=n.editor)!=null&&u.dataSource),$converter:ze,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:ze,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",readonly:((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!!((v=n.editor)!=null&&v.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(c,f)=>{if(!c||!f.editor)return;const b=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(f.editor.valueField="value",f.editor.textField="name",f.editor.remote=null):c.propertyValue==="dynamic"&&(f.editor.remote={method:"GET"},f.editor.valueField="value",f.editor.textField="name");break}case"data":{!b.checkEnumDataReadonly(f)&&f.formatter&&(f.formatter.data=[...c.propertyValue]);break}case"viewType":{c.propertyValue==="tag"&&(f.editor.editable=!1);break}case"dataSource":b.afterMutilEditorChanged(f,c);break}})}getGridFieldEdtiorProperties(n,a){var d,m,g,h,x,w,F,S,p,s,u,C,v;const o=this;let l="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(m=c==null?void 0:c.schemaField)!=null&&m.type&&(l=c.schemaField.type.$type)}const r=((h=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:h.$type)===A.FormSchemaEntityFieldType$Type.StringType&&((x=n.editor)==null?void 0:x.type)==="combo-list"&&((w=n.editor)==null?void 0:w.dataSourceType)==="dynamic"&&!((F=n.editor)!=null&&F.multiSelect),i=this.getPropertyEditorParams(n,["Variable"]);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},dataSource:{description:"动态数据源绑定变量",visible:r,title:"数据",editor:{...i,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((S=n.editor)!=null&&S.dataSourceType)||((p=n.editor)==null?void 0:p.dataSourceType)==="static",...o.getItemCollectionEditor(n,(s=n.editor)==null?void 0:s.valueField,(u=n.editor)==null?void 0:u.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:l==="StringType",readonly:((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!!((v=n.editor)!=null&&v.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(c,f)=>{if(!c||!f.editor)return;const b=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(f.editor.valueField="value",f.editor.textField="name",f.editor.remote=null):c.propertyValue==="dynamic"&&(f.editor.remote={method:"GET"},f.editor.valueField="value",f.editor.textField="name");break}case"data":{!b.checkEnumDataReadonly(f)&&f.formatter&&(f.formatter.data=[...c.propertyValue]);break}case"dataSource":b.afterMutilEditorChanged(f,c)}})}setEditorPropertyRelates(n,a,o){if(!n||!a.editor)return;const l=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(a.editor.valueField="value",a.editor.textField="name",a.editor.remote={});break}case"data":{!l.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,a,o){var r;super.changeBindingField(n,a);const l=o;n.editor&&((r=l==null?void 0:l.type)==null?void 0:r.$type)===A.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=l.type.enumValues||[])}getEventPropertyConfig(n,a="card",o,l){const r=this;let i=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];i=[...i,...this.getInputCommonEvents(n)],o&&(i=i.concat(o)),this.formRule&&(i=i.filter(g=>g.label!=="onChange")),this.appendFieldValueChangeEvents(n,i);const y=r.eventsEditorUtils.formProperties(n,r.viewModelId,i);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(y),tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(g,h){const x=g.propertyValue;delete n[r.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(n,r.viewModelId,x.events,x),r.updateLinkedLabel(x,h)),l&&l(g,h,x);const w=r.designViewModelUtils.getDgViewModel(r.viewModelId);w&&r.designViewModelField&&w.changeField(r.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function $t(e,n){const a=e.schema;function o(l,r){return new At(l,n).getPropertyConfig(a,r)}return{getPropsConfig:o}}const Wt=t.defineComponent({name:"FComboListDesign",props:St,emits:["clear","update:modelValue","change"],setup(e,n){const a=t.ref(),o=t.inject("designer-host-service"),l=t.inject("design-item-context"),r=$t(l,o),i=se.useDesignerComponent(a,l,r);return t.onMounted(()=>{a.value.componentInstance=i}),n.expose(i.value),()=>t.createVNode(ut,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});ae.register=(e,n,a,o,l)=>{e["combo-list"]=ae,n["combo-list"]=Re(l),o["combo-list"]={callbackResolver:Tt}},ae.registerDesigner=(e,n,a,o)=>{e["combo-list"]=Wt,n["combo-list"]=Re(o)},A.withInstall(ae);const qt={analytical:{name:"数据",items:[{key:"IsNull",name:"是空值",params:[{key:"obj",name:"检测对象",type:"object"}],description:`【功能】判断检测对象是否为空值(null)。检测对象为null返回true,否则返回false
|
|
1
|
+
(function(z,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("../list-view/index.umd.js"),require("lodash-es"),require("bignumber.js"),require("../../designer/button-edit/index.umd.js"),require("../property-panel/index.umd.js"),require("../tree-view/index.umd.js"),require("../drawer/index.umd.js"),require("../button/index.umd.js"),require("../field-selector/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer"),require("../tags/index.umd.js"),require("../common/index.umd.js/text-box/use-input-expand"),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","../list-view/index.umd.js","lodash-es","bignumber.js","../../designer/button-edit/index.umd.js","../property-panel/index.umd.js","../tree-view/index.umd.js","../drawer/index.umd.js","../button/index.umd.js","../field-selector/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer","../tags/index.umd.js","../common/index.umd.js/text-box/use-input-expand","../popover/index.umd.js"],t):(z=typeof globalThis<"u"?globalThis:z||self,t(z["expression-editor"]={},z.Vue,z.dynamicResolver,z.common,z.designerCanvas,z.FButtonEdit$1,z.locale,z.FListView,z.LodashES,z.BigNumber,z.FButtonEditDesign,z.propertyPanel,z.FTreeView,z.FDrawer,null,null,null,z.FTags,z.useInputExpand,z.FPopover))})(this,function(z,t,G,A,se,ge,_,ct,ne,Aa,ut,dt,ft,ve,$a,Wa,qa,mt,yt,pt){"use strict";var Ha=Object.defineProperty;var za=(z,t,G)=>t in z?Ha(z,t,{enumerable:!0,configurable:!0,writable:!0,value:G}):z[t]=G;var Z=(z,t,G)=>za(z,typeof t!="symbol"?t+"":t,G);const Me={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}},Ve=new Map([["appearance",G.resolveAppearance]]);function Oe(e,n,a){return n}const ht={$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"]},gt={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"}}}}},be={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Be=G.createPropsResolver(be,ht,Ve,Oe,gt);function Ee(e){const n=t.ref(-1),a=t.ref(-1),o=t.ref(0),l=t.ref(0),r=t.ref(!1),i=t.ref(!1),y=t.computed(()=>({display:r.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),d=t.computed(()=>({display:i.value?"block":"none",top:`${l.value}px`,cursor:"n-resize"})),m=t.computed(()=>{const p={display:i.value||r.value?"block":"none"};return l.value>0&&(p.cursor="n-resize"),p});function g(p,s,u,C){const v=e.value;if(v){const{left:c,right:f,width:b}=v.getBoundingClientRect();let k=p.clientX-c;C==="right"&&(k=f-p.clientX),k>s&&(k=s),k<u&&(k=u),C==="right"&&(k=b-k),o.value=k}}function h(p,s,u,C){const v=e.value;if(v){const{top:c,bottom:f,height:b}=v.getBoundingClientRect();let k=p.clientY-c;C==="bottom"&&(k=f-p.clientY),k>s&&(k=s),k<u&&(k=u),C==="bottom"&&(k=b-k),l.value=k}}function x(){const p=e.value;if(p){const{width:s,height:u}=p.getBoundingClientRect();return{width:s,height:u}}return null}function w(){const p=e.value;return p?Array.from(p.querySelectorAll("[data-position]")).reduce((s,u)=>{const C=u.getAttribute("data-position");return s=Object.assign(s,{[C]:u}),s},{}):null}function F(p,s){const u=x(),C=w();if(u&&C){const v=C==null?void 0:C.right,c=C==null?void 0:C.left;if(p==="left"&&c)return v?u.width-v.clientWidth-s:u.width-s;if(p==="right"&&v)return c?u.width-c.clientWidth-s:u.width-s}}function S(p,s){const u=x(),C=w();if(u&&C){const v=C==null?void 0:C.bottom,c=C==null?void 0:C.top;if(p==="top"&&c)return v?u.height-v.clientHeight-s:u.height-s;if(p==="bottom"&&v)return c?u.height-c.clientHeight-s:u.height-s}}return{horizontalResizeHandleStyle:y,verticalResizeHandleStyle:d,resizeOverlayStyle:m,showHorizontalResizeHandle:r,showVerticalResizeHandle:i,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:g,draggingVerticalResizeHandle:h,getPanelMaxHeight:S,getPanelMaxWidth:F}}const K=t.defineComponent({name:"FLayout",props:be,emits:[],setup(e,n){const a=t.ref(),o=Ee(a),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:r,resizeOverlayStyle:i}=o;t.provide("layout",{useResizeHandleComposition:o});const y=t.computed(()=>{const m={"f-layout":!0};return A.getCustomClass(m,e==null?void 0:e.customClass)}),d=t.computed(()=>{const m={};return A.getCustomStyle(m,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:y.value,style:d.value,ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:i.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:l.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:r.value},null)])}}),vt={$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"]},bt={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:"是否可见"}}}}},Ce={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},maxWidth:{type:Number,default:null}},Pe=G.createPropsResolver(Ce,vt,Ve,Oe,bt);function De(e,n,a,o,l,r){const{horizontalResizeBarPosition:i,horizontalResizeHandleOffset:y,showHorizontalResizeHandle:d,showVerticalResizeHandle:m,verticalResizeBarPosition:g,verticalResizeHandleOffset:h,draggingHorizontalResizeHandle:x,draggingVerticalResizeHandle:w,getPanelMaxHeight:F,getPanelMaxWidth:S}=l;let p="",s,u,C;const v=()=>r.maxWidth?r.maxWidth:S(p,a.value)||0;function c(k){if((p==="left"||p==="right")&&u){const{left:P}=u.getBoundingClientRect(),{width:I}=s.getBoundingClientRect(),B=k.clientX-P;let O=p==="left"?(I||0)+(B-i.value):(I||0)-(B-i.value);O=a.value>0?Math.max(a.value,O):O;const T=v();T!=null&&(O=T>O?O:T),e.value=O}if((p==="top"||p==="bottom")&&u){const{top:P}=u.getBoundingClientRect(),{height:I}=s.getBoundingClientRect(),B=k.clientY-P;let O=p==="top"?(I||0)+(B-g.value):(I||0)-(B-g.value);O=o.value>0?Math.max(o.value,O):O;const T=F(p,o.value);T!=null&&(O=T>O?O:T),n.value=O}y.value=0,h.value=0,i.value=-1,g.value=-1,d.value=!1,m.value=!1,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",c),document.body.style.userSelect="",p="",s=null,u=null}function f(k,P,I){if(p=P,s=I,d.value=!0,u=k.composedPath().find(O=>(O.className||"").split(" ")[0]==="f-layout"),u){const{left:O}=u.getBoundingClientRect(),T=k.clientX-O;y.value=T,i.value=T;const E=v();C=R=>x(R,E,a.value,p),document.addEventListener("mousemove",C),document.addEventListener("mouseup",c),document.body.style.userSelect="none"}}function b(k,P,I){if(p=P,s=I,m.value=!0,u=k.composedPath().find(O=>(O.className||"").split(" ")[0]==="f-layout"),u){const{top:O}=u.getBoundingClientRect();h.value=k.clientY-O,g.value=k.clientY-O;const T=F(p,o.value)||0;C=E=>w(E,T,o.value,p),document.addEventListener("mousemove",C),document.addEventListener("mouseup",c),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:f,onClickVerticalResizeBar:b}}const X=t.defineComponent({name:"FLayoutPane",props:Ce,emits:[],setup(e,n){const a=t.ref(e.minHeight<=0?100:e.minHeight),o=t.ref(e.minWidth<=0?100:e.minWidth),l=t.ref(e.width<=0?100:e.width),r=t.ref(e.height<=0?100:e.height),i=t.ref(Math.max(a.value,r.value)),y=t.ref(Math.max(o.value,l.value)),d=t.ref(),m=t.ref(e.position),g=t.ref(e.resizable);t.watch(()=>e.resizable,c=>{g.value=c});const h=t.inject("layout"),{useResizeHandleComposition:x}=h,w=De(y,i,o,a,x,e),{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:S}=w,p=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"})),s=t.computed(()=>m.value!=="center"&&g.value);function u(c,f){(f==="left"||f==="right")&&F(c,f,d.value),(f==="top"||f==="bottom")&&S(c,f,d.value)}const C=t.computed(()=>{const c={"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((f,b)=>(f[b]=!0,f),c),c}),v=t.computed(()=>{const c={};return(y.value&&m.value==="left"||m.value==="right")&&(c.width=`${y.value}px`),(i.value&&m.value==="bottom"||m.value==="top")&&(c.height=`${i.value}px`),e.visible||(c.display="none"),c});return()=>t.createVNode("div",{ref:d,class:C.value,style:v.value,"data-position":m.value},[n.slots.default&&n.slots.default(),s.value&&t.createVNode("span",{class:p.value,onMousedown:c=>u(c,m.value)},null)])}});function Ct(e,n){function a(){return!1}return{canAccepts:a}}const xt=t.defineComponent({name:"FLayoutDesign",props:be,emits:[],setup(e,n){var g;const a=t.ref(),o=t.inject("design-item-context"),l=Ct(o.schema,(g=o.parent)==null?void 0:g.schema),r=se.useDesignerComponent(a,o,l);r.value.canNested=!1;const i=Ee(a),{horizontalResizeHandleStyle:y,verticalResizeHandleStyle:d,resizeOverlayStyle:m}=i;return t.provide("layout",{useResizeHandleComposition:i}),t.onMounted(()=>{a.value.componentInstance=r}),n.expose(r.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:y.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:d.value},null)])}});function kt(e,n){const a=e.schema;function o(r){return!!se.useDragulaCommonRule().basalDragulaRuleForContainer(r)}function l(){const r=["f-layout-pane"];return(a.position==="left"||a.position==="right")&&r.push("f-page-content-nav"),a.position==="center"&&r.push("f-page-content-main"),r.join(" ")}return{canAccepts:o,getDesignerClass:l}}const wt=t.defineComponent({name:"FLayoutPaneDesign",props:Ce,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const l=t.inject("design-item-context"),r=kt(l),i=se.useDesignerComponent(o,l,r);i.value.canNested=!1,i.value.canMove=!1,i.value.canDelete=!1,t.onMounted(()=>{o.value.componentInstance=i}),n.expose(i.value);const y=t.ref(Math.max(e.minHeight,e.height)),d=t.ref(Math.max(e.minWidth,e.width)),m=t.ref(e.minHeight),g=t.ref(e.minWidth),h=t.ref(e.position),x=t.inject("layout"),{useResizeHandleComposition:w}=x,F=De(d,y,g,m,w,e),{onClickHorizontalResizeBar:S,onClickVerticalResizeBar:p}=F,s=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":h.value==="left","f-layout-resize-bar-n":h.value==="bottom","f-layout-resize-bar-s":h.value==="top","f-layout-resize-bar-w":h.value==="right"}));function u(c,f){(f==="left"||f==="right")&&S(c,f,a.value),(f==="top"||f==="bottom")&&p(c,f,a.value)}const C=t.computed(()=>{const c={"f-layout-pane":!0,"f-page-content-nav":h.value==="left"||h.value==="right","f-page-content-main":h.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((f,b)=>(f[b]=!0,f),c),c}),v=t.computed(()=>{const c={flex:"1"};return(d.value&&h.value==="left"||h.value==="right")&&(c.width=`${d.value}px`),(y.value&&h.value==="bottom"||h.value==="top")&&(c.height=`${y.value}px`),c});return()=>t.createVNode("div",{ref:a,class:C.value,style:v.value},[t.createVNode("div",{ref:o,class:"drag-container","data-dragref":`${l.schema.id}-container`},[n.slots.default&&n.slots.default()]),t.createVNode("span",{class:s.value,onMousedown:c=>u(c,h.value)},null)])}});K.install=e=>{e.component(K.name,K),e.component(X.name,X)},K.register=(e,n,a,o)=>{e.layout=K,n.layout=Be,e["layout-pane"]=X,n["layout-pane"]=Pe},K.registerDesigner=(e,n,a)=>{e.layout=xt,n.layout=Be,e["layout-pane"]=wt,n["layout-pane"]=Pe};const Ie=new Map([["appearance",G.resolveAppearance]]),je={$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"},dataSource:{description:"",type:"string"},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"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function Le(e,n,a){return n}function Ft(){function e(n,a,o){const l={};return l.beforeOpen=r=>a.call("beforeOpen",n,[r,n],o),l}return{resolve:e}}const ce={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},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},St=Object.assign({},ce,{readonly:{}});G.createPropsResolver(ce,je,Ie,Le);const Re=G.getPropsResolverGenerator(ce,je,Ie,Le),Tt=Ft(),Nt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{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}},Mt=t.defineComponent({name:"FComboListContainer",props:Nt,emits:["selectionChange"],setup(e,n){const a=t.ref(),o=t.ref(e.dataSource),l=t.ref(e.dataSource),r=t.ref([]),i=t.ref(e.separator),y=t.ref(e.width),d=t.ref(e.maxHeight),m=t.computed(()=>e.multiSelect),g=t.ref(e.multiSelect?String(e.selectedValues).split(i.value):[e.selectedValues]),h=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:m.value,showSelectAll:e.showSelectAll,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource,l.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const x=t.computed(()=>{const s={};return y.value!==void 0&&(s.width=`${y.value}px`),d.value!==void 0&&d.value>0&&(s.maxHeight=`${d.value}px`),s});function w(s){a.value.search(s)}function F(s){r.value=s.map(u=>Object.assign({},u)),g.value=s.map(u=>u[e.idField]),n.emit("selectionChange",r.value)}function S(s){if(e.enableHighlightSearch)return;let u=[];const{searchOption:C}=e;typeof C=="function"?u=o.value.filter(v=>C(s,v)):u=o.value.filter(v=>v[e.valueField].indexOf(s)>-1||v[e.textField].indexOf(s)>-1),a.value.updateDataSource(u)}t.watch([()=>e.selectedValues],([s])=>{e.multiSelect?s===null?g.value=[]:g.value=String(s).split(i.value):s===null?g.value=[]:g.value=[s]});function p(s){a.value.activeRowById(s)}return t.onMounted(()=>{var s,u;if(!e.multiSelect){const C=(s=g.value)==null?void 0:s[0];let v=C;const c=o.value.map(f=>f[e.valueField||e.idField]);if(!ne.isUndefined(C)&&c.includes(C)){const f=typeof C,b=typeof((u=o.value[0])==null?void 0:u[e.valueField||e.idField]);b==="number"&&f!==b&&(v=Number(C)),b==="boolean"&&f!==b&&(v=C==="true"?!0:C==="false"?!1:C),p(v)}}}),n.expose({search:w,activeRowById:p}),()=>t.createVNode("div",{class:"f-combo-list-container",style:x.value},[t.createVNode(ct,{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:g.value,onSelectionUpdate:F,onAfterSearch:S},null)])}}),He={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},Vt=(e,n)=>{const a=e.lineHeight/2,o=A.useTouchMomentum({maxOverflowY:44}),l=t.reactive({...He}),r=v=>{n.emit("change",v)},i=t.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),y=()=>{i.max=e.visiableOptionCount/2*e.lineHeight;const v=e.column.length*e.lineHeight;i.min=i.max-v+e.lineHeight},d=(v=0)=>{y(),i.index=v,i.value=i.max-v*e.lineHeight,i.currentItem=e.column[v]},m=v=>{const c=e.column.length-1,f=Math.min(i.index,c),b=e.column.findIndex(k=>k[e.valueField]===v);return b>=0?b:f},g=v=>{const c=e.column.length-1;return i.index>c?e.column[c]:e.column[v]},h=v=>{v&&(i.currentItem=v,l.duration=0);const c=i.currentItem[e.valueField],f=m(c),b=g(i.index)[e.valueField];d(f),c!==b&&setTimeout(()=>{r(i.currentItem)},l.duration*1e3)},x=()=>{const v=Array.isArray(e.value)?e.value[0]:e.value;d(m(v))};x(),t.watch(()=>e.value,()=>{e.multiSelect||x()}),t.watch(()=>e.column,()=>h());const w=(v,c=i.max,f=i.min)=>{const b=i.start+v;i.value=b>a?Math.min(b,c):Math.max(b,f),i.index=Math.round((i.max-i.value)/e.lineHeight),i.currentItem=g(i.index)},F=A.useTouch(),S=v=>{F.start(v),i.active=!0,i.start=i.value,o.start(i.start),l.duration=0},p=v=>{v.preventDefault(),F.move(v),w(F.deltaY.value,i.max+e.lineHeight,i.min-e.lineHeight),o.move(F.deltaY.value),l.duration=He.duration},s=v=>{const c=v<0,f=v%e.lineHeight>a?1:0,b=Math.floor(v/e.lineHeight);return(c?b-f:b+f)*e.lineHeight+a};return{translateY:i,transition:l,onTouchStart:S,onTouchMove:p,onTouchEnd:()=>{i.start=0;const v=o.end();let c=0;if(v){const{destination:f,duration:b}=o.get(i.value,i.min,i.max);c=f,l.duration=b/1e3}else c=i.value;w(s(c)),r(i.currentItem)},onTransitionend:()=>{i.active=!1},updateTranslate:h}},Ot={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},Bt=t.defineComponent({props:Ot,emits:["change","click"],setup(e,n){const{addUnit:a}=A.useCommonUtils(),{bem:o}=A.useBem("FComboTouchList"),{translateY:l,transition:r,onTouchStart:i,onTouchMove:y,onTouchEnd:d,onTransitionend:m}=Vt(e,n),g=w=>{n.emit("click",w)},h=t.computed(()=>({transform:`translateY(${a(l.value)})`,transition:`all ${l.active?r.duration:0}s ${r.timingFunction} 0s`})),x=w=>e.showIcon?Array.isArray(e.value)&&e.value.includes(w[e.valueField]):!1;return()=>t.createVNode("div",{class:o("column"),style:h.value,onTouchstart:i,onTouchmove:y,onTouchend:d,onTransitionend:m},[e.column.map(w=>t.createVNode("div",{class:o("column-item"),onClick:()=>g(w)},[t.createVNode("span",null,[w[e.textField]]),x(w)&&t.createVNode("span",{class:`f-icon f-icon-check ${o("column-item-icon")}`},null)]))])}}),Et={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},Pt=(e,n)=>{const{finalValue:a,initValue:o,setSelectedByIndex:l,getSelectedValueByIndex:r}=n,{isArray:i,isFunction:y,isObject:d}=A.useCommonUtils(),m=c=>c&&c[0],g=t.computed(()=>{var c;return((c=e.columns)==null?void 0:c.length)>0&&i(e.columns[0])}),h=c=>{if((c==null?void 0:c.length)===0)return!1;const f=m(c);return f&&i(f[e.childrenField])},x=(c,f)=>{const b=m(c),k=r(f);let P=c.find(B=>B[e.valueField]===k);P=P||b;const I=P[e.childrenField]||[];if(h(I)){const B=x(I,f+1);return[I,...B]}return[I]},w=()=>{const c=e.columns,f=x(c,0);return[c,...f]},F=(c,f)=>{const b=c[e.textField];return y(e.optionFormatter)?e.optionFormatter(f,c):b},S=(c,f)=>c.map(b=>{const k=d(b)?b:{[e.valueField]:b,[e.textField]:b};return k[e.textField]=F(k,f),k}),p=t.computed(()=>{let c=[];return g.value?c=e.columns:h(e.columns)?c=w():c=[e.columns],c.map(S)}),s=()=>p.value.map((c,f)=>{const b=a.value[f];return c.find(P=>P[e.valueField]===b)}).filter(c=>c),u=()=>s().map(c=>c[e.valueField]),C=()=>s().map(c=>c[e.textField]).join("-"),v=()=>{p.value.forEach((c,f)=>{if(e.multiSelect)a.value[f].forEach(k=>{const P=c.find(I=>I[e.valueField]===k);P&&l(f,P)});else{const b=a.value[f],k=c.find(P=>P[e.valueField]===b);k?l(f,k):l(f,m(c))}})};return t.watch(()=>e.modelValue,()=>{o(e.modelValue),v()},{immediate:!0}),{columns:p,getPickeds:s,getValue:u,getTextValue:C}},Dt=e=>{const{isArray:n,isMultiArray:a,isString:o,isDef:l}=A.useCommonUtils(),r=s=>{let u=[];return n(s)?u=s:o(s)?u=s.split(e.separator):l(s)&&(u=[s]),e.multiSelect?a(u)?u:[u]:u},i=t.ref([]),y=s=>{i.value=r(s)},d=t.reactive([]),m=t.computed(()=>d.map(s=>s[e.valueField])),g=t.reactive([]),h=t.computed(()=>g.map(s=>s.map(u=>u[e.valueField])));return{finalValue:i,initValue:y,getSelected:()=>e.multiSelect?g:d,getSelectedValue:()=>e.multiSelect?h.value:m.value,setSelectedByIndex:(s,u)=>{if(e.multiSelect){const C=g[s]||[];C.includes(u)?g[s]=C.filter(v=>v!==u):g[s]=[...C,u]}else d[s]=u},getSelectedByIndex:s=>e.multiSelect?g[s]:d[s],getSelectedValueByIndex:s=>e.multiSelect?h.value[s]:m.value[s]}},It=t.defineComponent({props:Et,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:a}=n,{addUnit:o}=A.useCommonUtils(),l=Dt(e),{finalValue:r,getSelectedValue:i,getSelectedValueByIndex:y,getSelected:d,setSelectedByIndex:m}=l,{columns:g}=Pt(e,l),h=(C,v=!0)=>{const{value:c,index:f}=C;(v&&!e.multiSelect||!v&&e.multiSelect)&&(a("change",C),m(f,c))},x=()=>{r.value=i(),a("confirm",d()),a("update:modelValue",r.value)},w=()=>{a("cancel")},{bem:F}=A.useBem("FComboTouchList"),S=()=>t.createVNode("div",{class:F("toolbar")},[t.createVNode("div",{class:F("toolbar-left"),onClick:w},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:F("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:F("toolbar-right"),onClick:x},[t.createVNode("span",null,[e.confirmText])])]),p=t.computed(()=>{const C=(e.visiableOptionCount+1)*e.lineHeight;return{height:o(C)}}),s=t.computed(()=>{const C=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${o(C)}`}}),u=()=>t.createVNode("div",{class:F("content")},[t.createVNode("div",{class:F("columns"),style:p.value},[g.value.map((C,v)=>t.createVNode(Bt,{column:C,value:y(v),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:c=>h({value:c,index:v}),onClick:c=>h({value:c,index:v},!1)},null)),!e.multiSelect&&t.createVNode("div",{class:F("mask"),style:s.value},null),t.createVNode("div",{class:F("frame")},null)])]);return()=>t.createVNode("div",{class:F("")},[e.showToolbar&&S(),u()])}});function jt(e,n){const a=t.ref(""),o=t.ref(e.modelValue),l=t.ref(e.data||[]),r=t.ref(e.editable),i=t.computed(()=>e.hideDisabledItems?l.value.filter(s=>!s.disabled):l.value);function y(s){const u=e.multiSelect?String(s).split(e.separator):[String(s)],C=u.map(f=>[f,!0]),v=new Map(C);return l.value.filter(f=>v.has(String(f[e.valueField]))).sort((f,b)=>{const k=u.indexOf(f[e.valueField]),P=u.indexOf(b[e.valueField]);return k-P})}function d(s){const u=y(s).map(C=>C[e.textField]).join(e.separator);a.value=r.value?u||s:u}function m(s){if(e.multiSelect){const u=s.split(e.separator).map(v=>[v,!0]),C=new Map(u);return l.value.filter(v=>C.has(v[e.textField]))}return l.value.filter(u=>""+u[e.textField]===s)}function g(s){const u={};return u[e.idField]=s,u[e.textField]=s,[u]}function h(s){let u=m(s);const C=u&&u.length>0;return r.value&&!C&&(u=g(s)),u}function x(){const{url:s,method:u="GET",headers:C={"Content-Type":"application/json;charset=utf-8;"},body:v=null}=e.remote;if(!s)return;const{basePath:c}=A.useFarrisConfig().value,f=u.toLowerCase()==="get"?{method:u,headers:C}:{method:u,headers:C,body:v};let b=!1;fetch(new Request(c+s,f)).then(k=>{var I,B;if(k.status===200)return b=!!((B=(I=k.headers)==null?void 0:I.get("content-type"))!=null&&B.includes("application/json")),b?k.text():k.json();throw k.status===405?new Error(_.LocaleService.getLocaleValue("comboList.remoteError")):new Error(k.statusText)}).then(k=>{k.length&&(l.value=b?JSON.parse(k):k,o.value&&d(o.value))}).catch(k=>{console.warn(k)})}e.remote&&(e.load?e.load().then(s=>{l.value=s}).catch(s=>{console.log(s)}):x()),t.watch(()=>e.data,()=>{l.value=e.data}),t.watch([l],([s],[u])=>{if(e.modelValue!=null&&!e.multiSelect){const C=s.find(v=>v[e.valueField]===o.value);C?C[e.valueField]!==o.value?(o.value=C[e.valueField],a.value=C[e.textField],n.emit("update:modelValue",C[e.valueField]),n.emit("change",[C],C[e.valueField])):a.value!==C[e.textField]&&(a.value=C[e.textField]):o.value!==""&&(o.value="",a.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(s,u)=>{u!==s&&(o.value=s,d(s))});function w(s){l.value=s,n.emit("dataChanged",s)}function F(){return l.value}function S(){return a.value}async function p(){const s=typeof e.beforeOpen=="function";return!e.beforeOpen||!s?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:w,getData:F,getDisplayText:S}})).then(u=>typeof(u==null?void 0:u.canOpen)=="boolean"?u==null?void 0:u.canOpen:!0)}return d(e.modelValue),{dataSource:l,filteredDataSource:i,displayText:a,editable:r,modelValue:o,beforeOpenList:p,getItemsByDisplayText:m,getItemsByValue:y,getSelectedItemsByDisplayText:h}}const Lt=["moz","ms","webkit"];function Rt(){let e=0;return n=>{const a=new Date().getTime(),o=Math.max(0,16-(a-e)),l=setTimeout(()=>{n(a+o)},o);return e=a+o,l}}function Ht(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=Lt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:Rt()}Ht(),t.ref("");function ue(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],a=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const d of a)if(d.test(e))return!1;for(const d of n)if(d.test(e))return!0;if(typeof screen>"u")return!1;const o="ontouchstart"in window||navigator.maxTouchPoints>0,l=screen.width,r=screen.height,i=Math.min(l,r);return!!(o&&i<=768)}function zt(){const e=ue();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&zt();const ae=t.defineComponent({name:"FComboList",props:ce,emits:["clear","update:modelValue","change","input","dataChanged","expandClick","hidden","shown"],setup(e,n){const a=t.ref(),o=t.ref(),l=t.ref(e.disabled||e.readonly),r=t.ref(e.enableClear),i=t.ref(e.enableSearch),y=t.ref(e.readonly),{dataSource:d,displayText:m,editable:g,modelValue:h,filteredDataSource:x,getItemsByDisplayText:w,getItemsByValue:F,beforeOpenList:S}=jt(e,n),p=t.ref(e.dropDownIcon);p.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(p.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const s=t.computed(()=>e.multiSelect),u=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function C(){!s.value&&o.value&&o.value.hidePopup()}function v(D){m.value=D.map(V=>V[e.textField]).join(e.separator)||h.value;let M="";D.length===1?M=D[0][e.valueField]:M=D.map(V=>V[e.valueField]).join(e.separator),h.value!==M&&(h.value=M,n.emit("update:modelValue",h.value),n.emit("change",D,h.value))}function c(){const D=F(h.value);v(D)}function f(){y.value||m.value}function b(D){var M;h.value="",(M=a.value)==null||M.activeRowById(""),n.emit("clear")}function k(D){var M,V;e.enableSearch&&e.enableHighlightSearch&&((M=a.value)==null||M.search(D)),(V=a.value)==null||V.activeRowById(D),n.emit("change",[h.value],h.value)}function P(D){if(e.multiSelect){const M=w(D);e.viewType;const j=M.map(H=>H[e.idField||e.valueField]).join(e.separator);h.value!==j&&(h.value=j,n.emit("update:modelValue",h.value),n.emit("change",M,h.value))}else D!==h.value&&(h.value=D,n.emit("update:modelValue",h.value),n.emit("change",[],D))}function I(){return m.value}function B(D){const{value:M}=D.target;k(M),n.emit("input",M)}function O(){o.value.hidePopup()}function T(D){d.value=D}function E(){return d.value}const R={getDisplayText:I,hidePopup:O,updateDataSource:T,getData:E};n.expose(R),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([D,M,V,j,H])=>{l.value=D,g.value=M,r.value=V,i.value=j,y.value=H});const W=()=>{n.emit("expandClick")};return()=>t.createVNode(ge,{ref:o,id:e.id,disable:l.value,readonly:y.value,forcePlaceholder:e.forcePlaceholder,editable:g.value,buttonContent:p.value,placeholder:e.placeholder==="请选择"?_.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:r.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:m.value,"onUpdate:modelValue":D=>m.value=D,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:f,onChange:P,onBlur:c,onInput:B,beforeOpen:S,placement:ue()?"bottom":e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:W,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[ue()?t.createVNode(It,{modelValue:h.value,valueField:e.valueField,textField:e.textField,columns:d.value,multiSelect:e.multiSelect,separator:e.separator,onConfirm:D=>{const M=e.multiSelect?D[0]||[]:D;v(M),o==null||o.value.hidePopup()},onCancel:()=>{o==null||o.value.hidePopup()}},null):t.createVNode(Mt,{class:e.popupClass,ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:x.value,selectedValues:h.value,separator:e.separator,multiSelect:e.multiSelect,showSelectAll:e.showSelectAll,enableSearch:i.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?u.value:void 0,onSelectionChange:D=>{v(D),C()}},null)]})}}),ze={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class At extends dt.InputBaseProperty{constructor(n,a){super(n,a)}getCommonEditorProperties(n){var a,o,l,r;return{showSelectAll:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((o=n.editor)!=null&&o.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((l=n.editor)!=null&&l.multiSelect)&&((r=n.editor)==null?void 0:r.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},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var d,m,g,h,x,w,F,S,p,s,u,C,v;const a=this;let o="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(m=c==null?void 0:c.schemaField)!=null&&m.type&&(o=c.schemaField.type.$type)}const l=this.getPropertyEditorParams(n,["Variable"]),r=!n.editor.dataSourceType||n.editor.dataSourceType==="static",i=(((h=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:h.$type)===A.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((x=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:x.type.$type)===A.FormSchemaEntityFieldType$Type.StringType)&&((w=n.editor)==null?void 0:w.type)==="combo-list"&&((F=n.editor)==null?void 0:F.dataSourceType)==="dynamic"&&!((p=(S=n.editor)==null?void 0:S.remote)!=null&&p.url)&&!((s=n.editor)!=null&&s.multiSelect);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},dataSource:{description:"动态数据源绑定变量",visible:i,title:"数据",editor:{...l,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:r,...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((u=n.editor)!=null&&u.dataSource),$converter:ze,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:ze,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",readonly:((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!!((v=n.editor)!=null&&v.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(c,f)=>{if(!c||!f.editor)return;const b=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(f.editor.valueField="value",f.editor.textField="name",f.editor.remote=null):c.propertyValue==="dynamic"&&(f.editor.remote={method:"GET"},f.editor.valueField="value",f.editor.textField="name");break}case"data":{!b.checkEnumDataReadonly(f)&&f.formatter&&(f.formatter.data=[...c.propertyValue]);break}case"viewType":{c.propertyValue==="tag"&&(f.editor.editable=!1);break}case"dataSource":b.afterMutilEditorChanged(f,c);break}})}getGridFieldEdtiorProperties(n,a){var d,m,g,h,x,w,F,S,p,s,u,C,v;const o=this;let l="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(m=c==null?void 0:c.schemaField)!=null&&m.type&&(l=c.schemaField.type.$type)}const r=((h=(g=this.designViewModelField)==null?void 0:g.type)==null?void 0:h.$type)===A.FormSchemaEntityFieldType$Type.StringType&&((x=n.editor)==null?void 0:x.type)==="combo-list"&&((w=n.editor)==null?void 0:w.dataSourceType)==="dynamic"&&!((F=n.editor)!=null&&F.multiSelect),i=this.getPropertyEditorParams(n,["Variable"]);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},dataSource:{description:"动态数据源绑定变量",visible:r,title:"数据",editor:{...i,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((S=n.editor)!=null&&S.dataSourceType)||((p=n.editor)==null?void 0:p.dataSourceType)==="static",...o.getItemCollectionEditor(n,(s=n.editor)==null?void 0:s.valueField,(u=n.editor)==null?void 0:u.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:l==="StringType",readonly:((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!!((v=n.editor)!=null&&v.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(c,f)=>{if(!c||!f.editor)return;const b=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(f.editor.valueField="value",f.editor.textField="name",f.editor.remote=null):c.propertyValue==="dynamic"&&(f.editor.remote={method:"GET"},f.editor.valueField="value",f.editor.textField="name");break}case"data":{!b.checkEnumDataReadonly(f)&&f.formatter&&(f.formatter.data=[...c.propertyValue]);break}case"dataSource":b.afterMutilEditorChanged(f,c)}})}setEditorPropertyRelates(n,a,o){if(!n||!a.editor)return;const l=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(a.editor.valueField="value",a.editor.textField="name",a.editor.remote={});break}case"data":{!l.checkEnumDataReadonly(a)&&a.formatter&&(a.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,a,o){var r;super.changeBindingField(n,a);const l=o;n.editor&&((r=l==null?void 0:l.type)==null?void 0:r.$type)===A.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=l.type.enumValues||[])}getEventPropertyConfig(n,a="card",o,l){const r=this;let i=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];i=[...i,...this.getInputCommonEvents(n)],o&&(i=i.concat(o)),this.formRule&&(i=i.filter(g=>g.label!=="onChange")),this.appendFieldValueChangeEvents(n,i);const y=r.eventsEditorUtils.formProperties(n,r.viewModelId,i);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(y),tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(g,h){const x=g.propertyValue;delete n[r.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(n,r.viewModelId,x.events,x),r.updateLinkedLabel(x,h)),l&&l(g,h,x);const w=r.designViewModelUtils.getDgViewModel(r.viewModelId);w&&r.designViewModelField&&w.changeField(r.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function $t(e,n){const a=e.schema;function o(l,r){return new At(l,n).getPropertyConfig(a,r)}return{getPropsConfig:o}}const Wt=t.defineComponent({name:"FComboListDesign",props:St,emits:["clear","update:modelValue","change"],setup(e,n){const a=t.ref(),o=t.inject("designer-host-service"),l=t.inject("design-item-context"),r=$t(l,o),i=se.useDesignerComponent(a,l,r);return t.onMounted(()=>{a.value.componentInstance=i}),n.expose(i.value),()=>t.createVNode(ut,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});ae.register=(e,n,a,o,l)=>{e["combo-list"]=ae,n["combo-list"]=Re(l),o["combo-list"]={callbackResolver:Tt}},ae.registerDesigner=(e,n,a,o)=>{e["combo-list"]=Wt,n["combo-list"]=Re(o)},A.withInstall(ae);const qt={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
|
|
@@ -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
|
-
`},Ge=hn(Cn)(Ue),xn={config:vn},kn=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return function(l){return a.reduceRight(function(r,i){return i(r)},l)}};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]))}),$e($e({},e),n)}var wn={type:"cancelation",msg:"operation is manually canceled"};function xe(e){var n=!1,a=new Promise(function(o,l){e.then(function(r){return n?l(wn):o(r)}),e.catch(l)});return a.cancel=function(){return n=!0},a}var Fn=yn.create({config:pn,isInitialized:!1,resolve:null,reject:null,monaco:null}),Xe=_t(Fn,2),ie=Xe[0],me=Xe[1];function Sn(e){var n=xn.config(e),a=n.monaco,o=Gt(n,["monaco"]);me(function(l){return{config:_e(l.config,o),monaco:a}})}function Tn(){var e=ie(function(n){var a=n.monaco,o=n.isInitialized,l=n.resolve;return{monaco:a,isInitialized:o,resolve:l}});if(!e.isInitialized){if(me({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),xe(ke);if(window.monaco&&window.monaco.editor)return Ke(window.monaco),e.resolve(window.monaco),xe(ke);kn(Nn,Vn)(On)}return xe(ke)}function Nn(e){return document.body.appendChild(e)}function Mn(e){var n=document.createElement("script");return e&&(n.src=e),n}function Vn(e){var n=ie(function(o){var l=o.config,r=o.reject;return{config:l,reject:r}}),a=Mn("".concat(n.config.paths.vs,"/loader.js"));return a.onload=function(){return e()},a.onerror=n.reject,a}function On(){var e=ie(function(a){var o=a.config,l=a.resolve,r=a.reject;return{config:o,resolve:l,reject:r}}),n=window.require;n.config(e.config),n(["vs/editor/editor.main"],function(a){Ke(a),e.resolve(a)},function(a){e.reject(a)})}function Ke(e){ie().monaco||me({monaco:e})}function Bn(){return ie(function(e){var n=e.monaco;return n})}var ke=new Promise(function(e,n){return me({resolve:e,reject:n})}),we={config:Sn,init:Tn,__getMonacoInstance:Bn};const Je=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"},lineNumbers:{type:String,default:"on"}},emits:["valueChanged"],setup(e,n){const a=t.ref(),o=t.ref();let l=null;const r=t.ref(e.modelValue);async function i(){return fetch(e.configPath).then(F=>F.json())}async function y(){if(a.value&&!l){const F=await i(),{vsPath:S}=F;we.config({paths:{vs:window.location.origin+S}}),we.config({"vs/nls":{availableLanguages:{"*":"zh-cn"}}}),we.init().then(p=>{o.value=p,l=p.editor.create(a.value,{value:r.value,automaticLayout:!0,language:e.language,theme:e.theme,folding:!0,readOnly:e.readOnly,minimap:{enabled:!1},lineNumbers:e.lineNumbers||"on",lineNumbersMinChars:3,overviewRulerLanes:0,fixedOverflowWidgets:!1,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}),l.onDidBlurEditorWidget(()=>{const s=l.getValue();n.emit("valueChanged",s)})})}}t.watch(()=>e.modelValue,F=>{r.value=F,l==null||l.setValue(F)});const d=t.ref(),m=new ResizeObserver(F=>{l==null||l.layout();const{width:S,height:p}=F[0].contentRect;d.value={width:`${S-1}px`,height:`${p}px`}});function g(){return l==null?void 0:l.getValue()}function h(F){const S=l.getSelection(),p=new o.value.Range(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn);l.executeEdits("insert-text",[{range:p,text:F,forceMoveMarkers:!0}])}t.onMounted(()=>{y(),a.value&&m.observe(a.value.parentElement)}),t.onBeforeUnmount(()=>{l&&l.dispose(),m&&a.value&&(m.unobserve(a.value),m.disconnect())});function x(F){l.setValue(F)}function w(){x("")}return n.expose({getContent:g,insertText:h,clearText:w,setContent:x}),()=>t.createVNode("div",{class:"expression-code-editor",style:d.value,ref:a},null)}}),En={dataSource:{type:Object,default:{}}},Pn={data:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},formatter:{type:Function},customRowStatus:{type:Object,default:null}},Dn=t.defineComponent({name:"FEntitiesTree",props:Pn,emits:["dblclickNode"],setup(e,n){const a=t.ref(e.data),o=t.ref(),l=t.ref();function r(){let h=0;return document.querySelectorAll(".entity-variable .fv-grid-hierarchy-cell").forEach(w=>{w.style.width="auto";const F=w.scrollWidth;F>h&&(h=F)}),h}t.watch(()=>e.data,h=>{var x;a.value=h,(x=o.value)==null||x.updateDataSource(h)});const i={customRowStatus:e.customRowStatus},y=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]);function d({$event:h,node:x}){n.emit("dblclickNode",{$event:h,node:x})}function m(){const h=r();l.value={minWidth:`${h+10}px`}}function g({row:h}){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(ft,{ref:o,fit:!1,rowNumber:{enable:!1},data:a.value,idField:e.idField,columns:y.value,rowOption:i,columnOption:{fitColumns:!0,fitMode:"percentage"},onDblclickNode:d,style:l.value,autoHeight:!0,onExpandNode:g},null)])}}),In=t.defineComponent({name:"entity-variable",props:En,emits:["variableItemDblClick","entityItemDblClick","fieldClick"],setup(e,n){const a=t.ref("dataEntity"),o=t.ref(e.dataSource),{entities:l,variables:r}=o.value,i=t.ref(""),y=t.ref((l==null?void 0:l.fields)||[]),d=(T,E)=>{T.stopPropagation(),n.emit("fieldClick",{$event:T,item:E.raw})},m=(T,E)=>{const R=`${E.raw.name} [${E.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:R,class:"f-utils-fill text-truncate"},[R]),t.createVNode("button",{title:"插入属性名称",class:"btn btn-link d-none",style:"width:24px;height:24px",onClick:W=>d(W,E),onDblclick:W=>W.stopPropagation()},[t.createVNode("span",{class:"f-icon f-icon-new-edit",style:"font-size: 12px;"},null)])])},g=t.ref({}),h=t.ref(),x=t.computed(()=>T=>({"list-group d-flex flex-column":!0,"f-utils-fill":a.value===T,expand:a.value===T,collapse:a.value!==T})),w=t.computed(()=>T=>({"f-icon f-icon-arrow-chevron-up":a.value!==T,"f-icon f-icon-arrow-chevron-down":a.value===T})),F=t.computed(()=>T=>({"functions-type d-flex flex-column":!0,open:g.value[T],closed:!g.value[T]})),S=t.computed(()=>T=>({"f-icon f-icon-arrow-chevron-down":g.value[T],"f-icon f-icon-arrow-chevron-right":!g.value[T]})),p=t.computed(()=>T=>{var E;return{"functions-item pl-2":!0,selected:((E=h.value)==null?void 0:E.key)===T.key}});function s(T,E){T.stopPropagation(),g.value=g.value||{},g.value[E]=!g.value[E]}function u(T,E){T.stopPropagation(),h.value=E}function C(T,E){n.emit("variableItemDblClick",{$event:T,item:E})}function v({$event:T,node:E}){n.emit("entityItemDblClick",{$event:T,item:E.data,entityCode:l==null?void 0:l.entityCode,parentCodes:E.data.parents.join(".")})}function c(){return t.createVNode(Dn,{data:y.value,formatter:m,onDblclickNode:v},null)}function f(){if(r)return t.createVNode("ul",{class:"w-100 functions-list"},[Object.keys(r).map(T=>r[T].visible&&t.createVNode("li",{"variable-type":T,class:F.value(T)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:E=>{s(E,T)}},[t.createVNode("span",{class:S.value(T)},null),r[T].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[r[T].items.map(E=>t.createVNode("li",{class:p.value(E),onClick:R=>u(R,E),onDblclick:R=>C(R,E),title:`${E.name} [${E.key}]`},[E.name]))])]))])}function b(T,E){if(T.stopPropagation(),a.value===E){a.value="";return}a.value=E}t.onMounted(()=>{if(r){const T=Object.keys(r)[0];g.value[T]=!0}});function k(T,E){const R=T.children.map(D=>k(D,E)).filter(D=>D!==null);return T.data.name.toLowerCase().includes(E.toLowerCase())||T.data.bindingPath.toLowerCase().includes(E.toLowerCase())?{data:{...T.data},children:T.children}:R.length>0?{data:{...T.data},children:R}:null}function P(T,E){return T.map(R=>k(R,E)).filter(R=>R!==null)}function I(){const T=P((l==null?void 0:l.fields)||[],i.value);y.value=T}function B(){y.value=(l==null?void 0:l.fields)||[]}function O(T){T.key==="Enter"&&I()}return()=>t.createVNode("div",{class:"f-utils-fill entity-variable"},[t.createVNode("ul",{class:"d-flex flex-column h-100"},[t.createVNode("li",{class:x.value("dataEntity")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:T=>b(T,"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(ge.FButtonEdit,{class:"m-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入名称或编号,按回车查询",modelValue:i.value,"onUpdate:modelValue":T=>i.value=T,onClickButton:I,onClear:B,onKeyup:O},null)]),c()])]),t.createVNode("li",{class:x.value("variables")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:T=>b(T,"variables")},[t.createTextVNode("变量"),t.createVNode("span",{class:w.value("variables")},null)]),t.createVNode("div",{class:"data-area f-utils-fill"},[f()])])])])}}),jn={functionItems:{type:Array,default:[]},singleExpand:{type:Boolean,default:!0}},Ln=t.defineComponent({name:"FExpressionEditor",props:jn,emits:["insertFunction","search"],setup(e,n){const a=t.ref(),o=t.ref(""),l=t.ref(),r=t.ref({}),i=t.ref(""),y="没有与搜索条件匹配的项",d=t.ref(e.functionItems),m=t.computed(()=>c=>e.singleExpand?{"functions-type d-flex flex-column":!0,open:o.value===c,closed:o.value!==c}:{"functions-type d-flex flex-column":!0,open:r.value[c],closed:!r.value[c]}),g=t.computed(()=>c=>e.singleExpand?{"f-icon f-icon-arrow-chevron-down":o.value===c,"f-icon f-icon-arrow-chevron-right":o.value!==c}:{"f-icon f-icon-arrow-chevron-down":r.value[c],"f-icon f-icon-arrow-chevron-right":!r.value[c]}),h=t.computed(()=>c=>{var f;return{"functions-item pl-2":!0,selected:((f=l.value)==null?void 0:f.key)===c.key}}),x=t.ref(Object.keys(d.value));t.watch(()=>e.functionItems,c=>{d.value=c,x.value=Object.keys(d.value),i.value&&(r.value=x.value.reduce((f,b)=>(f[b]=!0,f),{}))});function w(c){c||(c=o.value);const f=a.value.querySelector('li[function-type="'+c+'"] > div.functions-type-name');f&&(a.value.querySelector(".expression-left").scrollTop=0,f.scrollIntoViewIfNeeded?f.scrollIntoViewIfNeeded(!0):f.scrollIntoView({behavior:"smooth",block:"nearest"}))}function F(c){if(e.singleExpand){if(o.value===c){o.value="";return}o.value=c}else r.value=r.value||{},r.value[c]=!r.value[c]}function S(c,f){c.stopPropagation(),l.value=f}function p(c,f){c.stopPropagation(),n.emit("insertFunction",{$event:c,item:f})}t.watch(()=>o.value,(c,f,b)=>{if(c){const k=setTimeout(()=>{w(c)},200);b(()=>clearTimeout(k))}});function s(){n.emit("search",i.value)}function u(){n.emit("search","")}function C(c){c.key==="Enter"&&s()}function v(){return x.value.length?x.value.map(c=>t.createVNode("li",{"function-type":c,class:m.value(c)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:()=>{F(c)}},[t.createVNode("span",{class:g.value(c)},null),d.value[c].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[d.value[c].items.map(f=>{if(f.visible!==!1)return t.createVNode("li",{class:h.value(f),onClick:b=>S(b,f),onDblclick:b=>p(b,f)},[c==="advanced"?f.key:f.name])})])])):t.createVNode("li",{class:"empty-message"},[y])}return t.onMounted(()=>{o.value=x.value[0],r.value=x.value.reduce((c,f)=>(c[f]=o.value===f,c),{})}),()=>t.createVNode("div",{class:"d-flex f-utils-fill flex-column",ref:a},[t.createVNode(K,{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(ge.FButtonEdit,{class:"w-100 mx-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入函数名称,按回车查询",modelValue:i.value,"onUpdate:modelValue":c=>i.value=c,onClickButton:s,onClear:u,onKeyup:C},null)]}),t.createVNode(X,{position:"center","custom-class":"layout-border"},{default:()=>[t.createVNode("ul",{class:"w-100 functions-list",style:"user-select: none"},[v()])]}),t.createVNode(X,{"custom-class":"position-relative",position:"bottom",minHeight:80},{default:()=>{var c;return[t.createVNode("textarea",{title:"函数说明",class:"h-100 w-100 function-remark p-1",disabled:!0},[(c=l.value)==null?void 0:c.description])]}})]})])}});function Rn(e){async function n(){return fetch(e.esprimaPath).then(i=>i.json())}async function a(){if(window.esprima==null){const i=await n(),{path:y}=i;return new Promise((d,m)=>{const g=document.createElement("script");g.type="text/javascript",g.src=y+"?v="+Date.now(),g.onload=d,g.onerror=m,document.head.appendChild(g)})}}function o(i){const y=[],d=window.esprima.tokenize(i);for(let x=0;x<d.length;x++)y.push(d[x].value);const m=[];for(let x=0;x<y.length;x++){const w=i.indexOf(y[x]);w!==-1?m.push(i.substring(0,w)):m.push(""),i=i.slice(w+y[x].length),x===y.length-1&&m.push(i)}const g=[],h=y.length;for(let x=0;x<h;x++)m[x]!==""&&g.push(m[x]),y[x]!==""&&g.push(y[x]),x===h-1&&m[x+1]!==""&&g.push(m[x+1]);return g}function l(i,y="key2name"){const d=new Map;if(!i)return d;let g=Object.values(i).map(h=>h.items).flat();for(;g.length>0;){const h=g.filter(x=>x.name===g[0].name);h.length>1?g.filter(x=>x.name===g[0].name).forEach(x=>{y==="key2name"?d.set(x.key,x.key+"_"+x.name):y==="name2key"&&d.set(x.key+"_"+x.name,x.key)}):y==="key2name"?d.set(h[0].key,h[0].name):y==="name2key"&&d.set(h[0].name,h[0].key),g=g.filter(x=>x.name!==g[0].name)}return d}a();async function r(i){return window.esprima?i():await a().then(()=>i())}return{loadEsprima:a,getTokens:o,getVariableMaps:l,runWithEsprima:r}}function Hn(e,n,a){const o=t.ref(e.disabledFunctions),{getTokens:l,getVariableMaps:r,runWithEsprima:i}=Rn(e);function y(){const p=ne.cloneDeep(n);if(o.value){let s=Object.keys(p);const{types:u,functions:C}=o.value;return u&&u.length&&(s=s.filter(v=>u.includes(v))),C&&C.length&&Object.values(p).forEach(v=>{v.items.forEach(c=>{C.includes(c.name)&&(c.visible=!1)})}),p}return p}function d(p){const s=n.analytical.items.find(u=>u.key==="GetContextParameter");if(s)return s.name+'("'+p.name+'")'}function m(p){if(!p||p.length===0)return"";const s=u=>{switch(u.type){case"string":return`"${u.name}"`;case"list":return`[${u.name}]`;default:return u.name}};return p.map(s).join(",")}function g(p){let s=p.name;return p.type.toLowerCase()!=="advanced"&&(s+="("+m(p.params)+")"),s}function h(p){return p==null?void 0:p.bindingPath}function x(p){if(!p)return"";const s=l(p),u=r(a,"name2key");for(let v=0;v<s.length;v++){let c=0;if(c===0&&u&&s[v].length>2&&s[v][0]==='"'&&s[v][s[v].length-1]==='"'){const f=s[v].substring(1,s[v].length-1);if(u.has(f)&&s[v-1]==="("&&s[v+1]===")"){const b=u.get(f);b!==void 0&&(s[v]=`"${b}"`,c=1)}}if(c===0){const f=Object.values(n).map(b=>b.items).flat();for(let b=0;b<f.length;b++)if(s[v]===f[b].name){s[v]=f[b].keyFront+"."+f[b].key,c=1;break}}}const C=s.join("");return JSON.stringify({expr:C,sexpr:""})}function w(p,s,u,C){let v="";const c=[];for(const f of s)f.keyFront==="Math"&&c.push(f.key);for(let f=0;f<p.length;f++){if(p[f]==="Math"&&p[f+1]==="."&&!c.includes(p[f+2])){v=v+p[f]+p[f+1]+p[f+2],f=f+2;continue}if(C.includes(p[f])&&p[f+1]==="."){f=f+1;continue}else{let b=0;if(b===0&&p[f].length>2&&p[f][0]==='"'&&p[f][p[f].length-1]==='"'){const k=p[f].substring(1,p[f].length-1);if(u.has(k)&&p[f-1]==="("&&p[f+1]===")"){const P=u.get(k);P!==void 0&&(v=v+`"${P}"`,b=1)}}if(b===0){for(let k=0;k<s.length;k++)if(p[f]===s[k].key&&s[k].type.toLowerCase()!=="advanced"){v=v+s[k].name,b=1;break}}b===0&&(v=v+p[f])}}return v}function F(p){if(!p)return"";const s=l(p),u=r(a,"key2name"),C=Object.values(n).map(c=>c.items).flat();return w(s,C,u,["DefaultFunction","Math","DefaultExtendFunctionProxy"])}async function S(p){return await i(()=>F(p))}return{resetFunctionItems:y,getFieldExpression:h,getFunctionExpression:g,getContextVariableExpression:d,getExpressionCodeValue:x,getExpressionTextValue:S}}function zn(e,n){const a=t.ref([]),o=ne.cloneDeep(n.value),l=Object.values(o).map(y=>y.items).flat();function r(y){const d=ne.cloneDeep(o);return Object.keys(d).forEach(m=>{const g=d[m].items.filter(h=>y.includes(h.key));g.length>0?d[m].items=g:delete d[m]}),d}function i(y){if(!y){n.value=o;return}const d=l.filter(m=>m.name.toLowerCase().includes(y.toLowerCase())).map(m=>m.key);n.value=r(d)}return{searchResultList:a,filterFunctions:r,onFunctionSearch:i}}const Ze=t.defineComponent({name:"FExpressionEditor",props:Me,emits:[],setup(e,n){var B;const a=t.ref(),o=t.ref(e.validateMessage),l=t.ref(e.messageType),r=t.ref(e.modelValue),i=t.ref(),y=[{label:"提示",value:"info"},{label:"警告",value:"warning"},{label:"错误",value:"error"}],{getFunctionExpression:d,getContextVariableExpression:m,resetFunctionItems:g,getFieldExpression:h,getExpressionCodeValue:x,getExpressionTextValue:w}=Hn(e,qt,e.variables),F=t.ref(g()),{onFunctionSearch:S}=zn(e,F);function p({$event:O,item:T}){var R;const E=d(T);(R=i.value)==null||R.insertText(E)}function s({$event:O,item:T}){var R;const E=m(T);(R=i.value)==null||R.insertText(E)}function u(O){return O.reduce((T,E)=>{var R;return T.push(E.data),(R=E.children)!=null&&R.length&&T.push(...u(E.children)),T},[])}const C=u(((B=e==null?void 0:e.entities)==null?void 0:B.fields)||[]);function v(O){return O.map(T=>{const E=C.find(R=>R.bindingPath===T);return E&&E.type==="entity"?`${T}[0]`:T}).join(".")}function c({$event:O,item:T,parentCodes:E,entityCode:R}){var N;const W=h(T);E=e.isServerSide?v(T.parents):E;let D=`${E}.${W}`;R===W&&(D=W),(N=i.value)==null||N.insertText(`${D}`)}function f({$event:O,item:T}){var R;const E=h(T);(R=i.value)==null||R.insertText(`${E}`)}function b(){var O;return(O=i.value)==null?void 0:O.getContent()}function k(){var T;const O=(T=i.value)==null?void 0:T.getContent();return{value:x(O),message:o.value,messageType:l.value}}const P=t.ref("");function I(){var O;(O=i.value)==null||O.clearText()}return t.onMounted(async()=>{if(r.value){const O=JSON.parse(r.value),{expr:T}=O;T&&(P.value=await w(T)||"")}}),n.expose({getExpressionContext:b,getExpressionValue:k,resetExpression:I}),()=>t.createVNode("div",{ref:a,class:"h-100 d-flex flex-column f-utils-fill mx-3 expression-editor"},[t.createVNode(K,null,{default:()=>[t.createVNode(X,{position:"left",width:248,minWidth:130},{default:()=>[t.createVNode(Ln,{functionItems:F.value,singleExpand:e.singleExpand,onInsertFunction:p,onSearch:S},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(Je,{modelValue:P.value,"onUpdate:modelValue":O=>P.value=O,ref:i},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:y,modelValue:l.value,"onUpdate:modelValue":O=>l.value=O,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto"},null)]),t.withDirectives(t.createVNode("textarea",{"onUpdate:modelValue":O=>o.value=O,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(In,{dataSource:{entities:e.entities,variables:e.variables},onVariableItemDblClick:s,onEntityItemDblClick:c,onFieldClick:f},null)]})]})])}}),An={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},showAppendButton:{type:Boolean,default:!0},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,default:0},popupOffsetY:{type:Object,default:0},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},$n={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}};function Wn(){const e=t.ref(!1);return t.onMounted(()=>{e.value=!0}),e}const qn=t.defineComponent({name:"FOverlay",props:$n,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),o=t.ref(e.host),l=Wn(),r=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(d){n.emit("click"),d.preventDefault(),d.stopPropagation()}t.computed(()=>{const d=o.value;if(d){const m=d.getBoundingClientRect(),{left:g,top:h,height:x}=m;return{left:g,top:h+x}}return a.value});const y=t.computed(()=>({}));return()=>l.value?t.createVNode(t.Teleport,{to:"body"},{default:()=>{var d,m;return[t.createVNode("div",{class:"overlay-container",onClick:g=>i(g),style:r.value},[t.createVNode("div",{style:y.value},[(m=(d=n.slots).default)==null?void 0:m.call(d)])])]}}):null}});function Yn(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Un(e){const n=document.createElement("div");n.style.display="contents";let a;const o=e.onClickCallback||(()=>{}),l=()=>{o(),a&&a.unmount()};return a=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const r=Yn(e);return()=>t.createVNode(qn,{"popup-content-position":e.popupPosition,host:e.host,onClick:l,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(n),a.mount(n),a}class Gn{static show(n){return Un(n)}}const _n={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},showFloatingClose:{type:Boolean,default:!1},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},openedCallback:{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},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1},useTransform:{type:Boolean,default:!0}};class Y{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 l=parseInt(o[4],10),r=parseInt(o[5],10);return{x:l,y:r}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new Y(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new Y(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 Y(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 Y(0,0);if(window){const o=window.getComputedStyle(n);if(o){const l=parseInt(o.getPropertyValue("left"),10),r=parseInt(o.getPropertyValue("top"),10);a.x=isNaN(l)?0:l,a.y=isNaN(r)?0:r}return a}return null}static copy(n){return new Y(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 Q{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new Q(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 Q(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Xn(e,n){const a=t.ref(),o=t.ref(),l=t.ref(),r=t.ref(),i=t.ref(),y=t.ref(),d=t.ref(),m=t.ref(),g=t.ref(),h=t.ref(),x=t.ref(),w=t.ref(e.resizeable),F=t.ref(),S=t.ref(e.draggable),p=t.ref(!1);function s(){const N=o.value||document.body,V=window.getComputedStyle(N);if(!V||!a.value)return;const j=Y.getTransformInfo(a.value),H={};d.value&&(H.deltaL=a.value.offsetLeft-d.value.x,H.deltaT=a.value.offsetTop-d.value.y);const U=V.getPropertyValue("position");H.width=N.clientWidth,H.height=N.clientHeight,H.pr=parseInt(V.getPropertyValue("padding-right"),10),H.pb=parseInt(V.getPropertyValue("padding-bottom"),10),H.position=V.getPropertyValue("position"),U==="static"&&(N.style.position="relative"),H.translateX=j.x,H.translateY=j.y,h.value=H}function u(N){if(a.value){r.value=Q.getCurrent(a.value),i.value=Y.getCurrent(a.value),y.value=r.value?Q.copy(r.value):null,d.value=i.value?Y.copy(i.value):null,s();const V=N.target.getAttribute("type")||"";m.value={n:!!V.match(/n/),s:!!V.match(/s/),w:!!V.match(/w/),e:!!V.match(/e/)}}}function C(){var N,V,j,H;if(a.value){const U=a.value;m.value&&((m.value.n||m.value.s)&&((N=y.value)!=null&&N.height)&&(U.style.height=y.value.height+"px"),(m.value.w||m.value.e)&&((V=y.value)!=null&&V.width)&&(U.style.width=y.value.width+"px"),d.value&&((j=d.value)!=null&&j.x&&(U.style.left=d.value.x+"px"),(H=d.value)!=null&&H.y&&(U.style.top=d.value.y+"px")))}}function v(){const N=e.minHeight?e.minHeight:1,V=e.minWidth?e.minWidth:1;y.value&&d.value&&m.value&&r.value&&(y.value.height<N&&(y.value.height=N,m.value.n&&i.value&&(d.value.y=i.value.y+(r.value.height-N))),y.value.width<V&&(y.value.width=V,m.value.w&&i.value&&(d.value.x=i.value.x+(r.value.width-V))),e.maxHeight&&y.value.height>e.maxHeight&&(y.value.height=e.maxHeight,i.value&&m.value.n&&(d.value.y=i.value.y+(r.value.height-e.maxHeight))),e.maxWidth&&y.value.width>e.maxWidth&&(y.value.width=e.maxWidth,m.value.w&&i.value&&(d.value.x=i.value.x+(r.value.width-e.maxWidth))))}function c(){if(o.value){const N=h.value;if(d.value&&y.value&&m.value&&r.value){const V=N.width-N.pr-N.deltaL-N.translateX-d.value.x,j=N.height-N.pb-N.deltaT-N.translateY-d.value.y;m.value.n&&d.value.y+N.translateY<0&&i.value&&(d.value.y=-N.translateY,y.value.height=r.value.height+i.value.y+N.translateY),m.value.w&&d.value.x+N.translateX<0&&i.value&&(d.value.x=-N.translateX,y.value.width=r.value.width+i.value.x+N.translateX),y.value.width>V&&(y.value.width=V),y.value.height>j&&(y.value.height=j)}}}function f(N){if(!l.value||!r.value||!i.value||!m.value)return;N.subtract(l.value);const V=N.x,j=N.y;m.value.n?(d.value.y=i.value.y+j,y.value.height=r.value.height-j):m.value.s&&(y.value.height=r.value.height+j),m.value.e?y.value.width=r.value.width+V:m.value.w&&(y.value.width=r.value.width-V,d.value.x=i.value.x+V),c(),v(),C()}function b(N){if(!g.value)return;const V=Y.fromEvent(N);V&&f(V)}function k(){if(a.value){const{width:N,height:V,x:j,y:H}=a.value.getBoundingClientRect(),U=Y.getTransformInfo(a.value);return{size:{width:N,height:V},position:{x:j-U.x,y:H-U.y}}}return null}function P(N){if(a.value){const V=k();x.value=V}l.value=void 0,r.value=null,i.value=null,y.value=null,d.value=null,m.value=null,g.value=null,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",P)}function I(){document.addEventListener("mousemove",b),document.addEventListener("mouseup",P)}function B(N){N instanceof MouseEvent&&N.button===2||S.value&&(document.body.click(),N.stopPropagation(),N.preventDefault(),l.value=Y.fromEvent(N),g.value=N.target,u(N),I())}function O(N){return a.value=N,w.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:V=>B(V)},null)])}function T(N=!0){document.body.click();const V=o.value||document.body,j=Q.getCurrent(V),H=a.value;N&&H&&(F.value=k(),F.value.transform=H.style.transform),j&&H&&(y.value=j,y.value.height-=14,y.value.width-=14,H.style.height=y.value.height+"px",H.style.width=y.value.width+"px",H.style.left="7px",H.style.top="7px",H.style.transform="",x.value={size:y.value,position:{x:0,y:0}},S.value=!1,p.value=!0)}function E(){var N,V;if(document.body.click(),F.value){const j={width:F.value.size.width||0,height:F.value.size.height||0},H={x:(window.innerWidth-j.width)/2,y:(window.innerHeight-j.height)/2};(N=y.value)==null||N.set(j),(V=d.value)==null||V.set(H);const U=a.value;U.style.height=j.height+"px",U.style.width=j.width+"px",U.style.left=`${H.x}px`,U.style.top=`${H.y}px`,U.style.transform="",x.value={size:j,position:H},S.value=e.draggable,p.value=!1}}function R(){if(a.value){const N=Q.getCurrent(a.value);if(N){const{width:V,height:j}=N;a.value.style.left=`${(window.innerWidth-V)/2}px`,a.value.style.top=`${(window.innerHeight-j)/2}px`,a.value.style.transform=""}}}function W(){const N=()=>{p.value?T(!1):R(),document.body.click()};return window.addEventListener("resize",N),()=>{window.removeEventListener("resize",N)}}const D=W();return{renderResizeBar:O,boundingElement:o,resizedEventParam:x,maximize:T,restore:E,allowDrag:S,isMaximized:p,unWindowResizeHandle:D,moveToCenter:R}}function Kn(e,n,a){const o=t.ref(),l=t.ref(e.draggable),r=t.ref(e.lockAxis),i=t.ref(),y=t.ref(),d=t.ref(!1),m=t.ref(new Y(0,0)),g=t.ref(new Y(0,0)),h=t.ref(new Y(0,0)),x=t.ref(new Y(0,0));t.watch(()=>a.value,b=>{i.value.style.cursor=b?"move":"default"});function w(b,k){if(k.tagName==="BUTTON")return!1;if(k===b)return!0;for(const P in k.children)if(Object.prototype.hasOwnProperty.call(k.children,P)&&w(b,k.children[P]))return!0;return!1}function F(){var I,B;let b=h.value.x+g.value.x,k=h.value.y+g.value.y;r.value==="x"?(b=((I=m.value)==null?void 0:I.x)||0,h.value.x=0):r.value==="y"&&(k=((B=m.value)==null?void 0:B.y)||0,h.value.y=0);const P=`translate3d(${Math.round(b)}px, ${Math.round(k)}px, 0px)`;o.value&&(o.value.style.transform=P),x.value.x=b,x.value.y=k}function S(){if(!y.value||!o.value)return null;const b=y.value.getBoundingClientRect(),k=o.value.getBoundingClientRect(),P={top:b.top<k.top,right:b.right>k.right,bottom:b.bottom>k.bottom,left:b.left<k.left};return P.top||(h.value.y-=k.top-b.top),P.bottom||(h.value.y-=k.bottom-b.bottom),P.right||(h.value.x-=k.right-b.right),P.left||(h.value.x-=k.left-b.left),F(),P}function p(b){b&&(m.value&&b.subtract(m.value),h.value.set(b),F(),S())}function s(b){d.value&&l.value&&(b.stopPropagation(),b.preventDefault(),p(Y.fromEvent(b,i.value)))}function u(){var b;if(d.value){if(d.value=!1,g.value.add(h.value),h.value.reset(),(b=o.value)==null||b.classList.remove("ng-dragging"),!e.useTransform&&o.value){const{left:k,top:P}=o.value.getBoundingClientRect();o.value.style.left=Math.ceil(k)+"px",o.value.style.top=Math.ceil(P)+"px",o.value.style.transform="none"}n.emit("stopMove"),document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",u)}}function C(){!d.value&&i.value&&(d.value=!0,i.value.classList.add("ng-dragging"),document.addEventListener("mousemove",s),document.addEventListener("mouseup",u))}function v(){if(o.value){const b=Y.getTransformInfo(o.value);g.value.set(b);return}g.value.reset()}function c(b){if(!a.value||b instanceof MouseEvent&&b.button===2)return;const k=b.target||b.srcElement;i.value!==void 0&&k&&!w(k,i.value)||l.value!==!1&&(document.body.click(),b.stopPropagation(),b.preventDefault(),m.value=Y.fromEvent(b,o.value),v(),C())}function f(b,k,P){if(l.value&&k){if(b)i.value=b;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)i.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const I=k.querySelector(e.dragHandle);I&&(i.value=I)}}o.value=k,y.value=P,i.value?(i.value.classList.add("ng-draggable"),i.value.addEventListener("mousedown",c)):l.value=!1}}return{registerDraggle:f,resetTranslate:v}}function Qe(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 Jn(e,n){const a=t.ref(e.enableEsc);let o=null;return a.value?(o=Qe("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:o}):null}function Zn(e,n){const a=t.ref(e.enableEnter);let o=null;return a.value?(o=Qe("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:o}):null}const re=t.defineComponent({name:"FModal",props:_n,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(e,n){const a=t.ref(e.width||300),o=t.ref(e.height||200),l=t.ref(e.modelValue),r=t.ref(""),i=t.ref(e.class),y=t.ref(e.fitContent),d=t.ref(e.showHeader),m=t.ref(""),g=t.ref(e.showCloseButton),h=t.ref(e.showMaxButton),x=t.ref(!1),w=t.ref(e.dialogType),F=t.ref(e.src),S=t.ref(""),p=t.ref(e.showButtons),s=t.ref(e.title),u=t.ref(e.containment||null),C=t.ref();s.value==="错误提示"&&(s.value=_.LocaleService.getLocaleValue("messageBox.errorTitle"));const v=t.ref(!1);function c(){const M=document.querySelectorAll(".farris-modal").length;(!M||M-1<=0)&&C.value===document.querySelectorAll(".farris-modal")[0]&&document.body.classList.remove("modal-open"),C.value&&C.value.classList.remove("show")}function f(M,L){const $=L?"accept":"cancel";Promise.resolve().then(()=>{var q;return(q=e.beforeClose)==null?void 0:q.call(e,{closeType:$})}).then(q=>{q&&(l.value=!1,n.emit("update:modelValue",!1),L!=null&&n.emit(L?"accept":"cancel"),n.emit("closed",M),c())})}const b=[{name:"cancel",text:_.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:M=>{f(M,!1)}},{name:"accept",text:_.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:M=>{f(M,!0)}}],k=t.ref(e.buttons&&e.buttons.length?e.buttons:b),P=t.computed(()=>!!m.value),I=t.computed(()=>!!p.value&&!!k.value),B=t.ref(),O=t.ref(),T=t.ref(e.maximized||!1),{renderResizeBar:E,maximize:R,restore:W,boundingElement:D,resizedEventParam:N,allowDrag:V,unWindowResizeHandle:j,moveToCenter:H}=Xn(e),{registerDraggle:U}=Kn(e,n,V);function lt(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}t.watch(()=>e.title,(M,L)=>{M!==L&&(s.value=M)}),t.watch(()=>e.modelValue,(M,L)=>{M!==L&&(l.value=M,l.value&&e.draggable&&t.nextTick(()=>{O.value&&!u.value&&(u.value=O.value.parentElement,D.value=u.value,U(B.value,O.value,D.value),H())}),M||(u.value&&(u.value=null),c())),l.value?v.value=lt():(T.value=!1,V.value=e.draggable)}),t.watch(()=>e.showHeader,(M,L)=>{M!==L&&(d.value=M)}),t.watch(()=>e.showButtons,(M,L)=>{M!==L&&(p.value=M)}),t.watch(()=>N.value,(M,L)=>{const $=M||{},q=L||{};JSON.stringify($)!==JSON.stringify(q)&&n.emit("resize",{newSize:M,oldSize:L,isMaximized:T.value})}),t.watch([()=>e.width,()=>e.height],(M,L)=>{(M[0]!==L[0]||M[1]!==L[1])&&(a.value=M[0]||500,o.value=M[1]||600)}),t.watch(()=>e.class,(M,L)=>{i.value=M});const he=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),ha=t.computed(()=>{var $;const M={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!e.showFloatingClose};M["f-modal-fitContent"]=!!y.value,M.show=!!he.value;const L=($=e.maskClass)==null?void 0:$.split(" ");return L==null||L.reduce((q,te)=>(q[te]=!0,q),M),M}),ga=t.computed(()=>{var $;const M={"modal-dialog":!0},L=($=i.value)==null?void 0:$.split(" ");return L==null||L.reduce((q,te)=>(q[te]=!0,q),M),M}),va=()=>A.isMobilePhone()&&!e.isMessager||!!e.fullscreen,ba=t.computed(()=>{const M=document.documentElement.clientWidth,L=document.documentElement.clientHeight;if(T.value)return{position:"fixed",top:"0px",left:"0px",width:"100vw",height:"100vh",margin:"0"};const $=Math.min(a.value,M),q=e.position==="right"?"100%":y.value?"auto":`${Math.min(o.value,L-10)}px`,te=`${(window.innerHeight-(q==="100%"||q==="auto"?0:parseInt(q)))/2}px`,Ra=e.position==="right"?`${window.innerWidth-$}px`:`${(window.innerWidth-$)/2}px`,st={position:"absolute",top:te,left:Ra,width:A.isMobilePhone()?"auto":`${$}px`,height:q};return e.mask||(st.pointerEvents="auto"),st}),it=t.ref(A.getMaxZIndex()||1050),Ca=t.computed(()=>{const M={display:"block",overflow:"hidden"};return e.mask||(M.pointerEvents="none",M.backgroundColor="transparent"),v.value&&(M.backgroundColor="transparent"),M.zIndex=it.value,M}),xa=t.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value,"is-mobile":va()})),ka=t.computed(()=>{const M={display:d.value?"":"none"};return M["pointer-events"]=V.value?"auto":"none",M}),wa=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:T.value})),Fa=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":w.value==="iframe","f-utils-fill":!0}));function Sa(){return{height:`${e.footerHeight||60}px`}}const Ta=t.computed(()=>{const M={textAlgin:S.value},L=Sa();return Object.assign(M,L)});function Se(M){if(M==null||M.stopPropagation(),T.value){T.value=!1,W();return}R(),T.value=!0}async function Na(M,L){M.handle?await M.handle(L,M)&&n.emit("closed",L):n.emit("buttonClick",{button:M,$event:L})}function Ma(M){M.width&&(a.value=M.width),M.height&&(o.value=M.height),M.buttons&&(k.value=M.buttons),M.title&&(s.value=M.title)}let Te=null,Ne=null;t.onBeforeMount(()=>{v.value=lt()}),t.onMounted(()=>{O.value&&!u.value&&(u.value=O.value.parentElement,D.value=u.value,U(B.value,O.value,D.value)),he.value&&document.body.classList.add("modal-open"),Te=Jn(e,n),Ne=Zn(e,n)}),t.onUnmounted(()=>{j&&j(),Te&&Te.remove(),Ne&&Ne.remove()}),n.expose({modalElementRef:O,updateModalOptions:Ma,close:f,maxDialog:Se,isMaximized:T,disableButtons:(M,L=!0)=>{k.value.forEach($=>{$.name&&M.includes($.name)&&($.disabled=L)})}});function Va(){return t.createVNode("div",{class:"action-wrapper",onClick:M=>f(M,!1)},[t.createVNode("span",{class:"close-icon"},[t.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function Oa(){return t.createVNode("ul",null,[x.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),h.value&&t.createVNode("li",{onClick:Se,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:wa.value},null)]),g.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:M=>f(M,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}const Ba=M=>{M.preventDefault();const L=M.currentTarget,$=M.deltaY*.5;L.scrollLeft+=$};function Ea(){return t.createVNode("div",{class:"modal-footer",style:Ta.value},[k.value&&t.createVNode("div",{class:"buttons",onWheel:Ba},[k.value.map(M=>{var q;const L=t.ref(M.disabled),$=M.class||((q=M.appearance)==null?void 0:q.class);return t.createVNode("button",{name:M.name,style:M.styles,type:"button",disabled:L.value,class:$+(M.iconClass?" btn-icontext":"")+(M.visible===!1?"d-none":""),onClick:te=>{Na(M,te)}},[!!M.iconClass&&t.createVNode("i",{class:M.iconClass},null),M.text])})])])}function rt(M){h.value&&Se()}function Pa(){return t.createVNode(t.Fragment,null,[T.value&&t.createVNode("div",{class:"modal-header",style:"position: absolute;background: transparent;height: 45px;width: 100%;",onDblclick:M=>rt()},null),t.createVNode("div",{ref:B,class:"modal-header",style:ka.value,onDblclick:M=>rt()},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[P.value&&t.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[s.value])]),t.createVNode("div",{class:"actions"},[Oa()])])])}function Da(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&Ea()}function Ia(M){if(M.stopPropagation(),e.allowClickMaskToClose){if(M.target!==C.value)return;f(M,!1)}}function ja(){var M,L;return t.createVNode("div",{id:r.value,class:ga.value,style:ba.value,ref:O},[e.showFloatingClose&&Va(),t.createVNode("div",{class:xa.value},[d.value&&Pa(),t.createVNode("div",{class:Fa.value},[(L=(M=n.slots).default)==null?void 0:L.call(M),w.value==="iframe"&&t.createVNode("iframe",{title:r.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:F.value},null)]),Da()]),!y.value&&O.value&&!T.value&&E(O.value)])}function La(M){return M||"body"}return t.watchEffect(()=>{he.value&&(it.value=A.getMaxZIndex()||1050)}),()=>t.createVNode(t.Teleport,{to:La(e.host)},{default:()=>[he.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:C,class:ha.value,style:Ca.value,onClick:Ia},[ja()])]})]})}});function et(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Qn(e){const n=document.createElement("div");n.style.display="contents";const a=e.type||"modal",o=t.createApp({setup(l,r){t.onUnmounted(()=>{document.body.removeChild(n)});const i=t.ref(),y=t.ref(e.class||""),d=t.ref(!0),m=t.ref(e.title||""),g=et(e),h=e.closedCallback||(c=>{}),x=c=>{d.value=!1,o.unmount(),h(c)};if(r.expose({ref:i}),a==="drawer")return()=>t.createVNode(ve,{ref:i,modelValue:d.value,"onUpdate:modelValue":c=>d.value=c,id:"modal-service-drawer",title:m.value,width:e.width,height:e.height,position:e.position,backgroundColor:e.backgroundColor,host:e.host,showMask:e.showMask,allowClickMaskToClose:e.allowClickMaskToClose,transparent:e.transparent,showHeader:e.showHeader,showFooter:e.showButtons,buttons:e.buttons,beforeClose:e.beforeClose,customClass:y.value,onAfterClose:x},{default:()=>[g&&g(o)]});const w=t.ref(!!e.showButtons),F=t.ref(!!e.showHeader),S=t.ref(e.showCloseButton==null?!0:e.showCloseButton),p=t.ref(!!e.showFloatingClose),s=e.acceptCallback||(()=>{}),u=e.rejectCallback||(()=>{}),C=e.resizeHandle||(c=>{}),v=e.stopMoveHandle||(c=>{});return()=>t.createVNode(re,{ref:i,class:y.value,modelValue:d.value,"onUpdate:modelValue":c=>d.value=c,title:m.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":F.value,"show-buttons":w.value,"show-close-button":S.value,"show-max-button":!1,showFloatingClose:p.value,onAccept:s,onCancel:u,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:x,onResize:C,onStopMove:v},{default:()=>[g&&g(o)]})}});return document.body.appendChild(n),o.use(_.LocaleService.i18n),o.mount(n),o}class ea{constructor(n){Z(this,"appContext",null);Z(this,"modalRef",t.ref());Z(this,"activeModalIndex",t.ref(0));Z(this,"modalRefs",{});Z(this,"isUseEscCloseModal",t.ref(!1));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.modalRefs[this.activeModalIndex.value]}adaptToWindow(n,a){const{width:o,height:l}={width:window.innerWidth,height:window.innerHeight};return o<n&&(n=o-14),l<a&&(a=l-14),{width:n,height:a}}static show(n){const a=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return Qn(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(),o=n.type||"modal";n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const l=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0,maximized:!1},n)),r=t.ref(!0),i=et(l.value),y=l.value.closedCallback||((s,u)=>{}),d=l.value.openedCallback||(s=>{});let m;const g=s=>{var C;r.value=!1;const u=(C=s==null?void 0:s.target)==null?void 0:C.classList.contains("modal_close");y(s,this.isUseEscCloseModal.value?"esc":u?"icon":"button")},h=s=>{g(s),m&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),m=null,this.modalRef.value=null,this.modalRefs){const u=Object.keys(this.modalRefs).map(C=>Number(C));u.length>0?this.activeModalIndex.value=Math.max(...u):this.activeModalIndex.value=0,this.modalRefs[this.activeModalIndex.value]&&(this.modalRef.value=this.modalRefs[this.activeModalIndex.value])}this.isUseEscCloseModal.value=!1})},x=t.ref();let w;if(o==="drawer")w=()=>t.createVNode(ve,t.mergeProps({ref:x,modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,id:"modal-service-drawer"},l.value,{onAfterClose:h}),{default:()=>[i&&i(this.app)]});else{const s=l.value.acceptCallback||(()=>{}),u=l.value.rejectCallback||(()=>{}),C=l.value.resizeHandle||(P=>{}),v=n.stopMoveHandle||(P=>{}),c=P=>{var I;this.isUseEscCloseModal.value=!0,(I=this.getCurrentModal())==null||I.close(P==null?void 0:P.event)},{width:f,height:b}=l.value,k=this.adaptToWindow(Number(f)||500,Number(b)||320);Object.assign(l.value,k),w=()=>t.createVNode(re,t.mergeProps({ref:x,modelValue:r.value,"onUpdate:modelValue":P=>r.value=P},l.value,{isMessager:l.value.class&&l.value.class.indexOf("modal-message")>-1,onAccept:s,onCancel:u,onClosed:h,onResize:C,onEsc:c,onStopMove:v,maximized:l.value.maximized}),{default:()=>[i&&i(this.app)]})}m=(s=>{const u=t.h(w,s);return u.appContext=this.appContext,t.render(u,a),u})({...l.value}),this.activeModalIndex.value++;const S=this.activeModalIndex.value;this.modalRefs[S]=x.value;const p=s=>{l.value={...l.value,...s},m&&t.render(t.cloneVNode(m,{...l}),a)};return t.nextTick(()=>{this.modalRefs[S]=x.value,this.modalRef.value=x.value,d(new Event("opened"))}),{update:p,destroy:h,modalRef:x,close:()=>{var s;(s=x.value)==null||s.close()},disableButtons:(s,u=!0)=>{var C,v;(v=(C=x.value)==null?void 0:C.disableButtons)==null||v.call(C,s,u)}}}}const tt=Symbol("FModalService");re.install=e=>{e.component(re.name,re);const n=new ea(e);e.provide(tt,n),e.provide("FModalService",n)};function nt(e,n){function a(){const o=e.beforeOpen||e.beforeClickButton||null;let l=Promise.resolve(!0);if(o){const r=o(n.value);if(typeof r>"u")return l;typeof r=="boolean"?l=Promise.resolve(r):l=r}return l}return{judgeCanOpen:a}}function ta(e,n,a,o,l){const r=t.ref(e.buttonBehavior),i=t.ref(e.popupOnInput),y=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:d}=nt(e,l),m=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),g=t.inject(tt,null),h=t.ref();async function x(S){if(await d()&&m.value){const p=!!n.slots.default;if(r.value==="Modal"){const s=e.modalOptions,u=g==null?void 0:g.open({...s,render:()=>n.slots.default&&n.slots.default()});h.value=u==null?void 0:u.modalRef}r.value==="Overlay"&&Gn.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),p&&r.value==="Popup"&&o.togglePopup(!0),p&&i.value&&o.hidePopup(),n.emit("clickButton",{origin:S,value:e.modelValue})}}function w(S){n.emit("mouseEnterIcon",S)}function F(S){n.emit("mouseLeaveIcon",S)}return{buttonGroupClass:y,onClickButton:x,onMouseEnterButton:w,onMouseLeaveButton:F,modalRef:h}}function na(e,n,a,o,l,r){const i=t.ref(!1),y=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable&&!A.isMobilePhone()),{changeTextBoxValue:d,hasClearClass:m}=r,g=t.ref(!1);function h(p){i.value=p,m.value=p}const x=t.computed(()=>y.value&&!!(l!=null&&l.value)&&g.value);t.watch(l,()=>{h(x.value)});function w(p){const s=!e.readonly&&!e.disable&&e.editable,u=!e.editable;p==null||p.stopPropagation(),(s||u)&&(d(""),l.value="",h(!i.value),n.emit("clear"))}function F(p){if(g.value=!0,!!y.value){if(!a.value){h(!1);return}!e.disable&&!e.readonly&&h(!0)}}function S(p){g.value=!1,y.value&&h(!1)}return{enableClearButton:y,showClearButton:i,onClearValue:w,onMouseEnterTextBox:F,onMouseLeaveTextBox:S}}function aa(e,n,a,o,l){const r=t.computed(()=>e.popupOnInput),i=t.computed(()=>e.popupOnFocus),{shouldPopupContent:y,closeAllPopover:d}=l,m=t.ref(!1),g=t.computed(()=>e.enableTitle?a.value:""),h=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),x=t.computed(()=>e.readonly||!e.editable||A.isMobilePhone()),w=t.ref(!1),F=t.computed(()=>!e.disable&&w.value),S=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),p=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":F.value,"input-group--has-clear":e.enableClear&&m.value}));function s(B,O=!0){a.value=B,O&&(n.emit("change",B),n.emit("update:modelValue",B))}function u(B){y.value=!1,s(B,!0)}t.watch(()=>e.modelValue,B=>{a.value=B});function C(B){w.value=!1,n.emit("blur",B),B.stopPropagation()}function v(B){n.emit("click",B),d(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function c(B){!e.disable&&!e.readonly&&(w.value=!0,x.value||(n.emit("focus",B),i.value&&!y.value&&l.popup()))}function f(B){n.emit("input",B);const O=B.target.value;o.value=O,a.value!==O&&s(O,e.updateOn==="change"),r.value&&!y.value&&l.popup()}function b(B){B.target.tagName!=="INPUT"&&B.preventDefault(),B.stopPropagation()}function k(B){n.emit("keydown",B)}function P(B){B.key==="Enter"&&(r.value||i.value)&&l.hidePopup(),n.emit("keyup",B)}function I(B){const O=B.target.value;B.stopPropagation(),s(O)}return{hasFocusedTextBox:F,isTextBoxReadonly:x,textBoxClass:S,textBoxPlaceholder:h,textBoxTitle:g,inputGroupClass:p,hasClearClass:m,changeTextBoxValue:s,commitValue:u,onBlurTextBox:C,onClickTextBox:v,onFocusTextBox:c,onInput:f,onKeyDownTextBox:k,onKeyUpTextBox:P,onMouseDownTextBox:b,onTextBoxValueChange:I}}const ee="FarrisVue_PopoverInstancesKey";function oa(e,n,a,o){const l=t.ref(),r=t.ref(!1),{judgeCanOpen:i}=nt(e,o);t.watch(()=>l.value,(w,F)=>{window[ee]=window[ee]||new WeakMap,w?window[ee].set(a.value,w):window[ee].delete(a.value)});function y(){if(window[ee]){const w=window[ee];document.querySelectorAll(".f-button-edit,.v-popover").forEach(F=>{const S=w.get(F);S&&F!==a.value&&!a.value.closest(".popover-fitcontent")&&S.hide()})}}function d(){const w=l.value;w&&(w.show?w.show(a.value):w.open&&w.open(a.value))}async function m(w=!1){if(!!n.slots.default){if(!w&&!r.value&&!await i())return;r.value=!r.value,r.value&&(await t.nextTick(),d())}}async function g(w=!1){if(!!n.slots.default){if(!w&&!await i())return;r.value=!0,await t.nextTick(),d()}}function h(){r.value=!1}function x(){r.value=!0,t.nextTick(()=>{d()})}return{hidePopup:h,showPopup:x,popup:g,shouldPopupContent:r,togglePopup:m,popoverRef:l,closeAllPopover:y}}function la(e,n,a){const o=t.ref(),{isTextBoxReadonly:l,textBoxClass:r,textBoxPlaceholder:i,textBoxTitle:y,onBlurTextBox:d,onClickTextBox:m,onFocusTextBox:g,onInput:h,onKeyDownTextBox:x,onKeyUpTextBox:w,onMouseDownTextBox:F,onTextBoxValueChange:S}=a,p=t.ref(e.id),{uuid:s}=A.useGuid(),u=t.computed(()=>({}));t.onMounted(()=>{var b,k;e.selectOnCreated&&((b=o.value)==null||b.select()),e.focusOnCreated&&((k=o.value)==null||k.focus({preventScroll:!0})),p.value||(p.value="button-edit_"+s(8)),p.value=p.value+"-textbox"});const C=t.ref(!1),v=b=>{b.preventDefault(),C.value=!0},c=b=>{b.preventDefault(),C.value=!1,h(b)};function f(b){C.value||h(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:r.value,style:u.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:i.value,readonly:l.value,tabindex:e.tabIndex,title:y.value,type:e.inputType,value:n.value,onBlur:d,onChange:S,onClick:m,onFocus:g,onInput:f,onKeydown:x,onKeyup:w,onMousedown:F,onCompositionend:c,onCompositionstart:v},null)}function ia(e,n,a){const o=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:r,onFocusTextBox:i,onBlurTextBox:y,onClickTextBox:d,textBoxPlaceholder:m}=a,g=t.computed(()=>n.value?n.value.split(o.value).map(F=>({name:F,selectable:!0})):[]);function h(F){r(F.map(S=>S.name).join(o.value),!0)}t.watch(()=>e.separator,F=>{o.value=F});const x=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([F,S],[p,s])=>{x.value=!F&&!S});function w(F){d(F)}return()=>t.createVNode(mt,{tabindex:e.tabIndex,onFocus:i,onBlur:y,id:`${e.id}-tag-editor`,class:"form-control",placeholder:m.value,data:g.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:h,onClick:w},null)}function ra(e,n,a,o){const{buttonGroupClass:l,onClickButton:r,onMouseEnterButton:i,onMouseLeaveButton:y}=a,{enableClearButton:d,showClearButton:m,onClearValue:g}=o,h=t.ref(),x=ne.debounce(S=>{r(S)},e.buttonBehavior==="Modal"?0:200),w=()=>{n.emit("beforeClearValue")},{renderExpandContent:F}=yt.useInputExpand(e,n);return{renderButtonGroup:()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:l.value},[d.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:g,onMousedown:w},[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:x,onMouseenter:i,onMouseleave:y},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:h,onClick:S=>x(S),onMouseenter:i,onMouseleave:y},null):null]),F()]),buttonHandleElement:h}}function sa(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:r}=a,i=()=>{n.emit("shown")},y=()=>{l(),n.emit("hidden")};return()=>A.isMobilePhone()?t.createVNode(ve,{id:`${e.id}-drawer`,ref:r,position:e.placement,width:"auto",height:"auto",host:e.popupHost,showHeader:!1,showFooter:!1,customClass:"f-drawer--no-padding","onUpdate:modelValue":d=>d?i():y()},{default:()=>{var d,m;return[t.createTextVNode(" "),(m=(d=n.slots).default)==null?void 0:m.call(d),t.createTextVNode(" ")]}}):t.createVNode(pt,{id:`${e.id}-popover`,ref:r,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,offsetY:e.popupOffsetY,onHidden:y,onShown:i,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var d,m;return[(m=(d=n.slots).default)==null?void 0:m.call(d)]}})}const ca=t.defineComponent({name:"FButtonEdit",props:An,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","expandClick","hidden","shown"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),l=t.ref(e.modelValue),r=oa(e,n,a,l),{shouldPopupContent:i,hidePopup:y,showPopup:d,togglePopup:m}=r,g=ta(e,n,a,r,l),h=t.ref(""),x=aa(e,n,l,h,r),{hasFocusedTextBox:w,commitValue:F,inputGroupClass:S,changeTextBoxValue:p}=x,s=na(e,n,l,w,h,x),{onMouseEnterTextBox:u,onMouseLeaveTextBox:C}=s,v=t.ref(!1),c=t.computed(()=>{const N={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce((V,j)=>(V[j]=!0,V),N),N}),f=t.computed(()=>({overflow:e.wrapText?"hidden":""})),b=t.computed(()=>({})),k=t.ref(e.showAppendButton);function P(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let N=0;const V=Array.from(a.value.querySelectorAll(".farris-tag-item"));return V&&V.length&&(N=V.map(j=>j.offsetTop).filter(j=>j>20).length),N}const I=t.ref(P());t.onUpdated(()=>{I.value=P()});function B(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[ia(e,l,x)(),!!I.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("+"),I.value])])]):la(e,l,x)}let O=B();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{O=B()});const{renderButtonGroup:T,buttonHandleElement:E}=ra(e,n,g,s),R=sa(e,n,r),W=t.ref(i.value),D={displayText:h,commitValue:F,elementRef:a,hidePopup:y,showPopup:d,popoverRef:r.popoverRef,shouldPopupContent:i,togglePopup:m,openDialog:()=>{E.value&&e.buttonBehavior==="Modal"&&E.value.click(),n.slots.content&&ne.debounce(()=>{g.onClickButton(null)},e.buttonBehavior==="Modal"?0:200)()},getModal:()=>{var N;return e.buttonBehavior==="Modal"?(N=g.modalRef.value)==null?void 0:N.value:null},getTextbox:()=>{var N;return(N=a.value)==null?void 0:N.querySelector("input")},forceClosePopup:()=>{W.value=!1,v.value=!0,i.value=!1},clear:()=>{p(""),h.value=""},setText:N=>{p(N,!1),h.value=N}};return t.onMounted(()=>{a.value.componentInstance=D,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var N;window.onresize=null,(N=window[ee])==null||N.delete(a.value)}),n.expose(D),t.watch(()=>i.value,async(N,V)=>{if(v.value){W.value=N,v.value=!1;return}if(!N&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const j=await e.beforeClosePopup();W.value=!j,(!j||e.readonly)&&(i.value=!0)}catch(j){console.error("Error in beforeClosePopup:",j),W.value=V,i.value=V}return}W.value=N}),()=>{var N,V;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:c.value,id:e.id?e.id:void 0,style:f.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:S.value,style:b.value,onMouseenter:u,onMouseleave:C},[(V=(N=n.slots).precontent)==null?void 0:V.call(N),n.slots.content?n.slots.content():O(),n.slots.content?null:k.value&&T()])]),W.value&&R()])}}}),ua={$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"]},at={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}},da=G.createPropsResolver(at,ua),fa={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}},ma={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Fe=t.defineComponent({name:"Toast",props:ma,emits:["close","click"],setup:(e,n)=>{const a=t.ref(e.animate),o="fadeOut",l=t.computed(()=>e.options),r=t.ref(!1),i=t.computed(()=>l.value.title&&l.value.message),y=t.computed(()=>!l.value.title&&l.value.message),d=t.computed(()=>{const u={animated:r.value,toast:!0,"toast--only-content":!i.value};return u[e.animate]=!1,u[o]=r.value,u["toasty-type-"+l.value.type]=!0,l.value.theme&&(u[l.value.theme]=!0),u}),m=t.computed(()=>{const v=`f-icon-${l.value&&l.value.type?l.value.type.replace("toasty-type-",""):"default"}`,c={"f-icon":!0};return c[v]=!0,c}),g=t.computed(()=>l.value.title||l.value.message),h=t.computed(()=>e.showCloseButton),x=t.computed(()=>!!l.value.buttons||!!n.slots.default),w=t.computed(()=>_.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function F(u){u.stopPropagation(),u.preventDefault(),r.value=!1,setTimeout(()=>{n.emit("close",l.value)},200)}function S(u,C){}function p(u){return`f-preten-link ${u.customClass?u.customClass:""}`}t.watch(a,()=>{a.value});const s=()=>{var u;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((u=l.value.buttons)==null?void 0:u.map(C=>t.createVNode("span",{class:p(C),onClick:v=>void 0},[C.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:d.value,style:"min-height:44px"},[h.value&&t.createVNode("button",{title:_.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:F},[t.createVNode("span",{class:"f-icon modal_close"},null)]),g.value&&t.createVNode("section",{class:"modal-tips"},[!i.value&&t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:m.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[i.value&&t.createVNode(t.Fragment,null,[t.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:l.value.title},null),t.createVNode("p",{class:"toast-msg",innerHTML:l.value.message,style:w.value},null),x.value&&s()]),y.value&&(l.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:l.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[s()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:w.value,innerHTML:l.value.message},null))])])])}}),ye=t.defineComponent({name:"Notify",props:fa,emits:["close","empty"],setup(e,n){var S;const a=ue(),l=`farris-notify-${(S=e.options)!=null&&S.type?e.options.type:"info"}}`,r=t.computed(()=>({"farris-notify":!0,[l]:a})),i={left:12,right:12,top:20,bottom:12},y=t.ref(),d=t.ref(e.options),m=t.ref(e.showCloseButton),g=t.computed(()=>e.position||"bottom-right"),h=t.computed(()=>e.timeout!=null?e.timeout:3e3),x=t.computed(()=>{const p=e.bottom?e.bottom:i.bottom,s=e.top?e.top:i.top,u={transition:"all 0.2s ease",left:g.value.indexOf("left")>-1?`${e.left?e.left:i.left}px`:"",right:g.value.indexOf("right")>-1?`${e.right?e.right:i.right}px`:"",top:g.value.indexOf("top")>-1?`${s}px`:"",bottom:g.value.indexOf("bottom")>-1?`${p}px`:""};return g.value.indexOf("center")>-1&&(u.left="50%",u.marginLeft="calc(-24rem / 2)",g.value==="center-center"&&(u.top="50%",u.transform="translate(-50%, -50%)")),u});function w(p){n.emit("close")}h.value&&setTimeout(()=>{w()},h.value),n.expose({closeToast:w,container:y,notifyPosition:g});function F(p,s){w()}return()=>{var p;return a?t.createVNode("div",{class:r.value,ref:y},[(p=e.options)==null?void 0:p.message]):t.createVNode("div",{class:r.value,style:x.value,ref:y},[t.createVNode(Fe,{options:d.value,showCloseButton:m.value,animate:e.animate,onClose:s=>F(s,d.value)},null)])}}});class ya{constructor(){Z(this,"notifyRefs",[]);Z(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,l=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),r=document.createElement("div");r.style.display="contents";const i=t.createApp({setup(){var m;const y=t.ref();function d(){y.value.container.style.transform="scale(0)",setTimeout(()=>{a.updateNotifyPositionForClose(l,y),i.unmount()},220)}if(l.position.indexOf("top")>-1){const g=a.getNotifyInstances(l.position),h=g[g.length-1];if(h){const x=h.value.container.getBoundingClientRect();l.top=x.bottom}}return l.safeHtml&&((m=l.options)!=null&&m.message)&&(l.options.message=a.escapeAllHtml(l.options.message)),t.onUnmounted(()=>{document.body.removeChild(r)}),t.onMounted(()=>{a.updateNotifyPositionForCreate(l,y)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(ye,t.mergeProps({ref:y},l,{onClose:d}),null)]})}});return i.provide("NotifyService",this),document.body.appendChild(r),i.use(_.LocaleService.i18n),i.mount(r),i}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(l=>{const r=l.value.container.getBoundingClientRect();l.value.container.style.bottom=r.height+o-r.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,a]}updateNotifyPositionForClose(n,a){const o=this.notifyRefs.indexOf(a);if(n.position.indexOf("top")>-1){const l=this.getNotifyInstances(n.position),r=l.indexOf(a);l.slice(r+1).forEach(i=>{i.value.container.style.top=i.value.container.offsetTop-i.value.container.offsetHeight+"px"})}o>-1&&this.notifyRefs.splice(o,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,a){let o="",l="",r,i,y;typeof a=="string"?o=a:a&&(o=a.message||"",l=a.title||"",i=a.position||null,y=a.showCloseButton!=null?a.showCloseButton:null,r=a.timeout!=null?a.timeout:null);const m={options:{type:n,message:o,title:l}};return i!=null&&(m.position=i),y!=null&&(m.showCloseButton=y),r!=null&&(m.timeout=r),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 ot=Symbol("NOTIFY_SERVICE_TOKEN");ye.install=e=>{e.component(ye.name,ye),e.component(Fe.name,Fe);const n=new ya;e.provide(ot,n),e.provide("FNotifyService",n)};const pe=t.defineComponent({name:"f-expression-textbox",props:at,setup(e,n){const a=t.inject(ot),o=t.inject("FLoadingService"),l='<i class="f-icon f-icon-lookup"></i>',r=t.ref(e.modelValue),i=t.ref(e.entities),y=t.ref(e.variables),d=t.ref(),m=t.ref(e.validateMessage||""),g=t.ref("info");async function h(){const{value:S,message:p,messageType:s}=d.value.getExpressionValue();if(m.value=p,g.value=s,e.beforeSubmit&&typeof e.beforeSubmit=="function"){const u=await e.beforeSubmit({notifyService:a,expressionValue:S});if(typeof u=="boolean"&&!u)return!1;if(typeof u=="object"){const{canClose:C,message:v}=u;if(!C)return v&&(a==null||a.error({message:v})),!1}}if(n.emit("update:modelValue",S),r.value=S,e.onSubmitModal){const u={expression:S,message:p};e.showMessageType&&(u.messageType=g.value);const C=e.onSubmitModal(u);e.onExpressionChanged&&e.onExpressionChanged(C)}return!0}const x={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:S=>{var p;return(p=d.value)==null||p.resetExpression(),!1}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:S=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:async S=>await h()}]};async function w(){if(e.beforeOpen)try{o==null||o.show();const S=await e.beforeOpen({notifyService:a});if(S)return i.value=S.entities||{},y.value=S.variables||{},m.value=S.message||"",g.value=S.messageType||"info",o==null||o.clearAll(),!0}catch{return a==null||a.error({message:"获取数据失败!"}),!1}finally{o==null||o.clearAll()}return!0}function F(){if(n.emit("update:modelValue",""),r.value="",e.onSubmitModal){const S=e.onSubmitModal({expression:"",message:""});e.onExpressionChanged&&e.onExpressionChanged(S)}}return t.watch(()=>e.modelValue,S=>{r.value=S}),()=>t.createVNode(ca,{editable:!1,enableTitle:!0,modelValue:r.value,"onUpdate:modelValue":S=>r.value=S,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:l,buttonBehavior:"Modal",modalOptions:x,beforeOpen:w,onClear:F},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode(Ze,{ref:d,validateMessage:m.value,showMessageType:e.showMessageType,messageType:g.value,modelValue:r.value,"onUpdate:modelValue":S=>r.value=S,esprimaPath:e.esprimaPath,showMessage:e.showMessage,entities:i.value,variables:y.value,disabledFunctions:e.disabledFunctions,showDataPanel:e.showDataPanel,singleExpand:e.singleExpand,isServerSide:e.isServerSide},null)])]})}}),pa={install(e){e.component(pe.name,pe)},register(e,n,a,o){e["expression-editor"]=pe,n["expression-editor"]=da}};z.ExpressCodeEditor=Je,z.ExpressionEditor=Ze,z.FExpressionTextbox=pe,z.default=pa,z.expressionEditorProps=Me,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
427
|
+
`},Ge=hn(Cn)(Ue),xn={config:vn},kn=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return function(l){return a.reduceRight(function(r,i){return i(r)},l)}};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]))}),$e($e({},e),n)}var wn={type:"cancelation",msg:"operation is manually canceled"};function xe(e){var n=!1,a=new Promise(function(o,l){e.then(function(r){return n?l(wn):o(r)}),e.catch(l)});return a.cancel=function(){return n=!0},a}var Fn=yn.create({config:pn,isInitialized:!1,resolve:null,reject:null,monaco:null}),Xe=_t(Fn,2),ie=Xe[0],me=Xe[1];function Sn(e){var n=xn.config(e),a=n.monaco,o=Gt(n,["monaco"]);me(function(l){return{config:_e(l.config,o),monaco:a}})}function Tn(){var e=ie(function(n){var a=n.monaco,o=n.isInitialized,l=n.resolve;return{monaco:a,isInitialized:o,resolve:l}});if(!e.isInitialized){if(me({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),xe(ke);if(window.monaco&&window.monaco.editor)return Ke(window.monaco),e.resolve(window.monaco),xe(ke);kn(Nn,Vn)(On)}return xe(ke)}function Nn(e){return document.body.appendChild(e)}function Mn(e){var n=document.createElement("script");return e&&(n.src=e),n}function Vn(e){var n=ie(function(o){var l=o.config,r=o.reject;return{config:l,reject:r}}),a=Mn("".concat(n.config.paths.vs,"/loader.js"));return a.onload=function(){return e()},a.onerror=n.reject,a}function On(){var e=ie(function(a){var o=a.config,l=a.resolve,r=a.reject;return{config:o,resolve:l,reject:r}}),n=window.require;n.config(e.config),n(["vs/editor/editor.main"],function(a){Ke(a),e.resolve(a)},function(a){e.reject(a)})}function Ke(e){ie().monaco||me({monaco:e})}function Bn(){return ie(function(e){var n=e.monaco;return n})}var ke=new Promise(function(e,n){return me({resolve:e,reject:n})}),we={config:Sn,init:Tn,__getMonacoInstance:Bn};const Je=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"},lineNumbers:{type:String,default:"on"}},emits:["valueChanged"],setup(e,n){const a=t.ref(),o=t.ref();let l=null;const r=t.ref(e.modelValue);async function i(){return fetch(e.configPath).then(F=>F.json())}async function y(){if(a.value&&!l){const F=await i(),{vsPath:S}=F;we.config({paths:{vs:window.location.origin+S}}),we.config({"vs/nls":{availableLanguages:{"*":"zh-cn"}}}),we.init().then(p=>{o.value=p,l=p.editor.create(a.value,{value:r.value,automaticLayout:!0,language:e.language,theme:e.theme,folding:!0,readOnly:e.readOnly,minimap:{enabled:!1},lineNumbers:e.lineNumbers||"on",lineNumbersMinChars:3,overviewRulerLanes:0,fixedOverflowWidgets:!1,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}}),l.onDidBlurEditorWidget(()=>{const s=l.getValue();n.emit("valueChanged",s)})})}}t.watch(()=>e.modelValue,F=>{r.value=F,l==null||l.setValue(F)});const d=t.ref(),m=new ResizeObserver(F=>{l==null||l.layout();const{width:S,height:p}=F[0].contentRect;d.value={width:`${S-1}px`,height:`${p}px`}});function g(){return l==null?void 0:l.getValue()}function h(F){const S=l.getSelection(),p=new o.value.Range(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn);l.executeEdits("insert-text",[{range:p,text:F,forceMoveMarkers:!0}])}t.onMounted(()=>{y(),a.value&&m.observe(a.value.parentElement)}),t.onBeforeUnmount(()=>{l&&l.dispose(),m&&a.value&&(m.unobserve(a.value),m.disconnect())});function x(F){l.setValue(F)}function w(){x("")}return n.expose({getContent:g,insertText:h,clearText:w,setContent:x}),()=>t.createVNode("div",{class:"expression-code-editor",style:d.value,ref:a},null)}}),En={dataSource:{type:Object,default:{}}},Pn={data:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},formatter:{type:Function},customRowStatus:{type:Object,default:null}},Dn=t.defineComponent({name:"FEntitiesTree",props:Pn,emits:["dblclickNode"],setup(e,n){const a=t.ref(e.data),o=t.ref(),l=t.ref();function r(){let h=0;return document.querySelectorAll(".entity-variable .fv-grid-hierarchy-cell").forEach(w=>{w.style.width="auto";const F=w.scrollWidth;F>h&&(h=F)}),h}t.watch(()=>e.data,h=>{var x;a.value=h,(x=o.value)==null||x.updateDataSource(h)});const i={customRowStatus:e.customRowStatus},y=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]);function d({$event:h,node:x}){n.emit("dblclickNode",{$event:h,node:x})}function m(){const h=r();l.value={minWidth:`${h+10}px`}}function g({row:h}){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(ft,{ref:o,fit:!1,rowNumber:{enable:!1},data:a.value,idField:e.idField,columns:y.value,rowOption:i,columnOption:{fitColumns:!0,fitMode:"percentage"},onDblclickNode:d,style:l.value,autoHeight:!0,onExpandNode:g},null)])}}),In=t.defineComponent({name:"entity-variable",props:En,emits:["variableItemDblClick","entityItemDblClick","fieldClick"],setup(e,n){const a=t.ref("dataEntity"),o=t.ref(e.dataSource),{entities:l,variables:r}=o.value,i=t.ref(""),y=t.ref((l==null?void 0:l.fields)||[]),d=(T,E)=>{T.stopPropagation(),n.emit("fieldClick",{$event:T,item:E.raw})},m=(T,E)=>{const R=`${E.raw.name} [${E.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:R,class:"f-utils-fill text-truncate"},[R]),t.createVNode("button",{title:"插入属性名称",class:"btn btn-link d-none",style:"width:24px;height:24px",onClick:W=>d(W,E),onDblclick:W=>W.stopPropagation()},[t.createVNode("span",{class:"f-icon f-icon-new-edit",style:"font-size: 12px;"},null)])])},g=t.ref({}),h=t.ref(),x=t.computed(()=>T=>({"list-group d-flex flex-column":!0,"f-utils-fill":a.value===T,expand:a.value===T,collapse:a.value!==T})),w=t.computed(()=>T=>({"f-icon f-icon-arrow-chevron-up":a.value!==T,"f-icon f-icon-arrow-chevron-down":a.value===T})),F=t.computed(()=>T=>({"functions-type d-flex flex-column":!0,open:g.value[T],closed:!g.value[T]})),S=t.computed(()=>T=>({"f-icon f-icon-arrow-chevron-down":g.value[T],"f-icon f-icon-arrow-chevron-right":!g.value[T]})),p=t.computed(()=>T=>{var E;return{"functions-item pl-2":!0,selected:((E=h.value)==null?void 0:E.key)===T.key}});function s(T,E){T.stopPropagation(),g.value=g.value||{},g.value[E]=!g.value[E]}function u(T,E){T.stopPropagation(),h.value=E}function C(T,E){n.emit("variableItemDblClick",{$event:T,item:E})}function v({$event:T,node:E}){n.emit("entityItemDblClick",{$event:T,item:E.data,entityCode:l==null?void 0:l.entityCode,parentCodes:E.data.parents.join(".")})}function c(){return t.createVNode(Dn,{data:y.value,formatter:m,onDblclickNode:v},null)}function f(){if(r)return t.createVNode("ul",{class:"w-100 functions-list"},[Object.keys(r).map(T=>r[T].visible&&t.createVNode("li",{"variable-type":T,class:F.value(T)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:E=>{s(E,T)}},[t.createVNode("span",{class:S.value(T)},null),r[T].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[r[T].items.map(E=>t.createVNode("li",{class:p.value(E),onClick:R=>u(R,E),onDblclick:R=>C(R,E),title:`${E.name} [${E.key}]`},[E.name]))])]))])}function b(T,E){if(T.stopPropagation(),a.value===E){a.value="";return}a.value=E}t.onMounted(()=>{if(r){const T=Object.keys(r)[0];g.value[T]=!0}});function k(T,E){const R=T.children.map(D=>k(D,E)).filter(D=>D!==null);return T.data.name.toLowerCase().includes(E.toLowerCase())||T.data.bindingPath.toLowerCase().includes(E.toLowerCase())?{data:{...T.data},children:T.children}:R.length>0?{data:{...T.data},children:R}:null}function P(T,E){return T.map(R=>k(R,E)).filter(R=>R!==null)}function I(){const T=P((l==null?void 0:l.fields)||[],i.value);y.value=T}function B(){y.value=(l==null?void 0:l.fields)||[]}function O(T){T.key==="Enter"&&I()}return()=>t.createVNode("div",{class:"f-utils-fill entity-variable"},[t.createVNode("ul",{class:"d-flex flex-column h-100"},[t.createVNode("li",{class:x.value("dataEntity")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:T=>b(T,"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(ge.FButtonEdit,{class:"m-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入名称或编号,按回车查询",modelValue:i.value,"onUpdate:modelValue":T=>i.value=T,onClickButton:I,onClear:B,onKeyup:O},null)]),c()])]),t.createVNode("li",{class:x.value("variables")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:T=>b(T,"variables")},[t.createTextVNode("变量"),t.createVNode("span",{class:w.value("variables")},null)]),t.createVNode("div",{class:"data-area f-utils-fill"},[f()])])])])}}),jn={functionItems:{type:Array,default:[]},singleExpand:{type:Boolean,default:!0}},Ln=t.defineComponent({name:"FExpressionEditor",props:jn,emits:["insertFunction","search"],setup(e,n){const a=t.ref(),o=t.ref(""),l=t.ref(),r=t.ref({}),i=t.ref(""),y="没有与搜索条件匹配的项",d=t.ref(e.functionItems),m=t.computed(()=>c=>e.singleExpand?{"functions-type d-flex flex-column":!0,open:o.value===c,closed:o.value!==c}:{"functions-type d-flex flex-column":!0,open:r.value[c],closed:!r.value[c]}),g=t.computed(()=>c=>e.singleExpand?{"f-icon f-icon-arrow-chevron-down":o.value===c,"f-icon f-icon-arrow-chevron-right":o.value!==c}:{"f-icon f-icon-arrow-chevron-down":r.value[c],"f-icon f-icon-arrow-chevron-right":!r.value[c]}),h=t.computed(()=>c=>{var f;return{"functions-item pl-2":!0,selected:((f=l.value)==null?void 0:f.key)===c.key}}),x=t.ref(Object.keys(d.value));t.watch(()=>e.functionItems,c=>{d.value=c,x.value=Object.keys(d.value),i.value&&(r.value=x.value.reduce((f,b)=>(f[b]=!0,f),{}))});function w(c){c||(c=o.value);const f=a.value.querySelector('li[function-type="'+c+'"] > div.functions-type-name');f&&(a.value.querySelector(".expression-left").scrollTop=0,f.scrollIntoViewIfNeeded?f.scrollIntoViewIfNeeded(!0):f.scrollIntoView({behavior:"smooth",block:"nearest"}))}function F(c){if(e.singleExpand){if(o.value===c){o.value="";return}o.value=c}else r.value=r.value||{},r.value[c]=!r.value[c]}function S(c,f){c.stopPropagation(),l.value=f}function p(c,f){c.stopPropagation(),n.emit("insertFunction",{$event:c,item:f})}t.watch(()=>o.value,(c,f,b)=>{if(c){const k=setTimeout(()=>{w(c)},200);b(()=>clearTimeout(k))}});function s(){n.emit("search",i.value)}function u(){n.emit("search","")}function C(c){c.key==="Enter"&&s()}function v(){return x.value.length?x.value.map(c=>t.createVNode("li",{"function-type":c,class:m.value(c)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:()=>{F(c)}},[t.createVNode("span",{class:g.value(c)},null),d.value[c].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[d.value[c].items.map(f=>{if(f.visible!==!1)return t.createVNode("li",{class:h.value(f),onClick:b=>S(b,f),onDblclick:b=>p(b,f)},[c==="advanced"?f.key:f.name])})])])):t.createVNode("li",{class:"empty-message"},[y])}return t.onMounted(()=>{o.value=x.value[0],r.value=x.value.reduce((c,f)=>(c[f]=o.value===f,c),{})}),()=>t.createVNode("div",{class:"d-flex f-utils-fill flex-column",ref:a},[t.createVNode(K,{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(ge.FButtonEdit,{class:"w-100 mx-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入函数名称,按回车查询",modelValue:i.value,"onUpdate:modelValue":c=>i.value=c,onClickButton:s,onClear:u,onKeyup:C},null)]}),t.createVNode(X,{position:"center","custom-class":"layout-border"},{default:()=>[t.createVNode("ul",{class:"w-100 functions-list",style:"user-select: none"},[v()])]}),t.createVNode(X,{"custom-class":"position-relative",position:"bottom",minHeight:80},{default:()=>{var c;return[t.createVNode("textarea",{title:"函数说明",class:"h-100 w-100 function-remark p-1",disabled:!0},[(c=l.value)==null?void 0:c.description])]}})]})])}});function Rn(e){async function n(){return fetch(e.esprimaPath).then(i=>i.json())}async function a(){if(window.esprima==null){const i=await n(),{path:y}=i;return new Promise((d,m)=>{const g=document.createElement("script");g.type="text/javascript",g.src=y+"?v="+Date.now(),g.onload=d,g.onerror=m,document.head.appendChild(g)})}}function o(i){const y=[],d=window.esprima.tokenize(i);for(let x=0;x<d.length;x++)y.push(d[x].value);const m=[];for(let x=0;x<y.length;x++){const w=i.indexOf(y[x]);w!==-1?m.push(i.substring(0,w)):m.push(""),i=i.slice(w+y[x].length),x===y.length-1&&m.push(i)}const g=[],h=y.length;for(let x=0;x<h;x++)m[x]!==""&&g.push(m[x]),y[x]!==""&&g.push(y[x]),x===h-1&&m[x+1]!==""&&g.push(m[x+1]);return g}function l(i,y="key2name"){const d=new Map;if(!i)return d;let g=Object.values(i).map(h=>h.items).flat();for(;g.length>0;){const h=g.filter(x=>x.name===g[0].name);h.length>1?g.filter(x=>x.name===g[0].name).forEach(x=>{y==="key2name"?d.set(x.key,x.key+"_"+x.name):y==="name2key"&&d.set(x.key+"_"+x.name,x.key)}):y==="key2name"?d.set(h[0].key,h[0].name):y==="name2key"&&d.set(h[0].name,h[0].key),g=g.filter(x=>x.name!==g[0].name)}return d}a();async function r(i){return window.esprima?i():await a().then(()=>i())}return{loadEsprima:a,getTokens:o,getVariableMaps:l,runWithEsprima:r}}function Hn(e,n,a){const o=t.ref(e.disabledFunctions),{getTokens:l,getVariableMaps:r,runWithEsprima:i}=Rn(e);function y(){const p=ne.cloneDeep(n);if(o.value){let s=Object.keys(p);const{types:u,functions:C}=o.value;return u&&u.length&&(s=s.filter(v=>u.includes(v))),C&&C.length&&Object.values(p).forEach(v=>{v.items.forEach(c=>{C.includes(c.name)&&(c.visible=!1)})}),p}return p}function d(p){const s=n.analytical.items.find(u=>u.key==="GetContextParameter");if(s)return s.name+'("'+p.name+'")'}function m(p){if(!p||p.length===0)return"";const s=u=>{switch(u.type){case"string":return`"${u.name}"`;case"list":return`[${u.name}]`;default:return u.name}};return p.map(s).join(",")}function g(p){let s=p.name;return p.type.toLowerCase()!=="advanced"&&(s+="("+m(p.params)+")"),s}function h(p){return p==null?void 0:p.bindingPath}function x(p){if(!p)return"";const s=l(p),u=r(a,"name2key");for(let v=0;v<s.length;v++){let c=0;if(c===0&&u&&s[v].length>2&&s[v][0]==='"'&&s[v][s[v].length-1]==='"'){const f=s[v].substring(1,s[v].length-1);if(u.has(f)&&s[v-1]==="("&&s[v+1]===")"){const b=u.get(f);b!==void 0&&(s[v]=`"${b}"`,c=1)}}if(c===0){const f=Object.values(n).map(b=>b.items).flat();for(let b=0;b<f.length;b++)if(s[v]===f[b].name){s[v]=f[b].keyFront+"."+f[b].key,c=1;break}}}const C=s.join("");return JSON.stringify({expr:C,sexpr:""})}function w(p,s,u,C){let v="";const c=[];for(const f of s)f.keyFront==="Math"&&c.push(f.key);for(let f=0;f<p.length;f++){if(p[f]==="Math"&&p[f+1]==="."&&!c.includes(p[f+2])){v=v+p[f]+p[f+1]+p[f+2],f=f+2;continue}if(C.includes(p[f])&&p[f+1]==="."){f=f+1;continue}else{let b=0;if(b===0&&p[f].length>2&&p[f][0]==='"'&&p[f][p[f].length-1]==='"'){const k=p[f].substring(1,p[f].length-1);if(u.has(k)&&p[f-1]==="("&&p[f+1]===")"){const P=u.get(k);P!==void 0&&(v=v+`"${P}"`,b=1)}}if(b===0){for(let k=0;k<s.length;k++)if(p[f]===s[k].key&&s[k].type.toLowerCase()!=="advanced"){v=v+s[k].name,b=1;break}}b===0&&(v=v+p[f])}}return v}function F(p){if(!p)return"";const s=l(p),u=r(a,"key2name"),C=Object.values(n).map(c=>c.items).flat();return w(s,C,u,["DefaultFunction","Math","DefaultExtendFunctionProxy"])}async function S(p){return await i(()=>F(p))}return{resetFunctionItems:y,getFieldExpression:h,getFunctionExpression:g,getContextVariableExpression:d,getExpressionCodeValue:x,getExpressionTextValue:S}}function zn(e,n){const a=t.ref([]),o=ne.cloneDeep(n.value),l=Object.values(o).map(y=>y.items).flat();function r(y){const d=ne.cloneDeep(o);return Object.keys(d).forEach(m=>{const g=d[m].items.filter(h=>y.includes(h.key));g.length>0?d[m].items=g:delete d[m]}),d}function i(y){if(!y){n.value=o;return}const d=l.filter(m=>m.name.toLowerCase().includes(y.toLowerCase())).map(m=>m.key);n.value=r(d)}return{searchResultList:a,filterFunctions:r,onFunctionSearch:i}}const Ze=t.defineComponent({name:"FExpressionEditor",props:Me,emits:[],setup(e,n){var B;const a=t.ref(),o=t.ref(e.validateMessage),l=t.ref(e.messageType),r=t.ref(e.modelValue),i=t.ref(),y=[{label:"提示",value:"info"},{label:"警告",value:"warning"},{label:"错误",value:"error"}],{getFunctionExpression:d,getContextVariableExpression:m,resetFunctionItems:g,getFieldExpression:h,getExpressionCodeValue:x,getExpressionTextValue:w}=Hn(e,qt,e.variables),F=t.ref(g()),{onFunctionSearch:S}=zn(e,F);function p({$event:O,item:T}){var R;const E=d(T);(R=i.value)==null||R.insertText(E)}function s({$event:O,item:T}){var R;const E=m(T);(R=i.value)==null||R.insertText(E)}function u(O){return O.reduce((T,E)=>{var R;return T.push(E.data),(R=E.children)!=null&&R.length&&T.push(...u(E.children)),T},[])}const C=u(((B=e==null?void 0:e.entities)==null?void 0:B.fields)||[]);function v(O){return O.map(T=>{const E=C.find(R=>R.bindingPath===T);return E&&E.type==="entity"?`${T}[0]`:T}).join(".")}function c({$event:O,item:T,parentCodes:E,entityCode:R}){var M;const W=h(T);E=e.isServerSide?v(T.parents):E;let D=`${E}.${W}`;R===W&&(D=W),(M=i.value)==null||M.insertText(`${D}`)}function f({$event:O,item:T}){var R;const E=h(T);(R=i.value)==null||R.insertText(`${E}`)}function b(){var O;return(O=i.value)==null?void 0:O.getContent()}function k(){var T;const O=(T=i.value)==null?void 0:T.getContent();return{value:x(O),message:o.value,messageType:l.value}}const P=t.ref("");function I(){var O;(O=i.value)==null||O.clearText()}return t.onMounted(async()=>{if(r.value){const O=JSON.parse(r.value),{expr:T}=O;T&&(P.value=await w(T)||"")}}),n.expose({getExpressionContext:b,getExpressionValue:k,resetExpression:I}),()=>t.createVNode("div",{ref:a,class:"h-100 d-flex flex-column f-utils-fill mx-3 expression-editor"},[t.createVNode(K,null,{default:()=>[t.createVNode(X,{position:"left",width:248,minWidth:130},{default:()=>[t.createVNode(Ln,{functionItems:F.value,singleExpand:e.singleExpand,onInsertFunction:p,onSearch:S},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(Je,{modelValue:P.value,"onUpdate:modelValue":O=>P.value=O,ref:i},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:y,modelValue:l.value,"onUpdate:modelValue":O=>l.value=O,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto"},null)]),t.withDirectives(t.createVNode("textarea",{"onUpdate:modelValue":O=>o.value=O,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(In,{dataSource:{entities:e.entities,variables:e.variables},onVariableItemDblClick:s,onEntityItemDblClick:c,onFieldClick:f},null)]})]})])}}),An={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},showAppendButton:{type:Boolean,default:!0},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,default:0},popupOffsetY:{type:Object,default:0},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},$n={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}};function Wn(){const e=t.ref(!1);return t.onMounted(()=>{e.value=!0}),e}const qn=t.defineComponent({name:"FOverlay",props:$n,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),o=t.ref(e.host),l=Wn(),r=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(d){n.emit("click"),d.preventDefault(),d.stopPropagation()}t.computed(()=>{const d=o.value;if(d){const m=d.getBoundingClientRect(),{left:g,top:h,height:x}=m;return{left:g,top:h+x}}return a.value});const y=t.computed(()=>({}));return()=>l.value?t.createVNode(t.Teleport,{to:"body"},{default:()=>{var d,m;return[t.createVNode("div",{class:"overlay-container",onClick:g=>i(g),style:r.value},[t.createVNode("div",{style:y.value},[(m=(d=n.slots).default)==null?void 0:m.call(d)])])]}}):null}});function Yn(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Un(e){const n=document.createElement("div");n.style.display="contents";let a;const o=e.onClickCallback||(()=>{}),l=()=>{o(),a&&a.unmount()};return a=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const r=Yn(e);return()=>t.createVNode(qn,{"popup-content-position":e.popupPosition,host:e.host,onClick:l,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(n),a.mount(n),a}class Gn{static show(n){return Un(n)}}const _n={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},showFloatingClose:{type:Boolean,default:!1},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},openedCallback:{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},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1},useTransform:{type:Boolean,default:!0}};class Y{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 l=parseInt(o[4],10),r=parseInt(o[5],10);return{x:l,y:r}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new Y(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new Y(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 Y(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 Y(0,0);if(window){const o=window.getComputedStyle(n);if(o){const l=parseInt(o.getPropertyValue("left"),10),r=parseInt(o.getPropertyValue("top"),10);a.x=isNaN(l)?0:l,a.y=isNaN(r)?0:r}return a}return null}static copy(n){return new Y(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 Q{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new Q(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 Q(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Xn(e,n){const a=t.ref(),o=t.ref(),l=t.ref(),r=t.ref(),i=t.ref(),y=t.ref(),d=t.ref(),m=t.ref(),g=t.ref(),h=t.ref(),x=t.ref(),w=t.ref(e.resizeable),F=t.ref(),S=t.ref(e.draggable),p=t.ref(!1);function s(){const M=o.value||document.body,V=window.getComputedStyle(M);if(!V||!a.value)return;const j=Y.getTransformInfo(a.value),H={};d.value&&(H.deltaL=a.value.offsetLeft-d.value.x,H.deltaT=a.value.offsetTop-d.value.y);const U=V.getPropertyValue("position");H.width=M.clientWidth,H.height=M.clientHeight,H.pr=parseInt(V.getPropertyValue("padding-right"),10),H.pb=parseInt(V.getPropertyValue("padding-bottom"),10),H.position=V.getPropertyValue("position"),U==="static"&&(M.style.position="relative"),H.translateX=j.x,H.translateY=j.y,h.value=H}function u(M){if(a.value){r.value=Q.getCurrent(a.value),i.value=Y.getCurrent(a.value),y.value=r.value?Q.copy(r.value):null,d.value=i.value?Y.copy(i.value):null,s();const V=M.target.getAttribute("type")||"";m.value={n:!!V.match(/n/),s:!!V.match(/s/),w:!!V.match(/w/),e:!!V.match(/e/)}}}function C(){var M,V,j,H;if(a.value){const U=a.value;m.value&&((m.value.n||m.value.s)&&((M=y.value)!=null&&M.height)&&(U.style.height=y.value.height+"px"),(m.value.w||m.value.e)&&((V=y.value)!=null&&V.width)&&(U.style.width=y.value.width+"px"),d.value&&((j=d.value)!=null&&j.x&&(U.style.left=d.value.x+"px"),(H=d.value)!=null&&H.y&&(U.style.top=d.value.y+"px")))}}function v(){const M=e.minHeight?e.minHeight:1,V=e.minWidth?e.minWidth:1;y.value&&d.value&&m.value&&r.value&&(y.value.height<M&&(y.value.height=M,m.value.n&&i.value&&(d.value.y=i.value.y+(r.value.height-M))),y.value.width<V&&(y.value.width=V,m.value.w&&i.value&&(d.value.x=i.value.x+(r.value.width-V))),e.maxHeight&&y.value.height>e.maxHeight&&(y.value.height=e.maxHeight,i.value&&m.value.n&&(d.value.y=i.value.y+(r.value.height-e.maxHeight))),e.maxWidth&&y.value.width>e.maxWidth&&(y.value.width=e.maxWidth,m.value.w&&i.value&&(d.value.x=i.value.x+(r.value.width-e.maxWidth))))}function c(){if(o.value){const M=h.value;if(d.value&&y.value&&m.value&&r.value){const V=M.width-M.pr-M.deltaL-M.translateX-d.value.x,j=M.height-M.pb-M.deltaT-M.translateY-d.value.y;m.value.n&&d.value.y+M.translateY<0&&i.value&&(d.value.y=-M.translateY,y.value.height=r.value.height+i.value.y+M.translateY),m.value.w&&d.value.x+M.translateX<0&&i.value&&(d.value.x=-M.translateX,y.value.width=r.value.width+i.value.x+M.translateX),y.value.width>V&&(y.value.width=V),y.value.height>j&&(y.value.height=j)}}}function f(M){if(!l.value||!r.value||!i.value||!m.value)return;M.subtract(l.value);const V=M.x,j=M.y;m.value.n?(d.value.y=i.value.y+j,y.value.height=r.value.height-j):m.value.s&&(y.value.height=r.value.height+j),m.value.e?y.value.width=r.value.width+V:m.value.w&&(y.value.width=r.value.width-V,d.value.x=i.value.x+V),c(),v(),C()}function b(M){if(!g.value)return;const V=Y.fromEvent(M);V&&f(V)}function k(){if(a.value){const{width:M,height:V,x:j,y:H}=a.value.getBoundingClientRect(),U=Y.getTransformInfo(a.value);return{size:{width:M,height:V},position:{x:j-U.x,y:H-U.y}}}return null}function P(M){if(a.value){const V=k();x.value=V}l.value=void 0,r.value=null,i.value=null,y.value=null,d.value=null,m.value=null,g.value=null,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",P)}function I(){document.addEventListener("mousemove",b),document.addEventListener("mouseup",P)}function B(M){M instanceof MouseEvent&&M.button===2||S.value&&(document.body.click(),M.stopPropagation(),M.preventDefault(),l.value=Y.fromEvent(M),g.value=M.target,u(M),I())}function O(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:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:V=>B(V)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:V=>B(V)},null)])}function T(M=!0){document.body.click();const V=o.value||document.body,j=Q.getCurrent(V),H=a.value;M&&H&&(F.value=k(),F.value.transform=H.style.transform),j&&H&&(y.value=j,y.value.height-=14,y.value.width-=14,H.style.height=y.value.height+"px",H.style.width=y.value.width+"px",H.style.left="7px",H.style.top="7px",H.style.transform="",x.value={size:y.value,position:{x:0,y:0}},S.value=!1,p.value=!0)}function E(){var M,V;if(document.body.click(),F.value){const j={width:F.value.size.width||0,height:F.value.size.height||0},H={x:(window.innerWidth-j.width)/2,y:(window.innerHeight-j.height)/2};(M=y.value)==null||M.set(j),(V=d.value)==null||V.set(H);const U=a.value;U.style.height=j.height+"px",U.style.width=j.width+"px",U.style.left=`${H.x}px`,U.style.top=`${H.y}px`,U.style.transform="",x.value={size:j,position:H},S.value=e.draggable,p.value=!1}}function R(){if(a.value){const M=Q.getCurrent(a.value);if(M){const{width:V,height:j}=M;a.value.style.left=`${(window.innerWidth-V)/2}px`,a.value.style.top=`${(window.innerHeight-j)/2}px`,a.value.style.transform=""}}}function W(){const M=()=>{p.value?T(!1):R(),document.body.click()};return window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}}const D=W();return{renderResizeBar:O,boundingElement:o,resizedEventParam:x,maximize:T,restore:E,allowDrag:S,isMaximized:p,unWindowResizeHandle:D,moveToCenter:R}}function Kn(e,n,a){const o=t.ref(),l=t.ref(e.draggable),r=t.ref(e.lockAxis),i=t.ref(),y=t.ref(),d=t.ref(!1),m=t.ref(new Y(0,0)),g=t.ref(new Y(0,0)),h=t.ref(new Y(0,0)),x=t.ref(new Y(0,0));t.watch(()=>a.value,b=>{i.value.style.cursor=b?"move":"default"});function w(b,k){if(k.tagName==="BUTTON")return!1;if(k===b)return!0;for(const P in k.children)if(Object.prototype.hasOwnProperty.call(k.children,P)&&w(b,k.children[P]))return!0;return!1}function F(){var I,B;let b=h.value.x+g.value.x,k=h.value.y+g.value.y;r.value==="x"?(b=((I=m.value)==null?void 0:I.x)||0,h.value.x=0):r.value==="y"&&(k=((B=m.value)==null?void 0:B.y)||0,h.value.y=0);const P=`translate3d(${Math.round(b)}px, ${Math.round(k)}px, 0px)`;o.value&&(o.value.style.transform=P),x.value.x=b,x.value.y=k}function S(){if(!y.value||!o.value)return null;const b=y.value.getBoundingClientRect(),k=o.value.getBoundingClientRect(),P={top:b.top<k.top,right:b.right>k.right,bottom:b.bottom>k.bottom,left:b.left<k.left};return P.top||(h.value.y-=k.top-b.top),P.bottom||(h.value.y-=k.bottom-b.bottom),P.right||(h.value.x-=k.right-b.right),P.left||(h.value.x-=k.left-b.left),F(),P}function p(b){b&&(m.value&&b.subtract(m.value),h.value.set(b),F(),S())}function s(b){d.value&&l.value&&(b.stopPropagation(),b.preventDefault(),p(Y.fromEvent(b,i.value)))}function u(){var b;if(d.value){if(d.value=!1,g.value.add(h.value),h.value.reset(),(b=o.value)==null||b.classList.remove("ng-dragging"),!e.useTransform&&o.value){const{left:k,top:P}=o.value.getBoundingClientRect();o.value.style.left=Math.ceil(k)+"px",o.value.style.top=Math.ceil(P)+"px",o.value.style.transform="none"}n.emit("stopMove"),document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",u)}}function C(){!d.value&&i.value&&(d.value=!0,i.value.classList.add("ng-dragging"),document.addEventListener("mousemove",s),document.addEventListener("mouseup",u))}function v(){if(o.value){const b=Y.getTransformInfo(o.value);g.value.set(b);return}g.value.reset()}function c(b){if(!a.value||b instanceof MouseEvent&&b.button===2)return;const k=b.target||b.srcElement;i.value!==void 0&&k&&!w(k,i.value)||l.value!==!1&&(document.body.click(),b.stopPropagation(),b.preventDefault(),m.value=Y.fromEvent(b,o.value),v(),C())}function f(b,k,P){if(l.value&&k){if(b)i.value=b;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)i.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const I=k.querySelector(e.dragHandle);I&&(i.value=I)}}o.value=k,y.value=P,i.value?(i.value.classList.add("ng-draggable"),i.value.addEventListener("mousedown",c)):l.value=!1}}return{registerDraggle:f,resetTranslate:v}}function Qe(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 Jn(e,n){const a=t.ref(e.enableEsc);let o=null;return a.value?(o=Qe("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:o}):null}function Zn(e,n){const a=t.ref(e.enableEnter);let o=null;return a.value?(o=Qe("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:o}):null}const re=t.defineComponent({name:"FModal",props:_n,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(e,n){const a=t.ref(e.width||300),o=t.ref(e.height||200),l=t.ref(e.modelValue),r=t.ref(""),i=t.ref(e.class),y=t.ref(e.fitContent),d=t.ref(e.showHeader),m=t.ref(""),g=t.ref(e.showCloseButton),h=t.ref(e.showMaxButton),x=t.ref(!1),w=t.ref(e.dialogType),F=t.ref(e.src),S=t.ref(""),p=t.ref(e.showButtons),s=t.ref(e.title),u=t.ref(e.containment||null),C=t.ref();s.value==="错误提示"&&(s.value=_.LocaleService.getLocaleValue("messageBox.errorTitle"));const v=t.ref(!1);function c(){const N=document.querySelectorAll(".farris-modal").length;(!N||N-1<=0)&&C.value===document.querySelectorAll(".farris-modal")[0]&&document.body.classList.remove("modal-open"),C.value&&C.value.classList.remove("show")}function f(N,L){const $=L?"accept":"cancel";Promise.resolve().then(()=>{var q;return(q=e.beforeClose)==null?void 0:q.call(e,{closeType:$})}).then(q=>{q&&(l.value=!1,n.emit("update:modelValue",!1),L!=null&&n.emit(L?"accept":"cancel"),n.emit("closed",N),c())})}const b=[{name:"cancel",text:_.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:N=>{f(N,!1)}},{name:"accept",text:_.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:N=>{f(N,!0)}}],k=t.ref(e.buttons&&e.buttons.length?e.buttons:b),P=t.computed(()=>!!m.value),I=t.computed(()=>!!p.value&&!!k.value),B=t.ref(),O=t.ref(),T=t.ref(e.maximized||!1),{renderResizeBar:E,maximize:R,restore:W,boundingElement:D,resizedEventParam:M,allowDrag:V,unWindowResizeHandle:j,moveToCenter:H}=Xn(e),{registerDraggle:U}=Kn(e,n,V);function lt(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}t.watch(()=>e.title,(N,L)=>{N!==L&&(s.value=N)}),t.watch(()=>e.modelValue,(N,L)=>{N!==L&&(l.value=N,l.value&&e.draggable&&t.nextTick(()=>{O.value&&!u.value&&(u.value=O.value.parentElement,D.value=u.value,U(B.value,O.value,D.value),H())}),N||(u.value&&(u.value=null),c())),l.value?v.value=lt():(T.value=!1,V.value=e.draggable)}),t.watch(()=>e.showHeader,(N,L)=>{N!==L&&(d.value=N)}),t.watch(()=>e.showButtons,(N,L)=>{N!==L&&(p.value=N)}),t.watch(()=>M.value,(N,L)=>{const $=N||{},q=L||{};JSON.stringify($)!==JSON.stringify(q)&&n.emit("resize",{newSize:N,oldSize:L,isMaximized:T.value})}),t.watch([()=>e.width,()=>e.height],(N,L)=>{(N[0]!==L[0]||N[1]!==L[1])&&(a.value=N[0]||500,o.value=N[1]||600)}),t.watch(()=>e.class,(N,L)=>{i.value=N});const he=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),ha=t.computed(()=>{var $;const N={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!e.showFloatingClose};N["f-modal-fitContent"]=!!y.value,N.show=!!he.value;const L=($=e.maskClass)==null?void 0:$.split(" ");return L==null||L.reduce((q,te)=>(q[te]=!0,q),N),N}),ga=t.computed(()=>{var $;const N={"modal-dialog":!0},L=($=i.value)==null?void 0:$.split(" ");return L==null||L.reduce((q,te)=>(q[te]=!0,q),N),N}),va=()=>A.isMobilePhone()&&!e.isMessager||!!e.fullscreen,ba=t.computed(()=>{const N=document.documentElement.clientWidth,L=document.documentElement.clientHeight;if(T.value)return{position:"fixed",top:"0px",left:"0px",width:"100vw",height:"100vh",margin:"0"};const $=Math.min(a.value,N),q=e.position==="right"?"100%":y.value?"auto":`${Math.min(o.value,L-10)}px`,te=`${(window.innerHeight-(q==="100%"||q==="auto"?0:parseInt(q)))/2}px`,Ra=e.position==="right"?`${window.innerWidth-$}px`:`${(window.innerWidth-$)/2}px`,st={position:"absolute",top:te,left:Ra,width:A.isMobilePhone()?"auto":`${$}px`,height:q};return e.mask||(st.pointerEvents="auto"),st}),it=t.ref(A.getMaxZIndex()||1050),Ca=t.computed(()=>{const N={display:"block",overflow:"hidden"};return e.mask||(N.pointerEvents="none",N.backgroundColor="transparent"),v.value&&(N.backgroundColor="transparent"),N.zIndex=it.value,N}),xa=t.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value,"is-mobile":va()})),ka=t.computed(()=>{const N={display:d.value?"":"none"};return N["pointer-events"]=V.value?"auto":"none",N}),wa=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:T.value})),Fa=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":w.value==="iframe","f-utils-fill":!0}));function Sa(){return{height:`${e.footerHeight||60}px`}}const Ta=t.computed(()=>{const N={textAlgin:S.value},L=Sa();return Object.assign(N,L)});function Se(N){if(N==null||N.stopPropagation(),T.value){T.value=!1,W();return}R(),T.value=!0}async function Na(N,L){N.handle?await N.handle(L,N)&&n.emit("closed",L):n.emit("buttonClick",{button:N,$event:L})}function Ma(N){N.width&&(a.value=N.width),N.height&&(o.value=N.height),N.buttons&&(k.value=N.buttons),N.title&&(s.value=N.title)}let Te=null,Ne=null;t.onBeforeMount(()=>{v.value=lt()}),t.onMounted(()=>{O.value&&!u.value&&(u.value=O.value.parentElement,D.value=u.value,U(B.value,O.value,D.value)),he.value&&document.body.classList.add("modal-open"),Te=Jn(e,n),Ne=Zn(e,n)}),t.onUnmounted(()=>{j&&j(),Te&&Te.remove(),Ne&&Ne.remove()}),n.expose({modalElementRef:O,updateModalOptions:Ma,close:f,maxDialog:Se,isMaximized:T,disableButtons:(N,L=!0)=>{k.value.forEach($=>{$.name&&N.includes($.name)&&($.disabled=L)})}});function Va(){return t.createVNode("div",{class:"action-wrapper",onClick:N=>f(N,!1)},[t.createVNode("span",{class:"close-icon"},[t.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function Oa(){return t.createVNode("ul",null,[x.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),h.value&&t.createVNode("li",{onClick:Se,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:wa.value},null)]),g.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:N=>f(N,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}const Ba=N=>{N.preventDefault();const L=N.currentTarget,$=N.deltaY*.5;L.scrollLeft+=$};function Ea(){return t.createVNode("div",{class:"modal-footer",style:Ta.value},[k.value&&t.createVNode("div",{class:"buttons",onWheel:Ba},[k.value.map(N=>{var q;const L=t.ref(N.disabled),$=N.class||((q=N.appearance)==null?void 0:q.class)||"btn btn-secondary";return t.createVNode("button",t.mergeProps(A.extractDataAttrs(N),{name:N.name,style:N.styles,type:"button",disabled:L.value,class:$+(N.iconClass?" btn-icontext":"")+(N.visible===!1?"d-none":""),onClick:te=>{Na(N,te)}}),[!!N.iconClass&&t.createVNode("i",{class:N.iconClass},null),N.text])})])])}function rt(N){h.value&&Se()}function Pa(){return t.createVNode(t.Fragment,null,[T.value&&t.createVNode("div",{class:"modal-header",style:"position: absolute;background: transparent;height: 45px;width: 100%;",onDblclick:N=>rt()},null),t.createVNode("div",{ref:B,class:"modal-header",style:ka.value,onDblclick:N=>rt()},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[P.value&&t.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[s.value])]),t.createVNode("div",{class:"actions"},[Oa()])])])}function Da(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&Ea()}function Ia(N){if(N.stopPropagation(),e.allowClickMaskToClose){if(N.target!==C.value)return;f(N,!1)}}function ja(){var N,L;return t.createVNode("div",{id:r.value,class:ga.value,style:ba.value,ref:O},[e.showFloatingClose&&Va(),t.createVNode("div",{class:xa.value},[d.value&&Pa(),t.createVNode("div",{class:Fa.value},[(L=(N=n.slots).default)==null?void 0:L.call(N),w.value==="iframe"&&t.createVNode("iframe",{title:r.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:F.value},null)]),Da()]),!y.value&&O.value&&!T.value&&E(O.value)])}function La(N){return N||"body"}return t.watchEffect(()=>{he.value&&(it.value=A.getMaxZIndex()||1050)}),()=>t.createVNode(t.Teleport,{to:La(e.host)},{default:()=>[he.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:C,class:ha.value,style:Ca.value,onClick:Ia},[ja()])]})]})}});function et(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Qn(e){const n=document.createElement("div");n.style.display="contents";const a=e.type||"modal",o=t.createApp({setup(l,r){t.onUnmounted(()=>{document.body.removeChild(n)});const i=t.ref(),y=t.ref(e.class||""),d=t.ref(!0),m=t.ref(e.title||""),g=et(e),h=e.closedCallback||(c=>{}),x=c=>{d.value=!1,o.unmount(),h(c)};if(r.expose({ref:i}),a==="drawer")return()=>t.createVNode(ve,{ref:i,modelValue:d.value,"onUpdate:modelValue":c=>d.value=c,id:"modal-service-drawer",title:m.value,width:e.width,height:e.height,position:e.position,backgroundColor:e.backgroundColor,host:e.host,showMask:e.showMask,allowClickMaskToClose:e.allowClickMaskToClose,transparent:e.transparent,showHeader:e.showHeader,showFooter:e.showButtons,buttons:e.buttons,beforeClose:e.beforeClose,customClass:y.value,onAfterClose:x},{default:()=>[g&&g(o)]});const w=t.ref(!!e.showButtons),F=t.ref(!!e.showHeader),S=t.ref(e.showCloseButton==null?!0:e.showCloseButton),p=t.ref(!!e.showFloatingClose),s=e.acceptCallback||(()=>{}),u=e.rejectCallback||(()=>{}),C=e.resizeHandle||(c=>{}),v=e.stopMoveHandle||(c=>{});return()=>t.createVNode(re,{ref:i,class:y.value,modelValue:d.value,"onUpdate:modelValue":c=>d.value=c,title:m.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":F.value,"show-buttons":w.value,"show-close-button":S.value,"show-max-button":!1,showFloatingClose:p.value,onAccept:s,onCancel:u,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:x,onResize:C,onStopMove:v},{default:()=>[g&&g(o)]})}});return document.body.appendChild(n),o.use(_.LocaleService.i18n),o.mount(n),o}class ea{constructor(n){Z(this,"appContext",null);Z(this,"modalRef",t.ref());Z(this,"activeModalIndex",t.ref(0));Z(this,"modalRefs",{});Z(this,"isUseEscCloseModal",t.ref(!1));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.modalRefs[this.activeModalIndex.value]}adaptToWindow(n,a){const{width:o,height:l}={width:window.innerWidth,height:window.innerHeight};return o<n&&(n=o-14),l<a&&(a=l-14),{width:n,height:a}}static show(n){const a=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return Qn(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(),o=n.type||"modal";n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const l=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0,maximized:!1},n)),r=t.ref(!0),i=et(l.value),y=l.value.closedCallback||((s,u)=>{}),d=l.value.openedCallback||(s=>{});let m;const g=s=>{var C;r.value=!1;const u=(C=s==null?void 0:s.target)==null?void 0:C.classList.contains("modal_close");y(s,this.isUseEscCloseModal.value?"esc":u?"icon":"button")},h=s=>{g(s),m&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),m=null,this.modalRef.value=null,this.modalRefs){const u=Object.keys(this.modalRefs).map(C=>Number(C));u.length>0?this.activeModalIndex.value=Math.max(...u):this.activeModalIndex.value=0,this.modalRefs[this.activeModalIndex.value]&&(this.modalRef.value=this.modalRefs[this.activeModalIndex.value])}this.isUseEscCloseModal.value=!1})},x=t.ref();let w;if(o==="drawer")w=()=>t.createVNode(ve,t.mergeProps({ref:x,modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,id:"modal-service-drawer"},l.value,{onAfterClose:h}),{default:()=>[i&&i(this.app)]});else{const s=l.value.acceptCallback||(()=>{}),u=l.value.rejectCallback||(()=>{}),C=l.value.resizeHandle||(P=>{}),v=n.stopMoveHandle||(P=>{}),c=P=>{var I;this.isUseEscCloseModal.value=!0,(I=this.getCurrentModal())==null||I.close(P==null?void 0:P.event)},{width:f,height:b}=l.value,k=this.adaptToWindow(Number(f)||500,Number(b)||320);Object.assign(l.value,k),w=()=>t.createVNode(re,t.mergeProps({ref:x,modelValue:r.value,"onUpdate:modelValue":P=>r.value=P},l.value,{isMessager:l.value.class&&l.value.class.indexOf("modal-message")>-1,onAccept:s,onCancel:u,onClosed:h,onResize:C,onEsc:c,onStopMove:v,maximized:l.value.maximized}),{default:()=>[i&&i(this.app)]})}m=(s=>{const u=t.h(w,s);return u.appContext=this.appContext,t.render(u,a),u})({...l.value}),this.activeModalIndex.value++;const S=this.activeModalIndex.value;this.modalRefs[S]=x.value;const p=s=>{l.value={...l.value,...s},m&&t.render(t.cloneVNode(m,{...l}),a)};return t.nextTick(()=>{this.modalRefs[S]=x.value,this.modalRef.value=x.value,d(new Event("opened"))}),{update:p,destroy:h,modalRef:x,close:()=>{var s;(s=x.value)==null||s.close()},disableButtons:(s,u=!0)=>{var C,v;(v=(C=x.value)==null?void 0:C.disableButtons)==null||v.call(C,s,u)}}}}const tt=Symbol("FModalService");re.install=e=>{e.component(re.name,re);const n=new ea(e);e.provide(tt,n),e.provide("FModalService",n)};function nt(e,n){function a(){const o=e.beforeOpen||e.beforeClickButton||null;let l=Promise.resolve(!0);if(o){const r=o(n.value);if(typeof r>"u")return l;typeof r=="boolean"?l=Promise.resolve(r):l=r}return l}return{judgeCanOpen:a}}function ta(e,n,a,o,l){const r=t.ref(e.buttonBehavior),i=t.ref(e.popupOnInput),y=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:d}=nt(e,l),m=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),g=t.inject(tt,null),h=t.ref();async function x(S){if(await d()&&m.value){const p=!!n.slots.default;if(r.value==="Modal"){const s=e.modalOptions,u=g==null?void 0:g.open({...s,render:()=>n.slots.default&&n.slots.default()});h.value=u==null?void 0:u.modalRef}r.value==="Overlay"&&Gn.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),p&&r.value==="Popup"&&o.togglePopup(!0),p&&i.value&&o.hidePopup(),n.emit("clickButton",{origin:S,value:e.modelValue})}}function w(S){n.emit("mouseEnterIcon",S)}function F(S){n.emit("mouseLeaveIcon",S)}return{buttonGroupClass:y,onClickButton:x,onMouseEnterButton:w,onMouseLeaveButton:F,modalRef:h}}function na(e,n,a,o,l,r){const i=t.ref(!1),y=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable&&!A.isMobilePhone()),{changeTextBoxValue:d,hasClearClass:m}=r,g=t.ref(!1);function h(p){i.value=p,m.value=p}const x=t.computed(()=>y.value&&!!(l!=null&&l.value)&&g.value);t.watch(l,()=>{h(x.value)});function w(p){const s=!e.readonly&&!e.disable&&e.editable,u=!e.editable;p==null||p.stopPropagation(),(s||u)&&(d(""),l.value="",h(!i.value),n.emit("clear"))}function F(p){if(g.value=!0,!!y.value){if(!a.value){h(!1);return}!e.disable&&!e.readonly&&h(!0)}}function S(p){g.value=!1,y.value&&h(!1)}return{enableClearButton:y,showClearButton:i,onClearValue:w,onMouseEnterTextBox:F,onMouseLeaveTextBox:S}}function aa(e,n,a,o,l){const r=t.computed(()=>e.popupOnInput),i=t.computed(()=>e.popupOnFocus),{shouldPopupContent:y,closeAllPopover:d}=l,m=t.ref(!1),g=t.computed(()=>e.enableTitle?a.value:""),h=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),x=t.computed(()=>e.readonly||!e.editable||A.isMobilePhone()),w=t.ref(!1),F=t.computed(()=>!e.disable&&w.value),S=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),p=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":F.value,"input-group--has-clear":e.enableClear&&m.value}));function s(B,O=!0){a.value=B,O&&(n.emit("change",B),n.emit("update:modelValue",B))}function u(B){y.value=!1,s(B,!0)}t.watch(()=>e.modelValue,B=>{a.value=B});function C(B){w.value=!1,n.emit("blur",B),B.stopPropagation()}function v(B){n.emit("click",B),d(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function c(B){!e.disable&&!e.readonly&&(w.value=!0,x.value||(n.emit("focus",B),i.value&&!y.value&&l.popup()))}function f(B){n.emit("input",B);const O=B.target.value;o.value=O,a.value!==O&&s(O,e.updateOn==="change"),r.value&&!y.value&&l.popup()}function b(B){B.target.tagName!=="INPUT"&&B.preventDefault(),B.stopPropagation()}function k(B){n.emit("keydown",B)}function P(B){B.key==="Enter"&&(r.value||i.value)&&l.hidePopup(),n.emit("keyup",B)}function I(B){const O=B.target.value;B.stopPropagation(),s(O)}return{hasFocusedTextBox:F,isTextBoxReadonly:x,textBoxClass:S,textBoxPlaceholder:h,textBoxTitle:g,inputGroupClass:p,hasClearClass:m,changeTextBoxValue:s,commitValue:u,onBlurTextBox:C,onClickTextBox:v,onFocusTextBox:c,onInput:f,onKeyDownTextBox:k,onKeyUpTextBox:P,onMouseDownTextBox:b,onTextBoxValueChange:I}}const ee="FarrisVue_PopoverInstancesKey";function oa(e,n,a,o){const l=t.ref(),r=t.ref(!1),{judgeCanOpen:i}=nt(e,o);t.watch(()=>l.value,(w,F)=>{window[ee]=window[ee]||new WeakMap,w?window[ee].set(a.value,w):window[ee].delete(a.value)});function y(){if(window[ee]){const w=window[ee];document.querySelectorAll(".f-button-edit,.v-popover").forEach(F=>{const S=w.get(F);S&&F!==a.value&&!a.value.closest(".popover-fitcontent")&&S.hide()})}}function d(){const w=l.value;w&&(w.show?w.show(a.value):w.open&&w.open(a.value))}async function m(w=!1){if(!!n.slots.default){if(!w&&!r.value&&!await i())return;r.value=!r.value,r.value&&(await t.nextTick(),d())}}async function g(w=!1){if(!!n.slots.default){if(!w&&!await i())return;r.value=!0,await t.nextTick(),d()}}function h(){r.value=!1}function x(){r.value=!0,t.nextTick(()=>{d()})}return{hidePopup:h,showPopup:x,popup:g,shouldPopupContent:r,togglePopup:m,popoverRef:l,closeAllPopover:y}}function la(e,n,a){const o=t.ref(),{isTextBoxReadonly:l,textBoxClass:r,textBoxPlaceholder:i,textBoxTitle:y,onBlurTextBox:d,onClickTextBox:m,onFocusTextBox:g,onInput:h,onKeyDownTextBox:x,onKeyUpTextBox:w,onMouseDownTextBox:F,onTextBoxValueChange:S}=a,p=t.ref(e.id),{uuid:s}=A.useGuid(),u=t.computed(()=>({}));t.onMounted(()=>{var b,k;e.selectOnCreated&&((b=o.value)==null||b.select()),e.focusOnCreated&&((k=o.value)==null||k.focus({preventScroll:!0})),p.value||(p.value="button-edit_"+s(8)),p.value=p.value+"-textbox"});const C=t.ref(!1),v=b=>{b.preventDefault(),C.value=!0},c=b=>{b.preventDefault(),C.value=!1,h(b)};function f(b){C.value||h(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:r.value,style:u.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:i.value,readonly:l.value,tabindex:e.tabIndex,title:y.value,type:e.inputType,value:n.value,onBlur:d,onChange:S,onClick:m,onFocus:g,onInput:f,onKeydown:x,onKeyup:w,onMousedown:F,onCompositionend:c,onCompositionstart:v},null)}function ia(e,n,a){const o=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:r,onFocusTextBox:i,onBlurTextBox:y,onClickTextBox:d,textBoxPlaceholder:m}=a,g=t.computed(()=>n.value?n.value.split(o.value).map(F=>({name:F,selectable:!0})):[]);function h(F){r(F.map(S=>S.name).join(o.value),!0)}t.watch(()=>e.separator,F=>{o.value=F});const x=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([F,S],[p,s])=>{x.value=!F&&!S});function w(F){d(F)}return()=>t.createVNode(mt,{tabindex:e.tabIndex,onFocus:i,onBlur:y,id:`${e.id}-tag-editor`,class:"form-control",placeholder:m.value,data:g.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:h,onClick:w},null)}function ra(e,n,a,o){const{buttonGroupClass:l,onClickButton:r,onMouseEnterButton:i,onMouseLeaveButton:y}=a,{enableClearButton:d,showClearButton:m,onClearValue:g}=o,h=t.ref(),x=ne.debounce(S=>{r(S)},e.buttonBehavior==="Modal"?0:200),w=()=>{n.emit("beforeClearValue")},{renderExpandContent:F}=yt.useInputExpand(e,n);return{renderButtonGroup:()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:l.value},[d.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:g,onMousedown:w},[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:x,onMouseenter:i,onMouseleave:y},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:h,onClick:S=>x(S),onMouseenter:i,onMouseleave:y},null):null]),F()]),buttonHandleElement:h}}function sa(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:r}=a,i=()=>{n.emit("shown")},y=()=>{l(),n.emit("hidden")};return()=>A.isMobilePhone()?t.createVNode(ve,{id:`${e.id}-drawer`,ref:r,position:e.placement,width:"auto",height:"auto",host:e.popupHost,showHeader:!1,showFooter:!1,customClass:"f-drawer--no-padding","onUpdate:modelValue":d=>d?i():y()},{default:()=>{var d,m;return[t.createTextVNode(" "),(m=(d=n.slots).default)==null?void 0:m.call(d),t.createTextVNode(" ")]}}):t.createVNode(pt,{id:`${e.id}-popover`,ref:r,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,offsetY:e.popupOffsetY,onHidden:y,onShown:i,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var d,m;return[(m=(d=n.slots).default)==null?void 0:m.call(d)]}})}const ca=t.defineComponent({name:"FButtonEdit",props:An,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","expandClick","hidden","shown"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),l=t.ref(e.modelValue),r=oa(e,n,a,l),{shouldPopupContent:i,hidePopup:y,showPopup:d,togglePopup:m}=r,g=ta(e,n,a,r,l),h=t.ref(""),x=aa(e,n,l,h,r),{hasFocusedTextBox:w,commitValue:F,inputGroupClass:S,changeTextBoxValue:p}=x,s=na(e,n,l,w,h,x),{onMouseEnterTextBox:u,onMouseLeaveTextBox:C}=s,v=t.ref(!1),c=t.computed(()=>{const M={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce((V,j)=>(V[j]=!0,V),M),M}),f=t.computed(()=>({overflow:e.wrapText?"hidden":""})),b=t.computed(()=>({})),k=t.ref(e.showAppendButton);function P(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let M=0;const V=Array.from(a.value.querySelectorAll(".farris-tag-item"));return V&&V.length&&(M=V.map(j=>j.offsetTop).filter(j=>j>20).length),M}const I=t.ref(P());t.onUpdated(()=>{I.value=P()});function B(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[ia(e,l,x)(),!!I.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("+"),I.value])])]):la(e,l,x)}let O=B();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{O=B()});const{renderButtonGroup:T,buttonHandleElement:E}=ra(e,n,g,s),R=sa(e,n,r),W=t.ref(i.value),D={displayText:h,commitValue:F,elementRef:a,hidePopup:y,showPopup:d,popoverRef:r.popoverRef,shouldPopupContent:i,togglePopup:m,openDialog:()=>{E.value&&e.buttonBehavior==="Modal"&&E.value.click(),n.slots.content&&ne.debounce(()=>{g.onClickButton(null)},e.buttonBehavior==="Modal"?0:200)()},getModal:()=>{var M;return e.buttonBehavior==="Modal"?(M=g.modalRef.value)==null?void 0:M.value:null},getTextbox:()=>{var M;return(M=a.value)==null?void 0:M.querySelector("input")},forceClosePopup:()=>{W.value=!1,v.value=!0,i.value=!1},clear:()=>{p(""),h.value=""},setText:M=>{p(M,!1),h.value=M}};return t.onMounted(()=>{a.value.componentInstance=D,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var M;window.onresize=null,(M=window[ee])==null||M.delete(a.value)}),n.expose(D),t.watch(()=>i.value,async(M,V)=>{if(v.value){W.value=M,v.value=!1;return}if(!M&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const j=await e.beforeClosePopup();W.value=!j,(!j||e.readonly)&&(i.value=!0)}catch(j){console.error("Error in beforeClosePopup:",j),W.value=V,i.value=V}return}W.value=M}),()=>{var M,V;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:c.value,id:e.id?e.id:void 0,style:f.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:S.value,style:b.value,onMouseenter:u,onMouseleave:C},[(V=(M=n.slots).precontent)==null?void 0:V.call(M),n.slots.content?n.slots.content():O(),n.slots.content?null:k.value&&T()])]),W.value&&R()])}}}),ua={$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"]},at={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}},da=G.createPropsResolver(at,ua),fa={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}},ma={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Fe=t.defineComponent({name:"Toast",props:ma,emits:["close","click"],setup:(e,n)=>{const a=t.ref(e.animate),o="fadeOut",l=t.computed(()=>e.options),r=t.ref(!1),i=t.computed(()=>l.value.title&&l.value.message),y=t.computed(()=>!l.value.title&&l.value.message),d=t.computed(()=>{const u={animated:r.value,toast:!0,"toast--only-content":!i.value};return u[e.animate]=!1,u[o]=r.value,u["toasty-type-"+l.value.type]=!0,l.value.theme&&(u[l.value.theme]=!0),u}),m=t.computed(()=>{const v=`f-icon-${l.value&&l.value.type?l.value.type.replace("toasty-type-",""):"default"}`,c={"f-icon":!0};return c[v]=!0,c}),g=t.computed(()=>l.value.title||l.value.message),h=t.computed(()=>e.showCloseButton),x=t.computed(()=>!!l.value.buttons||!!n.slots.default),w=t.computed(()=>_.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function F(u){u.stopPropagation(),u.preventDefault(),r.value=!1,setTimeout(()=>{n.emit("close",l.value)},200)}function S(u,C){}function p(u){return`f-preten-link ${u.customClass?u.customClass:""}`}t.watch(a,()=>{a.value});const s=()=>{var u;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((u=l.value.buttons)==null?void 0:u.map(C=>t.createVNode("span",{class:p(C),onClick:v=>void 0},[C.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:d.value,style:"min-height:44px"},[h.value&&t.createVNode("button",{title:_.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:F},[t.createVNode("span",{class:"f-icon modal_close"},null)]),g.value&&t.createVNode("section",{class:"modal-tips"},[!i.value&&t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:m.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[i.value&&t.createVNode(t.Fragment,null,[t.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:l.value.title},null),t.createVNode("p",{class:"toast-msg",innerHTML:l.value.message,style:w.value},null),x.value&&s()]),y.value&&(l.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:l.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[s()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:w.value,innerHTML:l.value.message},null))])])])}}),ye=t.defineComponent({name:"Notify",props:fa,emits:["close","empty"],setup(e,n){var S;const a=ue(),l=`farris-notify-${(S=e.options)!=null&&S.type?e.options.type:"info"}}`,r=t.computed(()=>({"farris-notify":!0,[l]:a})),i={left:12,right:12,top:20,bottom:12},y=t.ref(),d=t.ref(e.options),m=t.ref(e.showCloseButton),g=t.computed(()=>e.position||"bottom-right"),h=t.computed(()=>e.timeout!=null?e.timeout:3e3),x=t.computed(()=>{const p=e.bottom?e.bottom:i.bottom,s=e.top?e.top:i.top,u={transition:"all 0.2s ease",left:g.value.indexOf("left")>-1?`${e.left?e.left:i.left}px`:"",right:g.value.indexOf("right")>-1?`${e.right?e.right:i.right}px`:"",top:g.value.indexOf("top")>-1?`${s}px`:"",bottom:g.value.indexOf("bottom")>-1?`${p}px`:""};return g.value.indexOf("center")>-1&&(u.left="50%",u.marginLeft="calc(-24rem / 2)",g.value==="center-center"&&(u.top="50%",u.transform="translate(-50%, -50%)")),u});function w(p){n.emit("close")}h.value&&setTimeout(()=>{w()},h.value),n.expose({closeToast:w,container:y,notifyPosition:g});function F(p,s){w()}return()=>{var p;return a?t.createVNode("div",{class:r.value,ref:y},[(p=e.options)==null?void 0:p.message]):t.createVNode("div",{class:r.value,style:x.value,ref:y},[t.createVNode(Fe,{options:d.value,showCloseButton:m.value,animate:e.animate,onClose:s=>F(s,d.value)},null)])}}});class ya{constructor(){Z(this,"notifyRefs",[]);Z(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,l=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),r=document.createElement("div");r.style.display="contents";const i=t.createApp({setup(){var m;const y=t.ref();function d(){y.value.container.style.transform="scale(0)",setTimeout(()=>{a.updateNotifyPositionForClose(l,y),i.unmount()},220)}if(l.position.indexOf("top")>-1){const g=a.getNotifyInstances(l.position),h=g[g.length-1];if(h){const x=h.value.container.getBoundingClientRect();l.top=x.bottom}}return l.safeHtml&&((m=l.options)!=null&&m.message)&&(l.options.message=a.escapeAllHtml(l.options.message)),t.onUnmounted(()=>{document.body.removeChild(r)}),t.onMounted(()=>{a.updateNotifyPositionForCreate(l,y)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(ye,t.mergeProps({ref:y},l,{onClose:d}),null)]})}});return i.provide("NotifyService",this),document.body.appendChild(r),i.use(_.LocaleService.i18n),i.mount(r),i}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(l=>{const r=l.value.container.getBoundingClientRect();l.value.container.style.bottom=r.height+o-r.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,a]}updateNotifyPositionForClose(n,a){const o=this.notifyRefs.indexOf(a);if(n.position.indexOf("top")>-1){const l=this.getNotifyInstances(n.position),r=l.indexOf(a);l.slice(r+1).forEach(i=>{i.value.container.style.top=i.value.container.offsetTop-i.value.container.offsetHeight+"px"})}o>-1&&this.notifyRefs.splice(o,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,a){let o="",l="",r,i,y;typeof a=="string"?o=a:a&&(o=a.message||"",l=a.title||"",i=a.position||null,y=a.showCloseButton!=null?a.showCloseButton:null,r=a.timeout!=null?a.timeout:null);const m={options:{type:n,message:o,title:l}};return i!=null&&(m.position=i),y!=null&&(m.showCloseButton=y),r!=null&&(m.timeout=r),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 ot=Symbol("NOTIFY_SERVICE_TOKEN");ye.install=e=>{e.component(ye.name,ye),e.component(Fe.name,Fe);const n=new ya;e.provide(ot,n),e.provide("FNotifyService",n)};const pe=t.defineComponent({name:"f-expression-textbox",props:at,setup(e,n){const a=t.inject(ot),o=t.inject("FLoadingService"),l='<i class="f-icon f-icon-lookup"></i>',r=t.ref(e.modelValue),i=t.ref(e.entities),y=t.ref(e.variables),d=t.ref(),m=t.ref(e.validateMessage||""),g=t.ref("info");async function h(){const{value:S,message:p,messageType:s}=d.value.getExpressionValue();if(m.value=p,g.value=s,e.beforeSubmit&&typeof e.beforeSubmit=="function"){const u=await e.beforeSubmit({notifyService:a,expressionValue:S});if(typeof u=="boolean"&&!u)return!1;if(typeof u=="object"){const{canClose:C,message:v}=u;if(!C)return v&&(a==null||a.error({message:v})),!1}}if(n.emit("update:modelValue",S),r.value=S,e.onSubmitModal){const u={expression:S,message:p};e.showMessageType&&(u.messageType=g.value);const C=e.onSubmitModal(u);e.onExpressionChanged&&e.onExpressionChanged(C)}return!0}const x={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:S=>{var p;return(p=d.value)==null||p.resetExpression(),!1}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:S=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:async S=>await h()}]};async function w(){if(e.beforeOpen)try{o==null||o.show();const S=await e.beforeOpen({notifyService:a});if(S)return i.value=S.entities||{},y.value=S.variables||{},m.value=S.message||"",g.value=S.messageType||"info",o==null||o.clearAll(),!0}catch{return a==null||a.error({message:"获取数据失败!"}),!1}finally{o==null||o.clearAll()}return!0}function F(){if(n.emit("update:modelValue",""),r.value="",e.onSubmitModal){const S=e.onSubmitModal({expression:"",message:""});e.onExpressionChanged&&e.onExpressionChanged(S)}}return t.watch(()=>e.modelValue,S=>{r.value=S}),()=>t.createVNode(ca,{editable:!1,enableTitle:!0,modelValue:r.value,"onUpdate:modelValue":S=>r.value=S,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:l,buttonBehavior:"Modal",modalOptions:x,beforeOpen:w,onClear:F},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode(Ze,{ref:d,validateMessage:m.value,showMessageType:e.showMessageType,messageType:g.value,modelValue:r.value,"onUpdate:modelValue":S=>r.value=S,esprimaPath:e.esprimaPath,showMessage:e.showMessage,entities:i.value,variables:y.value,disabledFunctions:e.disabledFunctions,showDataPanel:e.showDataPanel,singleExpand:e.singleExpand,isServerSide:e.isServerSide},null)])]})}}),pa={install(e){e.component(pe.name,pe)},register(e,n,a,o){e["expression-editor"]=pe,n["expression-editor"]=da}};z.ExpressCodeEditor=Je,z.ExpressionEditor=Ze,z.FExpressionTextbox=pe,z.default=pa,z.expressionEditorProps=Me,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|