@farris/ui-vue 1.7.0-beta.3 → 1.7.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/components/avatar/index.esm.js +10 -1
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/calendar/index.esm.js +178 -176
  4. package/components/calendar/index.umd.cjs +2 -2
  5. package/components/collection-property-editor/index.esm.js +48 -46
  6. package/components/collection-property-editor/index.umd.cjs +2 -2
  7. package/components/combo-list/index.esm.js +319 -300
  8. package/components/combo-list/index.umd.cjs +1 -1
  9. package/components/comment/index.esm.js +2287 -1161
  10. package/components/comment/index.umd.cjs +7 -7
  11. package/components/component/index.esm.js +3 -1
  12. package/components/component/index.umd.cjs +2 -2
  13. package/components/condition/index.esm.js +926 -901
  14. package/components/condition/index.umd.cjs +2 -2
  15. package/components/data-view/index.esm.js +898 -899
  16. package/components/data-view/index.umd.cjs +1 -1
  17. package/components/drawer/index.esm.js +3 -1
  18. package/components/drawer/index.umd.cjs +2 -2
  19. package/components/dynamic-form/index.esm.js +239 -221
  20. package/components/dynamic-form/index.umd.cjs +1 -1
  21. package/components/dynamic-resolver/index.esm.js +11 -9
  22. package/components/dynamic-resolver/index.umd.cjs +2 -2
  23. package/components/expression-editor/index.esm.js +1299 -1279
  24. package/components/expression-editor/index.umd.cjs +4 -4
  25. package/components/filter-bar/index.esm.js +731 -678
  26. package/components/filter-bar/index.umd.cjs +2 -2
  27. package/components/filter-condition-editor/index.esm.js +1792 -1772
  28. package/components/filter-condition-editor/index.umd.cjs +4 -4
  29. package/components/image/index.esm.js +246 -240
  30. package/components/image/index.umd.cjs +2 -2
  31. package/components/language-textbox/index.esm.js +9 -7
  32. package/components/language-textbox/index.umd.cjs +2 -2
  33. package/components/list-view/index.esm.js +1 -1
  34. package/components/list-view/index.umd.cjs +1 -1
  35. package/components/locale/index.esm.js +2009 -886
  36. package/components/locale/index.umd.cjs +6 -6
  37. package/components/number-range/index.esm.js +190 -181
  38. package/components/number-range/index.umd.cjs +1 -1
  39. package/components/order/index.esm.js +734 -714
  40. package/components/order/index.umd.cjs +5 -5
  41. package/components/property-panel/index.esm.js +60 -49
  42. package/components/property-panel/index.umd.cjs +3 -3
  43. package/components/query-solution/index.esm.js +2461 -2500
  44. package/components/query-solution/index.umd.cjs +6 -6
  45. package/components/radio-group/index.esm.js +30 -30
  46. package/components/radio-group/index.umd.cjs +1 -1
  47. package/components/schema-selector/index.esm.js +238 -238
  48. package/components/schema-selector/index.umd.cjs +4 -4
  49. package/components/section/index.esm.js +217 -302
  50. package/components/section/index.umd.cjs +2 -2
  51. package/components/sort-condition-editor/index.esm.js +1793 -1773
  52. package/components/sort-condition-editor/index.umd.cjs +4 -4
  53. package/components/transfer/index.esm.js +155 -155
  54. package/components/transfer/index.umd.cjs +3 -3
  55. package/designer/data-grid/index.esm.js +895 -867
  56. package/designer/data-grid/index.umd.cjs +5 -5
  57. package/designer/data-view/index.esm.js +145 -144
  58. package/designer/data-view/index.umd.cjs +2 -2
  59. package/designer/drawer/index.esm.js +73 -71
  60. package/designer/drawer/index.umd.cjs +2 -2
  61. package/designer/dynamic-form/index.esm.js +87 -65
  62. package/designer/dynamic-form/index.umd.cjs +2 -2
  63. package/designer/farris-designer.all.esm.js +14 -3
  64. package/designer/farris-designer.all.umd.cjs +3 -3
  65. package/designer/input-group/index.esm.js +34 -14
  66. package/designer/input-group/index.umd.cjs +1 -1
  67. package/designer/list-view/index.esm.js +1 -1
  68. package/designer/list-view/index.umd.cjs +1 -1
  69. package/designer/radio-group/index.esm.js +15 -2
  70. package/designer/radio-group/index.umd.cjs +1 -1
  71. package/designer/section/index.esm.js +129 -119
  72. package/designer/section/index.umd.cjs +1 -1
  73. package/designer/time-picker/index.esm.js +140 -131
  74. package/designer/time-picker/index.umd.cjs +1 -1
  75. package/farris.all.esm.js +13578 -12394
  76. package/farris.all.umd.cjs +26 -26
  77. package/index.css +1 -1
  78. package/locales/data-grid/ui/en.json +2 -1
  79. package/locales/data-grid/ui/zh-CHS.json +2 -1
  80. package/locales/data-grid/ui/zh-CHT.json +2 -1
  81. package/locales/designer/en.json +12 -10
  82. package/locales/designer/zh-CHS.json +19 -17
  83. package/locales/designer/zh-CHT.json +19 -17
  84. package/locales/ui/en.json +4 -2
  85. package/locales/ui/zh-CHS.json +11 -9
  86. package/locales/ui/zh-CHT.json +11 -9
  87. package/package.json +1 -1
  88. package/package.zip +0 -0
  89. package/types/combo-list/src/composition/types.d.ts +1 -0
  90. package/types/condition/src/composition/condition-value/number-spinner-value.d.ts +1 -1
  91. package/types/condition/src/composition/use-field-config.d.ts +1 -1
  92. package/types/condition/src/condition.props.d.ts +1 -1
  93. package/types/data-view/designer/property-config/use-command-option.d.ts +12 -0
  94. package/types/image/src/property-config/image.property-config.d.ts +5 -5
  95. package/types/locale/src/lib/locale.service.d.ts +2 -2
  96. package/types/property-panel/src/composition/entity/input-base-property.d.ts +7 -0
  97. package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +0 -20
  98. package/types/section/src/designer/section.design.props.d.ts +17 -0
  99. package/types/section/src/section.props.d.ts +0 -25
@@ -1,4 +1,4 @@
1
- (function(A,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../tags/index.umd.js"),require("lodash-es"),require("../popover/index.umd.js"),require("../button-edit/index.umd.js"),require("../list-view/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../tree-view/index.umd.js"),require("../event-parameter/index.umd.js"),require("../input-group/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../locale/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../tags/index.umd.js","lodash-es","../popover/index.umd.js","../button-edit/index.umd.js","../list-view/index.umd.js","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../tree-view/index.umd.js","../event-parameter/index.umd.js","../input-group/index.umd.js"],t):(A=typeof globalThis<"u"?globalThis:A||self,t(A["sort-condition-editor"]={},A.Vue,A.dynamicResolver,A.locale,A.common,A.propertyPanel,A.FTags,A.LodashES,A.FPopover,A.FButtonEdit$1,A.FListView,A.FButtonEditDesign,A.designerCanvas,A.FTreeView,A.FEventParameter,A.inputGroup))})(this,function(A,t,U,G,Q,ht,gt,J,bt,me,vt,xt,pe,je,Ct,wt){"use strict";var mo=Object.defineProperty;var po=(A,t,U)=>t in A?mo(A,t,{enumerable:!0,configurable:!0,writable:!0,value:U}):A[t]=U;var K=(A,t,U)=>po(A,typeof t!="symbol"?t+"":t,U);const kt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""},repositoryToken:{description:"",type:"object",default:null},fields:{description:"",type:"array",default:null},editorParams:{type:"object",default:null},displayText:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},beforeOpen:{description:"",type:"function",default:null},onSubmitModal:{description:"",type:"function",default:null}}},Re={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},displayText:{type:String,default:""},enableExpress:{type:Boolean,default:!1},modelValue:{type:String,default:""},insertType:{type:String,default:"below"},fields:{type:Array,default:[]},repositoryToken:{type:Object,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},beforeOpen:{type:Function,default:null}},Ft=U.createPropsResolver(Re,kt),Tt={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},St={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Nt=t.defineComponent({name:"FOverlay",props:St,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),o=t.ref(e.host),l=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(c){n.emit("click"),c.preventDefault(),c.stopPropagation()}t.computed(()=>{const c=o.value;if(c){const d=c.getBoundingClientRect(),{left:m,top:b,height:f}=d;return{left:m,top:b+f}}return a.value});const r=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var c,d;return[t.createVNode("div",{class:"overlay-container",onClick:m=>i(m),style:l.value},[t.createVNode("div",{style:r.value},[(d=(c=n.slots).default)==null?void 0:d.call(c)])])]}})}});function Vt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Mt(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 i=Vt(e);return()=>t.createVNode(Nt,{"popup-content-position":e.popupPosition,host:e.host,onClick:l,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),a.mount(n),a}class Bt{static show(n){return Mt(n)}}const Ot={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"}};class W{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),i=parseInt(o[5],10);return{x:l,y:i}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new W(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new W(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 W(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 W(0,0);if(window){const o=window.getComputedStyle(n);if(o){const l=parseInt(o.getPropertyValue("left"),10),i=parseInt(o.getPropertyValue("top"),10);a.x=isNaN(l)?0:l,a.y=isNaN(i)?0:i}return a}return null}static copy(n){return new W(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 ne{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new ne(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 ne(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Et(e,n){const a=t.ref(),o=t.ref(),l=t.ref(),i=t.ref(),r=t.ref(),c=t.ref(),d=t.ref(),m=t.ref(),b=t.ref(),f=t.ref(),u=t.ref(),h=t.ref(e.resizeable),p=t.ref(),C=t.ref(e.draggable),s=t.ref(!1);function y(){const B=o.value||document.body,M=window.getComputedStyle(B);if(!M||!a.value)return;const $=W.getTransformInfo(a.value),z={};d.value&&(z.deltaL=a.value.offsetLeft-d.value.x,z.deltaT=a.value.offsetTop-d.value.y);const H=M.getPropertyValue("position");z.width=B.clientWidth,z.height=B.clientHeight,z.pr=parseInt(M.getPropertyValue("padding-right"),10),z.pb=parseInt(M.getPropertyValue("padding-bottom"),10),z.position=M.getPropertyValue("position"),H==="static"&&(B.style.position="relative"),z.translateX=$.x,z.translateY=$.y,f.value=z}function x(B){if(a.value){i.value=ne.getCurrent(a.value),r.value=W.getCurrent(a.value),c.value=i.value?ne.copy(i.value):null,d.value=r.value?W.copy(r.value):null,y();const M=B.target.getAttribute("type")||"";m.value={n:!!M.match(/n/),s:!!M.match(/s/),w:!!M.match(/w/),e:!!M.match(/e/)}}}function k(){var B,M,$,z;if(a.value){const H=a.value;m.value&&((m.value.n||m.value.s)&&((B=c.value)!=null&&B.height)&&(H.style.height=c.value.height+"px"),(m.value.w||m.value.e)&&((M=c.value)!=null&&M.width)&&(H.style.width=c.value.width+"px"),d.value&&(($=d.value)!=null&&$.x&&(H.style.left=d.value.x+"px"),(z=d.value)!=null&&z.y&&(H.style.top=d.value.y+"px")))}}function F(){const B=e.minHeight?e.minHeight:1,M=e.minWidth?e.minWidth:1;c.value&&d.value&&m.value&&i.value&&(c.value.height<B&&(c.value.height=B,m.value.n&&r.value&&(d.value.y=r.value.y+(i.value.height-B))),c.value.width<M&&(c.value.width=M,m.value.w&&r.value&&(d.value.x=r.value.x+(i.value.width-M))),e.maxHeight&&c.value.height>e.maxHeight&&(c.value.height=e.maxHeight,r.value&&m.value.n&&(d.value.y=r.value.y+(i.value.height-e.maxHeight))),e.maxWidth&&c.value.width>e.maxWidth&&(c.value.width=e.maxWidth,m.value.w&&r.value&&(d.value.x=r.value.x+(i.value.width-e.maxWidth))))}function v(){if(o.value){const B=f.value;if(d.value&&c.value&&m.value&&i.value){const M=B.width-B.pr-B.deltaL-B.translateX-d.value.x,$=B.height-B.pb-B.deltaT-B.translateY-d.value.y;m.value.n&&d.value.y+B.translateY<0&&r.value&&(d.value.y=-B.translateY,c.value.height=i.value.height+r.value.y+B.translateY),m.value.w&&d.value.x+B.translateX<0&&r.value&&(d.value.x=-B.translateX,c.value.width=i.value.width+r.value.x+B.translateX),c.value.width>M&&(c.value.width=M),c.value.height>$&&(c.value.height=$)}}}function g(B){if(!l.value||!i.value||!r.value||!m.value)return;B.subtract(l.value);const M=B.x,$=B.y;m.value.n?(d.value.y=r.value.y+$,c.value.height=i.value.height-$):m.value.s&&(c.value.height=i.value.height+$),m.value.e?c.value.width=i.value.width+M:m.value.w&&(c.value.width=i.value.width-M,d.value.x=r.value.x+M),v(),F(),k()}function w(B){if(!b.value)return;const M=W.fromEvent(B);M&&g(M)}function N(){if(a.value){const{width:B,height:M,x:$,y:z}=a.value.getBoundingClientRect(),H=W.getTransformInfo(a.value);return{size:{width:B,height:M},position:{x:$-H.x,y:z-H.y}}}return null}function j(B){if(a.value){const M=N();u.value=M}l.value=void 0,i.value=null,r.value=null,c.value=null,d.value=null,m.value=null,b.value=null,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",j)}function I(){document.addEventListener("mousemove",w),document.addEventListener("mouseup",j)}function T(B){B instanceof MouseEvent&&B.button===2||C.value&&(document.body.click(),B.stopPropagation(),B.preventDefault(),l.value=W.fromEvent(B),b.value=B.target,x(B),I())}function O(B){return a.value=B,h.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:M=>T(M)},null)])}function S(B=!0){document.body.click();const M=o.value||document.body,$=ne.getCurrent(M),z=a.value;B&&z&&(p.value=N(),p.value.transform=z.style.transform),$&&z&&(c.value=$,c.value.height-=14,c.value.width-=14,z.style.height=c.value.height+"px",z.style.width=c.value.width+"px",z.style.left="7px",z.style.top="7px",z.style.transform="",u.value={size:c.value,position:{x:0,y:0}},C.value=!1,s.value=!0)}function E(){var B,M;if(document.body.click(),p.value){const $={width:p.value.size.width||0,height:p.value.size.height||0},z={x:(window.innerWidth-$.width)/2,y:(window.innerHeight-$.height)/2};(B=c.value)==null||B.set($),(M=d.value)==null||M.set(z);const H=a.value;H.style.height=$.height+"px",H.style.width=$.width+"px",H.style.left=`${z.x}px`,H.style.top=`${z.y}px`,H.style.transform="",u.value={size:$,position:z},C.value=e.draggable,s.value=!1}}function D(){if(a.value){const B=ne.getCurrent(a.value);if(B){const{width:M,height:$}=B;a.value.style.left=`${(window.innerWidth-M)/2}px`,a.value.style.top=`${(window.innerHeight-$)/2}px`,a.value.style.transform=""}}}function P(){const B=()=>{s.value?S(!1):D(),document.body.click()};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}}const R=P();return{renderResizeBar:O,boundingElement:o,resizedEventParam:u,maximize:S,restore:E,allowDrag:C,isMaximized:s,unWindowResizeHandle:R,moveToCenter:D}}function Dt(e,n,a){const o=t.ref(),l=t.ref(e.draggable),i=t.ref(e.lockAxis),r=t.ref(),c=t.ref(),d=t.ref(!1),m=t.ref(new W(0,0)),b=t.ref(new W(0,0)),f=t.ref(new W(0,0)),u=t.ref(new W(0,0));t.watch(()=>a.value,w=>{r.value.style.cursor=w?"move":"default"});function h(w,N){if(N.tagName==="BUTTON")return!1;if(N===w)return!0;for(const j in N.children)if(Object.prototype.hasOwnProperty.call(N.children,j)&&h(w,N.children[j]))return!0;return!1}function p(){var I,T;let w=f.value.x+b.value.x,N=f.value.y+b.value.y;i.value==="x"?(w=((I=m.value)==null?void 0:I.x)||0,f.value.x=0):i.value==="y"&&(N=((T=m.value)==null?void 0:T.y)||0,f.value.y=0);const j=`translate3d(${Math.round(w)}px, ${Math.round(N)}px, 0px)`;o.value&&(o.value.style.transform=j),u.value.x=w,u.value.y=N}function C(){if(!c.value||!o.value)return null;const w=c.value.getBoundingClientRect(),N=o.value.getBoundingClientRect(),j={top:w.top<N.top,right:w.right>N.right,bottom:w.bottom>N.bottom,left:w.left<N.left};return j.top||(f.value.y-=N.top-w.top),j.bottom||(f.value.y-=N.bottom-w.bottom),j.right||(f.value.x-=N.right-w.right),j.left||(f.value.x-=N.left-w.left),p(),j}function s(w){w&&(m.value&&w.subtract(m.value),f.value.set(w),p(),C())}function y(w){d.value&&l.value&&(w.stopPropagation(),w.preventDefault(),s(W.fromEvent(w,r.value)))}function x(){var w;d.value&&(d.value=!1,b.value.add(f.value),f.value.reset(),(w=o.value)==null||w.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",x))}function k(){!d.value&&r.value&&(d.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",y),document.addEventListener("mouseup",x))}function F(){if(o.value){const w=W.getTransformInfo(o.value);b.value.set(w);return}b.value.reset()}function v(w){if(!a.value||w instanceof MouseEvent&&w.button===2)return;const N=w.target||w.srcElement;r.value!==void 0&&N&&!h(N,r.value)||l.value!==!1&&(document.body.click(),w.stopPropagation(),w.preventDefault(),m.value=W.fromEvent(w,o.value),F(),k())}function g(w,N,j){if(l.value&&N){if(w)r.value=w;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)r.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const I=N.querySelector(e.dragHandle);I&&(r.value=I)}}o.value=N,c.value=j,r.value?(r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",v)):l.value=!1}}return{registerDraggle:g,resetTranslate:F}}function Le(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 Pt(e,n){const a=t.ref(e.enableEsc);let o=null;return a.value?(o=Le("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:o}):null}function It(e,n){const a=t.ref(e.enableEnter);let o=null;return a.value?(o=Le("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:o}):null}const se=t.defineComponent({name:"FModal",props:Ot,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(e,n){const a=t.ref(e.width||300),o=t.ref(e.height||200),l=t.ref(e.modelValue),i=t.ref(""),r=t.ref(e.class),c=t.ref(e.fitContent),d=t.ref(e.showHeader),m=t.ref(""),b=t.ref(e.showCloseButton),f=t.ref(e.showMaxButton),u=t.ref(!1),h=t.ref(e.dialogType),p=t.ref(e.src),C=t.ref(""),s=t.ref(e.showButtons),y=t.ref(e.title),x=t.ref(e.containment||null),k=t.ref();y.value==="错误提示"&&(y.value=G.LocaleService.getLocaleValue("messageBox.errorTitle"));const F=t.ref(!1);function v(V,L){const Y=L?"accept":"cancel";Promise.resolve().then(()=>{var q;return(q=e.beforeClose)==null?void 0:q.call(e,{closeType:Y})}).then(q=>{q&&(l.value=!1,n.emit("update:modelValue",!1),L!=null&&n.emit(L?"accept":"cancel"),n.emit("closed",V))})}const g=[{name:"cancel",text:G.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:V=>{v(V,!1)}},{name:"accept",text:G.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:V=>{v(V,!0)}}],w=t.ref(e.buttons&&e.buttons.length?e.buttons:g),N=t.computed(()=>!!m.value),j=t.computed(()=>!!s.value&&!!w.value),I=t.ref(),T=t.ref(),O=t.ref(!1),{renderResizeBar:S,maximize:E,restore:D,boundingElement:P,resizedEventParam:R,allowDrag:B,unWindowResizeHandle:M,moveToCenter:$}=Et(e),{registerDraggle:z}=Dt(e,n,B);function H(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Ee(){const V=document.querySelectorAll(".farris-modal").length;(!V||V-1<=0)&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}t.watch(()=>e.title,(V,L)=>{V!==L&&(y.value=V)}),t.watch(()=>e.modelValue,(V,L)=>{V!==L&&(l.value=V,l.value&&e.draggable&&t.nextTick(()=>{T.value&&!x.value&&(x.value=T.value.parentElement,P.value=x.value,z(I.value,T.value,P.value),$())}),V||(x.value&&(x.value=null),Ee())),l.value?F.value=H():(O.value=!1,B.value=e.draggable)}),t.watch(()=>e.showHeader,(V,L)=>{V!==L&&(d.value=V)}),t.watch(()=>e.showButtons,(V,L)=>{V!==L&&(s.value=V)}),t.watch(()=>R.value,(V,L)=>{const Y=V||{},q=L||{};JSON.stringify(Y)!==JSON.stringify(q)&&n.emit("resize",{newSize:V,oldSize:L,isMaximized:O.value})}),t.watch([()=>e.width,()=>e.height],(V,L)=>{(V[0]!==L[0]||V[1]!==L[1])&&(a.value=V[0]||500,o.value=V[1]||600)});const fe=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),De=t.computed(()=>{var Y;const V={modal:!0,"farris-modal":!0,fade:!0};V["f-modal-fitContent"]=!!c.value,V.show=!!fe.value;const L=(Y=e.maskClass)==null?void 0:Y.split(" ");return L==null||L.reduce((q,re)=>(q[re]=!0,q),V),V}),Ga=t.computed(()=>{var Y;const V={"modal-dialog":!0},L=(Y=r.value)==null?void 0:Y.split(" ");return L==null||L.reduce((q,re)=>(q[re]=!0,q),V),V}),Xa=t.computed(()=>{const V=document.documentElement.clientWidth,L=document.documentElement.clientHeight,Y=Math.min(a.value,V),q=c.value?"auto":`${Math.min(o.value,L-10)}px`,re={position:"absolute",top:`${(window.innerHeight-parseInt(q==="auto"?"0":q))/2}px`,left:`${(window.innerWidth-Y)/2}px`,width:`${Y}px`,height:q};return e.mask||(re.pointerEvents="auto"),re}),Ka=()=>Q.getMaxZIndex()||1040,Ja=t.computed(()=>{const V={display:"block",zIndex:Ka()};return e.mask||(V.pointerEvents="none",V.backgroundColor="transparent"),F.value&&(V.backgroundColor="transparent"),V}),_a=t.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value})),Za=t.computed(()=>{const V={display:d.value?"":"none"};return V["pointer-events"]=B.value?"auto":"none",V}),Qa=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:O.value})),eo=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":h.value==="iframe","f-utils-fill":!0}));function to(){return{height:`${e.footerHeight||60}px`}}const no=t.computed(()=>{const V={textAlgin:C.value},L=to();return Object.assign(V,L)});function yt(V){if(V==null||V.stopPropagation(),O.value){O.value=!1,D();return}E(),O.value=!0}async function ao(V,L){V.handle&&await V.handle(L,V)&&n.emit("closed",L)}function oo(V){V.width&&(a.value=V.width),V.height&&(o.value=V.height),V.buttons&&(w.value=V.buttons),V.title&&(y.value=V.title)}let Pe=null,Ie=null;t.onBeforeMount(()=>{F.value=H()}),t.onMounted(()=>{T.value&&!x.value&&(x.value=T.value.parentElement,P.value=x.value,z(I.value,T.value,P.value)),fe.value&&document.body.classList.add("modal-open"),Pe=Pt(e,n),Ie=It(e,n)}),t.onUnmounted(()=>{M&&M(),Pe&&Pe.remove(),Ie&&Ie.remove()}),n.expose({modalElementRef:T,updateModalOptions:oo,close:v,maxDialog:yt,isMaximized:O});function lo(){return t.createVNode("ul",null,[u.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),f.value&&t.createVNode("li",{onClick:yt,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:Qa.value},null)]),b.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:V=>v(V,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function io(){return t.createVNode("div",{class:"modal-footer",style:no.value},[w.value&&w.value.map(V=>{const L=t.ref(V.disabled);return t.createVNode("button",{name:V.name,type:"button",disabled:L.value,class:V.class+(V.iconClass?" btn-icontext":""),onClick:Y=>{ao(V,Y)}},[!!V.iconClass&&t.createVNode("i",{class:V.iconClass},null),V.text])})])}function ro(){return t.createVNode("div",{ref:I,class:"modal-header",style:Za.value},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[N.value&&t.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[y.value])]),t.createVNode("div",{class:"actions"},[lo()])])}function so(){return n.slots.footerTemplate?n.slots.footerTemplate():j.value&&io()}function co(V){if(V.stopPropagation(),e.allowClickMaskToClose){if(V.target!==k.value)return;v(V,!1)}}function uo(){var V,L;return t.createVNode("div",{id:i.value,class:Ga.value,style:Xa.value,ref:T},[t.createVNode("div",{class:_a.value},[d.value&&ro(),t.createVNode("div",{class:eo.value},[(L=(V=n.slots).default)==null?void 0:L.call(V),h.value==="iframe"&&t.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:p.value},null)]),so()]),!c.value&&T.value&&!O.value&&S(T.value)])}function fo(V){return V||"body"}return()=>t.createVNode(t.Teleport,{to:fo(e.host)},{default:()=>[fe.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:k,class:De.value,style:Ja.value,onClick:co},[uo()])]})]})}});function $e(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function jt(e){const n=document.createElement("div");n.style.display="contents";const a=t.createApp({setup(o,l){t.onUnmounted(()=>{document.body.removeChild(n)});const i=t.ref(),r=t.ref(e.class||""),c=t.ref(!!e.showButtons),d=t.ref(!!e.showHeader),m=t.ref(e.showCloseButton==null?!0:e.showCloseButton),b=t.ref(!0),f=t.ref(e.title||""),u=e.acceptCallback||(()=>{}),h=e.rejectCallback||(()=>{}),p=e.closedCallback||(k=>{}),C=e.resizeHandle||(k=>{}),s=e.stopMoveHandle||(k=>{}),y=$e(e),x=k=>{b.value=!1,a.unmount(),p(k)};return t.onMounted(()=>{}),l.expose({modalRef:i}),()=>t.createVNode(se,{ref:i,class:r.value,modelValue:b.value,"onUpdate:modelValue":k=>b.value=k,title:f.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":d.value,"show-buttons":c.value,"show-close-button":m.value,"show-max-button":!1,onAccept:u,onCancel:h,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:x,onResize:C,onStopMove:s},{default:()=>[y&&y(a)]})}});return document.body.appendChild(n),a.use(G.LocaleService.i18n),a.mount(n),a}class ze{constructor(n){K(this,"appContext",null);K(this,"modalRef",t.ref());K(this,"activeModalIndex",t.ref(0));K(this,"modalRefs",{});K(this,"isUseEscCloseModal",t.ref(!1));K(this,"activeModalInstance",t.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,a){const{width:o,height: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 jt(a)}close(n){var a,o;n?(o=n.value)==null||o.close():(a=this.getCurrentModal())==null||a.close()}open(n){const a=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const o=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),l=t.ref(!0),i=o.value.acceptCallback||(()=>{}),r=o.value.rejectCallback||(()=>{}),c=o.value.closedCallback||((v,g)=>{}),d=o.value.resizeHandle||(v=>{}),m=n.stopMoveHandle||(v=>{});let b;const f=$e(o.value),u=v=>{var w;l.value=!1;const g=(w=v==null?void 0:v.target)==null?void 0:w.classList.contains("modal_close");c(v,this.isUseEscCloseModal.value?"esc":g?"icon":"button")},h=v=>{u(v),b&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),b=null,this.modalRef.value=null,this.modalRefs){const g=Object.keys(this.modalRefs).map(w=>Number(w));g.length>0?this.activeModalIndex.value=Math.max(...g):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},p=v=>{var g;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((g=this.activeModalInstance.value)==null||g.close(v==null?void 0:v.event))},{width:C,height:s}=o.value,y=this.adaptToWindow(C||500,s||320);Object.assign(o.value,y);const x=()=>t.createVNode(se,t.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":v=>l.value=v},o.value,{onAccept:i,onCancel:r,onClosed:h,onResize:d,onEsc:p,onStopMove:m}),{default:()=>[f&&f(this.app)]});return b=(v=>{const g=t.h(x,v);return g.appContext=this.appContext,t.render(g,a),g})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{o.value={...o.value,...v},b&&t.render(t.cloneVNode(b,{...o}),a)},destroy:h,modalRef:this.activeModalInstance,close:()=>this.close()}}}const Ae=Symbol("FModalService");se.install=e=>{e.component(se.name,se);const n=new ze(e);e.provide(Ae,n),e.provide("FModalService",n)};function He(e,n){function a(){const o=e.beforeOpen||e.beforeClickButton||null;let l=Promise.resolve(!0);if(o){const i=o(n.value);if(typeof i>"u")return l;typeof i=="boolean"?l=Promise.resolve(i):l=i}return l}return{judgeCanOpen:a}}function Rt(e,n,a,o,l){const i=t.ref(e.buttonBehavior),r=t.ref(e.popupOnInput),c=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:d}=He(e,l),m=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),b=t.inject(Ae,null),f=t.ref();async function u(C){if(await d()&&m.value){const s=!!n.slots.default;if(i.value==="Modal"){const y=e.modalOptions,x=b==null?void 0:b.open({...y,render:()=>n.slots.default&&n.slots.default()});f.value=x==null?void 0:x.modalRef}i.value==="Overlay"&&Bt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),s&&i.value==="Popup"&&o.togglePopup(!0),s&&r.value&&o.hidePopup(),n.emit("clickButton",{origin:C,value:e.modelValue})}}function h(C){n.emit("mouseEnterIcon",C)}function p(C){n.emit("mouseLeaveIcon",C)}return{buttonGroupClass:c,onClickButton:u,onMouseEnterButton:h,onMouseLeaveButton:p,modalRef:f}}function Lt(e,n,a,o,l,i){const r=t.ref(!1),c=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:d,hasClearClass:m}=i;function b(p){r.value=p,m.value=p}t.watch(l,()=>{b(!!l.value)});function f(p){const C=!e.readonly&&!e.disable&&e.editable,s=!e.editable;p.stopPropagation(),(C||s)&&(d(""),l.value="",b(!r.value),n.emit("clear"))}function u(p){if(c.value){if(!a.value){b(!1);return}!e.disable&&!e.readonly&&b(!0)}}function h(p){c.value&&b(!1)}return{enableClearButton:c,showClearButton:r,onClearValue:f,onMouseEnterTextBox:u,onMouseLeaveTextBox:h}}function $t(e,n,a,o,l){const i=t.computed(()=>e.popupOnInput),r=t.computed(()=>e.popupOnFocus),{shouldPopupContent:c,closeAllPopover:d}=l,m=t.ref(!1),b=t.computed(()=>e.enableTitle?a.value:""),f=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),u=t.computed(()=>e.readonly||!e.editable),h=t.ref(!1),p=t.computed(()=>!e.disable&&h.value),C=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),s=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":p.value,"input-group--has-clear":e.enableClear&&m.value}));function y(T,O=!0){a.value=T,O&&(n.emit("change",T),n.emit("update:modelValue",T))}function x(T){c.value=!1,y(T,!0)}t.watch(()=>e.modelValue,T=>{a.value=T});function k(T){h.value=!1,n.emit("blur",T),T.stopPropagation()}function F(T){n.emit("click",T),d(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function v(T){!e.disable&&!e.readonly&&(h.value=!0,u.value||(n.emit("focus",T),r.value&&!c.value&&l.popup()))}function g(T){n.emit("input",T);const O=T.target.value;o.value=O,a.value!==O&&y(O,e.updateOn==="change"),i.value&&!c.value&&l.popup()}function w(T){T.target.tagName!=="INPUT"&&T.preventDefault(),T.stopPropagation()}function N(T){n.emit("keydown",T)}function j(T){T.key==="Enter"&&(i.value||r.value)&&l.hidePopup(),n.emit("keyup",T)}function I(T){const O=T.target.value;T.stopPropagation(),y(O)}return{hasFocusedTextBox:p,isTextBoxReadonly:u,textBoxClass:C,textBoxPlaceholder:f,textBoxTitle:b,inputGroupClass:s,hasClearClass:m,changeTextBoxValue:y,commitValue:x,onBlurTextBox:k,onClickTextBox:F,onFocusTextBox:v,onInput:g,onKeyDownTextBox:N,onKeyUpTextBox:j,onMouseDownTextBox:w,onTextBoxValueChange:I}}const ae="FarrisVue_PopoverInstancesKey";function zt(e,n,a,o){const l=t.ref(),i=t.ref(!1),{judgeCanOpen:r}=He(e,o);t.watch(()=>l.value,(h,p)=>{window[ae]=window[ae]||new WeakMap,h?window[ae].set(a.value,h):window[ae].delete(a.value)});function c(){if(window[ae]){const h=window[ae];document.querySelectorAll(".f-button-edit,.v-popover").forEach(p=>{const C=h.get(p);C&&p!==a.value&&!a.value.closest(".popover-fitcontent")&&C.hide()})}}function d(){const h=l.value;h&&h.show(a.value)}async function m(h=!1){if(!!n.slots.default){if(!h&&!i.value&&!await r())return;i.value=!i.value,i.value&&(await t.nextTick(),d())}}async function b(h=!1){if(!!n.slots.default){if(!h&&!await r())return;i.value=!0,await t.nextTick(),d()}}function f(){i.value=!1}function u(){i.value=!0,t.nextTick(()=>{d()})}return{hidePopup:f,showPopup:u,popup:b,shouldPopupContent:i,togglePopup:m,popoverRef:l,closeAllPopover:c}}function At(e,n,a){const o=t.ref(),{isTextBoxReadonly:l,textBoxClass:i,textBoxPlaceholder:r,textBoxTitle:c,onBlurTextBox:d,onClickTextBox:m,onFocusTextBox:b,onInput:f,onKeyDownTextBox:u,onKeyUpTextBox:h,onMouseDownTextBox:p,onTextBoxValueChange:C}=a,s=t.ref(e.id),{uuid:y}=Q.useGuid(),x=t.computed(()=>({}));t.onMounted(()=>{var w,N;e.selectOnCreated&&((w=o.value)==null||w.select()),e.focusOnCreated&&((N=o.value)==null||N.focus({preventScroll:!0})),s.value||(s.value="button-edit_"+y(8)),s.value=s.value+"-textbox"});const k=t.ref(!1),F=w=>{w.preventDefault(),k.value=!0},v=w=>{w.preventDefault(),k.value=!1,f(w)};function g(w){k.value||f(w)}return()=>t.createVNode("input",{id:e.id?e.id+"-textbox":void 0,ref:o,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,style:x.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:r.value,readonly:l.value,tabindex:e.tabIndex,title:c.value,type:e.inputType,value:n.value,onBlur:d,onChange:C,onClick:m,onFocus:b,onInput:g,onKeydown:u,onKeyup:h,onMousedown:p,onCompositionend:v,onCompositionstart:F},null)}function Ht(e,n,a){const o=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:i,onFocusTextBox:r,onBlurTextBox:c,onClickTextBox:d,textBoxPlaceholder:m}=a,b=t.computed(()=>n.value?n.value.split(o.value).map(p=>({name:p,selectable:!0})):[]);function f(p){i(p.map(C=>C.name).join(o.value),!0)}t.watch(()=>e.separator,p=>{o.value=p});const u=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([p,C],[s,y])=>{u.value=!p&&!C});function h(p){d(p)}return()=>t.createVNode(gt,{tabindex:e.tabIndex,onFocus:r,onBlur:c,id:`${e.id}-tag-editor`,class:"form-control",placeholder:m.value,data:b.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:f,onClick:h},null)}function Wt(e,n,a,o){const{buttonGroupClass:l,onClickButton:i,onMouseEnterButton:r,onMouseLeaveButton:c}=a,{enableClearButton:d,showClearButton:m,onClearValue:b}=o,f=t.ref(),u=J.debounce(p=>{i(p)},e.buttonBehavior==="Modal"?0:200),h=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>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:b,onMousedown:h},[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:u,onMouseenter:r,onMouseleave:c},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:f,onClick:p=>u(p),onMouseenter:r,onMouseleave:c},null):null]),buttonHandleElement:f}}function qt(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:i}=a,r=()=>{n.emit("shown")};return()=>t.createVNode(bt,{id:`${e.id}-popover`,ref:i,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:o.value,class:e.popupClass,offsetX:e.popupOffsetX,onHidden:l,onShown:r,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var c,d;return[(d=(c=n.slots).default)==null?void 0:d.call(c)]}})}const ye=t.defineComponent({name:"FButtonEdit",props:Tt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),l=t.ref(e.modelValue),i=zt(e,n,a,l),{shouldPopupContent:r,hidePopup:c,showPopup:d,togglePopup:m}=i,b=Rt(e,n,a,i,l),f=t.ref(""),u=$t(e,n,l,f,i),{hasFocusedTextBox:h,commitValue:p,inputGroupClass:C}=u,s=Lt(e,n,l,h,f,u),{onMouseEnterTextBox:y,onMouseLeaveTextBox:x}=s,k=t.ref(!1),F=t.computed(()=>{const P={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce((R,B)=>(R[B]=!0,R),P),P}),v=t.computed(()=>({overflow:e.wrapText?"hidden":""})),g=t.computed(()=>({}));function w(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let P=0;const R=Array.from(a.value.querySelectorAll(".farris-tag-item"));return R&&R.length&&(P=R.map(B=>B.offsetTop).filter(B=>B>20).length),P}const N=t.ref(w());t.onUpdated(()=>{N.value=w()});function j(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Ht(e,l,u)(),!!N.value&&t.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[t.createVNode("span",{class:"multi--more-text"},[t.createTextVNode("+"),N.value])])]):At(e,l,u)}let I=j();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{I=j()});const{renderButtonGroup:T,buttonHandleElement:O}=Wt(e,n,b,s),S=qt(e,n,i),E=t.ref(r.value),D={displayText:f,commitValue:p,elementRef:a,hidePopup:c,showPopup:d,popoverRef:i.popoverRef,shouldPopupContent:r,togglePopup:m,openDialog:()=>{O.value&&e.buttonBehavior==="Modal"&&O.value.click()},getModal:()=>{var P;return e.buttonBehavior==="Modal"?(P=b.modalRef.value)==null?void 0:P.value:null},getTextbox:()=>{var P;return(P=a.value)==null?void 0:P.querySelector("input")},forceClosePopup:()=>{E.value=!1,k.value=!0,r.value=!1}};return t.onMounted(()=>{a.value.componentInstance=D,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var P;window.onresize=null,(P=window[ae])==null||P.delete(a.value)}),n.expose(D),t.watch(()=>r.value,async(P,R)=>{if(k.value){E.value=P,k.value=!1;return}if(!P&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const B=await e.beforeClosePopup();E.value=!B,(!B||e.readonly)&&(r.value=!0)}catch(B){console.error("Error in beforeClosePopup:",B),E.value=R,r.value=R}return}E.value=P}),()=>{var P,R;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:F.value,id:e.id?e.id:void 0,style:v.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:C.value,style:g.value,onMouseenter:y,onMouseleave:x},[(R=(P=n.slots).precontent)==null?void 0:R.call(P),I(),T()])]),E.value&&S()])}}}),Ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""},repositoryToken:{description:"",type:"object",default:null},fields:{description:"",type:"array",default:null},editorParams:{type:"object",default:null},displayText:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},beforeOpen:{description:"",type:"function",default:null},onSubmitModal:{description:"",type:"function",default:null},editorType:{description:"",type:"string",default:"filter"},enableExpression:{description:"",type:"boolean",default:!1},expressionOptions:{description:"",type:"object",default:null},formContextData:{description:"",type:"object",default:{}},singleValue:{description:"",type:"boolean",default:!0},idField:{description:"",type:"string",default:"id"},textField:{type:"string",default:""},valueField:{type:"string",default:""},editable:{type:"boolean",default:!0},enableTitle:{type:"boolean",default:!0}}},We={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},displayText:{type:String,default:""},enableExpression:{type:Boolean,default:!1},modelValue:{type:String,default:""},insertType:{type:String,default:"below"},fields:{type:Array,default:[]},repositoryToken:{type:Object,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},beforeOpen:{type:Function,default:null},editorType:{type:String,default:"filter"},expressionOptions:{type:Object,default:null},formContextData:{type:Object,default:{}},singleValue:{type:Boolean,default:!0},idField:{type:String,default:"id"},textField:{type:String,default:""},valueField:{type:String,default:""},editable:{type:Boolean,default:!0},enableTitle:{type:Boolean,default:!0},disableConfirmWhenUnchanged:{type:Boolean,default:!1}};U.createPropsResolver(We,Ut);const qe={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},activeIndex:{type:Number,default:-1},formatter:{type:Function,default:(e,n)=>`${n.raw.name} [${n.raw.path}]`},enableExpression:{type:Boolean,default:!1},expressionOptions:{type:Object,default:null},formContextData:{type:Object,default:{}},singleValue:{type:Boolean,default:!0},idField:{type:String,default:"id"},textField:{type:String,default:""},valueField:{type:String,default:""}},Yt=new Map([["appearance",U.resolveAppearance]]),Gt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"]};function Xt(e,n,a){return n}function Kt(){function e(n,a,o){const l={};return l.beforeOpen=i=>a.call("beforeOpen",n,[i,n],o),l}return{resolve:e}}const ke={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},Jt=Object.assign({},ke,{readonly:{}}),Ue=U.createPropsResolver(ke,Gt,Yt,Xt),_t=Kt(),Zt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Qt=t.defineComponent({name:"FComboListContainer",props:Zt,emits:["selectionChange"],setup(e,n){const a=t.ref(),o=t.ref(e.dataSource),l=t.ref([]),i=t.ref(e.separator),r=t.ref(e.width),c=t.ref(e.maxHeight),d=t.ref(String(e.selectedValues).split(i.value)),m=t.computed(()=>e.multiSelect),b=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:m.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const f=t.computed(()=>{const s={};return r.value!==void 0&&(s.width=`${r.value}px`),c.value!==void 0&&c.value>0&&(s.maxHeight=`${c.value}px`),s});function u(s){a.value.search(s)}function h(s){l.value=s.map(y=>Object.assign({},y)),d.value=s.map(y=>y[e.idField]),n.emit("selectionChange",l.value)}function p(s){if(e.enableHighlightSearch)return;let y=[];const{searchOption:x}=e;typeof x=="function"?y=o.value.filter(k=>x(s,k)):y=o.value.filter(k=>k[e.valueField].indexOf(s)>-1||k[e.textField].indexOf(s)>-1),a.value.updateDataSource(y)}t.watch([()=>e.selectedValues],([s])=>{e.multiSelect?d.value=s.split(i.value):d.value=[s]});function C(s){a.value.activeRowById(s)}return t.onMounted(()=>{var s,y;if(!e.multiSelect){const x=(s=d.value)==null?void 0:s[0];let k=x;if(!J.isUndefined(x)){const F=typeof x,v=typeof((y=o.value[0])==null?void 0:y[e.valueField||e.idField]);v==="number"&&F!==v&&(k=Number(x)),v==="boolean"&&F!==v&&(k=x==="true"?!0:x==="false"?!1:x),C(k)}}}),n.expose({search:u,activeRowById:C}),()=>t.createVNode("div",{class:"f-combo-list-container",style:f.value},[t.createVNode(vt,{ref:a,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:o.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:b.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:d.value,onSelectionUpdate:h,onAfterSearch:p},null)])}});function en(e){const n=t.ref(""),a=t.ref(e.modelValue),o=t.ref(e.data||[]),l=t.ref(e.editable);function i(f){const u=e.multiSelect?String(f).split(e.separator):[String(f)],h=u.map(s=>[s,!0]),p=new Map(h);return o.value.filter(s=>p.has(String(s[e.valueField]))).sort((s,y)=>{const x=u.indexOf(s[e.valueField]),k=u.indexOf(y[e.valueField]);return x-k})}function r(f){const u=i(f).map(h=>h[e.textField]).join(e.separator);n.value=l.value?u||f:u}function c(f){if(e.multiSelect){const u=f.split(e.separator).map(p=>[p,!0]),h=new Map(u);return o.value.filter(p=>h.has(p[e.textField]))}return o.value.filter(u=>""+u[e.textField]===f)}function d(f){const u={};return u[e.idField]=f,u[e.textField]=f,[u]}function m(f){let u=c(f);const h=u&&u.length>0;return l.value&&!h&&(u=d(f)),u}function b(){const{url:f,method:u="GET",headers:h={"Content-Type":"application/json;charset=utf-8;"},body:p=null}=e.remote;if(!f)return;const C=u.toLowerCase()==="get"?{method:u,headers:h}:{method:u,headers:h,body:p};let s=!1;fetch(new Request(f,C)).then(y=>{var k,F;if(y.status===200)return s=!!((F=(k=y.headers)==null?void 0:k.get("content-type"))!=null&&F.includes("application/json")),s?y.text():y.json();throw y.status===405?new Error(G.LocaleService.getLocaleValue("comboList.remoteError")):new Error(y.statusText)}).then(y=>{y.length&&(o.value=s?JSON.parse(y):y)}).catch(y=>{console.warn(y)})}return e.remote&&(e.load?e.load().then(f=>{o.value=f}).catch(f=>{console.log(f)}):b()),t.watch(()=>e.data,()=>{o.value=e.data}),t.watch([o],([f])=>{if(e.modelValue!=null){const u=f.find(h=>h[e.valueField]===e.modelValue);u&&(n.value=u[e.textField])}}),t.watch(()=>e.modelValue,f=>{a.value=f,r(f)}),r(e.modelValue),{dataSource:o,displayText:n,editable:l,modelValue:a,getItemsByDisplayText:c,getItemsByValue:i,getSelectedItemsByDisplayText:m}}const oe=t.defineComponent({name:"FComboList",props:ke,emits:["clear","update:modelValue","change","input"],setup(e,n){const a=t.ref(),o=t.ref(),l=t.ref(e.disabled||e.readonly),i=t.ref(e.enableClear),r=t.ref(e.enableSearch),c=t.ref(e.readonly),{dataSource:d,displayText:m,editable:b,modelValue:f,getItemsByDisplayText:u,getItemsByValue:h}=en(e),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 C=t.computed(()=>e.multiSelect),s=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function y(){!C.value&&o.value&&o.value.hidePopup()}function x(D){m.value=D.map(R=>R[e.textField]).join(e.separator);let P="";D.length===1?P=D[0][e.valueField]:P=D.map(R=>R[e.valueField]).join(e.separator),f.value!==P&&(f.value=P,n.emit("update:modelValue",f.value),n.emit("change",D,f.value))}function k(){const D=h(f.value);x(D)}function F(){c.value||m.value}function v(D){var P;f.value="",(P=a.value)==null||P.activeRowById(""),n.emit("update:modelValue",""),n.emit("change",[],""),n.emit("clear")}function g(D){var P,R;e.enableSearch&&e.enableHighlightSearch&&((P=a.value)==null||P.search(D)),(R=a.value)==null||R.activeRowById(D),n.emit("change",[f.value],f.value)}function w(D){if(e.multiSelect){const P=u(D);e.viewType;const B=P.map(M=>M[e.idField||e.valueField]).join(e.separator);f.value!==B&&(f.value=B,n.emit("update:modelValue",f.value),n.emit("change",P,f.value))}}function N(){return m.value}function j(D){const{value:P}=D.target;g(P),n.emit("input",P)}function I(){o.value.hidePopup()}function T(D){d.value=D}function O(){return d.value}const S={getDisplayText:N,hidePopup:I,updateDataSource:T,getData:O};n.expose(S);function E(D){const P=typeof e.beforeOpen=="function";return!e.beforeOpen||!P?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:S})).then(R=>typeof(R==null?void 0:R.canOpen)=="boolean"?R==null?void 0:R.canOpen:!0)}return t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([D,P,R,B,M])=>{l.value=D,b.value=P,i.value=R,r.value=B,c.value=M}),()=>t.createVNode(me,{ref:o,id:e.id,disable:l.value,readonly:c.value,forcePlaceholder:e.forcePlaceholder,editable:b.value,buttonContent:p.value,placeholder:e.placeholder==="请选择"?G.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:i.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:v,onClick:F,onChange:w,onBlur:k,onInput:j,beforeOpen:E,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[t.createVNode(Qt,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:d.value,selectedValues:f.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:r.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?s.value:void 0,onSelectionChange:D=>{x(D),y()}},null)]})}}),Ye={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class tn extends ht.InputBaseProperty{constructor(n,a){super(n,a)}getCommonEditorProperties(n){var a,o,l;return{viewType:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=n.editor)!=null&&o.multiSelect)&&((l=n.editor)==null?void 0:l.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(n){var i,r;const a=this;let o="";if(((i=n==null?void 0:n.binding)==null?void 0:i.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(r=c==null?void 0:c.schemaField)!=null&&r.type&&(o=c.schemaField.type.$type)}return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!n.editor.dataSourceType||n.editor.dataSourceType==="static",...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic",$converter:Ye,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Ye,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(c,d)=>{if(!c||!d.editor)return;const m=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(d.editor.valueField="value",d.editor.textField="name",d.editor.remote=null):c.propertyValue==="dynamic"&&(d.editor.remote={method:"GET"},d.editor.valueField="value",d.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(d)&&d.formatter&&(d.formatter.data=[...c.propertyValue]);break}case"viewType":c.propertyValue==="tag"&&(d.editor.editable=!1)}})}getGridFieldEdtiorProperties(n,a){var r,c,d,m,b,f;const o=this;let l="";if(((r=n==null?void 0:n.binding)==null?void 0:r.type)==="Form"){const u=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(c=u==null?void 0:u.schemaField)!=null&&c.type&&(l=u.schemaField.type.$type)}return o.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((d=n.editor)!=null&&d.dataSourceType)||((m=n.editor)==null?void 0:m.dataSourceType)==="static",...o.getItemCollectionEditor(n,(b=n.editor)==null?void 0:b.valueField,(f=n.editor)==null?void 0:f.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:l==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(u,h)=>{if(!u||!h.editor)return;const p=this;switch(u.propertyID){case"dataSourceType":{u.propertyValue==="static"?(h.editor.valueField="value",h.editor.textField="name",h.editor.remote=null):u.propertyValue==="dynamic"&&(h.editor.remote={method:"GET"},h.editor.valueField="value",h.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(h)&&h.formatter&&(h.formatter.data=[...u.propertyValue]);break}}})}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 i;super.changeBindingField(n,a);const l=o;n.editor&&((i=l==null?void 0:l.type)==null?void 0:i.$type)===Q.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=l.type.enumValues||[])}getEventPropertyConfig(n,a="card",o,l){const i=this;let r=[{label:"onChange",name:"值变化事件"},{label:"onClear",name:"清空事件"},{label:"beforeOpen",name:"打开下拉面板前"}];o&&(r=r.concat(o)),this.appendFieldValueChangeEvents(n,r);const c=i.eventsEditorUtils.formProperties(n,i.viewModelId,r);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(c),tabId:"commands",tabName:"交互",setPropertyRelates(b,f){const u=b.propertyValue;delete n[i.viewModelId],u&&(u.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(n,i.viewModelId,u.events,u)),l&&l(b,f,u);const h=i.designViewModelUtils.getDgViewModel(i.viewModelId);h&&i.designViewModelField&&h.changeField(i.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged}),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}}function nn(e,n){const a=e.schema;function o(l,i){return new tn(l,n).getPropertyConfig(a,i)}return{getPropsConfig:o}}const an=t.defineComponent({name:"FComboListDesign",props:Jt,emits:["clear","update:modelValue","change"],setup(e,n){const a=t.ref(),o=t.inject("designer-host-service"),l=t.inject("design-item-context"),i=nn(l,o),r=pe.useDesignerComponent(a,l,i);return t.onMounted(()=>{a.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode(xt,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});oe.register=(e,n,a,o)=>{e["combo-list"]=oe,n["combo-list"]=Ue,o["combo-list"]={callbackResolver:_t}},oe.registerDesigner=(e,n,a)=>{e["combo-list"]=an,n["combo-list"]=Ue},Q.withInstall(oe),Q.withInstall(ye);const on={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}},Ge=new Map([["appearance",U.resolveAppearance]]);function Xe(e,n,a){return n}const ln={$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"]},rn={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"}}}}},Fe={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Ke=U.createPropsResolver(Fe,ln,Ge,Xe,rn);function Je(e){const n=t.ref(-1),a=t.ref(-1),o=t.ref(0),l=t.ref(0),i=t.ref(!1),r=t.ref(!1),c=t.computed(()=>({display:i.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),d=t.computed(()=>({display:r.value?"block":"none",top:`${l.value}px`,cursor:"n-resize"})),m=t.computed(()=>{const s={display:r.value||i.value?"block":"none"};return l.value>0&&(s.cursor="n-resize"),s});function b(s,y,x,k){const F=e.value;if(F){const{left:v,right:g,width:w}=F.getBoundingClientRect();let N=s.clientX-v;k==="right"&&(N=g-s.clientX),N>y&&(N=y),N<x&&(N=x),k==="right"&&(N=w-N),o.value=N}}function f(s,y,x,k){const F=e.value;if(F){const{top:v,bottom:g,height:w}=F.getBoundingClientRect();let N=s.clientY-v;k==="bottom"&&(N=g-s.clientY),N>y&&(N=y),N<x&&(N=x),k==="bottom"&&(N=w-N),l.value=N}}function u(){const s=e.value;if(s){const{width:y,height:x}=s.getBoundingClientRect();return{width:y,height:x}}return null}function h(){const s=e.value;return s?Array.from(s.querySelectorAll("[data-position]")).reduce((y,x)=>{const k=x.getAttribute("data-position");return y=Object.assign(y,{[k]:x}),y},{}):null}function p(s,y){const x=u(),k=h();if(x&&k){const F=k==null?void 0:k.right,v=k==null?void 0:k.left;if(s==="left"&&v)return F?x.width-F.clientWidth-y:x.width-y;if(s==="right"&&F)return v?x.width-v.clientWidth-y:x.width-y}}function C(s,y){const x=u(),k=h();if(x&&k){const F=k==null?void 0:k.bottom,v=k==null?void 0:k.top;if(s==="top"&&v)return F?x.height-F.clientHeight-y:x.height-y;if(s==="bottom"&&F)return v?x.height-v.clientHeight-y:x.height-y}}return{horizontalResizeHandleStyle:c,verticalResizeHandleStyle:d,resizeOverlayStyle:m,showHorizontalResizeHandle:i,showVerticalResizeHandle:r,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:b,draggingVerticalResizeHandle:f,getPanelMaxHeight:C,getPanelMaxWidth:p}}const ee=t.defineComponent({name:"FLayout",props:Fe,emits:[],setup(e,n){const a=t.ref(),o=Je(a),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:i,resizeOverlayStyle:r}=o;t.provide("layout",{useResizeHandleComposition:o});const c=t.computed(()=>{const m={"f-layout":!0};return Q.getCustomClass(m,e==null?void 0:e.customClass)}),d=t.computed(()=>{const m={};return Q.getCustomStyle(m,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:c.value,style:d.value,ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:r.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:l.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:i.value},null)])}}),sn={$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"]},cn={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:"是否可见"}}}}},Te={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}},_e=U.createPropsResolver(Te,sn,Ge,Xe,cn);function Ze(e,n,a,o,l){const{horizontalResizeBarPosition:i,horizontalResizeHandleOffset:r,showHorizontalResizeHandle:c,showVerticalResizeHandle:d,verticalResizeBarPosition:m,verticalResizeHandleOffset:b,draggingHorizontalResizeHandle:f,draggingVerticalResizeHandle:u,getPanelMaxHeight:h,getPanelMaxWidth:p}=l;let C="",s,y,x;function k(g){if((C==="left"||C==="right")&&y){const{left:w}=y.getBoundingClientRect(),{width:N}=s.getBoundingClientRect(),j=g.clientX-w;let I=C==="left"?(N||0)+(j-i.value):(N||0)-(j-i.value);I=a.value>0?Math.max(a.value,I):I;const T=p(C,a.value);T!=null&&(I=T>I?I:T),e.value=I}if((C==="top"||C==="bottom")&&y){const{top:w}=y.getBoundingClientRect(),{height:N}=s.getBoundingClientRect(),j=g.clientY-w;let I=C==="top"?(N||0)+(j-m.value):(N||0)-(j-m.value);I=o.value>0?Math.max(o.value,I):I;const T=h(C,o.value);T!=null&&(I=T>I?I:T),n.value=I}r.value=0,b.value=0,i.value=-1,m.value=-1,c.value=!1,d.value=!1,document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",k),document.body.style.userSelect="",C="",s=null,y=null}function F(g,w,N){if(C=w,s=N,c.value=!0,y=g.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),y){const{left:I}=y.getBoundingClientRect(),T=g.clientX-I;r.value=T,i.value=T;const O=p(C,a.value)||0;x=S=>f(S,O,a.value,C),document.addEventListener("mousemove",x),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}function v(g,w,N){if(C=w,s=N,d.value=!0,y=g.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),y){const{top:I}=y.getBoundingClientRect();b.value=g.clientY-I,m.value=g.clientY-I;const T=h(C,o.value)||0;x=O=>u(O,T,o.value,C),document.addEventListener("mousemove",x),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:v}}const _=t.defineComponent({name:"FLayoutPane",props:Te,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),i=t.ref(e.height<=0?100:e.height),r=t.ref(Math.max(a.value,i.value)),c=t.ref(Math.max(o.value,l.value)),d=t.ref(),m=t.ref(e.position),b=t.ref(e.resizable);t.watch(()=>e.resizable,v=>{b.value=v});const f=t.inject("layout"),{useResizeHandleComposition:u}=f,h=Ze(c,r,o,a,u),{onClickHorizontalResizeBar:p,onClickVerticalResizeBar:C}=h,s=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"})),y=t.computed(()=>m.value!=="center"&&b.value);function x(v,g){(g==="left"||g==="right")&&p(v,g,d.value),(g==="top"||g==="bottom")&&C(v,g,d.value)}const k=t.computed(()=>{const v={"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((g,w)=>(g[w]=!0,g),v),v}),F=t.computed(()=>{const v={};return(c.value&&m.value==="left"||m.value==="right")&&(v.width=`${c.value}px`),(r.value&&m.value==="bottom"||m.value==="top")&&(v.height=`${r.value}px`),e.visible||(v.display="none"),v});return()=>t.createVNode("div",{ref:d,class:k.value,style:F.value,"data-position":m.value},[n.slots.default&&n.slots.default(),y.value&&t.createVNode("span",{class:s.value,onMousedown:v=>x(v,m.value)},null)])}});function un(e,n){function a(){return!1}return{canAccepts:a}}const dn=t.defineComponent({name:"FLayoutDesign",props:Fe,emits:[],setup(e,n){var b;const a=t.ref(),o=t.inject("design-item-context"),l=un(o.schema,(b=o.parent)==null?void 0:b.schema),i=pe.useDesignerComponent(a,o,l);i.value.canNested=!1;const r=Je(a),{horizontalResizeHandleStyle:c,verticalResizeHandleStyle:d,resizeOverlayStyle:m}=r;return t.provide("layout",{useResizeHandleComposition:r}),t.onMounted(()=>{a.value.componentInstance=i}),n.expose(i.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:c.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:d.value},null)])}});function fn(e,n){const a=e.schema;function o(i){return!!pe.useDragulaCommonRule().basalDragulaRuleForContainer(i)}function l(){const i=["f-layout-pane"];return(a.position==="left"||a.position==="right")&&i.push("f-page-content-nav"),a.position==="center"&&i.push("f-page-content-main"),i.join(" ")}return{canAccepts:o,getDesignerClass:l}}const mn=t.defineComponent({name:"FLayoutPaneDesign",props:Te,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const l=t.inject("design-item-context"),i=fn(l),r=pe.useDesignerComponent(o,l,i);r.value.canNested=!1,r.value.canMove=!1,r.value.canDelete=!1,t.onMounted(()=>{o.value.componentInstance=r}),n.expose(r.value);const c=t.ref(Math.max(e.minHeight,e.height)),d=t.ref(Math.max(e.minWidth,e.width)),m=t.ref(e.minHeight),b=t.ref(e.minWidth),f=t.ref(e.position),u=t.inject("layout"),{useResizeHandleComposition:h}=u,p=Ze(d,c,b,m,h),{onClickHorizontalResizeBar:C,onClickVerticalResizeBar:s}=p,y=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":f.value==="left","f-layout-resize-bar-n":f.value==="bottom","f-layout-resize-bar-s":f.value==="top","f-layout-resize-bar-w":f.value==="right"}));function x(v,g){(g==="left"||g==="right")&&C(v,g,a.value),(g==="top"||g==="bottom")&&s(v,g,a.value)}const k=t.computed(()=>{const v={"f-layout-pane":!0,"f-page-content-nav":f.value==="left"||f.value==="right","f-page-content-main":f.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((g,w)=>(g[w]=!0,g),v),v}),F=t.computed(()=>{const v={flex:"1"};return(d.value&&f.value==="left"||f.value==="right")&&(v.width=`${d.value}px`),(c.value&&f.value==="bottom"||f.value==="top")&&(v.height=`${c.value}px`),v});return()=>t.createVNode("div",{ref:a,class:k.value,style:F.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:y.value,onMousedown:v=>x(v,f.value)},null)])}});ee.install=e=>{e.component(ee.name,ee),e.component(_.name,_)},ee.register=(e,n,a,o)=>{e.layout=ee,n.layout=Ke,e["layout-pane"]=_,n["layout-pane"]=_e},ee.registerDesigner=(e,n,a)=>{e.layout=dn,n.layout=Ke,e["layout-pane"]=mn,n["layout-pane"]=_e};const pn={analytical:{name:"数据",items:[{key:"IsNull",name:"是空值",params:[{key:"obj",name:"检测对象",type:"object"}],description:`【功能】判断检测对象是否为空值(null)。检测对象为null返回true,否则返回false
1
+ (function(A,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../tags/index.umd.js"),require("lodash-es"),require("../popover/index.umd.js"),require("../button-edit/index.umd.js"),require("../list-view/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../tree-view/index.umd.js"),require("../event-parameter/index.umd.js"),require("../input-group/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../locale/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../tags/index.umd.js","lodash-es","../popover/index.umd.js","../button-edit/index.umd.js","../list-view/index.umd.js","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../tree-view/index.umd.js","../event-parameter/index.umd.js","../input-group/index.umd.js"],t):(A=typeof globalThis<"u"?globalThis:A||self,t(A["sort-condition-editor"]={},A.Vue,A.dynamicResolver,A.locale,A.common,A.propertyPanel,A.FTags,A.LodashES,A.FPopover,A.FButtonEdit$1,A.FListView,A.FButtonEditDesign,A.designerCanvas,A.FTreeView,A.FEventParameter,A.inputGroup))})(this,function(A,t,U,G,Q,ht,gt,J,bt,me,vt,xt,ye,je,Ct,wt){"use strict";var mo=Object.defineProperty;var yo=(A,t,U)=>t in A?mo(A,t,{enumerable:!0,configurable:!0,writable:!0,value:U}):A[t]=U;var K=(A,t,U)=>yo(A,typeof t!="symbol"?t+"":t,U);const kt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""},repositoryToken:{description:"",type:"object",default:null},fields:{description:"",type:"array",default:null},editorParams:{type:"object",default:null},displayText:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},beforeOpen:{description:"",type:"function",default:null},onSubmitModal:{description:"",type:"function",default:null}}},Re={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},displayText:{type:String,default:""},enableExpress:{type:Boolean,default:!1},modelValue:{type:String,default:""},insertType:{type:String,default:"below"},fields:{type:Array,default:[]},repositoryToken:{type:Object,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},beforeOpen:{type:Function,default:null}},Ft=U.createPropsResolver(Re,kt),Tt={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},St={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Nt=t.defineComponent({name:"FOverlay",props:St,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),o=t.ref(e.host),l=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(c){n.emit("click"),c.preventDefault(),c.stopPropagation()}t.computed(()=>{const c=o.value;if(c){const u=c.getBoundingClientRect(),{left:f,top:x,height:m}=u;return{left:f,top:x+m}}return a.value});const s=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var c,u;return[t.createVNode("div",{class:"overlay-container",onClick:f=>i(f),style:l.value},[t.createVNode("div",{style:s.value},[(u=(c=n.slots).default)==null?void 0:u.call(c)])])]}})}});function Vt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Mt(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 i=Vt(e);return()=>t.createVNode(Nt,{"popup-content-position":e.popupPosition,host:e.host,onClick:l,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),a.mount(n),a}class Bt{static show(n){return Mt(n)}}const Ot={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"}};class W{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),i=parseInt(o[5],10);return{x:l,y:i}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new W(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new W(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 W(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 W(0,0);if(window){const o=window.getComputedStyle(n);if(o){const l=parseInt(o.getPropertyValue("left"),10),i=parseInt(o.getPropertyValue("top"),10);a.x=isNaN(l)?0:l,a.y=isNaN(i)?0:i}return a}return null}static copy(n){return new W(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 ne{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new ne(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 ne(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Et(e,n){const a=t.ref(),o=t.ref(),l=t.ref(),i=t.ref(),s=t.ref(),c=t.ref(),u=t.ref(),f=t.ref(),x=t.ref(),m=t.ref(),d=t.ref(),C=t.ref(e.resizeable),b=t.ref(),y=t.ref(e.draggable),r=t.ref(!1);function h(){const B=o.value||document.body,M=window.getComputedStyle(B);if(!M||!a.value)return;const L=W.getTransformInfo(a.value),z={};u.value&&(z.deltaL=a.value.offsetLeft-u.value.x,z.deltaT=a.value.offsetTop-u.value.y);const H=M.getPropertyValue("position");z.width=B.clientWidth,z.height=B.clientHeight,z.pr=parseInt(M.getPropertyValue("padding-right"),10),z.pb=parseInt(M.getPropertyValue("padding-bottom"),10),z.position=M.getPropertyValue("position"),H==="static"&&(B.style.position="relative"),z.translateX=L.x,z.translateY=L.y,m.value=z}function v(B){if(a.value){i.value=ne.getCurrent(a.value),s.value=W.getCurrent(a.value),c.value=i.value?ne.copy(i.value):null,u.value=s.value?W.copy(s.value):null,h();const M=B.target.getAttribute("type")||"";f.value={n:!!M.match(/n/),s:!!M.match(/s/),w:!!M.match(/w/),e:!!M.match(/e/)}}}function k(){var B,M,L,z;if(a.value){const H=a.value;f.value&&((f.value.n||f.value.s)&&((B=c.value)!=null&&B.height)&&(H.style.height=c.value.height+"px"),(f.value.w||f.value.e)&&((M=c.value)!=null&&M.width)&&(H.style.width=c.value.width+"px"),u.value&&((L=u.value)!=null&&L.x&&(H.style.left=u.value.x+"px"),(z=u.value)!=null&&z.y&&(H.style.top=u.value.y+"px")))}}function F(){const B=e.minHeight?e.minHeight:1,M=e.minWidth?e.minWidth:1;c.value&&u.value&&f.value&&i.value&&(c.value.height<B&&(c.value.height=B,f.value.n&&s.value&&(u.value.y=s.value.y+(i.value.height-B))),c.value.width<M&&(c.value.width=M,f.value.w&&s.value&&(u.value.x=s.value.x+(i.value.width-M))),e.maxHeight&&c.value.height>e.maxHeight&&(c.value.height=e.maxHeight,s.value&&f.value.n&&(u.value.y=s.value.y+(i.value.height-e.maxHeight))),e.maxWidth&&c.value.width>e.maxWidth&&(c.value.width=e.maxWidth,f.value.w&&s.value&&(u.value.x=s.value.x+(i.value.width-e.maxWidth))))}function p(){if(o.value){const B=m.value;if(u.value&&c.value&&f.value&&i.value){const M=B.width-B.pr-B.deltaL-B.translateX-u.value.x,L=B.height-B.pb-B.deltaT-B.translateY-u.value.y;f.value.n&&u.value.y+B.translateY<0&&s.value&&(u.value.y=-B.translateY,c.value.height=i.value.height+s.value.y+B.translateY),f.value.w&&u.value.x+B.translateX<0&&s.value&&(u.value.x=-B.translateX,c.value.width=i.value.width+s.value.x+B.translateX),c.value.width>M&&(c.value.width=M),c.value.height>L&&(c.value.height=L)}}}function g(B){if(!l.value||!i.value||!s.value||!f.value)return;B.subtract(l.value);const M=B.x,L=B.y;f.value.n?(u.value.y=s.value.y+L,c.value.height=i.value.height-L):f.value.s&&(c.value.height=i.value.height+L),f.value.e?c.value.width=i.value.width+M:f.value.w&&(c.value.width=i.value.width-M,u.value.x=s.value.x+M),p(),F(),k()}function w(B){if(!x.value)return;const M=W.fromEvent(B);M&&g(M)}function N(){if(a.value){const{width:B,height:M,x:L,y:z}=a.value.getBoundingClientRect(),H=W.getTransformInfo(a.value);return{size:{width:B,height:M},position:{x:L-H.x,y:z-H.y}}}return null}function j(B){if(a.value){const M=N();d.value=M}l.value=void 0,i.value=null,s.value=null,c.value=null,u.value=null,f.value=null,x.value=null,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",j)}function I(){document.addEventListener("mousemove",w),document.addEventListener("mouseup",j)}function T(B){B instanceof MouseEvent&&B.button===2||y.value&&(document.body.click(),B.stopPropagation(),B.preventDefault(),l.value=W.fromEvent(B),x.value=B.target,v(B),I())}function O(B){return a.value=B,C.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:M=>T(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:M=>T(M)},null)])}function S(B=!0){document.body.click();const M=o.value||document.body,L=ne.getCurrent(M),z=a.value;B&&z&&(b.value=N(),b.value.transform=z.style.transform),L&&z&&(c.value=L,c.value.height-=14,c.value.width-=14,z.style.height=c.value.height+"px",z.style.width=c.value.width+"px",z.style.left="7px",z.style.top="7px",z.style.transform="",d.value={size:c.value,position:{x:0,y:0}},y.value=!1,r.value=!0)}function E(){var B,M;if(document.body.click(),b.value){const L={width:b.value.size.width||0,height:b.value.size.height||0},z={x:(window.innerWidth-L.width)/2,y:(window.innerHeight-L.height)/2};(B=c.value)==null||B.set(L),(M=u.value)==null||M.set(z);const H=a.value;H.style.height=L.height+"px",H.style.width=L.width+"px",H.style.left=`${z.x}px`,H.style.top=`${z.y}px`,H.style.transform="",d.value={size:L,position:z},y.value=e.draggable,r.value=!1}}function D(){if(a.value){const B=ne.getCurrent(a.value);if(B){const{width:M,height:L}=B;a.value.style.left=`${(window.innerWidth-M)/2}px`,a.value.style.top=`${(window.innerHeight-L)/2}px`,a.value.style.transform=""}}}function P(){const B=()=>{r.value?S(!1):D(),document.body.click()};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}}const $=P();return{renderResizeBar:O,boundingElement:o,resizedEventParam:d,maximize:S,restore:E,allowDrag:y,isMaximized:r,unWindowResizeHandle:$,moveToCenter:D}}function Dt(e,n,a){const o=t.ref(),l=t.ref(e.draggable),i=t.ref(e.lockAxis),s=t.ref(),c=t.ref(),u=t.ref(!1),f=t.ref(new W(0,0)),x=t.ref(new W(0,0)),m=t.ref(new W(0,0)),d=t.ref(new W(0,0));t.watch(()=>a.value,w=>{s.value.style.cursor=w?"move":"default"});function C(w,N){if(N.tagName==="BUTTON")return!1;if(N===w)return!0;for(const j in N.children)if(Object.prototype.hasOwnProperty.call(N.children,j)&&C(w,N.children[j]))return!0;return!1}function b(){var I,T;let w=m.value.x+x.value.x,N=m.value.y+x.value.y;i.value==="x"?(w=((I=f.value)==null?void 0:I.x)||0,m.value.x=0):i.value==="y"&&(N=((T=f.value)==null?void 0:T.y)||0,m.value.y=0);const j=`translate3d(${Math.round(w)}px, ${Math.round(N)}px, 0px)`;o.value&&(o.value.style.transform=j),d.value.x=w,d.value.y=N}function y(){if(!c.value||!o.value)return null;const w=c.value.getBoundingClientRect(),N=o.value.getBoundingClientRect(),j={top:w.top<N.top,right:w.right>N.right,bottom:w.bottom>N.bottom,left:w.left<N.left};return j.top||(m.value.y-=N.top-w.top),j.bottom||(m.value.y-=N.bottom-w.bottom),j.right||(m.value.x-=N.right-w.right),j.left||(m.value.x-=N.left-w.left),b(),j}function r(w){w&&(f.value&&w.subtract(f.value),m.value.set(w),b(),y())}function h(w){u.value&&l.value&&(w.stopPropagation(),w.preventDefault(),r(W.fromEvent(w,s.value)))}function v(){var w;u.value&&(u.value=!1,x.value.add(m.value),m.value.reset(),(w=o.value)==null||w.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",v))}function k(){!u.value&&s.value&&(u.value=!0,s.value.classList.add("ng-dragging"),document.addEventListener("mousemove",h),document.addEventListener("mouseup",v))}function F(){if(o.value){const w=W.getTransformInfo(o.value);x.value.set(w);return}x.value.reset()}function p(w){if(!a.value||w instanceof MouseEvent&&w.button===2)return;const N=w.target||w.srcElement;s.value!==void 0&&N&&!C(N,s.value)||l.value!==!1&&(document.body.click(),w.stopPropagation(),w.preventDefault(),f.value=W.fromEvent(w,o.value),F(),k())}function g(w,N,j){if(l.value&&N){if(w)s.value=w;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)s.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const I=N.querySelector(e.dragHandle);I&&(s.value=I)}}o.value=N,c.value=j,s.value?(s.value.classList.add("ng-draggable"),s.value.addEventListener("mousedown",p)):l.value=!1}}return{registerDraggle:g,resetTranslate:F}}function Le(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 Pt(e,n){const a=t.ref(e.enableEsc);let o=null;return a.value?(o=Le("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:o}):null}function It(e,n){const a=t.ref(e.enableEnter);let o=null;return a.value?(o=Le("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:o}):null}const se=t.defineComponent({name:"FModal",props:Ot,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(e,n){const a=t.ref(e.width||300),o=t.ref(e.height||200),l=t.ref(e.modelValue),i=t.ref(""),s=t.ref(e.class),c=t.ref(e.fitContent),u=t.ref(e.showHeader),f=t.ref(""),x=t.ref(e.showCloseButton),m=t.ref(e.showMaxButton),d=t.ref(!1),C=t.ref(e.dialogType),b=t.ref(e.src),y=t.ref(""),r=t.ref(e.showButtons),h=t.ref(e.title),v=t.ref(e.containment||null),k=t.ref();h.value==="错误提示"&&(h.value=G.LocaleService.getLocaleValue("messageBox.errorTitle"));const F=t.ref(!1);function p(V,R){const Y=R?"accept":"cancel";Promise.resolve().then(()=>{var q;return(q=e.beforeClose)==null?void 0:q.call(e,{closeType:Y})}).then(q=>{q&&(l.value=!1,n.emit("update:modelValue",!1),R!=null&&n.emit(R?"accept":"cancel"),n.emit("closed",V))})}const g=[{name:"cancel",text:G.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:V=>{p(V,!1)}},{name:"accept",text:G.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:V=>{p(V,!0)}}],w=t.ref(e.buttons&&e.buttons.length?e.buttons:g),N=t.computed(()=>!!f.value),j=t.computed(()=>!!r.value&&!!w.value),I=t.ref(),T=t.ref(),O=t.ref(!1),{renderResizeBar:S,maximize:E,restore:D,boundingElement:P,resizedEventParam:$,allowDrag:B,unWindowResizeHandle:M,moveToCenter:L}=Et(e),{registerDraggle:z}=Dt(e,n,B);function H(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Ee(){const V=document.querySelectorAll(".farris-modal").length;(!V||V-1<=0)&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}t.watch(()=>e.title,(V,R)=>{V!==R&&(h.value=V)}),t.watch(()=>e.modelValue,(V,R)=>{V!==R&&(l.value=V,l.value&&e.draggable&&t.nextTick(()=>{T.value&&!v.value&&(v.value=T.value.parentElement,P.value=v.value,z(I.value,T.value,P.value),L())}),V||(v.value&&(v.value=null),Ee())),l.value?F.value=H():(O.value=!1,B.value=e.draggable)}),t.watch(()=>e.showHeader,(V,R)=>{V!==R&&(u.value=V)}),t.watch(()=>e.showButtons,(V,R)=>{V!==R&&(r.value=V)}),t.watch(()=>$.value,(V,R)=>{const Y=V||{},q=R||{};JSON.stringify(Y)!==JSON.stringify(q)&&n.emit("resize",{newSize:V,oldSize:R,isMaximized:O.value})}),t.watch([()=>e.width,()=>e.height],(V,R)=>{(V[0]!==R[0]||V[1]!==R[1])&&(a.value=V[0]||500,o.value=V[1]||600)});const fe=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),De=t.computed(()=>{var Y;const V={modal:!0,"farris-modal":!0,fade:!0};V["f-modal-fitContent"]=!!c.value,V.show=!!fe.value;const R=(Y=e.maskClass)==null?void 0:Y.split(" ");return R==null||R.reduce((q,re)=>(q[re]=!0,q),V),V}),Ga=t.computed(()=>{var Y;const V={"modal-dialog":!0},R=(Y=s.value)==null?void 0:Y.split(" ");return R==null||R.reduce((q,re)=>(q[re]=!0,q),V),V}),Xa=t.computed(()=>{const V=document.documentElement.clientWidth,R=document.documentElement.clientHeight,Y=Math.min(a.value,V),q=c.value?"auto":`${Math.min(o.value,R-10)}px`,re={position:"absolute",top:`${(window.innerHeight-parseInt(q==="auto"?"0":q))/2}px`,left:`${(window.innerWidth-Y)/2}px`,width:`${Y}px`,height:q};return e.mask||(re.pointerEvents="auto"),re}),Ka=()=>Q.getMaxZIndex()||1040,Ja=t.computed(()=>{const V={display:"block",zIndex:Ka()};return e.mask||(V.pointerEvents="none",V.backgroundColor="transparent"),F.value&&(V.backgroundColor="transparent"),V}),_a=t.computed(()=>({"modal-content":!0,"modal-content-has-header":u.value})),Za=t.computed(()=>{const V={display:u.value?"":"none"};return V["pointer-events"]=B.value?"auto":"none",V}),Qa=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:O.value})),eo=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":C.value==="iframe","f-utils-fill":!0}));function to(){return{height:`${e.footerHeight||60}px`}}const no=t.computed(()=>{const V={textAlgin:y.value},R=to();return Object.assign(V,R)});function pt(V){if(V==null||V.stopPropagation(),O.value){O.value=!1,D();return}E(),O.value=!0}async function ao(V,R){V.handle&&await V.handle(R,V)&&n.emit("closed",R)}function oo(V){V.width&&(a.value=V.width),V.height&&(o.value=V.height),V.buttons&&(w.value=V.buttons),V.title&&(h.value=V.title)}let Pe=null,Ie=null;t.onBeforeMount(()=>{F.value=H()}),t.onMounted(()=>{T.value&&!v.value&&(v.value=T.value.parentElement,P.value=v.value,z(I.value,T.value,P.value)),fe.value&&document.body.classList.add("modal-open"),Pe=Pt(e,n),Ie=It(e,n)}),t.onUnmounted(()=>{M&&M(),Pe&&Pe.remove(),Ie&&Ie.remove()}),n.expose({modalElementRef:T,updateModalOptions:oo,close:p,maxDialog:pt,isMaximized:O});function lo(){return t.createVNode("ul",null,[d.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),m.value&&t.createVNode("li",{onClick:pt,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:Qa.value},null)]),x.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:V=>p(V,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function io(){return t.createVNode("div",{class:"modal-footer",style:no.value},[w.value&&w.value.map(V=>{const R=t.ref(V.disabled);return t.createVNode("button",{name:V.name,type:"button",disabled:R.value,class:V.class+(V.iconClass?" btn-icontext":""),onClick:Y=>{ao(V,Y)}},[!!V.iconClass&&t.createVNode("i",{class:V.iconClass},null),V.text])})])}function ro(){return t.createVNode("div",{ref:I,class:"modal-header",style:Za.value},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[N.value&&t.createVNode("span",{class:f.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[h.value])]),t.createVNode("div",{class:"actions"},[lo()])])}function so(){return n.slots.footerTemplate?n.slots.footerTemplate():j.value&&io()}function co(V){if(V.stopPropagation(),e.allowClickMaskToClose){if(V.target!==k.value)return;p(V,!1)}}function uo(){var V,R;return t.createVNode("div",{id:i.value,class:Ga.value,style:Xa.value,ref:T},[t.createVNode("div",{class:_a.value},[u.value&&ro(),t.createVNode("div",{class:eo.value},[(R=(V=n.slots).default)==null?void 0:R.call(V),C.value==="iframe"&&t.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:b.value},null)]),so()]),!c.value&&T.value&&!O.value&&S(T.value)])}function fo(V){return V||"body"}return()=>t.createVNode(t.Teleport,{to:fo(e.host)},{default:()=>[fe.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:k,class:De.value,style:Ja.value,onClick:co},[uo()])]})]})}});function $e(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function jt(e){const n=document.createElement("div");n.style.display="contents";const a=t.createApp({setup(o,l){t.onUnmounted(()=>{document.body.removeChild(n)});const i=t.ref(),s=t.ref(e.class||""),c=t.ref(!!e.showButtons),u=t.ref(!!e.showHeader),f=t.ref(e.showCloseButton==null?!0:e.showCloseButton),x=t.ref(!0),m=t.ref(e.title||""),d=e.acceptCallback||(()=>{}),C=e.rejectCallback||(()=>{}),b=e.closedCallback||(k=>{}),y=e.resizeHandle||(k=>{}),r=e.stopMoveHandle||(k=>{}),h=$e(e),v=k=>{x.value=!1,a.unmount(),b(k)};return t.onMounted(()=>{}),l.expose({modalRef:i}),()=>t.createVNode(se,{ref:i,class:s.value,modelValue:x.value,"onUpdate:modelValue":k=>x.value=k,title:m.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":u.value,"show-buttons":c.value,"show-close-button":f.value,"show-max-button":!1,onAccept:d,onCancel:C,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:v,onResize:y,onStopMove:r},{default:()=>[h&&h(a)]})}});return document.body.appendChild(n),a.use(G.LocaleService.i18n),a.mount(n),a}class ze{constructor(n){K(this,"appContext",null);K(this,"modalRef",t.ref());K(this,"activeModalIndex",t.ref(0));K(this,"modalRefs",{});K(this,"isUseEscCloseModal",t.ref(!1));K(this,"activeModalInstance",t.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,a){const{width:o,height: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 jt(a)}close(n){var a,o;n?(o=n.value)==null||o.close():(a=this.getCurrentModal())==null||a.close()}open(n){const a=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const o=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),l=t.ref(!0),i=o.value.acceptCallback||(()=>{}),s=o.value.rejectCallback||(()=>{}),c=o.value.closedCallback||((p,g)=>{}),u=o.value.resizeHandle||(p=>{}),f=n.stopMoveHandle||(p=>{});let x;const m=$e(o.value),d=p=>{var w;l.value=!1;const g=(w=p==null?void 0:p.target)==null?void 0:w.classList.contains("modal_close");c(p,this.isUseEscCloseModal.value?"esc":g?"icon":"button")},C=p=>{d(p),x&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),x=null,this.modalRef.value=null,this.modalRefs){const g=Object.keys(this.modalRefs).map(w=>Number(w));g.length>0?this.activeModalIndex.value=Math.max(...g):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},b=p=>{var g;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((g=this.activeModalInstance.value)==null||g.close(p==null?void 0:p.event))},{width:y,height:r}=o.value,h=this.adaptToWindow(y||500,r||320);Object.assign(o.value,h);const v=()=>t.createVNode(se,t.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":p=>l.value=p},o.value,{onAccept:i,onCancel:s,onClosed:C,onResize:u,onEsc:b,onStopMove:f}),{default:()=>[m&&m(this.app)]});return x=(p=>{const g=t.h(v,p);return g.appContext=this.appContext,t.render(g,a),g})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:p=>{o.value={...o.value,...p},x&&t.render(t.cloneVNode(x,{...o}),a)},destroy:C,modalRef:this.activeModalInstance,close:()=>this.close()}}}const Ae=Symbol("FModalService");se.install=e=>{e.component(se.name,se);const n=new ze(e);e.provide(Ae,n),e.provide("FModalService",n)};function He(e,n){function a(){const o=e.beforeOpen||e.beforeClickButton||null;let l=Promise.resolve(!0);if(o){const i=o(n.value);if(typeof i>"u")return l;typeof i=="boolean"?l=Promise.resolve(i):l=i}return l}return{judgeCanOpen:a}}function Rt(e,n,a,o,l){const i=t.ref(e.buttonBehavior),s=t.ref(e.popupOnInput),c=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:u}=He(e,l),f=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),x=t.inject(Ae,null),m=t.ref();async function d(y){if(await u()&&f.value){const r=!!n.slots.default;if(i.value==="Modal"){const h=e.modalOptions,v=x==null?void 0:x.open({...h,render:()=>n.slots.default&&n.slots.default()});m.value=v==null?void 0:v.modalRef}i.value==="Overlay"&&Bt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),r&&i.value==="Popup"&&o.togglePopup(!0),r&&s.value&&o.hidePopup(),n.emit("clickButton",{origin:y,value:e.modelValue})}}function C(y){n.emit("mouseEnterIcon",y)}function b(y){n.emit("mouseLeaveIcon",y)}return{buttonGroupClass:c,onClickButton:d,onMouseEnterButton:C,onMouseLeaveButton:b,modalRef:m}}function Lt(e,n,a,o,l,i){const s=t.ref(!1),c=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:u,hasClearClass:f}=i;function x(b){s.value=b,f.value=b}t.watch(l,()=>{x(!!l.value)});function m(b){const y=!e.readonly&&!e.disable&&e.editable,r=!e.editable;b.stopPropagation(),(y||r)&&(u(""),l.value="",x(!s.value),n.emit("clear"))}function d(b){if(c.value){if(!a.value){x(!1);return}!e.disable&&!e.readonly&&x(!0)}}function C(b){c.value&&x(!1)}return{enableClearButton:c,showClearButton:s,onClearValue:m,onMouseEnterTextBox:d,onMouseLeaveTextBox:C}}function $t(e,n,a,o,l){const i=t.computed(()=>e.popupOnInput),s=t.computed(()=>e.popupOnFocus),{shouldPopupContent:c,closeAllPopover:u}=l,f=t.ref(!1),x=t.computed(()=>e.enableTitle?a.value:""),m=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),d=t.computed(()=>e.readonly||!e.editable),C=t.ref(!1),b=t.computed(()=>!e.disable&&C.value),y=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),r=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":b.value,"input-group--has-clear":e.enableClear&&f.value}));function h(T,O=!0){a.value=T,O&&(n.emit("change",T),n.emit("update:modelValue",T))}function v(T){c.value=!1,h(T,!0)}t.watch(()=>e.modelValue,T=>{a.value=T});function k(T){C.value=!1,n.emit("blur",T),T.stopPropagation()}function F(T){n.emit("click",T),u(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function p(T){!e.disable&&!e.readonly&&(C.value=!0,d.value||(n.emit("focus",T),s.value&&!c.value&&l.popup()))}function g(T){n.emit("input",T);const O=T.target.value;o.value=O,a.value!==O&&h(O,e.updateOn==="change"),i.value&&!c.value&&l.popup()}function w(T){T.target.tagName!=="INPUT"&&T.preventDefault(),T.stopPropagation()}function N(T){n.emit("keydown",T)}function j(T){T.key==="Enter"&&(i.value||s.value)&&l.hidePopup(),n.emit("keyup",T)}function I(T){const O=T.target.value;T.stopPropagation(),h(O)}return{hasFocusedTextBox:b,isTextBoxReadonly:d,textBoxClass:y,textBoxPlaceholder:m,textBoxTitle:x,inputGroupClass:r,hasClearClass:f,changeTextBoxValue:h,commitValue:v,onBlurTextBox:k,onClickTextBox:F,onFocusTextBox:p,onInput:g,onKeyDownTextBox:N,onKeyUpTextBox:j,onMouseDownTextBox:w,onTextBoxValueChange:I}}const ae="FarrisVue_PopoverInstancesKey";function zt(e,n,a,o){const l=t.ref(),i=t.ref(!1),{judgeCanOpen:s}=He(e,o);t.watch(()=>l.value,(C,b)=>{window[ae]=window[ae]||new WeakMap,C?window[ae].set(a.value,C):window[ae].delete(a.value)});function c(){if(window[ae]){const C=window[ae];document.querySelectorAll(".f-button-edit,.v-popover").forEach(b=>{const y=C.get(b);y&&b!==a.value&&!a.value.closest(".popover-fitcontent")&&y.hide()})}}function u(){const C=l.value;C&&C.show(a.value)}async function f(C=!1){if(!!n.slots.default){if(!C&&!i.value&&!await s())return;i.value=!i.value,i.value&&(await t.nextTick(),u())}}async function x(C=!1){if(!!n.slots.default){if(!C&&!await s())return;i.value=!0,await t.nextTick(),u()}}function m(){i.value=!1}function d(){i.value=!0,t.nextTick(()=>{u()})}return{hidePopup:m,showPopup:d,popup:x,shouldPopupContent:i,togglePopup:f,popoverRef:l,closeAllPopover:c}}function At(e,n,a){const o=t.ref(),{isTextBoxReadonly:l,textBoxClass:i,textBoxPlaceholder:s,textBoxTitle:c,onBlurTextBox:u,onClickTextBox:f,onFocusTextBox:x,onInput:m,onKeyDownTextBox:d,onKeyUpTextBox:C,onMouseDownTextBox:b,onTextBoxValueChange:y}=a,r=t.ref(e.id),{uuid:h}=Q.useGuid(),v=t.computed(()=>({}));t.onMounted(()=>{var w,N;e.selectOnCreated&&((w=o.value)==null||w.select()),e.focusOnCreated&&((N=o.value)==null||N.focus({preventScroll:!0})),r.value||(r.value="button-edit_"+h(8)),r.value=r.value+"-textbox"});const k=t.ref(!1),F=w=>{w.preventDefault(),k.value=!0},p=w=>{w.preventDefault(),k.value=!1,m(w)};function g(w){k.value||m(w)}return()=>t.createVNode("input",{id:e.id?e.id+"-textbox":void 0,ref:o,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,style:v.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:s.value,readonly:l.value,tabindex:e.tabIndex,title:c.value,type:e.inputType,value:n.value,onBlur:u,onChange:y,onClick:f,onFocus:x,onInput:g,onKeydown:d,onKeyup:C,onMousedown:b,onCompositionend:p,onCompositionstart:F},null)}function Ht(e,n,a){const o=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:i,onFocusTextBox:s,onBlurTextBox:c,onClickTextBox:u,textBoxPlaceholder:f}=a,x=t.computed(()=>n.value?n.value.split(o.value).map(b=>({name:b,selectable:!0})):[]);function m(b){i(b.map(y=>y.name).join(o.value),!0)}t.watch(()=>e.separator,b=>{o.value=b});const d=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([b,y],[r,h])=>{d.value=!b&&!y});function C(b){u(b)}return()=>t.createVNode(gt,{tabindex:e.tabIndex,onFocus:s,onBlur:c,id:`${e.id}-tag-editor`,class:"form-control",placeholder:f.value,data:x.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:m,onClick:C},null)}function Wt(e,n,a,o){const{buttonGroupClass:l,onClickButton:i,onMouseEnterButton:s,onMouseLeaveButton:c}=a,{enableClearButton:u,showClearButton:f,onClearValue:x}=o,m=t.ref(),d=J.debounce(b=>{i(b)},e.buttonBehavior==="Modal"?0:200),C=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:l.value},[u.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:x,onMousedown:C},[t.createVNode("i",{class:"f-icon modal_close"},null)]),[[t.vShow,f.value]]),n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",onClick:d,onMouseenter:s,onMouseleave:c},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:m,onClick:b=>d(b),onMouseenter:s,onMouseleave:c},null):null]),buttonHandleElement:m}}function qt(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:i}=a,s=()=>{n.emit("shown")};return()=>t.createVNode(bt,{id:`${e.id}-popover`,ref:i,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:o.value,class:e.popupClass,offsetX:e.popupOffsetX,onHidden:l,onShown:s,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var c,u;return[(u=(c=n.slots).default)==null?void 0:u.call(c)]}})}const pe=t.defineComponent({name:"FButtonEdit",props:Tt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),l=t.ref(e.modelValue),i=zt(e,n,a,l),{shouldPopupContent:s,hidePopup:c,showPopup:u,togglePopup:f}=i,x=Rt(e,n,a,i,l),m=t.ref(""),d=$t(e,n,l,m,i),{hasFocusedTextBox:C,commitValue:b,inputGroupClass:y}=d,r=Lt(e,n,l,C,m,d),{onMouseEnterTextBox:h,onMouseLeaveTextBox:v}=r,k=t.ref(!1),F=t.computed(()=>{const P={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce(($,B)=>($[B]=!0,$),P),P}),p=t.computed(()=>({overflow:e.wrapText?"hidden":""})),g=t.computed(()=>({}));function w(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let P=0;const $=Array.from(a.value.querySelectorAll(".farris-tag-item"));return $&&$.length&&(P=$.map(B=>B.offsetTop).filter(B=>B>20).length),P}const N=t.ref(w());t.onUpdated(()=>{N.value=w()});function j(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Ht(e,l,d)(),!!N.value&&t.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[t.createVNode("span",{class:"multi--more-text"},[t.createTextVNode("+"),N.value])])]):At(e,l,d)}let I=j();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{I=j()});const{renderButtonGroup:T,buttonHandleElement:O}=Wt(e,n,x,r),S=qt(e,n,i),E=t.ref(s.value),D={displayText:m,commitValue:b,elementRef:a,hidePopup:c,showPopup:u,popoverRef:i.popoverRef,shouldPopupContent:s,togglePopup:f,openDialog:()=>{O.value&&e.buttonBehavior==="Modal"&&O.value.click()},getModal:()=>{var P;return e.buttonBehavior==="Modal"?(P=x.modalRef.value)==null?void 0:P.value:null},getTextbox:()=>{var P;return(P=a.value)==null?void 0:P.querySelector("input")},forceClosePopup:()=>{E.value=!1,k.value=!0,s.value=!1}};return t.onMounted(()=>{a.value.componentInstance=D,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var P;window.onresize=null,(P=window[ae])==null||P.delete(a.value)}),n.expose(D),t.watch(()=>s.value,async(P,$)=>{if(k.value){E.value=P,k.value=!1;return}if(!P&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const B=await e.beforeClosePopup();E.value=!B,(!B||e.readonly)&&(s.value=!0)}catch(B){console.error("Error in beforeClosePopup:",B),E.value=$,s.value=$}return}E.value=P}),()=>{var P,$;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:F.value,id:e.id?e.id:void 0,style:p.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:y.value,style:g.value,onMouseenter:h,onMouseleave:v},[($=(P=n.slots).precontent)==null?void 0:$.call(P),I(),T()])]),E.value&&S()])}}}),Ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""},repositoryToken:{description:"",type:"object",default:null},fields:{description:"",type:"array",default:null},editorParams:{type:"object",default:null},displayText:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},beforeOpen:{description:"",type:"function",default:null},onSubmitModal:{description:"",type:"function",default:null},editorType:{description:"",type:"string",default:"filter"},enableExpression:{description:"",type:"boolean",default:!1},expressionOptions:{description:"",type:"object",default:null},formContextData:{description:"",type:"object",default:{}},singleValue:{description:"",type:"boolean",default:!0},idField:{description:"",type:"string",default:"id"},textField:{type:"string",default:""},valueField:{type:"string",default:""},editable:{type:"boolean",default:!0},enableTitle:{type:"boolean",default:!0}}},We={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},displayText:{type:String,default:""},enableExpression:{type:Boolean,default:!1},modelValue:{type:String,default:""},insertType:{type:String,default:"below"},fields:{type:Array,default:[]},repositoryToken:{type:Object,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},beforeOpen:{type:Function,default:null},editorType:{type:String,default:"filter"},expressionOptions:{type:Object,default:null},formContextData:{type:Object,default:{}},singleValue:{type:Boolean,default:!0},idField:{type:String,default:"id"},textField:{type:String,default:""},valueField:{type:String,default:""},editable:{type:Boolean,default:!0},enableTitle:{type:Boolean,default:!0},disableConfirmWhenUnchanged:{type:Boolean,default:!1}};U.createPropsResolver(We,Ut);const qe={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},activeIndex:{type:Number,default:-1},formatter:{type:Function,default:(e,n)=>`${n.raw.name} [${n.raw.path}]`},enableExpression:{type:Boolean,default:!1},expressionOptions:{type:Object,default:null},formContextData:{type:Object,default:{}},singleValue:{type:Boolean,default:!0},idField:{type:String,default:"id"},textField:{type:String,default:""},valueField:{type:String,default:""}},Yt=new Map([["appearance",U.resolveAppearance]]),Gt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"]};function Xt(e,n,a){return n}function Kt(){function e(n,a,o){const l={};return l.beforeOpen=i=>a.call("beforeOpen",n,[i,n],o),l}return{resolve:e}}const ke={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},Jt=Object.assign({},ke,{readonly:{}}),Ue=U.createPropsResolver(ke,Gt,Yt,Xt),_t=Kt(),Zt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Qt=t.defineComponent({name:"FComboListContainer",props:Zt,emits:["selectionChange"],setup(e,n){const a=t.ref(),o=t.ref(e.dataSource),l=t.ref([]),i=t.ref(e.separator),s=t.ref(e.width),c=t.ref(e.maxHeight),u=t.computed(()=>e.multiSelect),f=t.ref(e.multiSelect?String(e.selectedValues).split(i.value):[e.selectedValues]),x=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:u.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const m=t.computed(()=>{const r={};return s.value!==void 0&&(r.width=`${s.value}px`),c.value!==void 0&&c.value>0&&(r.maxHeight=`${c.value}px`),r});function d(r){a.value.search(r)}function C(r){l.value=r.map(h=>Object.assign({},h)),f.value=r.map(h=>h[e.idField]),n.emit("selectionChange",l.value)}function b(r){if(e.enableHighlightSearch)return;let h=[];const{searchOption:v}=e;typeof v=="function"?h=o.value.filter(k=>v(r,k)):h=o.value.filter(k=>k[e.valueField].indexOf(r)>-1||k[e.textField].indexOf(r)>-1),a.value.updateDataSource(h)}t.watch([()=>e.selectedValues],([r])=>{e.multiSelect?f.value=r.split(i.value):f.value=[r]});function y(r){a.value.activeRowById(r)}return t.onMounted(()=>{var r,h;if(!e.multiSelect){const v=(r=f.value)==null?void 0:r[0];let k=v;const F=o.value.map(p=>p[e.valueField||e.idField]);if(!J.isUndefined(v)&&F.includes(v)){const p=typeof v,g=typeof((h=o.value[0])==null?void 0:h[e.valueField||e.idField]);g==="number"&&p!==g&&(k=Number(v)),g==="boolean"&&p!==g&&(k=v==="true"?!0:v==="false"?!1:v),y(k)}}}),n.expose({search:d,activeRowById:y}),()=>t.createVNode("div",{class:"f-combo-list-container",style:m.value},[t.createVNode(vt,{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:x.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionUpdate:C,onAfterSearch:b},null)])}});function en(e){const n=t.ref(""),a=t.ref(e.modelValue),o=t.ref(e.data||[]),l=t.ref(e.editable);function i(y){const r=e.multiSelect?String(y).split(e.separator):[String(y)],h=r.map(F=>[F,!0]),v=new Map(h);return o.value.filter(F=>v.has(String(F[e.valueField]))).sort((F,p)=>{const g=r.indexOf(F[e.valueField]),w=r.indexOf(p[e.valueField]);return g-w})}function s(y){const r=i(y).map(h=>h[e.textField]).join(e.separator);n.value=l.value?r||y:r}function c(y){if(e.multiSelect){const r=y.split(e.separator).map(v=>[v,!0]),h=new Map(r);return o.value.filter(v=>h.has(v[e.textField]))}return o.value.filter(r=>""+r[e.textField]===y)}function u(y){const r={};return r[e.idField]=y,r[e.textField]=y,[r]}function f(y){let r=c(y);const h=r&&r.length>0;return l.value&&!h&&(r=u(y)),r}function x(){const{url:y,method:r="GET",headers:h={"Content-Type":"application/json;charset=utf-8;"},body:v=null}=e.remote;if(!y)return;const k=r.toLowerCase()==="get"?{method:r,headers:h}:{method:r,headers:h,body:v};let F=!1;fetch(new Request(y,k)).then(p=>{var w,N;if(p.status===200)return F=!!((N=(w=p.headers)==null?void 0:w.get("content-type"))!=null&&N.includes("application/json")),F?p.text():p.json();throw p.status===405?new Error(G.LocaleService.getLocaleValue("comboList.remoteError")):new Error(p.statusText)}).then(p=>{p.length&&(o.value=F?JSON.parse(p):p)}).catch(p=>{console.warn(p)})}e.remote&&(e.load?e.load().then(y=>{o.value=y}).catch(y=>{console.log(y)}):x()),t.watch(()=>e.data,()=>{o.value=e.data}),t.watch([o],([y])=>{if(e.modelValue!=null){const r=y.find(h=>h[e.valueField]===e.modelValue);r&&(n.value=r[e.textField])}}),t.watch(()=>e.modelValue,y=>{a.value=y,s(y)});function m(y){o.value=y}function d(){return o.value}function C(){return n.value}function b(){const y=typeof e.beforeOpen=="function";return!e.beforeOpen||!y?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:m,getData:d,getDisplayText:C}})).then(r=>typeof(r==null?void 0:r.canOpen)=="boolean"?r==null?void 0:r.canOpen:!0)}return e.beforeOpen?b().then(y=>{y&&s(e.modelValue)}):s(e.modelValue),{dataSource:o,displayText:n,editable:l,modelValue:a,beforeOpenList:b,getItemsByDisplayText:c,getItemsByValue:i,getSelectedItemsByDisplayText:f}}const oe=t.defineComponent({name:"FComboList",props:ke,emits:["clear","update:modelValue","change","input"],setup(e,n){const a=t.ref(),o=t.ref(),l=t.ref(e.disabled||e.readonly),i=t.ref(e.enableClear),s=t.ref(e.enableSearch),c=t.ref(e.readonly),{dataSource:u,displayText:f,editable:x,modelValue:m,getItemsByDisplayText:d,getItemsByValue:C,beforeOpenList:b}=en(e),y=t.ref(e.dropDownIcon);y.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(y.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const r=t.computed(()=>e.multiSelect),h=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function v(){!r.value&&o.value&&o.value.hidePopup()}function k(D){f.value=D.map($=>$[e.textField]).join(e.separator);let P="";D.length===1?P=D[0][e.valueField]:P=D.map($=>$[e.valueField]).join(e.separator),m.value!==P&&(m.value=P,n.emit("update:modelValue",m.value),n.emit("change",D,m.value))}function F(){const D=C(m.value);k(D)}function p(){c.value||f.value}function g(D){var P;m.value="",(P=a.value)==null||P.activeRowById(""),n.emit("update:modelValue",""),n.emit("change",[],""),n.emit("clear")}function w(D){var P,$;e.enableSearch&&e.enableHighlightSearch&&((P=a.value)==null||P.search(D)),($=a.value)==null||$.activeRowById(D),n.emit("change",[m.value],m.value)}function N(D){if(e.multiSelect){const P=d(D);e.viewType;const B=P.map(M=>M[e.idField||e.valueField]).join(e.separator);m.value!==B&&(m.value=B,n.emit("update:modelValue",m.value),n.emit("change",P,m.value))}}function j(){return f.value}function I(D){const{value:P}=D.target;w(P),n.emit("input",P)}function T(){o.value.hidePopup()}function O(D){u.value=D}function S(){return u.value}const E={getDisplayText:j,hidePopup:T,updateDataSource:O,getData:S};return n.expose(E),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([D,P,$,B,M])=>{l.value=D,x.value=P,i.value=$,s.value=B,c.value=M}),()=>t.createVNode(me,{ref:o,id:e.id,disable:l.value,readonly:c.value,forcePlaceholder:e.forcePlaceholder,editable:x.value,buttonContent:y.value,placeholder:e.placeholder==="请选择"?G.LocaleService.getLocaleValue("comboList.placeholder"):e.placeholder,enableClear:i.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":D=>f.value=D,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:g,onClick:p,onChange:N,onBlur:F,onInput:I,beforeOpen:b,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick,limitContentBySpace:!0},{default:()=>[t.createVNode(Qt,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:u.value,selectedValues:m.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:s.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?h.value:void 0,onSelectionChange:D=>{k(D),v()}},null)]})}}),Ye={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class tn extends ht.InputBaseProperty{constructor(n,a){super(n,a)}getCommonEditorProperties(n){var a,o,l;return{viewType:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=n.editor)!=null&&o.multiSelect)&&((l=n.editor)==null?void 0:l.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(n){var i,s;const a=this;let o="";if(((i=n==null?void 0:n.binding)==null?void 0:i.type)==="Form"){const c=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(s=c==null?void 0:c.schemaField)!=null&&s.type&&(o=c.schemaField.type.$type)}return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!n.editor.dataSourceType||n.editor.dataSourceType==="static",...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic",$converter:Ye,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:Ye,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(c,u)=>{if(!c||!u.editor)return;const f=this;switch(c.propertyID){case"dataSourceType":{c.propertyValue==="static"?(u.editor.valueField="value",u.editor.textField="name",u.editor.remote=null):c.propertyValue==="dynamic"&&(u.editor.remote={method:"GET"},u.editor.valueField="value",u.editor.textField="name");break}case"data":{!f.checkEnumDataReadonly(u)&&u.formatter&&(u.formatter.data=[...c.propertyValue]);break}case"viewType":c.propertyValue==="tag"&&(u.editor.editable=!1)}})}getGridFieldEdtiorProperties(n,a){var s,c,u,f,x,m;const o=this;let l="";if(((s=n==null?void 0:n.binding)==null?void 0:s.type)==="Form"){const d=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(c=d==null?void 0:d.schemaField)!=null&&c.type&&(l=d.schemaField.type.$type)}return o.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((u=n.editor)!=null&&u.dataSourceType)||((f=n.editor)==null?void 0:f.dataSourceType)==="static",...o.getItemCollectionEditor(n,(x=n.editor)==null?void 0:x.valueField,(m=n.editor)==null?void 0:m.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:l==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(d,C)=>{if(!d||!C.editor)return;const b=this;switch(d.propertyID){case"dataSourceType":{d.propertyValue==="static"?(C.editor.valueField="value",C.editor.textField="name",C.editor.remote=null):d.propertyValue==="dynamic"&&(C.editor.remote={method:"GET"},C.editor.valueField="value",C.editor.textField="name");break}case"data":{!b.checkEnumDataReadonly(C)&&C.formatter&&(C.formatter.data=[...d.propertyValue]);break}}})}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 i;super.changeBindingField(n,a);const l=o;n.editor&&((i=l==null?void 0:l.type)==null?void 0:i.$type)===Q.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=l.type.enumValues||[])}getEventPropertyConfig(n,a="card",o,l){const i=this;let s=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];o&&(s=s.concat(o)),this.appendFieldValueChangeEvents(n,s);const c=i.eventsEditorUtils.formProperties(n,i.viewModelId,s);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(c),tabId:"commands",tabName:"交互",setPropertyRelates(x,m){const d=x.propertyValue;delete n[i.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(n,i.viewModelId,d.events,d)),l&&l(x,m,d);const C=i.designViewModelUtils.getDgViewModel(i.viewModelId);C&&i.designViewModelField&&C.changeField(i.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged}),n.editor.beforeOpen!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),n.editor.onChange!==n.onChange&&(n.editor.onChange=n.onChange),n.editor.onClear!==n.onClear&&(n.editor.onClear=n.onClear)}}}}function nn(e,n){const a=e.schema;function o(l,i){return new tn(l,n).getPropertyConfig(a,i)}return{getPropsConfig:o}}const an=t.defineComponent({name:"FComboListDesign",props:Jt,emits:["clear","update:modelValue","change"],setup(e,n){const a=t.ref(),o=t.inject("designer-host-service"),l=t.inject("design-item-context"),i=nn(l,o),s=ye.useDesignerComponent(a,l,i);return t.onMounted(()=>{a.value.componentInstance=s}),n.expose(s.value),()=>t.createVNode(xt,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});oe.register=(e,n,a,o)=>{e["combo-list"]=oe,n["combo-list"]=Ue,o["combo-list"]={callbackResolver:_t}},oe.registerDesigner=(e,n,a)=>{e["combo-list"]=an,n["combo-list"]=Ue},Q.withInstall(oe),Q.withInstall(pe);const on={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}},Ge=new Map([["appearance",U.resolveAppearance]]);function Xe(e,n,a){return n}const ln={$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"]},rn={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"}}}}},Fe={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},Ke=U.createPropsResolver(Fe,ln,Ge,Xe,rn);function Je(e){const n=t.ref(-1),a=t.ref(-1),o=t.ref(0),l=t.ref(0),i=t.ref(!1),s=t.ref(!1),c=t.computed(()=>({display:i.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),u=t.computed(()=>({display:s.value?"block":"none",top:`${l.value}px`,cursor:"n-resize"})),f=t.computed(()=>{const r={display:s.value||i.value?"block":"none"};return l.value>0&&(r.cursor="n-resize"),r});function x(r,h,v,k){const F=e.value;if(F){const{left:p,right:g,width:w}=F.getBoundingClientRect();let N=r.clientX-p;k==="right"&&(N=g-r.clientX),N>h&&(N=h),N<v&&(N=v),k==="right"&&(N=w-N),o.value=N}}function m(r,h,v,k){const F=e.value;if(F){const{top:p,bottom:g,height:w}=F.getBoundingClientRect();let N=r.clientY-p;k==="bottom"&&(N=g-r.clientY),N>h&&(N=h),N<v&&(N=v),k==="bottom"&&(N=w-N),l.value=N}}function d(){const r=e.value;if(r){const{width:h,height:v}=r.getBoundingClientRect();return{width:h,height:v}}return null}function C(){const r=e.value;return r?Array.from(r.querySelectorAll("[data-position]")).reduce((h,v)=>{const k=v.getAttribute("data-position");return h=Object.assign(h,{[k]:v}),h},{}):null}function b(r,h){const v=d(),k=C();if(v&&k){const F=k==null?void 0:k.right,p=k==null?void 0:k.left;if(r==="left"&&p)return F?v.width-F.clientWidth-h:v.width-h;if(r==="right"&&F)return p?v.width-p.clientWidth-h:v.width-h}}function y(r,h){const v=d(),k=C();if(v&&k){const F=k==null?void 0:k.bottom,p=k==null?void 0:k.top;if(r==="top"&&p)return F?v.height-F.clientHeight-h:v.height-h;if(r==="bottom"&&F)return p?v.height-p.clientHeight-h:v.height-h}}return{horizontalResizeHandleStyle:c,verticalResizeHandleStyle:u,resizeOverlayStyle:f,showHorizontalResizeHandle:i,showVerticalResizeHandle:s,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:x,draggingVerticalResizeHandle:m,getPanelMaxHeight:y,getPanelMaxWidth:b}}const ee=t.defineComponent({name:"FLayout",props:Fe,emits:[],setup(e,n){const a=t.ref(),o=Je(a),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:i,resizeOverlayStyle:s}=o;t.provide("layout",{useResizeHandleComposition:o});const c=t.computed(()=>{const f={"f-layout":!0};return Q.getCustomClass(f,e==null?void 0:e.customClass)}),u=t.computed(()=>{const f={};return Q.getCustomStyle(f,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:c.value,style:u.value,ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:s.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:i.value},null)])}}),sn={$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"]},cn={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:"是否可见"}}}}},Te={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}},_e=U.createPropsResolver(Te,sn,Ge,Xe,cn);function Ze(e,n,a,o,l){const{horizontalResizeBarPosition:i,horizontalResizeHandleOffset:s,showHorizontalResizeHandle:c,showVerticalResizeHandle:u,verticalResizeBarPosition:f,verticalResizeHandleOffset:x,draggingHorizontalResizeHandle:m,draggingVerticalResizeHandle:d,getPanelMaxHeight:C,getPanelMaxWidth:b}=l;let y="",r,h,v;function k(g){if((y==="left"||y==="right")&&h){const{left:w}=h.getBoundingClientRect(),{width:N}=r.getBoundingClientRect(),j=g.clientX-w;let I=y==="left"?(N||0)+(j-i.value):(N||0)-(j-i.value);I=a.value>0?Math.max(a.value,I):I;const T=b(y,a.value);T!=null&&(I=T>I?I:T),e.value=I}if((y==="top"||y==="bottom")&&h){const{top:w}=h.getBoundingClientRect(),{height:N}=r.getBoundingClientRect(),j=g.clientY-w;let I=y==="top"?(N||0)+(j-f.value):(N||0)-(j-f.value);I=o.value>0?Math.max(o.value,I):I;const T=C(y,o.value);T!=null&&(I=T>I?I:T),n.value=I}s.value=0,x.value=0,i.value=-1,f.value=-1,c.value=!1,u.value=!1,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",k),document.body.style.userSelect="",y="",r=null,h=null}function F(g,w,N){if(y=w,r=N,c.value=!0,h=g.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),h){const{left:I}=h.getBoundingClientRect(),T=g.clientX-I;s.value=T,i.value=T;const O=b(y,a.value)||0;v=S=>m(S,O,a.value,y),document.addEventListener("mousemove",v),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}function p(g,w,N){if(y=w,r=N,u.value=!0,h=g.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),h){const{top:I}=h.getBoundingClientRect();x.value=g.clientY-I,f.value=g.clientY-I;const T=C(y,o.value)||0;v=O=>d(O,T,o.value,y),document.addEventListener("mousemove",v),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:p}}const _=t.defineComponent({name:"FLayoutPane",props:Te,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),i=t.ref(e.height<=0?100:e.height),s=t.ref(Math.max(a.value,i.value)),c=t.ref(Math.max(o.value,l.value)),u=t.ref(),f=t.ref(e.position),x=t.ref(e.resizable);t.watch(()=>e.resizable,p=>{x.value=p});const m=t.inject("layout"),{useResizeHandleComposition:d}=m,C=Ze(c,s,o,a,d),{onClickHorizontalResizeBar:b,onClickVerticalResizeBar:y}=C,r=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":f.value==="left","f-layout-resize-bar-n":f.value==="bottom","f-layout-resize-bar-s":f.value==="top","f-layout-resize-bar-w":f.value==="right"})),h=t.computed(()=>f.value!=="center"&&x.value);function v(p,g){(g==="left"||g==="right")&&b(p,g,u.value),(g==="top"||g==="bottom")&&y(p,g,u.value)}const k=t.computed(()=>{const p={"f-layout-pane":!0,"f-page-content-nav":f.value==="left"||f.value==="right","f-page-content-main":f.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((g,w)=>(g[w]=!0,g),p),p}),F=t.computed(()=>{const p={};return(c.value&&f.value==="left"||f.value==="right")&&(p.width=`${c.value}px`),(s.value&&f.value==="bottom"||f.value==="top")&&(p.height=`${s.value}px`),e.visible||(p.display="none"),p});return()=>t.createVNode("div",{ref:u,class:k.value,style:F.value,"data-position":f.value},[n.slots.default&&n.slots.default(),h.value&&t.createVNode("span",{class:r.value,onMousedown:p=>v(p,f.value)},null)])}});function un(e,n){function a(){return!1}return{canAccepts:a}}const dn=t.defineComponent({name:"FLayoutDesign",props:Fe,emits:[],setup(e,n){var x;const a=t.ref(),o=t.inject("design-item-context"),l=un(o.schema,(x=o.parent)==null?void 0:x.schema),i=ye.useDesignerComponent(a,o,l);i.value.canNested=!1;const s=Je(a),{horizontalResizeHandleStyle:c,verticalResizeHandleStyle:u,resizeOverlayStyle:f}=s;return t.provide("layout",{useResizeHandleComposition:s}),t.onMounted(()=>{a.value.componentInstance=i}),n.expose(i.value),()=>t.createVNode("div",{class:"f-layout f-page-content",ref:a},[n.slots.default&&n.slots.default(),t.createVNode("div",{class:"f-layout-resize-overlay",style:f.value},null),t.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:c.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:u.value},null)])}});function fn(e,n){const a=e.schema;function o(i){return!!ye.useDragulaCommonRule().basalDragulaRuleForContainer(i)}function l(){const i=["f-layout-pane"];return(a.position==="left"||a.position==="right")&&i.push("f-page-content-nav"),a.position==="center"&&i.push("f-page-content-main"),i.join(" ")}return{canAccepts:o,getDesignerClass:l}}const mn=t.defineComponent({name:"FLayoutPaneDesign",props:Te,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const l=t.inject("design-item-context"),i=fn(l),s=ye.useDesignerComponent(o,l,i);s.value.canNested=!1,s.value.canMove=!1,s.value.canDelete=!1,t.onMounted(()=>{o.value.componentInstance=s}),n.expose(s.value);const c=t.ref(Math.max(e.minHeight,e.height)),u=t.ref(Math.max(e.minWidth,e.width)),f=t.ref(e.minHeight),x=t.ref(e.minWidth),m=t.ref(e.position),d=t.inject("layout"),{useResizeHandleComposition:C}=d,b=Ze(u,c,x,f,C),{onClickHorizontalResizeBar:y,onClickVerticalResizeBar:r}=b,h=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"}));function v(p,g){(g==="left"||g==="right")&&y(p,g,a.value),(g==="top"||g==="bottom")&&r(p,g,a.value)}const k=t.computed(()=>{const p={"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((g,w)=>(g[w]=!0,g),p),p}),F=t.computed(()=>{const p={flex:"1"};return(u.value&&m.value==="left"||m.value==="right")&&(p.width=`${u.value}px`),(c.value&&m.value==="bottom"||m.value==="top")&&(p.height=`${c.value}px`),p});return()=>t.createVNode("div",{ref:a,class:k.value,style:F.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:h.value,onMousedown:p=>v(p,m.value)},null)])}});ee.install=e=>{e.component(ee.name,ee),e.component(_.name,_)},ee.register=(e,n,a,o)=>{e.layout=ee,n.layout=Ke,e["layout-pane"]=_,n["layout-pane"]=_e},ee.registerDesigner=(e,n,a)=>{e.layout=dn,n.layout=Ke,e["layout-pane"]=mn,n["layout-pane"]=_e};const yn={analytical:{name:"数据",items:[{key:"IsNull",name:"是空值",params:[{key:"obj",name:"检测对象",type:"object"}],description:`【功能】判断检测对象是否为空值(null)。检测对象为null返回true,否则返回false
2
2
  【参数】
3
3
  【obj】检测对象
4
4
  【返回值】true或false
@@ -414,8 +414,8 @@
414
414
  }`,params:[],description:"if条件成立,执行括号中内容;否则执行else中内容",type:"Advanced",keyFront:"",className:""},{key:"for",name:`for(;;)
415
415
  {
416
416
 
417
- }`,params:[],description:"for循环:示例:for(var i=0;i<5;i++){}",type:"Advanced",keyFront:"",className:""},{key:"return",name:"return ;",params:[],description:"返回值",type:"Advanced",keyFront:"",className:""},{key:"var",name:"var ",params:[],description:"变量定义",type:"Advanced",keyFront:"",className:""},{key:"true",name:"true ",params:[],description:"正确",type:"Advanced",keyFront:"",className:""},{key:"false",name:"false ",params:[],description:"错误",type:"Advanced",keyFront:"",className:""}]}};function yn(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function Qe(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,o)}return a}function et(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Qe(Object(a),!0).forEach(function(o){yn(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Qe(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function hn(e,n){if(e==null)return{};var a={},o=Object.keys(e),l,i;for(i=0;i<o.length;i++)l=o[i],!(n.indexOf(l)>=0)&&(a[l]=e[l]);return a}function gn(e,n){if(e==null)return{};var a=hn(e,n),o,l;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)o=i[l],!(n.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}function bn(e,n){return vn(e)||xn(e,n)||Cn(e,n)||wn()}function vn(e){if(Array.isArray(e))return e}function xn(e,n){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var a=[],o=!0,l=!1,i=void 0;try{for(var r=e[Symbol.iterator](),c;!(o=(c=r.next()).done)&&(a.push(c.value),!(n&&a.length===n));o=!0);}catch(d){l=!0,i=d}finally{try{!o&&r.return!=null&&r.return()}finally{if(l)throw i}}return a}}function Cn(e,n){if(e){if(typeof e=="string")return tt(e,n);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return tt(e,n)}}function tt(e,n){(n==null||n>e.length)&&(n=e.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=e[a];return o}function wn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
418
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kn(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function nt(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,o)}return a}function at(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?nt(Object(a),!0).forEach(function(o){kn(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):nt(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function Fn(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return function(o){return n.reduceRight(function(l,i){return i(l)},o)}}function ce(e){return function n(){for(var a=this,o=arguments.length,l=new Array(o),i=0;i<o;i++)l[i]=arguments[i];return l.length>=e.length?e.apply(this,l):function(){for(var r=arguments.length,c=new Array(r),d=0;d<r;d++)c[d]=arguments[d];return n.apply(a,[].concat(l,c))}}}function he(e){return{}.toString.call(e).includes("Object")}function Tn(e){return!Object.keys(e).length}function ue(e){return typeof e=="function"}function Sn(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function Nn(e,n){return he(n)||te("changeType"),Object.keys(n).some(function(a){return!Sn(e,a)})&&te("changeField"),n}function Vn(e){ue(e)||te("selectorType")}function Mn(e){ue(e)||he(e)||te("handlerType"),he(e)&&Object.values(e).some(function(n){return!ue(n)})&&te("handlersType")}function Bn(e){e||te("initialIsRequired"),he(e)||te("initialType"),Tn(e)&&te("initialContent")}function On(e,n){throw new Error(e[n]||e.default)}var En={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},te=ce(On)(En),ge={changes:Nn,selector:Vn,handler:Mn,initial:Bn};function Dn(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};ge.initial(e),ge.handler(n);var a={current:e},o=ce(jn)(a,n),l=ce(In)(a),i=ce(ge.changes)(e),r=ce(Pn)(a);function c(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(b){return b};return ge.selector(m),m(a.current)}function d(m){Fn(o,l,i,r)(m)}return[c,d]}function Pn(e,n){return ue(n)?n(e.current):n}function In(e,n){return e.current=at(at({},e.current),n),n}function jn(e,n,a){return ue(n)?n(e.current):Object.keys(a).forEach(function(o){var l;return(l=n[o])===null||l===void 0?void 0:l.call(n,e.current[o])}),a}var Rn={create:Dn},Ln={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function $n(e){return function n(){for(var a=this,o=arguments.length,l=new Array(o),i=0;i<o;i++)l[i]=arguments[i];return l.length>=e.length?e.apply(this,l):function(){for(var r=arguments.length,c=new Array(r),d=0;d<r;d++)c[d]=arguments[d];return n.apply(a,[].concat(l,c))}}}function zn(e){return{}.toString.call(e).includes("Object")}function An(e){return e||lt("configIsRequired"),zn(e)||lt("configType"),e.urls?(Hn(),{paths:{vs:e.urls.monacoBase}}):e}function Hn(){console.warn(ot.deprecation)}function Wn(e,n){throw new Error(e[n]||e.default)}var ot={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
417
+ }`,params:[],description:"for循环:示例:for(var i=0;i<5;i++){}",type:"Advanced",keyFront:"",className:""},{key:"return",name:"return ;",params:[],description:"返回值",type:"Advanced",keyFront:"",className:""},{key:"var",name:"var ",params:[],description:"变量定义",type:"Advanced",keyFront:"",className:""},{key:"true",name:"true ",params:[],description:"正确",type:"Advanced",keyFront:"",className:""},{key:"false",name:"false ",params:[],description:"错误",type:"Advanced",keyFront:"",className:""}]}};function pn(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function Qe(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,o)}return a}function et(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Qe(Object(a),!0).forEach(function(o){pn(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Qe(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function hn(e,n){if(e==null)return{};var a={},o=Object.keys(e),l,i;for(i=0;i<o.length;i++)l=o[i],!(n.indexOf(l)>=0)&&(a[l]=e[l]);return a}function gn(e,n){if(e==null)return{};var a=hn(e,n),o,l;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)o=i[l],!(n.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}function bn(e,n){return vn(e)||xn(e,n)||Cn(e,n)||wn()}function vn(e){if(Array.isArray(e))return e}function xn(e,n){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var a=[],o=!0,l=!1,i=void 0;try{for(var s=e[Symbol.iterator](),c;!(o=(c=s.next()).done)&&(a.push(c.value),!(n&&a.length===n));o=!0);}catch(u){l=!0,i=u}finally{try{!o&&s.return!=null&&s.return()}finally{if(l)throw i}}return a}}function Cn(e,n){if(e){if(typeof e=="string")return tt(e,n);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return tt(e,n)}}function tt(e,n){(n==null||n>e.length)&&(n=e.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=e[a];return o}function wn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
418
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kn(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function nt(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,o)}return a}function at(e){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?nt(Object(a),!0).forEach(function(o){kn(e,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):nt(Object(a)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(a,o))})}return e}function Fn(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return function(o){return n.reduceRight(function(l,i){return i(l)},o)}}function ce(e){return function n(){for(var a=this,o=arguments.length,l=new Array(o),i=0;i<o;i++)l[i]=arguments[i];return l.length>=e.length?e.apply(this,l):function(){for(var s=arguments.length,c=new Array(s),u=0;u<s;u++)c[u]=arguments[u];return n.apply(a,[].concat(l,c))}}}function he(e){return{}.toString.call(e).includes("Object")}function Tn(e){return!Object.keys(e).length}function ue(e){return typeof e=="function"}function Sn(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function Nn(e,n){return he(n)||te("changeType"),Object.keys(n).some(function(a){return!Sn(e,a)})&&te("changeField"),n}function Vn(e){ue(e)||te("selectorType")}function Mn(e){ue(e)||he(e)||te("handlerType"),he(e)&&Object.values(e).some(function(n){return!ue(n)})&&te("handlersType")}function Bn(e){e||te("initialIsRequired"),he(e)||te("initialType"),Tn(e)&&te("initialContent")}function On(e,n){throw new Error(e[n]||e.default)}var En={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},te=ce(On)(En),ge={changes:Nn,selector:Vn,handler:Mn,initial:Bn};function Dn(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};ge.initial(e),ge.handler(n);var a={current:e},o=ce(jn)(a,n),l=ce(In)(a),i=ce(ge.changes)(e),s=ce(Pn)(a);function c(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(x){return x};return ge.selector(f),f(a.current)}function u(f){Fn(o,l,i,s)(f)}return[c,u]}function Pn(e,n){return ue(n)?n(e.current):n}function In(e,n){return e.current=at(at({},e.current),n),n}function jn(e,n,a){return ue(n)?n(e.current):Object.keys(a).forEach(function(o){var l;return(l=n[o])===null||l===void 0?void 0:l.call(n,e.current[o])}),a}var Rn={create:Dn},Ln={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function $n(e){return function n(){for(var a=this,o=arguments.length,l=new Array(o),i=0;i<o;i++)l[i]=arguments[i];return l.length>=e.length?e.apply(this,l):function(){for(var s=arguments.length,c=new Array(s),u=0;u<s;u++)c[u]=arguments[u];return n.apply(a,[].concat(l,c))}}}function zn(e){return{}.toString.call(e).includes("Object")}function An(e){return e||lt("configIsRequired"),zn(e)||lt("configType"),e.urls?(Hn(),{paths:{vs:e.urls.monacoBase}}):e}function Hn(){console.warn(ot.deprecation)}function Wn(e,n){throw new Error(e[n]||e.default)}var ot={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
419
419
  You are using deprecated way of configuration.
420
420
 
421
421
  Instead of using
@@ -424,4 +424,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
424
424
  monaco.config({ paths: { vs: '...' } })
425
425
 
426
426
  For more please check the link https://github.com/suren-atoyan/monaco-loader#config
427
- `},lt=$n(Wn)(ot),qn={config:An},Un=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(i,r){return r(i)},l)}};function it(e,n){return Object.keys(n).forEach(function(a){n[a]instanceof Object&&e[a]&&Object.assign(n[a],it(e[a],n[a]))}),et(et({},e),n)}var Yn={type:"cancelation",msg:"operation is manually canceled"};function Se(e){var n=!1,a=new Promise(function(o,l){e.then(function(i){return n?l(Yn):o(i)}),e.catch(l)});return a.cancel=function(){return n=!0},a}var Gn=Rn.create({config:Ln,isInitialized:!1,resolve:null,reject:null,monaco:null}),rt=bn(Gn,2),de=rt[0],be=rt[1];function Xn(e){var n=qn.config(e),a=n.monaco,o=gn(n,["monaco"]);be(function(l){return{config:it(l.config,o),monaco:a}})}function Kn(){var e=de(function(n){var a=n.monaco,o=n.isInitialized,l=n.resolve;return{monaco:a,isInitialized:o,resolve:l}});if(!e.isInitialized){if(be({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Se(Ne);if(window.monaco&&window.monaco.editor)return st(window.monaco),e.resolve(window.monaco),Se(Ne);Un(Jn,Zn)(Qn)}return Se(Ne)}function Jn(e){return document.body.appendChild(e)}function _n(e){var n=document.createElement("script");return e&&(n.src=e),n}function Zn(e){var n=de(function(o){var l=o.config,i=o.reject;return{config:l,reject:i}}),a=_n("".concat(n.config.paths.vs,"/loader.js"));return a.onload=function(){return e()},a.onerror=n.reject,a}function Qn(){var e=de(function(a){var o=a.config,l=a.resolve,i=a.reject;return{config:o,resolve:l,reject:i}}),n=window.require;n.config(e.config),n(["vs/editor/editor.main"],function(a){st(a),e.resolve(a)},function(a){e.reject(a)})}function st(e){de().monaco||be({monaco:e})}function ea(){return de(function(e){var n=e.monaco;return n})}var Ne=new Promise(function(e,n){return be({resolve:e,reject:n})}),Ve={config:Xn,init:Kn,__getMonacoInstance:ea};const ta=t.defineComponent({name:"expression-code",props:{modelValue:{type:String,default:""},language:{type:String,default:"javascript"},theme:{type:String,default:"vs"},readOnly:{type:Boolean,default:!1},configPath:{type:String,default:"assets/monaco-editor.config.json"}},emits:[],setup(e,n){const a=t.ref(),o=t.ref();let l=null;const i=t.ref(e.modelValue);async function r(){return fetch(e.configPath).then(p=>p.json())}async function c(){if(a.value&&!l){const p=await r(),{vsPath:C}=p;Ve.config({paths:{vs:window.location.origin+C}}),Ve.config({"vs/nls":{availableLanguages:{"*":"zh-cn"}}}),Ve.init().then(s=>{o.value=s,l=s.editor.create(a.value,{value:i.value,automaticLayout:!0,language:e.language,theme:e.theme,folding:!0,readOnly:e.readOnly,minimap:{enabled:!1},lineNumbers:"on",lineNumbersMinChars:3,overviewRulerLanes:0,fixedOverflowWidgets:!1,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}})})}}t.watch(()=>e.modelValue,p=>{i.value=p,l==null||l.setValue(p)});const d=t.ref(),m=new ResizeObserver(p=>{l==null||l.layout();const{width:C,height:s}=p[0].contentRect;d.value={width:`${C-1}px`,height:`${s}px`}});function b(){return l==null?void 0:l.getValue()}function f(p){const C=l.getSelection(),s=new o.value.Range(C.startLineNumber,C.startColumn,C.endLineNumber,C.endColumn);l.executeEdits("insert-text",[{range:s,text:p,forceMoveMarkers:!0}])}t.onMounted(()=>{c(),a.value&&m.observe(a.value.parentElement)}),t.onBeforeUnmount(()=>{l&&l.dispose(),m&&a.value&&(m.unobserve(a.value),m.disconnect())});function u(p){l.setValue(p)}function h(){u("")}return n.expose({getContent:b,insertText:f,clearText:h,setContent:u}),()=>t.createVNode("div",{class:"expression-code-editor",style:d.value,ref:a},null)}}),na={dataSource:{type:Object,default:{}}},aa={data:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},formatter:{type:Function},customRowStatus:{type:Object,default:null}},oa=t.defineComponent({name:"FEntitiesTree",props:aa,emits:["dblclickNode"],setup(e,n){const a=t.ref(e.data),o=t.ref(),l=t.ref();function i(){let f=0;return document.querySelectorAll(".entity-variable .fv-grid-hierarchy-cell").forEach(h=>{h.style.width="auto";const p=h.scrollWidth;p>f&&(f=p)}),f}t.watch(()=>e.data,f=>{var u;a.value=f,(u=o.value)==null||u.updateDataSource(f)});const r={customRowStatus:e.customRowStatus},c=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]);function d({$event:f,node:u}){n.emit("dblclickNode",{$event:f,node:u})}function m(){const f=i();l.value={minWidth:`${f+10}px`}}function b({row:f}){t.nextTick(m)}return t.onMounted(()=>{t.nextTick(m)}),()=>t.createVNode("div",{class:"h-100 f-utils-fill",style:"overflow:auto",id:"entity-tree-view"},[t.createVNode(je,{ref:o,fit:!1,rowNumber:{enable:!1},data:a.value,idField:e.idField,columns:c.value,rowOption:r,columnOption:{fitColumns:!0,fitMode:"percentage"},onDblclickNode:d,style:l.value,autoHeight:!0,onExpandNode:b},null)])}}),la=t.defineComponent({name:"entity-variable",props:na,emits:["variableItemDblClick","entityItemDblClick","fieldClick"],setup(e,n){const a=t.ref("dataEntity"),o=t.ref(e.dataSource),{entities:l,variables:i}=o.value,r=t.ref(""),c=t.ref((l==null?void 0:l.fields)||[]),d=(S,E)=>{S.stopPropagation(),n.emit("fieldClick",{$event:S,item:E.raw})},m=(S,E)=>{const D=`${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:D,class:"f-utils-fill text-truncate"},[D]),t.createVNode("button",{title:"插入属性名称",class:"btn btn-link d-none",style:"width:24px;height:24px",onClick:P=>d(P,E),onDblclick:P=>P.stopPropagation()},[t.createVNode("span",{class:"f-icon f-icon-new-edit",style:"font-size: 12px;"},null)])])},b=t.ref({}),f=t.ref(),u=t.computed(()=>S=>({"list-group d-flex flex-column":!0,"f-utils-fill":a.value===S,expand:a.value===S,collapse:a.value!==S})),h=t.computed(()=>S=>({"f-icon f-icon-arrow-chevron-up":a.value!==S,"f-icon f-icon-arrow-chevron-down":a.value===S})),p=t.computed(()=>S=>({"functions-type d-flex flex-column":!0,open:b.value[S],closed:!b.value[S]})),C=t.computed(()=>S=>({"f-icon f-icon-arrow-chevron-down":b.value[S],"f-icon f-icon-arrow-chevron-right":!b.value[S]})),s=t.computed(()=>S=>{var E;return{"functions-item pl-2":!0,selected:((E=f.value)==null?void 0:E.key)===S.key}});function y(S,E){S.stopPropagation(),b.value=b.value||{},b.value[E]=!b.value[E]}function x(S,E){S.stopPropagation(),f.value=E}function k(S,E){n.emit("variableItemDblClick",{$event:S,item:E})}function F({$event:S,node:E}){n.emit("entityItemDblClick",{$event:S,item:E.data,entityCode:l==null?void 0:l.entityCode,parentCodes:E.data.parents.join(".")})}function v(){return t.createVNode(oa,{data:c.value,formatter:m,onDblclickNode:F},null)}function g(){if(i)return t.createVNode("ul",{class:"w-100 functions-list"},[Object.keys(i).map(S=>i[S].visible&&t.createVNode("li",{"variable-type":S,class:p.value(S)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:E=>{y(E,S)}},[t.createVNode("span",{class:C.value(S)},null),i[S].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[i[S].items.map(E=>t.createVNode("li",{class:s.value(E),onClick:D=>x(D,E),onDblclick:D=>k(D,E),title:`${E.name} [${E.key}]`},[E.name]))])]))])}function w(S,E){if(S.stopPropagation(),a.value===E){a.value="";return}a.value=E}t.onMounted(()=>{if(i){const S=Object.keys(i)[0];b.value[S]=!0}});function N(S,E){const D=S.children.map(R=>N(R,E)).filter(R=>R!==null);return S.data.name.toLowerCase().includes(E.toLowerCase())||S.data.bindingPath.toLowerCase().includes(E.toLowerCase())?{data:{...S.data},children:S.children}:D.length>0?{data:{...S.data},children:D}:null}function j(S,E){return S.map(D=>N(D,E)).filter(D=>D!==null)}function I(){const S=j((l==null?void 0:l.fields)||[],r.value);c.value=S}function T(){c.value=(l==null?void 0:l.fields)||[]}function O(S){S.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:u.value("dataEntity")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:S=>w(S,"dataEntity")},[t.createTextVNode("数据实体"),t.createVNode("span",{class:h.value("dataEntity")},null)]),t.createVNode("div",{class:"data-area f-utils-fill d-flex flex-column"},[t.createVNode("div",{class:"w-100"},[t.createVNode(me.FButtonEdit,{class:"m-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入名称或编号,按回车查询",modelValue:r.value,"onUpdate:modelValue":S=>r.value=S,onClickButton:I,onClear:T,onKeyup:O},null)]),v()])]),t.createVNode("li",{class:u.value("variables")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:S=>w(S,"variables")},[t.createTextVNode("变量"),t.createVNode("span",{class:h.value("variables")},null)]),t.createVNode("div",{class:"data-area f-utils-fill"},[g()])])])])}}),ia={functionItems:{type:Array,default:[]},singleExpand:{type:Boolean,default:!0}},ra=t.defineComponent({name:"FExpressionEditor",props:ia,emits:["insertFunction","search"],setup(e,n){const a=t.ref(),o=t.ref(""),l=t.ref(),i=t.ref({}),r=t.ref(""),c="没有与搜索条件匹配的项",d=t.ref(e.functionItems),m=t.computed(()=>v=>e.singleExpand?{"functions-type d-flex flex-column":!0,open:o.value===v,closed:o.value!==v}:{"functions-type d-flex flex-column":!0,open:i.value[v],closed:!i.value[v]}),b=t.computed(()=>v=>e.singleExpand?{"f-icon f-icon-arrow-chevron-down":o.value===v,"f-icon f-icon-arrow-chevron-right":o.value!==v}:{"f-icon f-icon-arrow-chevron-down":i.value[v],"f-icon f-icon-arrow-chevron-right":!i.value[v]}),f=t.computed(()=>v=>{var g;return{"functions-item pl-2":!0,selected:((g=l.value)==null?void 0:g.key)===v.key}}),u=t.ref(Object.keys(d.value));t.watch(()=>e.functionItems,v=>{d.value=v,u.value=Object.keys(d.value),r.value&&(i.value=u.value.reduce((g,w)=>(g[w]=!0,g),{}))});function h(v){v||(v=o.value);const g=a.value.querySelector('li[function-type="'+v+'"] > div.functions-type-name');g&&(a.value.querySelector(".expression-left").scrollTop=0,g.scrollIntoViewIfNeeded?g.scrollIntoViewIfNeeded(!0):g.scrollIntoView({behavior:"smooth",block:"nearest"}))}function p(v){if(e.singleExpand){if(o.value===v){o.value="";return}o.value=v}else i.value=i.value||{},i.value[v]=!i.value[v]}function C(v,g){v.stopPropagation(),l.value=g}function s(v,g){v.stopPropagation(),n.emit("insertFunction",{$event:v,item:g})}t.watch(()=>o.value,(v,g,w)=>{if(v){const N=setTimeout(()=>{h(v)},200);w(()=>clearTimeout(N))}});function y(){n.emit("search",r.value)}function x(){n.emit("search","")}function k(v){v.key==="Enter"&&y()}function F(){return u.value.length?u.value.map(v=>t.createVNode("li",{"function-type":v,class:m.value(v)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:()=>{p(v)}},[t.createVNode("span",{class:b.value(v)},null),d.value[v].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[d.value[v].items.map(g=>{if(g.visible!==!1)return t.createVNode("li",{class:f.value(g),onClick:w=>C(w,g),onDblclick:w=>s(w,g)},[v==="advanced"?g.key:g.name])})])])):t.createVNode("li",{class:"empty-message"},[c])}return t.onMounted(()=>{o.value=u.value[0],i.value=u.value.reduce((v,g)=>(v[g]=o.value===g,v),{})}),()=>t.createVNode("div",{class:"d-flex f-utils-fill flex-column",ref:a},[t.createVNode(ee,{class:"flex-column expression-left"},{default:()=>[t.createVNode(_,{position:"top",minHeight:50,height:50,"custom-class":"position-relative d-flex align-items-center search-bar",resizable:!1},{default:()=>[t.createVNode(me.FButtonEdit,{class:"w-100 mx-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入函数名称,按回车查询",modelValue:r.value,"onUpdate:modelValue":v=>r.value=v,onClickButton:y,onClear:x,onKeyup:k},null)]}),t.createVNode(_,{position:"center","custom-class":"layout-border"},{default:()=>[t.createVNode("ul",{class:"w-100 functions-list",style:"user-select: none"},[F()])]}),t.createVNode(_,{"custom-class":"position-relative",position:"bottom",minHeight:80},{default:()=>{var v;return[t.createVNode("textarea",{title:"函数说明",class:"h-100 w-100 function-remark p-1",disabled:!0},[(v=l.value)==null?void 0:v.description])]}})]})])}});function sa(e){async function n(){return fetch(e.esprimaPath).then(r=>r.json())}async function a(){if(window.esprima==null){const r=await n(),{path:c}=r;return new Promise((d,m)=>{const b=document.createElement("script");b.type="text/javascript",b.src=c+"?v="+Date.now(),b.onload=d,b.onerror=m,document.head.appendChild(b)})}}function o(r){const c=[],d=window.esprima.tokenize(r);for(let u=0;u<d.length;u++)c.push(d[u].value);const m=[];for(let u=0;u<c.length;u++){const h=r.indexOf(c[u]);h!==-1?m.push(r.substring(0,h)):m.push(""),r=r.slice(h+c[u].length),u===c.length-1&&m.push(r)}const b=[],f=c.length;for(let u=0;u<f;u++)m[u]!==""&&b.push(m[u]),c[u]!==""&&b.push(c[u]),u===f-1&&m[u+1]!==""&&b.push(m[u+1]);return b}function l(r,c="key2name"){const d=new Map;if(!r)return d;let b=Object.values(r).map(f=>f.items).flat();for(;b.length>0;){const f=b.filter(u=>u.name===b[0].name);f.length>1?b.filter(u=>u.name===b[0].name).forEach(u=>{c==="key2name"?d.set(u.key,u.key+"_"+u.name):c==="name2key"&&d.set(u.key+"_"+u.name,u.key)}):c==="key2name"?d.set(f[0].key,f[0].name):c==="name2key"&&d.set(f[0].name,f[0].key),b=b.filter(u=>u.name!==b[0].name)}return d}a();async function i(r){return window.esprima?r():await a().then(()=>r())}return{loadEsprima:a,getTokens:o,getVariableMaps:l,runWithEsprima:i}}function ca(e,n,a){const o=t.ref(e.disabledFunctions),{getTokens:l,getVariableMaps:i,runWithEsprima:r}=sa(e);function c(){const s=J.cloneDeep(n);if(o.value){let y=Object.keys(s);const{types:x,functions:k}=o.value;return x&&x.length&&(y=y.filter(F=>x.includes(F))),k&&k.length&&Object.values(s).forEach(F=>{F.items.forEach(v=>{k.includes(v.name)&&(v.visible=!1)})}),s}return s}function d(s){const y=n.analytical.items.find(x=>x.key==="GetContextParameter");if(y)return y.name+'("'+s.name+'")'}function m(s){if(!s||s.length===0)return"";const y=x=>{switch(x.type){case"string":return`"${x.name}"`;case"list":return`[${x.name}]`;default:return x.name}};return s.map(y).join(",")}function b(s){let y=s.name;return s.type.toLowerCase()!=="advanced"&&(y+="("+m(s.params)+")"),y}function f(s){return s==null?void 0:s.bindingPath}function u(s){if(!s)return"";const y=l(s),x=i(a,"name2key");for(let F=0;F<y.length;F++){let v=0;if(v===0&&x&&y[F].length>2&&y[F][0]==='"'&&y[F][y[F].length-1]==='"'){const g=y[F].substring(1,y[F].length-1);if(x.has(g)&&y[F-1]==="("&&y[F+1]===")"){const w=x.get(g);w!==void 0&&(y[F]=`"${w}"`,v=1)}}if(v===0){const g=Object.values(n).map(w=>w.items).flat();for(let w=0;w<g.length;w++)if(y[F]===g[w].name){y[F]=g[w].keyFront+"."+g[w].key,v=1;break}}}const k=y.join("");return JSON.stringify({expr:k,sexpr:""})}function h(s,y,x,k){let F="";const v=[];for(const g of y)g.keyFront==="Math"&&v.push(g.key);for(let g=0;g<s.length;g++){if(s[g]==="Math"&&s[g+1]==="."&&!v.includes(s[g+2])){F=F+s[g]+s[g+1]+s[g+2],g=g+2;continue}if(k.includes(s[g])&&s[g+1]==="."){g=g+1;continue}else{let w=0;if(w===0&&s[g].length>2&&s[g][0]==='"'&&s[g][s[g].length-1]==='"'){const N=s[g].substring(1,s[g].length-1);if(x.has(N)&&s[g-1]==="("&&s[g+1]===")"){const j=x.get(N);j!==void 0&&(F=F+`"${j}"`,w=1)}}if(w===0){for(let N=0;N<y.length;N++)if(s[g]===y[N].key&&y[N].type.toLowerCase()!=="advanced"){F=F+y[N].name,w=1;break}}w===0&&(F=F+s[g])}}return F}function p(s){if(!s)return"";const y=l(s),x=i(a,"key2name"),k=Object.values(n).map(v=>v.items).flat();return h(y,k,x,["DefaultFunction","Math","DefaultExtendFunctionProxy"])}async function C(s){return await r(()=>p(s))}return{resetFunctionItems:c,getFieldExpression:f,getFunctionExpression:b,getContextVariableExpression:d,getExpressionCodeValue:u,getExpressionTextValue:C}}function ua(e,n){const a=t.ref([]),o=J.cloneDeep(n.value),l=Object.values(o).map(c=>c.items).flat();function i(c){const d=J.cloneDeep(o);return Object.keys(d).forEach(m=>{const b=d[m].items.filter(f=>c.includes(f.key));b.length>0?d[m].items=b:delete d[m]}),d}function r(c){if(!c){n.value=o;return}const d=l.filter(m=>m.name.toLowerCase().includes(c.toLowerCase())).map(m=>m.key);n.value=i(d)}return{searchResultList:a,filterFunctions:i,onFunctionSearch:r}}const da=t.defineComponent({name:"FExpressionEditor",props:on,emits:[],setup(e,n){var T;const a=t.ref(),o=t.ref(e.validateMessage),l=t.ref(e.messageType),i=t.ref(e.modelValue),r=t.ref(),c=[{label:"提示",value:"info"},{label:"警告",value:"warning"},{label:"错误",value:"error"}],{getFunctionExpression:d,getContextVariableExpression:m,resetFunctionItems:b,getFieldExpression:f,getExpressionCodeValue:u,getExpressionTextValue:h}=ca(e,pn,e.variables),p=t.ref(b()),{onFunctionSearch:C}=ua(e,p);function s({$event:O,item:S}){var D;const E=d(S);(D=r.value)==null||D.insertText(E)}function y({$event:O,item:S}){var D;const E=m(S);(D=r.value)==null||D.insertText(E)}function x(O){return O.reduce((S,E)=>{var D;return S.push(E.data),(D=E.children)!=null&&D.length&&S.push(...x(E.children)),S},[])}const k=x(((T=e==null?void 0:e.entities)==null?void 0:T.fields)||[]);function F(O){return O.map(S=>{const E=k.find(D=>D.bindingPath===S);return E&&E.type==="entity"?`${S}[0]`:S}).join(".")}function v({$event:O,item:S,parentCodes:E,entityCode:D}){var B;const P=f(S);E=e.isServerSide?F(S.parents):E;let R=`${E}.${P}`;D===P&&(R=P),(B=r.value)==null||B.insertText(`${R}`)}function g({$event:O,item:S}){var D;const E=f(S);(D=r.value)==null||D.insertText(`${E}`)}function w(){var O;return(O=r.value)==null?void 0:O.getContent()}function N(){var S;const O=(S=r.value)==null?void 0:S.getContent();return{value:u(O),message:o.value,messageType:l.value}}const j=t.ref("");function I(){var O;(O=r.value)==null||O.clearText()}return t.onMounted(async()=>{if(i.value){const O=JSON.parse(i.value),{expr:S}=O;S&&(j.value=await h(S)||"")}}),n.expose({getExpressionContext:w,getExpressionValue:N,resetExpression:I}),()=>t.createVNode("div",{ref:a,class:"h-100 d-flex flex-column f-utils-fill mx-3 expression-editor"},[t.createVNode(ee,null,{default:()=>[t.createVNode(_,{position:"left",width:248,minWidth:130},{default:()=>[t.createVNode(ra,{functionItems:p.value,singleExpand:e.singleExpand,onInsertFunction:s,onSearch:C},null)]}),t.createVNode(_,{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(ta,{modelValue:j.value,"onUpdate:modelValue":O=>j.value=O,ref:r},null)]),e.showMessage&&t.createVNode("div",{class:"d-flex flex-column p-1",style:"background: #fafafa"},[t.createVNode("div",{class:"d-flex align-items-center py-1"},[t.createVNode("b",null,[t.createTextVNode("提示信息:")]),e.showMessageType&&t.createVNode(oe,{style:"width: 75px",data:c,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(_,{position:"right",width:258,minWidth:130},{default:()=>[t.createVNode(la,{dataSource:{entities:e.entities,variables:e.variables},onVariableItemDblClick:y,onEntityItemDblClick:v,onFieldClick:g},null)]})]})])}}),fa={$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"]},ct={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}};U.createPropsResolver(ct,fa);const ma={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}},pa={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Me=t.defineComponent({name:"Toast",props:pa,emits:["close","click"],setup:(e,n)=>{const a=t.ref(e.animate),o="fadeOut",l=t.computed(()=>e.options),i=t.ref(!1),r=t.computed(()=>l.value.title&&l.value.message),c=t.computed(()=>!l.value.title&&l.value.message),d=t.computed(()=>{const x={animated:i.value,toast:!0,"toast--only-content":!r.value};return x[e.animate]=!1,x[o]=i.value,x["toasty-type-"+l.value.type]=!0,l.value.theme&&(x[l.value.theme]=!0),x}),m=t.computed(()=>{const F=`f-icon-${l.value&&l.value.type?l.value.type.replace("toasty-type-",""):"default"}`,v={"f-icon":!0};return v[F]=!0,v}),b=t.computed(()=>l.value.title||l.value.message),f=t.computed(()=>e.showCloseButton),u=t.computed(()=>!!l.value.buttons||!!n.slots.default),h=t.computed(()=>G.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function p(x){x.stopPropagation(),x.preventDefault(),i.value=!1,setTimeout(()=>{n.emit("close",l.value)},200)}function C(x,k){}function s(x){return`f-preten-link ${x.customClass?x.customClass:""}`}t.watch(a,()=>{a.value});const y=()=>{var x;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((x=l.value.buttons)==null?void 0:x.map(k=>t.createVNode("span",{class:s(k),onClick:F=>void 0},[k.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:d.value,style:"min-height:44px"},[f.value&&t.createVNode("button",{title:G.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:p},[t.createVNode("span",{class:"f-icon modal_close"},null)]),b.value&&t.createVNode("section",{class:"modal-tips"},[!r.value&&t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:m.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[r.value&&t.createVNode(t.Fragment,null,[t.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:l.value.title},null),t.createVNode("p",{class:"toast-msg",innerHTML:l.value.message,style:h.value},null),u.value&&y()]),c.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:h.value,innerHTML:l.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[y()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:h.value,innerHTML:l.value.message},null))])])])}}),ve=t.defineComponent({name:"Notify",props:ma,emits:["close","empty"],setup(e,n){const a=t.computed(()=>({"farris-notify":!0})),o={left:12,right:12,top:20,bottom:12},l=t.ref(),i=t.ref(e.options),r=t.ref(e.showCloseButton),c=t.computed(()=>e.position||"bottom-right"),d=t.computed(()=>e.timeout!=null?e.timeout:3e3),m=t.computed(()=>{const u=e.bottom?e.bottom:o.bottom,h=e.top?e.top:o.top,p={transition:"all 0.2s ease",left:c.value.indexOf("left")>-1?`${e.left?e.left:o.left}px`:"",right:c.value.indexOf("right")>-1?`${e.right?e.right:o.right}px`:"",top:c.value.indexOf("top")>-1?`${h}px`:"",bottom:c.value.indexOf("bottom")>-1?`${u}px`:""};return c.value.indexOf("center")>-1&&(p.left="50%",p.marginLeft="calc(-24rem / 2)",c.value==="center-center"&&(p.top="50%",p.transform="translate(-50%, -50%)")),p});function b(u){n.emit("close")}d.value&&setTimeout(()=>{b()},d.value),n.expose({closeToast:b,container:l,notifyPosition:c});function f(u,h){b()}return()=>t.createVNode("div",{class:a.value,style:m.value,ref:l},[t.createVNode(Me,{options:i.value,showCloseButton:r.value,animate:e.animate,onClose:u=>f(u,i.value)},null)])}});class ya{constructor(){K(this,"notifyRefs",[]);K(this,"globalConfig",t.reactive({}))}escapeAllHtml(n){if(typeof n!="string"||!n)return"";const a=document.createElement("div");return a.textContent=n||"",a.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;").replace(/\\r/g,"")}createNotifyInstance(n){const a=this,l=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),i=document.createElement("div");i.style.display="contents";const r=t.createApp({setup(){var m;const c=t.ref();function d(){c.value.container.style.transform="scale(0)",setTimeout(()=>{a.updateNotifyPositionForClose(l,c),r.unmount()},220)}if(l.position.indexOf("top")>-1){const b=a.getNotifyInstances(l.position),f=b[b.length-1];if(f){const u=f.value.container.getBoundingClientRect();l.top=u.bottom}}return l.safeHtml&&((m=l.options)!=null&&m.message)&&(l.options.message=a.escapeAllHtml(l.options.message)),t.onUnmounted(()=>{document.body.removeChild(i)}),t.onMounted(()=>{a.updateNotifyPositionForCreate(l,c)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(ve,t.mergeProps({ref:c},l,{onClose:d}),null)]})}});return r.provide("NotifyService",this),document.body.appendChild(i),r.use(G.LocaleService.i18n),r.mount(i),r}getNotifyInstances(n){return this.notifyRefs.filter(a=>a.value.notifyPosition===n)}updateNotifyPositionForCreate(n,a){if(this.notifyRefs&&this.notifyRefs.length){const o=window.innerHeight;n.position.indexOf("bottom")>-1&&this.getNotifyInstances(n.position).forEach(l=>{const i=l.value.container.getBoundingClientRect();l.value.container.style.bottom=i.height+o-i.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),i=l.indexOf(a);l.slice(i+1).forEach(r=>{r.value.container.style.top=r.value.container.offsetTop-r.value.container.offsetHeight+"px"})}o>-1&&this.notifyRefs.splice(o,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,a){let o="",l="",i,r,c;typeof a=="string"?o=a:a&&(o=a.message||"",l=a.title||"",r=a.position||null,c=a.showCloseButton!=null?a.showCloseButton:null,i=a.timeout!=null?a.timeout:null);const m={options:{type:n,message:o,title:l}};return r!=null&&(m.position=r),c!=null&&(m.showCloseButton=c),i!=null&&(m.timeout=i),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 Be=Symbol("NOTIFY_SERVICE_TOKEN");ve.install=e=>{e.component(ve.name,ve),e.component(Me.name,Me);const n=new ya;e.provide(Be,n),e.provide("FNotifyService",n)};const ha=t.defineComponent({name:"f-expression-textbox",props:ct,setup(e,n){const a=t.inject(Be),o=t.inject("FLoadingService"),l='<i class="f-icon f-icon-lookup"></i>',i=t.ref(e.modelValue),r=t.ref(e.entities),c=t.ref(e.variables),d=t.ref(),m=t.ref(e.validateMessage||""),b=t.ref("info");async function f(){const{value:C,message:s,messageType:y}=d.value.getExpressionValue();if(m.value=s,b.value=y,e.beforeSubmit&&typeof e.beforeSubmit=="function"){const x=await e.beforeSubmit({notifyService:a,expressionValue:C});if(typeof x=="boolean"&&!x)return!1;if(typeof x=="object"){const{canClose:k,message:F}=x;if(!k)return F&&(a==null||a.error({message:F})),!1}}if(n.emit("update:modelValue",C),i.value=C,e.onSubmitModal){const x={expression:C,message:s};e.showMessageType&&(x.messageType=b.value);const k=e.onSubmitModal(x);e.onExpressionChanged&&e.onExpressionChanged(k)}return!0}const u={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:C=>{var s;return(s=d.value)==null||s.resetExpression(),!1}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:C=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:async C=>await f()}]};async function h(){if(e.beforeOpen)try{o==null||o.show();const C=await e.beforeOpen({notifyService:a});if(C)return r.value=C.entities||{},c.value=C.variables||{},m.value=C.message||"",b.value=C.messageType||"info",o==null||o.clearAll(),!0}catch{return a==null||a.error({message:"获取数据失败!"}),!1}finally{o==null||o.clearAll()}return!0}function p(){if(n.emit("update:modelValue",""),i.value="",e.onSubmitModal){const C=e.onSubmitModal({expression:"",message:""});e.onExpressionChanged&&e.onExpressionChanged(C)}}return t.watch(()=>e.modelValue,C=>{i.value=C}),()=>t.createVNode(ye,{editable:!1,enableTitle:!0,modelValue:i.value,"onUpdate:modelValue":C=>i.value=C,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:l,buttonBehavior:"Modal",modalOptions:u,beforeOpen:h,onClear:p},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode(da,{ref:d,validateMessage:m.value,showMessageType:e.showMessageType,messageType:b.value,modelValue:i.value,"onUpdate:modelValue":C=>i.value=C,esprimaPath:e.esprimaPath,showMessage:e.showMessage,entities:r.value,variables:c.value,disabledFunctions:e.disabledFunctions,showDataPanel:e.showDataPanel,singleExpand:e.singleExpand,isServerSide:e.isServerSide},null)])]})}});var ut=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(ut||{}),le=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(le||{}),Z=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e[e.Variable=2]="Variable",e))(Z||{});const ga=e=>((e.raw.$type!=="SimpleField"||e.raw.selectable===!1)&&(e.disabled=!0),e);function dt(e){const n=[{value:"",label:" "},{value:"(",label:"("},{value:"((",label:"(("},{value:"(((",label:"((("}],a=[{value:"",label:" "},{value:")",label:")"},{value:"))",label:"))"},{value:")))",label:")))"}],o=[{label:"=",value:0},{label:"<>",value:1},{label:">",value:2},{label:">=",value:3},{label:"<",value:4},{label:"<=",value:5},{label:"like %...%",value:6},{label:"like ...%",value:7},{label:"like %...",value:8},{label:"not like %...%",value:9},{label:"not like ...%",value:10},{label:"not like %...",value:11},{label:"is",value:12},{label:"is not",value:13},{label:"in",value:14},{label:"not in",value:15}],l=[{label:" ",value:0},{label:"并且",value:1},{label:"或者",value:2}],i=[{label:"值",value:e!=null&&e.singleValue?Z.Value:Z.Variable}],r={label:"表达式",value:Z.Expression},c=e!=null&&e.enableExpression?[...i,r]:i;return{leftBracketItems:n,righttBracketItems:a,compareOperators:o,relationItems:l,valueTypes:c,sortTypes:[{label:"升序",value:"asc"},{label:"降序",value:"desc"}]}}const ba=new Map([["appearance",U.resolveAppearance]]),va={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-tree",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-tree"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},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"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},formatter:{type:"object",default:null},customRowStatus:{type:"object",default:null},minPanelWidth:{description:"",type:"number",default:160},idField:{description:"",type:"string",default:"id"},multiSelect:{description:"",type:"boolean",default:!1},viewType:{description:"",type:"string",default:"text"},searchFields:{description:"",type:"array",default:[]},enableSearch:{description:"",type:"boolean",default:!1},displayFormatter:{type:"object",default:null},enableClear:{description:"",type:"boolean",default:!0}},required:["id","type"]};function xa(e,n,a){return n}const ft={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},displayFormatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null},customRowStatus:{type:Object,default:null},minPanelWidth:{type:Number,default:160},searchFields:{type:Array,default:["name"]}},Ca=U.createPropsResolver(ft,va,ba,xa),wa={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object},customRowStatus:{type:Object,default:null},searchHandler:{type:Function,default:()=>{}}},ka=t.defineComponent({name:"FComboTreeContainer",props:wa,emits:["selectionChange","selectItem","unSelectItem"],setup(e,n){const a=t.ref(e.data),o=t.ref([]),l=t.ref(e.separator),i=t.ref(e.width),r=t.ref(e.height),c=t.ref(e.maxHeight),d=t.ref(String(e.selectedValues).split(l.value)),m=t.ref(),b={customRowStatus:e.customRowStatus};t.watch(()=>e.selectedValues,s=>{d.value=String(s).split(l.value)}),t.watch(()=>e.data,s=>{var y;a.value=s,(y=m.value)==null||y.updateDataSource(s)});const f={enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"OnCheckAndClick"};let u=null;e.repositoryToken&&(u=t.inject(e.repositoryToken));const h=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),p=t.computed(()=>{const s={};return i.value!==void 0&&(s.width=`${i.value}px`),r.value!==void 0&&(s.height=`${r.value}px`),c.value!==void 0&&c.value>0&&(s.maxHeight=`${c.value}px`,s.overflow="auto"),a.value.length===0&&(s.height="200px"),s.position="relative",s});function C(s=[]){s&&s.length>0?(o.value=[...s],d.value=o.value.map(y=>y[e.idField])):(o.value=[],d.value=[]),n.emit("selectionChange",o.value)}return t.onMounted(()=>{u&&u.getData(e.editorParams).then(s=>{a.value=s}),d.value&&m.value.activeRowById(d.value[0])}),n.expose({treeInstance:m}),()=>t.createVNode("div",{class:"f-combo-tree-container",style:p.value},[e.multiSelect&&e.enableSearch&&t.createVNode("div",{class:"p-2",style:"position: sticky;top:0;z-index: 2; background:white",onMousedown:s=>s.stopPropagation()},[t.createVNode(wt.FInputGroup,{buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,placeholder:"请输入搜索内容",onClear:()=>n.emit("clearSearch"),onInput:(s,y)=>e.searchHandler(y)},null)]),t.createVNode(je,{ref:m,fit:!0,data:a.value,idField:e.idField,columns:h.value,"selection-values":d.value,onSelectionUpdate:C,columnOption:{fitColumns:!0,fitMode:"expand"},rowOption:b,selection:f,rowNumber:{enable:!1},onSelectItem:s=>n.emit("selectItem",s.raw),onUnSelectItem:s=>n.emit("unSelectItem",s.raw)},null)])}});function Fa(e){const n=t.ref(""),a=t.ref(e.modelValue),o=t.ref(e.data||[]),l=t.ref(e.editable);function i(f,u=[]){return f=f||[],f.reduce((h,p)=>(p.id=p.id||p.data[e.idField],h.push(p),p.children&&p.children.length&&i(p.children,h),h),u)}function r(f){const u=String(f).split(e.separator).map((s,y)=>[s,y]),h=new Map(u),p=[];return i(o.value,p),p.filter(s=>{const y=s.data?String(s.data[e.valueField]):String(s[e.valueField]);return h.has(y)}).map(s=>s.data?s.data:s).sort((s,y)=>{const x=h.get(String(s[e.valueField]))||0,k=h.get(String(y[e.valueField]))||0;return x-k})}function c(f){const u=r(f),h=e.displayFormatter?e.displayFormatter(u):u.map(p=>p[e.textField]).join(e.separator);n.value=l.value?h||f:h}function d(f){const u=f.split(e.separator).map(C=>[C,!0]),h=new Map(u);let p=[];return o.value[0].data?i(o.value,p):p=o.value,p=p.map(C=>C.data?C.data:C),p.filter(C=>h.has(C[e.textField])||h.has(C[e.valueField]))}function m(f){const u={};return u[e.idField]=f,u[e.textField]=f,[u]}function b(f){let u=d(f);const h=u&&u.length>0;return l.value&&!h&&(u=m(f)),u}return t.watch(()=>e.data,()=>{o.value=e.data}),t.watch([o],([f])=>{if(e.modelValue){const u=f.find(h=>h[e.valueField]===e.modelValue);u&&(n.value=u[e.textField])}}),t.watch(()=>e.modelValue,(f,u)=>{f!==u&&(a.value=f,c(f))}),c(e.modelValue),{dataSource:o,displayText:n,editable:l,modelValue:a,getItemsByDisplayText:d,getItemsByValue:r,getSelectedItemsByDisplayText:b,flatTreeNodes:i}}function Ta(e,n){const{comboEditorRef:a,dataSource:o,searchFields:l,originalValue:i,showPopover:r,flatTreeNodes:c}=e;function d(p,C){p.forEach(s=>{const y=C.find(x=>x.id===s.id);s.selectable=y.selectable!=null?!!y.selectable:!0,s.children&&d(s.children,C)})}function m(p,C){const s=(p.children||[]).map(x=>m(x,C)).filter(x=>x!==null);return l.value.some(x=>{var k;return(k=p.data[x])==null?void 0:k.toString().toLowerCase().includes(C.toLowerCase())})?{data:{...p.data},children:p.children,id:p.data[n]}:s.length>0?{data:{...p.data},children:s,id:p.data[n]}:null}function b(){i.value=J.cloneDeep(o.value)}function f(p){var s;if(r.value||(s=a.value)==null||s.showPopup(),!p){b();return}const C=o.value.map(y=>m(y,p)).filter(y=>y!==null);if(C.length){const y=[];c(o.value,y),d(C,y)}i.value=J.cloneDeep(C)}const u=J.debounce(p=>{var s;const C=(s=p.target)==null?void 0:s.value;f(C)},200);function h(p){var s;let C=(s=p.target)==null?void 0:s.value;C!==""&&(C=C.trim()),p.target._value!==C&&u(p)}return{onValueChange:h,resetDataSource:b}}const xe=t.defineComponent({name:"FComboTree",props:ft,emits:["clear","update:modelValue","change","search"],setup(e,n){const a=t.ref(),o=t.ref(e.disabled),l=t.ref(e.enableClear),i=t.ref(e.enableSearch),r=t.ref(e.readonly),c=t.ref(e.searchFields||[e.textField]),d=t.ref(),m=t.ref(),b={},{dataSource:f,displayText:u,editable:h,modelValue:p,flatTreeNodes:C}=Fa(e),s=t.computed(()=>e.multiSelect);t.computed(()=>a.value?a.value.elementRef.getBoundingClientRect().width:0);const y=t.computed(()=>{var O;const T=(O=a.value)==null?void 0:O.popoverRef;return T?T.shown:!1}),{onValueChange:x,resetDataSource:k}=Ta({comboEditorRef:a,dataSource:f,searchFields:c,originalValue:d,showPopover:y,flatTreeNodes:C},e.idField);function F(){!s.value&&a.value&&a.value.hidePopup()}const v=T=>e.displayFormatter?e.displayFormatter(T):T.map(O=>O[e.textField]).join(e.separator);function g(T=[]){if(!s.value)u.value=v(T),p.value=T.map(O=>O[e.valueField]).join(e.separator),n.emit("update:modelValue",p.value),n.emit("change",T,p.value);else{const O=Object.keys(b),S=Object.values(b);u.value=v(S),p.value=O.join(e.separator),n.emit("update:modelValue",p.value),n.emit("change",S,p.value)}F()}function w(T){var O;p.value="",y.value&&((O=a.value)==null||O.hidePopup()),n.emit("update:modelValue",""),n.emit("change",null,p.value),n.emit("clear")}function N(T){s.value&&(delete b[T.id],g())}function j(T){s.value&&(b[T.id]=T.data,g())}t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([T,O,S,E,D])=>{o.value=T,h.value=O,l.value=S,i.value=E,r.value=D});const I=()=>{if(d.value=J.cloneDeep(f.value),s.value&&p.value){const T=[];C(f.value,T),p.value.split(e.separator).reduce((O,S)=>(O[S]=T.find(E=>E.id===S),O),b)}};return()=>t.createVNode(me,{ref:a,id:e.id,disable:o.value,readonly:r.value,forcePlaceholder:e.forcePlaceholder,editable:h.value&&!e.multiSelect,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:l.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,inputType:e.viewType,popupOnClick:!0,modelValue:u.value,"onUpdate:modelValue":T=>u.value=T,onClear:w,onInput:x,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,beforeOpen:I,placement:e.placement,popupMinWidth:e.minPanelWidth},{default:()=>[y.value&&t.createVNode(ka,{ref:m,maxHeight:e.maxHeight,multiSelect:e.multiSelect,enableSearch:e.enableSearch,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:d.value,selectedValues:p.value,onSelectionChange:g,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken,customRowStatus:e.customRowStatus,searchHandler:x,onUnSelectItem:N,onSelectItem:j,onClearSearch:k},null)]})}});xe.register=(e,n,a,o)=>{e["combo-tree"]=xe,n["combo-tree"]=Ca},Q.withInstall(xe);function mt(e){function n(a,o,l="filterField"){return t.createVNode(xe,{formatter:e.formatter,modelValue:a[l],"onUpdate:modelValue":i=>a[l]=i,data:o,textField:e.textField||"name",valueField:e.valueField||"path",idField:e.idField||"id",enableClear:!1,minPanelWidth:220,customRowStatus:ga},null)}return{renderFieldsComboTree:n}}function pt(e,n,a){const o=t.ref(e.activeIndex),l=t.ref(e.conditions),i=t.ref(e.fields);t.watch(()=>e.fields,u=>{i.value=u}),t.watch(()=>e.conditions,u=>{l.value=u}),t.watch(()=>e.activeIndex,u=>{o.value=u});const r=t.computed(()=>a.value.querySelector(`tr[index="${o.value}"]`));function c(){const u=r.value;u&&(u.scrollIntoView?u.scrollIntoView({block:"center",behavior:"smooth"}):u.scrollIntoViewIfNeeded&&u.scrollIntoViewIfNeeded(!1))}const d=t.computed(()=>u=>({"fv-grid-row-selected":u===o.value}));function m(u,h){h.stopPropagation(),n.emit("insert",{index:u,$event:h})}function b(u,h){h.stopPropagation(),n.emit("remove",{index:u,$event:h})}function f(u,h){n.emit("rowClick",{item:u,index:h})}return{itemIntoView:c,activeRowCls:d,fields:i,activeIndex:o,selectedRowRef:r,conditions:l,tbodyRef:a,onInsert:m,onRemove:b,onRowClick:f}}const Sa=t.defineComponent({name:"filter-condition-grid",props:qe,emits:["insert","remove","rowClick"],setup(e,n){const{compareOperators:a,leftBracketItems:o,valueTypes:l,relationItems:i,righttBracketItems:r}=dt(e),{renderFieldsComboTree:c}=mt(e),d=t.ref(),{conditions:m,fields:b,onInsert:f,onRemove:u,onRowClick:h,activeRowCls:p,itemIntoView:C}=pt(e,n,d),s=t.ref(e.expressionOptions||{});function y(k){var F,v;switch(k.expresstype){case Z.Variable:return t.createVNode(Ct,{modelValue:k.value,"onUpdate:modelValue":g=>k.value=g,showOutline:!1,fieldData:(F=e.formContextData)==null?void 0:F.fieldData,varData:(v=e.formContextData)==null?void 0:v.varData},null);case Z.Expression:return t.createVNode(ha,t.mergeProps({modelValue:k.value,"onUpdate:modelValue":g=>k.value=g},s.value),null);case Z.Value:default:return t.createVNode(ye,{enableTitle:!0,buttonContent:"",popupOnClick:!0,modelValue:k.value,"onUpdate:modelValue":g=>k.value=g},null)}}function x(k,F,v){return t.createVNode(oe,{data:F,modelValue:k[v],"onUpdate:modelValue":g=>k[v]=g,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto"},null)}return t.onUpdated(()=>{C()}),()=>t.createVNode("div",{class:"fv-filter-condition-grid table-body f-utils-fill win11Scroll show nobtn",style:"margin-left:14px; margin-right: 0; overflow-y: scroll;"},[t.createVNode("table",{class:"table table-bordered",style:"margin-bottom: 0;"},[t.createVNode("thead",{style:"position: sticky; top: 0; z-index: 1;"},[t.createVNode("tr",null,[t.createVNode("th",{style:"width: 40px"},null),t.createVNode("th",{style:"width: 45px"},[t.createVNode("b",null,[t.createTextVNode("左括号")])]),t.createVNode("th",{style:"width: 90px"},[t.createVNode("b",null,[t.createTextVNode("字段")])]),t.createVNode("th",{style:"width: 70px"},[t.createVNode("b",null,[t.createTextVNode("操作符")])]),t.createVNode("th",{style:"width: 60px"},[t.createVNode("b",null,[t.createTextVNode("值类型")])]),t.createVNode("th",{style:"width: 100px"},[t.createVNode("b",null,[t.createTextVNode("值")])]),t.createVNode("th",{style:"width: 45px"},[t.createVNode("b",null,[t.createTextVNode("右括号")])]),t.createVNode("th",{style:"width: 60px"},[t.createVNode("b",null,[t.createTextVNode("关系")])])])]),t.createVNode("tbody",{ref:d},[m.value.map((k,F)=>t.createVNode("tr",{index:F,class:p.value(F),onClick:v=>h(k,F)},[t.createVNode("td",{style:"text-overflow: unset;",align:"center",class:"px-1"},[t.createVNode("button",{title:"插入",onClick:v=>f(F,v),type:"button",class:"btn btn-link p-1 mr-0"},[t.createVNode("span",{class:"f-icon f-icon-plus"},null)]),t.createVNode("button",{title:"移除",onClick:v=>u(F,v),type:"button",class:"btn btn-link p-1 m-0"},[t.createVNode("span",{class:"f-icon f-icon-minus"},null)])]),t.createVNode("td",{class:"px-1"},[x(k,o,"lbracket")]),t.createVNode("td",{class:"px-1"},[c(k,b.value,"filterField")]),t.createVNode("td",{class:"px-1"},[x(k,a,"compare")]),t.createVNode("td",{class:"px-1"},[x(k,l,"expresstype")]),t.createVNode("td",{class:"px-1"},[y(k)]),t.createVNode("td",{class:"px-1"},[x(k,r,"rbracket")]),t.createVNode("td",{class:"px-1"},[x(k,i,"relation")])]))])])])}}),Na={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},showOkButton:{Type:Boolean,default:!0},showCancelButton:{Type:Boolean,default:!0},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"},buttons:{type:Object,default:[]}};function Oe(){return new DOMException("The request is not allowed","NotAllowedError")}async function Va(e){if(!navigator.clipboard)throw Oe();return navigator.clipboard.writeText(e)}async function Ma(e){const n=document.createElement("span");n.textContent=e,n.style.whiteSpace="pre",n.style.webkitUserSelect="auto",n.style.userSelect="all",document.body.appendChild(n);const a=window.getSelection(),o=window.document.createRange();a==null||a.removeAllRanges(),o.selectNode(n),a==null||a.addRange(o);let l=!1;try{l=window.document.execCommand("copy")}finally{a==null||a.removeAllRanges(),window.document.body.removeChild(n)}if(!l)throw Oe()}async function Ba(e){try{await Va(e)}catch(n){try{await Ma(e)}catch(a){throw a||n||Oe()}}}function Oa(){async function e(n){await Ba(n)}return{onCopy:e}}function Ea(e,n,a,o){const l=t.ref(14),i=t.ref(140),r=t.ref(""),c=t.ref(o.value.length),d=t.computed(()=>o.value),m=t.computed(()=>({"font-size":`${l.value}px`,height:"100%"}));function b(f){if(f.currentTarget){const u=f.currentTarget.value||"";c.value=u.length}}return()=>t.createVNode(t.Fragment,null,[t.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:m.value,rows:"4",maxlength:i.value,onInput:f=>b(f)},[d.value]),t.createVNode("span",{class:"textarea-wordcount",title:r.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[c.value+" / "+i.value])])}function Da(e,n,a,o){const l=Ea(e,n,a,o),i=new Map([["text-area",l]]);function r(c){return i.get(c)||null}return{getEditorRender:r}}function Pa(){const e=t.ref(!1),n=t.ref("复制成功");return{feedbackStyle:t.computed(()=>{const o={position:"absolute",left:"50%",top:"50%","min-width":"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease",padding:"0 10px"};return o.opacity=e.value?"0.8":"0",o.display=e.value?"":"none",o}),feedbackMessage:n,toShowFeedback:e}}function Ia(e,n){const a=n.getEditorRender(e.promptEditorType);return()=>a&&a()}function ja(e,n){function a(h){if(h==null)return 0;let p=0;for(let C=0;C<h.length;C++){const s=h.charCodeAt(C);s>=0&&s<=128?p++:p=p+2}return p}function o(h,p){if(h!==""&&h!==void 0&&h!==null){h=""+h;const C=h.length;let s="",y=0;for(let x=0;x<C;x++){const k=h.charAt(x);if(y++,encodeURI(k).length>4&&y++,s=s.concat(k),y>=p)return s=s.concat("..."),s}if(y<p)return h}return""}const l=t.computed(()=>!!e.value&&!!e.value.date),i=t.computed(()=>{const h=e.value&&e.value.date||"";return`${n.exception.happend} : ${h}`}),r=t.computed(()=>!!e.value&&!!e.value.detail),c=t.computed(()=>e.value?a(e.value.detail)>160:!1),d=t.ref(!1),m=t.computed(()=>d.value?n.exception.collapse:n.exception.expand),b=t.computed(()=>{const h=n.exception.detail+" : "+(e.value&&e.value.detail)||"";return d.value?h:o(h,160)}),f=t.computed(()=>({position:"absolute",right:0,bottom:d.value?0:"2px",color:"#2A87FF",cursor:"pointer"}));function u(){d.value=!d.value}return()=>t.createVNode("div",{class:"toast-msg-detail",style:"max-height: calc(100vh - 200px);overflow: auto;"},[l.value&&t.createVNode("div",null,[i.value]),r.value&&t.createVNode("div",{class:"exception_wrap"},[t.createVNode("div",{class:"exception_error_msg"},[t.createVNode("div",{innerHTML:b.value},null),c.value&&t.createVNode("span",{style:f.value,onClick:u},[m.value])])])])}function Ra(e){return()=>t.createVNode("p",{class:"toast-msg-detail",innerHTML:e.value,style:"max-height: calc(100vh - 200px);overflow: auto;"},null)}function La(e,n,a,o,l){const i=t.ref(e.exceptionInfo),r=t.computed(()=>{const p=n.value==="question"?"warning":n.value,C={"f-icon":!0},s=`f-icon-${p}`;return C[s]=!0,C}),c=t.computed(()=>a.value||i.value&&i.value.message),d=t.computed(()=>o.value),m=t.computed(()=>!!o.value),b=t.computed(()=>!!i.value);function f(){return b.value?ja(i,l):m.value?Ra(d):()=>null}const u=f(),h=t.computed(()=>l.locale==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});return()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:r.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[t.createVNode("p",{class:"toast-msg-title",innerHTML:c.value,style:h.value},null),u()])])}function $a(e,n,a,o){const{onCopy:l}=n,{toShowFeedback:i}=a,r=t.ref(o.exception.copySuccess||"复制成功"),c=t.ref(o.exception.copy||"复制详细信息"),d=t.ref(e.exceptionInfo||{date:"",message:"",detail:""}),m=t.computed(()=>d.value&&d.value.detail||"");function b(f){l(m.value).catch(u=>{r.value=o.exception.copyFailed||"复制失败"}).finally(()=>{i.value=!0,setTimeout(()=>{i.value=!1},700)})}return()=>t.createVNode("span",{style:"width: 100%;color: #2A87FF;padding-left: 37px;"},[t.createVNode("span",{onClick:b,style:"cursor: pointer;"},[c.value])])}function za(e,n,a,o,l){const i=t.ref(e.type),r=t.ref(e.buttons),c=t.ref(e.exceptionInfo),d=t.ref(l.ok||e.okButtonText),m=t.ref(l.cancel||e.cancelButtonText),b=t.ref(e.showCancelButton),f=t.ref(e.showOkButton),u=t.computed(()=>!!(r.value&&r.value.length)),h=t.computed(()=>!!(c.value&&c.value.detail)),p=t.computed(()=>!(r.value&&r.value.length)&&(f.value||b.value)),C=$a(e,a,o,l);d.value==="关闭"?d.value=l.close:d.value==="知道了"&&(d.value=l.exception.roger);function s(x){i.value==="question"&&n.emit("reject"),n.emit("close")}function y(x){i.value==="question"&&n.emit("accept"),n.emit("close")}return()=>t.createVNode("div",{class:"modal-footer"},[h.value&&C(),p.value&&b.value&&t.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:s},[m.value]),p.value&&f.value&&t.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:y},[d.value]),u.value&&r.value.length&&r.value.map(x=>t.createVNode("button",{type:"button",onClick:x.handle,class:x.class},[x.iconClass&&t.createVNode("span",{class:x.iconClass},null),x.text]))])}function Aa(e){const{getLocaleValue:n}=G.LocaleService,a=G.LocaleService.getLocale();function o(l,i,r){return i===r?n(l):i}return{yes:o("messageBox.yes")||"是",no:o("messageBox.no")||"否",close:o("messageBox.close")||"关闭",ok:o("messageBox.ok",e.okButtonText,"确定")||"确定",cancel:o("messageBox.cancel",e.cancelButtonText,"取消")||"取消",title:o("messageBox.title")||"系统提示",errorTitle:o("messageBox.errorTitle")||"错误提示",exception:{expand:o("messageBox.exception.expand")||"展开",collapse:o("messageBox.exception.collapse")||"收起",happend:o("messageBox.exception.happend")||"发生时间",detail:o("messageBox.exception.detail")||"详细信息",copy:o("messageBox.exception.copy")||"复制详细信息",copySuccess:o("messageBox.exception.copySuccess")||"复制成功",copyFailed:o("messageBox.exception.copyFailed")||"复制失败",roger:o("messageBox.exception.roger")||"知道了"},locale:a}}const Ce=t.defineComponent({name:"FMessageBox",props:Na,emits:["accept","reject","close"],setup(e,n){const a=Aa(e),o=t.ref(e.type),l=t.ref(e.title),i=t.ref(e.detail),r=t.computed(()=>{const y={"modal-tips":!0,"d-flex":!0,"flex-row":!0},x=`messager-type-${o.value}`;return y[x]=!0,y}),c=t.computed(()=>{const y={cursor:"default"};return o.value==="prompt"?y.padding="0.5rem 0.5rem 1rem 1.5rem":o.value==="error"&&(y.padding="0.5rem 1.5rem 1rem 1.5rem"),y}),d=Oa(),m=Da(e,o,l,i),b=Pa(),{feedbackStyle:f,feedbackMessage:u}=b;u.value=a.exception.copySuccess;function h(){return t.createVNode("div",{style:f.value},[u.value])}function p(){switch(o.value){case"prompt":return Ia(e,m);default:return La(e,o,l,i,a)}}const C=p(),s=za(e,n,d,b,a);return()=>t.createVNode("div",{class:"farris-messager"},[!e.exceptionInfo&&t.createVNode("div",{style:"height: 30px;width: 100%;position: absolute;",class:"messager-draggable"},null),t.createVNode("section",{class:r.value,style:c.value},[C()]),s(),h()])}}),X=class X{static show(n){const a=t.reactive({...n}),o=!1,l=a.type==="error"||a.type==="prompt",i=a.type==="error"?"错误提示":a.type==="prompt"&&a.title||"",r=a.acceptCallback||(()=>{}),c=a.rejectCallback||(()=>{});let d=null,m=new ze(X.app);const b=()=>{d&&(d==null||d.destroy(),m=null)};return d=m==null?void 0:m.open({class:"modal-message modal-message-type-info",title:i,showButtons:o,showHeader:l,width:a.width||400,fitContent:!0,showMaxButton:!1,draggable:!0,dragHandle:".messager-draggable",render:()=>t.createVNode(Ce,t.mergeProps(a,{onAccept:r,onReject:c,onClose:b}),null)}),m==null?void 0:m.getCurrentModal()}static info(n,a){const o=t.reactive({type:"info",title:n,detail:a,okButtonText:"知道了",showCancelButton:!1});X.show(o)}static warning(n,a){const o=t.reactive({type:"warning",title:n,detail:a,okButtonText:"知道了",showCancelButton:!1});X.show(o)}static success(n,a){const o=t.reactive({type:"success",title:n,detail:a,okButtonText:"关闭",showCancelButton:!1});X.show(o)}static error(n,a,o){const l=t.reactive({width:500,type:"error",okButtonText:"关闭",showCancelButton:!1,exceptionInfo:{date:o,message:n,detail:a}});X.show(l)}static prompt(n,a){const o=t.reactive({type:"prompt",title:n,detail:a,okButtonText:"确定",cancelButtonText:"取消"});X.show(o)}static question(n,a,o,l){const i=t.reactive({type:"question",title:n,detail:a,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:o,rejectCallback:l});X.show(i)}};K(X,"app",null);let ie=X;Ce.install=e=>{e.component(Ce.name,Ce),ie.app=e,e.provide("FMessageBoxService",ie)};const Ha=t.defineComponent({name:"filter-condition-actions",props:["canClear","canMove","questionMessage"],emits:["add","clear","moveTop","movePrev","moveNext","moveBottom"],setup(e,n){const a=t.ref(e.questionMessage||"确定要清空所有数据吗?"),o={position:"relative",top:"2px"};function l(){n.emit("add")}function i(){ie.question(a.value,"",()=>{n.emit("clear")},()=>{})}function r(){n.emit("moveTop")}function c(){n.emit("movePrev")}function d(){n.emit("moveNext")}function m(){n.emit("moveBottom")}return()=>t.createVNode("div",{class:"px-2 d-flex align-items-center",style:"height: 36px;background: #f0f0f0; margin-left: 14px; margin-right: 14px;"},[t.createVNode("button",{type:"button",onClick:l,class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-add",style:o},null),t.createTextVNode("添加")]),t.createVNode("button",{type:"button",onClick:i,disabled:!e.canClear.value,class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-close",style:o},null),t.createTextVNode("清空")]),t.createVNode("button",{type:"button",onClick:r,disabled:!e.canMove.value("up"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-end-up",style:o},null),t.createTextVNode("置顶")]),t.createVNode("button",{type:"button",onClick:c,disabled:!e.canMove.value("up"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-60-up",style:o},null),t.createTextVNode("上移")]),t.createVNode("button",{type:"button",onClick:d,disabled:!e.canMove.value("down"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-60-down",style:o},null),t.createTextVNode("下移")]),t.createVNode("button",{type:"button",onClick:m,disabled:!e.canMove.value("down"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-end-down",style:o},null),t.createTextVNode("置底")])])}}),Wa=t.defineComponent({name:"sort-editor-grid",props:qe,emits:["insert","remove","rowClick"],setup(e,n){const{sortTypes:a}=dt(),{renderFieldsComboTree:o}=mt(e),l=t.ref(),{conditions:i,fields:r,onInsert:c,onRemove:d,onRowClick:m,activeRowCls:b,itemIntoView:f}=pt(e,n,l);return t.onUpdated(()=>{f()}),()=>t.createVNode("div",{class:"table-body f-utils-fill win11Scroll show nobtn ",style:"margin-left:14px; margin-right: 0; overflow-y: scroll;"},[t.createVNode("table",{class:"table table-bordered",style:"margin-bottom: 0;"},[t.createVNode("thead",{style:"position: sticky; top: 0; z-index: 1;"},[t.createVNode("tr",null,[t.createVNode("th",{style:"width: 40px"},null),t.createVNode("th",{style:"width: 100px"},[t.createVNode("b",null,[t.createTextVNode("字段")])]),t.createVNode("th",{style:"width: 60px"},[t.createVNode("b",null,[t.createTextVNode("排序")])])])]),t.createVNode("tbody",{ref:l},[i.value.map((u,h)=>t.createVNode("tr",{index:h,class:b.value(h),onClick:p=>m(u,h)},[t.createVNode("td",{style:"text-overflow: unset;",align:"center",class:"px-1"},[t.createVNode("button",{title:"插入",onClick:p=>c(h,p),type:"button",class:"btn btn-link p-1 mr-0"},[t.createVNode("span",{class:"f-icon f-icon-plus"},null)]),t.createVNode("button",{title:"移除",onClick:p=>d(h,p),type:"button",class:"btn btn-link p-1 m-0"},[t.createVNode("span",{class:"f-icon f-icon-minus"},null)])]),t.createVNode("td",{class:"px-1"},[o(u,r.value,"sortField")]),t.createVNode("td",{class:"px-1"},[t.createVNode(oe,{data:a,textField:"label",valueField:"value",idField:"value",modelValue:u.sortType,"onUpdate:modelValue":p=>u.sortType=p,enableClear:!1,minPanelWidth:130,placement:"auto"},null)])]))])])])}});function qa(e,n){const a=t.ref(-1);function o(){return n.value[a.value]}function l(){n.value.length>0?a.value=0:a.value=-1}const i=t.computed(()=>e.displayText?e.displayText:typeof e.modelValue=="string"?e.modelValue:""),r=e.editorType!=="sort"?"filterField":"sortField",c=e.editorType!=="sort"?{filterField:"",value:"",lbracket:"",rbracket:"",relation:le.Empty,compare:ut.Equal,expresstype:e.singleValue?Z.Value:Z.Variable}:{sortField:"",sortType:"asc"},d=t.computed(()=>n.value.length>0),m=t.computed(()=>(g="down")=>n.value.length>1?g==="up"?a.value>0:a.value<n.value.length-1:!1);function b(){if(e.editorType==="filter")for(let g=0;g<n.value.length-1;g++){const w=n.value[g];(w.relation===le.Empty||!w.relation)&&(w.relation=le.And)}}function f(){const g=Object.assign({},c);n.value=[...n.value,g];const w=n.value.length-1;a.value=w,b()}function u({index:g}){const w=Object.assign({},c);e.insertType==="above"?g===0?n.value.unshift(w):n.value.splice(g,0,w):n.value.splice(g+1,0,w),n.value=[...n.value],b()}function h({index:g}){n.value.splice(g,1),n.value=[...n.value],!(a.value<0)&&(g===a.value?n.value[g]?a.value=g:n.value[g-1]?a.value=g-1:a.value=-1:g<a.value&&(n.value[a.value-1]?a.value=a.value-1:n.value[a.value]||(a.value=-1)))}function p(){n.value=[]}function C(){a.value>=0&&(n.value.unshift(o()),n.value.splice(a.value+1,1),a.value=0)}function s(){if(a.value>=0){const g=a.value,w=n.value.splice(g,1);n.value.splice(g-1,0,...w),a.value=g-1}}function y(){if(a.value>=0){const g=a.value,w=n.value.splice(g,1);n.value.splice(g+1,0,...w),a.value=g+1}}function x(){a.value>=0&&(n.value.push(o()),n.value.splice(a.value,1),a.value=n.value.length-1)}function k({index:g}){a.value=g}function F(g){if(g.length%2!==0)return!1;let w="";for(const N of g)if(N==="(")w+=N;else if(N===")"){if(!w.endsWith("("))return!1;w=w.slice(0,-1)}return w.length===0}function v(){const g=n.value.length;if(!g)return!0;let w=!0,N=!0;if(e.editorType!=="sort"){n.value[g-1].relation=le.Empty,N=!n.value.slice(0,-1).some(O=>O.relation===le.Empty||!O.relation);const T=n.value.flatMap(O=>[O.lbracket,O.rbracket]).join("");w=F(T)}const j=n.value.some(I=>!I[r]);return[{result:w,message:"括号不匹配,请检查。"},{result:N,message:"关系设置不完整,请检查。"},{result:!j,message:"字段不允许为空,请检查。"}].find(I=>!I.result)}return{displayText:i,activeRowIndex:a,canClear:d,canMove:m,onAddFilter:f,onRemove:h,onInsert:u,onClear:p,onMoveTop:C,onMovePrev:s,onMoveNext:y,onMoveBottom:x,onSelectRow:k,validateCondition:v,resetActiveRow:l}}const Ua=t.defineComponent({name:"filter-condition-editor",props:We,emits:["update:modelValue"],setup(e,n){const a=t.inject(e.repositoryToken),o=t.inject(Be),l=t.inject("FLoadingService");o&&(o.globalConfig={position:"top-center"});const i=t.ref(e.expressionOptions||{}),r=t.ref(e.formContextData||{}),c=t.ref(e.fields||[]),d='<i class="f-icon f-icon-lookup"></i>',m=t.ref([]),b=t.ref([]),{displayText:f,onAddFilter:u,onClear:h,onMoveBottom:p,onMoveNext:C,onMovePrev:s,onMoveTop:y,onInsert:x,onRemove:k,activeRowIndex:F,onSelectRow:v,canClear:g,canMove:w,validateCondition:N,resetActiveRow:j}=qa(e,m),I=t.computed(()=>e.editorType==="sort"?"排序条件编辑器":"过滤条件编辑器");function T(){return e.editorType==="sort"?t.createVNode(Wa,{conditions:m.value,fields:c.value,activeIndex:F.value,onInsert:M=>x(M),onRemove:M=>k(M),idField:e.idField,onRowClick:M=>v(M)},null):t.createVNode(Sa,{singleValue:e.singleValue,expressionOptions:i.value,enableExpression:e.enableExpression,conditions:m.value,fields:c.value,idField:e.idField,activeIndex:F.value,onInsert:M=>x(M),onRemove:M=>k(M),onRowClick:M=>v(M),formContextData:r.value},null)}const O=t.computed(()=>JSON.stringify(m.value)===JSON.stringify(b.value)),S=t.computed(()=>e.disableConfirmWhenUnchanged&&O.value);async function E(){if(n.emit("update:modelValue",m.value),e.onSubmitModal){l==null||l.show();const M=await e.onSubmitModal({loadingService:l,repository:a,conditions:m,originalConditions:b,FMessageBoxService:ie});return l==null||l.clearAll(),M&&(F.value=-1,o.success("过滤条件配置成功!")),M}return!0}const D={title:I.value,width:800,height:600,fitContent:!1,minWidth:300,minHeight:200,showMaxButton:!0,resizeable:!0,draggable:!0,closedCallback:()=>{F.value=-1},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:M=>!0},{name:"accept",text:"确定",class:"btn btn-primary",disabled:S,handle:async M=>{const $=N();return O.value?!0:typeof $=="object"&&$!==null&&$&&$.message?(o.warning($.message),!1):await E()}}]};async function P(){if(e.beforeOpen)try{l==null||l.show();const M=await e.beforeOpen({repository:a,notifyService:o});if(M){const{fieldList:$,conditionList:z,entities:H,variables:Ee,formContextData:fe,isServerSide:De}=M;return c.value=$||[],m.value=z||[],b.value=JSON.parse(JSON.stringify(m.value)),i.value={entities:H,variables:Ee,isServerSide:De},r.value=fe||{},l==null||l.clearAll(),j(),!0}}catch{return o==null||o.error({message:"获取数据失败!"}),!1}finally{l==null||l.clearAll()}return j(),!0}function R(){n.emit("update:modelValue","")}function B(M){n.emit("update:modelValue",M)}return()=>t.createVNode(ye,{modelValue:f.value,editable:e.editable,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:d,buttonBehavior:"Modal",modalOptions:D,beforeOpen:P,onClear:R,enableTitle:e.enableTitle,"onUpdate:modelValue":B},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode("div",{style:"border-top: 1px solid white; position: absolute; top: 0; width: 100%; z-index: 2;",class:"shading-border-top"},null),T(),t.createVNode(Ha,{canClear:g,canMove:w,onAdd:u,onClear:h,onMoveBottom:p,onMoveNext:C,onMovePrev:s,onMoveTop:y},null)])]})}}),we=t.defineComponent({name:"sort-condition-editor",props:Re,emits:["update:modelValue"],setup(e,n){function a(o){n.emit("update:modelValue",o)}return()=>t.createVNode(Ua,t.mergeProps({editorType:"sort"},e,{"onUpdate:modelValue":a}),null)}}),Ya={install(e){e.component(we.name,we)},register(e,n,a,o){e["sort-condition-editor"]=we,n["sort-condition-editor"]=Ft}};A.SortConditionEditor=we,A.default=Ya,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
427
+ `},lt=$n(Wn)(ot),qn={config:An},Un=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(i,s){return s(i)},l)}};function it(e,n){return Object.keys(n).forEach(function(a){n[a]instanceof Object&&e[a]&&Object.assign(n[a],it(e[a],n[a]))}),et(et({},e),n)}var Yn={type:"cancelation",msg:"operation is manually canceled"};function Se(e){var n=!1,a=new Promise(function(o,l){e.then(function(i){return n?l(Yn):o(i)}),e.catch(l)});return a.cancel=function(){return n=!0},a}var Gn=Rn.create({config:Ln,isInitialized:!1,resolve:null,reject:null,monaco:null}),rt=bn(Gn,2),de=rt[0],be=rt[1];function Xn(e){var n=qn.config(e),a=n.monaco,o=gn(n,["monaco"]);be(function(l){return{config:it(l.config,o),monaco:a}})}function Kn(){var e=de(function(n){var a=n.monaco,o=n.isInitialized,l=n.resolve;return{monaco:a,isInitialized:o,resolve:l}});if(!e.isInitialized){if(be({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Se(Ne);if(window.monaco&&window.monaco.editor)return st(window.monaco),e.resolve(window.monaco),Se(Ne);Un(Jn,Zn)(Qn)}return Se(Ne)}function Jn(e){return document.body.appendChild(e)}function _n(e){var n=document.createElement("script");return e&&(n.src=e),n}function Zn(e){var n=de(function(o){var l=o.config,i=o.reject;return{config:l,reject:i}}),a=_n("".concat(n.config.paths.vs,"/loader.js"));return a.onload=function(){return e()},a.onerror=n.reject,a}function Qn(){var e=de(function(a){var o=a.config,l=a.resolve,i=a.reject;return{config:o,resolve:l,reject:i}}),n=window.require;n.config(e.config),n(["vs/editor/editor.main"],function(a){st(a),e.resolve(a)},function(a){e.reject(a)})}function st(e){de().monaco||be({monaco:e})}function ea(){return de(function(e){var n=e.monaco;return n})}var Ne=new Promise(function(e,n){return be({resolve:e,reject:n})}),Ve={config:Xn,init:Kn,__getMonacoInstance:ea};const ta=t.defineComponent({name:"expression-code",props:{modelValue:{type:String,default:""},language:{type:String,default:"javascript"},theme:{type:String,default:"vs"},readOnly:{type:Boolean,default:!1},configPath:{type:String,default:"assets/monaco-editor.config.json"}},emits:[],setup(e,n){const a=t.ref(),o=t.ref();let l=null;const i=t.ref(e.modelValue);async function s(){return fetch(e.configPath).then(b=>b.json())}async function c(){if(a.value&&!l){const b=await s(),{vsPath:y}=b;Ve.config({paths:{vs:window.location.origin+y}}),Ve.config({"vs/nls":{availableLanguages:{"*":"zh-cn"}}}),Ve.init().then(r=>{o.value=r,l=r.editor.create(a.value,{value:i.value,automaticLayout:!0,language:e.language,theme:e.theme,folding:!0,readOnly:e.readOnly,minimap:{enabled:!1},lineNumbers:"on",lineNumbersMinChars:3,overviewRulerLanes:0,fixedOverflowWidgets:!1,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:8,horizontalScrollbarSize:8}})})}}t.watch(()=>e.modelValue,b=>{i.value=b,l==null||l.setValue(b)});const u=t.ref(),f=new ResizeObserver(b=>{l==null||l.layout();const{width:y,height:r}=b[0].contentRect;u.value={width:`${y-1}px`,height:`${r}px`}});function x(){return l==null?void 0:l.getValue()}function m(b){const y=l.getSelection(),r=new o.value.Range(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn);l.executeEdits("insert-text",[{range:r,text:b,forceMoveMarkers:!0}])}t.onMounted(()=>{c(),a.value&&f.observe(a.value.parentElement)}),t.onBeforeUnmount(()=>{l&&l.dispose(),f&&a.value&&(f.unobserve(a.value),f.disconnect())});function d(b){l.setValue(b)}function C(){d("")}return n.expose({getContent:x,insertText:m,clearText:C,setContent:d}),()=>t.createVNode("div",{class:"expression-code-editor",style:u.value,ref:a},null)}}),na={dataSource:{type:Object,default:{}}},aa={data:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},formatter:{type:Function},customRowStatus:{type:Object,default:null}},oa=t.defineComponent({name:"FEntitiesTree",props:aa,emits:["dblclickNode"],setup(e,n){const a=t.ref(e.data),o=t.ref(),l=t.ref();function i(){let m=0;return document.querySelectorAll(".entity-variable .fv-grid-hierarchy-cell").forEach(C=>{C.style.width="auto";const b=C.scrollWidth;b>m&&(m=b)}),m}t.watch(()=>e.data,m=>{var d;a.value=m,(d=o.value)==null||d.updateDataSource(m)});const s={customRowStatus:e.customRowStatus},c=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]);function u({$event:m,node:d}){n.emit("dblclickNode",{$event:m,node:d})}function f(){const m=i();l.value={minWidth:`${m+10}px`}}function x({row:m}){t.nextTick(f)}return t.onMounted(()=>{t.nextTick(f)}),()=>t.createVNode("div",{class:"h-100 f-utils-fill",style:"overflow:auto",id:"entity-tree-view"},[t.createVNode(je,{ref:o,fit:!1,rowNumber:{enable:!1},data:a.value,idField:e.idField,columns:c.value,rowOption:s,columnOption:{fitColumns:!0,fitMode:"percentage"},onDblclickNode:u,style:l.value,autoHeight:!0,onExpandNode:x},null)])}}),la=t.defineComponent({name:"entity-variable",props:na,emits:["variableItemDblClick","entityItemDblClick","fieldClick"],setup(e,n){const a=t.ref("dataEntity"),o=t.ref(e.dataSource),{entities:l,variables:i}=o.value,s=t.ref(""),c=t.ref((l==null?void 0:l.fields)||[]),u=(S,E)=>{S.stopPropagation(),n.emit("fieldClick",{$event:S,item:E.raw})},f=(S,E)=>{const D=`${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:D,class:"f-utils-fill text-truncate"},[D]),t.createVNode("button",{title:"插入属性名称",class:"btn btn-link d-none",style:"width:24px;height:24px",onClick:P=>u(P,E),onDblclick:P=>P.stopPropagation()},[t.createVNode("span",{class:"f-icon f-icon-new-edit",style:"font-size: 12px;"},null)])])},x=t.ref({}),m=t.ref(),d=t.computed(()=>S=>({"list-group d-flex flex-column":!0,"f-utils-fill":a.value===S,expand:a.value===S,collapse:a.value!==S})),C=t.computed(()=>S=>({"f-icon f-icon-arrow-chevron-up":a.value!==S,"f-icon f-icon-arrow-chevron-down":a.value===S})),b=t.computed(()=>S=>({"functions-type d-flex flex-column":!0,open:x.value[S],closed:!x.value[S]})),y=t.computed(()=>S=>({"f-icon f-icon-arrow-chevron-down":x.value[S],"f-icon f-icon-arrow-chevron-right":!x.value[S]})),r=t.computed(()=>S=>{var E;return{"functions-item pl-2":!0,selected:((E=m.value)==null?void 0:E.key)===S.key}});function h(S,E){S.stopPropagation(),x.value=x.value||{},x.value[E]=!x.value[E]}function v(S,E){S.stopPropagation(),m.value=E}function k(S,E){n.emit("variableItemDblClick",{$event:S,item:E})}function F({$event:S,node:E}){n.emit("entityItemDblClick",{$event:S,item:E.data,entityCode:l==null?void 0:l.entityCode,parentCodes:E.data.parents.join(".")})}function p(){return t.createVNode(oa,{data:c.value,formatter:f,onDblclickNode:F},null)}function g(){if(i)return t.createVNode("ul",{class:"w-100 functions-list"},[Object.keys(i).map(S=>i[S].visible&&t.createVNode("li",{"variable-type":S,class:b.value(S)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:E=>{h(E,S)}},[t.createVNode("span",{class:y.value(S)},null),i[S].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[i[S].items.map(E=>t.createVNode("li",{class:r.value(E),onClick:D=>v(D,E),onDblclick:D=>k(D,E),title:`${E.name} [${E.key}]`},[E.name]))])]))])}function w(S,E){if(S.stopPropagation(),a.value===E){a.value="";return}a.value=E}t.onMounted(()=>{if(i){const S=Object.keys(i)[0];x.value[S]=!0}});function N(S,E){const D=S.children.map($=>N($,E)).filter($=>$!==null);return S.data.name.toLowerCase().includes(E.toLowerCase())||S.data.bindingPath.toLowerCase().includes(E.toLowerCase())?{data:{...S.data},children:S.children}:D.length>0?{data:{...S.data},children:D}:null}function j(S,E){return S.map(D=>N(D,E)).filter(D=>D!==null)}function I(){const S=j((l==null?void 0:l.fields)||[],s.value);c.value=S}function T(){c.value=(l==null?void 0:l.fields)||[]}function O(S){S.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:d.value("dataEntity")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:S=>w(S,"dataEntity")},[t.createTextVNode("数据实体"),t.createVNode("span",{class:C.value("dataEntity")},null)]),t.createVNode("div",{class:"data-area f-utils-fill d-flex flex-column"},[t.createVNode("div",{class:"w-100"},[t.createVNode(me.FButtonEdit,{class:"m-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入名称或编号,按回车查询",modelValue:s.value,"onUpdate:modelValue":S=>s.value=S,onClickButton:I,onClear:T,onKeyup:O},null)]),p()])]),t.createVNode("li",{class:d.value("variables")},[t.createVNode("div",{class:"title px-2 d-flex align-items-center",onClick:S=>w(S,"variables")},[t.createTextVNode("变量"),t.createVNode("span",{class:C.value("variables")},null)]),t.createVNode("div",{class:"data-area f-utils-fill"},[g()])])])])}}),ia={functionItems:{type:Array,default:[]},singleExpand:{type:Boolean,default:!0}},ra=t.defineComponent({name:"FExpressionEditor",props:ia,emits:["insertFunction","search"],setup(e,n){const a=t.ref(),o=t.ref(""),l=t.ref(),i=t.ref({}),s=t.ref(""),c="没有与搜索条件匹配的项",u=t.ref(e.functionItems),f=t.computed(()=>p=>e.singleExpand?{"functions-type d-flex flex-column":!0,open:o.value===p,closed:o.value!==p}:{"functions-type d-flex flex-column":!0,open:i.value[p],closed:!i.value[p]}),x=t.computed(()=>p=>e.singleExpand?{"f-icon f-icon-arrow-chevron-down":o.value===p,"f-icon f-icon-arrow-chevron-right":o.value!==p}:{"f-icon f-icon-arrow-chevron-down":i.value[p],"f-icon f-icon-arrow-chevron-right":!i.value[p]}),m=t.computed(()=>p=>{var g;return{"functions-item pl-2":!0,selected:((g=l.value)==null?void 0:g.key)===p.key}}),d=t.ref(Object.keys(u.value));t.watch(()=>e.functionItems,p=>{u.value=p,d.value=Object.keys(u.value),s.value&&(i.value=d.value.reduce((g,w)=>(g[w]=!0,g),{}))});function C(p){p||(p=o.value);const g=a.value.querySelector('li[function-type="'+p+'"] > div.functions-type-name');g&&(a.value.querySelector(".expression-left").scrollTop=0,g.scrollIntoViewIfNeeded?g.scrollIntoViewIfNeeded(!0):g.scrollIntoView({behavior:"smooth",block:"nearest"}))}function b(p){if(e.singleExpand){if(o.value===p){o.value="";return}o.value=p}else i.value=i.value||{},i.value[p]=!i.value[p]}function y(p,g){p.stopPropagation(),l.value=g}function r(p,g){p.stopPropagation(),n.emit("insertFunction",{$event:p,item:g})}t.watch(()=>o.value,(p,g,w)=>{if(p){const N=setTimeout(()=>{C(p)},200);w(()=>clearTimeout(N))}});function h(){n.emit("search",s.value)}function v(){n.emit("search","")}function k(p){p.key==="Enter"&&h()}function F(){return d.value.length?d.value.map(p=>t.createVNode("li",{"function-type":p,class:f.value(p)},[t.createVNode("div",{class:"functions-type-name pl-2 d-flex align-items-center",onClick:()=>{b(p)}},[t.createVNode("span",{class:x.value(p)},null),u.value[p].name]),t.createVNode("ul",{class:"pl-3 mr-2"},[u.value[p].items.map(g=>{if(g.visible!==!1)return t.createVNode("li",{class:m.value(g),onClick:w=>y(w,g),onDblclick:w=>r(w,g)},[p==="advanced"?g.key:g.name])})])])):t.createVNode("li",{class:"empty-message"},[c])}return t.onMounted(()=>{o.value=d.value[0],i.value=d.value.reduce((p,g)=>(p[g]=o.value===g,p),{})}),()=>t.createVNode("div",{class:"d-flex f-utils-fill flex-column",ref:a},[t.createVNode(ee,{class:"flex-column expression-left"},{default:()=>[t.createVNode(_,{position:"top",minHeight:50,height:50,"custom-class":"position-relative d-flex align-items-center search-bar",resizable:!1},{default:()=>[t.createVNode(me.FButtonEdit,{class:"w-100 mx-2",buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,popupOnClick:!0,placeholder:"请输入函数名称,按回车查询",modelValue:s.value,"onUpdate:modelValue":p=>s.value=p,onClickButton:h,onClear:v,onKeyup:k},null)]}),t.createVNode(_,{position:"center","custom-class":"layout-border"},{default:()=>[t.createVNode("ul",{class:"w-100 functions-list",style:"user-select: none"},[F()])]}),t.createVNode(_,{"custom-class":"position-relative",position:"bottom",minHeight:80},{default:()=>{var p;return[t.createVNode("textarea",{title:"函数说明",class:"h-100 w-100 function-remark p-1",disabled:!0},[(p=l.value)==null?void 0:p.description])]}})]})])}});function sa(e){async function n(){return fetch(e.esprimaPath).then(s=>s.json())}async function a(){if(window.esprima==null){const s=await n(),{path:c}=s;return new Promise((u,f)=>{const x=document.createElement("script");x.type="text/javascript",x.src=c+"?v="+Date.now(),x.onload=u,x.onerror=f,document.head.appendChild(x)})}}function o(s){const c=[],u=window.esprima.tokenize(s);for(let d=0;d<u.length;d++)c.push(u[d].value);const f=[];for(let d=0;d<c.length;d++){const C=s.indexOf(c[d]);C!==-1?f.push(s.substring(0,C)):f.push(""),s=s.slice(C+c[d].length),d===c.length-1&&f.push(s)}const x=[],m=c.length;for(let d=0;d<m;d++)f[d]!==""&&x.push(f[d]),c[d]!==""&&x.push(c[d]),d===m-1&&f[d+1]!==""&&x.push(f[d+1]);return x}function l(s,c="key2name"){const u=new Map;if(!s)return u;let x=Object.values(s).map(m=>m.items).flat();for(;x.length>0;){const m=x.filter(d=>d.name===x[0].name);m.length>1?x.filter(d=>d.name===x[0].name).forEach(d=>{c==="key2name"?u.set(d.key,d.key+"_"+d.name):c==="name2key"&&u.set(d.key+"_"+d.name,d.key)}):c==="key2name"?u.set(m[0].key,m[0].name):c==="name2key"&&u.set(m[0].name,m[0].key),x=x.filter(d=>d.name!==x[0].name)}return u}a();async function i(s){return window.esprima?s():await a().then(()=>s())}return{loadEsprima:a,getTokens:o,getVariableMaps:l,runWithEsprima:i}}function ca(e,n,a){const o=t.ref(e.disabledFunctions),{getTokens:l,getVariableMaps:i,runWithEsprima:s}=sa(e);function c(){const r=J.cloneDeep(n);if(o.value){let h=Object.keys(r);const{types:v,functions:k}=o.value;return v&&v.length&&(h=h.filter(F=>v.includes(F))),k&&k.length&&Object.values(r).forEach(F=>{F.items.forEach(p=>{k.includes(p.name)&&(p.visible=!1)})}),r}return r}function u(r){const h=n.analytical.items.find(v=>v.key==="GetContextParameter");if(h)return h.name+'("'+r.name+'")'}function f(r){if(!r||r.length===0)return"";const h=v=>{switch(v.type){case"string":return`"${v.name}"`;case"list":return`[${v.name}]`;default:return v.name}};return r.map(h).join(",")}function x(r){let h=r.name;return r.type.toLowerCase()!=="advanced"&&(h+="("+f(r.params)+")"),h}function m(r){return r==null?void 0:r.bindingPath}function d(r){if(!r)return"";const h=l(r),v=i(a,"name2key");for(let F=0;F<h.length;F++){let p=0;if(p===0&&v&&h[F].length>2&&h[F][0]==='"'&&h[F][h[F].length-1]==='"'){const g=h[F].substring(1,h[F].length-1);if(v.has(g)&&h[F-1]==="("&&h[F+1]===")"){const w=v.get(g);w!==void 0&&(h[F]=`"${w}"`,p=1)}}if(p===0){const g=Object.values(n).map(w=>w.items).flat();for(let w=0;w<g.length;w++)if(h[F]===g[w].name){h[F]=g[w].keyFront+"."+g[w].key,p=1;break}}}const k=h.join("");return JSON.stringify({expr:k,sexpr:""})}function C(r,h,v,k){let F="";const p=[];for(const g of h)g.keyFront==="Math"&&p.push(g.key);for(let g=0;g<r.length;g++){if(r[g]==="Math"&&r[g+1]==="."&&!p.includes(r[g+2])){F=F+r[g]+r[g+1]+r[g+2],g=g+2;continue}if(k.includes(r[g])&&r[g+1]==="."){g=g+1;continue}else{let w=0;if(w===0&&r[g].length>2&&r[g][0]==='"'&&r[g][r[g].length-1]==='"'){const N=r[g].substring(1,r[g].length-1);if(v.has(N)&&r[g-1]==="("&&r[g+1]===")"){const j=v.get(N);j!==void 0&&(F=F+`"${j}"`,w=1)}}if(w===0){for(let N=0;N<h.length;N++)if(r[g]===h[N].key&&h[N].type.toLowerCase()!=="advanced"){F=F+h[N].name,w=1;break}}w===0&&(F=F+r[g])}}return F}function b(r){if(!r)return"";const h=l(r),v=i(a,"key2name"),k=Object.values(n).map(p=>p.items).flat();return C(h,k,v,["DefaultFunction","Math","DefaultExtendFunctionProxy"])}async function y(r){return await s(()=>b(r))}return{resetFunctionItems:c,getFieldExpression:m,getFunctionExpression:x,getContextVariableExpression:u,getExpressionCodeValue:d,getExpressionTextValue:y}}function ua(e,n){const a=t.ref([]),o=J.cloneDeep(n.value),l=Object.values(o).map(c=>c.items).flat();function i(c){const u=J.cloneDeep(o);return Object.keys(u).forEach(f=>{const x=u[f].items.filter(m=>c.includes(m.key));x.length>0?u[f].items=x:delete u[f]}),u}function s(c){if(!c){n.value=o;return}const u=l.filter(f=>f.name.toLowerCase().includes(c.toLowerCase())).map(f=>f.key);n.value=i(u)}return{searchResultList:a,filterFunctions:i,onFunctionSearch:s}}const da=t.defineComponent({name:"FExpressionEditor",props:on,emits:[],setup(e,n){var T;const a=t.ref(),o=t.ref(e.validateMessage),l=t.ref(e.messageType),i=t.ref(e.modelValue),s=t.ref(),c=[{label:"提示",value:"info"},{label:"警告",value:"warning"},{label:"错误",value:"error"}],{getFunctionExpression:u,getContextVariableExpression:f,resetFunctionItems:x,getFieldExpression:m,getExpressionCodeValue:d,getExpressionTextValue:C}=ca(e,yn,e.variables),b=t.ref(x()),{onFunctionSearch:y}=ua(e,b);function r({$event:O,item:S}){var D;const E=u(S);(D=s.value)==null||D.insertText(E)}function h({$event:O,item:S}){var D;const E=f(S);(D=s.value)==null||D.insertText(E)}function v(O){return O.reduce((S,E)=>{var D;return S.push(E.data),(D=E.children)!=null&&D.length&&S.push(...v(E.children)),S},[])}const k=v(((T=e==null?void 0:e.entities)==null?void 0:T.fields)||[]);function F(O){return O.map(S=>{const E=k.find(D=>D.bindingPath===S);return E&&E.type==="entity"?`${S}[0]`:S}).join(".")}function p({$event:O,item:S,parentCodes:E,entityCode:D}){var B;const P=m(S);E=e.isServerSide?F(S.parents):E;let $=`${E}.${P}`;D===P&&($=P),(B=s.value)==null||B.insertText(`${$}`)}function g({$event:O,item:S}){var D;const E=m(S);(D=s.value)==null||D.insertText(`${E}`)}function w(){var O;return(O=s.value)==null?void 0:O.getContent()}function N(){var S;const O=(S=s.value)==null?void 0:S.getContent();return{value:d(O),message:o.value,messageType:l.value}}const j=t.ref("");function I(){var O;(O=s.value)==null||O.clearText()}return t.onMounted(async()=>{if(i.value){const O=JSON.parse(i.value),{expr:S}=O;S&&(j.value=await C(S)||"")}}),n.expose({getExpressionContext:w,getExpressionValue:N,resetExpression:I}),()=>t.createVNode("div",{ref:a,class:"h-100 d-flex flex-column f-utils-fill mx-3 expression-editor"},[t.createVNode(ee,null,{default:()=>[t.createVNode(_,{position:"left",width:248,minWidth:130},{default:()=>[t.createVNode(ra,{functionItems:b.value,singleExpand:e.singleExpand,onInsertFunction:r,onSearch:y},null)]}),t.createVNode(_,{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(ta,{modelValue:j.value,"onUpdate:modelValue":O=>j.value=O,ref:s},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(oe,{style:"width: 75px",data:c,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(_,{position:"right",width:258,minWidth:130},{default:()=>[t.createVNode(la,{dataSource:{entities:e.entities,variables:e.variables},onVariableItemDblClick:h,onEntityItemDblClick:p,onFieldClick:g},null)]})]})])}}),fa={$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"]},ct={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}};U.createPropsResolver(ct,fa);const ma={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}},ya={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Me=t.defineComponent({name:"Toast",props:ya,emits:["close","click"],setup:(e,n)=>{const a=t.ref(e.animate),o="fadeOut",l=t.computed(()=>e.options),i=t.ref(!1),s=t.computed(()=>l.value.title&&l.value.message),c=t.computed(()=>!l.value.title&&l.value.message),u=t.computed(()=>{const v={animated:i.value,toast:!0,"toast--only-content":!s.value};return v[e.animate]=!1,v[o]=i.value,v["toasty-type-"+l.value.type]=!0,l.value.theme&&(v[l.value.theme]=!0),v}),f=t.computed(()=>{const F=`f-icon-${l.value&&l.value.type?l.value.type.replace("toasty-type-",""):"default"}`,p={"f-icon":!0};return p[F]=!0,p}),x=t.computed(()=>l.value.title||l.value.message),m=t.computed(()=>e.showCloseButton),d=t.computed(()=>!!l.value.buttons||!!n.slots.default),C=t.computed(()=>G.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function b(v){v.stopPropagation(),v.preventDefault(),i.value=!1,setTimeout(()=>{n.emit("close",l.value)},200)}function y(v,k){}function r(v){return`f-preten-link ${v.customClass?v.customClass:""}`}t.watch(a,()=>{a.value});const h=()=>{var v;return t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((v=l.value.buttons)==null?void 0:v.map(k=>t.createVNode("span",{class:r(k),onClick:F=>void 0},[k.text]))),n.slots.default&&n.slots.default()])])};return()=>t.createVNode("div",{class:u.value,style:"min-height:44px"},[m.value&&t.createVNode("button",{title:G.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:b},[t.createVNode("span",{class:"f-icon modal_close"},null)]),x.value&&t.createVNode("section",{class:"modal-tips"},[!s.value&&t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:f.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[s.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:C.value},null),d.value&&h()]),c.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:C.value,innerHTML:l.value.message},null),t.createVNode("div",{class:"after-toast-title text-right ml-auto"},[h()])]):t.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:C.value,innerHTML:l.value.message},null))])])])}}),ve=t.defineComponent({name:"Notify",props:ma,emits:["close","empty"],setup(e,n){const a=t.computed(()=>({"farris-notify":!0})),o={left:12,right:12,top:20,bottom:12},l=t.ref(),i=t.ref(e.options),s=t.ref(e.showCloseButton),c=t.computed(()=>e.position||"bottom-right"),u=t.computed(()=>e.timeout!=null?e.timeout:3e3),f=t.computed(()=>{const d=e.bottom?e.bottom:o.bottom,C=e.top?e.top:o.top,b={transition:"all 0.2s ease",left:c.value.indexOf("left")>-1?`${e.left?e.left:o.left}px`:"",right:c.value.indexOf("right")>-1?`${e.right?e.right:o.right}px`:"",top:c.value.indexOf("top")>-1?`${C}px`:"",bottom:c.value.indexOf("bottom")>-1?`${d}px`:""};return c.value.indexOf("center")>-1&&(b.left="50%",b.marginLeft="calc(-24rem / 2)",c.value==="center-center"&&(b.top="50%",b.transform="translate(-50%, -50%)")),b});function x(d){n.emit("close")}u.value&&setTimeout(()=>{x()},u.value),n.expose({closeToast:x,container:l,notifyPosition:c});function m(d,C){x()}return()=>t.createVNode("div",{class:a.value,style:f.value,ref:l},[t.createVNode(Me,{options:i.value,showCloseButton:s.value,animate:e.animate,onClose:d=>m(d,i.value)},null)])}});class pa{constructor(){K(this,"notifyRefs",[]);K(this,"globalConfig",t.reactive({}))}escapeAllHtml(n){if(typeof n!="string"||!n)return"";const a=document.createElement("div");return a.textContent=n||"",a.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;").replace(/\\r/g,"")}createNotifyInstance(n){const a=this,l=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),i=document.createElement("div");i.style.display="contents";const s=t.createApp({setup(){var f;const c=t.ref();function u(){c.value.container.style.transform="scale(0)",setTimeout(()=>{a.updateNotifyPositionForClose(l,c),s.unmount()},220)}if(l.position.indexOf("top")>-1){const x=a.getNotifyInstances(l.position),m=x[x.length-1];if(m){const d=m.value.container.getBoundingClientRect();l.top=d.bottom}}return l.safeHtml&&((f=l.options)!=null&&f.message)&&(l.options.message=a.escapeAllHtml(l.options.message)),t.onUnmounted(()=>{document.body.removeChild(i)}),t.onMounted(()=>{a.updateNotifyPositionForCreate(l,c)}),()=>t.createVNode(t.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[t.createVNode(ve,t.mergeProps({ref:c},l,{onClose:u}),null)]})}});return s.provide("NotifyService",this),document.body.appendChild(i),s.use(G.LocaleService.i18n),s.mount(i),s}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 i=l.value.container.getBoundingClientRect();l.value.container.style.bottom=i.height+o-i.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),i=l.indexOf(a);l.slice(i+1).forEach(s=>{s.value.container.style.top=s.value.container.offsetTop-s.value.container.offsetHeight+"px"})}o>-1&&this.notifyRefs.splice(o,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,a){let o="",l="",i,s,c;typeof a=="string"?o=a:a&&(o=a.message||"",l=a.title||"",s=a.position||null,c=a.showCloseButton!=null?a.showCloseButton:null,i=a.timeout!=null?a.timeout:null);const f={options:{type:n,message:o,title:l}};return s!=null&&(f.position=s),c!=null&&(f.showCloseButton=c),i!=null&&(f.timeout=i),f}info(n){const a=this.buildNotifyProps("info",n);return this.show(a)}success(n){const a=this.buildNotifyProps("success",n);return this.show(a)}warning(n){const a=this.buildNotifyProps("warning",n);return this.show(a)}error(n){const a=this.buildNotifyProps("error",n);return this.show(a)}close(n){n&&n.unmount()}closeAll(){this.notifyRefs.forEach(n=>{n==null||n.value.closeToast()}),this.notifyRefs.length=0}}const Be=Symbol("NOTIFY_SERVICE_TOKEN");ve.install=e=>{e.component(ve.name,ve),e.component(Me.name,Me);const n=new pa;e.provide(Be,n),e.provide("FNotifyService",n)};const ha=t.defineComponent({name:"f-expression-textbox",props:ct,setup(e,n){const a=t.inject(Be),o=t.inject("FLoadingService"),l='<i class="f-icon f-icon-lookup"></i>',i=t.ref(e.modelValue),s=t.ref(e.entities),c=t.ref(e.variables),u=t.ref(),f=t.ref(e.validateMessage||""),x=t.ref("info");async function m(){const{value:y,message:r,messageType:h}=u.value.getExpressionValue();if(f.value=r,x.value=h,e.beforeSubmit&&typeof e.beforeSubmit=="function"){const v=await e.beforeSubmit({notifyService:a,expressionValue:y});if(typeof v=="boolean"&&!v)return!1;if(typeof v=="object"){const{canClose:k,message:F}=v;if(!k)return F&&(a==null||a.error({message:F})),!1}}if(n.emit("update:modelValue",y),i.value=y,e.onSubmitModal){const v={expression:y,message:r};e.showMessageType&&(v.messageType=x.value);const k=e.onSubmitModal(v);e.onExpressionChanged&&e.onExpressionChanged(k)}return!0}const d={title:e.dialogTitle||"表达式编辑器",width:e.dialogWidth||975,height:e.dialogHeight||600,fitContent:!1,minWidth:300,minHeight:200,showMaxButton:!0,resizeable:!0,draggable:!0,buttons:[{name:"reset",text:"清空",class:"btn btn-secondary mr-2",handle:y=>{var r;return(r=u.value)==null||r.resetExpression(),!1}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:y=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:async y=>await m()}]};async function C(){if(e.beforeOpen)try{o==null||o.show();const y=await e.beforeOpen({notifyService:a});if(y)return s.value=y.entities||{},c.value=y.variables||{},f.value=y.message||"",x.value=y.messageType||"info",o==null||o.clearAll(),!0}catch{return a==null||a.error({message:"获取数据失败!"}),!1}finally{o==null||o.clearAll()}return!0}function b(){if(n.emit("update:modelValue",""),i.value="",e.onSubmitModal){const y=e.onSubmitModal({expression:"",message:""});e.onExpressionChanged&&e.onExpressionChanged(y)}}return t.watch(()=>e.modelValue,y=>{i.value=y}),()=>t.createVNode(pe,{editable:!1,enableTitle:!0,modelValue:i.value,"onUpdate:modelValue":y=>i.value=y,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:l,buttonBehavior:"Modal",modalOptions:d,beforeOpen:C,onClear:b},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode(da,{ref:u,validateMessage:f.value,showMessageType:e.showMessageType,messageType:x.value,modelValue:i.value,"onUpdate:modelValue":y=>i.value=y,esprimaPath:e.esprimaPath,showMessage:e.showMessage,entities:s.value,variables:c.value,disabledFunctions:e.disabledFunctions,showDataPanel:e.showDataPanel,singleExpand:e.singleExpand,isServerSide:e.isServerSide},null)])]})}});var ut=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(ut||{}),le=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(le||{}),Z=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e[e.Variable=2]="Variable",e))(Z||{});const ga=e=>((e.raw.$type!=="SimpleField"||e.raw.selectable===!1)&&(e.disabled=!0),e);function dt(e){const n=[{value:"",label:" "},{value:"(",label:"("},{value:"((",label:"(("},{value:"(((",label:"((("}],a=[{value:"",label:" "},{value:")",label:")"},{value:"))",label:"))"},{value:")))",label:")))"}],o=[{label:"=",value:0},{label:"<>",value:1},{label:">",value:2},{label:">=",value:3},{label:"<",value:4},{label:"<=",value:5},{label:"like %...%",value:6},{label:"like ...%",value:7},{label:"like %...",value:8},{label:"not like %...%",value:9},{label:"not like ...%",value:10},{label:"not like %...",value:11},{label:"is",value:12},{label:"is not",value:13},{label:"in",value:14},{label:"not in",value:15}],l=[{label:" ",value:0},{label:"并且",value:1},{label:"或者",value:2}],i=[{label:"值",value:e!=null&&e.singleValue?Z.Value:Z.Variable}],s={label:"表达式",value:Z.Expression},c=e!=null&&e.enableExpression?[...i,s]:i;return{leftBracketItems:n,righttBracketItems:a,compareOperators:o,relationItems:l,valueTypes:c,sortTypes:[{label:"升序",value:"asc"},{label:"降序",value:"desc"}]}}const ba=new Map([["appearance",U.resolveAppearance]]),va={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-tree",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-tree"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},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"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},formatter:{type:"object",default:null},customRowStatus:{type:"object",default:null},minPanelWidth:{description:"",type:"number",default:160},idField:{description:"",type:"string",default:"id"},multiSelect:{description:"",type:"boolean",default:!1},viewType:{description:"",type:"string",default:"text"},searchFields:{description:"",type:"array",default:[]},enableSearch:{description:"",type:"boolean",default:!1},displayFormatter:{type:"object",default:null},enableClear:{description:"",type:"boolean",default:!0}},required:["id","type"]};function xa(e,n,a){return n}const ft={id:{type:String},data:{type:Array,default:[]},displayText:{type:String,default:""},disabled:{type:Boolean,default:!1},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},enableSearch:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},fitEditor:{type:Boolean,default:!1},forcePlaceholder:{type:Boolean,default:!1},hidePanelOnClear:{type:Boolean,default:!0},idField:{type:String,default:"id"},mapFields:{type:Object},maxHeight:{type:Number,default:350},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{type:Boolean,default:!1},remoteSearch:{type:Boolean,default:!1},separator:{type:String,default:","},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},valueField:{type:String,default:"id"},viewType:{type:String,default:"text"},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},formatter:{type:Function,default:null},displayFormatter:{type:Function,default:null},editorParams:{type:Object},repositoryToken:{type:Symbol,default:null},customRowStatus:{type:Object,default:null},minPanelWidth:{type:Number,default:160},searchFields:{type:Array,default:["name"]}},Ca=U.createPropsResolver(ft,va,ba,xa),wa={data:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{default:!1,type:Boolean},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},height:{type:Number},valueField:{type:String,default:"id"},formatter:{type:Function},maxHeight:{type:Number,default:350},repositoryToken:{type:Symbol,default:null},editorParams:{type:Object},customRowStatus:{type:Object,default:null},searchHandler:{type:Function,default:()=>{}}},ka=t.defineComponent({name:"FComboTreeContainer",props:wa,emits:["selectionChange","selectItem","unSelectItem"],setup(e,n){const a=t.ref(e.data),o=t.ref([]),l=t.ref(e.separator),i=t.ref(e.width),s=t.ref(e.height),c=t.ref(e.maxHeight),u=t.ref(String(e.selectedValues).split(l.value)),f=t.ref(),x={customRowStatus:e.customRowStatus};t.watch(()=>e.selectedValues,r=>{u.value=String(r).split(l.value)}),t.watch(()=>e.data,r=>{var h;a.value=r,(h=f.value)==null||h.updateDataSource(r)});const m={enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"OnCheckAndClick"};let d=null;e.repositoryToken&&(d=t.inject(e.repositoryToken));const C=t.computed(()=>[{field:e.textField,title:"",dataType:"string",formatter:e.formatter}]),b=t.computed(()=>{const r={};return i.value!==void 0&&(r.width=`${i.value}px`),s.value!==void 0&&(r.height=`${s.value}px`),c.value!==void 0&&c.value>0&&(r.maxHeight=`${c.value}px`,r.overflow="auto"),a.value.length===0&&(r.height="200px"),r.position="relative",r});function y(r=[]){r&&r.length>0?(o.value=[...r],u.value=o.value.map(h=>h[e.idField])):(o.value=[],u.value=[]),n.emit("selectionChange",o.value)}return t.onMounted(()=>{d&&d.getData(e.editorParams).then(r=>{a.value=r}),u.value&&f.value.activeRowById(u.value[0])}),n.expose({treeInstance:f}),()=>t.createVNode("div",{class:"f-combo-tree-container",style:b.value},[e.multiSelect&&e.enableSearch&&t.createVNode("div",{class:"p-2",style:"position: sticky;top:0;z-index: 2; background:white",onMousedown:r=>r.stopPropagation()},[t.createVNode(wt.FInputGroup,{buttonContent:'<i class="f-icon f-icon-search"></i>',enableClear:!0,placeholder:"请输入搜索内容",onClear:()=>n.emit("clearSearch"),onInput:(r,h)=>e.searchHandler(h)},null)]),t.createVNode(je,{ref:f,fit:!0,data:a.value,idField:e.idField,columns:C.value,"selection-values":u.value,onSelectionUpdate:y,columnOption:{fitColumns:!0,fitMode:"expand"},rowOption:x,selection:m,rowNumber:{enable:!1},onSelectItem:r=>n.emit("selectItem",r.raw),onUnSelectItem:r=>n.emit("unSelectItem",r.raw)},null)])}});function Fa(e){const n=t.ref(""),a=t.ref(e.modelValue),o=t.ref(e.data||[]),l=t.ref(e.editable);function i(m,d=[]){return m=m||[],m.reduce((C,b)=>(b.id=b.id||b.data[e.idField],C.push(b),b.children&&b.children.length&&i(b.children,C),C),d)}function s(m){const d=String(m).split(e.separator).map((r,h)=>[r,h]),C=new Map(d),b=[];return i(o.value,b),b.filter(r=>{const h=r.data?String(r.data[e.valueField]):String(r[e.valueField]);return C.has(h)}).map(r=>r.data?r.data:r).sort((r,h)=>{const v=C.get(String(r[e.valueField]))||0,k=C.get(String(h[e.valueField]))||0;return v-k})}function c(m){const d=s(m),C=e.displayFormatter?e.displayFormatter(d):d.map(b=>b[e.textField]).join(e.separator);n.value=l.value?C||m:C}function u(m){const d=m.split(e.separator).map(y=>[y,!0]),C=new Map(d);let b=[];return o.value[0].data?i(o.value,b):b=o.value,b=b.map(y=>y.data?y.data:y),b.filter(y=>C.has(y[e.textField])||C.has(y[e.valueField]))}function f(m){const d={};return d[e.idField]=m,d[e.textField]=m,[d]}function x(m){let d=u(m);const C=d&&d.length>0;return l.value&&!C&&(d=f(m)),d}return t.watch(()=>e.data,()=>{o.value=e.data}),t.watch([o],([m])=>{if(e.modelValue){const d=m.find(C=>C[e.valueField]===e.modelValue);d&&(n.value=d[e.textField])}}),t.watch(()=>e.modelValue,(m,d)=>{m!==d&&(a.value=m,c(m))}),c(e.modelValue),{dataSource:o,displayText:n,editable:l,modelValue:a,getItemsByDisplayText:u,getItemsByValue:s,getSelectedItemsByDisplayText:x,flatTreeNodes:i}}function Ta(e,n){const{comboEditorRef:a,dataSource:o,searchFields:l,originalValue:i,showPopover:s,flatTreeNodes:c}=e;function u(b,y){b.forEach(r=>{const h=y.find(v=>v.id===r.id);r.selectable=h.selectable!=null?!!h.selectable:!0,r.children&&u(r.children,y)})}function f(b,y){const r=(b.children||[]).map(v=>f(v,y)).filter(v=>v!==null);return l.value.some(v=>{var k;return(k=b.data[v])==null?void 0:k.toString().toLowerCase().includes(y.toLowerCase())})?{data:{...b.data},children:b.children,id:b.data[n]}:r.length>0?{data:{...b.data},children:r,id:b.data[n]}:null}function x(){i.value=J.cloneDeep(o.value)}function m(b){var r;if(s.value||(r=a.value)==null||r.showPopup(),!b){x();return}const y=o.value.map(h=>f(h,b)).filter(h=>h!==null);if(y.length){const h=[];c(o.value,h),u(y,h)}i.value=J.cloneDeep(y)}const d=J.debounce(b=>{var r;const y=(r=b.target)==null?void 0:r.value;m(y)},200);function C(b){var r;let y=(r=b.target)==null?void 0:r.value;y!==""&&(y=y.trim()),b.target._value!==y&&d(b)}return{onValueChange:C,resetDataSource:x}}const xe=t.defineComponent({name:"FComboTree",props:ft,emits:["clear","update:modelValue","change","search"],setup(e,n){const a=t.ref(),o=t.ref(e.disabled),l=t.ref(e.enableClear),i=t.ref(e.enableSearch),s=t.ref(e.readonly),c=t.ref(e.searchFields||[e.textField]),u=t.ref(),f=t.ref(),x={},{dataSource:m,displayText:d,editable:C,modelValue:b,flatTreeNodes:y}=Fa(e),r=t.computed(()=>e.multiSelect);t.computed(()=>a.value?a.value.elementRef.getBoundingClientRect().width:0);const h=t.computed(()=>{var O;const T=(O=a.value)==null?void 0:O.popoverRef;return T?T.shown:!1}),{onValueChange:v,resetDataSource:k}=Ta({comboEditorRef:a,dataSource:m,searchFields:c,originalValue:u,showPopover:h,flatTreeNodes:y},e.idField);function F(){!r.value&&a.value&&a.value.hidePopup()}const p=T=>e.displayFormatter?e.displayFormatter(T):T.map(O=>O[e.textField]).join(e.separator);function g(T=[]){if(!r.value)d.value=p(T),b.value=T.map(O=>O[e.valueField]).join(e.separator),n.emit("update:modelValue",b.value),n.emit("change",T,b.value);else{const O=Object.keys(x),S=Object.values(x);d.value=p(S),b.value=O.join(e.separator),n.emit("update:modelValue",b.value),n.emit("change",S,b.value)}F()}function w(T){var O;b.value="",h.value&&((O=a.value)==null||O.hidePopup()),n.emit("update:modelValue",""),n.emit("change",null,b.value),n.emit("clear")}function N(T){r.value&&(delete x[T.id],g())}function j(T){r.value&&(x[T.id]=T.data,g())}t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([T,O,S,E,D])=>{o.value=T,C.value=O,l.value=S,i.value=E,s.value=D});const I=()=>{if(u.value=J.cloneDeep(m.value),r.value&&b.value){const T=[];y(m.value,T),b.value.split(e.separator).reduce((O,S)=>(O[S]=T.find(E=>E.id===S),O),x)}};return()=>t.createVNode(me,{ref:a,id:e.id,disable:o.value,readonly:s.value,forcePlaceholder:e.forcePlaceholder,editable:C.value&&!e.multiSelect,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:l.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,inputType:e.viewType,popupOnClick:!0,modelValue:d.value,"onUpdate:modelValue":T=>d.value=T,onClear:w,onInput:v,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,beforeOpen:I,placement:e.placement,popupMinWidth:e.minPanelWidth},{default:()=>[h.value&&t.createVNode(ka,{ref:f,maxHeight:e.maxHeight,multiSelect:e.multiSelect,enableSearch:e.enableSearch,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,data:u.value,selectedValues:b.value,onSelectionChange:g,formatter:e.formatter,editorParams:e.editorParams,repositoryToken:e.repositoryToken,customRowStatus:e.customRowStatus,searchHandler:v,onUnSelectItem:N,onSelectItem:j,onClearSearch:k},null)]})}});xe.register=(e,n,a,o)=>{e["combo-tree"]=xe,n["combo-tree"]=Ca},Q.withInstall(xe);function mt(e){function n(a,o,l="filterField"){return t.createVNode(xe,{formatter:e.formatter,modelValue:a[l],"onUpdate:modelValue":i=>a[l]=i,data:o,textField:e.textField||"name",valueField:e.valueField||"path",idField:e.idField||"id",enableClear:!1,minPanelWidth:220,customRowStatus:ga},null)}return{renderFieldsComboTree:n}}function yt(e,n,a){const o=t.ref(e.activeIndex),l=t.ref(e.conditions),i=t.ref(e.fields);t.watch(()=>e.fields,d=>{i.value=d}),t.watch(()=>e.conditions,d=>{l.value=d}),t.watch(()=>e.activeIndex,d=>{o.value=d});const s=t.computed(()=>a.value.querySelector(`tr[index="${o.value}"]`));function c(){const d=s.value;d&&(d.scrollIntoView?d.scrollIntoView({block:"center",behavior:"smooth"}):d.scrollIntoViewIfNeeded&&d.scrollIntoViewIfNeeded(!1))}const u=t.computed(()=>d=>({"fv-grid-row-selected":d===o.value}));function f(d,C){C.stopPropagation(),n.emit("insert",{index:d,$event:C})}function x(d,C){C.stopPropagation(),n.emit("remove",{index:d,$event:C})}function m(d,C){n.emit("rowClick",{item:d,index:C})}return{itemIntoView:c,activeRowCls:u,fields:i,activeIndex:o,selectedRowRef:s,conditions:l,tbodyRef:a,onInsert:f,onRemove:x,onRowClick:m}}const Sa=t.defineComponent({name:"filter-condition-grid",props:qe,emits:["insert","remove","rowClick"],setup(e,n){const{compareOperators:a,leftBracketItems:o,valueTypes:l,relationItems:i,righttBracketItems:s}=dt(e),{renderFieldsComboTree:c}=mt(e),u=t.ref(),{conditions:f,fields:x,onInsert:m,onRemove:d,onRowClick:C,activeRowCls:b,itemIntoView:y}=yt(e,n,u),r=t.ref(e.expressionOptions||{});function h(k){var F,p;switch(k.expresstype){case Z.Variable:return t.createVNode(Ct,{modelValue:k.value,"onUpdate:modelValue":g=>k.value=g,showOutline:!1,fieldData:(F=e.formContextData)==null?void 0:F.fieldData,varData:(p=e.formContextData)==null?void 0:p.varData},null);case Z.Expression:return t.createVNode(ha,t.mergeProps({modelValue:k.value,"onUpdate:modelValue":g=>k.value=g},r.value),null);case Z.Value:default:return t.createVNode(pe,{enableTitle:!0,buttonContent:"",popupOnClick:!0,modelValue:k.value,"onUpdate:modelValue":g=>k.value=g},null)}}function v(k,F,p){return t.createVNode(oe,{data:F,modelValue:k[p],"onUpdate:modelValue":g=>k[p]=g,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto"},null)}return t.onUpdated(()=>{y()}),()=>t.createVNode("div",{class:"fv-filter-condition-grid table-body f-utils-fill win11Scroll show nobtn",style:"margin-left:14px; margin-right: 0; overflow-y: scroll;"},[t.createVNode("table",{class:"table table-bordered",style:"margin-bottom: 0;"},[t.createVNode("thead",{style:"position: sticky; top: 0; z-index: 1;"},[t.createVNode("tr",null,[t.createVNode("th",{style:"width: 40px"},null),t.createVNode("th",{style:"width: 45px"},[t.createVNode("b",null,[t.createTextVNode("左括号")])]),t.createVNode("th",{style:"width: 90px"},[t.createVNode("b",null,[t.createTextVNode("字段")])]),t.createVNode("th",{style:"width: 70px"},[t.createVNode("b",null,[t.createTextVNode("操作符")])]),t.createVNode("th",{style:"width: 60px"},[t.createVNode("b",null,[t.createTextVNode("值类型")])]),t.createVNode("th",{style:"width: 100px"},[t.createVNode("b",null,[t.createTextVNode("值")])]),t.createVNode("th",{style:"width: 45px"},[t.createVNode("b",null,[t.createTextVNode("右括号")])]),t.createVNode("th",{style:"width: 60px"},[t.createVNode("b",null,[t.createTextVNode("关系")])])])]),t.createVNode("tbody",{ref:u},[f.value.map((k,F)=>t.createVNode("tr",{index:F,class:b.value(F),onClick:p=>C(k,F)},[t.createVNode("td",{style:"text-overflow: unset;",align:"center",class:"px-1"},[t.createVNode("button",{title:"插入",onClick:p=>m(F,p),type:"button",class:"btn btn-link p-1 mr-0"},[t.createVNode("span",{class:"f-icon f-icon-plus"},null)]),t.createVNode("button",{title:"移除",onClick:p=>d(F,p),type:"button",class:"btn btn-link p-1 m-0"},[t.createVNode("span",{class:"f-icon f-icon-minus"},null)])]),t.createVNode("td",{class:"px-1"},[v(k,o,"lbracket")]),t.createVNode("td",{class:"px-1"},[c(k,x.value,"filterField")]),t.createVNode("td",{class:"px-1"},[v(k,a,"compare")]),t.createVNode("td",{class:"px-1"},[v(k,l,"expresstype")]),t.createVNode("td",{class:"px-1"},[h(k)]),t.createVNode("td",{class:"px-1"},[v(k,s,"rbracket")]),t.createVNode("td",{class:"px-1"},[v(k,i,"relation")])]))])])])}}),Na={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},showOkButton:{Type:Boolean,default:!0},showCancelButton:{Type:Boolean,default:!0},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"},buttons:{type:Object,default:[]}};function Oe(){return new DOMException("The request is not allowed","NotAllowedError")}async function Va(e){if(!navigator.clipboard)throw Oe();return navigator.clipboard.writeText(e)}async function Ma(e){const n=document.createElement("span");n.textContent=e,n.style.whiteSpace="pre",n.style.webkitUserSelect="auto",n.style.userSelect="all",document.body.appendChild(n);const a=window.getSelection(),o=window.document.createRange();a==null||a.removeAllRanges(),o.selectNode(n),a==null||a.addRange(o);let l=!1;try{l=window.document.execCommand("copy")}finally{a==null||a.removeAllRanges(),window.document.body.removeChild(n)}if(!l)throw Oe()}async function Ba(e){try{await Va(e)}catch(n){try{await Ma(e)}catch(a){throw a||n||Oe()}}}function Oa(){async function e(n){await Ba(n)}return{onCopy:e}}function Ea(e,n,a,o){const l=t.ref(14),i=t.ref(140),s=t.ref(""),c=t.ref(o.value.length),u=t.computed(()=>o.value),f=t.computed(()=>({"font-size":`${l.value}px`,height:"100%"}));function x(m){if(m.currentTarget){const d=m.currentTarget.value||"";c.value=d.length}}return()=>t.createVNode(t.Fragment,null,[t.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:f.value,rows:"4",maxlength:i.value,onInput:m=>x(m)},[u.value]),t.createVNode("span",{class:"textarea-wordcount",title:s.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[c.value+" / "+i.value])])}function Da(e,n,a,o){const l=Ea(e,n,a,o),i=new Map([["text-area",l]]);function s(c){return i.get(c)||null}return{getEditorRender:s}}function Pa(){const e=t.ref(!1),n=t.ref("复制成功");return{feedbackStyle:t.computed(()=>{const o={position:"absolute",left:"50%",top:"50%","min-width":"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease",padding:"0 10px"};return o.opacity=e.value?"0.8":"0",o.display=e.value?"":"none",o}),feedbackMessage:n,toShowFeedback:e}}function Ia(e,n){const a=n.getEditorRender(e.promptEditorType);return()=>a&&a()}function ja(e,n){function a(C){if(C==null)return 0;let b=0;for(let y=0;y<C.length;y++){const r=C.charCodeAt(y);r>=0&&r<=128?b++:b=b+2}return b}function o(C,b){if(C!==""&&C!==void 0&&C!==null){C=""+C;const y=C.length;let r="",h=0;for(let v=0;v<y;v++){const k=C.charAt(v);if(h++,encodeURI(k).length>4&&h++,r=r.concat(k),h>=b)return r=r.concat("..."),r}if(h<b)return C}return""}const l=t.computed(()=>!!e.value&&!!e.value.date),i=t.computed(()=>{const C=e.value&&e.value.date||"";return`${n.exception.happend} : ${C}`}),s=t.computed(()=>!!e.value&&!!e.value.detail),c=t.computed(()=>e.value?a(e.value.detail)>160:!1),u=t.ref(!1),f=t.computed(()=>u.value?n.exception.collapse:n.exception.expand),x=t.computed(()=>{const C=n.exception.detail+" : "+(e.value&&e.value.detail)||"";return u.value?C:o(C,160)}),m=t.computed(()=>({position:"absolute",right:0,bottom:u.value?0:"2px",color:"#2A87FF",cursor:"pointer"}));function d(){u.value=!u.value}return()=>t.createVNode("div",{class:"toast-msg-detail",style:"max-height: calc(100vh - 200px);overflow: auto;"},[l.value&&t.createVNode("div",null,[i.value]),s.value&&t.createVNode("div",{class:"exception_wrap"},[t.createVNode("div",{class:"exception_error_msg"},[t.createVNode("div",{innerHTML:x.value},null),c.value&&t.createVNode("span",{style:m.value,onClick:d},[f.value])])])])}function Ra(e){return()=>t.createVNode("p",{class:"toast-msg-detail",innerHTML:e.value,style:"max-height: calc(100vh - 200px);overflow: auto;"},null)}function La(e,n,a,o,l){const i=t.ref(e.exceptionInfo),s=t.computed(()=>{const b=n.value==="question"?"warning":n.value,y={"f-icon":!0},r=`f-icon-${b}`;return y[r]=!0,y}),c=t.computed(()=>a.value||i.value&&i.value.message),u=t.computed(()=>o.value),f=t.computed(()=>!!o.value),x=t.computed(()=>!!i.value);function m(){return x.value?ja(i,l):f.value?Ra(u):()=>null}const d=m(),C=t.computed(()=>l.locale==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});return()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"float-left modal-tips-iconwrap"},[t.createVNode("span",{class:s.value},null)]),t.createVNode("div",{class:"modal-tips-content"},[t.createVNode("p",{class:"toast-msg-title",innerHTML:c.value,style:C.value},null),d()])])}function $a(e,n,a,o){const{onCopy:l}=n,{toShowFeedback:i}=a,s=t.ref(o.exception.copySuccess||"复制成功"),c=t.ref(o.exception.copy||"复制详细信息"),u=t.ref(e.exceptionInfo||{date:"",message:"",detail:""}),f=t.computed(()=>u.value&&u.value.detail||"");function x(m){l(f.value).catch(d=>{s.value=o.exception.copyFailed||"复制失败"}).finally(()=>{i.value=!0,setTimeout(()=>{i.value=!1},700)})}return()=>t.createVNode("span",{style:"width: 100%;color: #2A87FF;padding-left: 37px;"},[t.createVNode("span",{onClick:x,style:"cursor: pointer;"},[c.value])])}function za(e,n,a,o,l){const i=t.ref(e.type),s=t.ref(e.buttons),c=t.ref(e.exceptionInfo),u=t.ref(l.ok||e.okButtonText),f=t.ref(l.cancel||e.cancelButtonText),x=t.ref(e.showCancelButton),m=t.ref(e.showOkButton),d=t.computed(()=>!!(s.value&&s.value.length)),C=t.computed(()=>!!(c.value&&c.value.detail)),b=t.computed(()=>!(s.value&&s.value.length)&&(m.value||x.value)),y=$a(e,a,o,l);u.value==="关闭"?u.value=l.close:u.value==="知道了"&&(u.value=l.exception.roger);function r(v){i.value==="question"&&n.emit("reject"),n.emit("close")}function h(v){i.value==="question"&&n.emit("accept"),n.emit("close")}return()=>t.createVNode("div",{class:"modal-footer"},[C.value&&y(),b.value&&x.value&&t.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:r},[f.value]),b.value&&m.value&&t.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:h},[u.value]),d.value&&s.value.length&&s.value.map(v=>t.createVNode("button",{type:"button",onClick:v.handle,class:v.class},[v.iconClass&&t.createVNode("span",{class:v.iconClass},null),v.text]))])}function Aa(e){const{getLocaleValue:n}=G.LocaleService,a=G.LocaleService.getLocale();function o(l,i,s){return i===s?n(l):i}return{yes:o("messageBox.yes")||"是",no:o("messageBox.no")||"否",close:o("messageBox.close")||"关闭",ok:o("messageBox.ok",e.okButtonText,"确定")||"确定",cancel:o("messageBox.cancel",e.cancelButtonText,"取消")||"取消",title:o("messageBox.title")||"系统提示",errorTitle:o("messageBox.errorTitle")||"错误提示",exception:{expand:o("messageBox.exception.expand")||"展开",collapse:o("messageBox.exception.collapse")||"收起",happend:o("messageBox.exception.happend")||"发生时间",detail:o("messageBox.exception.detail")||"详细信息",copy:o("messageBox.exception.copy")||"复制详细信息",copySuccess:o("messageBox.exception.copySuccess")||"复制成功",copyFailed:o("messageBox.exception.copyFailed")||"复制失败",roger:o("messageBox.exception.roger")||"知道了"},locale:a}}const Ce=t.defineComponent({name:"FMessageBox",props:Na,emits:["accept","reject","close"],setup(e,n){const a=Aa(e),o=t.ref(e.type),l=t.ref(e.title),i=t.ref(e.detail),s=t.computed(()=>{const h={"modal-tips":!0,"d-flex":!0,"flex-row":!0},v=`messager-type-${o.value}`;return h[v]=!0,h}),c=t.computed(()=>{const h={cursor:"default"};return o.value==="prompt"?h.padding="0.5rem 0.5rem 1rem 1.5rem":o.value==="error"&&(h.padding="0.5rem 1.5rem 1rem 1.5rem"),h}),u=Oa(),f=Da(e,o,l,i),x=Pa(),{feedbackStyle:m,feedbackMessage:d}=x;d.value=a.exception.copySuccess;function C(){return t.createVNode("div",{style:m.value},[d.value])}function b(){switch(o.value){case"prompt":return Ia(e,f);default:return La(e,o,l,i,a)}}const y=b(),r=za(e,n,u,x,a);return()=>t.createVNode("div",{class:"farris-messager"},[!e.exceptionInfo&&t.createVNode("div",{style:"height: 30px;width: 100%;position: absolute;",class:"messager-draggable"},null),t.createVNode("section",{class:s.value,style:c.value},[y()]),r(),C()])}}),X=class X{static show(n){const a=t.reactive({...n}),o=!1,l=a.type==="error"||a.type==="prompt",i=a.type==="error"?"错误提示":a.type==="prompt"&&a.title||"",s=a.acceptCallback||(()=>{}),c=a.rejectCallback||(()=>{});let u=null,f=new ze(X.app);const x=()=>{u&&(u==null||u.destroy(),f=null)};return u=f==null?void 0:f.open({class:"modal-message modal-message-type-info",title:i,showButtons:o,showHeader:l,width:a.width||400,fitContent:!0,showMaxButton:!1,draggable:!0,dragHandle:".messager-draggable",render:()=>t.createVNode(Ce,t.mergeProps(a,{onAccept:s,onReject:c,onClose:x}),null)}),f==null?void 0:f.getCurrentModal()}static info(n,a){const o=t.reactive({type:"info",title:n,detail:a,okButtonText:"知道了",showCancelButton:!1});X.show(o)}static warning(n,a){const o=t.reactive({type:"warning",title:n,detail:a,okButtonText:"知道了",showCancelButton:!1});X.show(o)}static success(n,a){const o=t.reactive({type:"success",title:n,detail:a,okButtonText:"关闭",showCancelButton:!1});X.show(o)}static error(n,a,o){const l=t.reactive({width:500,type:"error",okButtonText:"关闭",showCancelButton:!1,exceptionInfo:{date:o,message:n,detail:a}});X.show(l)}static prompt(n,a){const o=t.reactive({type:"prompt",title:n,detail:a,okButtonText:"确定",cancelButtonText:"取消"});X.show(o)}static question(n,a,o,l){const i=t.reactive({type:"question",title:n,detail:a,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:o,rejectCallback:l});X.show(i)}};K(X,"app",null);let ie=X;Ce.install=e=>{e.component(Ce.name,Ce),ie.app=e,e.provide("FMessageBoxService",ie)};const Ha=t.defineComponent({name:"filter-condition-actions",props:["canClear","canMove","questionMessage"],emits:["add","clear","moveTop","movePrev","moveNext","moveBottom"],setup(e,n){const a=t.ref(e.questionMessage||"确定要清空所有数据吗?"),o={position:"relative",top:"2px"};function l(){n.emit("add")}function i(){ie.question(a.value,"",()=>{n.emit("clear")},()=>{})}function s(){n.emit("moveTop")}function c(){n.emit("movePrev")}function u(){n.emit("moveNext")}function f(){n.emit("moveBottom")}return()=>t.createVNode("div",{class:"px-2 d-flex align-items-center",style:"height: 36px;background: #f0f0f0; margin-left: 14px; margin-right: 14px;"},[t.createVNode("button",{type:"button",onClick:l,class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-add",style:o},null),t.createTextVNode("添加")]),t.createVNode("button",{type:"button",onClick:i,disabled:!e.canClear.value,class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-close",style:o},null),t.createTextVNode("清空")]),t.createVNode("button",{type:"button",onClick:s,disabled:!e.canMove.value("up"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-end-up",style:o},null),t.createTextVNode("置顶")]),t.createVNode("button",{type:"button",onClick:c,disabled:!e.canMove.value("up"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-60-up",style:o},null),t.createTextVNode("上移")]),t.createVNode("button",{type:"button",onClick:u,disabled:!e.canMove.value("down"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-60-down",style:o},null),t.createTextVNode("下移")]),t.createVNode("button",{type:"button",onClick:f,disabled:!e.canMove.value("down"),class:"btn btn-default f-btn-ml"},[t.createVNode("span",{class:"f-icon f-icon-arrow-end-down",style:o},null),t.createTextVNode("置底")])])}}),Wa=t.defineComponent({name:"sort-editor-grid",props:qe,emits:["insert","remove","rowClick"],setup(e,n){const{sortTypes:a}=dt(),{renderFieldsComboTree:o}=mt(e),l=t.ref(),{conditions:i,fields:s,onInsert:c,onRemove:u,onRowClick:f,activeRowCls:x,itemIntoView:m}=yt(e,n,l);return t.onUpdated(()=>{m()}),()=>t.createVNode("div",{class:"table-body f-utils-fill win11Scroll show nobtn ",style:"margin-left:14px; margin-right: 0; overflow-y: scroll;"},[t.createVNode("table",{class:"table table-bordered",style:"margin-bottom: 0;"},[t.createVNode("thead",{style:"position: sticky; top: 0; z-index: 1;"},[t.createVNode("tr",null,[t.createVNode("th",{style:"width: 40px"},null),t.createVNode("th",{style:"width: 100px"},[t.createVNode("b",null,[t.createTextVNode("字段")])]),t.createVNode("th",{style:"width: 60px"},[t.createVNode("b",null,[t.createTextVNode("排序")])])])]),t.createVNode("tbody",{ref:l},[i.value.map((d,C)=>t.createVNode("tr",{index:C,class:x.value(C),onClick:b=>f(d,C)},[t.createVNode("td",{style:"text-overflow: unset;",align:"center",class:"px-1"},[t.createVNode("button",{title:"插入",onClick:b=>c(C,b),type:"button",class:"btn btn-link p-1 mr-0"},[t.createVNode("span",{class:"f-icon f-icon-plus"},null)]),t.createVNode("button",{title:"移除",onClick:b=>u(C,b),type:"button",class:"btn btn-link p-1 m-0"},[t.createVNode("span",{class:"f-icon f-icon-minus"},null)])]),t.createVNode("td",{class:"px-1"},[o(d,s.value,"sortField")]),t.createVNode("td",{class:"px-1"},[t.createVNode(oe,{data:a,textField:"label",valueField:"value",idField:"value",modelValue:d.sortType,"onUpdate:modelValue":b=>d.sortType=b,enableClear:!1,minPanelWidth:130,placement:"auto"},null)])]))])])])}});function qa(e,n){const a=t.ref(-1);function o(){return n.value[a.value]}function l(){n.value.length>0?a.value=0:a.value=-1}const i=t.computed(()=>e.displayText?e.displayText:typeof e.modelValue=="string"?e.modelValue:""),s=e.editorType!=="sort"?"filterField":"sortField",c=e.editorType!=="sort"?{filterField:"",value:"",lbracket:"",rbracket:"",relation:le.Empty,compare:ut.Equal,expresstype:e.singleValue?Z.Value:Z.Variable}:{sortField:"",sortType:"asc"},u=t.computed(()=>n.value.length>0),f=t.computed(()=>(g="down")=>n.value.length>1?g==="up"?a.value>0:a.value<n.value.length-1:!1);function x(){if(e.editorType==="filter")for(let g=0;g<n.value.length-1;g++){const w=n.value[g];(w.relation===le.Empty||!w.relation)&&(w.relation=le.And)}}function m(){const g=Object.assign({},c);n.value=[...n.value,g];const w=n.value.length-1;a.value=w,x()}function d({index:g}){const w=Object.assign({},c);e.insertType==="above"?g===0?n.value.unshift(w):n.value.splice(g,0,w):n.value.splice(g+1,0,w),n.value=[...n.value],x()}function C({index:g}){n.value.splice(g,1),n.value=[...n.value],!(a.value<0)&&(g===a.value?n.value[g]?a.value=g:n.value[g-1]?a.value=g-1:a.value=-1:g<a.value&&(n.value[a.value-1]?a.value=a.value-1:n.value[a.value]||(a.value=-1)))}function b(){n.value=[]}function y(){a.value>=0&&(n.value.unshift(o()),n.value.splice(a.value+1,1),a.value=0)}function r(){if(a.value>=0){const g=a.value,w=n.value.splice(g,1);n.value.splice(g-1,0,...w),a.value=g-1}}function h(){if(a.value>=0){const g=a.value,w=n.value.splice(g,1);n.value.splice(g+1,0,...w),a.value=g+1}}function v(){a.value>=0&&(n.value.push(o()),n.value.splice(a.value,1),a.value=n.value.length-1)}function k({index:g}){a.value=g}function F(g){if(g.length%2!==0)return!1;let w="";for(const N of g)if(N==="(")w+=N;else if(N===")"){if(!w.endsWith("("))return!1;w=w.slice(0,-1)}return w.length===0}function p(){const g=n.value.length;if(!g)return!0;let w=!0,N=!0;if(e.editorType!=="sort"){n.value[g-1].relation=le.Empty,N=!n.value.slice(0,-1).some(O=>O.relation===le.Empty||!O.relation);const T=n.value.flatMap(O=>[O.lbracket,O.rbracket]).join("");w=F(T)}const j=n.value.some(I=>!I[s]);return[{result:w,message:"括号不匹配,请检查。"},{result:N,message:"关系设置不完整,请检查。"},{result:!j,message:"字段不允许为空,请检查。"}].find(I=>!I.result)}return{displayText:i,activeRowIndex:a,canClear:u,canMove:f,onAddFilter:m,onRemove:C,onInsert:d,onClear:b,onMoveTop:y,onMovePrev:r,onMoveNext:h,onMoveBottom:v,onSelectRow:k,validateCondition:p,resetActiveRow:l}}const Ua=t.defineComponent({name:"filter-condition-editor",props:We,emits:["update:modelValue"],setup(e,n){const a=t.inject(e.repositoryToken),o=t.inject(Be),l=t.inject("FLoadingService");o&&(o.globalConfig={position:"top-center"});const i=t.ref(e.expressionOptions||{}),s=t.ref(e.formContextData||{}),c=t.ref(e.fields||[]),u='<i class="f-icon f-icon-lookup"></i>',f=t.ref([]),x=t.ref([]),{displayText:m,onAddFilter:d,onClear:C,onMoveBottom:b,onMoveNext:y,onMovePrev:r,onMoveTop:h,onInsert:v,onRemove:k,activeRowIndex:F,onSelectRow:p,canClear:g,canMove:w,validateCondition:N,resetActiveRow:j}=qa(e,f),I=t.computed(()=>e.editorType==="sort"?"排序条件编辑器":"过滤条件编辑器");function T(){return e.editorType==="sort"?t.createVNode(Wa,{conditions:f.value,fields:c.value,activeIndex:F.value,onInsert:M=>v(M),onRemove:M=>k(M),idField:e.idField,onRowClick:M=>p(M)},null):t.createVNode(Sa,{singleValue:e.singleValue,expressionOptions:i.value,enableExpression:e.enableExpression,conditions:f.value,fields:c.value,idField:e.idField,activeIndex:F.value,onInsert:M=>v(M),onRemove:M=>k(M),onRowClick:M=>p(M),formContextData:s.value},null)}const O=t.computed(()=>JSON.stringify(f.value)===JSON.stringify(x.value)),S=t.computed(()=>e.disableConfirmWhenUnchanged&&O.value);async function E(){if(n.emit("update:modelValue",f.value),e.onSubmitModal){l==null||l.show();const M=await e.onSubmitModal({loadingService:l,repository:a,conditions:f,originalConditions:x,FMessageBoxService:ie});return l==null||l.clearAll(),M&&(F.value=-1,o.success("过滤条件配置成功!")),M}return!0}const D={title:I.value,width:800,height:600,fitContent:!1,minWidth:300,minHeight:200,showMaxButton:!0,resizeable:!0,draggable:!0,closedCallback:()=>{F.value=-1},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:M=>!0},{name:"accept",text:"确定",class:"btn btn-primary",disabled:S,handle:async M=>{const L=N();return O.value?!0:typeof L=="object"&&L!==null&&L&&L.message?(o.warning(L.message),!1):await E()}}]};async function P(){if(e.beforeOpen)try{l==null||l.show();const M=await e.beforeOpen({repository:a,notifyService:o});if(M){const{fieldList:L,conditionList:z,entities:H,variables:Ee,formContextData:fe,isServerSide:De}=M;return c.value=L||[],f.value=z||[],x.value=JSON.parse(JSON.stringify(f.value)),i.value={entities:H,variables:Ee,isServerSide:De},s.value=fe||{},l==null||l.clearAll(),j(),!0}}catch{return o==null||o.error({message:"获取数据失败!"}),!1}finally{l==null||l.clearAll()}return j(),!0}function $(){n.emit("update:modelValue","")}function B(M){n.emit("update:modelValue",M)}return()=>t.createVNode(pe,{modelValue:m.value,editable:e.editable,disabled:e.disabled,readonly:e.readonly,inputType:"text",enableClear:e.enableClear,buttonContent:u,buttonBehavior:"Modal",modalOptions:D,beforeOpen:P,onClear:$,enableTitle:e.enableTitle,"onUpdate:modelValue":B},{default:()=>[t.createVNode("div",{class:"h-100 d-flex flex-column"},[t.createVNode("div",{style:"border-top: 1px solid white; position: absolute; top: 0; width: 100%; z-index: 2;",class:"shading-border-top"},null),T(),t.createVNode(Ha,{canClear:g,canMove:w,onAdd:d,onClear:C,onMoveBottom:b,onMoveNext:y,onMovePrev:r,onMoveTop:h},null)])]})}}),we=t.defineComponent({name:"sort-condition-editor",props:Re,emits:["update:modelValue"],setup(e,n){function a(o){n.emit("update:modelValue",o)}return()=>t.createVNode(Ua,t.mergeProps({editorType:"sort"},e,{"onUpdate:modelValue":a}),null)}}),Ya={install(e){e.component(we.name,we)},register(e,n,a,o){e["sort-condition-editor"]=we,n["sort-condition-editor"]=Ft}};A.SortConditionEditor=we,A.default=Ya,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});