@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 +1 @@
|
|
|
1
|
-
(function(U,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),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("@vueuse/core"),require("../data-view/index.umd.js"),require("../button/index.umd.js"),require("../drawer/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../dynamic-resolver/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../locale/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../tags/index.umd.js","lodash-es","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../button/index.umd.js","../drawer/index.umd.js","../dynamic-form/index.umd.js","../dynamic-resolver/index.umd.js"],e):(U=typeof globalThis<"u"?globalThis:U||self,e(U["mapping-editor"]={},U.Vue,U.locale,U.common,null,U.FTags,U.LodashES,U.FPopover,U.VueUseCore,U.dataView,U.FButton,U.FDrawer,U.FResponseForm,U.dynamicResolver))})(this,function(U,e,le,ve,lo,xt,nt,Bt,St,P,ot,Tt,at,Nt){"use strict";var oo=Object.defineProperty;var ao=(U,e,le)=>e in U?oo(U,e,{enumerable:!0,configurable:!0,writable:!0,value:le}):U[e]=le;var he=(U,e,le)=>ao(U,typeof e!="symbol"?e+"":e,le);const Mt={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}},Vt={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},kt=e.defineComponent({name:"FOverlay",props:Vt,emits:["click"],setup(t,n){const o=e.ref(t.popupContentPosition),a=e.ref(t.host),l=e.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function s(i){n.emit("click"),i.preventDefault(),i.stopPropagation()}e.computed(()=>{const i=a.value;if(i){const d=i.getBoundingClientRect(),{left:p,top:m,height:y}=d;return{left:p,top:m+y}}return o.value});const r=e.computed(()=>({}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var i,d;return[e.createVNode("div",{class:"overlay-container",onClick:p=>s(p),style:l.value},[e.createVNode("div",{style:r.value},[(d=(i=n.slots).default)==null?void 0:d.call(i)])])]}})}});function Ft(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ot(t){const n=document.createElement("div");n.style.display="contents";let o;const a=t.onClickCallback||(()=>{}),l=()=>{a(),o&&o.unmount()};return o=e.createApp({setup(){e.onUnmounted(()=>{document.body.removeChild(n)});const s=Ft(t);return()=>e.createVNode(kt,{"popup-content-position":t.popupPosition,host:t.host,onClick:l,backgroundColor:t.backgroundColor},{default:()=>[s&&s()]})}}),document.body.appendChild(n),o.mount(n),o}class It{static show(n){return Ot(n)}}const Et={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 ee{constructor(n,o){this.x=n,this.y=o}static getTransformInfo(n){const a=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const l=parseInt(a[4],10),s=parseInt(a[5],10);return{x:l,y:s}}return{x:0,y:0}}static fromEvent(n,o=null){if(this.isMouseEvent(n))return new ee(n.clientX,n.clientY);if(o===null||n.changedTouches.length===1)return new ee(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let a=0;a<n.changedTouches.length;a++)if(n.changedTouches[a].target===o)return new ee(n.changedTouches[a].clientX,n.changedTouches[a].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 o=new ee(0,0);if(window){const a=window.getComputedStyle(n);if(a){const l=parseInt(a.getPropertyValue("left"),10),s=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(l)?0:l,o.y=isNaN(s)?0:s}return o}return null}static copy(n){return new ee(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 we{constructor(n,o){this.width=n,this.height=o}static getCurrent(n){const o=new we(0,0);if(window){const a=window.getComputedStyle(n);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(n){return new we(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Pt(t,n){const o=e.ref(),a=e.ref(),l=e.ref(),s=e.ref(),r=e.ref(),i=e.ref(),d=e.ref(),p=e.ref(),m=e.ref(),y=e.ref(),x=e.ref(),v=e.ref(t.resizeable),f=e.ref(),T=e.ref(t.draggable),F=e.ref(!1);function k(){const c=a.value||document.body,w=window.getComputedStyle(c);if(!w||!o.value)return;const R=ee.getTransformInfo(o.value),V={};d.value&&(V.deltaL=o.value.offsetLeft-d.value.x,V.deltaT=o.value.offsetTop-d.value.y);const z=w.getPropertyValue("position");V.width=c.clientWidth,V.height=c.clientHeight,V.pr=parseInt(w.getPropertyValue("padding-right"),10),V.pb=parseInt(w.getPropertyValue("padding-bottom"),10),V.position=w.getPropertyValue("position"),z==="static"&&(c.style.position="relative"),V.translateX=R.x,V.translateY=R.y,y.value=V}function g(c){if(o.value){s.value=we.getCurrent(o.value),r.value=ee.getCurrent(o.value),i.value=s.value?we.copy(s.value):null,d.value=r.value?ee.copy(r.value):null,k();const w=c.target.getAttribute("type")||"";p.value={n:!!w.match(/n/),s:!!w.match(/s/),w:!!w.match(/w/),e:!!w.match(/e/)}}}function L(){var c,w,R,V;if(o.value){const z=o.value;p.value&&((p.value.n||p.value.s)&&((c=i.value)!=null&&c.height)&&(z.style.height=i.value.height+"px"),(p.value.w||p.value.e)&&((w=i.value)!=null&&w.width)&&(z.style.width=i.value.width+"px"),d.value&&((R=d.value)!=null&&R.x&&(z.style.left=d.value.x+"px"),(V=d.value)!=null&&V.y&&(z.style.top=d.value.y+"px")))}}function _(){const c=t.minHeight?t.minHeight:1,w=t.minWidth?t.minWidth:1;i.value&&d.value&&p.value&&s.value&&(i.value.height<c&&(i.value.height=c,p.value.n&&r.value&&(d.value.y=r.value.y+(s.value.height-c))),i.value.width<w&&(i.value.width=w,p.value.w&&r.value&&(d.value.x=r.value.x+(s.value.width-w))),t.maxHeight&&i.value.height>t.maxHeight&&(i.value.height=t.maxHeight,r.value&&p.value.n&&(d.value.y=r.value.y+(s.value.height-t.maxHeight))),t.maxWidth&&i.value.width>t.maxWidth&&(i.value.width=t.maxWidth,p.value.w&&r.value&&(d.value.x=r.value.x+(s.value.width-t.maxWidth))))}function E(){if(a.value){const c=y.value;if(d.value&&i.value&&p.value&&s.value){const w=c.width-c.pr-c.deltaL-c.translateX-d.value.x,R=c.height-c.pb-c.deltaT-c.translateY-d.value.y;p.value.n&&d.value.y+c.translateY<0&&r.value&&(d.value.y=-c.translateY,i.value.height=s.value.height+r.value.y+c.translateY),p.value.w&&d.value.x+c.translateX<0&&r.value&&(d.value.x=-c.translateX,i.value.width=s.value.width+r.value.x+c.translateX),i.value.width>w&&(i.value.width=w),i.value.height>R&&(i.value.height=R)}}}function N(c){if(!l.value||!s.value||!r.value||!p.value)return;c.subtract(l.value);const w=c.x,R=c.y;p.value.n?(d.value.y=r.value.y+R,i.value.height=s.value.height-R):p.value.s&&(i.value.height=s.value.height+R),p.value.e?i.value.width=s.value.width+w:p.value.w&&(i.value.width=s.value.width-w,d.value.x=r.value.x+w),E(),_(),L()}function C(c){if(!m.value)return;const w=ee.fromEvent(c);w&&N(w)}function I(){if(o.value){const{width:c,height:w,x:R,y:V}=o.value.getBoundingClientRect(),z=ee.getTransformInfo(o.value);return{size:{width:c,height:w},position:{x:R-z.x,y:V-z.y}}}return null}function D(c){if(o.value){const w=I();x.value=w}l.value=void 0,s.value=null,r.value=null,i.value=null,d.value=null,p.value=null,m.value=null,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",D)}function K(){document.addEventListener("mousemove",C),document.addEventListener("mouseup",D)}function B(c){c instanceof MouseEvent&&c.button===2||T.value&&(document.body.click(),c.stopPropagation(),c.preventDefault(),l.value=ee.fromEvent(c),m.value=c.target,g(c),K())}function W(c){return o.value=c,v.value&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:w=>B(w)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:w=>B(w)},null)])}function ie(c=!0){document.body.click();const w=a.value||document.body,R=we.getCurrent(w),V=o.value;c&&V&&(f.value=I(),f.value.transform=V.style.transform),R&&V&&(i.value=R,i.value.height-=14,i.value.width-=14,V.style.height=i.value.height+"px",V.style.width=i.value.width+"px",V.style.left="7px",V.style.top="7px",V.style.transform="",x.value={size:i.value,position:{x:0,y:0}},T.value=!1,F.value=!0)}function te(){var c,w;if(document.body.click(),f.value){const R={width:f.value.size.width||0,height:f.value.size.height||0},V={x:(window.innerWidth-R.width)/2,y:(window.innerHeight-R.height)/2};(c=i.value)==null||c.set(R),(w=d.value)==null||w.set(V);const z=o.value;z.style.height=R.height+"px",z.style.width=R.width+"px",z.style.left=`${V.x}px`,z.style.top=`${V.y}px`,z.style.transform="",x.value={size:R,position:V},T.value=t.draggable,F.value=!1}}function oe(){if(o.value){const c=we.getCurrent(o.value);if(c){const{width:w,height:R}=c;o.value.style.left=`${(window.innerWidth-w)/2}px`,o.value.style.top=`${(window.innerHeight-R)/2}px`,o.value.style.transform=""}}}function A(){const c=()=>{F.value?ie(!1):oe(),document.body.click()};return window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}}const S=A();return{renderResizeBar:W,boundingElement:a,resizedEventParam:x,maximize:ie,restore:te,allowDrag:T,isMaximized:F,unWindowResizeHandle:S,moveToCenter:oe}}function Rt(t,n,o){const a=e.ref(),l=e.ref(t.draggable),s=e.ref(t.lockAxis),r=e.ref(),i=e.ref(),d=e.ref(!1),p=e.ref(new ee(0,0)),m=e.ref(new ee(0,0)),y=e.ref(new ee(0,0)),x=e.ref(new ee(0,0));e.watch(()=>o.value,C=>{r.value.style.cursor=C?"move":"default"});function v(C,I){if(I.tagName==="BUTTON")return!1;if(I===C)return!0;for(const D in I.children)if(Object.prototype.hasOwnProperty.call(I.children,D)&&v(C,I.children[D]))return!0;return!1}function f(){var K,B;let C=y.value.x+m.value.x,I=y.value.y+m.value.y;s.value==="x"?(C=((K=p.value)==null?void 0:K.x)||0,y.value.x=0):s.value==="y"&&(I=((B=p.value)==null?void 0:B.y)||0,y.value.y=0);const D=`translate3d(${Math.round(C)}px, ${Math.round(I)}px, 0px)`;a.value&&(a.value.style.transform=D),x.value.x=C,x.value.y=I}function T(){if(!i.value||!a.value)return null;const C=i.value.getBoundingClientRect(),I=a.value.getBoundingClientRect(),D={top:C.top<I.top,right:C.right>I.right,bottom:C.bottom>I.bottom,left:C.left<I.left};return D.top||(y.value.y-=I.top-C.top),D.bottom||(y.value.y-=I.bottom-C.bottom),D.right||(y.value.x-=I.right-C.right),D.left||(y.value.x-=I.left-C.left),f(),D}function F(C){C&&(p.value&&C.subtract(p.value),y.value.set(C),f(),T())}function k(C){d.value&&l.value&&(C.stopPropagation(),C.preventDefault(),F(ee.fromEvent(C,r.value)))}function g(){var C;d.value&&(d.value=!1,m.value.add(y.value),y.value.reset(),(C=a.value)==null||C.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",g))}function L(){!d.value&&r.value&&(d.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",k),document.addEventListener("mouseup",g))}function _(){if(a.value){const C=ee.getTransformInfo(a.value);m.value.set(C);return}m.value.reset()}function E(C){if(!o.value||C instanceof MouseEvent&&C.button===2)return;const I=C.target||C.srcElement;r.value!==void 0&&I&&!v(I,r.value)||l.value!==!1&&(document.body.click(),C.stopPropagation(),C.preventDefault(),p.value=ee.fromEvent(C,a.value),_(),L())}function N(C,I,D){if(l.value&&I){if(C)r.value=C;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)r.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const K=I.querySelector(t.dragHandle);K&&(r.value=K)}}a.value=I,i.value=D,r.value?(r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",E)):l.value=!1}}return{registerDraggle:N,resetTranslate:_}}function lt(t,n){if(t){const o=a=>{a.key.toLowerCase()===t.toLowerCase()&&n({event:a,key:t})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function Dt(t,n){const o=e.ref(t.enableEsc);let a=null;return o.value?(a=lt("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:a}):null}function jt(t,n){const o=e.ref(t.enableEnter);let a=null;return o.value?(a=lt("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:a}):null}const Pe=e.defineComponent({name:"FModal",props:Et,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(t,n){const o=e.ref(t.width||300),a=e.ref(t.height||200),l=e.ref(t.modelValue),s=e.ref(""),r=e.ref(t.class),i=e.ref(t.fitContent),d=e.ref(t.showHeader),p=e.ref(""),m=e.ref(t.showCloseButton),y=e.ref(t.showMaxButton),x=e.ref(!1),v=e.ref(t.dialogType),f=e.ref(t.src),T=e.ref(""),F=e.ref(t.showButtons),k=e.ref(t.title),g=e.ref(t.containment||null),L=e.ref();k.value==="错误提示"&&(k.value=le.LocaleService.getLocaleValue("messageBox.errorTitle"));const _=e.ref(!1);function E(h,j){const J=j?"accept":"cancel";Promise.resolve().then(()=>{var Z;return(Z=t.beforeClose)==null?void 0:Z.call(t,{closeType:J})}).then(Z=>{Z&&(l.value=!1,n.emit("update:modelValue",!1),j!=null&&n.emit(j?"accept":"cancel"),n.emit("closed",h))})}const N=[{name:"cancel",text:le.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:h=>{E(h,!1)}},{name:"accept",text:le.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:h=>{E(h,!0)}}],C=e.ref(t.buttons&&t.buttons.length?t.buttons:N),I=e.computed(()=>!!p.value),D=e.computed(()=>!!F.value&&!!C.value),K=e.ref(),B=e.ref(),W=e.ref(!1),{renderResizeBar:ie,maximize:te,restore:oe,boundingElement:A,resizedEventParam:S,allowDrag:c,unWindowResizeHandle:w,moveToCenter:R}=Pt(t),{registerDraggle:V}=Rt(t,n,c);function z(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function X(){const h=document.querySelectorAll(".farris-modal").length;(!h||h-1<=0)&&document.body.classList.remove("modal-open"),L.value&&L.value.classList.remove("show")}e.watch(()=>t.title,(h,j)=>{h!==j&&(k.value=h)}),e.watch(()=>t.modelValue,(h,j)=>{h!==j&&(l.value=h,l.value&&t.draggable&&e.nextTick(()=>{B.value&&!g.value&&(g.value=B.value.parentElement,A.value=g.value,V(K.value,B.value,A.value),R())}),h||(g.value&&(g.value=null),X())),l.value?_.value=z():(W.value=!1,c.value=t.draggable)}),e.watch(()=>t.showHeader,(h,j)=>{h!==j&&(d.value=h)}),e.watch(()=>t.showButtons,(h,j)=>{h!==j&&(F.value=h)}),e.watch(()=>S.value,(h,j)=>{const J=h||{},Z=j||{};JSON.stringify(J)!==JSON.stringify(Z)&&n.emit("resize",{newSize:h,oldSize:j,isMaximized:W.value})}),e.watch([()=>t.width,()=>t.height],(h,j)=>{(h[0]!==j[0]||h[1]!==j[1])&&(o.value=h[0]||500,a.value=h[1]||600)}),e.watch(()=>t.class,(h,j)=>{r.value=h});const ne=e.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),pe=e.computed(()=>{var J;const h={modal:!0,"farris-modal":!0,fade:!0};h["f-modal-fitContent"]=!!i.value,h.show=!!ne.value;const j=(J=t.maskClass)==null?void 0:J.split(" ");return j==null||j.reduce((Z,se)=>(Z[se]=!0,Z),h),h}),Be=e.computed(()=>{var J;const h={"modal-dialog":!0},j=(J=r.value)==null?void 0:J.split(" ");return j==null||j.reduce((Z,se)=>(Z[se]=!0,Z),h),h}),fe=()=>ve.isMobilePhone()&&!t.isMessager,Q=e.computed(()=>{const h=document.documentElement.clientWidth,j=document.documentElement.clientHeight,J=Math.min(o.value,h),Z=i.value?"auto":`${Math.min(a.value,j-10)}px`,se={position:"absolute",top:`${(window.innerHeight-parseInt(Z==="auto"?"0":Z))/2}px`,left:`${(window.innerWidth-J)/2}px`,width:`${J}px`,height:Z};return fe()&&(se.top="0px",se.left="0px",se.width=`${window.innerWidth}px`,se.height=`${window.innerHeight}px`),t.mask||(se.pointerEvents="auto"),se}),Ce=e.ref(ve.getMaxZIndex()||1050),ue=e.computed(()=>{const h={display:"block",overflow:"hidden"};return t.mask||(h.pointerEvents="none",h.backgroundColor="transparent"),_.value&&(h.backgroundColor="transparent"),h.zIndex=Ce.value,h}),ge=e.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value,"is-mobile":fe()})),De=e.computed(()=>{const h={display:d.value?"":"none"};return h["pointer-events"]=c.value?"auto":"none",h}),je=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:W.value})),Se=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":v.value==="iframe","f-utils-fill":!0}));function ke(){return{height:`${t.footerHeight||60}px`}}const He=e.computed(()=>{const h={textAlgin:T.value},j=ke();return Object.assign(h,j)});function Fe(h){if(h==null||h.stopPropagation(),W.value){W.value=!1,oe();return}te(),W.value=!0}async function Te(h,j){h.handle&&await h.handle(j,h)&&n.emit("closed",j)}function Le(h){h.width&&(o.value=h.width),h.height&&(a.value=h.height),h.buttons&&(C.value=h.buttons),h.title&&(k.value=h.title)}let Ne=null,q=null;e.onBeforeMount(()=>{_.value=z()}),e.onMounted(()=>{B.value&&!g.value&&(g.value=B.value.parentElement,A.value=g.value,V(K.value,B.value,A.value)),ne.value&&document.body.classList.add("modal-open"),Ne=Dt(t,n),q=jt(t,n)}),e.onUnmounted(()=>{w&&w(),Ne&&Ne.remove(),q&&q.remove()}),n.expose({modalElementRef:B,updateModalOptions:Le,close:E,maxDialog:Fe,isMaximized:W});function ze(){return e.createVNode("ul",null,[x.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),y.value&&e.createVNode("li",{onClick:Fe,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:je.value},null)]),m.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:h=>E(h,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function Oe(){return e.createVNode("div",{class:"modal-footer",style:He.value},[C.value&&C.value.map(h=>{const j=e.ref(h.disabled);return e.createVNode("button",{name:h.name,type:"button",disabled:j.value,class:h.class+(h.iconClass?" btn-icontext":""),onClick:J=>{Te(h,J)}},[!!h.iconClass&&e.createVNode("i",{class:h.iconClass},null),h.text])})])}function Ie(){return e.createVNode("div",{ref:K,class:"modal-header",style:De.value},[n.slots.headerTemplate?n.slots.headerTemplate():e.createVNode("div",{class:"modal-title"},[I.value&&e.createVNode("span",{class:p.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[k.value])]),e.createVNode("div",{class:"actions"},[ze()])])}function be(){return n.slots.footerTemplate?n.slots.footerTemplate():D.value&&Oe()}function me(h){if(h.stopPropagation(),t.allowClickMaskToClose){if(h.target!==L.value)return;E(h,!1)}}function Ae(){var h,j;return e.createVNode("div",{id:s.value,class:Be.value,style:Q.value,ref:B},[e.createVNode("div",{class:ge.value},[d.value&&Ie(),e.createVNode("div",{class:Se.value},[(j=(h=n.slots).default)==null?void 0:j.call(h),v.value==="iframe"&&e.createVNode("iframe",{title:s.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:f.value},null)]),be()]),!i.value&&B.value&&!W.value&&ie(B.value)])}function Me(h){return h||"body"}return e.watchEffect(()=>{ne.value&&(Ce.value=ve.getMaxZIndex()||1050)}),()=>e.createVNode(e.Teleport,{to:Me(t.host)},{default:()=>[ne.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>[e.createVNode("div",{ref:L,class:pe.value,style:ue.value,onClick:me},[Ae()])]})]})}});function st(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ht(t){const n=document.createElement("div");n.style.display="contents";const o=e.createApp({setup(a,l){e.onUnmounted(()=>{document.body.removeChild(n)});const s=e.ref(),r=e.ref(t.class||""),i=e.ref(!!t.showButtons),d=e.ref(!!t.showHeader),p=e.ref(t.showCloseButton==null?!0:t.showCloseButton),m=e.ref(!0),y=e.ref(t.title||""),x=t.acceptCallback||(()=>{}),v=t.rejectCallback||(()=>{}),f=t.closedCallback||(L=>{}),T=t.resizeHandle||(L=>{}),F=t.stopMoveHandle||(L=>{}),k=st(t),g=L=>{m.value=!1,o.unmount(),f(L)};return e.onMounted(()=>{}),l.expose({modalRef:s}),()=>e.createVNode(Pe,{ref:s,class:r.value,modelValue:m.value,"onUpdate:modelValue":L=>m.value=L,title:y.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":d.value,"show-buttons":i.value,"show-close-button":p.value,"show-max-button":!1,onAccept:x,onCancel:v,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:g,onResize:T,onStopMove:F},{default:()=>[k&&k(o)]})}});return document.body.appendChild(n),o.use(le.LocaleService.i18n),o.mount(n),o}class it{constructor(n){he(this,"appContext",null);he(this,"modalRef",e.ref());he(this,"activeModalIndex",e.ref(0));he(this,"modalRefs",{});he(this,"isUseEscCloseModal",e.ref(!1));he(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,o){const{width:a,height:l}={width:window.innerWidth,height:window.innerHeight};return a<n&&(n=a-14),l<o&&(o=l-14),{width:n,height:o}}static show(n){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return Ht(o)}close(n){var o,a;n?(a=n.value)==null||a.close():(o=this.getCurrentModal())==null||o.close()}open(n){const o=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const a=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),l=e.ref(!0),s=a.value.acceptCallback||(()=>{}),r=a.value.rejectCallback||(()=>{}),i=a.value.closedCallback||((E,N)=>{}),d=a.value.resizeHandle||(E=>{}),p=n.stopMoveHandle||(E=>{});let m;const y=st(a.value),x=E=>{var C;l.value=!1;const N=(C=E==null?void 0:E.target)==null?void 0:C.classList.contains("modal_close");i(E,this.isUseEscCloseModal.value?"esc":N?"icon":"button")},v=E=>{x(E),m&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,o),m=null,this.modalRef.value=null,this.modalRefs){const N=Object.keys(this.modalRefs).map(C=>Number(C));N.length>0?this.activeModalIndex.value=Math.max(...N):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},f=E=>{var N;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((N=this.activeModalInstance.value)==null||N.close(E==null?void 0:E.event))},{width:T,height:F}=a.value,k=this.adaptToWindow(T||500,F||320);Object.assign(a.value,k);const g=()=>e.createVNode(Pe,e.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":E=>l.value=E},a.value,{isMessager:a.value.class&&a.value.class.indexOf("modal-message")>-1,onAccept:s,onCancel:r,onClosed:v,onResize:d,onEsc:f,onStopMove:p}),{default:()=>[y&&y(this.app)]});return m=(E=>{const N=e.h(g,E);return N.appContext=this.appContext,e.render(N,o),N})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:E=>{a.value={...a.value,...E},m&&e.render(e.cloneVNode(m,{...a}),o)},destroy:v,modalRef:this.activeModalInstance,close:()=>this.close()}}}const rt=Symbol("FModalService");Pe.install=t=>{t.component(Pe.name,Pe);const n=new it(t);t.provide(rt,n),t.provide("FModalService",n)};function ut(t,n){function o(){const a=t.beforeOpen||t.beforeClickButton||null;let l=Promise.resolve(!0);if(a){const s=a(n.value);if(typeof s>"u")return l;typeof s=="boolean"?l=Promise.resolve(s):l=s}return l}return{judgeCanOpen:o}}function Lt(t,n,o,a,l){const s=e.ref(t.buttonBehavior),r=e.ref(t.popupOnInput),i=e.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:d}=ut(t,l),p=e.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),m=e.inject(rt,null),y=e.ref();async function x(T){if(await d()&&p.value){const F=!!n.slots.default;if(s.value==="Modal"){const k=t.modalOptions,g=m==null?void 0:m.open({...k,render:()=>n.slots.default&&n.slots.default()});y.value=g==null?void 0:g.modalRef}s.value==="Overlay"&&It.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),F&&s.value==="Popup"&&a.togglePopup(!0),F&&r.value&&a.hidePopup(),n.emit("clickButton",{origin:T,value:t.modelValue})}}function v(T){n.emit("mouseEnterIcon",T)}function f(T){n.emit("mouseLeaveIcon",T)}return{buttonGroupClass:i,onClickButton:x,onMouseEnterButton:v,onMouseLeaveButton:f,modalRef:y}}function zt(t,n,o,a,l,s){const r=e.ref(!1),i=e.computed(()=>t.enableClear&&!t.readonly&&!t.disable),{changeTextBoxValue:d,hasClearClass:p}=s;function m(f){r.value=f,p.value=f}e.watch(l,()=>{m(!!l.value)});function y(f){const T=!t.readonly&&!t.disable&&t.editable,F=!t.editable;f.stopPropagation(),(T||F)&&(d(""),l.value="",m(!r.value),n.emit("clear"))}function x(f){if(i.value){if(!o.value){m(!1);return}!t.disable&&!t.readonly&&m(!0)}}function v(f){i.value&&m(!1)}return{enableClearButton:i,showClearButton:r,onClearValue:y,onMouseEnterTextBox:x,onMouseLeaveTextBox:v}}function At(t,n,o,a,l){const s=e.computed(()=>t.popupOnInput),r=e.computed(()=>t.popupOnFocus),{shouldPopupContent:i,closeAllPopover:d}=l,p=e.ref(!1),m=e.computed(()=>t.enableTitle?o.value:""),y=e.computed(()=>(t.disable||t.readonly)&&!t.forcePlaceholder?"":t.placeholder),x=e.computed(()=>t.readonly||!t.editable),v=e.ref(!1),f=e.computed(()=>!t.disable&&v.value),T=e.computed(()=>({"text-left":t.textAlign==="left","text-center":t.textAlign==="center","text-right":t.textAlign==="right","form-control":!0,"f-utils-fill":!0})),F=e.computed(()=>({"input-group":!0,"f-state-disabled":t.disable,"f-state-editable":t.editable&&!t.disable&&!t.readonly,"f-state-readonly":t.readonly,"f-state-focus":f.value,"input-group--has-clear":t.enableClear&&p.value}));function k(B,W=!0){o.value=B,W&&(n.emit("change",B),n.emit("update:modelValue",B))}function g(B){i.value=!1,k(B,!0)}e.watch(()=>t.modelValue,B=>{o.value=B});function L(B){v.value=!1,n.emit("blur",B),B.stopPropagation()}function _(B){n.emit("click",B),d(),n.slots.default&&!t.disable&&!t.readonly&&t.popupOnClick&&l.togglePopup()}function E(B){!t.disable&&!t.readonly&&(v.value=!0,x.value||(n.emit("focus",B),r.value&&!i.value&&l.popup()))}function N(B){n.emit("input",B);const W=B.target.value;a.value=W,o.value!==W&&k(W,t.updateOn==="change"),s.value&&!i.value&&l.popup()}function C(B){B.target.tagName!=="INPUT"&&B.preventDefault(),B.stopPropagation()}function I(B){n.emit("keydown",B)}function D(B){B.key==="Enter"&&(s.value||r.value)&&l.hidePopup(),n.emit("keyup",B)}function K(B){const W=B.target.value;B.stopPropagation(),k(W)}return{hasFocusedTextBox:f,isTextBoxReadonly:x,textBoxClass:T,textBoxPlaceholder:y,textBoxTitle:m,inputGroupClass:F,hasClearClass:p,changeTextBoxValue:k,commitValue:g,onBlurTextBox:L,onClickTextBox:_,onFocusTextBox:E,onInput:N,onKeyDownTextBox:I,onKeyUpTextBox:D,onMouseDownTextBox:C,onTextBoxValueChange:K}}const xe="FarrisVue_PopoverInstancesKey";function Wt(t,n,o,a){const l=e.ref(),s=e.ref(!1),{judgeCanOpen:r}=ut(t,a);e.watch(()=>l.value,(v,f)=>{window[xe]=window[xe]||new WeakMap,v?window[xe].set(o.value,v):window[xe].delete(o.value)});function i(){if(window[xe]){const v=window[xe];document.querySelectorAll(".f-button-edit,.v-popover").forEach(f=>{const T=v.get(f);T&&f!==o.value&&!o.value.closest(".popover-fitcontent")&&T.hide()})}}function d(){const v=l.value;v&&v.show(o.value)}async function p(v=!1){if(!!n.slots.default){if(!v&&!s.value&&!await r())return;s.value=!s.value,s.value&&(await e.nextTick(),d())}}async function m(v=!1){if(!!n.slots.default){if(!v&&!await r())return;s.value=!0,await e.nextTick(),d()}}function y(){s.value=!1}function x(){s.value=!0,e.nextTick(()=>{d()})}return{hidePopup:y,showPopup:x,popup:m,shouldPopupContent:s,togglePopup:p,popoverRef:l,closeAllPopover:i}}function Gt(t,n,o){const a=e.ref(),{isTextBoxReadonly:l,textBoxClass:s,textBoxPlaceholder:r,textBoxTitle:i,onBlurTextBox:d,onClickTextBox:p,onFocusTextBox:m,onInput:y,onKeyDownTextBox:x,onKeyUpTextBox:v,onMouseDownTextBox:f,onTextBoxValueChange:T}=o,F=e.ref(t.id),{uuid:k}=ve.useGuid(),g=e.computed(()=>({}));e.onMounted(()=>{var C,I;t.selectOnCreated&&((C=a.value)==null||C.select()),t.focusOnCreated&&((I=a.value)==null||I.focus({preventScroll:!0})),F.value||(F.value="button-edit_"+k(8)),F.value=F.value+"-textbox"});const L=e.ref(!1),_=C=>{C.preventDefault(),L.value=!0},E=C=>{C.preventDefault(),L.value=!1,y(C)};function N(C){L.value||y(C)}return()=>e.createVNode("input",{id:t.id?t.id+"-textbox":void 0,ref:a,name:"input-group-value",autocomplete:t.autoComplete?"on":"off",class:s.value,style:g.value,disabled:t.disable,maxlength:t.maxLength,minlength:t.minLength,placeholder:r.value,readonly:l.value,tabindex:t.tabIndex,title:i.value,type:t.inputType,value:n.value,onBlur:d,onChange:T,onClick:p,onFocus:m,onInput:N,onKeydown:x,onKeyup:v,onMousedown:f,onCompositionend:E,onCompositionstart:_},null)}function $t(t,n,o){const a=e.ref(t.separator),l=e.computed(()=>t.readonly||t.disable),{changeTextBoxValue:s,onFocusTextBox:r,onBlurTextBox:i,onClickTextBox:d,textBoxPlaceholder:p}=o,m=e.computed(()=>n.value?n.value.split(a.value).map(f=>({name:f,selectable:!0})):[]);function y(f){s(f.map(T=>T.name).join(a.value),!0)}e.watch(()=>t.separator,f=>{a.value=f});const x=e.ref(!t.disable&&!t.readonly);e.watch([()=>t.disable,()=>t.readonly],([f,T],[F,k])=>{x.value=!f&&!T});function v(f){d(f)}return()=>e.createVNode(xt,{tabindex:t.tabIndex,onFocus:r,onBlur:i,id:`${t.id}-tag-editor`,class:"form-control",placeholder:p.value,data:m.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:y,onClick:v},null)}function Ut(t,n,o,a){const{buttonGroupClass:l,onClickButton:s,onMouseEnterButton:r,onMouseLeaveButton:i}=o,{enableClearButton:d,showClearButton:p,onClearValue:m}=a,y=e.ref(),x=nt.debounce(f=>{s(f)},t.buttonBehavior==="Modal"?0:200),v=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>e.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:l.value},[d.value&&e.withDirectives(e.createVNode("span",{class:"input-group-text input-group-clear",onClick:m,onMousedown:v},[e.createVNode("i",{class:"f-icon modal_close"},null)]),[[e.vShow,p.value]]),n.slots.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",onClick:x,onMouseenter:r,onMouseleave:i},[n.slots.buttonContent()]):t.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:y,onClick:f=>x(f),onMouseenter:r,onMouseleave:i},null):null]),buttonHandleElement:y}}function _t(t,n,o){const a=e.ref(t.popupMinWidth),{hidePopup:l,popoverRef:s}=o,r=()=>{n.emit("shown")};return()=>e.createVNode(Bt,{id:`${t.id}-popover`,ref:s,placement:t.placement,host:t.popupHost,"keep-width-with-reference":t.keepWidthWithReference,fitContent:!0,"right-boundary":t.popupRightBoundary,minWidth:a.value,class:t.popupClass,offsetX:t.popupOffsetX,onHidden:l,onShown:r,beforeClose:t.beforeClosePopup,limitContentBySpace:t.limitContentBySpace},{default:()=>{var i,d;return[(d=(i=n.slots).default)==null?void 0:d.call(i)]}})}const ct=e.defineComponent({name:"FButtonEdit",props:Mt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue"],setup(t,n){const o=e.ref(),a=e.ref(t.customClass),l=e.ref(t.modelValue),s=Wt(t,n,o,l),{shouldPopupContent:r,hidePopup:i,showPopup:d,togglePopup:p}=s,m=Lt(t,n,o,s,l),y=e.ref(""),x=At(t,n,l,y,s),{hasFocusedTextBox:v,commitValue:f,inputGroupClass:T}=x,F=zt(t,n,l,v,y,x),{onMouseEnterTextBox:k,onMouseLeaveTextBox:g}=F,L=e.ref(!1),_=e.computed(()=>{const A={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return a.value&&a.value.split(" ").reduce((S,c)=>(S[c]=!0,S),A),A}),E=e.computed(()=>({overflow:t.wrapText?"hidden":""})),N=e.computed(()=>({}));function C(){if(!t.multiSelect||t.inputType!=="tag"||!o.value)return 0;let A=0;const S=Array.from(o.value.querySelectorAll(".farris-tag-item"));return S&&S.length&&(A=S.map(c=>c.offsetTop).filter(c=>c>20).length),A}const I=e.ref(C());e.onUpdated(()=>{I.value=C()});function D(){return t.multiSelect&&t.inputType==="tag"?()=>e.createVNode(e.Fragment,null,[$t(t,l,x)(),!!I.value&&e.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[e.createVNode("span",{class:"multi--more-text"},[e.createTextVNode("+"),I.value])])]):Gt(t,l,x)}let K=D();e.watch([()=>t.multiSelect,()=>t.inputType],()=>{K=D()});const{renderButtonGroup:B,buttonHandleElement:W}=Ut(t,n,m,F),ie=_t(t,n,s),te=e.ref(r.value),oe={displayText:y,commitValue:f,elementRef:o,hidePopup:i,showPopup:d,popoverRef:s.popoverRef,shouldPopupContent:r,togglePopup:p,openDialog:()=>{W.value&&t.buttonBehavior==="Modal"&&W.value.click()},getModal:()=>{var A;return t.buttonBehavior==="Modal"?(A=m.modalRef.value)==null?void 0:A.value:null},getTextbox:()=>{var A;return(A=o.value)==null?void 0:A.querySelector("input")},forceClosePopup:()=>{te.value=!1,L.value=!0,r.value=!1}};return e.onMounted(()=>{o.value.componentInstance=oe,window.onresize=()=>{document.body.click()}}),e.onBeforeUnmount(()=>{var A;window.onresize=null,(A=window[xe])==null||A.delete(o.value)}),n.expose(oe),e.watch(()=>r.value,async(A,S)=>{if(L.value){te.value=A,L.value=!1;return}if(!A&&t.beforeClosePopup&&typeof t.beforeClosePopup=="function"){try{const c=await t.beforeClosePopup();te.value=!c,(!c||t.readonly)&&(r.value=!0)}catch(c){console.error("Error in beforeClosePopup:",c),te.value=S,r.value=S}return}te.value=A}),()=>{var A,S;return e.createVNode(e.Fragment,null,[e.createVNode("div",e.mergeProps(n.attrs,{ref:o,class:_.value,id:t.id?t.id:void 0,style:E.value}),[e.createVNode("div",{id:t.id?`${t.id}-input-group`:void 0,class:T.value,style:N.value,onMouseenter:k,onMouseleave:g},[(S=(A=n.slots).precontent)==null?void 0:S.call(A),K(),B()])]),te.value&&ie()])}}});ve.withInstall(ct);const qt={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:t=>!0},beforeEndEditCell:{type:Function,default:()=>!0},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[],halign:"center"}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},enableCommands:{type:Boolean,default:!1},enableFilter:{type:Boolean,default:!1},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},mergeCell:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:36,showEllipsis:!0,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1,keepSelectingOnClick:!0}},selectionValues:{type:Array,default:[]},selectOnEditingCell:{type:Boolean,default:!1},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showVerticallLines:{type:Boolean,default:!1},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!0},width:{type:Number,default:-1},emptyTemplate:{type:Object},beforeUpdate:{type:Function},fieldsResolver:{type:Function,default:(t,n)=>t},displayType:{type:String,default:"List"},fieldsCallback:{type:Function,default:()=>{}}};function Kt(t,n,o,a,l,s,r,i,d,p,m,y,x,v,f,T){const{isNull:F,isUndefined:k}=ve.useCommonUtils(),{totalItems:g,rawView:L}=T,{calculateCellPositionInRow:_,cellKey:E,cellPosition:N,rowKey:C,rowPosition:I,rowSpanCellPosition:D,groupCellPosition:K,summaryCellPosition:B}=r,{cellContentClass:W,cellContentPosition:ie,cellContentClassWithEllipsis:te}=s,{collpaseGroupIconClass:oe}=p,{gridCellClass:A,gridRowClass:S,onClickRow:c,onMouseoverRow:w,onMouseoutRow:R}=y,{onClickCell:V}=d,{toggleGroupRow:z}=x,{columnContext:X,hasLeftFixedColumn:ne,hasRightFixedColumn:pe}=i,{navigateOnKeyUp:Be,navigateOnKeyDown:fe}=m,Q=u=>(u||[]).some(H=>e.isVNode(H)?!(H.type===e.Comment||H.type===e.Fragment&&!Q(H.children)):!0)?u:null,Ce=u=>{var H,G,M;return((G=(H=u.column)==null?void 0:H.editor)==null?void 0:G.type)==="switch"||((M=u.column)==null?void 0:M.dataType)==="boolean"?{display:"flex",flexGrow:"1",overflow:"hidden"}:{flexGrow:"1"}},ue=e.reactive({"fv-grid-content-left-fixed":!0}),ge=e.reactive({"fv-grid-content-right-fixed":!0});e.watch([g,L],u=>{!u[0]&&!u[1].length?(ue["fv-grid-content-left-fixed"]=!1,ge["fv-grid-content-right-fixed"]=!1):(ue["fv-grid-content-left-fixed"]=!0,ge["fv-grid-content-right-fixed"]=!0)});const{gridDataStyle:De,gridMergedDataStyle:je,leftFixedGridDataStyle:Se,leftFixedGridMergedDataStyle:ke,rightFixedGridDataStyle:He,rightFixedGridMergedDataStyle:Fe}=v;function Te(u,H){H.collapse=!H.collapse,f.value=z(H.collapse?"collapse":"expand",H,f.value)}function Le(u,H){const G=[];if(u.groupField&&H[u.groupField]){for(let Y=0;Y<=u.layer;Y++)G.push(e.createVNode("div",{class:"fv-grid-group-row-icon",onClick:Ee=>Te(Ee,u)},[e.createVNode("span",{class:oe(u)},null)]));const M=u.data[u.groupField];G.push(e.createVNode("div",{ref:M.setRef,key:E(u,u.layer+1),class:"fv-grid-cell",style:K(M,H,u.layer)},[M.data])),Object.values(u.data).filter(Y=>Y.field!==u.groupField&&Y.colSpan!==0).forEach(Y=>{G.push(e.createVNode("div",{ref:Y.setRef,key:E(u,Y.index),class:"fv-grid-cell",style:N(u,Y,H)},[Y.data]))})}return G}function Ne(u,H,G){return u.layer>-1&&e.createVNode("div",{ref:u.setRef,key:C(u),class:S(u,G),style:I(u),onClick:M=>c(M,u),onMouseover:M=>w(M,u)},[Le(u,H)])}function q(u,H){const G=[];if(u.groupField&&H[u.groupField]){const M=u.data[u.groupField];G.push(e.createVNode("div",{ref:M.setRef,key:E(u,u.layer+1),class:"fv-grid-cell",style:B(M,H,u.layer)},[M.data]))}return G}function ze(u,H,G){return u.layer>-1&&e.createVNode("div",{ref:u.setRef,key:C(u),class:S(u,G),style:I(u),onClick:M=>c(M,u),onMouseover:M=>w(M,u)},[q(u,H)])}function Oe(u,H){var G,M,Y;return u.showTips&&typeof((G=u.column)==null?void 0:G.formatter)!="function"&&((M=u.column)==null?void 0:M.dataType)!=="commands"&&((Y=u.column)==null?void 0:Y.dataType)!=="setting"?e.createVNode("div",{class:te(u),title:u.formatter(u,H)},[u.formatter(u,H)]):e.createVNode("div",{class:te(u)},[u.formatter(u,H)])}function Ie(){return e.createVNode("div",null,[e.createTextVNode("******")])}function be(u){var M,Y;const H=!F(u.data)&&!k(u.data)?u.data.toString():u.data;return((Y=(M=u.column)==null?void 0:M.editor)==null?void 0:Y.showType)==="password"?Ie():u.showTips?e.createVNode("div",{class:te(u),title:H},[H]):e.createVNode("div",{class:te(u)},[H])}function me(u,H){return u.mode===P.CellMode.editing?e.createVNode("div",{style:Ce(u)},[u.getEditor(u)]):u.column.columnTemplate?u.column.columnTemplate(u,H):u.formatter?Oe(u,H):be(u)}function Ae(u){return e.createVNode(e.Fragment,null,null)}function Me(u,H,G){return e.createVNode("div",{ref:u.setRef,key:C(u),class:S(u,G),style:I(u),onClick:M=>c(M,u),onMouseover:M=>w(M,u),onMouseout:M=>R(M,u)},[t.displayType==="Card"?Ae():Object.values(u.data).filter(M=>H[M.field]&&M.rowSpan===1).map(M=>{var Ee,qe;const Y=n.slots.cellTemplate&&Q(n.slots.cellTemplate({cell:M,row:u}));return e.createVNode("div",{ref:M.setRef,key:E(u,M.index),class:A(M,u),style:N(u,M,H),onClick:We=>{V(We,M,u,M.column)},onKeydown:We=>Be(We,M)},[e.createVNode("div",{class:W(M),style:ie(M)},[Y?(qe=(Ee=n.slots).cellTemplate)==null?void 0:qe.call(Ee,{cell:M,row:u}):me(M,u)])])})])}const h=[Me,Ne,ze];function j(u,H){const G=_(u);return f.value.map((M,Y)=>h[M.type](M,G,Y))}function J(u){const H=_(u);return f.value.map(G=>Object.values(G.data).filter(M=>H[M.field]&&M.rowSpan>1).map(M=>e.createVNode("div",{key:E(G,M.index),class:"fv-grid-cell fv-grid-merged-cell",style:D(G,M,H)},[M.data])))}function Z(){return e.createVNode("div",{ref:a,class:ue},[e.createVNode("div",{class:"fv-grid-data",style:Se.value},[j(X.value.leftColumns.filter(u=>u.visible))]),e.createVNode("div",{class:"fv-grid-merge-date",style:ke.value},[J(X.value.leftColumns.filter(u=>u.visible))])])}function se(){return e.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[e.createVNode("div",{class:"fv-grid-data",style:De.value},[j(X.value.primaryColumns.filter(u=>u.visible))]),e.createVNode("div",{class:"fv-grid-merge-date",style:je.value},[J(X.value.primaryColumns.filter(u=>u.visible))])])}function Ze(){return e.createVNode("div",{ref:l,class:ge},[e.createVNode("div",{class:"fv-grid-data",style:He.value},[j(X.value.rightColumns.filter(u=>u.visible))]),e.createVNode("div",{class:"fv-grid-merge-date",style:Fe.value},[J(X.value.rightColumns.filter(u=>u.visible))])])}function Qe(){const u=[];return ne.value&&u.push(Z()),u.push(se()),pe.value&&u.push(Ze()),u}return{renderDataArea:Qe}}function Yt(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const dt=e.defineComponent({name:"FDataGrid",props:qt,emits:["changed","clickRow","doubleClickRow","selectionChange","unSelectItem","selectItem","enterUpInLastCell","selectAll","unSelectAll","pageIndexChanged","pageSizeChanged","beginEditCell","endEditCell","filterChanged","sortChanged","selectionUpdate","endEditRow","fieldsEvent"],setup(t,n){var yt,vt;const{isMobilePhone:o}=P.useMobile();e.ref();const a=0,l=e.ref(((yt=t.rowOption)==null?void 0:yt.height)||28),s=e.computed(()=>t.displayType==="Card"),r=e.ref(20),i=e.ref(t.columns),d=P.useIdentify(t),p=e.ref(),m=e.ref(),y=e.ref(),x=e.ref(),v=e.ref(),f=e.ref([]),T=e.ref(!1),F=e.ref(((vt=t.rowOption)==null?void 0:vt.wrapContent)||!1),k=P.useGroupData(t,d),g=P.useFilter(t,n),L=P.useHierarchy(t),{showLoading:_,renderLoading:E}=P.useLoading(t,p),N=P.useDataView(t,new Map,g,L,d),C=P.usePagination(t,N),{shouldRenderPagination:I}=C,D=P.useSelection(t,N,d,f,n),{showSelectAll:K,showSelection:B,selectedValues:W,updateSelectAllStatus:ie}=D,te=e.computed(()=>t.disabled),oe=e.computed(()=>t.virtualized?Math.min(N.dataView.value.length,r.value):N.dataView.value.length);e.computed(()=>t.loadingConfig.message);const{containerStyleObject:A}=P.useDataViewContainerStyle(t),S=P.useCommandColumn(t),{applyCommands:c}=S;c(i);const{applyColumnSetting:w,removeColumnSetting:R}=P.useSettingColumn(t);t.showSetting&&w(i);const V=P.useColumn(t,n),z=P.useSort(t),{applyColumnSorter:X,columnContext:ne,updateColumnRenderContext:pe}=V;X(N,z);const Be=P.useGroupColumn(t,ne),fe=P.useRow(t,n,D,d),Q=P.useEdit(t,n,d,fe,f),Ce=P.useVisualDataBound(t,N,l),ue=P.useVisualDataCell(t,Q,Ce),ge=P.useVisualDataRow(t,N,Q,L,d,Ce,ue,l),De=P.useVisualGroupRow(t,d,ue,ge),je=P.useVisualSummaryRow(t,d,ue,ge),Se=P.useVisualData(t,i,N,oe,a,ge,De,je),{getVisualData:ke}=Se,He=P.useCellContentStyle(ne),Fe=P.useCellPosition(t,ne,l,s),Te=P.useSidebar(t,D),{sidebarWidth:Le,showSidebarCheckBox:Ne}=Te,q=P.useVirtualScroll(t,N,f,ne,Se,oe,a,Le,l,s,Q),{onWheel:ze,dataGridWidth:Oe,viewPortHeight:Ie,viewPortWidth:be,resetScroll:me,updateVisibleRowsOnLatestVisibleScope:Ae}=q,Me=P.useFitColumn(t,ne,m,be,Be),{calculateColumnsSize:h}=Me,j=P.useFilterHistory(),J=P.useColumnFilter(m,v,N,j,q),Z=P.useDragColumn(t,n,V,N,Be,k,q),se=e.computed(()=>{const b={"fv-grid":!0,"fv-grid-bordered":t.showBorder,"fv-grid-horizontal-bordered":t.showHorizontalLines,"fv-datagrid-strip":t.showStripe};return ve.getCustomClass(b,t.customClass)}),Ze=e.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":T.value,"fv-grid-wrap-content":F.value})),Qe=e.computed(()=>{const b={};return q.shouldShowHorizontalScrollbar.value&&(b.paddingBottom="10px"),q.shouldShowVirticalScrollbar.value&&(b.paddingRight="10px"),b}),{renderGridHeader:u,renderGridColumnResizeOverlay:H,shouldShowHeader:G}=P.getColumnHeader(t,n,m,x,v,V,N,Z,J,g,j,Me,Be,D,Te,z,q,be,f),{renderDataGridPagination:M}=P.getPagination(t,n,N,q,C,D),{renderDataGridSidebar:Y}=P.getSidebar(t,fe,D,Te,q),{renderDisableMask:Ee}=P.getDisableMask(),{renderDataGridSummary:qe}=P.getSummary(t,N,V),{renderHorizontalScrollbar:We}=P.getHorizontalScrollbar(t,m,q),{renderVerticalScrollbar:yn}=P.getVerticalScrollbar(t,m,q),{renderFilterPanel:vn}=P.getFilterPanel(t,V,N,g,q),{renderGroupPanel:Cn}=P.getGroupPanel(t,N,Z,k,q);function bn(){var O,$;const b=Math.ceil(m.value.clientHeight/l.value);b>r.value&&(r.value=b,Ae()),Ie.value=((O=y.value)==null?void 0:O.clientHeight)||0,Oe.value=(($=m.value)==null?void 0:$.clientWidth)||0,h()}e.onMounted(()=>{m.value&&(r.value=Math.max(Math.ceil(m.value.clientHeight/l.value),r.value),f.value=ke(0,oe.value+a-1),St.useResizeObserver(m.value,bn),h(),e.nextTick(()=>{var b;m.value&&(Oe.value=m.value.clientWidth),y.value&&(be.value=y.value.clientWidth,Ie.value=y.value.clientHeight),(b=t.rowOption)!=null&&b.wrapContent&&f.value.forEach(O=>{var $;O.height=(($=O.ref)==null?void 0:$.getBoundingClientRect().height)||0,O.raw.__fv_data_height__=O.height,Ce.updateRowPosition(O,O.raw)})})),_.value&&E()}),e.onUnmounted(()=>{}),e.watch(be,()=>{});function wn(){const b=N.insertNewDataItem();return me(),b}function xn(){const b=N.insertNewDataItem(f.value.length);return me(),b}function Bn(b){Q.onEditingRow(b)}function Sn(b){N.removeDataItem(b),me()}function Tn(b){N.removeDataItemById(b),me()}function Nn(b){Q.acceptEditingRow(b)}function Mn(b){Q.cancelEditingRow(b)}function Vn(b){f.value.forEach((O,$)=>{const ae=N.visibleDataItems.value.findIndex(re=>re===O.raw),ce=f.value[$-1];b.forEach(re=>{O.data[re.field]?ue.updateCellByColumn(O.data[re.field],re,ce,O.raw):O.data[re.field]=ue.createCellByColumn(re,ae,O.raw,O,ce)})})}function et(b){b&&(i.value=b,Vn(i.value),c(i),t.showSetting&&w(i),pe(i.value),X(N,z),h())}function kn(){D.emptyCurrentRowId()}e.watch(()=>t.showSetting,(b,O)=>{b!==O&&et(i.value)});function ht(b){C.updatePagination(b)}function Fn(b,O){b&&(N.load(b),f.value=ke(0,oe.value+a-1),O!=null&&O.keepScrollTop?q.scrollTo(q.offsetY.value):me(),f.value.length||(W.value=[]),Ne.value&&K.value&&ie()),Q.clear()}e.watch(N.shouldGroupingData,(b,O)=>{b!==O&&(N.updateDataView(),me())}),e.watch(()=>t.columns,b=>{et(b)});function tt(b){fe.activeRowById(b)}function On(b,O={isCurrent:!0}){O!=null&&O.isCurrent&&tt(b),D.selectItemById(b)}function In(b){const O=d.idField.value,$=f.value.find(ae=>ae.raw[O]===b);$&&fe.clickRowItem($)}function En(b){const O=d.idField.value,$=f.value.find(ae=>ae.raw[O]===b);$&&fe.changeRow($)}function Pn(b){D.selectItemByIds(b)}function Rn(){return f.value}function Dn(b){return f.value.filter(O=>b.includes(O.raw[t.idField]))}function jn(){return D.getSelectedItems()}function Hn(){return D.getSelectionRow()}function Ln(){Q.endEditCell()}function zn(b,O={clearCurrent:!0}){O!=null&&O.clearCurrent&&tt(""),D.unSelectItemByIds(b)}function pt(){D.clearSelection()}function An(){return D.currentSelectedDataId.value}function Wn(){q.scrollToBottom()}function Gn(b){q.scrollToRowByIndex(b)}function $n(){D.keepSelectingOnPaging.value||pt(),N.updateVisibleDataSummary(f.value),ht({total:N.dataView.value.length,index:1})}function Un(b){D.updateSelectedValues(b)}function _n(b){D.removeSelectedValues(b)}const gt={activeRowById:tt,selectRowById:En,addNewDataItem:wn,addNewDataItemAtLast:xn,removeDataItem:Sn,removeDataItemById:Tn,editDataItem:Bn,acceptDataItem:Nn,cancelDataItem:Mn,selectItemById:On,selectItemByIds:Pn,updateColumns:et,updateDataSource:Fn,updatePagination:ht,getVisibleData:Rn,getVisibleDataByIds:Dn,getSelectedItems:jn,getSelectionRow:Hn,getCurrentRowId:An,endEditCell:Ln,clickRowItemById:In,clearSelection:pt,unSelectItemByIds:zn,scrollToBottom:Wn,scrollToRowByIndex:Gn,updateDerivedData:$n,emptyCurrentRowId:kn,updateSelectedValues:Un,removeSelectedValues:_n};n.expose(gt);const qn=P.useNavigation(t,n,gt,V,Q,f),{renderDataArea:Kn}=Kt(t,n,y,x,v,He,Fe,V,Q,k,qn,fe,Se,q,f,N),Yn=e.computed(()=>!f.value||!f.value.length),{renderEmpty:Xn}=P.getEmpty(t,n),Jn=e.computed(()=>({"d-flex":!0,"justify-content-between":I.value&&B.value,"justify-content-end":I.value&&!B.value,"position-relative":!0,"fv-datagrid-pagination":!0})),Zn=e.computed(()=>({"flex-direction":"row"})),Qn=e.computed(()=>({"d-flex":!0,"align-items-center":!0}));e.provide("dataGridContext",{useColumnComposition:V,dataView:N,useFilterComposition:g,useFitColumnComposition:Me,useSortComposition:z,useVirtualScrollComposition:q});function eo(b){let O;return e.createVNode(at,{class:"f-form-layout farris-form farris-form-controls-inline col-12 col-md-6 col-xl-3 col-el-2"},Yt(O=Object.keys(b.data).filter($=>{var ae,ce;return((ae=b.data[$].column)==null?void 0:ae.dataType)!==P.COMMAND_COLUMN_DATA_TYPE&&((ce=b.data[$].column)==null?void 0:ce.dataType)!==P.SETTING_COLUMN_DATA_TYPE}).map($=>{var ce,re;const ae=b.data[$];return e.createVNode("div",{class:"farris-group-wrap w-100"},[e.createVNode("div",{class:"form-group farris-form-group common-group"},[e.createVNode(at.FDynamicFormLabel,{text:(ce=ae.column)==null?void 0:ce.title,title:(re=ae.column)==null?void 0:re.title},null),e.createVNode("div",{class:"farris-input-wrap"},[ae.getEditor(ae)])])])}))?O:{default:()=>[O]})}function to(b,O){const $={},ae={},ce=[],re=[],Ct={};Object.keys(O.data).filter(Ve=>{var ye,Ge;return((ye=O.data[Ve].column)==null?void 0:ye.dataType)!==P.COMMAND_COLUMN_DATA_TYPE&&((Ge=O.data[Ve].column)==null?void 0:Ge.dataType)!==P.SETTING_COLUMN_DATA_TYPE}).forEach(Ve=>{var Ge,bt,wt;const ye=O.data[Ve];$[Ve]=ye.data,Q.endEditByCell(ye),ae[Ve]=ye.data,ce.push(ye.column),re.push(ye),Ct[Ve]=(wt=(bt=(Ge=ye.column)==null?void 0:Ge.editor)==null?void 0:bt.context)==null?void 0:wt.editor}),n.emit("endEditRow",{row:O,cells:re,columns:ce,oldValues:$,newValues:ae,editors:Ct}),Q.showRowEditPanel.value=!1}function no(){const b=D.currentSelectedDataId.value,O=f.value.find($=>$.raw[t.idField]===b);return O?e.createVNode(Tt,{showHeader:!1,modelValue:Q.showRowEditPanel.value,"onUpdate:modelValue":$=>Q.showRowEditPanel.value=$,width:600},{default:()=>eo(O),footerTemplate:()=>e.createVNode(e.Fragment,null,[e.createVNode(ot,{class:"mr-3",type:"secondary",onClick:$=>{Q.showRowEditPanel.value=!1}},{default:()=>[e.createTextVNode("取消")]}),e.createVNode(ot,{onClick:$=>{to($,O)}},{default:()=>[e.createTextVNode("确定")]})])}):null}return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{ref:p,class:se.value,style:A.value,onWheel:ze},[m.value&&t.enableFilter&&vn(),m.value&&Cn(),m.value&&G.value&&u(),e.createVNode("div",{ref:m,class:Ze.value,style:Qe.value,onTouchstart:b=>{b.stopPropagation(),T.value=!0,q.onTouchstartScrollThumb(b,m)},onTouchend:b=>{T.value=!1},onMouseover:b=>{b.stopPropagation(),T.value=!0},onMouseleave:b=>{b.stopPropagation(),T.value=!1}},[m.value&&Y(f),m.value&&Kn(),m.value&&Yn.value&&Xn(),m.value&&We(),m.value&&yn()]),m.value&&qe(),(I.value||B.value)&&e.createVNode("div",{class:Jn.value,style:Zn.value},[B.value&&e.createVNode("div",{class:Qn.value},[e.createVNode("div",null,["已选:"+W.value.length,e.createTextVNode(" 条")])]),I.value&&M()]),H(),te.value&&Ee()]),o()&&no()])}});ve.withInstall(dt);const Xt={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},showOkButton:{Type:Boolean,default:!0},showCancelButton:{Type:Boolean,default:!0},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"},buttons:{type:Object,default:[]}};function Ke(){return new DOMException("The request is not allowed","NotAllowedError")}async function Jt(t){if(!navigator.clipboard)throw Ke();return navigator.clipboard.writeText(t)}async function Zt(t){const n=document.createElement("span");n.textContent=t,n.style.whiteSpace="pre",n.style.webkitUserSelect="auto",n.style.userSelect="all",document.body.appendChild(n);const o=window.getSelection(),a=window.document.createRange();o==null||o.removeAllRanges(),a.selectNode(n),o==null||o.addRange(a);let l=!1;try{l=window.document.execCommand("copy")}finally{o==null||o.removeAllRanges(),window.document.body.removeChild(n)}if(!l)throw Ke()}async function Qt(t){try{await Jt(t)}catch(n){try{await Zt(t)}catch(o){throw o||n||Ke()}}}function en(){async function t(n){await Qt(n)}return{onCopy:t}}function tn(t,n,o,a){const l=e.ref(14),s=e.ref(140),r=e.ref(""),i=e.ref(a.value.length),d=e.computed(()=>a.value),p=e.computed(()=>({"font-size":`${l.value}px`,height:"100%"}));function m(y){if(y.currentTarget){const x=y.currentTarget.value||"";i.value=x.length}}return()=>e.createVNode(e.Fragment,null,[e.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:p.value,rows:"4",maxlength:s.value,onInput:y=>m(y)},[d.value]),e.createVNode("span",{class:"textarea-wordcount",title:r.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[i.value+" / "+s.value])])}function nn(t,n,o,a){const l=tn(t,n,o,a),s=new Map([["text-area",l]]);function r(i){return s.get(i)||null}return{getEditorRender:r}}function on(){const t=e.ref(!1),n=e.ref("复制成功");return{feedbackStyle:e.computed(()=>{const a={position:"absolute",left:"50%",top:"50%","min-width":"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease",padding:"0 10px"};return a.opacity=t.value?"0.8":"0",a.display=t.value?"":"none",a}),feedbackMessage:n,toShowFeedback:t}}function an(t,n){const o=n.getEditorRender(t.promptEditorType);return()=>o&&o()}function ln(t,n){function o(v){if(v==null)return 0;let f=0;for(let T=0;T<v.length;T++){const F=v.charCodeAt(T);F>=0&&F<=128?f++:f=f+2}return f}function a(v,f){if(v!==""&&v!==void 0&&v!==null){v=""+v;const T=v.length;let F="",k=0;for(let g=0;g<T;g++){const L=v.charAt(g);if(k++,encodeURI(L).length>4&&k++,F=F.concat(L),k>=f)return F=F.concat("..."),F}if(k<f)return v}return""}const l=e.computed(()=>!!t.value&&!!t.value.date),s=e.computed(()=>{const v=t.value&&t.value.date||"";return`${n.exception.happend} : ${v}`}),r=e.computed(()=>!!t.value&&!!t.value.detail),i=e.computed(()=>t.value?o(t.value.detail)>160:!1),d=e.ref(!1),p=e.computed(()=>d.value?n.exception.collapse:n.exception.expand),m=e.computed(()=>{const v=n.exception.detail+" : "+(t.value&&t.value.detail)||"";return d.value?v:a(v,160)}),y=e.computed(()=>({bottom:d.value?0:"2px"}));function x(){d.value=!d.value}return()=>e.createVNode("div",{class:"toast-msg-detail",style:"max-height: calc(100vh - 200px);overflow: auto;"},[l.value&&e.createVNode("div",null,[s.value]),r.value&&e.createVNode("div",{class:"exception_wrap"},[e.createVNode("div",{class:"exception_error_msg"},[e.createVNode("div",{innerHTML:m.value},null),i.value&&e.createVNode("span",{class:"exception_toggle_detail",style:y.value,onClick:x},[p.value])])])])}function sn(t){return()=>e.createVNode("p",{class:"toast-msg-detail",innerHTML:t.value,style:"max-height: calc(100vh - 200px);overflow: auto;"},null)}function rn(t,n,o,a,l){const s=e.ref(t.exceptionInfo),r=e.computed(()=>{const f=n.value==="question"?"warning":n.value,T={"f-icon":!0},F=`f-icon-${f}`;return T[F]=!0,T}),i=e.computed(()=>o.value||s.value&&s.value.message),d=e.computed(()=>a.value),p=e.computed(()=>!!a.value),m=e.computed(()=>!!s.value);function y(){return m.value?ln(s,l):p.value?sn(d):()=>null}const x=y(),v=e.computed(()=>l.locale==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:r.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[e.createVNode("p",{class:"toast-msg-title",innerHTML:i.value,style:v.value},null),x()])])}function un(t,n,o,a){const{onCopy:l}=n,{toShowFeedback:s}=o,r=e.ref(a.exception.copySuccess||"复制成功"),i=e.ref(a.exception.copy||"复制详细信息"),d=e.ref(t.exceptionInfo||{date:"",message:"",detail:""}),p=e.computed(()=>d.value&&d.value.detail||"");function m(y){l(p.value).catch(x=>{r.value=a.exception.copyFailed||"复制失败"}).finally(()=>{s.value=!0,setTimeout(()=>{s.value=!1},700)})}return()=>e.createVNode("span",{class:"copy-exception-info"},[e.createVNode("span",{onClick:m,style:"cursor: pointer;"},[i.value])])}function cn(t,n,o,a,l){const s=e.ref(t.type),r=e.ref(t.buttons),i=e.ref(t.exceptionInfo),d=e.ref(l.ok||t.okButtonText),p=e.ref(l.cancel||t.cancelButtonText),m=e.ref(t.showCancelButton),y=e.ref(t.showOkButton),x=e.computed(()=>!!(r.value&&r.value.length)),v=e.computed(()=>!!(i.value&&i.value.detail)),f=e.computed(()=>!(r.value&&r.value.length)&&(y.value||m.value)),T=un(t,o,a,l);d.value==="关闭"?d.value=l.close:d.value==="知道了"&&(d.value=l.exception.roger);function F(g){s.value==="question"&&n.emit("reject"),n.emit("close")}function k(g){s.value==="question"&&n.emit("accept"),n.emit("close")}return()=>e.createVNode("div",{class:"modal-footer"},[v.value&&T(),f.value&&m.value&&e.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:F},[p.value]),f.value&&y.value&&e.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:k},[d.value]),x.value&&r.value.length&&r.value.map(g=>e.createVNode("button",{type:"button",onClick:g.handle,class:g.class},[g.iconClass&&e.createVNode("span",{class:g.iconClass},null),g.text]))])}function dn(t){const{getLocaleValue:n}=le.LocaleService,o=le.LocaleService.getLocale();function a(l,s,r){return s===r?n(l):s}return{yes:a("messageBox.yes")||"是",no:a("messageBox.no")||"否",close:a("messageBox.close")||"关闭",ok:a("messageBox.ok",t.okButtonText,"确定")||"确定",cancel:a("messageBox.cancel",t.cancelButtonText,"取消")||"取消",title:a("messageBox.title")||"系统提示",errorTitle:a("messageBox.errorTitle")||"错误提示",exception:{expand:a("messageBox.exception.expand")||"展开",collapse:a("messageBox.exception.collapse")||"收起",happend:a("messageBox.exception.happend")||"发生时间",detail:a("messageBox.exception.detail")||"详细信息",copy:a("messageBox.exception.copy")||"复制详细信息",copySuccess:a("messageBox.exception.copySuccess")||"复制成功",copyFailed:a("messageBox.exception.copyFailed")||"复制失败",roger:a("messageBox.exception.roger")||"知道了"},locale:o}}const $e=e.defineComponent({name:"FMessageBox",props:Xt,emits:["accept","reject","close"],setup(t,n){const o=dn(t),a=e.ref(t.type),l=e.ref(t.title),s=e.ref(t.detail),r=e.computed(()=>{const k={"modal-tips":!0,"d-flex":!0,"flex-row":!0},g=`messager-type-${a.value}`;return k[g]=!0,k}),i=e.computed(()=>{const k={cursor:"default"};return a.value==="prompt"?k.padding="0.5rem 0.5rem 1rem 1.5rem":a.value==="error"&&(k.padding="0.5rem 1.5rem 1rem 1.5rem"),k}),d=en(),p=nn(t,a,l,s),m=on(),{feedbackStyle:y,feedbackMessage:x}=m;x.value=o.exception.copySuccess;function v(){return e.createVNode("div",{style:y.value},[x.value])}function f(){switch(a.value){case"prompt":return an(t,p);default:return rn(t,a,l,s,o)}}const T=f(),F=cn(t,n,d,m,o);return()=>e.createVNode("div",{class:"farris-messager"},[!t.exceptionInfo&&e.createVNode("div",{style:"height: 30px;width: 100%;position: absolute;",class:"messager-draggable"},null),e.createVNode("section",{class:r.value,style:i.value},[T()]),F(),v()])}}),de=class de{static show(n){const o=e.reactive({...n}),a=!1,l=o.type==="error"||o.type==="prompt",s=o.type==="error"?"错误提示":o.type==="prompt"&&o.title||"",r=o.acceptCallback||(()=>{}),i=o.rejectCallback||(()=>{});let d=null,p=new it(de.app);const m=()=>{d&&(d==null||d.destroy(),p=null)};return d=p==null?void 0:p.open({class:"modal-message modal-message-type-info",title:s,showButtons:a,showHeader:l,width:o.width||400,fitContent:!0,showMaxButton:!1,draggable:!0,dragHandle:".messager-draggable",render:()=>e.createVNode($e,e.mergeProps(o,{onAccept:r,onReject:i,onClose:m}),null)}),p==null?void 0:p.getCurrentModal()}static info(n,o){const a=e.reactive({type:"info",title:n,detail:o,okButtonText:"知道了",showCancelButton:!1});de.show(a)}static warning(n,o){const a=e.reactive({type:"warning",title:n,detail:o,okButtonText:"知道了",showCancelButton:!1});de.show(a)}static success(n,o){const a=e.reactive({type:"success",title:n,detail:o,okButtonText:"关闭",showCancelButton:!1});de.show(a)}static error(n,o,a){const l=e.reactive({width:500,type:"error",okButtonText:"关闭",showCancelButton:!1,exceptionInfo:{date:a,message:n,detail:o}});de.show(l)}static prompt(n,o){const a=e.reactive({type:"prompt",title:n,detail:o,okButtonText:"确定",cancelButtonText:"取消"});de.show(a)}static question(n,o,a,l){const s=e.reactive({type:"question",title:n,detail:o,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:a,rejectCallback:l});de.show(s)}};he(de,"app",null);let Re=de;$e.install=t=>{t.component($e.name,$e),Re.app=t,t.provide("FMessageBoxService",Re)};const fn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/mapping-editor.schema.json",title:"mapping-editor",description:"A Farris Input Component",type:"object",properties:{fromData:{type:"object",default:null},toData:{type:"object",default:null},disabled:{type:"boolean",default:!1},readonly:{type:"boolean",default:!1},title:{type:"string",default:"字段映射编辑器"},modalWidth:{type:"number",default:800},modalHeight:{type:"number",default:600},modelValue:{type:"object",default:null},editorParams:{type:"object",default:null},onMappingFieldsChanged:{type:"object",default:null}}},Ye={fromData:{type:Object,default:{}},toData:{type:Object,default:{}},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},title:{type:String,default:"字段映射编辑器"},modalWidth:{type:Number,default:600},modalHeight:{type:Number,default:500},modelValue:{type:Object,default:{}},editorParams:{type:Object,default:null},onMappingFieldsChanged:{type:Function,default:null},beforeOpen:{type:Function}},ft=Nt.createPropsResolver(Ye,fn),mn={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object},safeHtml:{type:Boolean,default:!0}},hn={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Xe=e.defineComponent({name:"Toast",props:hn,emits:["close","click"],setup:(t,n)=>{const o=e.ref(t.animate),a="fadeOut",l=e.computed(()=>t.options),s=e.ref(!1),r=e.computed(()=>l.value.title&&l.value.message),i=e.computed(()=>!l.value.title&&l.value.message),d=e.computed(()=>{const g={animated:s.value,toast:!0,"toast--only-content":!r.value};return g[t.animate]=!1,g[a]=s.value,g["toasty-type-"+l.value.type]=!0,l.value.theme&&(g[l.value.theme]=!0),g}),p=e.computed(()=>{const _=`f-icon-${l.value&&l.value.type?l.value.type.replace("toasty-type-",""):"default"}`,E={"f-icon":!0};return E[_]=!0,E}),m=e.computed(()=>l.value.title||l.value.message),y=e.computed(()=>t.showCloseButton),x=e.computed(()=>!!l.value.buttons||!!n.slots.default),v=e.computed(()=>le.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function f(g){g.stopPropagation(),g.preventDefault(),s.value=!1,setTimeout(()=>{n.emit("close",l.value)},200)}function T(g,L){}function F(g){return`f-preten-link ${g.customClass?g.customClass:""}`}e.watch(o,()=>{o.value});const k=()=>{var g;return e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((g=l.value.buttons)==null?void 0:g.map(L=>e.createVNode("span",{class:F(L),onClick:_=>void 0},[L.text]))),n.slots.default&&n.slots.default()])])};return()=>e.createVNode("div",{class:d.value,style:"min-height:44px"},[y.value&&e.createVNode("button",{title:le.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:f},[e.createVNode("span",{class:"f-icon modal_close"},null)]),m.value&&e.createVNode("section",{class:"modal-tips"},[!r.value&&e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:p.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[r.value&&e.createVNode(e.Fragment,null,[e.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:l.value.title},null),e.createVNode("p",{class:"toast-msg",innerHTML:l.value.message,style:v.value},null),x.value&&k()]),i.value&&(l.value.buttons?e.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[e.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:v.value,innerHTML:l.value.message},null),e.createVNode("div",{class:"after-toast-title text-right ml-auto"},[k()])]):e.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:v.value,innerHTML:l.value.message},null))])])])}}),Ue=e.defineComponent({name:"Notify",props:mn,emits:["close","empty"],setup(t,n){const o=e.computed(()=>({"farris-notify":!0})),a={left:12,right:12,top:20,bottom:12},l=e.ref(),s=e.ref(t.options),r=e.ref(t.showCloseButton),i=e.computed(()=>t.position||"bottom-right"),d=e.computed(()=>t.timeout!=null?t.timeout:3e3),p=e.computed(()=>{const x=t.bottom?t.bottom:a.bottom,v=t.top?t.top:a.top,f={transition:"all 0.2s ease",left:i.value.indexOf("left")>-1?`${t.left?t.left:a.left}px`:"",right:i.value.indexOf("right")>-1?`${t.right?t.right:a.right}px`:"",top:i.value.indexOf("top")>-1?`${v}px`:"",bottom:i.value.indexOf("bottom")>-1?`${x}px`:""};return i.value.indexOf("center")>-1&&(f.left="50%",f.marginLeft="calc(-24rem / 2)",i.value==="center-center"&&(f.top="50%",f.transform="translate(-50%, -50%)")),f});function m(x){n.emit("close")}d.value&&setTimeout(()=>{m()},d.value),n.expose({closeToast:m,container:l,notifyPosition:i});function y(x,v){m()}return()=>e.createVNode("div",{class:o.value,style:p.value,ref:l},[e.createVNode(Xe,{options:s.value,showCloseButton:r.value,animate:t.animate,onClose:x=>y(x,s.value)},null)])}});class pn{constructor(){he(this,"notifyRefs",[]);he(this,"globalConfig",e.reactive({}))}escapeAllHtml(n){if(typeof n!="string"||!n)return"";const o=document.createElement("div");return o.textContent=n||"",o.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g," ").replace(/\\r/g,"")}createNotifyInstance(n){const o=this,l=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),s=document.createElement("div");s.style.display="contents";const r=e.createApp({setup(){var p;const i=e.ref();function d(){i.value.container.style.transform="scale(0)",setTimeout(()=>{o.updateNotifyPositionForClose(l,i),r.unmount()},220)}if(l.position.indexOf("top")>-1){const m=o.getNotifyInstances(l.position),y=m[m.length-1];if(y){const x=y.value.container.getBoundingClientRect();l.top=x.bottom}}return l.safeHtml&&((p=l.options)!=null&&p.message)&&(l.options.message=o.escapeAllHtml(l.options.message)),e.onUnmounted(()=>{document.body.removeChild(s)}),e.onMounted(()=>{o.updateNotifyPositionForCreate(l,i)}),()=>e.createVNode(e.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[e.createVNode(Ue,e.mergeProps({ref:i},l,{onClose:d}),null)]})}});return r.provide("NotifyService",this),document.body.appendChild(s),r.use(le.LocaleService.i18n),r.mount(s),r}getNotifyInstances(n){return this.notifyRefs.filter(o=>o.value.notifyPosition===n)}updateNotifyPositionForCreate(n,o){if(this.notifyRefs&&this.notifyRefs.length){const a=window.innerHeight;n.position.indexOf("bottom")>-1&&this.getNotifyInstances(n.position).forEach(l=>{const s=l.value.container.getBoundingClientRect();l.value.container.style.bottom=s.height+a-s.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,o]}updateNotifyPositionForClose(n,o){const a=this.notifyRefs.indexOf(o);if(n.position.indexOf("top")>-1){const l=this.getNotifyInstances(n.position),s=l.indexOf(o);l.slice(s+1).forEach(r=>{r.value.container.style.top=r.value.container.offsetTop-r.value.container.offsetHeight+"px"})}a>-1&&this.notifyRefs.splice(a,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,o){let a="",l="",s,r,i;typeof o=="string"?a=o:o&&(a=o.message||"",l=o.title||"",r=o.position||null,i=o.showCloseButton!=null?o.showCloseButton:null,s=o.timeout!=null?o.timeout:null);const p={options:{type:n,message:a,title:l}};return r!=null&&(p.position=r),i!=null&&(p.showCloseButton=i),s!=null&&(p.timeout=s),p}info(n){const o=this.buildNotifyProps("info",n);return this.show(o)}success(n){const o=this.buildNotifyProps("success",n);return this.show(o)}warning(n){const o=this.buildNotifyProps("warning",n);return this.show(o)}error(n){const o=this.buildNotifyProps("error",n);return this.show(o)}close(n){n&&n.unmount()}closeAll(){this.notifyRefs.forEach(n=>{n==null||n.value.closeToast()}),this.notifyRefs.length=0}}const mt=Symbol("NOTIFY_SERVICE_TOKEN");Ue.install=t=>{t.component(Ue.name,Ue),t.component(Xe.name,Xe);const n=new pn;t.provide(mt,n),t.provide("FNotifyService",n)};function Je(t){return t.reduce((n,o)=>{var a;return n.push(o.data),(a=o.children)!=null&&a.length&&n.push(...Je(o.children)),n},[])}const _e=e.defineComponent({name:"FMappingEditor",props:Ye,emits:["submitModal","update:modelValue"],setup(t,n){const o='<i class="f-icon f-icon-lookup"></i>',a=e.ref(),l=e.ref(t.modelValue||{}),s=e.ref([]),r=e.ref(t.fromData.dataSource||[]),i=e.ref([]),d=t.fromData.repositoryToken?e.inject(t.fromData.repositoryToken):null,p=t.toData.repositoryToken?e.inject(t.toData.repositoryToken):null,m=e.inject(mt),y=S=>((S.raw.$type!=="SimpleField"||S.raw.selectable===!1)&&(S.disabled=!0),S),x=e.computed(()=>Je(r.value)),v=e.computed(()=>Je(i.value)),f=(S,c,w,R)=>{var X,ne;const V=((X=S.value.find(pe=>pe[R]===c))==null?void 0:X[w||"name"])||"",z=((ne=S.value.find(pe=>pe[R]===c))==null?void 0:ne[R||"code"])||"";return V&&z?`${V}[${z}]`:""},T=[{field:"sourceField",title:"数据源字段",dataType:"string",editor:{type:"combo-tree",data:r.value,idField:t.fromData.idField||"id",textField:t.fromData.textField||"name",valueField:t.fromData.valueField||"id",formatter:t.fromData.formatter,editorParams:t.fromData.editorParams,editable:t.fromData.editable||!1,searchFields:t.fromData.searchFields||[],customRowStatus:y,displayFormatter:t.fromData.displayFormatter},formatter:(S,c)=>f(x,c.raw.sourceField,t.fromData.textField,t.fromData.valueField)},{field:"targetField",title:"目标字段",dataType:"string",editor:{type:"combo-tree",data:i.value,idField:t.toData.idField||"id",textField:t.toData.textField||"name",valueField:t.toData.valueField||"id",formatter:t.toData.formatter,editorParams:t.toData.editorParams,multiSelect:!0,enableSearch:!0,editable:!1,searchFields:t.toData.searchFields||[],customRowStatus:y,displayFormatter:t.toData.displayFormatter},formatter:(S,c)=>c.raw.targetField?(c.raw.targetField.indexOf(",")>-1?c.raw.targetField.split(","):[c.raw.targetField]).map(R=>f(v,R,t.toData.textField,t.toData.valueField)).join(","):""}];function F(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function k(){let S=l.value||{};return typeof S=="string"&&(S=JSON.parse(S)),Object.keys(S).map(c=>({id:F(),sourceField:c,targetField:S[c]}))}const g=e.ref(k()),L=e.computed(()=>{var S;return`共 ${((S=g.value)==null?void 0:S.length)||0} 项`});function _(){a.value.endEditCell(),a.value.addNewDataItemAtLast()}function E(){return{sourceField:"",targetField:"",id:F()}}function N(){if(!s.value.length){m.warning("请选择要删除的映射字段!");return}a.value.endEditCell();const S=g.value.findIndex(z=>z.id===s.value[0].id);if(S===-1)return;const c=s.value[0].id;if(a.value.removeDataItemById(c),s.value=[],!g.value.length)return;const w=Math.min(S,g.value.length-1),R=g.value[w],V=R==null?void 0:R.id;V&&(a.value.selectItemById(V),s.value=[R])}function C(){Re.question("确定要清空所有映射字段吗?","",()=>{s.value=[],l.value={},g.value=[],a.value.updateDataSource(g.value)},()=>{})}function I(){const S={};return g.value.forEach(c=>{c.sourceField&&c.targetField&&(S[c.sourceField]=c.targetField)}),S}e.watch(()=>t.modelValue,S=>{l.value=S,g.value=k()});function D(){return g.value.filter(c=>!c.sourceField||!c.targetField).length}const K={title:t.title,fitContent:!1,height:t.modalHeight,width:t.modalWidth,minWidth:300,minHeight:200,showMaxButton:!0,buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:S=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:S=>{if(a.value.endEditCell(),D())return m.warning("请将映射字段填写完整!"),!1;const c=I();return l.value=c,n.emit("submitModal",c),n.emit("update:modelValue",c),t.onMappingFieldsChanged&&typeof t.onMappingFieldsChanged=="function"&&t.onMappingFieldsChanged(JSON.stringify(c)),!0}}],resizeable:!0,draggable:!0,closedCallback:(S,c)=>{(S.target.name==="cancel"||c==="icon"||c==="esc")&&(l.value=t.modelValue,g.value=k(),s.value=[])}};function B(S){s.value=S}function W(){var V,z;if(t.beforeOpen&&typeof t.beforeOpen=="function")return t.beforeOpen({fromDataSource:r,toDataSource:i,gridColumns:T});if(!((z=(V=t.editorParams)==null?void 0:V.propertyData)==null?void 0:z.helpId))return m==null||m.warning({message:"请先配置数据源!",position:"top-center"}),!1;const c=[],w=d?d.getData(t.editorParams):Promise.resolve(r.value);c.push(w),typeof t.toData.dataSource=="function"?i.value=t.toData.dataSource():i.value=t.toData.dataSource;const R=p?p.getData(t.editorParams):Promise.resolve(i.value);return c.push(R),Promise.all(c).then(([X,ne])=>(r.value=X,i.value=ne,T[0].editor.data=X,T[1].editor.data=ne,!0))}function ie(S,c){S.forEach(w=>{w.selectable=!c.includes(w.data.bindingPath),w.children&&ie(w.children,c)})}function te(S){const{column:c,rawData:w}=S,{field:R,editor:V}=c;if(R==="sourceField"&&V){const z=g.value.filter(X=>X.sourceField!==w.sourceField).map(X=>X.sourceField);ie(r.value,z),V.data=nt.cloneDeep(r.value)}return!0}const oe=e.computed(()=>s.value.length>0),A=e.computed(()=>g.value.length>0);return()=>e.createVNode(ct,{modelValue:L.value,"onUpdate:modelValue":S=>L.value=S,editable:!1,disabled:t.disabled,readonly:t.readonly,inputType:"text",enableClear:!1,buttonContent:o,buttonBehavior:"Modal",modalOptions:K,beforeOpen:W},{default:()=>[e.createVNode("div",{class:"h-100 d-flex flex-column"},[e.createVNode("div",{class:"px-2"},[e.createVNode("button",{class:"btn btn-primary",onClick:_},[e.createTextVNode("新增")]),e.createVNode("button",{class:"btn btn-secondary ml-2",disabled:!oe.value,onClick:N},[e.createTextVNode("删除")]),e.createVNode("button",{class:"btn btn-secondary ml-3",disabled:!A.value,onClick:C},[e.createTextVNode("清空")])]),e.createVNode("div",{class:" f-utils-fill p-2"},[e.createVNode(dt,{ref:a,pagination:{enable:!1},summary:{enable:!1},columnOption:{fitColumns:!0},editOption:{editMode:"cell"},rowNumber:!1,showBorder:!0,editable:"true",fit:!0,columns:T,data:g.value,newDataItem:E,onSelectionChange:B,beforeEditCell:te},null)])])]})}}),gn={install(t){t.component(_e.name,_e)},register(t,n,o,a){t["mapping-editor"]=_e,n["mapping-editor"]=ft}};U.MappingEditor=_e,U.default=gn,U.mappingEditorProps=Ye,U.propsResolver=ft,Object.defineProperties(U,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function($,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),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("@vueuse/core"),require("../data-view/index.umd.js"),require("../button/index.umd.js"),require("../drawer/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../dynamic-resolver/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../locale/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../tags/index.umd.js","lodash-es","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../button/index.umd.js","../drawer/index.umd.js","../dynamic-form/index.umd.js","../dynamic-resolver/index.umd.js"],e):($=typeof globalThis<"u"?globalThis:$||self,e($["mapping-editor"]={},$.Vue,$.locale,$.common,null,$.FTags,$.LodashES,$.FPopover,$.VueUseCore,$.dataView,$.FButton,$.FDrawer,$.FResponseForm,$.dynamicResolver))})(this,function($,e,oe,ve,no,wt,tt,xt,Bt,E,nt,St,ot,Tt){"use strict";var eo=Object.defineProperty;var to=($,e,oe)=>e in $?eo($,e,{enumerable:!0,configurable:!0,writable:!0,value:oe}):$[e]=oe;var pe=($,e,oe)=>to($,typeof e!="symbol"?e+"":e,oe);const Nt={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}},Mt={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Vt=e.defineComponent({name:"FOverlay",props:Mt,emits:["click"],setup(t,n){const o=e.ref(t.popupContentPosition),a=e.ref(t.host),l=e.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function s(i){n.emit("click"),i.preventDefault(),i.stopPropagation()}e.computed(()=>{const i=a.value;if(i){const f=i.getBoundingClientRect(),{left:d,top:g,height:C}=f;return{left:d,top:g+C}}return o.value});const r=e.computed(()=>({}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var i,f;return[e.createVNode("div",{class:"overlay-container",onClick:d=>s(d),style:l.value},[e.createVNode("div",{style:r.value},[(f=(i=n.slots).default)==null?void 0:f.call(i)])])]}})}});function kt(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ft(t){const n=document.createElement("div");n.style.display="contents";let o;const a=t.onClickCallback||(()=>{}),l=()=>{a(),o&&o.unmount()};return o=e.createApp({setup(){e.onUnmounted(()=>{document.body.removeChild(n)});const s=kt(t);return()=>e.createVNode(Vt,{"popup-content-position":t.popupPosition,host:t.host,onClick:l,backgroundColor:t.backgroundColor},{default:()=>[s&&s()]})}}),document.body.appendChild(n),o.mount(n),o}class Ot{static show(n){return Ft(n)}}const It={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 ee{constructor(n,o){this.x=n,this.y=o}static getTransformInfo(n){const a=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const l=parseInt(a[4],10),s=parseInt(a[5],10);return{x:l,y:s}}return{x:0,y:0}}static fromEvent(n,o=null){if(this.isMouseEvent(n))return new ee(n.clientX,n.clientY);if(o===null||n.changedTouches.length===1)return new ee(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let a=0;a<n.changedTouches.length;a++)if(n.changedTouches[a].target===o)return new ee(n.changedTouches[a].clientX,n.changedTouches[a].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 o=new ee(0,0);if(window){const a=window.getComputedStyle(n);if(a){const l=parseInt(a.getPropertyValue("left"),10),s=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(l)?0:l,o.y=isNaN(s)?0:s}return o}return null}static copy(n){return new ee(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 we{constructor(n,o){this.width=n,this.height=o}static getCurrent(n){const o=new we(0,0);if(window){const a=window.getComputedStyle(n);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(n){return new we(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Et(t,n){const o=e.ref(),a=e.ref(),l=e.ref(),s=e.ref(),r=e.ref(),i=e.ref(),f=e.ref(),d=e.ref(),g=e.ref(),C=e.ref(),B=e.ref(),h=e.ref(t.resizeable),p=e.ref(),M=e.ref(t.draggable),k=e.ref(!1);function F(){const c=a.value||document.body,b=window.getComputedStyle(c);if(!b||!o.value)return;const O=ee.getTransformInfo(o.value),I={};f.value&&(I.deltaL=o.value.offsetLeft-f.value.x,I.deltaT=o.value.offsetTop-f.value.y);const z=b.getPropertyValue("position");I.width=c.clientWidth,I.height=c.clientHeight,I.pr=parseInt(b.getPropertyValue("padding-right"),10),I.pb=parseInt(b.getPropertyValue("padding-bottom"),10),I.position=b.getPropertyValue("position"),z==="static"&&(c.style.position="relative"),I.translateX=O.x,I.translateY=O.y,C.value=I}function v(c){if(o.value){s.value=we.getCurrent(o.value),r.value=ee.getCurrent(o.value),i.value=s.value?we.copy(s.value):null,f.value=r.value?ee.copy(r.value):null,F();const b=c.target.getAttribute("type")||"";d.value={n:!!b.match(/n/),s:!!b.match(/s/),w:!!b.match(/w/),e:!!b.match(/e/)}}}function j(){var c,b,O,I;if(o.value){const z=o.value;d.value&&((d.value.n||d.value.s)&&((c=i.value)!=null&&c.height)&&(z.style.height=i.value.height+"px"),(d.value.w||d.value.e)&&((b=i.value)!=null&&b.width)&&(z.style.width=i.value.width+"px"),f.value&&((O=f.value)!=null&&O.x&&(z.style.left=f.value.x+"px"),(I=f.value)!=null&&I.y&&(z.style.top=f.value.y+"px")))}}function U(){const c=t.minHeight?t.minHeight:1,b=t.minWidth?t.minWidth:1;i.value&&f.value&&d.value&&s.value&&(i.value.height<c&&(i.value.height=c,d.value.n&&r.value&&(f.value.y=r.value.y+(s.value.height-c))),i.value.width<b&&(i.value.width=b,d.value.w&&r.value&&(f.value.x=r.value.x+(s.value.width-b))),t.maxHeight&&i.value.height>t.maxHeight&&(i.value.height=t.maxHeight,r.value&&d.value.n&&(f.value.y=r.value.y+(s.value.height-t.maxHeight))),t.maxWidth&&i.value.width>t.maxWidth&&(i.value.width=t.maxWidth,d.value.w&&r.value&&(f.value.x=r.value.x+(s.value.width-t.maxWidth))))}function w(){if(a.value){const c=C.value;if(f.value&&i.value&&d.value&&s.value){const b=c.width-c.pr-c.deltaL-c.translateX-f.value.x,O=c.height-c.pb-c.deltaT-c.translateY-f.value.y;d.value.n&&f.value.y+c.translateY<0&&r.value&&(f.value.y=-c.translateY,i.value.height=s.value.height+r.value.y+c.translateY),d.value.w&&f.value.x+c.translateX<0&&r.value&&(f.value.x=-c.translateX,i.value.width=s.value.width+r.value.x+c.translateX),i.value.width>b&&(i.value.width=b),i.value.height>O&&(i.value.height=O)}}}function L(c){if(!l.value||!s.value||!r.value||!d.value)return;c.subtract(l.value);const b=c.x,O=c.y;d.value.n?(f.value.y=r.value.y+O,i.value.height=s.value.height-O):d.value.s&&(i.value.height=s.value.height+O),d.value.e?i.value.width=s.value.width+b:d.value.w&&(i.value.width=s.value.width-b,f.value.x=r.value.x+b),w(),U(),j()}function y(c){if(!g.value)return;const b=ee.fromEvent(c);b&&L(b)}function T(){if(o.value){const{width:c,height:b,x:O,y:I}=o.value.getBoundingClientRect(),z=ee.getTransformInfo(o.value);return{size:{width:c,height:b},position:{x:O-z.x,y:I-z.y}}}return null}function A(c){if(o.value){const b=T();B.value=b}l.value=void 0,s.value=null,r.value=null,i.value=null,f.value=null,d.value=null,g.value=null,document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",A)}function q(){document.addEventListener("mousemove",y),document.addEventListener("mouseup",A)}function N(c){c instanceof MouseEvent&&c.button===2||M.value&&(document.body.click(),c.stopPropagation(),c.preventDefault(),l.value=ee.fromEvent(c),g.value=c.target,v(c),q())}function W(c){return o.value=c,h.value&&e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:b=>N(b)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:b=>N(b)},null)])}function se(c=!0){document.body.click();const b=a.value||document.body,O=we.getCurrent(b),I=o.value;c&&I&&(p.value=T(),p.value.transform=I.style.transform),O&&I&&(i.value=O,i.value.height-=14,i.value.width-=14,I.style.height=i.value.height+"px",I.style.width=i.value.width+"px",I.style.left="7px",I.style.top="7px",I.style.transform="",B.value={size:i.value,position:{x:0,y:0}},M.value=!1,k.value=!0)}function X(){var c,b;if(document.body.click(),p.value){const O={width:p.value.size.width||0,height:p.value.size.height||0},I={x:(window.innerWidth-O.width)/2,y:(window.innerHeight-O.height)/2};(c=i.value)==null||c.set(O),(b=f.value)==null||b.set(I);const z=o.value;z.style.height=O.height+"px",z.style.width=O.width+"px",z.style.left=`${I.x}px`,z.style.top=`${I.y}px`,z.style.transform="",B.value={size:O,position:I},M.value=t.draggable,k.value=!1}}function ie(){if(o.value){const c=we.getCurrent(o.value);if(c){const{width:b,height:O}=c;o.value.style.left=`${(window.innerWidth-b)/2}px`,o.value.style.top=`${(window.innerHeight-O)/2}px`,o.value.style.transform=""}}}function H(){const c=()=>{k.value?se(!1):ie(),document.body.click()};return window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}}const S=H();return{renderResizeBar:W,boundingElement:a,resizedEventParam:B,maximize:se,restore:X,allowDrag:M,isMaximized:k,unWindowResizeHandle:S,moveToCenter:ie}}function Pt(t,n,o){const a=e.ref(),l=e.ref(t.draggable),s=e.ref(t.lockAxis),r=e.ref(),i=e.ref(),f=e.ref(!1),d=e.ref(new ee(0,0)),g=e.ref(new ee(0,0)),C=e.ref(new ee(0,0)),B=e.ref(new ee(0,0));e.watch(()=>o.value,y=>{r.value.style.cursor=y?"move":"default"});function h(y,T){if(T.tagName==="BUTTON")return!1;if(T===y)return!0;for(const A in T.children)if(Object.prototype.hasOwnProperty.call(T.children,A)&&h(y,T.children[A]))return!0;return!1}function p(){var q,N;let y=C.value.x+g.value.x,T=C.value.y+g.value.y;s.value==="x"?(y=((q=d.value)==null?void 0:q.x)||0,C.value.x=0):s.value==="y"&&(T=((N=d.value)==null?void 0:N.y)||0,C.value.y=0);const A=`translate3d(${Math.round(y)}px, ${Math.round(T)}px, 0px)`;a.value&&(a.value.style.transform=A),B.value.x=y,B.value.y=T}function M(){if(!i.value||!a.value)return null;const y=i.value.getBoundingClientRect(),T=a.value.getBoundingClientRect(),A={top:y.top<T.top,right:y.right>T.right,bottom:y.bottom>T.bottom,left:y.left<T.left};return A.top||(C.value.y-=T.top-y.top),A.bottom||(C.value.y-=T.bottom-y.bottom),A.right||(C.value.x-=T.right-y.right),A.left||(C.value.x-=T.left-y.left),p(),A}function k(y){y&&(d.value&&y.subtract(d.value),C.value.set(y),p(),M())}function F(y){f.value&&l.value&&(y.stopPropagation(),y.preventDefault(),k(ee.fromEvent(y,r.value)))}function v(){var y;f.value&&(f.value=!1,g.value.add(C.value),C.value.reset(),(y=a.value)==null||y.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",v))}function j(){!f.value&&r.value&&(f.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",F),document.addEventListener("mouseup",v))}function U(){if(a.value){const y=ee.getTransformInfo(a.value);g.value.set(y);return}g.value.reset()}function w(y){if(!o.value||y instanceof MouseEvent&&y.button===2)return;const T=y.target||y.srcElement;r.value!==void 0&&T&&!h(T,r.value)||l.value!==!1&&(document.body.click(),y.stopPropagation(),y.preventDefault(),d.value=ee.fromEvent(y,a.value),U(),j())}function L(y,T,A){if(l.value&&T){if(y)r.value=y;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)r.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const q=T.querySelector(t.dragHandle);q&&(r.value=q)}}a.value=T,i.value=A,r.value?(r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",w)):l.value=!1}}return{registerDraggle:L,resetTranslate:U}}function at(t,n){if(t){const o=a=>{a.key.toLowerCase()===t.toLowerCase()&&n({event:a,key:t})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function Dt(t,n){const o=e.ref(t.enableEsc);let a=null;return o.value?(a=at("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:a}):null}function Rt(t,n){const o=e.ref(t.enableEnter);let a=null;return o.value?(a=at("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:a}):null}const Pe=e.defineComponent({name:"FModal",props:It,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(t,n){const o=e.ref(t.width||300),a=e.ref(t.height||200),l=e.ref(t.modelValue),s=e.ref(""),r=e.ref(t.class),i=e.ref(t.fitContent),f=e.ref(t.showHeader),d=e.ref(""),g=e.ref(t.showCloseButton),C=e.ref(t.showMaxButton),B=e.ref(!1),h=e.ref(t.dialogType),p=e.ref(t.src),M=e.ref(""),k=e.ref(t.showButtons),F=e.ref(t.title),v=e.ref(t.containment||null),j=e.ref();F.value==="错误提示"&&(F.value=oe.LocaleService.getLocaleValue("messageBox.errorTitle"));const U=e.ref(!1);function w(m,D){const Z=D?"accept":"cancel";Promise.resolve().then(()=>{var Q;return(Q=t.beforeClose)==null?void 0:Q.call(t,{closeType:Z})}).then(Q=>{Q&&(l.value=!1,n.emit("update:modelValue",!1),D!=null&&n.emit(D?"accept":"cancel"),n.emit("closed",m))})}const L=[{name:"cancel",text:oe.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:m=>{w(m,!1)}},{name:"accept",text:oe.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:m=>{w(m,!0)}}],y=e.ref(t.buttons&&t.buttons.length?t.buttons:L),T=e.computed(()=>!!d.value),A=e.computed(()=>!!k.value&&!!y.value),q=e.ref(),N=e.ref(),W=e.ref(!1),{renderResizeBar:se,maximize:X,restore:ie,boundingElement:H,resizedEventParam:S,allowDrag:c,unWindowResizeHandle:b,moveToCenter:O}=Et(t),{registerDraggle:I}=Pt(t,n,c);function z(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function Y(){const m=document.querySelectorAll(".farris-modal").length;(!m||m-1<=0)&&document.body.classList.remove("modal-open"),j.value&&j.value.classList.remove("show")}e.watch(()=>t.title,(m,D)=>{m!==D&&(F.value=m)}),e.watch(()=>t.modelValue,(m,D)=>{m!==D&&(l.value=m,l.value&&t.draggable&&e.nextTick(()=>{N.value&&!v.value&&(v.value=N.value.parentElement,H.value=v.value,I(q.value,N.value,H.value),O())}),m||(v.value&&(v.value=null),Y())),l.value?U.value=z():(W.value=!1,c.value=t.draggable)}),e.watch(()=>t.showHeader,(m,D)=>{m!==D&&(f.value=m)}),e.watch(()=>t.showButtons,(m,D)=>{m!==D&&(k.value=m)}),e.watch(()=>S.value,(m,D)=>{const Z=m||{},Q=D||{};JSON.stringify(Z)!==JSON.stringify(Q)&&n.emit("resize",{newSize:m,oldSize:D,isMaximized:W.value})}),e.watch([()=>t.width,()=>t.height],(m,D)=>{(m[0]!==D[0]||m[1]!==D[1])&&(o.value=m[0]||500,a.value=m[1]||600)}),e.watch(()=>t.class,(m,D)=>{r.value=m});const ae=e.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),ue=e.computed(()=>{var Z;const m={modal:!0,"farris-modal":!0,fade:!0};m["f-modal-fitContent"]=!!i.value,m.show=!!ae.value;const D=(Z=t.maskClass)==null?void 0:Z.split(" ");return D==null||D.reduce((Q,le)=>(Q[le]=!0,Q),m),m}),fe=e.computed(()=>{var Z;const m={"modal-dialog":!0},D=(Z=r.value)==null?void 0:Z.split(" ");return D==null||D.reduce((Q,le)=>(Q[le]=!0,Q),m),m}),te=()=>ve.isMobilePhone()&&!t.isMessager,Be=e.computed(()=>{const m=document.documentElement.clientWidth,D=document.documentElement.clientHeight,Z=Math.min(o.value,m),Q=i.value?"auto":`${Math.min(a.value,D-10)}px`,le={position:"absolute",top:`${(window.innerHeight-parseInt(Q==="auto"?"0":Q))/2}px`,left:`${(window.innerWidth-Z)/2}px`,width:`${Z}px`,height:Q};return te()&&(le.top="0px",le.left="0px",le.width=`${window.innerWidth}px`,le.height=`${window.innerHeight}px`),t.mask||(le.pointerEvents="auto"),le}),me=e.ref(ve.getMaxZIndex()||1050),ge=e.computed(()=>{const m={display:"block",overflow:"hidden"};return t.mask||(m.pointerEvents="none",m.backgroundColor="transparent"),U.value&&(m.backgroundColor="transparent"),m.zIndex=me.value,m}),Se=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value,"is-mobile":te()})),Re=e.computed(()=>{const m={display:f.value?"":"none"};return m["pointer-events"]=c.value?"auto":"none",m}),Te=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:W.value})),Fe=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":h.value==="iframe","f-utils-fill":!0}));function je(){return{height:`${t.footerHeight||60}px`}}const He=e.computed(()=>{const m={textAlgin:M.value},D=je();return Object.assign(m,D)});function Ce(m){if(m==null||m.stopPropagation(),W.value){W.value=!1,ie();return}X(),W.value=!0}async function Le(m,D){m.handle&&await m.handle(D,m)&&n.emit("closed",D)}function ze(m){m.width&&(o.value=m.width),m.height&&(a.value=m.height),m.buttons&&(y.value=m.buttons),m.title&&(F.value=m.title)}let _=null,Ne=null;e.onBeforeMount(()=>{U.value=z()}),e.onMounted(()=>{N.value&&!v.value&&(v.value=N.value.parentElement,H.value=v.value,I(q.value,N.value,H.value)),ae.value&&document.body.classList.add("modal-open"),_=Dt(t,n),Ne=Rt(t,n)}),e.onUnmounted(()=>{b&&b(),_&&_.remove(),Ne&&Ne.remove()}),n.expose({modalElementRef:N,updateModalOptions:ze,close:w,maxDialog:Ce,isMaximized:W});function Oe(){return e.createVNode("ul",null,[B.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),C.value&&e.createVNode("li",{onClick:Ce,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:Te.value},null)]),g.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:m=>w(m,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function Ie(){return e.createVNode("div",{class:"modal-footer",style:He.value},[y.value&&y.value.map(m=>{const D=e.ref(m.disabled);return e.createVNode("button",{name:m.name,type:"button",disabled:D.value,class:m.class+(m.iconClass?" btn-icontext":""),onClick:Z=>{Le(m,Z)}},[!!m.iconClass&&e.createVNode("i",{class:m.iconClass},null),m.text])})])}function be(){return e.createVNode("div",{ref:q,class:"modal-header",style:Re.value},[n.slots.headerTemplate?n.slots.headerTemplate():e.createVNode("div",{class:"modal-title"},[T.value&&e.createVNode("span",{class:d.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[F.value])]),e.createVNode("div",{class:"actions"},[Oe()])])}function he(){return n.slots.footerTemplate?n.slots.footerTemplate():A.value&&Ie()}function Ae(m){if(m.stopPropagation(),t.allowClickMaskToClose){if(m.target!==j.value)return;w(m,!1)}}function Me(){var m,D;return e.createVNode("div",{id:s.value,class:fe.value,style:Be.value,ref:N},[e.createVNode("div",{class:Se.value},[f.value&&be(),e.createVNode("div",{class:Fe.value},[(D=(m=n.slots).default)==null?void 0:D.call(m),h.value==="iframe"&&e.createVNode("iframe",{title:s.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:p.value},null)]),he()]),!i.value&&N.value&&!W.value&&se(N.value)])}function Ve(m){return m||"body"}return e.watchEffect(()=>{ae.value&&(me.value=ve.getMaxZIndex()||1050)}),()=>e.createVNode(e.Teleport,{to:Ve(t.host)},{default:()=>[ae.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>[e.createVNode("div",{ref:j,class:ue.value,style:ge.value,onClick:Ae},[Me()])]})]})}});function lt(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function jt(t){const n=document.createElement("div");n.style.display="contents";const o=e.createApp({setup(a,l){e.onUnmounted(()=>{document.body.removeChild(n)});const s=e.ref(),r=e.ref(t.class||""),i=e.ref(!!t.showButtons),f=e.ref(!!t.showHeader),d=e.ref(t.showCloseButton==null?!0:t.showCloseButton),g=e.ref(!0),C=e.ref(t.title||""),B=t.acceptCallback||(()=>{}),h=t.rejectCallback||(()=>{}),p=t.closedCallback||(j=>{}),M=t.resizeHandle||(j=>{}),k=t.stopMoveHandle||(j=>{}),F=lt(t),v=j=>{g.value=!1,o.unmount(),p(j)};return e.onMounted(()=>{}),l.expose({modalRef:s}),()=>e.createVNode(Pe,{ref:s,class:r.value,modelValue:g.value,"onUpdate:modelValue":j=>g.value=j,title:C.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":i.value,"show-close-button":d.value,"show-max-button":!1,onAccept:B,onCancel:h,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:v,onResize:M,onStopMove:k},{default:()=>[F&&F(o)]})}});return document.body.appendChild(n),o.use(oe.LocaleService.i18n),o.mount(n),o}class st{constructor(n){pe(this,"appContext",null);pe(this,"modalRef",e.ref());pe(this,"activeModalIndex",e.ref(0));pe(this,"modalRefs",{});pe(this,"isUseEscCloseModal",e.ref(!1));pe(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,o){const{width:a,height:l}={width:window.innerWidth,height:window.innerHeight};return a<n&&(n=a-14),l<o&&(o=l-14),{width:n,height:o}}static show(n){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return jt(o)}close(n){var o,a;n?(a=n.value)==null||a.close():(o=this.getCurrentModal())==null||o.close()}open(n){const o=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const a=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),l=e.ref(!0),s=a.value.acceptCallback||(()=>{}),r=a.value.rejectCallback||(()=>{}),i=a.value.closedCallback||((w,L)=>{}),f=a.value.resizeHandle||(w=>{}),d=n.stopMoveHandle||(w=>{});let g;const C=lt(a.value),B=w=>{var y;l.value=!1;const L=(y=w==null?void 0:w.target)==null?void 0:y.classList.contains("modal_close");i(w,this.isUseEscCloseModal.value?"esc":L?"icon":"button")},h=w=>{B(w),g&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,o),g=null,this.modalRef.value=null,this.modalRefs){const L=Object.keys(this.modalRefs).map(y=>Number(y));L.length>0?this.activeModalIndex.value=Math.max(...L):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},p=w=>{var L;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((L=this.activeModalInstance.value)==null||L.close(w==null?void 0:w.event))},{width:M,height:k}=a.value,F=this.adaptToWindow(M||500,k||320);Object.assign(a.value,F);const v=()=>e.createVNode(Pe,e.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":w=>l.value=w},a.value,{isMessager:a.value.class&&a.value.class.indexOf("modal-message")>-1,onAccept:s,onCancel:r,onClosed:h,onResize:f,onEsc:p,onStopMove:d}),{default:()=>[C&&C(this.app)]});return g=(w=>{const L=e.h(v,w);return L.appContext=this.appContext,e.render(L,o),L})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:w=>{a.value={...a.value,...w},g&&e.render(e.cloneVNode(g,{...a}),o)},destroy:h,modalRef:this.activeModalInstance,close:()=>this.close()}}}const it=Symbol("FModalService");Pe.install=t=>{t.component(Pe.name,Pe);const n=new st(t);t.provide(it,n),t.provide("FModalService",n)};function rt(t,n){function o(){const a=t.beforeOpen||t.beforeClickButton||null;let l=Promise.resolve(!0);if(a){const s=a(n.value);if(typeof s>"u")return l;typeof s=="boolean"?l=Promise.resolve(s):l=s}return l}return{judgeCanOpen:o}}function Ht(t,n,o,a,l){const s=e.ref(t.buttonBehavior),r=e.ref(t.popupOnInput),i=e.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=rt(t,l),d=e.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),g=e.inject(it,null),C=e.ref();async function B(M){if(await f()&&d.value){const k=!!n.slots.default;if(s.value==="Modal"){const F=t.modalOptions,v=g==null?void 0:g.open({...F,render:()=>n.slots.default&&n.slots.default()});C.value=v==null?void 0:v.modalRef}s.value==="Overlay"&&Ot.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),k&&s.value==="Popup"&&a.togglePopup(!0),k&&r.value&&a.hidePopup(),n.emit("clickButton",{origin:M,value:t.modelValue})}}function h(M){n.emit("mouseEnterIcon",M)}function p(M){n.emit("mouseLeaveIcon",M)}return{buttonGroupClass:i,onClickButton:B,onMouseEnterButton:h,onMouseLeaveButton:p,modalRef:C}}function Lt(t,n,o,a,l,s){const r=e.ref(!1),i=e.computed(()=>t.enableClear&&!t.readonly&&!t.disable),{changeTextBoxValue:f,hasClearClass:d}=s;function g(p){r.value=p,d.value=p}e.watch(l,()=>{g(!!l.value)});function C(p){const M=!t.readonly&&!t.disable&&t.editable,k=!t.editable;p.stopPropagation(),(M||k)&&(f(""),l.value="",g(!r.value),n.emit("clear"))}function B(p){if(i.value){if(!o.value){g(!1);return}!t.disable&&!t.readonly&&g(!0)}}function h(p){i.value&&g(!1)}return{enableClearButton:i,showClearButton:r,onClearValue:C,onMouseEnterTextBox:B,onMouseLeaveTextBox:h}}function zt(t,n,o,a,l){const s=e.computed(()=>t.popupOnInput),r=e.computed(()=>t.popupOnFocus),{shouldPopupContent:i,closeAllPopover:f}=l,d=e.ref(!1),g=e.computed(()=>t.enableTitle?o.value:""),C=e.computed(()=>(t.disable||t.readonly)&&!t.forcePlaceholder?"":t.placeholder),B=e.computed(()=>t.readonly||!t.editable),h=e.ref(!1),p=e.computed(()=>!t.disable&&h.value),M=e.computed(()=>({"text-left":t.textAlign==="left","text-center":t.textAlign==="center","text-right":t.textAlign==="right","form-control":!0,"f-utils-fill":!0})),k=e.computed(()=>({"input-group":!0,"f-state-disabled":t.disable,"f-state-editable":t.editable&&!t.disable&&!t.readonly,"f-state-readonly":t.readonly,"f-state-focus":p.value,"input-group--has-clear":t.enableClear&&d.value}));function F(N,W=!0){o.value=N,W&&(n.emit("change",N),n.emit("update:modelValue",N))}function v(N){i.value=!1,F(N,!0)}e.watch(()=>t.modelValue,N=>{o.value=N});function j(N){h.value=!1,n.emit("blur",N),N.stopPropagation()}function U(N){n.emit("click",N),f(),n.slots.default&&!t.disable&&!t.readonly&&t.popupOnClick&&l.togglePopup()}function w(N){!t.disable&&!t.readonly&&(h.value=!0,B.value||(n.emit("focus",N),r.value&&!i.value&&l.popup()))}function L(N){n.emit("input",N);const W=N.target.value;a.value=W,o.value!==W&&F(W,t.updateOn==="change"),s.value&&!i.value&&l.popup()}function y(N){N.target.tagName!=="INPUT"&&N.preventDefault(),N.stopPropagation()}function T(N){n.emit("keydown",N)}function A(N){N.key==="Enter"&&(s.value||r.value)&&l.hidePopup(),n.emit("keyup",N)}function q(N){const W=N.target.value;N.stopPropagation(),F(W)}return{hasFocusedTextBox:p,isTextBoxReadonly:B,textBoxClass:M,textBoxPlaceholder:C,textBoxTitle:g,inputGroupClass:k,hasClearClass:d,changeTextBoxValue:F,commitValue:v,onBlurTextBox:j,onClickTextBox:U,onFocusTextBox:w,onInput:L,onKeyDownTextBox:T,onKeyUpTextBox:A,onMouseDownTextBox:y,onTextBoxValueChange:q}}const xe="FarrisVue_PopoverInstancesKey";function At(t,n,o,a){const l=e.ref(),s=e.ref(!1),{judgeCanOpen:r}=rt(t,a);e.watch(()=>l.value,(h,p)=>{window[xe]=window[xe]||new WeakMap,h?window[xe].set(o.value,h):window[xe].delete(o.value)});function i(){if(window[xe]){const h=window[xe];document.querySelectorAll(".f-button-edit,.v-popover").forEach(p=>{const M=h.get(p);M&&p!==o.value&&!o.value.closest(".popover-fitcontent")&&M.hide()})}}function f(){const h=l.value;h&&h.show(o.value)}async function d(h=!1){if(!!n.slots.default){if(!h&&!s.value&&!await r())return;s.value=!s.value,s.value&&(await e.nextTick(),f())}}async function g(h=!1){if(!!n.slots.default){if(!h&&!await r())return;s.value=!0,await e.nextTick(),f()}}function C(){s.value=!1}function B(){s.value=!0,e.nextTick(()=>{f()})}return{hidePopup:C,showPopup:B,popup:g,shouldPopupContent:s,togglePopup:d,popoverRef:l,closeAllPopover:i}}function Wt(t,n,o){const a=e.ref(),{isTextBoxReadonly:l,textBoxClass:s,textBoxPlaceholder:r,textBoxTitle:i,onBlurTextBox:f,onClickTextBox:d,onFocusTextBox:g,onInput:C,onKeyDownTextBox:B,onKeyUpTextBox:h,onMouseDownTextBox:p,onTextBoxValueChange:M}=o,k=e.ref(t.id),{uuid:F}=ve.useGuid(),v=e.computed(()=>({}));e.onMounted(()=>{var y,T;t.selectOnCreated&&((y=a.value)==null||y.select()),t.focusOnCreated&&((T=a.value)==null||T.focus({preventScroll:!0})),k.value||(k.value="button-edit_"+F(8)),k.value=k.value+"-textbox"});const j=e.ref(!1),U=y=>{y.preventDefault(),j.value=!0},w=y=>{y.preventDefault(),j.value=!1,C(y)};function L(y){j.value||C(y)}return()=>e.createVNode("input",{id:t.id?t.id+"-textbox":void 0,ref:a,name:"input-group-value",autocomplete:t.autoComplete?"on":"off",class:s.value,style:v.value,disabled:t.disable,maxlength:t.maxLength,minlength:t.minLength,placeholder:r.value,readonly:l.value,tabindex:t.tabIndex,title:i.value,type:t.inputType,value:n.value,onBlur:f,onChange:M,onClick:d,onFocus:g,onInput:L,onKeydown:B,onKeyup:h,onMousedown:p,onCompositionend:w,onCompositionstart:U},null)}function Gt(t,n,o){const a=e.ref(t.separator),l=e.computed(()=>t.readonly||t.disable),{changeTextBoxValue:s,onFocusTextBox:r,onBlurTextBox:i,onClickTextBox:f,textBoxPlaceholder:d}=o,g=e.computed(()=>n.value?n.value.split(a.value).map(p=>({name:p,selectable:!0})):[]);function C(p){s(p.map(M=>M.name).join(a.value),!0)}e.watch(()=>t.separator,p=>{a.value=p});const B=e.ref(!t.disable&&!t.readonly);e.watch([()=>t.disable,()=>t.readonly],([p,M],[k,F])=>{B.value=!p&&!M});function h(p){f(p)}return()=>e.createVNode(wt,{tabindex:t.tabIndex,onFocus:r,onBlur:i,id:`${t.id}-tag-editor`,class:"form-control",placeholder:d.value,data:g.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:C,onClick:h},null)}function $t(t,n,o,a){const{buttonGroupClass:l,onClickButton:s,onMouseEnterButton:r,onMouseLeaveButton:i}=o,{enableClearButton:f,showClearButton:d,onClearValue:g}=a,C=e.ref(),B=tt.debounce(p=>{s(p)},t.buttonBehavior==="Modal"?0:200),h=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>e.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:l.value},[f.value&&e.withDirectives(e.createVNode("span",{class:"input-group-text input-group-clear",onClick:g,onMousedown:h},[e.createVNode("i",{class:"f-icon modal_close"},null)]),[[e.vShow,d.value]]),n.slots.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",onClick:B,onMouseenter:r,onMouseleave:i},[n.slots.buttonContent()]):t.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:C,onClick:p=>B(p),onMouseenter:r,onMouseleave:i},null):null]),buttonHandleElement:C}}function Ut(t,n,o){const a=e.ref(t.popupMinWidth),{hidePopup:l,popoverRef:s}=o,r=()=>{n.emit("shown")};return()=>e.createVNode(xt,{id:`${t.id}-popover`,ref:s,placement:t.placement,host:t.popupHost,"keep-width-with-reference":t.keepWidthWithReference,fitContent:!0,"right-boundary":t.popupRightBoundary,minWidth:a.value,class:t.popupClass,offsetX:t.popupOffsetX,onHidden:l,onShown:r,beforeClose:t.beforeClosePopup,limitContentBySpace:t.limitContentBySpace},{default:()=>{var i,f;return[(f=(i=n.slots).default)==null?void 0:f.call(i)]}})}const ut=e.defineComponent({name:"FButtonEdit",props:Nt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","shown"],setup(t,n){const o=e.ref(),a=e.ref(t.customClass),l=e.ref(t.modelValue),s=At(t,n,o,l),{shouldPopupContent:r,hidePopup:i,showPopup:f,togglePopup:d}=s,g=Ht(t,n,o,s,l),C=e.ref(""),B=zt(t,n,l,C,s),{hasFocusedTextBox:h,commitValue:p,inputGroupClass:M}=B,k=Lt(t,n,l,h,C,B),{onMouseEnterTextBox:F,onMouseLeaveTextBox:v}=k,j=e.ref(!1),U=e.computed(()=>{const H={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return a.value&&a.value.split(" ").reduce((S,c)=>(S[c]=!0,S),H),H}),w=e.computed(()=>({overflow:t.wrapText?"hidden":""})),L=e.computed(()=>({}));function y(){if(!t.multiSelect||t.inputType!=="tag"||!o.value)return 0;let H=0;const S=Array.from(o.value.querySelectorAll(".farris-tag-item"));return S&&S.length&&(H=S.map(c=>c.offsetTop).filter(c=>c>20).length),H}const T=e.ref(y());e.onUpdated(()=>{T.value=y()});function A(){return t.multiSelect&&t.inputType==="tag"?()=>e.createVNode(e.Fragment,null,[Gt(t,l,B)(),!!T.value&&e.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[e.createVNode("span",{class:"multi--more-text"},[e.createTextVNode("+"),T.value])])]):Wt(t,l,B)}let q=A();e.watch([()=>t.multiSelect,()=>t.inputType],()=>{q=A()});const{renderButtonGroup:N,buttonHandleElement:W}=$t(t,n,g,k),se=Ut(t,n,s),X=e.ref(r.value),ie={displayText:C,commitValue:p,elementRef:o,hidePopup:i,showPopup:f,popoverRef:s.popoverRef,shouldPopupContent:r,togglePopup:d,openDialog:()=>{W.value&&t.buttonBehavior==="Modal"&&W.value.click()},getModal:()=>{var H;return t.buttonBehavior==="Modal"?(H=g.modalRef.value)==null?void 0:H.value:null},getTextbox:()=>{var H;return(H=o.value)==null?void 0:H.querySelector("input")},forceClosePopup:()=>{X.value=!1,j.value=!0,r.value=!1}};return e.onMounted(()=>{o.value.componentInstance=ie,window.onresize=()=>{document.body.click()}}),e.onBeforeUnmount(()=>{var H;window.onresize=null,(H=window[xe])==null||H.delete(o.value)}),n.expose(ie),e.watch(()=>r.value,async(H,S)=>{if(j.value){X.value=H,j.value=!1;return}if(!H&&t.beforeClosePopup&&typeof t.beforeClosePopup=="function"){try{const c=await t.beforeClosePopup();X.value=!c,(!c||t.readonly)&&(r.value=!0)}catch(c){console.error("Error in beforeClosePopup:",c),X.value=S,r.value=S}return}X.value=H}),()=>{var H,S;return e.createVNode(e.Fragment,null,[e.createVNode("div",e.mergeProps(n.attrs,{ref:o,class:U.value,id:t.id?t.id:void 0,style:w.value}),[e.createVNode("div",{id:t.id?`${t.id}-input-group`:void 0,class:M.value,style:L.value,onMouseenter:F,onMouseleave:v},[(S=(H=n.slots).precontent)==null?void 0:S.call(H),q(),N()])]),X.value&&se()])}}});ve.withInstall(ut);const qt={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:t=>!0},beforeEndEditCell:{type:Function,default:()=>!0},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[],halign:"center"}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},enableCommands:{type:Boolean,default:!1},enableFilter:{type:Boolean,default:!1},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},mergeCell:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:36,showEllipsis:!0,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1,keepSelectingOnClick:!0}},selectionValues:{type:Array,default:[]},selectOnEditingCell:{type:Boolean,default:!1},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showVerticallLines:{type:Boolean,default:!1},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!0},width:{type:Number,default:-1},emptyTemplate:{type:Object},beforeUpdate:{type:Function}};function _t(t,n,o,a,l,s,r,i,f,d,g,C,B,h,p,M){const{isNull:k,isUndefined:F}=ve.useCommonUtils(),{totalItems:v,rawView:j}=M,{calculateCellPositionInRow:U,cellKey:w,cellPosition:L,rowKey:y,rowPosition:T,rowSpanCellPosition:A,groupCellPosition:q,summaryCellPosition:N}=r,{cellContentClass:W,cellContentPosition:se,cellContentClassWithEllipsis:X}=s,{collpaseGroupIconClass:ie}=d,{gridCellClass:H,gridRowClass:S,onClickRow:c,onMouseoverRow:b,onMouseoutRow:O}=C,{onClickCell:I}=f,{toggleGroupRow:z}=B,{columnContext:Y,hasLeftFixedColumn:ae,hasRightFixedColumn:ue}=i,{navigateOnKeyUp:fe,navigateOnKeyDown:te}=g,Be=u=>(u||[]).some(R=>e.isVNode(R)?!(R.type===e.Comment||R.type===e.Fragment&&!Be(R.children)):!0)?u:null,me=u=>{var R,G,V;return((G=(R=u.column)==null?void 0:R.editor)==null?void 0:G.type)==="switch"||((V=u.column)==null?void 0:V.dataType)==="boolean"?{display:"flex",flexGrow:"1",overflow:"hidden"}:{flexGrow:"1"}},ge=e.reactive({"fv-grid-content-left-fixed":!0}),Se=e.reactive({"fv-grid-content-right-fixed":!0});e.watch([v,j],u=>{!u[0]&&!u[1].length?(ge["fv-grid-content-left-fixed"]=!1,Se["fv-grid-content-right-fixed"]=!1):(ge["fv-grid-content-left-fixed"]=!0,Se["fv-grid-content-right-fixed"]=!0)});const{gridDataStyle:Re,gridMergedDataStyle:Te,leftFixedGridDataStyle:Fe,leftFixedGridMergedDataStyle:je,rightFixedGridDataStyle:He,rightFixedGridMergedDataStyle:Ce}=h;function Le(u,R){R.collapse=!R.collapse,p.value=z(R.collapse?"collapse":"expand",R,p.value)}function ze(u,R){const G=[];if(u.groupField&&R[u.groupField]){for(let J=0;J<=u.layer;J++)G.push(e.createVNode("div",{class:"fv-grid-group-row-icon",onClick:Ee=>Le(Ee,u)},[e.createVNode("span",{class:ie(u)},null)]));const V=u.data[u.groupField];G.push(e.createVNode("div",{ref:V.setRef,key:w(u,u.layer+1),class:"fv-grid-cell",style:q(V,R,u.layer)},[V.data])),Object.values(u.data).filter(J=>J.field!==u.groupField&&J.colSpan!==0).forEach(J=>{G.push(e.createVNode("div",{ref:J.setRef,key:w(u,J.index),class:"fv-grid-cell",style:L(u,J,R)},[J.data]))})}return G}function _(u,R,G){return u.layer>-1&&e.createVNode("div",{ref:u.setRef,key:y(u),class:S(u,G),style:T(u),onClick:V=>c(V,u),onMouseover:V=>b(V,u)},[ze(u,R)])}function Ne(u,R){const G=[];if(u.groupField&&R[u.groupField]){const V=u.data[u.groupField];G.push(e.createVNode("div",{ref:V.setRef,key:w(u,u.layer+1),class:"fv-grid-cell",style:N(V,R,u.layer)},[V.data]))}return G}function Oe(u,R,G){return u.layer>-1&&e.createVNode("div",{ref:u.setRef,key:y(u),class:S(u,G),style:T(u),onClick:V=>c(V,u),onMouseover:V=>b(V,u)},[Ne(u,R)])}function Ie(u,R){var G,V,J;return u.showTips&&typeof((G=u.column)==null?void 0:G.formatter)!="function"&&((V=u.column)==null?void 0:V.dataType)!=="commands"&&((J=u.column)==null?void 0:J.dataType)!=="setting"?e.createVNode("div",{class:X(u),title:u.formatter(u,R)},[u.formatter(u,R)]):e.createVNode("div",{class:X(u)},[u.formatter(u,R)])}function be(){return e.createVNode("div",null,[e.createTextVNode("******")])}function he(u){var V,J;const R=!k(u.data)&&!F(u.data)?u.data.toString():u.data;return((J=(V=u.column)==null?void 0:V.editor)==null?void 0:J.showType)==="password"?be():u.showTips?e.createVNode("div",{class:X(u),title:R},[R]):e.createVNode("div",{class:X(u)},[R])}function Ae(u,R){return u.mode===E.CellMode.editing?e.createVNode("div",{style:me(u)},[u.getEditor(u)]):u.column.columnTemplate?u.column.columnTemplate(u,R):u.formatter?Ie(u,R):he(u)}function Me(u,R,G){return e.createVNode("div",{ref:u.setRef,key:y(u),class:S(u,G),style:T(u),onClick:V=>c(V,u),onMouseover:V=>b(V,u),onMouseout:V=>O(V,u)},[Object.values(u.data).filter(V=>R[V.field]&&V.rowSpan===1).map(V=>{var Ee,_e;const J=n.slots.cellTemplate&&Be(n.slots.cellTemplate({cell:V,row:u}));return e.createVNode("div",{ref:V.setRef,key:w(u,V.index),class:H(V,u),style:L(u,V,R),onClick:We=>I(We,V,u,V.column),onKeydown:We=>fe(We,V)},[e.createVNode("div",{class:W(V),style:se(V)},[J?(_e=(Ee=n.slots).cellTemplate)==null?void 0:_e.call(Ee,{cell:V,row:u}):Ae(V,u)])])})])}const Ve=[Me,_,Oe];function m(u,R){const G=U(u);return p.value.map((V,J)=>Ve[V.type](V,G,J))}function D(u){const R=U(u);return p.value.map(G=>Object.values(G.data).filter(V=>R[V.field]&&V.rowSpan>1).map(V=>e.createVNode("div",{key:w(G,V.index),class:"fv-grid-cell fv-grid-merged-cell",style:A(G,V,R)},[V.data])))}function Z(){return e.createVNode("div",{ref:a,class:ge},[e.createVNode("div",{class:"fv-grid-data",style:Fe.value},[m(Y.value.leftColumns.filter(u=>u.visible))]),e.createVNode("div",{class:"fv-grid-merge-date",style:je.value},[D(Y.value.leftColumns.filter(u=>u.visible))])])}function Q(){return e.createVNode("div",{ref:o,class:"fv-grid-content-primary"},[e.createVNode("div",{class:"fv-grid-data",style:Re.value},[m(Y.value.primaryColumns.filter(u=>u.visible))]),e.createVNode("div",{class:"fv-grid-merge-date",style:Te.value},[D(Y.value.primaryColumns.filter(u=>u.visible))])])}function le(){return e.createVNode("div",{ref:l,class:Se},[e.createVNode("div",{class:"fv-grid-data",style:He.value},[m(Y.value.rightColumns.filter(u=>u.visible))]),e.createVNode("div",{class:"fv-grid-merge-date",style:Ce.value},[D(Y.value.rightColumns.filter(u=>u.visible))])])}function Ze(){const u=[];return ae.value&&u.push(Z()),u.push(Q()),ue.value&&u.push(le()),u}return{renderDataArea:Ze}}function Kt(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const ct=e.defineComponent({name:"FDataGrid",props:qt,emits:["changed","clickRow","doubleClickRow","selectionChange","unSelectItem","selectItem","enterUpInLastCell","selectAll","unSelectAll","pageIndexChanged","pageSizeChanged","beginEditCell","endEditCell","filterChanged","sortChanged","selectionUpdate","endEditRow"],setup(t,n){var gt,yt;const{isMobilePhone:o}=E.useMobile();e.ref();const a=0,l=((gt=t.rowOption)==null?void 0:gt.height)||28,s=e.ref(20),r=e.ref(t.columns),i=E.useIdentify(t),f=e.ref(),d=e.ref(),g=e.ref(),C=e.ref(),B=e.ref(),h=e.ref([]),p=e.ref(!1),M=e.ref(((yt=t.rowOption)==null?void 0:yt.wrapContent)||!1),k=E.useGroupData(t,i),F=E.useFilter(t,n),v=E.useHierarchy(t),{showLoading:j,renderLoading:U}=E.useLoading(t,f),w=E.useDataView(t,new Map,F,v,i),L=E.usePagination(t,w),{shouldRenderPagination:y}=L,T=E.useSelection(t,w,i,h,n),{showSelectAll:A,showSelection:q,selectedValues:N,updateSelectAllStatus:W}=T,se=e.computed(()=>t.disabled),X=e.computed(()=>t.virtualized?Math.min(w.dataView.value.length,s.value):w.dataView.value.length);e.computed(()=>t.loadingConfig.message);const{containerStyleObject:ie}=E.useDataViewContainerStyle(t),H=E.useCommandColumn(t),{applyCommands:S}=H;S(r);const{applyColumnSetting:c,removeColumnSetting:b}=E.useSettingColumn(t);t.showSetting&&c(r);const O=E.useColumn(t,n),I=E.useSort(t),{applyColumnSorter:z,columnContext:Y,updateColumnRenderContext:ae}=O;z(w,I);const ue=E.useGroupColumn(t,Y),fe=E.useRow(t,n,T,i),te=E.useEdit(t,n,i,fe,h),Be=E.useVisualDataBound(t),me=E.useVisualDataCell(t,te,Be),ge=E.useVisualDataRow(t,w,te,v,i,Be,me),Se=E.useVisualGroupRow(t,i,me,ge),Re=E.useVisualSummaryRow(t,i,me,ge),Te=E.useVisualData(t,r,w,X,a,ge,Se,Re),{getVisualData:Fe}=Te,je=E.useCellContentStyle(Y),He=E.useCellPosition(t,Y),Ce=E.useSidebar(t,T),{sidebarWidth:Le,showSidebarCheckBox:ze}=Ce,_=E.useVirtualScroll(t,w,h,Y,Te,X,a,Le,te),{onWheel:Ne,dataGridWidth:Oe,viewPortHeight:Ie,viewPortWidth:be,resetScroll:he,updateVisibleRowsOnLatestVisibleScope:Ae}=_,Me=E.useFitColumn(t,Y,d,be,ue),{calculateColumnsSize:Ve}=Me,m=E.useFilterHistory(),D=E.useColumnFilter(d,B,w,m,_),Z=E.useDragColumn(t,n,O,w,ue,k,_),Q=e.computed(()=>{const x={"fv-grid":!0,"fv-grid-bordered":t.showBorder,"fv-grid-horizontal-bordered":t.showHorizontalLines,"fv-datagrid-strip":t.showStripe};return ve.getCustomClass(x,t.customClass)}),le=e.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":p.value,"fv-grid-wrap-content":M.value})),Ze=e.computed(()=>{const x={};return _.shouldShowHorizontalScrollbar.value&&(x.paddingBottom="10px"),_.shouldShowVirticalScrollbar.value&&(x.paddingRight="10px"),x}),{renderGridHeader:u,renderGridColumnResizeOverlay:R,shouldShowHeader:G}=E.getColumnHeader(t,n,d,C,B,O,w,Z,D,F,m,Me,ue,T,Ce,I,_,be,h),{renderDataGridPagination:V}=E.getPagination(t,n,w,_,L,T),{renderDataGridSidebar:J}=E.getSidebar(t,fe,T,Ce,_),{renderDisableMask:Ee}=E.getDisableMask(),{renderDataGridSummary:_e}=E.getSummary(t,w,O),{renderHorizontalScrollbar:We}=E.getHorizontalScrollbar(t,d,_),{renderVerticalScrollbar:gn}=E.getVerticalScrollbar(t,d,_),{renderFilterPanel:yn}=E.getFilterPanel(t,O,w,F,_),{renderGroupPanel:vn}=E.getGroupPanel(t,w,Z,k,_);function Cn(){var P,K;const x=Math.ceil(d.value.clientHeight/l);x>s.value&&(s.value=x,Ae()),Ie.value=((P=g.value)==null?void 0:P.clientHeight)||0,Oe.value=((K=d.value)==null?void 0:K.clientWidth)||0,Ve()}e.onMounted(()=>{d.value&&(s.value=Math.max(Math.ceil(d.value.clientHeight/l),s.value),h.value=Fe(0,X.value+a-1),Bt.useResizeObserver(d.value,Cn),Ve(),e.nextTick(()=>{d.value&&(Oe.value=d.value.clientWidth),g.value&&(be.value=g.value.clientWidth,Ie.value=g.value.clientHeight)})),j.value&&U()}),e.onUnmounted(()=>{}),e.watch(be,()=>{});function bn(){const x=w.insertNewDataItem();return he(),x}function wn(){const x=w.insertNewDataItem(h.value.length);return he(),x}function xn(x){te.onEditingRow(x)}function Bn(x){w.removeDataItem(x),he()}function Sn(x){w.removeDataItemById(x),he()}function Tn(x){te.acceptEditingRow(x)}function Nn(x){te.cancelEditingRow(x)}function Mn(x){h.value.forEach((P,K)=>{const ne=w.visibleDataItems.value.findIndex(re=>re===P.raw),ce=h.value[K-1];x.forEach(re=>{P.data[re.field]?me.updateCellByColumn(P.data[re.field],re,ce,P.raw):P.data[re.field]=me.createCellByColumn(re,ne,P.raw,P,ce)})})}function Qe(x){x&&(r.value=x,Mn(r.value),S(r),t.showSetting&&c(r),ae(r.value),z(w,I),Ve())}function Vn(){T.emptyCurrentRowId()}e.watch(()=>t.showSetting,(x,P)=>{x!==P&&Qe(r.value)});function mt(x){L.updatePagination(x)}function kn(x,P){x&&(w.load(x),h.value=Fe(0,X.value+a-1),P!=null&&P.keepScrollTop?_.scrollTo(_.offsetY.value):he(),h.value.length||(N.value=[]),ze.value&&A.value&&W()),te.clear()}e.watch(w.shouldGroupingData,(x,P)=>{x!==P&&(w.updateDataView(),he())}),e.watch(()=>t.columns,x=>{Qe(x)});function et(x){fe.activeRowById(x)}function Fn(x,P={isCurrent:!0}){P!=null&&P.isCurrent&&et(x),T.selectItemById(x)}function On(x){const P=i.idField.value,K=h.value.find(ne=>ne.raw[P]===x);K&&fe.clickRowItem(K)}function In(x){const P=i.idField.value,K=h.value.find(ne=>ne.raw[P]===x);K&&fe.changeRow(K)}function En(x){T.selectItemByIds(x)}function Pn(){return h.value}function Dn(x){return h.value.filter(P=>x.includes(P.raw[t.idField]))}function Rn(){return T.getSelectedItems()}function jn(){return T.getSelectionRow()}function Hn(){te.endEditCell()}function Ln(x,P={clearCurrent:!0}){P!=null&&P.clearCurrent&&et(""),T.unSelectItemByIds(x)}function ht(){T.clearSelection()}function zn(){return T.currentSelectedDataId.value}function An(){_.scrollToBottom()}function Wn(x){_.scrollToRowByIndex(x)}function Gn(){T.keepSelectingOnPaging.value||ht(),w.updateVisibleDataSummary(h.value),mt({total:w.dataView.value.length,index:1})}const pt={activeRowById:et,selectRowById:In,addNewDataItem:bn,addNewDataItemAtLast:wn,removeDataItem:Bn,removeDataItemById:Sn,editDataItem:xn,acceptDataItem:Tn,cancelDataItem:Nn,selectItemById:Fn,selectItemByIds:En,updateColumns:Qe,updateDataSource:kn,updatePagination:mt,getVisibleData:Pn,getVisibleDataByIds:Dn,getSelectedItems:Rn,getSelectionRow:jn,getCurrentRowId:zn,endEditCell:Hn,clickRowItemById:On,clearSelection:ht,unSelectItemByIds:Ln,scrollToBottom:An,scrollToRowByIndex:Wn,updateDerivedData:Gn,emptyCurrentRowId:Vn};n.expose(pt);const $n=E.useNavigation(t,n,pt,O,te,h),{renderDataArea:Un}=_t(t,n,g,C,B,je,He,O,te,k,$n,fe,Te,_,h,w),qn=e.computed(()=>!h.value||!h.value.length),{renderEmpty:_n}=E.getEmpty(t,n),Kn=e.computed(()=>({"d-flex":!0,"justify-content-between":y.value&&q.value,"justify-content-end":y.value&&!q.value,"position-relative":!0,"fv-datagrid-pagination":!0})),Yn=e.computed(()=>({"flex-direction":"row"})),Xn=e.computed(()=>({"d-flex":!0,"align-items-center":!0}));e.provide("dataGridContext",{useColumnComposition:O,dataView:w,useFilterComposition:F,useFitColumnComposition:Me,useSortComposition:I,useVirtualScrollComposition:_});function Jn(x){let P;return e.createVNode(ot,{class:"f-form-layout farris-form farris-form-controls-inline col-12 col-md-6 col-xl-3 col-el-2"},Kt(P=Object.keys(x.data).filter(K=>{var ne,ce;return((ne=x.data[K].column)==null?void 0:ne.dataType)!==E.COMMAND_COLUMN_DATA_TYPE&&((ce=x.data[K].column)==null?void 0:ce.dataType)!==E.SETTING_COLUMN_DATA_TYPE}).map(K=>{var ce,re;const ne=x.data[K];return e.createVNode("div",{class:"farris-group-wrap w-100"},[e.createVNode("div",{class:"form-group farris-form-group common-group"},[e.createVNode(ot.FDynamicFormLabel,{text:(ce=ne.column)==null?void 0:ce.title,title:(re=ne.column)==null?void 0:re.title},null),e.createVNode("div",{class:"farris-input-wrap"},[ne.getEditor(ne)])])])}))?P:{default:()=>[P]})}function Zn(x,P){const K={},ne={},ce=[],re=[],vt={};Object.keys(P.data).filter(ke=>{var ye,Ge;return((ye=P.data[ke].column)==null?void 0:ye.dataType)!==E.COMMAND_COLUMN_DATA_TYPE&&((Ge=P.data[ke].column)==null?void 0:Ge.dataType)!==E.SETTING_COLUMN_DATA_TYPE}).forEach(ke=>{var Ge,Ct,bt;const ye=P.data[ke];K[ke]=ye.data,te.endEditByCell(ye),ne[ke]=ye.data,ce.push(ye.column),re.push(ye),vt[ke]=(bt=(Ct=(Ge=ye.column)==null?void 0:Ge.editor)==null?void 0:Ct.context)==null?void 0:bt.editor}),n.emit("endEditRow",{row:P,cells:re,columns:ce,oldValues:K,newValues:ne,editors:vt}),te.showRowEditPanel.value=!1}function Qn(){const x=T.currentSelectedDataId.value,P=h.value.find(K=>K.raw[t.idField]===x);return P?e.createVNode(St,{showHeader:!1,modelValue:te.showRowEditPanel.value,"onUpdate:modelValue":K=>te.showRowEditPanel.value=K,width:600},{default:()=>Jn(P),footerTemplate:()=>e.createVNode(e.Fragment,null,[e.createVNode(nt,{class:"mr-3",type:"secondary",onClick:K=>{te.showRowEditPanel.value=!1}},{default:()=>[e.createTextVNode("取消")]}),e.createVNode(nt,{onClick:K=>{Zn(K,P)}},{default:()=>[e.createTextVNode("确定")]})])}):null}return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{ref:f,class:Q.value,style:ie.value,onWheel:Ne},[d.value&&t.enableFilter&&yn(),d.value&&vn(),d.value&&G.value&&u(),e.createVNode("div",{ref:d,class:le.value,style:Ze.value,onTouchstart:x=>{x.stopPropagation(),p.value=!0,_.onTouchstartScrollThumb(x,d)},onTouchend:x=>{p.value=!1},onMouseover:x=>{x.stopPropagation(),p.value=!0},onMouseleave:x=>{x.stopPropagation(),p.value=!1}},[d.value&&J(h),d.value&&Un(),d.value&&qn.value&&_n(),d.value&&We(),d.value&&gn()]),d.value&&_e(),(y.value||q.value)&&e.createVNode("div",{class:Kn.value,style:Yn.value},[q.value&&e.createVNode("div",{class:Xn.value},[e.createVNode("div",null,["已选:"+N.value.length,e.createTextVNode(" 条")])]),y.value&&V()]),R(),se.value&&Ee()]),o()&&Qn()])}});ve.withInstall(ct);const Yt={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},showOkButton:{Type:Boolean,default:!0},showCancelButton:{Type:Boolean,default:!0},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"},buttons:{type:Object,default:[]}};function Ke(){return new DOMException("The request is not allowed","NotAllowedError")}async function Xt(t){if(!navigator.clipboard)throw Ke();return navigator.clipboard.writeText(t)}async function Jt(t){const n=document.createElement("span");n.textContent=t,n.style.whiteSpace="pre",n.style.webkitUserSelect="auto",n.style.userSelect="all",document.body.appendChild(n);const o=window.getSelection(),a=window.document.createRange();o==null||o.removeAllRanges(),a.selectNode(n),o==null||o.addRange(a);let l=!1;try{l=window.document.execCommand("copy")}finally{o==null||o.removeAllRanges(),window.document.body.removeChild(n)}if(!l)throw Ke()}async function Zt(t){try{await Xt(t)}catch(n){try{await Jt(t)}catch(o){throw o||n||Ke()}}}function Qt(){async function t(n){await Zt(n)}return{onCopy:t}}function en(t,n,o,a){const l=e.ref(14),s=e.ref(140),r=e.ref(""),i=e.ref(a.value.length),f=e.computed(()=>a.value),d=e.computed(()=>({"font-size":`${l.value}px`,height:"100%"}));function g(C){if(C.currentTarget){const B=C.currentTarget.value||"";i.value=B.length}}return()=>e.createVNode(e.Fragment,null,[e.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:d.value,rows:"4",maxlength:s.value,onInput:C=>g(C)},[f.value]),e.createVNode("span",{class:"textarea-wordcount",title:r.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[i.value+" / "+s.value])])}function tn(t,n,o,a){const l=en(t,n,o,a),s=new Map([["text-area",l]]);function r(i){return s.get(i)||null}return{getEditorRender:r}}function nn(){const t=e.ref(!1),n=e.ref("复制成功");return{feedbackStyle:e.computed(()=>{const a={position:"absolute",left:"50%",top:"50%","min-width":"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease",padding:"0 10px"};return a.opacity=t.value?"0.8":"0",a.display=t.value?"":"none",a}),feedbackMessage:n,toShowFeedback:t}}function on(t,n){const o=n.getEditorRender(t.promptEditorType);return()=>o&&o()}function an(t,n){function o(h){if(h==null)return 0;let p=0;for(let M=0;M<h.length;M++){const k=h.charCodeAt(M);k>=0&&k<=128?p++:p=p+2}return p}function a(h,p){if(h!==""&&h!==void 0&&h!==null){h=""+h;const M=h.length;let k="",F=0;for(let v=0;v<M;v++){const j=h.charAt(v);if(F++,encodeURI(j).length>4&&F++,k=k.concat(j),F>=p)return k=k.concat("..."),k}if(F<p)return h}return""}const l=e.computed(()=>!!t.value&&!!t.value.date),s=e.computed(()=>{const h=t.value&&t.value.date||"";return`${n.exception.happend} : ${h}`}),r=e.computed(()=>!!t.value&&!!t.value.detail),i=e.computed(()=>t.value?o(t.value.detail)>160:!1),f=e.ref(!1),d=e.computed(()=>f.value?n.exception.collapse:n.exception.expand),g=e.computed(()=>{const h=n.exception.detail+" : "+(t.value&&t.value.detail)||"";return f.value?h:a(h,160)}),C=e.computed(()=>({bottom:f.value?0:"2px"}));function B(){f.value=!f.value}return()=>e.createVNode("div",{class:"toast-msg-detail",style:"max-height: calc(100vh - 200px);overflow: auto;"},[l.value&&e.createVNode("div",null,[s.value]),r.value&&e.createVNode("div",{class:"exception_wrap"},[e.createVNode("div",{class:"exception_error_msg"},[e.createVNode("div",{innerHTML:g.value},null),i.value&&e.createVNode("span",{class:"exception_toggle_detail",style:C.value,onClick:B},[d.value])])])])}function ln(t){return()=>e.createVNode("p",{class:"toast-msg-detail",innerHTML:t.value,style:"max-height: calc(100vh - 200px);overflow: auto;"},null)}function sn(t,n,o,a,l){const s=e.ref(t.exceptionInfo),r=e.computed(()=>{const p=n.value==="question"?"warning":n.value,M={"f-icon":!0},k=`f-icon-${p}`;return M[k]=!0,M}),i=e.computed(()=>o.value||s.value&&s.value.message),f=e.computed(()=>a.value),d=e.computed(()=>!!a.value),g=e.computed(()=>!!s.value);function C(){return g.value?an(s,l):d.value?ln(f):()=>null}const B=C(),h=e.computed(()=>l.locale==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:r.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[e.createVNode("p",{class:"toast-msg-title",innerHTML:i.value,style:h.value},null),B()])])}function rn(t,n,o,a){const{onCopy:l}=n,{toShowFeedback:s}=o,r=e.ref(a.exception.copySuccess||"复制成功"),i=e.ref(a.exception.copy||"复制详细信息"),f=e.ref(t.exceptionInfo||{date:"",message:"",detail:""}),d=e.computed(()=>f.value&&f.value.detail||"");function g(C){l(d.value).catch(B=>{r.value=a.exception.copyFailed||"复制失败"}).finally(()=>{s.value=!0,setTimeout(()=>{s.value=!1},700)})}return()=>e.createVNode("span",{class:"copy-exception-info"},[e.createVNode("span",{onClick:g,style:"cursor: pointer;"},[i.value])])}function un(t,n,o,a,l){const s=e.ref(t.type),r=e.ref(t.buttons),i=e.ref(t.exceptionInfo),f=e.ref(l.ok||t.okButtonText),d=e.ref(l.cancel||t.cancelButtonText),g=e.ref(t.showCancelButton),C=e.ref(t.showOkButton),B=e.computed(()=>!!(r.value&&r.value.length)),h=e.computed(()=>!!(i.value&&i.value.detail)),p=e.computed(()=>!(r.value&&r.value.length)&&(C.value||g.value)),M=rn(t,o,a,l);f.value==="关闭"?f.value=l.close:f.value==="知道了"&&(f.value=l.exception.roger);function k(v){s.value==="question"&&n.emit("reject"),n.emit("close")}function F(v){s.value==="question"&&n.emit("accept"),n.emit("close")}return()=>e.createVNode("div",{class:"modal-footer"},[h.value&&M(),p.value&&g.value&&e.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:k},[d.value]),p.value&&C.value&&e.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:F},[f.value]),B.value&&r.value.length&&r.value.map(v=>e.createVNode("button",{type:"button",onClick:v.handle,class:v.class},[v.iconClass&&e.createVNode("span",{class:v.iconClass},null),v.text]))])}function cn(t){const{getLocaleValue:n}=oe.LocaleService,o=oe.LocaleService.getLocale();function a(l,s,r){return s===r?n(l):s}return{yes:a("messageBox.yes")||"是",no:a("messageBox.no")||"否",close:a("messageBox.close")||"关闭",ok:a("messageBox.ok",t.okButtonText,"确定")||"确定",cancel:a("messageBox.cancel",t.cancelButtonText,"取消")||"取消",title:a("messageBox.title")||"系统提示",errorTitle:a("messageBox.errorTitle")||"错误提示",exception:{expand:a("messageBox.exception.expand")||"展开",collapse:a("messageBox.exception.collapse")||"收起",happend:a("messageBox.exception.happend")||"发生时间",detail:a("messageBox.exception.detail")||"详细信息",copy:a("messageBox.exception.copy")||"复制详细信息",copySuccess:a("messageBox.exception.copySuccess")||"复制成功",copyFailed:a("messageBox.exception.copyFailed")||"复制失败",roger:a("messageBox.exception.roger")||"知道了"},locale:o}}const $e=e.defineComponent({name:"FMessageBox",props:Yt,emits:["accept","reject","close"],setup(t,n){const o=cn(t),a=e.ref(t.type),l=e.ref(t.title),s=e.ref(t.detail),r=e.computed(()=>{const F={"modal-tips":!0,"d-flex":!0,"flex-row":!0},v=`messager-type-${a.value}`;return F[v]=!0,F}),i=e.computed(()=>{const F={cursor:"default"};return a.value==="prompt"?F.padding="0.5rem 0.5rem 1rem 1.5rem":a.value==="error"&&(F.padding="0.5rem 1.5rem 1rem 1.5rem"),F}),f=Qt(),d=tn(t,a,l,s),g=nn(),{feedbackStyle:C,feedbackMessage:B}=g;B.value=o.exception.copySuccess;function h(){return e.createVNode("div",{style:C.value},[B.value])}function p(){switch(a.value){case"prompt":return on(t,d);default:return sn(t,a,l,s,o)}}const M=p(),k=un(t,n,f,g,o);return()=>e.createVNode("div",{class:"farris-messager"},[!t.exceptionInfo&&e.createVNode("div",{style:"height: 30px;width: 100%;position: absolute;",class:"messager-draggable"},null),e.createVNode("section",{class:r.value,style:i.value},[M()]),k(),h()])}}),de=class de{static show(n){const o=e.reactive({...n}),a=!1,l=o.type==="error"||o.type==="prompt",s=o.type==="error"?"错误提示":o.type==="prompt"&&o.title||"",r=o.acceptCallback||(()=>{}),i=o.rejectCallback||(()=>{});let f=null,d=new st(de.app);const g=()=>{f&&(f==null||f.destroy(),d=null)};return f=d==null?void 0:d.open({class:"modal-message modal-message-type-info",title:s,showButtons:a,showHeader:l,width:o.width||400,fitContent:!0,showMaxButton:!1,draggable:!0,dragHandle:".messager-draggable",render:()=>e.createVNode($e,e.mergeProps(o,{onAccept:r,onReject:i,onClose:g}),null)}),d==null?void 0:d.getCurrentModal()}static info(n,o){const a=e.reactive({type:"info",title:n,detail:o,okButtonText:"知道了",showCancelButton:!1});de.show(a)}static warning(n,o){const a=e.reactive({type:"warning",title:n,detail:o,okButtonText:"知道了",showCancelButton:!1});de.show(a)}static success(n,o){const a=e.reactive({type:"success",title:n,detail:o,okButtonText:"关闭",showCancelButton:!1});de.show(a)}static error(n,o,a){const l=e.reactive({width:500,type:"error",okButtonText:"关闭",showCancelButton:!1,exceptionInfo:{date:a,message:n,detail:o}});de.show(l)}static prompt(n,o){const a=e.reactive({type:"prompt",title:n,detail:o,okButtonText:"确定",cancelButtonText:"取消"});de.show(a)}static question(n,o,a,l){const s=e.reactive({type:"question",title:n,detail:o,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:a,rejectCallback:l});de.show(s)}};pe(de,"app",null);let De=de;$e.install=t=>{t.component($e.name,$e),De.app=t,t.provide("FMessageBoxService",De)};const dn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/mapping-editor.schema.json",title:"mapping-editor",description:"A Farris Input Component",type:"object",properties:{fromData:{type:"object",default:null},toData:{type:"object",default:null},disabled:{type:"boolean",default:!1},readonly:{type:"boolean",default:!1},title:{type:"string",default:"字段映射编辑器"},modalWidth:{type:"number",default:800},modalHeight:{type:"number",default:600},modelValue:{type:"object",default:null},editorParams:{type:"object",default:null},onMappingFieldsChanged:{type:"object",default:null}}},Ye={fromData:{type:Object,default:{}},toData:{type:Object,default:{}},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},title:{type:String,default:"字段映射编辑器"},modalWidth:{type:Number,default:600},modalHeight:{type:Number,default:500},modelValue:{type:Object,default:{}},editorParams:{type:Object,default:null},onMappingFieldsChanged:{type:Function,default:null},beforeOpen:{type:Function}},dt=Tt.createPropsResolver(Ye,dn),fn={showCloseButton:{type:Boolean,default:!0},position:{type:String,default:"top-center"},timeout:{type:Number,default:3e3},theme:{type:String,default:"bootstrap"},left:{type:Number},right:{type:Number},top:{type:Number},bottom:{type:Number},id:{type:String},animate:{type:String,default:"fadeIn"},options:{type:Object},safeHtml:{type:Boolean,default:!0}},mn={showCloseButton:{type:Boolean,default:!0},animate:{type:String,default:"fadeIn"},options:{type:Object}},Xe=e.defineComponent({name:"Toast",props:mn,emits:["close","click"],setup:(t,n)=>{const o=e.ref(t.animate),a="fadeOut",l=e.computed(()=>t.options),s=e.ref(!1),r=e.computed(()=>l.value.title&&l.value.message),i=e.computed(()=>!l.value.title&&l.value.message),f=e.computed(()=>{const v={animated:s.value,toast:!0,"toast--only-content":!r.value};return v[t.animate]=!1,v[a]=s.value,v["toasty-type-"+l.value.type]=!0,l.value.theme&&(v[l.value.theme]=!0),v}),d=e.computed(()=>{const U=`f-icon-${l.value&&l.value.type?l.value.type.replace("toasty-type-",""):"default"}`,w={"f-icon":!0};return w[U]=!0,w}),g=e.computed(()=>l.value.title||l.value.message),C=e.computed(()=>t.showCloseButton),B=e.computed(()=>!!l.value.buttons||!!n.slots.default),h=e.computed(()=>oe.LocaleService.getLocale()==="en"?{wordBreak:"keep-all",overflowWrap:"break-word"}:{});function p(v){v.stopPropagation(),v.preventDefault(),s.value=!1,setTimeout(()=>{n.emit("close",l.value)},200)}function M(v,j){}function k(v){return`f-preten-link ${v.customClass?v.customClass:""}`}e.watch(o,()=>{o.value});const F=()=>{var v;return e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"after-toast-msg text-right"},[!n.slots.default&&((v=l.value.buttons)==null?void 0:v.map(j=>e.createVNode("span",{class:k(j),onClick:U=>void 0},[j.text]))),n.slots.default&&n.slots.default()])])};return()=>e.createVNode("div",{class:f.value,style:"min-height:44px"},[C.value&&e.createVNode("button",{title:oe.LocaleService.getLocaleValue("messageBox.close"),class:"toast-close f-btn-icon f-bare",onClick:p},[e.createVNode("span",{class:"f-icon modal_close"},null)]),g.value&&e.createVNode("section",{class:"modal-tips"},[!r.value&&e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:d.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[r.value&&e.createVNode(e.Fragment,null,[e.createVNode("h5",{class:"toast-title modal-tips-title",innerHTML:l.value.title},null),e.createVNode("p",{class:"toast-msg",innerHTML:l.value.message,style:h.value},null),B.value&&F()]),i.value&&(l.value.buttons?e.createVNode("div",{class:"toast-title-btns-wrapper d-flex"},[e.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:h.value,innerHTML:l.value.message},null),e.createVNode("div",{class:"after-toast-title text-right ml-auto"},[F()])]):e.createVNode("h5",{class:"toast-title modal-tips-title only-toast-msg",style:h.value,innerHTML:l.value.message},null))])])])}}),Ue=e.defineComponent({name:"Notify",props:fn,emits:["close","empty"],setup(t,n){const o=e.computed(()=>({"farris-notify":!0})),a={left:12,right:12,top:20,bottom:12},l=e.ref(),s=e.ref(t.options),r=e.ref(t.showCloseButton),i=e.computed(()=>t.position||"bottom-right"),f=e.computed(()=>t.timeout!=null?t.timeout:3e3),d=e.computed(()=>{const B=t.bottom?t.bottom:a.bottom,h=t.top?t.top:a.top,p={transition:"all 0.2s ease",left:i.value.indexOf("left")>-1?`${t.left?t.left:a.left}px`:"",right:i.value.indexOf("right")>-1?`${t.right?t.right:a.right}px`:"",top:i.value.indexOf("top")>-1?`${h}px`:"",bottom:i.value.indexOf("bottom")>-1?`${B}px`:""};return i.value.indexOf("center")>-1&&(p.left="50%",p.marginLeft="calc(-24rem / 2)",i.value==="center-center"&&(p.top="50%",p.transform="translate(-50%, -50%)")),p});function g(B){n.emit("close")}f.value&&setTimeout(()=>{g()},f.value),n.expose({closeToast:g,container:l,notifyPosition:i});function C(B,h){g()}return()=>e.createVNode("div",{class:o.value,style:d.value,ref:l},[e.createVNode(Xe,{options:s.value,showCloseButton:r.value,animate:t.animate,onClose:B=>C(B,s.value)},null)])}});class hn{constructor(){pe(this,"notifyRefs",[]);pe(this,"globalConfig",e.reactive({}))}escapeAllHtml(n){if(typeof n!="string"||!n)return"";const o=document.createElement("div");return o.textContent=n||"",o.innerHTML.replace(/\\n/g,"<br>").replace(/\\t/g," ").replace(/\\r/g,"")}createNotifyInstance(n){const o=this,l=Object.assign({timeout:3e3,position:"bottom-right",showCloseButton:!0,safeHtml:!0},this.globalConfig,{...n}),s=document.createElement("div");s.style.display="contents";const r=e.createApp({setup(){var d;const i=e.ref();function f(){i.value.container.style.transform="scale(0)",setTimeout(()=>{o.updateNotifyPositionForClose(l,i),r.unmount()},220)}if(l.position.indexOf("top")>-1){const g=o.getNotifyInstances(l.position),C=g[g.length-1];if(C){const B=C.value.container.getBoundingClientRect();l.top=B.bottom}}return l.safeHtml&&((d=l.options)!=null&&d.message)&&(l.options.message=o.escapeAllHtml(l.options.message)),e.onUnmounted(()=>{document.body.removeChild(s)}),e.onMounted(()=>{o.updateNotifyPositionForCreate(l,i)}),()=>e.createVNode(e.Transition,{mode:"out-in",name:"fade",appear:!0},{default:()=>[e.createVNode(Ue,e.mergeProps({ref:i},l,{onClose:f}),null)]})}});return r.provide("NotifyService",this),document.body.appendChild(s),r.use(oe.LocaleService.i18n),r.mount(s),r}getNotifyInstances(n){return this.notifyRefs.filter(o=>o.value.notifyPosition===n)}updateNotifyPositionForCreate(n,o){if(this.notifyRefs&&this.notifyRefs.length){const a=window.innerHeight;n.position.indexOf("bottom")>-1&&this.getNotifyInstances(n.position).forEach(l=>{const s=l.value.container.getBoundingClientRect();l.value.container.style.bottom=s.height+a-s.bottom+"px"})}this.notifyRefs=[...this.notifyRefs,o]}updateNotifyPositionForClose(n,o){const a=this.notifyRefs.indexOf(o);if(n.position.indexOf("top")>-1){const l=this.getNotifyInstances(n.position),s=l.indexOf(o);l.slice(s+1).forEach(r=>{r.value.container.style.top=r.value.container.offsetTop-r.value.container.offsetHeight+"px"})}a>-1&&this.notifyRefs.splice(a,1)}show(n){return this.createNotifyInstance(n)}buildNotifyProps(n,o){let a="",l="",s,r,i;typeof o=="string"?a=o:o&&(a=o.message||"",l=o.title||"",r=o.position||null,i=o.showCloseButton!=null?o.showCloseButton:null,s=o.timeout!=null?o.timeout:null);const d={options:{type:n,message:a,title:l}};return r!=null&&(d.position=r),i!=null&&(d.showCloseButton=i),s!=null&&(d.timeout=s),d}info(n){const o=this.buildNotifyProps("info",n);return this.show(o)}success(n){const o=this.buildNotifyProps("success",n);return this.show(o)}warning(n){const o=this.buildNotifyProps("warning",n);return this.show(o)}error(n){const o=this.buildNotifyProps("error",n);return this.show(o)}close(n){n&&n.unmount()}closeAll(){this.notifyRefs.forEach(n=>{n==null||n.value.closeToast()}),this.notifyRefs.length=0}}const ft=Symbol("NOTIFY_SERVICE_TOKEN");Ue.install=t=>{t.component(Ue.name,Ue),t.component(Xe.name,Xe);const n=new hn;t.provide(ft,n),t.provide("FNotifyService",n)};function Je(t){return t.reduce((n,o)=>{var a;return n.push(o.data),(a=o.children)!=null&&a.length&&n.push(...Je(o.children)),n},[])}const qe=e.defineComponent({name:"FMappingEditor",props:Ye,emits:["submitModal","update:modelValue"],setup(t,n){const o='<i class="f-icon f-icon-lookup"></i>',a=e.ref(),l=e.ref(t.modelValue||{}),s=e.ref([]),r=e.ref(t.fromData.dataSource||[]),i=e.ref([]),f=t.fromData.repositoryToken?e.inject(t.fromData.repositoryToken):null,d=t.toData.repositoryToken?e.inject(t.toData.repositoryToken):null,g=e.inject(ft),C=S=>((S.raw.$type!=="SimpleField"||S.raw.selectable===!1)&&(S.disabled=!0),S),B=e.computed(()=>Je(r.value)),h=e.computed(()=>Je(i.value)),p=(S,c,b,O)=>{var Y,ae;const I=((Y=S.value.find(ue=>ue[O]===c))==null?void 0:Y[b||"name"])||"",z=((ae=S.value.find(ue=>ue[O]===c))==null?void 0:ae[O||"code"])||"";return I&&z?`${I}[${z}]`:""},M=[{field:"sourceField",title:"数据源字段",dataType:"string",editor:{type:"combo-tree",data:r.value,idField:t.fromData.idField||"id",textField:t.fromData.textField||"name",valueField:t.fromData.valueField||"id",formatter:t.fromData.formatter,editorParams:t.fromData.editorParams,editable:t.fromData.editable||!1,searchFields:t.fromData.searchFields||[],customRowStatus:C,displayFormatter:t.fromData.displayFormatter},formatter:(S,c)=>p(B,c.raw.sourceField,t.fromData.textField,t.fromData.valueField)},{field:"targetField",title:"目标字段",dataType:"string",editor:{type:"combo-tree",data:i.value,idField:t.toData.idField||"id",textField:t.toData.textField||"name",valueField:t.toData.valueField||"id",formatter:t.toData.formatter,editorParams:t.toData.editorParams,multiSelect:!0,enableSearch:!0,editable:!1,searchFields:t.toData.searchFields||[],customRowStatus:C,displayFormatter:t.toData.displayFormatter},formatter:(S,c)=>c.raw.targetField?(c.raw.targetField.indexOf(",")>-1?c.raw.targetField.split(","):[c.raw.targetField]).map(O=>p(h,O,t.toData.textField,t.toData.valueField)).join(","):""}];function k(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function F(){let S=l.value||{};return typeof S=="string"&&(S=JSON.parse(S)),Object.keys(S).map(c=>({id:k(),sourceField:c,targetField:S[c]}))}const v=e.ref(F()),j=e.computed(()=>{var S;return`共 ${((S=v.value)==null?void 0:S.length)||0} 项`});function U(){a.value.endEditCell(),a.value.addNewDataItemAtLast()}function w(){return{sourceField:"",targetField:"",id:k()}}function L(){if(!s.value.length){g.warning("请选择要删除的映射字段!");return}a.value.endEditCell();const S=v.value.findIndex(z=>z.id===s.value[0].id);if(S===-1)return;const c=s.value[0].id;if(a.value.removeDataItemById(c),s.value=[],!v.value.length)return;const b=Math.min(S,v.value.length-1),O=v.value[b],I=O==null?void 0:O.id;I&&(a.value.selectItemById(I),s.value=[O])}function y(){De.question("确定要清空所有映射字段吗?","",()=>{s.value=[],l.value={},v.value=[],a.value.updateDataSource(v.value)},()=>{})}function T(){const S={};return v.value.forEach(c=>{c.sourceField&&c.targetField&&(S[c.sourceField]=c.targetField)}),S}e.watch(()=>t.modelValue,S=>{l.value=S,v.value=F()});function A(){return v.value.filter(c=>!c.sourceField||!c.targetField).length}const q={title:t.title,fitContent:!1,height:t.modalHeight,width:t.modalWidth,minWidth:300,minHeight:200,showMaxButton:!0,buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:S=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:S=>{if(a.value.endEditCell(),A())return g.warning("请将映射字段填写完整!"),!1;const c=T();return l.value=c,n.emit("submitModal",c),n.emit("update:modelValue",c),t.onMappingFieldsChanged&&typeof t.onMappingFieldsChanged=="function"&&t.onMappingFieldsChanged(JSON.stringify(c)),!0}}],resizeable:!0,draggable:!0,closedCallback:(S,c)=>{(S.target.name==="cancel"||c==="icon"||c==="esc")&&(l.value=t.modelValue,v.value=F(),s.value=[])}};function N(S){s.value=S}function W(){var I,z;if(t.beforeOpen&&typeof t.beforeOpen=="function")return t.beforeOpen({fromDataSource:r,toDataSource:i,gridColumns:M});if(!((z=(I=t.editorParams)==null?void 0:I.propertyData)==null?void 0:z.helpId))return g==null||g.warning({message:"请先配置数据源!",position:"top-center"}),!1;const c=[],b=f?f.getData(t.editorParams):Promise.resolve(r.value);c.push(b),typeof t.toData.dataSource=="function"?i.value=t.toData.dataSource():i.value=t.toData.dataSource;const O=d?d.getData(t.editorParams):Promise.resolve(i.value);return c.push(O),Promise.all(c).then(([Y,ae])=>(r.value=Y,i.value=ae,M[0].editor.data=Y,M[1].editor.data=ae,!0))}function se(S,c){S.forEach(b=>{b.selectable=!c.includes(b.data.bindingPath),b.children&&se(b.children,c)})}function X(S){const{column:c,rawData:b}=S,{field:O,editor:I}=c;if(O==="sourceField"&&I){const z=v.value.filter(Y=>Y.sourceField!==b.sourceField).map(Y=>Y.sourceField);se(r.value,z),I.data=tt.cloneDeep(r.value)}return!0}const ie=e.computed(()=>s.value.length>0),H=e.computed(()=>v.value.length>0);return()=>e.createVNode(ut,{modelValue:j.value,"onUpdate:modelValue":S=>j.value=S,editable:!1,disabled:t.disabled,readonly:t.readonly,inputType:"text",enableClear:!1,buttonContent:o,buttonBehavior:"Modal",modalOptions:q,beforeOpen:W},{default:()=>[e.createVNode("div",{class:"h-100 d-flex flex-column"},[e.createVNode("div",{class:"px-2"},[e.createVNode("button",{class:"btn btn-primary",onClick:U},[e.createTextVNode("新增")]),e.createVNode("button",{class:"btn btn-secondary ml-2",disabled:!ie.value,onClick:L},[e.createTextVNode("删除")]),e.createVNode("button",{class:"btn btn-secondary ml-3",disabled:!H.value,onClick:y},[e.createTextVNode("清空")])]),e.createVNode("div",{class:" f-utils-fill p-2"},[e.createVNode(ct,{ref:a,pagination:{enable:!1},summary:{enable:!1},columnOption:{fitColumns:!0},editOption:{editMode:"cell"},rowNumber:!1,showBorder:!0,editable:"true",fit:!0,columns:M,data:v.value,newDataItem:w,onSelectionChange:N,beforeEditCell:X},null)])])]})}}),pn={install(t){t.component(qe.name,qe)},register(t,n,o,a){t["mapping-editor"]=qe,n["mapping-editor"]=dt}};$.MappingEditor=qe,$.default=pn,$.mappingEditorProps=Ye,$.propsResolver=dt,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|