@farris/ui-vue 1.7.2-beta.1 → 1.7.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/avatar/index.esm.js +155 -148
- package/components/avatar/index.umd.cjs +1 -1
- package/components/button-edit/index.esm.js +1 -1
- package/components/button-edit/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +226 -224
- package/components/calendar/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +225 -223
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +76 -71
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +169 -167
- package/components/comment/index.umd.cjs +6 -6
- package/components/component/index.esm.js +3691 -3043
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +2015 -1352
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-grid/index.esm.js +407 -430
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +3082 -3196
- package/components/data-view/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +3364 -2713
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +66 -64
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +1176 -524
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +182 -180
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +531 -455
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +2352 -1700
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +8 -3
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/filter-bar/index.esm.js +422 -413
- package/components/filter-bar/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.esm.js +8 -3
- package/components/filter-condition-editor/index.umd.cjs +1 -1
- package/components/image/index.esm.js +363 -354
- package/components/image/index.umd.cjs +2 -2
- package/components/language-textbox/index.esm.js +189 -187
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-view/index.esm.js +388 -389
- package/components/list-view/index.umd.cjs +5 -5
- package/components/mapping-editor/index.esm.js +1465 -1488
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +180 -173
- package/components/number-range/index.umd.cjs +1 -1
- package/components/order/index.esm.js +815 -811
- package/components/order/index.umd.cjs +5 -5
- package/components/property-panel/index.esm.js +429 -420
- package/components/property-panel/index.umd.cjs +3 -3
- package/components/query-solution/index.esm.js +4746 -4085
- package/components/query-solution/index.umd.cjs +7 -7
- package/components/schema-selector/index.esm.js +1401 -1402
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/section/index.esm.js +102 -100
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +8 -3
- package/components/sort-condition-editor/index.umd.cjs +1 -1
- package/components/transfer/index.esm.js +537 -538
- package/components/transfer/index.umd.cjs +5 -5
- package/components/tree-grid/index.esm.js +280 -283
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +200 -202
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +533 -519
- package/components/uploader/index.umd.cjs +2 -2
- package/designer/data-grid/index.esm.js +3806 -3905
- package/designer/data-grid/index.umd.cjs +9 -9
- package/designer/drawer/index.esm.js +188 -186
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +1562 -1073
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +9793 -8613
- package/designer/farris-designer.all.umd.cjs +8 -8
- package/designer/list-view/index.esm.js +564 -564
- package/designer/list-view/index.umd.cjs +6 -6
- package/designer/radio-group/index.esm.js +236 -229
- package/designer/radio-group/index.umd.cjs +1 -1
- package/designer/response-layout-editor/index.esm.js +178 -171
- package/designer/response-layout-editor/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +3154 -2508
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/time-picker/index.esm.js +193 -186
- package/designer/time-picker/index.umd.cjs +1 -1
- package/designer/tree-grid/index.esm.js +444 -447
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/farris.all.esm.js +60126 -59649
- package/farris.all.umd.cjs +30 -30
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/components.d.ts +1 -1
- package/types/condition/src/composition/condition-value/dropdown-value.d.ts +4 -0
- package/types/data-grid/index.d.ts +2 -5
- package/types/data-grid/src/data-grid.component.d.ts +1 -2
- package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
- package/types/data-view/composition/appearance/use-cell-position.d.ts +1 -1
- package/types/data-view/composition/types.d.ts +0 -4
- package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +2 -2
- package/types/data-view/composition/visualization/use-visual-data-bound.d.ts +2 -3
- package/types/data-view/composition/visualization/use-visual-data-row.d.ts +1 -2
- package/types/designer-canvas/src/composition/dg-control.d.ts +24 -0
- package/types/dynamic-form/designer.d.ts +0 -1
- package/types/dynamic-form/index.d.ts +4 -3
- package/types/dynamic-form/src/designer/dynamic-form.design.component.d.ts +8 -0
- package/types/dynamic-form/src/designer/response-form.design.props.d.ts +14 -0
- package/types/dynamic-form/src/designer/use-dynamic-form-rules.d.ts +2 -0
- package/types/dynamic-form/src/dynamic-form.component.d.ts +8 -0
- package/types/dynamic-form/src/response-form.props.d.ts +13 -1
- package/types/dynamic-form/src/schema/response-form-schema-resolver.d.ts +1 -0
- package/types/dynamic-form/src/types.d.ts +1 -0
- package/types/dynamic-resolver/src/types.d.ts +1 -0
- package/types/dynamic-view/index.d.ts +43 -3
- package/types/dynamic-view/src/components/maps.d.ts +6 -6
- package/types/dynamic-view/src/composition/index.d.ts +5 -0
- package/types/dynamic-view/src/composition/use-utils.d.ts +12 -0
- package/types/dynamic-view/src/dynamic-view.component.d.ts +6 -6
- package/types/language-textbox/index.d.ts +3 -3
- package/types/language-textbox/src/components/language-contents.component.d.ts +1 -1
- package/types/language-textbox/src/language-textbox.component.d.ts +1 -1
- package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +1 -1
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/property-panel/src/property-panel.component.d.ts +3 -3
- package/types/tree-grid/src/components/data/data-area.component.d.ts +2 -2
- package/types/tree-grid/src/tree-grid.props.d.ts +0 -1
- package/types/tree-view/src/components/data/tree-area.component.d.ts +1 -1
- package/types/tree-view/src/tree-view.props.d.ts +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(z,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../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):(z=typeof globalThis<"u"?globalThis:z||self,t(z["sort-condition-editor"]={},z.Vue,z.dynamicResolver,z.locale,z.common,z.propertyPanel,z.FTags,z.LodashES,z.FPopover,z.FButtonEdit$1,z.FListView,z.FButtonEditDesign,z.designerCanvas,z.FTreeView,z.FEventParameter,z.inputGroup))})(this,function(z,t,q,X,G,Ct,wt,Z,kt,me,Ft,St,ye,je,Tt,Nt){"use strict";var yo=Object.defineProperty;var po=(z,t,q)=>t in z?yo(z,t,{enumerable:!0,configurable:!0,writable:!0,value:q}):z[t]=q;var _=(z,t,q)=>po(z,typeof t!="symbol"?t+"":t,q);const Vt={$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}},Mt=q.createPropsResolver(Re,Vt),Bt={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}},Ot={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Et=t.defineComponent({name:"FOverlay",props:Ot,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(u){n.emit("click"),u.preventDefault(),u.stopPropagation()}t.computed(()=>{const u=o.value;if(u){const d=u.getBoundingClientRect(),{left:f,top:v,height:g}=d;return{left:f,top:v+g}}return a.value});const s=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var u,d;return[t.createVNode("div",{class:"overlay-container",onClick:f=>i(f),style:l.value},[t.createVNode("div",{style:s.value},[(d=(u=n.slots).default)==null?void 0:d.call(u)])])]}})}});function Pt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Dt(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=Pt(e);return()=>t.createVNode(Et,{"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 It{static show(n){return Dt(n)}}const jt={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"},isMessager:{type:Boolean,default:!1}};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 ae{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new ae(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 ae(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Rt(e,n){const a=t.ref(),o=t.ref(),l=t.ref(),i=t.ref(),s=t.ref(),u=t.ref(),d=t.ref(),f=t.ref(),v=t.ref(),g=t.ref(),p=t.ref(),C=t.ref(e.resizeable),b=t.ref(),x=t.ref(e.draggable),r=t.ref(!1);function c(){const B=o.value||document.body,M=window.getComputedStyle(B);if(!M||!a.value)return;const L=W.getTransformInfo(a.value),A={};d.value&&(A.deltaL=a.value.offsetLeft-d.value.x,A.deltaT=a.value.offsetTop-d.value.y);const H=M.getPropertyValue("position");A.width=B.clientWidth,A.height=B.clientHeight,A.pr=parseInt(M.getPropertyValue("padding-right"),10),A.pb=parseInt(M.getPropertyValue("padding-bottom"),10),A.position=M.getPropertyValue("position"),H==="static"&&(B.style.position="relative"),A.translateX=L.x,A.translateY=L.y,g.value=A}function h(B){if(a.value){i.value=ae.getCurrent(a.value),s.value=W.getCurrent(a.value),u.value=i.value?ae.copy(i.value):null,d.value=s.value?W.copy(s.value):null,c();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,A;if(a.value){const H=a.value;f.value&&((f.value.n||f.value.s)&&((B=u.value)!=null&&B.height)&&(H.style.height=u.value.height+"px"),(f.value.w||f.value.e)&&((M=u.value)!=null&&M.width)&&(H.style.width=u.value.width+"px"),d.value&&((L=d.value)!=null&&L.x&&(H.style.left=d.value.x+"px"),(A=d.value)!=null&&A.y&&(H.style.top=d.value.y+"px")))}}function F(){const B=e.minHeight?e.minHeight:1,M=e.minWidth?e.minWidth:1;u.value&&d.value&&f.value&&i.value&&(u.value.height<B&&(u.value.height=B,f.value.n&&s.value&&(d.value.y=s.value.y+(i.value.height-B))),u.value.width<M&&(u.value.width=M,f.value.w&&s.value&&(d.value.x=s.value.x+(i.value.width-M))),e.maxHeight&&u.value.height>e.maxHeight&&(u.value.height=e.maxHeight,s.value&&f.value.n&&(d.value.y=s.value.y+(i.value.height-e.maxHeight))),e.maxWidth&&u.value.width>e.maxWidth&&(u.value.width=e.maxWidth,f.value.w&&s.value&&(d.value.x=s.value.x+(i.value.width-e.maxWidth))))}function y(){if(o.value){const B=g.value;if(d.value&&u.value&&f.value&&i.value){const M=B.width-B.pr-B.deltaL-B.translateX-d.value.x,L=B.height-B.pb-B.deltaT-B.translateY-d.value.y;f.value.n&&d.value.y+B.translateY<0&&s.value&&(d.value.y=-B.translateY,u.value.height=i.value.height+s.value.y+B.translateY),f.value.w&&d.value.x+B.translateX<0&&s.value&&(d.value.x=-B.translateX,u.value.width=i.value.width+s.value.x+B.translateX),u.value.width>M&&(u.value.width=M),u.value.height>L&&(u.value.height=L)}}}function m(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?(d.value.y=s.value.y+L,u.value.height=i.value.height-L):f.value.s&&(u.value.height=i.value.height+L),f.value.e?u.value.width=i.value.width+M:f.value.w&&(u.value.width=i.value.width-M,d.value.x=s.value.x+M),y(),F(),k()}function w(B){if(!v.value)return;const M=W.fromEvent(B);M&&m(M)}function T(){if(a.value){const{width:B,height:M,x:L,y:A}=a.value.getBoundingClientRect(),H=W.getTransformInfo(a.value);return{size:{width:B,height:M},position:{x:L-H.x,y:A-H.y}}}return null}function j(B){if(a.value){const M=T();p.value=M}l.value=void 0,i.value=null,s.value=null,u.value=null,d.value=null,f.value=null,v.value=null,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",j)}function I(){document.addEventListener("mousemove",w),document.addEventListener("mouseup",j)}function O(B){B instanceof MouseEvent&&B.button===2||x.value&&(document.body.click(),B.stopPropagation(),B.preventDefault(),l.value=W.fromEvent(B),v.value=B.target,h(B),I())}function V(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=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:M=>O(M)},null)])}function S(B=!0){document.body.click();const M=o.value||document.body,L=ae.getCurrent(M),A=a.value;B&&A&&(b.value=T(),b.value.transform=A.style.transform),L&&A&&(u.value=L,u.value.height-=14,u.value.width-=14,A.style.height=u.value.height+"px",A.style.width=u.value.width+"px",A.style.left="7px",A.style.top="7px",A.style.transform="",p.value={size:u.value,position:{x:0,y:0}},x.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},A={x:(window.innerWidth-L.width)/2,y:(window.innerHeight-L.height)/2};(B=u.value)==null||B.set(L),(M=d.value)==null||M.set(A);const H=a.value;H.style.height=L.height+"px",H.style.width=L.width+"px",H.style.left=`${A.x}px`,H.style.top=`${A.y}px`,H.style.transform="",p.value={size:L,position:A},x.value=e.draggable,r.value=!1}}function P(){if(a.value){const B=ae.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 D(){const B=()=>{r.value?S(!1):P(),document.body.click()};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}}const $=D();return{renderResizeBar:V,boundingElement:o,resizedEventParam:p,maximize:S,restore:E,allowDrag:x,isMaximized:r,unWindowResizeHandle:$,moveToCenter:P}}function Lt(e,n,a){const o=t.ref(),l=t.ref(e.draggable),i=t.ref(e.lockAxis),s=t.ref(),u=t.ref(),d=t.ref(!1),f=t.ref(new W(0,0)),v=t.ref(new W(0,0)),g=t.ref(new W(0,0)),p=t.ref(new W(0,0));t.watch(()=>a.value,w=>{s.value.style.cursor=w?"move":"default"});function C(w,T){if(T.tagName==="BUTTON")return!1;if(T===w)return!0;for(const j in T.children)if(Object.prototype.hasOwnProperty.call(T.children,j)&&C(w,T.children[j]))return!0;return!1}function b(){var I,O;let w=g.value.x+v.value.x,T=g.value.y+v.value.y;i.value==="x"?(w=((I=f.value)==null?void 0:I.x)||0,g.value.x=0):i.value==="y"&&(T=((O=f.value)==null?void 0:O.y)||0,g.value.y=0);const j=`translate3d(${Math.round(w)}px, ${Math.round(T)}px, 0px)`;o.value&&(o.value.style.transform=j),p.value.x=w,p.value.y=T}function x(){if(!u.value||!o.value)return null;const w=u.value.getBoundingClientRect(),T=o.value.getBoundingClientRect(),j={top:w.top<T.top,right:w.right>T.right,bottom:w.bottom>T.bottom,left:w.left<T.left};return j.top||(g.value.y-=T.top-w.top),j.bottom||(g.value.y-=T.bottom-w.bottom),j.right||(g.value.x-=T.right-w.right),j.left||(g.value.x-=T.left-w.left),b(),j}function r(w){w&&(f.value&&w.subtract(f.value),g.value.set(w),b(),x())}function c(w){d.value&&l.value&&(w.stopPropagation(),w.preventDefault(),r(W.fromEvent(w,s.value)))}function h(){var w;d.value&&(d.value=!1,v.value.add(g.value),g.value.reset(),(w=o.value)==null||w.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",h))}function k(){!d.value&&s.value&&(d.value=!0,s.value.classList.add("ng-dragging"),document.addEventListener("mousemove",c),document.addEventListener("mouseup",h))}function F(){if(o.value){const w=W.getTransformInfo(o.value);v.value.set(w);return}v.value.reset()}function y(w){if(!a.value||w instanceof MouseEvent&&w.button===2)return;const T=w.target||w.srcElement;s.value!==void 0&&T&&!C(T,s.value)||l.value!==!1&&(document.body.click(),w.stopPropagation(),w.preventDefault(),f.value=W.fromEvent(w,o.value),F(),k())}function m(w,T,j){if(l.value&&T){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=T.querySelector(e.dragHandle);I&&(s.value=I)}}o.value=T,u.value=j,s.value?(s.value.classList.add("ng-draggable"),s.value.addEventListener("mousedown",y)):l.value=!1}}return{registerDraggle:m,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 $t(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 At(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 ce=t.defineComponent({name:"FModal",props:jt,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),u=t.ref(e.fitContent),d=t.ref(e.showHeader),f=t.ref(""),v=t.ref(e.showCloseButton),g=t.ref(e.showMaxButton),p=t.ref(!1),C=t.ref(e.dialogType),b=t.ref(e.src),x=t.ref(""),r=t.ref(e.showButtons),c=t.ref(e.title),h=t.ref(e.containment||null),k=t.ref();c.value==="错误提示"&&(c.value=X.LocaleService.getLocaleValue("messageBox.errorTitle"));const F=t.ref(!1);function y(N,R){const Y=R?"accept":"cancel";Promise.resolve().then(()=>{var U;return(U=e.beforeClose)==null?void 0:U.call(e,{closeType:Y})}).then(U=>{U&&(l.value=!1,n.emit("update:modelValue",!1),R!=null&&n.emit(R?"accept":"cancel"),n.emit("closed",N))})}const m=[{name:"cancel",text:X.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:N=>{y(N,!1)}},{name:"accept",text:X.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:N=>{y(N,!0)}}],w=t.ref(e.buttons&&e.buttons.length?e.buttons:m),T=t.computed(()=>!!f.value),j=t.computed(()=>!!r.value&&!!w.value),I=t.ref(),O=t.ref(),V=t.ref(!1),{renderResizeBar:S,maximize:E,restore:P,boundingElement:D,resizedEventParam:$,allowDrag:B,unWindowResizeHandle:M,moveToCenter:L}=Rt(e),{registerDraggle:A}=Lt(e,n,B);function H(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Ee(){const N=document.querySelectorAll(".farris-modal").length;(!N||N-1<=0)&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}t.watch(()=>e.title,(N,R)=>{N!==R&&(c.value=N)}),t.watch(()=>e.modelValue,(N,R)=>{N!==R&&(l.value=N,l.value&&e.draggable&&t.nextTick(()=>{O.value&&!h.value&&(h.value=O.value.parentElement,D.value=h.value,A(I.value,O.value,D.value),L())}),N||(h.value&&(h.value=null),Ee())),l.value?F.value=H():(V.value=!1,B.value=e.draggable)}),t.watch(()=>e.showHeader,(N,R)=>{N!==R&&(d.value=N)}),t.watch(()=>e.showButtons,(N,R)=>{N!==R&&(r.value=N)}),t.watch(()=>$.value,(N,R)=>{const Y=N||{},U=R||{};JSON.stringify(Y)!==JSON.stringify(U)&&n.emit("resize",{newSize:N,oldSize:R,isMaximized:V.value})}),t.watch([()=>e.width,()=>e.height],(N,R)=>{(N[0]!==R[0]||N[1]!==R[1])&&(a.value=N[0]||500,o.value=N[1]||600)}),t.watch(()=>e.class,(N,R)=>{s.value=N});const se=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),Pe=t.computed(()=>{var Y;const N={modal:!0,"farris-modal":!0,fade:!0};N["f-modal-fitContent"]=!!u.value,N.show=!!se.value;const R=(Y=e.maskClass)==null?void 0:Y.split(" ");return R==null||R.reduce((U,J)=>(U[J]=!0,U),N),N}),Ka=t.computed(()=>{var Y;const N={"modal-dialog":!0},R=(Y=s.value)==null?void 0:Y.split(" ");return R==null||R.reduce((U,J)=>(U[J]=!0,U),N),N}),bt=()=>G.isMobilePhone()&&!e.isMessager,Ja=t.computed(()=>{const N=document.documentElement.clientWidth,R=document.documentElement.clientHeight,Y=Math.min(a.value,N),U=u.value?"auto":`${Math.min(o.value,R-10)}px`,J={position:"absolute",top:`${(window.innerHeight-parseInt(U==="auto"?"0":U))/2}px`,left:`${(window.innerWidth-Y)/2}px`,width:`${Y}px`,height:U};return bt()&&(J.top="0px",J.left="0px",J.width=`${window.innerWidth}px`,J.height=`${window.innerHeight}px`),e.mask||(J.pointerEvents="auto"),J}),vt=t.ref(G.getMaxZIndex()||1050),_a=t.computed(()=>{const N={display:"block",overflow:"hidden"};return e.mask||(N.pointerEvents="none",N.backgroundColor="transparent"),F.value&&(N.backgroundColor="transparent"),N.zIndex=vt.value,N}),Za=t.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value,"is-mobile":bt()})),Qa=t.computed(()=>{const N={display:d.value?"":"none"};return N["pointer-events"]=B.value?"auto":"none",N}),eo=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:V.value})),to=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":C.value==="iframe","f-utils-fill":!0}));function no(){return{height:`${e.footerHeight||60}px`}}const ao=t.computed(()=>{const N={textAlgin:x.value},R=no();return Object.assign(N,R)});function xt(N){if(N==null||N.stopPropagation(),V.value){V.value=!1,P();return}E(),V.value=!0}async function oo(N,R){N.handle&&await N.handle(R,N)&&n.emit("closed",R)}function lo(N){N.width&&(a.value=N.width),N.height&&(o.value=N.height),N.buttons&&(w.value=N.buttons),N.title&&(c.value=N.title)}let De=null,Ie=null;t.onBeforeMount(()=>{F.value=H()}),t.onMounted(()=>{O.value&&!h.value&&(h.value=O.value.parentElement,D.value=h.value,A(I.value,O.value,D.value)),se.value&&document.body.classList.add("modal-open"),De=$t(e,n),Ie=At(e,n)}),t.onUnmounted(()=>{M&&M(),De&&De.remove(),Ie&&Ie.remove()}),n.expose({modalElementRef:O,updateModalOptions:lo,close:y,maxDialog:xt,isMaximized:V});function io(){return t.createVNode("ul",null,[p.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),g.value&&t.createVNode("li",{onClick:xt,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:eo.value},null)]),v.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:N=>y(N,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function ro(){return t.createVNode("div",{class:"modal-footer",style:ao.value},[w.value&&w.value.map(N=>{const R=t.ref(N.disabled);return t.createVNode("button",{name:N.name,type:"button",disabled:R.value,class:N.class+(N.iconClass?" btn-icontext":""),onClick:Y=>{oo(N,Y)}},[!!N.iconClass&&t.createVNode("i",{class:N.iconClass},null),N.text])})])}function so(){return t.createVNode("div",{ref:I,class:"modal-header",style:Qa.value},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[T.value&&t.createVNode("span",{class:f.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[c.value])]),t.createVNode("div",{class:"actions"},[io()])])}function co(){return n.slots.footerTemplate?n.slots.footerTemplate():j.value&&ro()}function uo(N){if(N.stopPropagation(),e.allowClickMaskToClose){if(N.target!==k.value)return;y(N,!1)}}function fo(){var N,R;return t.createVNode("div",{id:i.value,class:Ka.value,style:Ja.value,ref:O},[t.createVNode("div",{class:Za.value},[d.value&&so(),t.createVNode("div",{class:to.value},[(R=(N=n.slots).default)==null?void 0:R.call(N),C.value==="iframe"&&t.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:b.value},null)]),co()]),!u.value&&O.value&&!V.value&&S(O.value)])}function mo(N){return N||"body"}return t.watchEffect(()=>{se.value&&(vt.value=G.getMaxZIndex()||1050)}),()=>t.createVNode(t.Teleport,{to:mo(e.host)},{default:()=>[se.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:k,class:Pe.value,style:_a.value,onClick:uo},[fo()])]})]})}});function $e(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function zt(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||""),u=t.ref(!!e.showButtons),d=t.ref(!!e.showHeader),f=t.ref(e.showCloseButton==null?!0:e.showCloseButton),v=t.ref(!0),g=t.ref(e.title||""),p=e.acceptCallback||(()=>{}),C=e.rejectCallback||(()=>{}),b=e.closedCallback||(k=>{}),x=e.resizeHandle||(k=>{}),r=e.stopMoveHandle||(k=>{}),c=$e(e),h=k=>{v.value=!1,a.unmount(),b(k)};return t.onMounted(()=>{}),l.expose({modalRef:i}),()=>t.createVNode(ce,{ref:i,class:s.value,modelValue:v.value,"onUpdate:modelValue":k=>v.value=k,title:g.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":d.value,"show-buttons":u.value,"show-close-button":f.value,"show-max-button":!1,onAccept:p,onCancel:C,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:h,onResize:x,onStopMove:r},{default:()=>[c&&c(a)]})}});return document.body.appendChild(n),a.use(X.LocaleService.i18n),a.mount(n),a}class Ae{constructor(n){_(this,"appContext",null);_(this,"modalRef",t.ref());_(this,"activeModalIndex",t.ref(0));_(this,"modalRefs",{});_(this,"isUseEscCloseModal",t.ref(!1));_(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 zt(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||(()=>{}),u=o.value.closedCallback||((y,m)=>{}),d=o.value.resizeHandle||(y=>{}),f=n.stopMoveHandle||(y=>{});let v;const g=$e(o.value),p=y=>{var w;l.value=!1;const m=(w=y==null?void 0:y.target)==null?void 0:w.classList.contains("modal_close");u(y,this.isUseEscCloseModal.value?"esc":m?"icon":"button")},C=y=>{p(y),v&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),v=null,this.modalRef.value=null,this.modalRefs){const m=Object.keys(this.modalRefs).map(w=>Number(w));m.length>0?this.activeModalIndex.value=Math.max(...m):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},b=y=>{var m;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((m=this.activeModalInstance.value)==null||m.close(y==null?void 0:y.event))},{width:x,height:r}=o.value,c=this.adaptToWindow(x||500,r||320);Object.assign(o.value,c);const h=()=>t.createVNode(ce,t.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":y=>l.value=y},o.value,{isMessager:o.value.class&&o.value.class.indexOf("modal-message")>-1,onAccept:i,onCancel:s,onClosed:C,onResize:d,onEsc:b,onStopMove:f}),{default:()=>[g&&g(this.app)]});return v=(y=>{const m=t.h(h,y);return m.appContext=this.appContext,t.render(m,a),m})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:y=>{o.value={...o.value,...y},v&&t.render(t.cloneVNode(v,{...o}),a)},destroy:C,modalRef:this.activeModalInstance,close:()=>this.close()}}}const ze=Symbol("FModalService");ce.install=e=>{e.component(ce.name,ce);const n=new Ae(e);e.provide(ze,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 Ht(e,n,a,o,l){const i=t.ref(e.buttonBehavior),s=t.ref(e.popupOnInput),u=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:d}=He(e,l),f=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),v=t.inject(ze,null),g=t.ref();async function p(x){if(await d()&&f.value){const r=!!n.slots.default;if(i.value==="Modal"){const c=e.modalOptions,h=v==null?void 0:v.open({...c,render:()=>n.slots.default&&n.slots.default()});g.value=h==null?void 0:h.modalRef}i.value==="Overlay"&&It.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:x,value:e.modelValue})}}function C(x){n.emit("mouseEnterIcon",x)}function b(x){n.emit("mouseLeaveIcon",x)}return{buttonGroupClass:u,onClickButton:p,onMouseEnterButton:C,onMouseLeaveButton:b,modalRef:g}}function Wt(e,n,a,o,l,i){const s=t.ref(!1),u=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:d,hasClearClass:f}=i;function v(b){s.value=b,f.value=b}t.watch(l,()=>{v(!!l.value)});function g(b){const x=!e.readonly&&!e.disable&&e.editable,r=!e.editable;b.stopPropagation(),(x||r)&&(d(""),l.value="",v(!s.value),n.emit("clear"))}function p(b){if(u.value){if(!a.value){v(!1);return}!e.disable&&!e.readonly&&v(!0)}}function C(b){u.value&&v(!1)}return{enableClearButton:u,showClearButton:s,onClearValue:g,onMouseEnterTextBox:p,onMouseLeaveTextBox:C}}function qt(e,n,a,o,l){const i=t.computed(()=>e.popupOnInput),s=t.computed(()=>e.popupOnFocus),{shouldPopupContent:u,closeAllPopover:d}=l,f=t.ref(!1),v=t.computed(()=>e.enableTitle?a.value:""),g=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),p=t.computed(()=>e.readonly||!e.editable),C=t.ref(!1),b=t.computed(()=>!e.disable&&C.value),x=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 c(O,V=!0){a.value=O,V&&(n.emit("change",O),n.emit("update:modelValue",O))}function h(O){u.value=!1,c(O,!0)}t.watch(()=>e.modelValue,O=>{a.value=O});function k(O){C.value=!1,n.emit("blur",O),O.stopPropagation()}function F(O){n.emit("click",O),d(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function y(O){!e.disable&&!e.readonly&&(C.value=!0,p.value||(n.emit("focus",O),s.value&&!u.value&&l.popup()))}function m(O){n.emit("input",O);const V=O.target.value;o.value=V,a.value!==V&&c(V,e.updateOn==="change"),i.value&&!u.value&&l.popup()}function w(O){O.target.tagName!=="INPUT"&&O.preventDefault(),O.stopPropagation()}function T(O){n.emit("keydown",O)}function j(O){O.key==="Enter"&&(i.value||s.value)&&l.hidePopup(),n.emit("keyup",O)}function I(O){const V=O.target.value;O.stopPropagation(),c(V)}return{hasFocusedTextBox:b,isTextBoxReadonly:p,textBoxClass:x,textBoxPlaceholder:g,textBoxTitle:v,inputGroupClass:r,hasClearClass:f,changeTextBoxValue:c,commitValue:h,onBlurTextBox:k,onClickTextBox:F,onFocusTextBox:y,onInput:m,onKeyDownTextBox:T,onKeyUpTextBox:j,onMouseDownTextBox:w,onTextBoxValueChange:I}}const oe="FarrisVue_PopoverInstancesKey";function Ut(e,n,a,o){const l=t.ref(),i=t.ref(!1),{judgeCanOpen:s}=He(e,o);t.watch(()=>l.value,(C,b)=>{window[oe]=window[oe]||new WeakMap,C?window[oe].set(a.value,C):window[oe].delete(a.value)});function u(){if(window[oe]){const C=window[oe];document.querySelectorAll(".f-button-edit,.v-popover").forEach(b=>{const x=C.get(b);x&&b!==a.value&&!a.value.closest(".popover-fitcontent")&&x.hide()})}}function d(){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(),d())}}async function v(C=!1){if(!!n.slots.default){if(!C&&!await s())return;i.value=!0,await t.nextTick(),d()}}function g(){i.value=!1}function p(){i.value=!0,t.nextTick(()=>{d()})}return{hidePopup:g,showPopup:p,popup:v,shouldPopupContent:i,togglePopup:f,popoverRef:l,closeAllPopover:u}}function Yt(e,n,a){const o=t.ref(),{isTextBoxReadonly:l,textBoxClass:i,textBoxPlaceholder:s,textBoxTitle:u,onBlurTextBox:d,onClickTextBox:f,onFocusTextBox:v,onInput:g,onKeyDownTextBox:p,onKeyUpTextBox:C,onMouseDownTextBox:b,onTextBoxValueChange:x}=a,r=t.ref(e.id),{uuid:c}=G.useGuid(),h=t.computed(()=>({}));t.onMounted(()=>{var w,T;e.selectOnCreated&&((w=o.value)==null||w.select()),e.focusOnCreated&&((T=o.value)==null||T.focus({preventScroll:!0})),r.value||(r.value="button-edit_"+c(8)),r.value=r.value+"-textbox"});const k=t.ref(!1),F=w=>{w.preventDefault(),k.value=!0},y=w=>{w.preventDefault(),k.value=!1,g(w)};function m(w){k.value||g(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:h.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:s.value,readonly:l.value,tabindex:e.tabIndex,title:u.value,type:e.inputType,value:n.value,onBlur:d,onChange:x,onClick:f,onFocus:v,onInput:m,onKeydown:p,onKeyup:C,onMousedown:b,onCompositionend:y,onCompositionstart:F},null)}function Gt(e,n,a){const o=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:i,onFocusTextBox:s,onBlurTextBox:u,onClickTextBox:d,textBoxPlaceholder:f}=a,v=t.computed(()=>n.value?n.value.split(o.value).map(b=>({name:b,selectable:!0})):[]);function g(b){i(b.map(x=>x.name).join(o.value),!0)}t.watch(()=>e.separator,b=>{o.value=b});const p=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([b,x],[r,c])=>{p.value=!b&&!x});function C(b){d(b)}return()=>t.createVNode(wt,{tabindex:e.tabIndex,onFocus:s,onBlur:u,id:`${e.id}-tag-editor`,class:"form-control",placeholder:f.value,data:v.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:g,onClick:C},null)}function Xt(e,n,a,o){const{buttonGroupClass:l,onClickButton:i,onMouseEnterButton:s,onMouseLeaveButton:u}=a,{enableClearButton:d,showClearButton:f,onClearValue:v}=o,g=t.ref(),p=Z.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},[d.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:v,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:p,onMouseenter:s,onMouseleave:u},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:g,onClick:b=>p(b),onMouseenter:s,onMouseleave:u},null):null]),buttonHandleElement:g}}function Kt(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:i}=a,s=()=>{n.emit("shown")};return()=>t.createVNode(kt,{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 u,d;return[(d=(u=n.slots).default)==null?void 0:d.call(u)]}})}const pe=t.defineComponent({name:"FButtonEdit",props:Bt,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=Ut(e,n,a,l),{shouldPopupContent:s,hidePopup:u,showPopup:d,togglePopup:f}=i,v=Ht(e,n,a,i,l),g=t.ref(""),p=qt(e,n,l,g,i),{hasFocusedTextBox:C,commitValue:b,inputGroupClass:x}=p,r=Wt(e,n,l,C,g,p),{onMouseEnterTextBox:c,onMouseLeaveTextBox:h}=r,k=t.ref(!1),F=t.computed(()=>{const D={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce(($,B)=>($[B]=!0,$),D),D}),y=t.computed(()=>({overflow:e.wrapText?"hidden":""})),m=t.computed(()=>({}));function w(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let D=0;const $=Array.from(a.value.querySelectorAll(".farris-tag-item"));return $&&$.length&&(D=$.map(B=>B.offsetTop).filter(B=>B>20).length),D}const T=t.ref(w());t.onUpdated(()=>{T.value=w()});function j(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Gt(e,l,p)(),!!T.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("+"),T.value])])]):Yt(e,l,p)}let I=j();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{I=j()});const{renderButtonGroup:O,buttonHandleElement:V}=Xt(e,n,v,r),S=Kt(e,n,i),E=t.ref(s.value),P={displayText:g,commitValue:b,elementRef:a,hidePopup:u,showPopup:d,popoverRef:i.popoverRef,shouldPopupContent:s,togglePopup:f,openDialog:()=>{V.value&&e.buttonBehavior==="Modal"&&V.value.click()},getModal:()=>{var D;return e.buttonBehavior==="Modal"?(D=v.modalRef.value)==null?void 0:D.value:null},getTextbox:()=>{var D;return(D=a.value)==null?void 0:D.querySelector("input")},forceClosePopup:()=>{E.value=!1,k.value=!0,s.value=!1}};return t.onMounted(()=>{a.value.componentInstance=P,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var D;window.onresize=null,(D=window[oe])==null||D.delete(a.value)}),n.expose(P),t.watch(()=>s.value,async(D,$)=>{if(k.value){E.value=D,k.value=!1;return}if(!D&&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=D}),()=>{var D,$;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:y.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:x.value,style:m.value,onMouseenter:c,onMouseleave:h},[($=(D=n.slots).precontent)==null?void 0:$.call(D),I(),O()])]),E.value&&S()])}}}),Jt={$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}};q.createPropsResolver(We,Jt);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:""}},Ue=new Map([["appearance",q.resolveAppearance]]),Ye={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},dataSource:{description:"",type:"string"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onChange:"值变化事件",beforeOpen:"打开下拉面板前事件"}};function Ge(e,n,a){return n}function _t(){function e(n,a,o){const l={};return l.beforeOpen=i=>a.call("beforeOpen",n,[i,n],o),l}return{resolve:e}}const he={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}},Zt=Object.assign({},he,{readonly:{}});q.createPropsResolver(he,Ye,Ue,Ge);const Xe=q.getPropsResolverGenerator(he,Ye,Ue,Ge),Qt=_t(),en={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}},tn=t.defineComponent({name:"FComboListContainer",props:en,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),u=t.ref(e.maxHeight),d=t.computed(()=>e.multiSelect),f=t.ref(e.multiSelect?String(e.selectedValues).split(i.value):[e.selectedValues]),v=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const g=t.computed(()=>{const r={};return s.value!==void 0&&(r.width=`${s.value}px`),u.value!==void 0&&u.value>0&&(r.maxHeight=`${u.value}px`),r});function p(r){a.value.search(r)}function C(r){l.value=r.map(c=>Object.assign({},c)),f.value=r.map(c=>c[e.idField]),n.emit("selectionChange",l.value)}function b(r){if(e.enableHighlightSearch)return;let c=[];const{searchOption:h}=e;typeof h=="function"?c=o.value.filter(k=>h(r,k)):c=o.value.filter(k=>k[e.valueField].indexOf(r)>-1||k[e.textField].indexOf(r)>-1),a.value.updateDataSource(c)}t.watch([()=>e.selectedValues],([r])=>{e.multiSelect?f.value=r.split(i.value):f.value=[r]});function x(r){a.value.activeRowById(r)}return t.onMounted(()=>{var r,c;if(!e.multiSelect){const h=(r=f.value)==null?void 0:r[0];let k=h;const F=o.value.map(y=>y[e.valueField||e.idField]);if(!Z.isUndefined(h)&&F.includes(h)){const y=typeof h,m=typeof((c=o.value[0])==null?void 0:c[e.valueField||e.idField]);m==="number"&&y!==m&&(k=Number(h)),m==="boolean"&&y!==m&&(k=h==="true"?!0:h==="false"?!1:h),x(k)}}}),n.expose({search:p,activeRowById:x}),()=>t.createVNode("div",{class:"f-combo-list-container",style:g.value},[t.createVNode(Ft,{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:v.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionUpdate:C,onAfterSearch:b},null)])}});function nn(e,n){const a=t.ref(""),o=t.ref(e.modelValue),l=t.ref(e.data||[]),i=t.ref(e.editable);function s(r){const c=e.multiSelect?String(r).split(e.separator):[String(r)],h=c.map(y=>[y,!0]),k=new Map(h);return l.value.filter(y=>k.has(String(y[e.valueField]))).sort((y,m)=>{const w=c.indexOf(y[e.valueField]),T=c.indexOf(m[e.valueField]);return w-T})}function u(r){const c=s(r).map(h=>h[e.textField]).join(e.separator);a.value=i.value?c||r:c}function d(r){if(e.multiSelect){const c=r.split(e.separator).map(k=>[k,!0]),h=new Map(c);return l.value.filter(k=>h.has(k[e.textField]))}return l.value.filter(c=>""+c[e.textField]===r)}function f(r){const c={};return c[e.idField]=r,c[e.textField]=r,[c]}function v(r){let c=d(r);const h=c&&c.length>0;return i.value&&!h&&(c=f(r)),c}function g(){const{url:r,method:c="GET",headers:h={"Content-Type":"application/json;charset=utf-8;"},body:k=null}=e.remote;if(!r)return;const F=c.toLowerCase()==="get"?{method:c,headers:h}:{method:c,headers:h,body:k};let y=!1;fetch(new Request(r,F)).then(m=>{var T,j;if(m.status===200)return y=!!((j=(T=m.headers)==null?void 0:T.get("content-type"))!=null&&j.includes("application/json")),y?m.text():m.json();throw m.status===405?new Error(X.LocaleService.getLocaleValue("comboList.remoteError")):new Error(m.statusText)}).then(m=>{m.length&&(l.value=y?JSON.parse(m):m)}).catch(m=>{console.warn(m)})}e.remote&&(e.load?e.load().then(r=>{l.value=r}).catch(r=>{console.log(r)}):g()),t.watch(()=>e.data,()=>{l.value=e.data}),t.watch([l],([r],[c])=>{if(e.modelValue!=null&&!e.multiSelect){const h=r.find(k=>k[e.valueField]===o.value);h?h[e.valueField]!==o.value?(o.value=h[e.valueField],a.value=h[e.textField],n.emit("update:modelValue",h[e.valueField]),n.emit("change",[h],h[e.valueField])):a.value!==h[e.textField]&&(a.value=h[e.textField]):o.value!==""&&(o.value="",a.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(r,c)=>{c!==r&&(o.value=r,u(r))});function p(r){l.value=r}function C(){return l.value}function b(){return a.value}function x(){const r=typeof e.beforeOpen=="function";return!e.beforeOpen||!r?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:p,getData:C,getDisplayText:b}})).then(c=>typeof(c==null?void 0:c.canOpen)=="boolean"?c==null?void 0:c.canOpen:!0)}return u(e.modelValue),{dataSource:l,displayText:a,editable:i,modelValue:o,beforeOpenList:x,getItemsByDisplayText:d,getItemsByValue:s,getSelectedItemsByDisplayText:v}}const le=t.defineComponent({name:"FComboList",props:he,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),u=t.ref(e.readonly),{dataSource:d,displayText:f,editable:v,modelValue:g,getItemsByDisplayText:p,getItemsByValue:C,beforeOpenList:b}=nn(e,n),x=t.ref(e.dropDownIcon);x.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(x.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const r=t.computed(()=>e.multiSelect),c=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function h(){!r.value&&o.value&&o.value.hidePopup()}function k(P){f.value=P.map($=>$[e.textField]).join(e.separator)||g.value;let D="";P.length===1?D=P[0][e.valueField]:D=P.map($=>$[e.valueField]).join(e.separator),g.value!==D&&(g.value=D,n.emit("update:modelValue",g.value),n.emit("change",P,g.value))}function F(){const P=C(g.value);k(P)}function y(){u.value||f.value}function m(P){var D;g.value="",(D=a.value)==null||D.activeRowById(""),n.emit("clear")}function w(P){var D,$;e.enableSearch&&e.enableHighlightSearch&&((D=a.value)==null||D.search(P)),($=a.value)==null||$.activeRowById(P),n.emit("change",[g.value],g.value)}function T(P){if(e.multiSelect){const D=p(P);e.viewType;const B=D.map(M=>M[e.idField||e.valueField]).join(e.separator);g.value!==B&&(g.value=B,n.emit("update:modelValue",g.value),n.emit("change",D,g.value))}else P!==g.value&&(g.value=P,n.emit("update:modelValue",g.value),n.emit("change",[],P))}function j(){return f.value}function I(P){const{value:D}=P.target;w(D),n.emit("input",D)}function O(){o.value.hidePopup()}function V(P){d.value=P}function S(){return d.value}const E={getDisplayText:j,hidePopup:O,updateDataSource:V,getData:S};return n.expose(E),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([P,D,$,B,M])=>{l.value=P,v.value=D,i.value=$,s.value=B,u.value=M}),()=>t.createVNode(me,{ref:o,id:e.id,disable:l.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:v.value,buttonContent:x.value,placeholder:e.placeholder==="请选择"?X.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":P=>f.value=P,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:m,onClick:y,onChange:T,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(tn,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:d.value,selectedValues:g.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:s.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?c.value:void 0,onSelectionChange:P=>{k(P),h()}},null)]})}}),Ke={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class an extends Ct.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 d,f,v,g,p,C,b,x,r,c,h,k;const a=this;let o="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const F=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(f=F==null?void 0:F.schemaField)!=null&&f.type&&(o=F.schemaField.type.$type)}const l=this.getPropertyEditorParams(n,["Variable"]),i=!n.editor.dataSourceType||n.editor.dataSourceType==="static",s=((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===G.FormSchemaEntityFieldType$Type.StringType&&((p=n.editor)==null?void 0:p.type)==="combo-list"&&((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!((x=(b=n.editor)==null?void 0:b.remote)!=null&&x.url)&&!((r=n.editor)!=null&&r.multiSelect);return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:s,title:"数据",editor:{...l,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:i,...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((c=n.editor)!=null&&c.dataSource),$converter:Ke,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:Ke,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",readonly:((h=n.editor)==null?void 0:h.dataSourceType)==="dynamic"&&!!((k=n.editor)!=null&&k.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(F,y)=>{if(!F||!y.editor)return;const m=this;switch(F.propertyID){case"dataSourceType":{F.propertyValue==="static"?(y.editor.valueField="value",y.editor.textField="name",y.editor.remote=null):F.propertyValue==="dynamic"&&(y.editor.remote={method:"GET"},y.editor.valueField="value",y.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(y)&&y.formatter&&(y.formatter.data=[...F.propertyValue]);break}case"viewType":{F.propertyValue==="tag"&&(y.editor.editable=!1);break}case"dataSource":m.afterMutilEditorChanged(y,F)}})}getGridFieldEdtiorProperties(n,a){var d,f,v,g,p,C,b,x,r,c,h,k,F;const o=this;let l="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const y=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(f=y==null?void 0:y.schemaField)!=null&&f.type&&(l=y.schemaField.type.$type)}const i=((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===G.FormSchemaEntityFieldType$Type.StringType&&((p=n.editor)==null?void 0:p.type)==="combo-list"&&((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!((b=n.editor)!=null&&b.multiSelect),s=this.getPropertyEditorParams(n,["Variable"]);return o.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:i,title:"数据",editor:{...s,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((x=n.editor)!=null&&x.dataSourceType)||((r=n.editor)==null?void 0:r.dataSourceType)==="static",...o.getItemCollectionEditor(n,(c=n.editor)==null?void 0:c.valueField,(h=n.editor)==null?void 0:h.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:l==="StringType",readonly:((k=n.editor)==null?void 0:k.dataSourceType)==="dynamic"&&!!((F=n.editor)!=null&&F.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(y,m)=>{if(!y||!m.editor)return;const w=this;switch(y.propertyID){case"dataSourceType":{y.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):y.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!w.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...y.propertyValue]);break}case"dataSource":w.afterMutilEditorChanged(m,y)}})}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)===G.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 u=i.eventsEditorUtils.formProperties(n,i.viewModelId,s);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(u),tabId:"commands",tabName:"交互",setPropertyRelates(v,g){const p=v.propertyValue;delete n[i.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(n,i.viewModelId,p.events,p)),l&&l(v,g,p);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 on(e,n){const a=e.schema;function o(l,i){return new an(l,n).getPropertyConfig(a,i)}return{getPropsConfig:o}}const ln=t.defineComponent({name:"FComboListDesign",props:Zt,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=on(l,o),s=ye.useDesignerComponent(a,l,i);return t.onMounted(()=>{a.value.componentInstance=s}),n.expose(s.value),()=>t.createVNode(St,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});le.register=(e,n,a,o,l)=>{e["combo-list"]=le,n["combo-list"]=Xe(l),o["combo-list"]={callbackResolver:Qt}},le.registerDesigner=(e,n,a,o)=>{e["combo-list"]=ln,n["combo-list"]=Xe(o)},G.withInstall(le),G.withInstall(pe);const rn={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}},Je=new Map([["appearance",q.resolveAppearance]]);function _e(e,n,a){return n}const sn={$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"]},cn={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:""}},Ze=q.createPropsResolver(Fe,sn,Je,_e,cn);function Qe(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),u=t.computed(()=>({display:i.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),d=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 v(r,c,h,k){const F=e.value;if(F){const{left:y,right:m,width:w}=F.getBoundingClientRect();let T=r.clientX-y;k==="right"&&(T=m-r.clientX),T>c&&(T=c),T<h&&(T=h),k==="right"&&(T=w-T),o.value=T}}function g(r,c,h,k){const F=e.value;if(F){const{top:y,bottom:m,height:w}=F.getBoundingClientRect();let T=r.clientY-y;k==="bottom"&&(T=m-r.clientY),T>c&&(T=c),T<h&&(T=h),k==="bottom"&&(T=w-T),l.value=T}}function p(){const r=e.value;if(r){const{width:c,height:h}=r.getBoundingClientRect();return{width:c,height:h}}return null}function C(){const r=e.value;return r?Array.from(r.querySelectorAll("[data-position]")).reduce((c,h)=>{const k=h.getAttribute("data-position");return c=Object.assign(c,{[k]:h}),c},{}):null}function b(r,c){const h=p(),k=C();if(h&&k){const F=k==null?void 0:k.right,y=k==null?void 0:k.left;if(r==="left"&&y)return F?h.width-F.clientWidth-c:h.width-c;if(r==="right"&&F)return y?h.width-y.clientWidth-c:h.width-c}}function x(r,c){const h=p(),k=C();if(h&&k){const F=k==null?void 0:k.bottom,y=k==null?void 0:k.top;if(r==="top"&&y)return F?h.height-F.clientHeight-c:h.height-c;if(r==="bottom"&&F)return y?h.height-y.clientHeight-c:h.height-c}}return{horizontalResizeHandleStyle:u,verticalResizeHandleStyle:d,resizeOverlayStyle:f,showHorizontalResizeHandle:i,showVerticalResizeHandle:s,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:v,draggingVerticalResizeHandle:g,getPanelMaxHeight:x,getPanelMaxWidth:b}}const te=t.defineComponent({name:"FLayout",props:Fe,emits:[],setup(e,n){const a=t.ref(),o=Qe(a),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:i,resizeOverlayStyle:s}=o;t.provide("layout",{useResizeHandleComposition:o});const u=t.computed(()=>{const f={"f-layout":!0};return G.getCustomClass(f,e==null?void 0:e.customClass)}),d=t.computed(()=>{const f={};return G.getCustomStyle(f,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:u.value,style:d.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)])}}),un={$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"]},dn={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:"是否可见"}}}}},Se={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}},et=q.createPropsResolver(Se,un,Je,_e,dn);function tt(e,n,a,o,l){const{horizontalResizeBarPosition:i,horizontalResizeHandleOffset:s,showHorizontalResizeHandle:u,showVerticalResizeHandle:d,verticalResizeBarPosition:f,verticalResizeHandleOffset:v,draggingHorizontalResizeHandle:g,draggingVerticalResizeHandle:p,getPanelMaxHeight:C,getPanelMaxWidth:b}=l;let x="",r,c,h;function k(m){if((x==="left"||x==="right")&&c){const{left:w}=c.getBoundingClientRect(),{width:T}=r.getBoundingClientRect(),j=m.clientX-w;let I=x==="left"?(T||0)+(j-i.value):(T||0)-(j-i.value);I=a.value>0?Math.max(a.value,I):I;const O=b(x,a.value);O!=null&&(I=O>I?I:O),e.value=I}if((x==="top"||x==="bottom")&&c){const{top:w}=c.getBoundingClientRect(),{height:T}=r.getBoundingClientRect(),j=m.clientY-w;let I=x==="top"?(T||0)+(j-f.value):(T||0)-(j-f.value);I=o.value>0?Math.max(o.value,I):I;const O=C(x,o.value);O!=null&&(I=O>I?I:O),n.value=I}s.value=0,v.value=0,i.value=-1,f.value=-1,u.value=!1,d.value=!1,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",k),document.body.style.userSelect="",x="",r=null,c=null}function F(m,w,T){if(x=w,r=T,u.value=!0,c=m.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),c){const{left:I}=c.getBoundingClientRect(),O=m.clientX-I;s.value=O,i.value=O;const V=b(x,a.value)||0;h=S=>g(S,V,a.value,x),document.addEventListener("mousemove",h),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}function y(m,w,T){if(x=w,r=T,d.value=!0,c=m.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),c){const{top:I}=c.getBoundingClientRect();v.value=m.clientY-I,f.value=m.clientY-I;const O=C(x,o.value)||0;h=V=>p(V,O,o.value,x),document.addEventListener("mousemove",h),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:y}}const Q=t.defineComponent({name:"FLayoutPane",props:Se,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)),u=t.ref(Math.max(o.value,l.value)),d=t.ref(),f=t.ref(e.position),v=t.ref(e.resizable);t.watch(()=>e.resizable,y=>{v.value=y});const g=t.inject("layout"),{useResizeHandleComposition:p}=g,C=tt(u,s,o,a,p),{onClickHorizontalResizeBar:b,onClickVerticalResizeBar:x}=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"})),c=t.computed(()=>f.value!=="center"&&v.value);function h(y,m){(m==="left"||m==="right")&&b(y,m,d.value),(m==="top"||m==="bottom")&&x(y,m,d.value)}const k=t.computed(()=>{const y={"f-layout-pane":!0,"f-page-content-nav":f.value==="left"||f.value==="right","f-page-content-main":f.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((m,w)=>(m[w]=!0,m),y),y}),F=t.computed(()=>{const y={};return(u.value&&f.value==="left"||f.value==="right")&&(y.width=`${u.value}px`),(s.value&&f.value==="bottom"||f.value==="top")&&(y.height=`${s.value}px`),e.visible||(y.display="none"),y});return()=>t.createVNode("div",{ref:d,class:k.value,style:F.value,"data-position":f.value},[n.slots.default&&n.slots.default(),c.value&&t.createVNode("span",{class:r.value,onMousedown:y=>h(y,f.value)},null)])}});function fn(e,n){function a(){return!1}return{canAccepts:a}}const mn=t.defineComponent({name:"FLayoutDesign",props:Fe,emits:[],setup(e,n){var v;const a=t.ref(),o=t.inject("design-item-context"),l=fn(o.schema,(v=o.parent)==null?void 0:v.schema),i=ye.useDesignerComponent(a,o,l);i.value.canNested=!1;const s=Qe(a),{horizontalResizeHandleStyle:u,verticalResizeHandleStyle:d,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:u.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:d.value},null)])}});function yn(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 pn=t.defineComponent({name:"FLayoutPaneDesign",props:Se,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const l=t.inject("design-item-context"),i=yn(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 u=t.ref(Math.max(e.minHeight,e.height)),d=t.ref(Math.max(e.minWidth,e.width)),f=t.ref(e.minHeight),v=t.ref(e.minWidth),g=t.ref(e.position),p=t.inject("layout"),{useResizeHandleComposition:C}=p,b=tt(d,u,v,f,C),{onClickHorizontalResizeBar:x,onClickVerticalResizeBar:r}=b,c=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":g.value==="left","f-layout-resize-bar-n":g.value==="bottom","f-layout-resize-bar-s":g.value==="top","f-layout-resize-bar-w":g.value==="right"}));function h(y,m){(m==="left"||m==="right")&&x(y,m,a.value),(m==="top"||m==="bottom")&&r(y,m,a.value)}const k=t.computed(()=>{const y={"f-layout-pane":!0,"f-page-content-nav":g.value==="left"||g.value==="right","f-page-content-main":g.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((m,w)=>(m[w]=!0,m),y),y}),F=t.computed(()=>{const y={flex:"1"};return(d.value&&g.value==="left"||g.value==="right")&&(y.width=`${d.value}px`),(u.value&&g.value==="bottom"||g.value==="top")&&(y.height=`${u.value}px`),y});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:c.value,onMousedown:y=>h(y,g.value)},null)])}});te.install=e=>{e.component(te.name,te),e.component(Q.name,Q)},te.register=(e,n,a,o)=>{e.layout=te,n.layout=Ze,e["layout-pane"]=Q,n["layout-pane"]=et},te.registerDesigner=(e,n,a)=>{e.layout=mn,n.layout=Ze,e["layout-pane"]=pn,n["layout-pane"]=et};const hn={analytical:{name:"数据",items:[{key:"IsNull",name:"是空值",params:[{key:"obj",name:"检测对象",type:"object"}],description:`【功能】判断检测对象是否为空值(null)。检测对象为null返回true,否则返回false
|
|
1
|
+
(function(z,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../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):(z=typeof globalThis<"u"?globalThis:z||self,t(z["sort-condition-editor"]={},z.Vue,z.dynamicResolver,z.locale,z.common,z.propertyPanel,z.FTags,z.LodashES,z.FPopover,z.FButtonEdit$1,z.FListView,z.FButtonEditDesign,z.designerCanvas,z.FTreeView,z.FEventParameter,z.inputGroup))})(this,function(z,t,q,X,G,Ct,wt,Z,kt,me,Ft,St,ye,je,Tt,Nt){"use strict";var yo=Object.defineProperty;var po=(z,t,q)=>t in z?yo(z,t,{enumerable:!0,configurable:!0,writable:!0,value:q}):z[t]=q;var _=(z,t,q)=>po(z,typeof t!="symbol"?t+"":t,q);const Vt={$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}},Mt=q.createPropsResolver(Re,Vt),Bt={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}},Ot={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Et=t.defineComponent({name:"FOverlay",props:Ot,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(u){n.emit("click"),u.preventDefault(),u.stopPropagation()}t.computed(()=>{const u=o.value;if(u){const d=u.getBoundingClientRect(),{left:f,top:v,height:g}=d;return{left:f,top:v+g}}return a.value});const s=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var u,d;return[t.createVNode("div",{class:"overlay-container",onClick:f=>i(f),style:l.value},[t.createVNode("div",{style:s.value},[(d=(u=n.slots).default)==null?void 0:d.call(u)])])]}})}});function Pt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Dt(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=Pt(e);return()=>t.createVNode(Et,{"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 It{static show(n){return Dt(n)}}const jt={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"},isMessager:{type:Boolean,default:!1}};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 ae{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new ae(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 ae(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Rt(e,n){const a=t.ref(),o=t.ref(),l=t.ref(),i=t.ref(),s=t.ref(),u=t.ref(),d=t.ref(),f=t.ref(),v=t.ref(),g=t.ref(),p=t.ref(),C=t.ref(e.resizeable),b=t.ref(),x=t.ref(e.draggable),r=t.ref(!1);function c(){const B=o.value||document.body,M=window.getComputedStyle(B);if(!M||!a.value)return;const L=W.getTransformInfo(a.value),A={};d.value&&(A.deltaL=a.value.offsetLeft-d.value.x,A.deltaT=a.value.offsetTop-d.value.y);const H=M.getPropertyValue("position");A.width=B.clientWidth,A.height=B.clientHeight,A.pr=parseInt(M.getPropertyValue("padding-right"),10),A.pb=parseInt(M.getPropertyValue("padding-bottom"),10),A.position=M.getPropertyValue("position"),H==="static"&&(B.style.position="relative"),A.translateX=L.x,A.translateY=L.y,g.value=A}function h(B){if(a.value){i.value=ae.getCurrent(a.value),s.value=W.getCurrent(a.value),u.value=i.value?ae.copy(i.value):null,d.value=s.value?W.copy(s.value):null,c();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,A;if(a.value){const H=a.value;f.value&&((f.value.n||f.value.s)&&((B=u.value)!=null&&B.height)&&(H.style.height=u.value.height+"px"),(f.value.w||f.value.e)&&((M=u.value)!=null&&M.width)&&(H.style.width=u.value.width+"px"),d.value&&((L=d.value)!=null&&L.x&&(H.style.left=d.value.x+"px"),(A=d.value)!=null&&A.y&&(H.style.top=d.value.y+"px")))}}function F(){const B=e.minHeight?e.minHeight:1,M=e.minWidth?e.minWidth:1;u.value&&d.value&&f.value&&i.value&&(u.value.height<B&&(u.value.height=B,f.value.n&&s.value&&(d.value.y=s.value.y+(i.value.height-B))),u.value.width<M&&(u.value.width=M,f.value.w&&s.value&&(d.value.x=s.value.x+(i.value.width-M))),e.maxHeight&&u.value.height>e.maxHeight&&(u.value.height=e.maxHeight,s.value&&f.value.n&&(d.value.y=s.value.y+(i.value.height-e.maxHeight))),e.maxWidth&&u.value.width>e.maxWidth&&(u.value.width=e.maxWidth,f.value.w&&s.value&&(d.value.x=s.value.x+(i.value.width-e.maxWidth))))}function y(){if(o.value){const B=g.value;if(d.value&&u.value&&f.value&&i.value){const M=B.width-B.pr-B.deltaL-B.translateX-d.value.x,L=B.height-B.pb-B.deltaT-B.translateY-d.value.y;f.value.n&&d.value.y+B.translateY<0&&s.value&&(d.value.y=-B.translateY,u.value.height=i.value.height+s.value.y+B.translateY),f.value.w&&d.value.x+B.translateX<0&&s.value&&(d.value.x=-B.translateX,u.value.width=i.value.width+s.value.x+B.translateX),u.value.width>M&&(u.value.width=M),u.value.height>L&&(u.value.height=L)}}}function m(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?(d.value.y=s.value.y+L,u.value.height=i.value.height-L):f.value.s&&(u.value.height=i.value.height+L),f.value.e?u.value.width=i.value.width+M:f.value.w&&(u.value.width=i.value.width-M,d.value.x=s.value.x+M),y(),F(),k()}function w(B){if(!v.value)return;const M=W.fromEvent(B);M&&m(M)}function T(){if(a.value){const{width:B,height:M,x:L,y:A}=a.value.getBoundingClientRect(),H=W.getTransformInfo(a.value);return{size:{width:B,height:M},position:{x:L-H.x,y:A-H.y}}}return null}function j(B){if(a.value){const M=T();p.value=M}l.value=void 0,i.value=null,s.value=null,u.value=null,d.value=null,f.value=null,v.value=null,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",j)}function I(){document.addEventListener("mousemove",w),document.addEventListener("mouseup",j)}function O(B){B instanceof MouseEvent&&B.button===2||x.value&&(document.body.click(),B.stopPropagation(),B.preventDefault(),l.value=W.fromEvent(B),v.value=B.target,h(B),I())}function V(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=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:M=>O(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:M=>O(M)},null)])}function S(B=!0){document.body.click();const M=o.value||document.body,L=ae.getCurrent(M),A=a.value;B&&A&&(b.value=T(),b.value.transform=A.style.transform),L&&A&&(u.value=L,u.value.height-=14,u.value.width-=14,A.style.height=u.value.height+"px",A.style.width=u.value.width+"px",A.style.left="7px",A.style.top="7px",A.style.transform="",p.value={size:u.value,position:{x:0,y:0}},x.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},A={x:(window.innerWidth-L.width)/2,y:(window.innerHeight-L.height)/2};(B=u.value)==null||B.set(L),(M=d.value)==null||M.set(A);const H=a.value;H.style.height=L.height+"px",H.style.width=L.width+"px",H.style.left=`${A.x}px`,H.style.top=`${A.y}px`,H.style.transform="",p.value={size:L,position:A},x.value=e.draggable,r.value=!1}}function P(){if(a.value){const B=ae.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 D(){const B=()=>{r.value?S(!1):P(),document.body.click()};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}}const $=D();return{renderResizeBar:V,boundingElement:o,resizedEventParam:p,maximize:S,restore:E,allowDrag:x,isMaximized:r,unWindowResizeHandle:$,moveToCenter:P}}function Lt(e,n,a){const o=t.ref(),l=t.ref(e.draggable),i=t.ref(e.lockAxis),s=t.ref(),u=t.ref(),d=t.ref(!1),f=t.ref(new W(0,0)),v=t.ref(new W(0,0)),g=t.ref(new W(0,0)),p=t.ref(new W(0,0));t.watch(()=>a.value,w=>{s.value.style.cursor=w?"move":"default"});function C(w,T){if(T.tagName==="BUTTON")return!1;if(T===w)return!0;for(const j in T.children)if(Object.prototype.hasOwnProperty.call(T.children,j)&&C(w,T.children[j]))return!0;return!1}function b(){var I,O;let w=g.value.x+v.value.x,T=g.value.y+v.value.y;i.value==="x"?(w=((I=f.value)==null?void 0:I.x)||0,g.value.x=0):i.value==="y"&&(T=((O=f.value)==null?void 0:O.y)||0,g.value.y=0);const j=`translate3d(${Math.round(w)}px, ${Math.round(T)}px, 0px)`;o.value&&(o.value.style.transform=j),p.value.x=w,p.value.y=T}function x(){if(!u.value||!o.value)return null;const w=u.value.getBoundingClientRect(),T=o.value.getBoundingClientRect(),j={top:w.top<T.top,right:w.right>T.right,bottom:w.bottom>T.bottom,left:w.left<T.left};return j.top||(g.value.y-=T.top-w.top),j.bottom||(g.value.y-=T.bottom-w.bottom),j.right||(g.value.x-=T.right-w.right),j.left||(g.value.x-=T.left-w.left),b(),j}function r(w){w&&(f.value&&w.subtract(f.value),g.value.set(w),b(),x())}function c(w){d.value&&l.value&&(w.stopPropagation(),w.preventDefault(),r(W.fromEvent(w,s.value)))}function h(){var w;d.value&&(d.value=!1,v.value.add(g.value),g.value.reset(),(w=o.value)==null||w.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",h))}function k(){!d.value&&s.value&&(d.value=!0,s.value.classList.add("ng-dragging"),document.addEventListener("mousemove",c),document.addEventListener("mouseup",h))}function F(){if(o.value){const w=W.getTransformInfo(o.value);v.value.set(w);return}v.value.reset()}function y(w){if(!a.value||w instanceof MouseEvent&&w.button===2)return;const T=w.target||w.srcElement;s.value!==void 0&&T&&!C(T,s.value)||l.value!==!1&&(document.body.click(),w.stopPropagation(),w.preventDefault(),f.value=W.fromEvent(w,o.value),F(),k())}function m(w,T,j){if(l.value&&T){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=T.querySelector(e.dragHandle);I&&(s.value=I)}}o.value=T,u.value=j,s.value?(s.value.classList.add("ng-draggable"),s.value.addEventListener("mousedown",y)):l.value=!1}}return{registerDraggle:m,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 $t(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 At(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 ce=t.defineComponent({name:"FModal",props:jt,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),u=t.ref(e.fitContent),d=t.ref(e.showHeader),f=t.ref(""),v=t.ref(e.showCloseButton),g=t.ref(e.showMaxButton),p=t.ref(!1),C=t.ref(e.dialogType),b=t.ref(e.src),x=t.ref(""),r=t.ref(e.showButtons),c=t.ref(e.title),h=t.ref(e.containment||null),k=t.ref();c.value==="错误提示"&&(c.value=X.LocaleService.getLocaleValue("messageBox.errorTitle"));const F=t.ref(!1);function y(N,R){const Y=R?"accept":"cancel";Promise.resolve().then(()=>{var U;return(U=e.beforeClose)==null?void 0:U.call(e,{closeType:Y})}).then(U=>{U&&(l.value=!1,n.emit("update:modelValue",!1),R!=null&&n.emit(R?"accept":"cancel"),n.emit("closed",N))})}const m=[{name:"cancel",text:X.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:N=>{y(N,!1)}},{name:"accept",text:X.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:N=>{y(N,!0)}}],w=t.ref(e.buttons&&e.buttons.length?e.buttons:m),T=t.computed(()=>!!f.value),j=t.computed(()=>!!r.value&&!!w.value),I=t.ref(),O=t.ref(),V=t.ref(!1),{renderResizeBar:S,maximize:E,restore:P,boundingElement:D,resizedEventParam:$,allowDrag:B,unWindowResizeHandle:M,moveToCenter:L}=Rt(e),{registerDraggle:A}=Lt(e,n,B);function H(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Ee(){const N=document.querySelectorAll(".farris-modal").length;(!N||N-1<=0)&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}t.watch(()=>e.title,(N,R)=>{N!==R&&(c.value=N)}),t.watch(()=>e.modelValue,(N,R)=>{N!==R&&(l.value=N,l.value&&e.draggable&&t.nextTick(()=>{O.value&&!h.value&&(h.value=O.value.parentElement,D.value=h.value,A(I.value,O.value,D.value),L())}),N||(h.value&&(h.value=null),Ee())),l.value?F.value=H():(V.value=!1,B.value=e.draggable)}),t.watch(()=>e.showHeader,(N,R)=>{N!==R&&(d.value=N)}),t.watch(()=>e.showButtons,(N,R)=>{N!==R&&(r.value=N)}),t.watch(()=>$.value,(N,R)=>{const Y=N||{},U=R||{};JSON.stringify(Y)!==JSON.stringify(U)&&n.emit("resize",{newSize:N,oldSize:R,isMaximized:V.value})}),t.watch([()=>e.width,()=>e.height],(N,R)=>{(N[0]!==R[0]||N[1]!==R[1])&&(a.value=N[0]||500,o.value=N[1]||600)}),t.watch(()=>e.class,(N,R)=>{s.value=N});const se=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),Pe=t.computed(()=>{var Y;const N={modal:!0,"farris-modal":!0,fade:!0};N["f-modal-fitContent"]=!!u.value,N.show=!!se.value;const R=(Y=e.maskClass)==null?void 0:Y.split(" ");return R==null||R.reduce((U,J)=>(U[J]=!0,U),N),N}),Ka=t.computed(()=>{var Y;const N={"modal-dialog":!0},R=(Y=s.value)==null?void 0:Y.split(" ");return R==null||R.reduce((U,J)=>(U[J]=!0,U),N),N}),bt=()=>G.isMobilePhone()&&!e.isMessager,Ja=t.computed(()=>{const N=document.documentElement.clientWidth,R=document.documentElement.clientHeight,Y=Math.min(a.value,N),U=u.value?"auto":`${Math.min(o.value,R-10)}px`,J={position:"absolute",top:`${(window.innerHeight-parseInt(U==="auto"?"0":U))/2}px`,left:`${(window.innerWidth-Y)/2}px`,width:`${Y}px`,height:U};return bt()&&(J.top="0px",J.left="0px",J.width=`${window.innerWidth}px`,J.height=`${window.innerHeight}px`),e.mask||(J.pointerEvents="auto"),J}),vt=t.ref(G.getMaxZIndex()||1050),_a=t.computed(()=>{const N={display:"block",overflow:"hidden"};return e.mask||(N.pointerEvents="none",N.backgroundColor="transparent"),F.value&&(N.backgroundColor="transparent"),N.zIndex=vt.value,N}),Za=t.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value,"is-mobile":bt()})),Qa=t.computed(()=>{const N={display:d.value?"":"none"};return N["pointer-events"]=B.value?"auto":"none",N}),eo=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:V.value})),to=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":C.value==="iframe","f-utils-fill":!0}));function no(){return{height:`${e.footerHeight||60}px`}}const ao=t.computed(()=>{const N={textAlgin:x.value},R=no();return Object.assign(N,R)});function xt(N){if(N==null||N.stopPropagation(),V.value){V.value=!1,P();return}E(),V.value=!0}async function oo(N,R){N.handle&&await N.handle(R,N)&&n.emit("closed",R)}function lo(N){N.width&&(a.value=N.width),N.height&&(o.value=N.height),N.buttons&&(w.value=N.buttons),N.title&&(c.value=N.title)}let De=null,Ie=null;t.onBeforeMount(()=>{F.value=H()}),t.onMounted(()=>{O.value&&!h.value&&(h.value=O.value.parentElement,D.value=h.value,A(I.value,O.value,D.value)),se.value&&document.body.classList.add("modal-open"),De=$t(e,n),Ie=At(e,n)}),t.onUnmounted(()=>{M&&M(),De&&De.remove(),Ie&&Ie.remove()}),n.expose({modalElementRef:O,updateModalOptions:lo,close:y,maxDialog:xt,isMaximized:V});function io(){return t.createVNode("ul",null,[p.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),g.value&&t.createVNode("li",{onClick:xt,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:eo.value},null)]),v.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:N=>y(N,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function ro(){return t.createVNode("div",{class:"modal-footer",style:ao.value},[w.value&&w.value.map(N=>{const R=t.ref(N.disabled);return t.createVNode("button",{name:N.name,type:"button",disabled:R.value,class:N.class+(N.iconClass?" btn-icontext":""),onClick:Y=>{oo(N,Y)}},[!!N.iconClass&&t.createVNode("i",{class:N.iconClass},null),N.text])})])}function so(){return t.createVNode("div",{ref:I,class:"modal-header",style:Qa.value},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[T.value&&t.createVNode("span",{class:f.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[c.value])]),t.createVNode("div",{class:"actions"},[io()])])}function co(){return n.slots.footerTemplate?n.slots.footerTemplate():j.value&&ro()}function uo(N){if(N.stopPropagation(),e.allowClickMaskToClose){if(N.target!==k.value)return;y(N,!1)}}function fo(){var N,R;return t.createVNode("div",{id:i.value,class:Ka.value,style:Ja.value,ref:O},[t.createVNode("div",{class:Za.value},[d.value&&so(),t.createVNode("div",{class:to.value},[(R=(N=n.slots).default)==null?void 0:R.call(N),C.value==="iframe"&&t.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:b.value},null)]),co()]),!u.value&&O.value&&!V.value&&S(O.value)])}function mo(N){return N||"body"}return t.watchEffect(()=>{se.value&&(vt.value=G.getMaxZIndex()||1050)}),()=>t.createVNode(t.Teleport,{to:mo(e.host)},{default:()=>[se.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:k,class:Pe.value,style:_a.value,onClick:uo},[fo()])]})]})}});function $e(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function zt(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||""),u=t.ref(!!e.showButtons),d=t.ref(!!e.showHeader),f=t.ref(e.showCloseButton==null?!0:e.showCloseButton),v=t.ref(!0),g=t.ref(e.title||""),p=e.acceptCallback||(()=>{}),C=e.rejectCallback||(()=>{}),b=e.closedCallback||(k=>{}),x=e.resizeHandle||(k=>{}),r=e.stopMoveHandle||(k=>{}),c=$e(e),h=k=>{v.value=!1,a.unmount(),b(k)};return t.onMounted(()=>{}),l.expose({modalRef:i}),()=>t.createVNode(ce,{ref:i,class:s.value,modelValue:v.value,"onUpdate:modelValue":k=>v.value=k,title:g.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":d.value,"show-buttons":u.value,"show-close-button":f.value,"show-max-button":!1,onAccept:p,onCancel:C,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:h,onResize:x,onStopMove:r},{default:()=>[c&&c(a)]})}});return document.body.appendChild(n),a.use(X.LocaleService.i18n),a.mount(n),a}class Ae{constructor(n){_(this,"appContext",null);_(this,"modalRef",t.ref());_(this,"activeModalIndex",t.ref(0));_(this,"modalRefs",{});_(this,"isUseEscCloseModal",t.ref(!1));_(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 zt(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||(()=>{}),u=o.value.closedCallback||((y,m)=>{}),d=o.value.resizeHandle||(y=>{}),f=n.stopMoveHandle||(y=>{});let v;const g=$e(o.value),p=y=>{var w;l.value=!1;const m=(w=y==null?void 0:y.target)==null?void 0:w.classList.contains("modal_close");u(y,this.isUseEscCloseModal.value?"esc":m?"icon":"button")},C=y=>{p(y),v&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),v=null,this.modalRef.value=null,this.modalRefs){const m=Object.keys(this.modalRefs).map(w=>Number(w));m.length>0?this.activeModalIndex.value=Math.max(...m):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},b=y=>{var m;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((m=this.activeModalInstance.value)==null||m.close(y==null?void 0:y.event))},{width:x,height:r}=o.value,c=this.adaptToWindow(x||500,r||320);Object.assign(o.value,c);const h=()=>t.createVNode(ce,t.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":y=>l.value=y},o.value,{isMessager:o.value.class&&o.value.class.indexOf("modal-message")>-1,onAccept:i,onCancel:s,onClosed:C,onResize:d,onEsc:b,onStopMove:f}),{default:()=>[g&&g(this.app)]});return v=(y=>{const m=t.h(h,y);return m.appContext=this.appContext,t.render(m,a),m})({...o.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:y=>{o.value={...o.value,...y},v&&t.render(t.cloneVNode(v,{...o}),a)},destroy:C,modalRef:this.activeModalInstance,close:()=>this.close()}}}const ze=Symbol("FModalService");ce.install=e=>{e.component(ce.name,ce);const n=new Ae(e);e.provide(ze,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 Ht(e,n,a,o,l){const i=t.ref(e.buttonBehavior),s=t.ref(e.popupOnInput),u=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:d}=He(e,l),f=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),v=t.inject(ze,null),g=t.ref();async function p(x){if(await d()&&f.value){const r=!!n.slots.default;if(i.value==="Modal"){const c=e.modalOptions,h=v==null?void 0:v.open({...c,render:()=>n.slots.default&&n.slots.default()});g.value=h==null?void 0:h.modalRef}i.value==="Overlay"&&It.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:x,value:e.modelValue})}}function C(x){n.emit("mouseEnterIcon",x)}function b(x){n.emit("mouseLeaveIcon",x)}return{buttonGroupClass:u,onClickButton:p,onMouseEnterButton:C,onMouseLeaveButton:b,modalRef:g}}function Wt(e,n,a,o,l,i){const s=t.ref(!1),u=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:d,hasClearClass:f}=i;function v(b){s.value=b,f.value=b}t.watch(l,()=>{v(!!l.value)});function g(b){const x=!e.readonly&&!e.disable&&e.editable,r=!e.editable;b.stopPropagation(),(x||r)&&(d(""),l.value="",v(!s.value),n.emit("clear"))}function p(b){if(u.value){if(!a.value){v(!1);return}!e.disable&&!e.readonly&&v(!0)}}function C(b){u.value&&v(!1)}return{enableClearButton:u,showClearButton:s,onClearValue:g,onMouseEnterTextBox:p,onMouseLeaveTextBox:C}}function qt(e,n,a,o,l){const i=t.computed(()=>e.popupOnInput),s=t.computed(()=>e.popupOnFocus),{shouldPopupContent:u,closeAllPopover:d}=l,f=t.ref(!1),v=t.computed(()=>e.enableTitle?a.value:""),g=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),p=t.computed(()=>e.readonly||!e.editable),C=t.ref(!1),b=t.computed(()=>!e.disable&&C.value),x=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 c(O,V=!0){a.value=O,V&&(n.emit("change",O),n.emit("update:modelValue",O))}function h(O){u.value=!1,c(O,!0)}t.watch(()=>e.modelValue,O=>{a.value=O});function k(O){C.value=!1,n.emit("blur",O),O.stopPropagation()}function F(O){n.emit("click",O),d(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function y(O){!e.disable&&!e.readonly&&(C.value=!0,p.value||(n.emit("focus",O),s.value&&!u.value&&l.popup()))}function m(O){n.emit("input",O);const V=O.target.value;o.value=V,a.value!==V&&c(V,e.updateOn==="change"),i.value&&!u.value&&l.popup()}function w(O){O.target.tagName!=="INPUT"&&O.preventDefault(),O.stopPropagation()}function T(O){n.emit("keydown",O)}function j(O){O.key==="Enter"&&(i.value||s.value)&&l.hidePopup(),n.emit("keyup",O)}function I(O){const V=O.target.value;O.stopPropagation(),c(V)}return{hasFocusedTextBox:b,isTextBoxReadonly:p,textBoxClass:x,textBoxPlaceholder:g,textBoxTitle:v,inputGroupClass:r,hasClearClass:f,changeTextBoxValue:c,commitValue:h,onBlurTextBox:k,onClickTextBox:F,onFocusTextBox:y,onInput:m,onKeyDownTextBox:T,onKeyUpTextBox:j,onMouseDownTextBox:w,onTextBoxValueChange:I}}const oe="FarrisVue_PopoverInstancesKey";function Ut(e,n,a,o){const l=t.ref(),i=t.ref(!1),{judgeCanOpen:s}=He(e,o);t.watch(()=>l.value,(C,b)=>{window[oe]=window[oe]||new WeakMap,C?window[oe].set(a.value,C):window[oe].delete(a.value)});function u(){if(window[oe]){const C=window[oe];document.querySelectorAll(".f-button-edit,.v-popover").forEach(b=>{const x=C.get(b);x&&b!==a.value&&!a.value.closest(".popover-fitcontent")&&x.hide()})}}function d(){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(),d())}}async function v(C=!1){if(!!n.slots.default){if(!C&&!await s())return;i.value=!0,await t.nextTick(),d()}}function g(){i.value=!1}function p(){i.value=!0,t.nextTick(()=>{d()})}return{hidePopup:g,showPopup:p,popup:v,shouldPopupContent:i,togglePopup:f,popoverRef:l,closeAllPopover:u}}function Yt(e,n,a){const o=t.ref(),{isTextBoxReadonly:l,textBoxClass:i,textBoxPlaceholder:s,textBoxTitle:u,onBlurTextBox:d,onClickTextBox:f,onFocusTextBox:v,onInput:g,onKeyDownTextBox:p,onKeyUpTextBox:C,onMouseDownTextBox:b,onTextBoxValueChange:x}=a,r=t.ref(e.id),{uuid:c}=G.useGuid(),h=t.computed(()=>({}));t.onMounted(()=>{var w,T;e.selectOnCreated&&((w=o.value)==null||w.select()),e.focusOnCreated&&((T=o.value)==null||T.focus({preventScroll:!0})),r.value||(r.value="button-edit_"+c(8)),r.value=r.value+"-textbox"});const k=t.ref(!1),F=w=>{w.preventDefault(),k.value=!0},y=w=>{w.preventDefault(),k.value=!1,g(w)};function m(w){k.value||g(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:h.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:s.value,readonly:l.value,tabindex:e.tabIndex,title:u.value,type:e.inputType,value:n.value,onBlur:d,onChange:x,onClick:f,onFocus:v,onInput:m,onKeydown:p,onKeyup:C,onMousedown:b,onCompositionend:y,onCompositionstart:F},null)}function Gt(e,n,a){const o=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:i,onFocusTextBox:s,onBlurTextBox:u,onClickTextBox:d,textBoxPlaceholder:f}=a,v=t.computed(()=>n.value?n.value.split(o.value).map(b=>({name:b,selectable:!0})):[]);function g(b){i(b.map(x=>x.name).join(o.value),!0)}t.watch(()=>e.separator,b=>{o.value=b});const p=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([b,x],[r,c])=>{p.value=!b&&!x});function C(b){d(b)}return()=>t.createVNode(wt,{tabindex:e.tabIndex,onFocus:s,onBlur:u,id:`${e.id}-tag-editor`,class:"form-control",placeholder:f.value,data:v.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:g,onClick:C},null)}function Xt(e,n,a,o){const{buttonGroupClass:l,onClickButton:i,onMouseEnterButton:s,onMouseLeaveButton:u}=a,{enableClearButton:d,showClearButton:f,onClearValue:v}=o,g=t.ref(),p=Z.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},[d.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:v,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:p,onMouseenter:s,onMouseleave:u},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:g,onClick:b=>p(b),onMouseenter:s,onMouseleave:u},null):null]),buttonHandleElement:g}}function Kt(e,n,a){const o=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:i}=a,s=()=>{n.emit("shown")};return()=>t.createVNode(kt,{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 u,d;return[(d=(u=n.slots).default)==null?void 0:d.call(u)]}})}const pe=t.defineComponent({name:"FButtonEdit",props:Bt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","shown"],setup(e,n){const a=t.ref(),o=t.ref(e.customClass),l=t.ref(e.modelValue),i=Ut(e,n,a,l),{shouldPopupContent:s,hidePopup:u,showPopup:d,togglePopup:f}=i,v=Ht(e,n,a,i,l),g=t.ref(""),p=qt(e,n,l,g,i),{hasFocusedTextBox:C,commitValue:b,inputGroupClass:x}=p,r=Wt(e,n,l,C,g,p),{onMouseEnterTextBox:c,onMouseLeaveTextBox:h}=r,k=t.ref(!1),F=t.computed(()=>{const D={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return o.value&&o.value.split(" ").reduce(($,B)=>($[B]=!0,$),D),D}),y=t.computed(()=>({overflow:e.wrapText?"hidden":""})),m=t.computed(()=>({}));function w(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let D=0;const $=Array.from(a.value.querySelectorAll(".farris-tag-item"));return $&&$.length&&(D=$.map(B=>B.offsetTop).filter(B=>B>20).length),D}const T=t.ref(w());t.onUpdated(()=>{T.value=w()});function j(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Gt(e,l,p)(),!!T.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("+"),T.value])])]):Yt(e,l,p)}let I=j();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{I=j()});const{renderButtonGroup:O,buttonHandleElement:V}=Xt(e,n,v,r),S=Kt(e,n,i),E=t.ref(s.value),P={displayText:g,commitValue:b,elementRef:a,hidePopup:u,showPopup:d,popoverRef:i.popoverRef,shouldPopupContent:s,togglePopup:f,openDialog:()=>{V.value&&e.buttonBehavior==="Modal"&&V.value.click()},getModal:()=>{var D;return e.buttonBehavior==="Modal"?(D=v.modalRef.value)==null?void 0:D.value:null},getTextbox:()=>{var D;return(D=a.value)==null?void 0:D.querySelector("input")},forceClosePopup:()=>{E.value=!1,k.value=!0,s.value=!1}};return t.onMounted(()=>{a.value.componentInstance=P,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var D;window.onresize=null,(D=window[oe])==null||D.delete(a.value)}),n.expose(P),t.watch(()=>s.value,async(D,$)=>{if(k.value){E.value=D,k.value=!1;return}if(!D&&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=D}),()=>{var D,$;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:y.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:x.value,style:m.value,onMouseenter:c,onMouseleave:h},[($=(D=n.slots).precontent)==null?void 0:$.call(D),I(),O()])]),E.value&&S()])}}}),Jt={$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}};q.createPropsResolver(We,Jt);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:""}},Ue=new Map([["appearance",q.resolveAppearance]]),Ye={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},dataSource:{description:"",type:"string"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打卡面板前回调",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onChange:"值变化事件",beforeOpen:"打开下拉面板前事件"}};function Ge(e,n,a){return n}function _t(){function e(n,a,o){const l={};return l.beforeOpen=i=>a.call("beforeOpen",n,[i,n],o),l}return{resolve:e}}const he={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}},Zt=Object.assign({},he,{readonly:{}});q.createPropsResolver(he,Ye,Ue,Ge);const Xe=q.getPropsResolverGenerator(he,Ye,Ue,Ge),Qt=_t(),en={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}},tn=t.defineComponent({name:"FComboListContainer",props:en,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),u=t.ref(e.maxHeight),d=t.computed(()=>e.multiSelect),f=t.ref(e.multiSelect?String(e.selectedValues).split(i.value):[e.selectedValues]),v=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{o.value=e.dataSource}),t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const g=t.computed(()=>{const r={};return s.value!==void 0&&(r.width=`${s.value}px`),u.value!==void 0&&u.value>0&&(r.maxHeight=`${u.value}px`),r});function p(r){a.value.search(r)}function C(r){l.value=r.map(c=>Object.assign({},c)),f.value=r.map(c=>c[e.idField]),n.emit("selectionChange",l.value)}function b(r){if(e.enableHighlightSearch)return;let c=[];const{searchOption:h}=e;typeof h=="function"?c=o.value.filter(k=>h(r,k)):c=o.value.filter(k=>k[e.valueField].indexOf(r)>-1||k[e.textField].indexOf(r)>-1),a.value.updateDataSource(c)}t.watch([()=>e.selectedValues],([r])=>{e.multiSelect?f.value=r.split(i.value):f.value=[r]});function x(r){a.value.activeRowById(r)}return t.onMounted(()=>{var r,c;if(!e.multiSelect){const h=(r=f.value)==null?void 0:r[0];let k=h;const F=o.value.map(y=>y[e.valueField||e.idField]);if(!Z.isUndefined(h)&&F.includes(h)){const y=typeof h,m=typeof((c=o.value[0])==null?void 0:c[e.valueField||e.idField]);m==="number"&&y!==m&&(k=Number(h)),m==="boolean"&&y!==m&&(k=h==="true"?!0:h==="false"?!1:h),x(k)}}}),n.expose({search:p,activeRowById:x}),()=>t.createVNode("div",{class:"f-combo-list-container",style:g.value},[t.createVNode(Ft,{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:v.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:f.value,onSelectionUpdate:C,onAfterSearch:b},null)])}});function nn(e,n){const a=t.ref(""),o=t.ref(e.modelValue),l=t.ref(e.data||[]),i=t.ref(e.editable);function s(r){const c=e.multiSelect?String(r).split(e.separator):[String(r)],h=c.map(y=>[y,!0]),k=new Map(h);return l.value.filter(y=>k.has(String(y[e.valueField]))).sort((y,m)=>{const w=c.indexOf(y[e.valueField]),T=c.indexOf(m[e.valueField]);return w-T})}function u(r){const c=s(r).map(h=>h[e.textField]).join(e.separator);a.value=i.value?c||r:c}function d(r){if(e.multiSelect){const c=r.split(e.separator).map(k=>[k,!0]),h=new Map(c);return l.value.filter(k=>h.has(k[e.textField]))}return l.value.filter(c=>""+c[e.textField]===r)}function f(r){const c={};return c[e.idField]=r,c[e.textField]=r,[c]}function v(r){let c=d(r);const h=c&&c.length>0;return i.value&&!h&&(c=f(r)),c}function g(){const{url:r,method:c="GET",headers:h={"Content-Type":"application/json;charset=utf-8;"},body:k=null}=e.remote;if(!r)return;const F=c.toLowerCase()==="get"?{method:c,headers:h}:{method:c,headers:h,body:k};let y=!1;fetch(new Request(r,F)).then(m=>{var T,j;if(m.status===200)return y=!!((j=(T=m.headers)==null?void 0:T.get("content-type"))!=null&&j.includes("application/json")),y?m.text():m.json();throw m.status===405?new Error(X.LocaleService.getLocaleValue("comboList.remoteError")):new Error(m.statusText)}).then(m=>{m.length&&(l.value=y?JSON.parse(m):m)}).catch(m=>{console.warn(m)})}e.remote&&(e.load?e.load().then(r=>{l.value=r}).catch(r=>{console.log(r)}):g()),t.watch(()=>e.data,()=>{l.value=e.data}),t.watch([l],([r],[c])=>{if(e.modelValue!=null&&!e.multiSelect){const h=r.find(k=>k[e.valueField]===o.value);h?h[e.valueField]!==o.value?(o.value=h[e.valueField],a.value=h[e.textField],n.emit("update:modelValue",h[e.valueField]),n.emit("change",[h],h[e.valueField])):a.value!==h[e.textField]&&(a.value=h[e.textField]):o.value!==""&&(o.value="",a.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),t.watch(()=>e.modelValue,(r,c)=>{c!==r&&(o.value=r,u(r))});function p(r){l.value=r,n.emit("dataChanged",r)}function C(){return l.value}function b(){return a.value}function x(){const r=typeof e.beforeOpen=="function";return!e.beforeOpen||!r?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:p,getData:C,getDisplayText:b}})).then(c=>typeof(c==null?void 0:c.canOpen)=="boolean"?c==null?void 0:c.canOpen:!0)}return u(e.modelValue),{dataSource:l,displayText:a,editable:i,modelValue:o,beforeOpenList:x,getItemsByDisplayText:d,getItemsByValue:s,getSelectedItemsByDisplayText:v}}const le=t.defineComponent({name:"FComboList",props:he,emits:["clear","update:modelValue","change","input","dataChanged"],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),u=t.ref(e.readonly),{dataSource:d,displayText:f,editable:v,modelValue:g,getItemsByDisplayText:p,getItemsByValue:C,beforeOpenList:b}=nn(e,n),x=t.ref(e.dropDownIcon);x.value==='<span class="f-icon f-icon-arrow-chevron-down"></span>'&&(x.value='<span id="'+e.id+'-icon-dropdown" class="f-icon f-icon-arrow-chevron-down"></span>');const r=t.computed(()=>e.multiSelect),c=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function h(){!r.value&&o.value&&o.value.hidePopup()}function k(P){f.value=P.map($=>$[e.textField]).join(e.separator)||g.value;let D="";P.length===1?D=P[0][e.valueField]:D=P.map($=>$[e.valueField]).join(e.separator),g.value!==D&&(g.value=D,n.emit("update:modelValue",g.value),n.emit("change",P,g.value))}function F(){const P=C(g.value);k(P)}function y(){u.value||f.value}function m(P){var D;g.value="",(D=a.value)==null||D.activeRowById(""),n.emit("clear")}function w(P){var D,$;e.enableSearch&&e.enableHighlightSearch&&((D=a.value)==null||D.search(P)),($=a.value)==null||$.activeRowById(P),n.emit("change",[g.value],g.value)}function T(P){if(e.multiSelect){const D=p(P);e.viewType;const B=D.map(M=>M[e.idField||e.valueField]).join(e.separator);g.value!==B&&(g.value=B,n.emit("update:modelValue",g.value),n.emit("change",D,g.value))}else P!==g.value&&(g.value=P,n.emit("update:modelValue",g.value),n.emit("change",[],P))}function j(){return f.value}function I(P){const{value:D}=P.target;w(D),n.emit("input",D)}function O(){o.value.hidePopup()}function V(P){d.value=P}function S(){return d.value}const E={getDisplayText:j,hidePopup:O,updateDataSource:V,getData:S};return n.expose(E),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([P,D,$,B,M])=>{l.value=P,v.value=D,i.value=$,s.value=B,u.value=M}),()=>t.createVNode(me,{ref:o,id:e.id,disable:l.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:v.value,buttonContent:x.value,placeholder:e.placeholder==="请选择"?X.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":P=>f.value=P,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:m,onClick:y,onChange:T,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(tn,{ref:a,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:d.value,selectedValues:g.value,separator:e.separator,multiSelect:e.multiSelect,enableSearch:s.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?c.value:void 0,onSelectionChange:P=>{k(P),h()}},null)]})}}),Ke={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,a)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=a}};class an extends Ct.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 d,f,v,g,p,C,b,x,r,c,h,k;const a=this;let o="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const F=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(f=F==null?void 0:F.schemaField)!=null&&f.type&&(o=F.schemaField.type.$type)}const l=this.getPropertyEditorParams(n,["Variable"]),i=!n.editor.dataSourceType||n.editor.dataSourceType==="static",s=((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===G.FormSchemaEntityFieldType$Type.StringType&&((p=n.editor)==null?void 0:p.type)==="combo-list"&&((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!((x=(b=n.editor)==null?void 0:b.remote)!=null&&x.url)&&!((r=n.editor)!=null&&r.multiSelect);return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:s,title:"数据",editor:{...l,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:i,...a.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((c=n.editor)!=null&&c.dataSource),$converter:Ke,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:Ke,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!o||o==="StringType",readonly:((h=n.editor)==null?void 0:h.dataSourceType)==="dynamic"&&!!((k=n.editor)!=null&&k.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(F,y)=>{if(!F||!y.editor)return;const m=this;switch(F.propertyID){case"dataSourceType":{F.propertyValue==="static"?(y.editor.valueField="value",y.editor.textField="name",y.editor.remote=null):F.propertyValue==="dynamic"&&(y.editor.remote={method:"GET"},y.editor.valueField="value",y.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(y)&&y.formatter&&(y.formatter.data=[...F.propertyValue]);break}case"viewType":{F.propertyValue==="tag"&&(y.editor.editable=!1);break}case"dataSource":m.afterMutilEditorChanged(y,F)}})}getGridFieldEdtiorProperties(n,a){var d,f,v,g,p,C,b,x,r,c,h,k,F;const o=this;let l="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const y=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(f=y==null?void 0:y.schemaField)!=null&&f.type&&(l=y.schemaField.type.$type)}const i=((g=(v=this.designViewModelField)==null?void 0:v.type)==null?void 0:g.$type)===G.FormSchemaEntityFieldType$Type.StringType&&((p=n.editor)==null?void 0:p.type)==="combo-list"&&((C=n.editor)==null?void 0:C.dataSourceType)==="dynamic"&&!((b=n.editor)!=null&&b.multiSelect),s=this.getPropertyEditorParams(n,["Variable"]);return o.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:i,title:"数据",editor:{...s,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((x=n.editor)!=null&&x.dataSourceType)||((r=n.editor)==null?void 0:r.dataSourceType)==="static",...o.getItemCollectionEditor(n,(c=n.editor)==null?void 0:c.valueField,(h=n.editor)==null?void 0:h.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:l==="StringType",readonly:((k=n.editor)==null?void 0:k.dataSourceType)==="dynamic"&&!!((F=n.editor)!=null&&F.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(y,m)=>{if(!y||!m.editor)return;const w=this;switch(y.propertyID){case"dataSourceType":{y.propertyValue==="static"?(m.editor.valueField="value",m.editor.textField="name",m.editor.remote=null):y.propertyValue==="dynamic"&&(m.editor.remote={method:"GET"},m.editor.valueField="value",m.editor.textField="name");break}case"data":{!w.checkEnumDataReadonly(m)&&m.formatter&&(m.formatter.data=[...y.propertyValue]);break}case"dataSource":w.afterMutilEditorChanged(m,y)}})}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)===G.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 u=i.eventsEditorUtils.formProperties(n,i.viewModelId,s);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(u),tabId:"commands",tabName:"交互",setPropertyRelates(v,g){const p=v.propertyValue;delete n[i.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(n,i.viewModelId,p.events,p)),l&&l(v,g,p);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 on(e,n){const a=e.schema;function o(l,i){return new an(l,n).getPropertyConfig(a,i)}return{getPropsConfig:o}}const ln=t.defineComponent({name:"FComboListDesign",props:Zt,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=on(l,o),s=ye.useDesignerComponent(a,l,i);return t.onMounted(()=>{a.value.componentInstance=s}),n.expose(s.value),()=>t.createVNode(St,{ref:a,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}});le.register=(e,n,a,o,l)=>{e["combo-list"]=le,n["combo-list"]=Xe(l),o["combo-list"]={callbackResolver:Qt}},le.registerDesigner=(e,n,a,o)=>{e["combo-list"]=ln,n["combo-list"]=Xe(o)},G.withInstall(le),G.withInstall(pe);const rn={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}},Je=new Map([["appearance",q.resolveAppearance]]);function _e(e,n,a){return n}const sn={$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"]},cn={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:""}},Ze=q.createPropsResolver(Fe,sn,Je,_e,cn);function Qe(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),u=t.computed(()=>({display:i.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),d=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 v(r,c,h,k){const F=e.value;if(F){const{left:y,right:m,width:w}=F.getBoundingClientRect();let T=r.clientX-y;k==="right"&&(T=m-r.clientX),T>c&&(T=c),T<h&&(T=h),k==="right"&&(T=w-T),o.value=T}}function g(r,c,h,k){const F=e.value;if(F){const{top:y,bottom:m,height:w}=F.getBoundingClientRect();let T=r.clientY-y;k==="bottom"&&(T=m-r.clientY),T>c&&(T=c),T<h&&(T=h),k==="bottom"&&(T=w-T),l.value=T}}function p(){const r=e.value;if(r){const{width:c,height:h}=r.getBoundingClientRect();return{width:c,height:h}}return null}function C(){const r=e.value;return r?Array.from(r.querySelectorAll("[data-position]")).reduce((c,h)=>{const k=h.getAttribute("data-position");return c=Object.assign(c,{[k]:h}),c},{}):null}function b(r,c){const h=p(),k=C();if(h&&k){const F=k==null?void 0:k.right,y=k==null?void 0:k.left;if(r==="left"&&y)return F?h.width-F.clientWidth-c:h.width-c;if(r==="right"&&F)return y?h.width-y.clientWidth-c:h.width-c}}function x(r,c){const h=p(),k=C();if(h&&k){const F=k==null?void 0:k.bottom,y=k==null?void 0:k.top;if(r==="top"&&y)return F?h.height-F.clientHeight-c:h.height-c;if(r==="bottom"&&F)return y?h.height-y.clientHeight-c:h.height-c}}return{horizontalResizeHandleStyle:u,verticalResizeHandleStyle:d,resizeOverlayStyle:f,showHorizontalResizeHandle:i,showVerticalResizeHandle:s,horizontalResizeBarPosition:n,verticalResizeBarPosition:a,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:v,draggingVerticalResizeHandle:g,getPanelMaxHeight:x,getPanelMaxWidth:b}}const te=t.defineComponent({name:"FLayout",props:Fe,emits:[],setup(e,n){const a=t.ref(),o=Qe(a),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:i,resizeOverlayStyle:s}=o;t.provide("layout",{useResizeHandleComposition:o});const u=t.computed(()=>{const f={"f-layout":!0};return G.getCustomClass(f,e==null?void 0:e.customClass)}),d=t.computed(()=>{const f={};return G.getCustomStyle(f,e==null?void 0:e.customStyle)});return()=>t.createVNode("div",{class:u.value,style:d.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)])}}),un={$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"]},dn={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:"是否可见"}}}}},Se={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}},et=q.createPropsResolver(Se,un,Je,_e,dn);function tt(e,n,a,o,l){const{horizontalResizeBarPosition:i,horizontalResizeHandleOffset:s,showHorizontalResizeHandle:u,showVerticalResizeHandle:d,verticalResizeBarPosition:f,verticalResizeHandleOffset:v,draggingHorizontalResizeHandle:g,draggingVerticalResizeHandle:p,getPanelMaxHeight:C,getPanelMaxWidth:b}=l;let x="",r,c,h;function k(m){if((x==="left"||x==="right")&&c){const{left:w}=c.getBoundingClientRect(),{width:T}=r.getBoundingClientRect(),j=m.clientX-w;let I=x==="left"?(T||0)+(j-i.value):(T||0)-(j-i.value);I=a.value>0?Math.max(a.value,I):I;const O=b(x,a.value);O!=null&&(I=O>I?I:O),e.value=I}if((x==="top"||x==="bottom")&&c){const{top:w}=c.getBoundingClientRect(),{height:T}=r.getBoundingClientRect(),j=m.clientY-w;let I=x==="top"?(T||0)+(j-f.value):(T||0)-(j-f.value);I=o.value>0?Math.max(o.value,I):I;const O=C(x,o.value);O!=null&&(I=O>I?I:O),n.value=I}s.value=0,v.value=0,i.value=-1,f.value=-1,u.value=!1,d.value=!1,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",k),document.body.style.userSelect="",x="",r=null,c=null}function F(m,w,T){if(x=w,r=T,u.value=!0,c=m.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),c){const{left:I}=c.getBoundingClientRect(),O=m.clientX-I;s.value=O,i.value=O;const V=b(x,a.value)||0;h=S=>g(S,V,a.value,x),document.addEventListener("mousemove",h),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}function y(m,w,T){if(x=w,r=T,d.value=!0,c=m.composedPath().find(I=>(I.className||"").split(" ")[0]==="f-layout"),c){const{top:I}=c.getBoundingClientRect();v.value=m.clientY-I,f.value=m.clientY-I;const O=C(x,o.value)||0;h=V=>p(V,O,o.value,x),document.addEventListener("mousemove",h),document.addEventListener("mouseup",k),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:F,onClickVerticalResizeBar:y}}const Q=t.defineComponent({name:"FLayoutPane",props:Se,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)),u=t.ref(Math.max(o.value,l.value)),d=t.ref(),f=t.ref(e.position),v=t.ref(e.resizable);t.watch(()=>e.resizable,y=>{v.value=y});const g=t.inject("layout"),{useResizeHandleComposition:p}=g,C=tt(u,s,o,a,p),{onClickHorizontalResizeBar:b,onClickVerticalResizeBar:x}=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"})),c=t.computed(()=>f.value!=="center"&&v.value);function h(y,m){(m==="left"||m==="right")&&b(y,m,d.value),(m==="top"||m==="bottom")&&x(y,m,d.value)}const k=t.computed(()=>{const y={"f-layout-pane":!0,"f-page-content-nav":f.value==="left"||f.value==="right","f-page-content-main":f.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((m,w)=>(m[w]=!0,m),y),y}),F=t.computed(()=>{const y={};return(u.value&&f.value==="left"||f.value==="right")&&(y.width=`${u.value}px`),(s.value&&f.value==="bottom"||f.value==="top")&&(y.height=`${s.value}px`),e.visible||(y.display="none"),y});return()=>t.createVNode("div",{ref:d,class:k.value,style:F.value,"data-position":f.value},[n.slots.default&&n.slots.default(),c.value&&t.createVNode("span",{class:r.value,onMousedown:y=>h(y,f.value)},null)])}});function fn(e,n){function a(){return!1}return{canAccepts:a}}const mn=t.defineComponent({name:"FLayoutDesign",props:Fe,emits:[],setup(e,n){var v;const a=t.ref(),o=t.inject("design-item-context"),l=fn(o.schema,(v=o.parent)==null?void 0:v.schema),i=ye.useDesignerComponent(a,o,l);i.value.canNested=!1;const s=Qe(a),{horizontalResizeHandleStyle:u,verticalResizeHandleStyle:d,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:u.value},null),t.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:d.value},null)])}});function yn(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 pn=t.defineComponent({name:"FLayoutPaneDesign",props:Se,emits:[],setup(e,n){const a=t.ref(),o=t.ref();t.inject("designer-host-service");const l=t.inject("design-item-context"),i=yn(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 u=t.ref(Math.max(e.minHeight,e.height)),d=t.ref(Math.max(e.minWidth,e.width)),f=t.ref(e.minHeight),v=t.ref(e.minWidth),g=t.ref(e.position),p=t.inject("layout"),{useResizeHandleComposition:C}=p,b=tt(d,u,v,f,C),{onClickHorizontalResizeBar:x,onClickVerticalResizeBar:r}=b,c=t.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":g.value==="left","f-layout-resize-bar-n":g.value==="bottom","f-layout-resize-bar-s":g.value==="top","f-layout-resize-bar-w":g.value==="right"}));function h(y,m){(m==="left"||m==="right")&&x(y,m,a.value),(m==="top"||m==="bottom")&&r(y,m,a.value)}const k=t.computed(()=>{const y={"f-layout-pane":!0,"f-page-content-nav":g.value==="left"||g.value==="right","f-page-content-main":g.value==="center"};return e.customClass&&String(e.customClass).split(" ").reduce((m,w)=>(m[w]=!0,m),y),y}),F=t.computed(()=>{const y={flex:"1"};return(d.value&&g.value==="left"||g.value==="right")&&(y.width=`${d.value}px`),(u.value&&g.value==="bottom"||g.value==="top")&&(y.height=`${u.value}px`),y});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:c.value,onMousedown:y=>h(y,g.value)},null)])}});te.install=e=>{e.component(te.name,te),e.component(Q.name,Q)},te.register=(e,n,a,o)=>{e.layout=te,n.layout=Ze,e["layout-pane"]=Q,n["layout-pane"]=et},te.registerDesigner=(e,n,a)=>{e.layout=mn,n.layout=Ze,e["layout-pane"]=pn,n["layout-pane"]=et};const hn={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
|