@farris/ui-vue 1.8.5-beta.13 → 1.8.5-beta.14

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.
@@ -1,4 +1,4 @@
1
- (function(G,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../field-selector/index.umd.js"),require("lodash-es"),require("../notify/index.umd.js"),require("../common/index.umd.js"),require("../modal/index.umd.js"),require("../button-edit/index.umd.js"),require("../layout/index.umd.js"),require("../data-grid/index.umd.js"),require("../locale/index.umd.js"),require("../tree-grid/index.umd.js"),require("../combo-list/index.umd.js"),require("../list-view/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../switch/index.umd.js"),require("../date-picker/index.umd.js"),require("../radio-group/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../transfer/index.umd.js"),require("../field-search-box/index.umd.js"),require("../popover/index.umd.js"),require("../checkbox/index.umd.js"),require("../capsule/index.umd.js"),require("../scroll-list/index.umd.js"),require("../drawer/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../dynamic-resolver/index.umd.js","../property-panel/index.umd.js","../field-selector/index.umd.js","lodash-es","../notify/index.umd.js","../common/index.umd.js","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","../locale/index.umd.js","../tree-grid/index.umd.js","../combo-list/index.umd.js","../list-view/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../switch/index.umd.js","../date-picker/index.umd.js","../radio-group/index.umd.js","../checkbox-group/index.umd.js","../transfer/index.umd.js","../field-search-box/index.umd.js","../popover/index.umd.js","../checkbox/index.umd.js","../capsule/index.umd.js","../scroll-list/index.umd.js","../drawer/index.umd.js"],i):(G=typeof globalThis<"u"?globalThis:G||self,i(G.lookup={},G.Vue,G.FButtonEditDesign,G.designerCanvas,G.dynamicResolver,G.propertyPanel,G.fieldSelector,G.LodashES,G.notify,G.common,G.modal,G.FButtonEdit,G.layout,G.dataGrid,G.locale,G.treeGrid,G.comboList,G.FListView,G.BigNumber,G.numberSpinner,G._switch,G.datePicker,G.radioGroup,G.checkboxGroup,G.FTransfer,G.fieldSearchBox,G.FPopover,G.Checkbox,G.FCapsule,G.List,G.Drawer))})(this,function(G,i,De,O,we,at,it,re,ot,A,gt,ze,yt,lt,Pe,bt,jt,Gn,fl,Ee,Jn,vt,Yn,Qn,Xn,Ae,Zn,$t,Kn,Re,ea){"use strict";var dl=Object.defineProperty;var ul=(G,i,De)=>i in G?dl(G,i,{enumerable:!0,configurable:!0,writable:!0,value:De}):G[i]=De;var K=(G,i,De)=>ul(G,typeof i!="symbol"?i+"":i,De);function qt(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const _t=new Map([["appearance",we.resolveAppearance],["mappingFields",(e,n,t)=>{if(n)return qt(n);const{mappingFields:a}=t;return qt(a)}],["uri",(e,n,t)=>{var a;return n?{uri:n}:{uri:(a=t==null?void 0:t.dataSource)==null?void 0:a.uri}}],["idField",(e,n,t)=>{var o;const a=(o=t==null?void 0:t.dataSource)==null?void 0:o.idField;return a?{idField:a}:{idField:n||"id"}}]]),Ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/lookup.schema.json",title:"lookup",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"lookup"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:"帮助"},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},textField:{description:"帮助显示文本字段",type:"string",default:""},mappingFields:{description:"帮助字段映射",type:"object",default:{}},uri:{type:"string",default:""},dataSource:{type:"object",default:null},displayType:{type:"string",default:"list"},"onUpdate:dataMapping":{type:"object",default:null},onClear:{type:"object",default:null},context:{type:"object",default:null},enableToSelect:{type:"boolean",default:!0},idValue:{type:"string",default:""},multiSelect:{type:"boolean",default:!1},separator:{type:"string",default:","},fitColumns:{type:"boolean",default:!0},enableFavorite:{type:"boolean",default:!1},enableUserData:{type:"boolean",default:!1},showSelections:{type:"boolean",default:!0},treeToList:{type:"boolean",default:!1},navTreeToList:{type:"boolean",default:!1},showNavigation:{type:"boolean",default:!0},dictPicking:{type:"object",default:null},dictPicked:{type:"object",default:null},enableSearchBar:{type:"boolean",default:!0},enableMultiFieldSearch:{type:"boolean",default:!1},searchAnyField:{type:"boolean",default:!0},dialog:{type:"object",default:null},idField:{type:"string",default:"id"},pagination:{type:"object",default:null},allowFreeInput:{type:"boolean",default:!1},loadTreeDataType:{type:"string",default:"default"},onlySelectLeaf:{type:"boolean",default:!1},enableFullTree:{type:"boolean",default:!0},beforeLoadData:{type:"object",default:null},beforeSelectData:{type:"object",default:null},enableCascade:{type:"boolean",default:!1},showCascadeControl:{type:"boolean",default:!0},cascadeItems:{type:"object",default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:"string",default:"both"},expandLevel:{type:"number",default:0},enableClear:{type:"boolean",default:!0},openType:{type:"string",default:"Modal"},enableTitle:{type:"boolean",default:!1},showIncludeChildNodes:{type:"boolean",default:!0},includeChildNodesValue:{type:"boolean",default:!0},enableEqualSearch:{type:"boolean",default:!1},onClearMapping:{type:"string",default:""},customFormatter:{type:"object",default:null},customNavFormatter:{type:"object",default:null},enableTips:{type:"boolean",default:!1},tipsContent:{type:"string",default:""},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},loader:{type:"object",default:null},selectFirstNavItem:{type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},userDataKey:{type:"string",default:""}},required:["type"],ignore:["appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function zt(e,n,t){return n}var Ct=(e=>(e.Both="both",e.Up="up",e.Down="down",e.Disable="disable",e))(Ct||{});const rt=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],St="";var Se=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(Se||{}),Fe=(e=>(e.default="default",e.all="all",e.async="async",e))(Fe||{});const je="__lookup_active_tab__",ta="__lookup_user_data_id__";var ve=(e=>(e.dataList="datalist",e.favorite="favorite",e))(ve||{});const Tt={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},xt=Symbol("f_lookup-http-service_token");var He=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(He||{}),We=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(We||{}),Ht=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Ht||{});const Wt={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function na(){function e(n,t,a){const o={};return o.dictPicking=l=>t.call("dictPicking",n,[l,n],a),o.beforeLoadData=l=>t.call("beforeLoadData",n,[l,n],a),o.beforeSelectData=l=>t.call("beforeSelectData",n,[l,n],a),o.dictPicked=l=>t.call("dictPicked",n,[l,n],a),o}return{resolve:e}}const $e={id:{type:String,default:""},uri:{type:String,default:""},title:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},data:{type:Array,default:[]},displayType:{type:String,default:Se.List},dialog:{type:Object,default:{title:""}},multiSelect:{type:Boolean,default:!1},showSelections:{type:Boolean,default:!0},separator:{type:String,default:","},pagination:{type:Object,default:Tt},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},beforeLoadData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},searchAnyField:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},showNavigation:{type:Boolean,default:!0},showNavSearchBar:{type:Boolean,default:!0},showIncludeChildNodes:{type:Boolean,default:!0},selectFirstNavItem:{type:Boolean,default:!1},navDefaultQueryValue:{type:Object,default:null},includeChildNodesValue:{type:Boolean,default:!0},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:Fe.default},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""},enableUserData:{type:Boolean,default:!1},userDataKey:{type:String,default:""},onReady:{type:Function,default:null},context:{type:Object,default:{}},placeholder:{type:String,default:"请选择"},loader:{type:Function,default:null},allowFreeInput:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!0},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:String,default:"both"},expandLevel:{type:Number,default:0},openType:{type:String,default:"Modal"},enableTitle:{type:Boolean,default:!1},enableEqualSearch:{type:Boolean,default:!1},togglePopupOnClickInput:{type:Boolean,default:!1},customFormatter:{type:Object,default:null},customNavFormatter:{type:Object,default:null},textAlign:{type:String,default:"left"},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},treeInfo:{type:Object,default:null},navTreeInfo:{type:Object,default:null},loadDataType:{type:String,default:void 0},onDialogClosed:{type:Function,default:null}},Ft={"update:modelValue":(...e)=>!0,"update:idValue":(...e)=>!0,search:(...e)=>!0,navSelectionsChanged:(...e)=>!0,pageIndexChanged:(...e)=>!0,pageSizeChanged:(...e)=>!0,resize:(...e)=>!0,dialogClosed:(...e)=>!0,textChanged:(...e)=>!0,clear:(...e)=>!0,"update:dataMapping":(...e)=>!0,clearMapping:(...e)=>!0,popupClosed:(...e)=>!0,expandClick:(...e)=>!0},aa=we.createPropsResolver($e,Ut,_t,zt),Gt=na(),wt=we.getPropsResolverGenerator($e,Ut,_t,zt);function st(e){let n=[10,20,30,50,100];return e&&(typeof e=="string"&&(n=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(n=e)),n.map(t=>({value:parseInt(t,10)})).sort((t,a)=>t.value-a.value)}const ce={convertFrom:(e,n)=>{const t=e.editor?e.editor:e;return n==="multiSelect"||n==="enableTitle"?!!t[n]:n==="separator"?t[n]||",":n==="onlySelectLeaf"?t[n]==null?!1:t[n]:n==="loadTreeDataType"?t[n]||"default":n==="placeholder"?re.isNil(t[n])?"请选择":t[n]:n==="openType"?t[n]||"Modal":t[n]},convertTo:(e,n,t)=>{const a=e.editor?e.editor:e;if(a[n]=t,n==="multiSelect"&&!t&&(a.enableCascade=!1),n==="openType"){if(t==="Popup")a.showSelections=!1,a.enableCascade=!1;else if(a.dialog){const{width:o}=a.dialog,{displayType:l}=a;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(a.dialog.width=960)}}a.multiSelect&&a.openType==="Popup"&&(a.editable=!1,a.allowFreeInput=!1)}};function ia(e){let n="form_group_"+Date.now();return e&&(n=e.replace(/-/g,"_").replace(/\./g,"_")),"lookup."+n}function oa(e,n){const{enablePager:t,pageSize:a,pageList:o}=n;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:t,sizeLimits:st(o).map(l=>l.value),size:a,showLimits:!0,showGoto:!1,mode:"server"})}const Vt={convertFrom:(e,n)=>{var a;return(a=(e.editor?e.editor:e).dataSource)==null?void 0:a.displayName},convertTo:(e,n,t)=>{if(t&&t.length>0){const a=e.editor?e.editor:e,o=t[0],{name:l,id:r,metadataContent:p,code:d}=o;a.dataSource||(a.dataSource={}),a.dataSource.displayName=`${l}(${d})`,a.helpId=r;const{displayType:c,idField:u,textField:s}=p;a.displayType=c,a.dataSource.idField=u,a.textField=s,a.dataSource.type="ViewObject",a.enableEqualSearch=!1;const{pageInfo:g}=p.dataSource;oa(a,g);const{treeInfo:S}=c.toUpperCase()==="NAVTREELIST"?p.navigation:p.dataSource;if(S){const{onlySelectLeaf:m,loadDataType:y}=S;a.loadTreeDataType="default",a.onlySelectLeaf=m??!1}if(a.dataSource.uri||(a.dataSource.uri=ia(e.id)),a.dialog){const{width:m}=a.dialog;c&&c.toUpperCase().indexOf("NAV")>-1&&(!m||m<520)&&(a.dialog.width=960)}}}},la={convertFrom:(e,n)=>{var t;return(t=e.editor.dataSource)==null?void 0:t.idField},convertTo:(e,n,t)=>{if(t&&t.length>0){const a=t[0];e.editor.dataSource.idField=a==null?void 0:a.bindingPath}}},ra={convertFrom:(e,n)=>{var t;return(t=e.editor)==null?void 0:t.textField},convertTo:(e,n,t)=>{if(t&&t.length>0){const a=t[0];e.editor.textField=a==null?void 0:a.bindingPath}}},sa={convertFrom:(e,n)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,n,t)=>{e.editor.displayType=t}},Ie={convertFrom:(e,n)=>{var l;let t=e.editor?e.editor.dialog:e.dialog;const a=e.editor?e.editor.openType:e.openType;if(t||(t={}),n==="title")return t[n]||St;if(!a||a==="Modal"){if(n==="width")return(l=t.displayType)!=null&&l.toUpperCase().startsWith("NAV")?t[n]||960:t[n]||590;if(n==="height")return t[n]||620;if(n==="navigatorWidth")return t[n]||320}else{if(n==="width")return t[n]||460;if(n==="height")return t[n]||380}if(n==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(n))return t[n]==null?!0:t[n]},convertTo:(e,n,t)=>{const a=e.editor?e.editor:e;a.dialog=a.dialog||{},a.dialog[n]=t}},ca={convertFrom:(e,n)=>{const t=e.editor?e.editor:e;if(t.pagination=t.pagination||{},n==="enable"||n==="showLimits")return t.pagination[n]==null?!1:t.pagination[n];if(n==="sizeLimits"){const a=t.pagination[n];return st(a)}if(n==="size")return t.pagination[n]||20},convertTo:(e,n,t)=>{var o;const a=e.editor?e.editor||{}:e;if(a.pagination=a.pagination||{},n==="sizeLimits"){const l=t.map(p=>p.value);a.pagination[n]=l;const r=((o=a.pagination)==null?void 0:o.size)??20;l.includes(r)||(a.pagination.size=l[0]);return}a.pagination[n]=t}},da=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],ua=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],fa=`{
1
+ (function(G,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../field-selector/index.umd.js"),require("lodash-es"),require("../notify/index.umd.js"),require("../common/index.umd.js"),require("../modal/index.umd.js"),require("../button-edit/index.umd.js"),require("../layout/index.umd.js"),require("../data-grid/index.umd.js"),require("../locale/index.umd.js"),require("../tree-grid/index.umd.js"),require("../combo-list/index.umd.js"),require("../list-view/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../switch/index.umd.js"),require("../date-picker/index.umd.js"),require("../radio-group/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../transfer/index.umd.js"),require("../field-search-box/index.umd.js"),require("../popover/index.umd.js"),require("../checkbox/index.umd.js"),require("../capsule/index.umd.js"),require("../scroll-list/index.umd.js"),require("../drawer/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../dynamic-resolver/index.umd.js","../property-panel/index.umd.js","../field-selector/index.umd.js","lodash-es","../notify/index.umd.js","../common/index.umd.js","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","../locale/index.umd.js","../tree-grid/index.umd.js","../combo-list/index.umd.js","../list-view/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../switch/index.umd.js","../date-picker/index.umd.js","../radio-group/index.umd.js","../checkbox-group/index.umd.js","../transfer/index.umd.js","../field-search-box/index.umd.js","../popover/index.umd.js","../checkbox/index.umd.js","../capsule/index.umd.js","../scroll-list/index.umd.js","../drawer/index.umd.js"],i):(G=typeof globalThis<"u"?globalThis:G||self,i(G.lookup={},G.Vue,G.FButtonEditDesign,G.designerCanvas,G.dynamicResolver,G.propertyPanel,G.fieldSelector,G.LodashES,G.notify,G.common,G.modal,G.FButtonEdit,G.layout,G.dataGrid,G.locale,G.treeGrid,G.comboList,G.FListView,G.BigNumber,G.numberSpinner,G._switch,G.datePicker,G.radioGroup,G.checkboxGroup,G.FTransfer,G.fieldSearchBox,G.FPopover,G.Checkbox,G.FCapsule,G.List,G.Drawer))})(this,function(G,i,Me,B,Ve,it,ot,ce,lt,O,yt,ze,bt,rt,Ie,vt,$t,Jn,fl,Le,Yn,Ct,Qn,Xn,Zn,Ae,Kn,qt,ea,Re,ta){"use strict";var dl=Object.defineProperty;var ul=(G,i,Me)=>i in G?dl(G,i,{enumerable:!0,configurable:!0,writable:!0,value:Me}):G[i]=Me;var te=(G,i,Me)=>ul(G,typeof i!="symbol"?i+"":i,Me);function _t(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const Ut=new Map([["appearance",Ve.resolveAppearance],["mappingFields",(e,n,t)=>{if(n)return _t(n);const{mappingFields:a}=t;return _t(a)}],["uri",(e,n,t)=>{var a;return n?{uri:n}:{uri:(a=t==null?void 0:t.dataSource)==null?void 0:a.uri}}],["idField",(e,n,t)=>{var o;const a=(o=t==null?void 0:t.dataSource)==null?void 0:o.idField;return a?{idField:a}:{idField:n||"id"}}]]),zt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/lookup.schema.json",title:"lookup",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"lookup"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:"帮助"},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},textField:{description:"帮助显示文本字段",type:"string",default:""},mappingFields:{description:"帮助字段映射",type:"object",default:{}},uri:{type:"string",default:""},dataSource:{type:"object",default:null},displayType:{type:"string",default:"list"},"onUpdate:dataMapping":{type:"object",default:null},onClear:{type:"object",default:null},context:{type:"object",default:null},enableToSelect:{type:"boolean",default:!0},idValue:{type:"string",default:""},multiSelect:{type:"boolean",default:!1},separator:{type:"string",default:","},fitColumns:{type:"boolean",default:!0},enableFavorite:{type:"boolean",default:!1},enableUserData:{type:"boolean",default:!1},showSelections:{type:"boolean",default:!0},treeToList:{type:"boolean",default:!1},navTreeToList:{type:"boolean",default:!1},showNavigation:{type:"boolean",default:!0},dictPicking:{type:"object",default:null},dictPicked:{type:"object",default:null},enableSearchBar:{type:"boolean",default:!0},enableMultiFieldSearch:{type:"boolean",default:!1},searchAnyField:{type:"boolean",default:!0},dialog:{type:"object",default:null},idField:{type:"string",default:"id"},pagination:{type:"object",default:null},allowFreeInput:{type:"boolean",default:!1},loadTreeDataType:{type:"string",default:"default"},onlySelectLeaf:{type:"boolean",default:!1},enableFullTree:{type:"boolean",default:!0},beforeLoadData:{type:"object",default:null},beforeSelectData:{type:"object",default:null},enableCascade:{type:"boolean",default:!1},showCascadeControl:{type:"boolean",default:!0},cascadeItems:{type:"object",default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:"string",default:"both"},expandLevel:{type:"number",default:0},enableClear:{type:"boolean",default:!0},openType:{type:"string",default:"Modal"},enableTitle:{type:"boolean",default:!1},showIncludeChildNodes:{type:"boolean",default:!0},includeChildNodesValue:{type:"boolean",default:!0},enableEqualSearch:{type:"boolean",default:!1},onClearMapping:{type:"string",default:""},customFormatter:{type:"object",default:null},customNavFormatter:{type:"object",default:null},enableTips:{type:"boolean",default:!1},tipsContent:{type:"string",default:""},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},loader:{type:"object",default:null},selectFirstNavItem:{type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},userDataKey:{type:"string",default:""}},required:["type"],ignore:["appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function Ht(e,n,t){return n}var St=(e=>(e.Both="both",e.Up="up",e.Down="down",e.Disable="disable",e))(St||{});const st=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Tt="";var Se=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(Se||{}),we=(e=>(e.default="default",e.all="all",e.async="async",e))(we||{});const je="__lookup_active_tab__",na="__lookup_user_data_id__";var ve=(e=>(e.dataList="datalist",e.favorite="favorite",e))(ve||{});const xt={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},Ft=Symbol("f_lookup-http-service_token");var He=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(He||{}),We=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(We||{}),Wt=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Wt||{});const Gt={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function aa(){function e(n,t,a){const o={};return o.dictPicking=l=>t.call("dictPicking",n,[l,n],a),o.beforeLoadData=l=>t.call("beforeLoadData",n,[l,n],a),o.beforeSelectData=l=>t.call("beforeSelectData",n,[l,n],a),o.dictPicked=l=>t.call("dictPicked",n,[l,n],a),o}return{resolve:e}}const $e={id:{type:String,default:""},uri:{type:String,default:""},title:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,default:"name"},data:{type:Array,default:[]},displayType:{type:String,default:Se.List},dialog:{type:Object,default:{title:""}},multiSelect:{type:Boolean,default:!1},showSelections:{type:Boolean,default:!0},separator:{type:String,default:","},pagination:{type:Object,default:xt},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},beforeLoadData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},searchAnyField:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},showNavigation:{type:Boolean,default:!0},showNavSearchBar:{type:Boolean,default:!0},showIncludeChildNodes:{type:Boolean,default:!0},selectFirstNavItem:{type:Boolean,default:!1},navDefaultQueryValue:{type:Object,default:null},includeChildNodesValue:{type:Boolean,default:!0},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:we.default},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""},enableUserData:{type:Boolean,default:!1},userDataKey:{type:String,default:""},onReady:{type:Function,default:null},context:{type:Object,default:{}},placeholder:{type:String,default:"请选择"},loader:{type:Function,default:null},allowFreeInput:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!0},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:String,default:"both"},expandLevel:{type:Number,default:0},openType:{type:String,default:"Modal"},enableTitle:{type:Boolean,default:!1},enableEqualSearch:{type:Boolean,default:!1},togglePopupOnClickInput:{type:Boolean,default:!1},customFormatter:{type:Object,default:null},customNavFormatter:{type:Object,default:null},textAlign:{type:String,default:"left"},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},treeInfo:{type:Object,default:null},navTreeInfo:{type:Object,default:null},loadDataType:{type:String,default:void 0},onDialogClosed:{type:Function,default:null}},wt={"update:modelValue":(...e)=>!0,"update:idValue":(...e)=>!0,search:(...e)=>!0,navSelectionsChanged:(...e)=>!0,pageIndexChanged:(...e)=>!0,pageSizeChanged:(...e)=>!0,resize:(...e)=>!0,dialogClosed:(...e)=>!0,textChanged:(...e)=>!0,clear:(...e)=>!0,"update:dataMapping":(...e)=>!0,clearMapping:(...e)=>!0,popupClosed:(...e)=>!0,expandClick:(...e)=>!0},ia=Ve.createPropsResolver($e,zt,Ut,Ht),Jt=aa(),Vt=Ve.getPropsResolverGenerator($e,zt,Ut,Ht);function ct(e){let n=[10,20,30,50,100];return e&&(typeof e=="string"&&(n=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(n=e)),n.map(t=>({value:parseInt(t,10)})).sort((t,a)=>t.value-a.value)}const de={convertFrom:(e,n)=>{const t=e.editor?e.editor:e;return n==="multiSelect"||n==="enableTitle"?!!t[n]:n==="separator"?t[n]||",":n==="onlySelectLeaf"?t[n]==null?!1:t[n]:n==="loadTreeDataType"?t[n]||"default":n==="placeholder"?ce.isNil(t[n])?"请选择":t[n]:n==="openType"?t[n]||"Modal":t[n]},convertTo:(e,n,t)=>{const a=e.editor?e.editor:e;if(a[n]=t,n==="multiSelect"&&!t&&(a.enableCascade=!1),n==="openType"){if(t==="Popup")a.showSelections=!1,a.enableCascade=!1;else if(a.dialog){const{width:o}=a.dialog,{displayType:l}=a;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(a.dialog.width=960)}}a.multiSelect&&a.openType==="Popup"&&(a.editable=!1,a.allowFreeInput=!1)}};function oa(e){let n="form_group_"+Date.now();return e&&(n=e.replace(/-/g,"_").replace(/\./g,"_")),"lookup."+n}function la(e,n){const{enablePager:t,pageSize:a,pageList:o}=n;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:t,sizeLimits:ct(o).map(l=>l.value),size:a,showLimits:!0,showGoto:!1,mode:"server"})}const Pt={convertFrom:(e,n)=>{var a;return(a=(e.editor?e.editor:e).dataSource)==null?void 0:a.displayName},convertTo:(e,n,t)=>{if(t&&t.length>0){const a=e.editor?e.editor:e,o=t[0],{name:l,id:r,metadataContent:p,code:d}=o;a.dataSource||(a.dataSource={}),a.dataSource.displayName=`${l}(${d})`,a.helpId=r;const{displayType:c,idField:u,textField:s}=p;a.displayType=c,a.dataSource.idField=u,a.textField=s,a.dataSource.type="ViewObject",a.enableEqualSearch=!1;const{pageInfo:g}=p.dataSource;la(a,g);const{treeInfo:S}=c.toUpperCase()==="NAVTREELIST"?p.navigation:p.dataSource;if(S){const{onlySelectLeaf:h,loadDataType:y}=S;a.loadTreeDataType="default",a.onlySelectLeaf=h??!1}if(a.dataSource.uri||(a.dataSource.uri=oa(e.id)),a.dialog){const{width:h}=a.dialog;c&&c.toUpperCase().indexOf("NAV")>-1&&(!h||h<520)&&(a.dialog.width=960)}}}},ra={convertFrom:(e,n)=>{var t;return(t=e.editor.dataSource)==null?void 0:t.idField},convertTo:(e,n,t)=>{if(t&&t.length>0){const a=t[0];e.editor.dataSource.idField=a==null?void 0:a.bindingPath}}},sa={convertFrom:(e,n)=>{var t;return(t=e.editor)==null?void 0:t.textField},convertTo:(e,n,t)=>{if(t&&t.length>0){const a=t[0];e.editor.textField=a==null?void 0:a.bindingPath}}},ca={convertFrom:(e,n)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,n,t)=>{e.editor.displayType=t}},ke={convertFrom:(e,n)=>{var l;let t=e.editor?e.editor.dialog:e.dialog;const a=e.editor?e.editor.openType:e.openType;if(t||(t={}),n==="title")return t[n]||Tt;if(!a||a==="Modal"){if(n==="width")return(l=t.displayType)!=null&&l.toUpperCase().startsWith("NAV")?t[n]||960:t[n]||590;if(n==="height")return t[n]||620;if(n==="navigatorWidth")return t[n]||320}else{if(n==="width")return t[n]||460;if(n==="height")return t[n]||380}if(n==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(n))return t[n]==null?!0:t[n]},convertTo:(e,n,t)=>{const a=e.editor?e.editor:e;a.dialog=a.dialog||{},a.dialog[n]=t}},da={convertFrom:(e,n)=>{const t=e.editor?e.editor:e;if(t.pagination=t.pagination||{},n==="enable"||n==="showLimits")return t.pagination[n]==null?!1:t.pagination[n];if(n==="sizeLimits"){const a=t.pagination[n];return ct(a)}if(n==="size")return t.pagination[n]||20},convertTo:(e,n,t)=>{var o;const a=e.editor?e.editor||{}:e;if(a.pagination=a.pagination||{},n==="sizeLimits"){const l=t.map(p=>p.value);a.pagination[n]=l;const r=((o=a.pagination)==null?void 0:o.size)??20;l.includes(r)||(a.pagination.size=l[0]);return}a.pagination[n]=t}},ua=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],fa=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],pa=`{
2
2
  "name": ({rowData, column}) => {
3
3
  return rowData.name;
4
4
  },
@@ -22,7 +22,7 @@
22
22
  }
23
23
  }
24
24
  }
25
- }`,Jt=e=>i.createVNode(i.Fragment,null,[i.createVNode("h5",{style:"display: flex;justify-content: space-between;align-items: center;"},[i.createTextVNode("示例代码:"),i.createVNode("button",{class:"btn btn-link align-items-center d-flex",onClick:()=>e.value.setValue(fa)},[i.createVNode("span",{class:"f-icon f-icon-source-code mr-1"},null),i.createTextVNode("应用代码")])]),i.createVNode("pre",{style:"height: calc(100% - 35px);margin: 0;"},[`{
25
+ }`,Yt=e=>i.createVNode(i.Fragment,null,[i.createVNode("h5",{style:"display: flex;justify-content: space-between;align-items: center;"},[i.createTextVNode("示例代码:"),i.createVNode("button",{class:"btn btn-link align-items-center d-flex",onClick:()=>e.value.setValue(pa)},[i.createVNode("span",{class:"f-icon f-icon-source-code mr-1"},null),i.createTextVNode("应用代码")])]),i.createVNode("pre",{style:"height: calc(100% - 35px);margin: 0;"},[`{
26
26
  // 列表字段自定义数据,rowData: 行数据, column: 列信息;
27
27
  // 返回字符串. name为字段名称。其他字段可根据需求自定义。
28
28
  "name": ({rowData, column}) => {
@@ -52,12 +52,12 @@
52
52
  }
53
53
  }
54
54
  }
55
- }`])]),Yt=Symbol("schema_repository_token");function pa(e,n){const t=new Map;n.forEach(o=>{t.set(o.id,o.title)});const a=o=>{var l;if(!(!o||o.length===0))for(const r of o){const p=(l=r.data)==null?void 0:l.id;p&&t.has(p)&&(r.data.name=t.get(p)),r.children&&r.children.length>0&&a(r.children)}};a(e)}function Qt(e,n){const t=a=>a&&a.length?a.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:["PC_RTC","PC_NoCode"].includes(n.formSchemaUtils.designerMode)?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(a,o)=>`${a==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Yt},dataSourceConverter:Vt,defaultConverter:ce,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:it.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:it.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(a,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:it.FieldSelectorRepositoryToken,displayFormatter:t},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const a=n.designViewModelUtils.getAllFields2TreeByVMId(n.viewModelId);if(n.formRule){const l=n.formRule.fields.map(r=>({id:r.binding.field,title:r.label}));pa(a,l)}const o=n.schemaService.getPrimaryField();return o?a.filter(l=>l.data.bindingPath!==o):a},formatter:(a,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:t}}}}function Xt(e){var l;const n={type:"combo-list",enableClear:!1,editable:!1},t={type:"number-spinner",useThousands:!1},a=()=>e.displayType?e.displayType.toUpperCase():"",o=()=>a().startsWith("NAV")?e.showNavigation===void 0?!0:!!e.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:ce,editor:{...n,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:e.openType!=="Popup",$converter:Ie},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...t,min:o()?520:300,needValid:!0},$converter:Ie},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...t,min:200,needValid:!0},$converter:Ie},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:e.openType!=="Popup",$converter:Ie},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!e.enableUserData&&(((l=e==null?void 0:e.dialog)==null?void 0:l.resizeable)??!0)&&e.openType!=="Popup",$converter:Ie},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:e.openType!=="Popup",$converter:Ie},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:e.openType!=="Popup",$converter:Ie},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:e.openType!=="Popup",$converter:Ie}}}function Zt(e,n=!0){var l,r,p,d;const t=!((l=e.pagination)!=null&&l.enable),a=()=>e.displayType?e.displayType.toUpperCase():"",o=(c,u)=>{const s=a()!=="TREELIST"||c.treeToList;return u&&s?c.pagination&&c.pagination[u]:s};return{hide:!o(e)||t,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:ca,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:n,visible:o(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:n,visible:o(e,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:st((r=e.pagination)==null?void 0:r.sizeLimits),beforeSubmit:({notifyService:c,data:u})=>!u||!u.length?(c==null||c.warning({message:"每页显示条数不能为空!"}),!1):new Set(u.map(g=>parseInt(g.value,10))).size===u.length?!0:(c==null||c.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(e),editor:{type:"combo-list",enableClear:!1,editable:!1,data:st((p=e.pagination)==null?void 0:p.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(d=e.pagination)==null?void 0:d.size}}}}}class Kt extends at.InputBaseProperty{constructor(){super(...arguments);K(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});K(this,"numberEditor",{type:"number-spinner",useThousands:!1});K(this,"readonlyEditor",{...this.comboListEditor,editable:!0});K(this,"visibleEditor",{...this.comboListEditor,editable:!1});K(this,"requiredEditor",{...this.comboListEditor,editable:!1});K(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(t,a){const o=["validate"];return t.type==="form-group"&&o.push("dataPicking"),this.expressionProperty.getExpressionConfig(t,"Field",o)}getPropertyConfig(t,a,o="Card"){var v;const l=(v=t.binding)!=null&&v.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(t,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(t,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(t,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(t,["Const","Variable"],"allowFreeInput"),this.readonlyEditor.propertyTypes.push("Custom"),this.visibleEditor.propertyTypes.push("Custom"),this.requiredEditor.propertyTypes.push("Custom");const r=this.getBasicProperties(t,a,o),p=this.getBehaviorConfig(t,o),d=this.getAppearanceProperties(t,a),c=this.getLookupConfig(t),u=this.getEventPropConfig(t),s=this.getDialogPropertyConfig(t),g=this.getPageConfig(t.editor),S=this.getTreePropConfig(t.editor),m=this.getSearchConfig(t),y=this.getExpandProperties(t,o),h=this.getNavigatorConfig(t),f=this.getExpressionConfig(t,"Field"),b={basic:r,appearance:d,behavior:p,expandConfig:y,lookup:c,navigatiorConfig:h,treeConfig:S,dialog:s,pager:g,searchConfig:m,expressions:f};return t.type==="form-group"&&(b.eventsEditor=u),{type:"object",categories:b}}getGridFieldEdtiorPropConfig(t){return this.getPropertyConfig(t,null,"Grid").categories}flattenTreeNodes(t){return t.reduce((a,o)=>{var l;return a.push(o),(l=o.children)!=null&&l.length&&a.push(...this.flattenTreeNodes(o.children)),a},[])}isSimpleStringField(){var p;const t=((p=this.designViewModelField)==null?void 0:p.path)||"";if(!t||!t.includes("."))return!0;const a=t.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(d=>d.data.code===a[0]);if(!l)return!1;const r=[l,...this.flattenTreeNodes(l.children)];return!a.reduce((d,c,u)=>[...d,u?`${d[u-1]}.${c}`:c],[]).some(d=>{var c,u,s;return((s=(u=(c=r.find(g=>g.data.path===d))==null?void 0:c.data)==null?void 0:u.type)==null?void 0:s.$type)==="EntityType"})}getBehaviorConfig(t,a="Card"){const o=a==="Card"?this.getTipsConfig(t):{};return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor},...o},setPropertyRelates:(l,r)=>{this.afterMutilEditorChanged(r,l)}}}changeBindingField(t,a){super.changeBindingField(t,a),t.editor.multiSelect=!1}getDisplayType(t){return t.displayType?t.displayType.toUpperCase():""}mapFieldsDisplayFormatter(t){return t&&t.length?t.map(a=>`${a.name}[${a.bindingPath}]`).join(","):""}getSearchConfig(t){const a=()=>{var l;return t.editor.openType!=="Popup"&&(((l=t.editor)==null?void 0:l.enableSearchBar)??!0)!==!1&&(this.getDisplayType(t.editor)!=="TREELIST"||t.editor.treeToList===!0)&&!t.editor.enableMultiFieldSearch};return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:ce,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},enableMultiFieldSearch:{$converter:ce,refreshPanelAfterChanged:!0,description:"是否启用多字段搜索",title:"启用多字段查询",type:"boolean",visible:!0},searchAnyField:{description:"显示所有列",$converter:ce,title:"允许查询所有列",type:"boolean",visible:t.editor.openType!=="Popup"&&t.editor.enableSearchBar==null?!t.editor.enableMultiFieldSearch:!!t.editor.enableSearchBar},enableEqualSearch:{$converter:ce,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:a()}},hide:t.editor.openType==="Popup"}}getNavigatorConfig(t){var o;const a=t.editor;return{description:"自定义左侧导航数据格式化、样式",title:"导航栏",properties:{showNavigation:{description:"显示导航栏",$converter:ce,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:this.getDisplayType(a).includes("NAV")&&a.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:this.showNavigatiorWidth(a)&&a.openType!=="Popup",editor:{...this.numberEditor,min:200,max:(((o=a==null?void 0:a.dialog)==null?void 0:o.width)??960)-200,needValid:!0},$converter:Ie},selectFirstNavItem:{$converter:ce,description:"是否默认选中首条导航数据,开启后,打开弹窗后,会自动选中导航第1条数据",title:"默认选中首条导航数据",type:"boolean",visible:this.showNavigatiorWidth(a)&&a.openType!=="Popup"},customNavFormatter:{description:"自定义左侧导航数据格式化、样式",title:"左侧导航格式化",type:"string",$converter:ce,editor:{type:"code-editor",language:"javascript",leftTemplate:Jt},visible:this.showNavigatiorWidth(a)&&a.openType!=="Popup"}},hide:!this.getDisplayType(a).startsWith("NAV")||a.openType==="Popup"}}getLookupConfig(t){var c,u;const a=t.editor,o=()=>{const s=this.formSchemaUtils.getFormSchema().module.entity[0].id,g=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:a,formBasicInfo:g,viewModelId:s,dataSourceId:a.helpId}},{dataSourceEditor:l,idFieldEditor:r,textFieldEditor:p,mappingFieldsEditor:d}=Qt(a,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(s,g)=>{if(s)switch(s.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(g,s);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((c=t.binding)!=null&&c.field)&&((u=t.binding)==null?void 0:u.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:ce},enableClear:{description:"是否显示清除按钮",title:"启用清除按钮",type:"boolean",$converter:ce},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:ce,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:ce,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(a.multiSelect&&a.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:ce,editor:this.freeInputEditor,visible:!!a.editable&&this.isSimpleStringField()},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:s=>s&&s.length?s.map(g=>`${g.name}(${g.code})`).join(","):"",validateFunction:async s=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(s,t),onSubmitModal:s=>{if(s){delete a.mappingFields;const g=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(g.relativePath,s[0].data).then(S=>JSON.parse(S==null?void 0:S.metadata.content))}}},$converter:Vt},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:ce,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:a,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:it.FieldSelectorRepositoryToken,beforeOpen:async({repository:s,notifyService:g})=>{var b;if(!(a==null?void 0:a.helpId))return g==null||g.warning({message:"请先配置数据源!"}),!1;const m=o(),h=new at.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let f={};if(s){const v=await s.getData(m),C=await s.getLookupConditions(m);f={fieldList:v,conditionList:C}}return(b=h.variables)!=null&&b.forms&&(h.variables.forms.items=h.variables.forms.items.filter(v=>v.category==="remote")),{...f,...h,isServerSide:!0}},onSubmitModal:async({loadingService:s,repository:g,conditions:S,originalConditions:m,FMessageBoxService:y})=>{if(g)try{const h=o(),f=await g.getLookupConditions(h)||[];return JSON.stringify(f)!==JSON.stringify(m.value)?(s==null||s.clearAll(),y.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{S.value=f,m.value=JSON.parse(JSON.stringify(S.value))},()=>{}),!1):(JSON.stringify(S.value)===JSON.stringify(m.value)||await g.saveFilterCondition(S.value,h,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return y==null||y.error("保存失败",""),!1}finally{s==null||s.clearAll()}}},visible:!!a.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:sa,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...r},$converter:la},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:ra,editor:p},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:ce,editor:{...d}},textAlign:{description:"文本对齐方式",title:"文本对齐方式",type:"string",$converter:ce,editor:{type:"combo-list",editable:!1,data:[{text:"左对齐",value:"left"},{text:"居中对齐",value:"center"},{text:"右对齐",value:"right"}],textField:"text",idField:"value",valueField:"value"}},customFormatter:{description:"自定义数据格式化、样式",title:"格式化",type:"string",$converter:ce,editor:{type:"code-editor",language:"javascript",leftTemplate:Jt}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:ce,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:ce,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:ce,title:"显示已选记录",type:"boolean",visible:!!a.multiSelect&&a.openType!=="Popup"},separator:{description:"多选分隔符",$converter:ce,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!a.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:ce,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:ce,title:"启用收藏夹",type:"boolean",visible:a.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:ce,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:a.openType!=="Popup"}}}}showNavigatiorWidth(t){return this.getDisplayType(t).startsWith("NAV")&&t.openType!=="Popup"?t.showNavigation===void 0?!0:!!t.showNavigation:!1}getDialogPropertyConfig(t){const a=Xt(t.editor);return a.openType.$converter=ce,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:Ie,properties:a}}showPagerProperty(t,a){const o=this.getDisplayType(t)!=="TREELIST"||t.treeToList;return a&&o?t.pagination&&t.pagination[a]:o}getPageConfig(t){return Zt(t)}showLoadType(t){const a=this.getDisplayType(t);return(a==="TREELIST"||a==="NAVTREELIST")&&!t.treeToList&&!t.navTreeToList}isTree(t){return this.getDisplayType(t)==="TREELIST"&&!t.treeToList}getTreePropConfig(t){return{hide:this.getDisplayType(t)!=="TREELIST"&&this.getDisplayType(t)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:ce,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:ce,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:ce,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(t)},enableFullTree:{description:"启用构造完整树",$converter:ce,title:"构造完整树",type:"boolean",visible:this.showLoadType(t)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:ce,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(t)},enableCascade:{description:"启用级联选择",$converter:ce,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(t)&&!!t.multiSelect&&t.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:ce,title:"显示级联状态",type:"boolean",visible:!!t.enableCascade&&this.isTree(t)},cascadeValue:{description:"缺省级联选择模式",$converter:ce,title:"缺省级联选择模式",type:"string",visible:!!t.enableCascade&&this.isTree(t),editor:{...this.comboListEditor,data:rt,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:ce,title:"默认展开层级",type:"number",visible:this.showLoadType(t),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(t){const a=this;let o=[...da];t.editor.openType==="Popup"&&(o=o.filter(p=>p.label!=="beforeSelectData")),o.push(...this.getInputCommonEvents(t));const l=a.eventsEditorUtils.formProperties(t,a.viewModelId,o),r=a.createBaseEventProperty(l);return this.appendFieldValueChangeEvents(t,o),{title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(p,d){const c=p.propertyValue;delete t[a.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,c.events,c),a.updateLinkedLabel(c,t));const u=a.designViewModelUtils.getDgViewModel(a.viewModelId);u&&a.designViewModelField&&u.changeField(a.designViewModelField.id,{valueChanging:t.fieldValueChanging||"",valueChanged:t.fieldValueChanged||""})}}}async checkSameBESource(t,a){var o,l,r,p,d;if(t&&((o=a==null?void 0:a.editor)!=null&&o.helpId)&&!a.isRtcControl){if(t.data.id===a.editor.helpId)return!0;const c=await this.metadataService.getPickMetadata("",t.data).then(y=>{var h;if((h=y==null?void 0:y.metadata)!=null&&h.content)return JSON.parse(y.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:a.editor.helpId}).then(y=>{var h;if((h=y==null?void 0:y.metadata)!=null&&h.content)return JSON.parse(y.metadata.content)}),s=(l=c==null?void 0:c.dataSource)==null?void 0:l.sourceType,g=(r=u.dataSource)==null?void 0:r.sourceType,S=(p=c==null?void 0:c.dataSource)==null?void 0:p.sourceId,m=(d=u==null?void 0:u.dataSource)==null?void 0:d.sourceId;if(s==="BE"&&g==="BE"&&S!==m)return new ot.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function ma(e,n){function t(a,o){const l=e.schema;return new Kt(a,n).getPropertyConfig(l,o)}return{getPropsConfig:t}}const ha=i.defineComponent({name:"FLookupDesign",props:$e,emits:Ft,setup(e,n){const t=i.ref(),a=i.inject("design-item-context"),o=i.inject("designer-host-service"),l=ma(a,o),r=O.useDesignerComponent(t,a,l),p='<i class="f-icon f-icon-lookup"></i>',d='<i class="f-icon f-icon-arrow-chevron-down"></i>',c=i.computed(()=>e.openType==="Popup"?"Popup":"Modal"),u=i.computed(()=>c.value==="Popup"?d:p);return i.onMounted(()=>{t.value.componentInstance=r}),n.expose(r.value),()=>i.createVNode("div",{class:"f-lookup-design h-100",ref:t,style:"pointer-events: none;"},[i.createVNode(De,{ref:t,buttonContent:u.value,readonly:!0,editable:!1,textAlign:e.textAlign,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)])}});function Be(e,n){const{lookupOptions:t}=n;function a(h){return{...Tt,...h}}function o(){return{enableSelectRow:!0,multiSelect:t.multiSelect,showCheckbox:t.multiSelect,multiSelectMode:"OnCheckAndClick"}}function l(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:h}=n.lookupOptions,f=h??"";return typeof f=="string"&&f in Se?!1:f.toLowerCase().startsWith("nav")}function p(){const{displayType:h,treeToList:f}=n.lookupOptions,b=(h??"").toLowerCase();return(b===Se.Tree.toLowerCase()||b===Se.ListTree.toLowerCase())&&!f}function d(){const{displayType:h,navTreeToList:f}=n.lookupOptions;return(h??"").toLowerCase()===Se.TreeList.toLowerCase()&&!f}function c(){const{displayType:h,navTreeToList:f}=n.lookupOptions,b=(h??"").toLowerCase();return b===Se.ListList.toLowerCase()||b===Se.ListTree.toLowerCase()||f}function u(){var b;return t.dialog?{width:((b=t.dialog)==null?void 0:b.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function s(h){const{loadTreeDataType:f}=t;return f===Fe.all||f==="default"&&(h==null?void 0:h.loadDataType)==="all"}function g(h){return(h==null?void 0:h.layerType)==="pathcode"}function S(){return t.enableCascade&&t.multiSelect}function m(){return e.openType==="Popup"}return{checkPaination:a,checkMultiSelect:o,checkColumnOptions:l,isDoubleList:r,getNavigationSize:u,isTreeList:p,navIsTreeList:d,navIsList:c,isLoadAll:s,isPathCodeTree:g,isEnableCascadeCheck:S,isDropdownMode:m,sortOption:{mode:"server"}}}function en(e,n,t){var p;const a=i.ref(e.searchFields||[]),o=i.ref(((p=e.navigation)==null?void 0:p.searchFields)||[]),l=d=>({TextType:"string",StringType:"string",NumericType:"number",DateType:"date",BooleanType:"boolean",DateTimeType:"datetime",EnumType:"enum"})[d],r=d=>!d||!d.length?[]:d.map(c=>({field:c.fieldPath||c.field,title:c.title,dataType:l(c.fieldType),options:c.formatter?c.formatter.options:null,value:null}));return i.watch(()=>[n==null?void 0:n.searchFields,n==null?void 0:n.columns],([d,c])=>{a.value=e.enableMultiFieldSearch?r(c):d}),i.watch(()=>[t==null?void 0:t.searchFields,t==null?void 0:t.columns],([d,c])=>{o.value=e.enableMultiFieldSearch?r(c):d}),{searchFieldItems:a,navSearchFieldItems:o}}function ga(e){const n=i.reactive({}),t=i.reactive({}),a=i.reactive({}),o=i.reactive({}),l=i.reactive({}),r=i.ref([]),p=i.ref(),d=i.reactive({...e}),c=i.reactive({canClose:!0}),u=i.reactive({}),s=i.ref(!1),g=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade","enableFavorite","customFormatter","customNavFormatter","selectFirstNavItem","navDefaultQueryValue","enableMultiFieldSearch"];function S(){g.forEach(m=>{d[m]=e[m]})}return S(),{pageInfoState:n,lookupState:t,navigationState:a,queryState:o,searchState:l,selectionState:r,unSelectDataId:p,lookupOptions:d,searchValueChanged:s,popupState:c,compatInstance:u}}const Ge=i.ref(),ke="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function ya(e,n){const t=i.inject("FLoadingService"),a=i.inject(gt.F_MODAL_SERVICE_TOKEN),o=i.inject(xt),l=ga(e),{pageInfoState:r,lookupState:p,navigationState:d,lookupOptions:c,searchValueChanged:u}=l,{searchFieldItems:s,navSearchFieldItems:g}=en(e,p,d),S=i.ref(e.idValue),m=i.ref(!1),y=()=>{var j;const k=(j=c.displayType)==null?void 0:j.toUpperCase();return k===Se.Tree||k===Se.TreeList},h=(k,j=!1)=>{if(k){const{layerType:z,dataField:Y,parentField:ie,pathField:me,layerField:oe,isDetailField:te,loadDataType:de}=k,ye={layerType:z,dataField:Y,parentField:ie,pathField:me,layerField:oe,isDetailField:te,loadDataType:de},{onlySelectLeaf:q,loadTreeDataType:Z}=c;ye.onlySelectLeaf=q,ye.loadDataType=Z,j?c.navTreeInfo=Object.assign(c.navTreeInfo||{},ye):c.treeInfo=Object.assign(c.treeInfo||{},ye)}};function f(k,j,z="like"){if(j==null||!j.trim())return[];const Y=Array.from(new Set(j.trim().split(" ").filter(de=>de.trim())));if(!k||!Y.length)return[];const me=z==="equal"?He.Equal:He.Like,oe=(k||[]).map((de,ye)=>{const q=Y.map((Z,ae)=>({filterField:de.value,value:Z,lbracket:"",rbracket:"",relation:We.And,compare:me}));return q.length&&(q.length>1&&(q[0].lbracket="(",q[q.length-1].rbracket=")"),q[q.length-1].relation=We.Or),q}).filter(de=>de.length);let te=[];return oe&&oe.length&&(te=re.flatten(oe),te.length>1&&(te[0].lbracket+="(",te[te.length-1].rbracket+=")"),te[te.length-1].relation=0),te}function b(){let{expandLevel:k}=c;return k&&!re.isNaN(k)&&(k=k<-1?-1:k),k??0}function v(k,j){const z={};z.category=j;let Y=null,ie=null;if(k!=null&&k.search){const{field:me,value:oe,isNavigation:te,type:de}=k.search,ye=de||"like";if(oe&&(z.searchValue=oe.trim()),z.searchField=me?me.trim():"*",z.searchType=ye,te&&(z.category="navsearch"),e.enableMultiFieldSearch)Array.isArray(k.search)&&k.search.length&&(z.category==="navsearch"?Y=k.search:ie=k.search),z.category==="search"&&!ie&&!Y&&(z.category="all");else{te&&(z.searchType="like");const q=z.searchType==="equal"&&z.searchValue?[{filterField:z.searchField,value:z.searchValue,lbracket:"",rbracket:"",relation:We.And,compare:He.Equal}]:[],Z=te?g.value:s.value,ae=z.searchField==="*"?f(Z,oe,ye):q;ae&&ae.length&&(te?Y=ae:ie=ae),oe===""&&z.category==="search"&&!ie&&!Y&&(z.category="all")}}return y()&&(z.layerNum=b()),{searchParam:z,navSearchConditions:Y,searchConditions:ie}}function C(k){var z,Y;if(k==="fav")return{pageIndex:1,pageSize:500};let j="default";return k==="navsearch"&&(j="navigation"),{pageIndex:((z=r[j])==null?void 0:z.index)||1,pageSize:((Y=r[j])==null?void 0:Y.size)||20}}function T(k){const j={},z=(k==null?void 0:k.action)||"all",{searchParam:Y,navSearchConditions:ie,searchConditions:me}=v(k,z);me&&(j.searchConditions=me),ie&&(j.navSearchConditions=ie),j.enableFullTree=e.enableFullTree,k.sort&&Object.assign(Y,k.sort),j.searchValue=JSON.stringify(Y);const{pageIndex:oe,pageSize:te}=C(z);return j.pageIndex=oe,j.pageSize=te,j.treeToList=e.treeToList,j.navTreeToList=e.navTreeToList,c.loadTreeDataType===Fe.default?j.loadTreeDataType="default":j.loadTreeDataType=c.loadTreeDataType===Fe.all?"loadall":"layerload",k!=null&&k.relationFilter&&(j.relationFilter=[...k.relationFilter]),k!=null&&k.navNodePathCode&&(j.navPathCode=k.navNodePathCode),k.selectedInfo&&(j.selectedInfo=k.selectedInfo),j.customData=i.toRaw(Ge.value),j.id=e.id,j}function F(k){return k==null?void 0:k.map(j=>(j.resizable=!0,j))}function x(k,j){return k.map(z=>{const Y=j==null?void 0:j.find(ie=>ie.field.toLowerCase()===z.value.toLowerCase());return Y&&(z.label=Y.title),z})}function w(k){k.columns&&(k.columns=F(k.columns),k.searchFields&&(k.searchFields=x(k.searchFields,k.columns))),k.navigation&&k.navigation.columns&&(k.navigation.columns=F(k.navigation.columns),k.navigation.searchFields&&(k.navigation.searchFields=x(k.navigation.searchFields,k.navigation.columns)))}function E(){return c.loader||o&&o.getData.bind(o)}function I(k){const j=E();return j?j(c.uri,k).then(z=>(w(z),u.value=!1,z)):new Promise((z,Y)=>{z({...e})})}function L(k){const j=b();return j===-1?!0:j===0?!1:k<=j}function P(k,j=!1,z="layer"){k.forEach(Y=>{var ie;Y.collapse=j?!1:c.loadTreeDataType==="all"?!L(A.resolveField(Y.data,z)):!(Y.expanded??!0),Y.hasChildren=!Y.leaf,(ie=Y.children)!=null&&ie.length&&P(Y.children,j,z)})}async function N(k,j){var ie,me;const z=T(k),Y=t==null?void 0:t.show();try{let oe=await I(z);if(c.displayType!==oe.displayType&&k.action!=="navsearch"&&(c.displayType=oe.displayType),y()){const{items:te,treeInfo:de}=oe.navigation||oe;if(c.loadDataType===Fe.default&&(c.loadTreeDataType=(de==null?void 0:de.loadDataType)||Fe.all),te!=null&&te.length&&de){const{dataField:ye,layerField:q}=de;P(te,!1,`${ye}.${q}`)}}e.beforeLoadData&&(oe=await e.beforeLoadData({data:oe})),j(oe)}catch{(ie=a.getCurrentModal())==null||ie.close()}finally{(me=Y==null?void 0:Y.value)==null||me.close()}}function V(k){m.value=k}function D(k,j){if(!j)return"";const{dataField:z,pathField:Y}=j;return Y?z?k[z][Y]:A.resolveField(k,Y):""}function R(k){const j=[];return(k.selectable||k.selectable===void 0)&&j.push(k),k.children&&k.children.length&&k.children.forEach(z=>{j.push(...R(z))}),j}function W(k,j=!1){if(!(k!=null&&k.length))return k;const z=j?c.navTreeInfo:c.treeInfo,{dataField:Y,layerField:ie}=z||{};return Y&&ie&&P(k,!0,`${Y}.${ie}`),k}function $(){try{const k=S.value;return k!==""&&k!=null?k:""}catch(k){return console.error("Error in getIdValues:",k),""}}function _(){const k=$();return{selectedIds:Array.isArray(k)?k:String(k??"").split(e.separator??","),selected:!0}}return{includeChilds:m,updateIncludeChilds:V,idValues:S,getData:I,loadData:N,updateSearchFieldTitle:x,getPathCode:D,getChildNodes:R,lookupStates:l,httpService:o,lookupRequest:E,expandAllNodes:W,getIdQueryParams:_,setTreeInfo:h,getFieldValue:A.resolveField}}function tn(e,n){i.watch(()=>e.pagination,(a,o)=>{JSON.stringify(a)!==JSON.stringify(o)&&(n.default=a)}),i.watch(()=>{var a;return(a=e.navigation)==null?void 0:a.pagination},(a,o)=>{JSON.stringify(a)!==JSON.stringify(o)&&(n.navigation=a)});function t(a,o=!1){a&&(o?n.navigation={...n.navigation,...a}:n.default={...n.default,...a})}return{updatePageInfo:t}}const ct="F_LOOKUP_USER_DATA_SERVICE";function ba(e,n){const t=i.inject("FLoadingService",null),{lookupStates:a,lookupRequest:o,httpService:l}=n,{lookupOptions:r}=a,p=i.computed(()=>{const m=r.userDataKey||e.id;return m?A.encrypt(m):""}),d=i.reactive({key:p.value,data:{}});function c(){return l?l.getSettings(d.key).then(m=>(m&&m.textValue?d.data=JSON.parse(m.textValue):d.data={},e.enableUserData||(d.data.tabIndex=ve.dataList),m)):Promise.resolve()}function u({width:m,height:y}){var h;d.data.size=((h=d.data)==null?void 0:h.size)||{},d.data.size={width:m,height:y}}function s(m=!1){if((e.enableUserData||m)&&l){const{key:y,data:h}=d,f={configkey1:y,configkey2:"",configkey3:"",textvalue:JSON.stringify(h)};return l==null?void 0:l.updateSettings(y,f)}return Promise.resolve()}function g(m){const y={category:"fav",favoriteIds:m.favoriteIds};return{searchValue:JSON.stringify(y),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function S(){var f;const m=g({favoriteIds:(f=d.data)==null?void 0:f.favorites}),y=t==null?void 0:t.show(),h=o();return h?h(r.uri,m).then(b=>{var v;return(v=y.value)==null||v.close(),d.favoriteItems=b&&b.items||[],b}):Promise.resolve()}return{userDataState:d,setDialogSize:u,saveUserData:s,getFavoriteData:S,getUserData:c}}const qe=Symbol("FARRIS_LOOKUP_LOCALES");function va(e){const{getLocaleValue:n}=Pe.LocaleService;function t(c,u,s){return c===u?n(s):c}const a=t(e.placeholder,"???","lookup.placeholder"),o={datalist:n("lookup.datalist")||"????",favorite:n("lookup.favorites")||"???"},l={ok:n("lookup.okText")||"??",cancel:n("lookup.cancelText")||"??",clear:n("lookup.selectedInfo.clear")||"????",addFav:n("lookup.favoriteInfo.addFavTitle")||"??",removeFav:n("lookup.favoriteInfo.cancelFavTitle")||"????",selectionTotal:c=>n("lookup.selectedInfo.total",[c])},r={clearSelections:n("lookup.selectedInfo.confirm")||"??????????????",addedFavSuccess:n("lookup.favoriteInfo.addFav")||"????????",cancelFavSuccess:n("lookup.favoriteInfo.cancelFav")||"?????????",mustChoosAdatarow:n("lookup.mustChoosAdatarow")||"????????",mustWriteSomething:n("lookup.mustWriteSomething")||"??????????"},p={includechildren:n("lookup.includechildren")||"????",both:n("lookup.cascade.enable")||"????",up:n("lookup.cascade.up")||"????",down:n("lookup.cascade.down")||"????",disable:n("lookup.cascade.disable")||"?????"};return{searchColumns:{allColumns:n("lookup.allColumns")||"???",anyFields:n("lookup.anyFields")||"??",exactLabel:n("lookup.exact")||"??"},placeholder:a,tree:p,messages:r,tabs:o,buttons:l}}const Pt=A.useNumberFormat(),It=A.useDateFormat();function nn(e){if(e&&(typeof e=="string"||typeof e=="object")&&typeof e=="string")try{const n=`return (${e});`,a=new Function(n)();typeof a=="object"&&a!==null&&!Array.isArray(a)?e=a:e=null}catch{e=null}return e}function kt(e,n){const t=nn(n);return t&&typeof t=="object"&&e.forEach(a=>{const o=t[a.field];o&&typeof o=="function"&&(a.formatter=(l,r)=>o({column:l.column,rowData:r.raw,formatter:{number:{...Pt},date:{...It}}}))}),e}function Je(e,n=!1){const t={wrapContent:!1,customRowStyle:null,customCellStyle:null},a=n?e.customNavFormatter:e.customFormatter,o=nn(a);if(o){const{rowStyler:l,cellStyler:r}=o;l&&(t.customRowStyle=p=>l({rowData:p,formatter:{number:{...Pt},date:{...It}}})),r&&(t.customCellStyle=(p,d)=>r({rowData:d.raw,column:p.column,formatter:{number:{...Pt},date:{...It}}}))}return t}function Et(e,n){const t=i.inject(ot.F_NOTIFY_SERVICE_TOKEN),a=i.inject(ct),o=i.inject(qe),{userDataState:l}=a;l.data=l.data||{};const r="_favorite_",p=i.ref(!1);function d({id:f,data:b},v="add"){var T,F;if(f==null&&f==="")return;const C=f;l.data.favorites=((T=l.data)==null?void 0:T.favorites)||[],l.favoriteItems=l.favoriteItems||[],v==="add"?(p.value=!1,l.data.favorites=Array.from(new Set([...((F=l.data)==null?void 0:F.favorites)||[],C])),l.favoriteItems=[...l.favoriteItems,b]):(p.value=!0,l.data.favorites=l.data.favorites.filter(x=>x!==C),l.favoriteItems=l.favoriteItems.filter(x=>x[n]!==C)),a==null||a.saveUserData(!0).then(x=>{const w=v==="add"?o.messages.addedFavSuccess:o.messages.cancelFavSuccess;t==null||t.success({message:w,position:"top-center"})})}function c(f){return f?f.raw[n]:""}const u=i.computed(()=>f=>{var v,C;const b=c(f);return(C=(v=l.data)==null?void 0:v.favorites)==null?void 0:C.includes(b)});function s(f,b,v){f.stopPropagation();const C=c(b);d({id:C,data:b.raw},u.value(b)?"remove":"add")}const g=f=>u.value(f)?o.buttons.removeFav:o.buttons.addFav,S=(f,b)=>i.createVNode("button",{type:"button",onClick:v=>{s(v,b)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":u.value(b)}],style:"color: #ffbd8c;",title:g(b)},null),m=(f,b)=>b.disabled?"":S(f,b),y={field:r,title:"",width:50,fixed:"right",align:"center",formatter:S};function h(f,b,v=!1){let C=re.cloneDeep(b);e.enableFavorite&&(y.formatter=v?m:S,C.push(y)),C=kt(C,e.customFormatter),f==null||f.updateColumns(C)}return{favorite:y,removeFavoriteItem:p,setColumns:h}}function Lt(e,n,t,a){const{selectionState:o,unSelectDataId:l,lookupOptions:r}=t,p=i.computed(()=>!(o.value&&o.value.length));a&&i.watch(()=>a.value,(d,c)=>{var u,s,g;if(d===ve.dataList&&d!==c&&!p.value){const S=o.value.map(m=>m[r.idField??"id"]);(u=n.value)==null||u.clearSelection(),(s=n.value)==null||s.selectItemByIds(S),e.multiSelect||(g=n.value)==null||g.activeRowById(S[0])}}),i.watch(p,(d,c)=>{var u;d&&((u=n.value)==null||u.clearSelection())}),e.showSelections&&r.multiSelect&&i.watch(l,d=>{var c;d&&((c=n.value)==null||c.unSelectItemByIds(d))})}const _e=Symbol("LOOKUP_SELECTIONS_MANAGER");function an(e,n){const{selectionState:t,unSelectDataId:a,lookupOptions:o}=n,l=i.computed(()=>o.idField??"id");function r(v){return v[l.value]}function p(){let v=new Map;return t.value&&t.value.length&&(v=new Map(t.value.map(C=>[C[l.value],C]))),v}function d(){t.value=[]}function c(){return t.value||[]}function u(){return t.value.map(v=>v[l.value])}function s(v){if(!v)return;if(!l.value){console.error("idField is required");return}const C=Array.isArray(v)?v:[v],T=p();C.forEach(F=>{T.delete(F)}),t.value=Array.from(T.values()),a.value=C}function g(v){return p().has(v)}function S(v,C=!0){if(!v)return;if(!l.value){console.error("idField is required");return}const T=Array.isArray(v)?v:[v];if(!T.length)return;if(!T.every(w=>l.value in w)){console.error("Some items do not have the specified idField:",l.value);return}const F=T.map(w=>w[l.value]);if(!o.multiSelect){if(F.length&&g(F[0]))return;d()}const x=p();if(C){const w=new Map(T.map(E=>[E[l.value],E]));F.forEach(E=>{x.has(E)||x.set(E,w.get(E))})}else F.forEach(w=>{x.delete(w)});t.value=Array.from(x.values())}function m(v){if(!v||!v.length)return;const C=v.map(T=>T.data);S(C)}function y(v){if(v){const C=v.raw[l.value];s(C)}}function h(v){!v||!v.length||s(v)}const f=i.computed(()=>t.value.map(v=>A.resolveField(v,o.textField??"")).join(e.separator)),b=i.computed(()=>t.value.map(v=>A.resolveField(v,o.idField??"id")).join(e.separator));return{updateSelections:S,clearSelections:d,getSelectionIds:u,getSelections:c,unSelectionsByIds:s,selectTreeNodes:m,unSelectTreeNode:y,unSelectTreeNodes:h,isSelected:g,getPrimaryKey:r,textValue:f,idValue:b}}function on(e,n){const{getSelectionIds:t}=an(e,n),{lookupOptions:a}=n;function o(p,d){p==null||p.updateDataSource(d||[])}function l(p){const d=t();if(d&&d.length){if(a.multiSelect){p==null||p.selectItemByIds(d);return}p==null||p.activeRowById(d[0])}}function r(p,d){o(p,d),l(p)}return{loadData:o,selectItemByIds:l,loadAndSelect:r}}function Nt(e){const n=i.ref(null);function t(a){var l;const{sortConditions:o}=a;if(o&&o.length){const{sortField:r,sortType:p}=o[0],d=(l=e.columns)==null?void 0:l.find(c=>c.field===r);n.value={sortName:r,sortOrder:p?"desc":"asc"},d&&(n.value.sortName=d.fieldPath||d.field)}else n.value=null}return{sortChanged:t,sortInfo:n}}function ln(e,n,t){const a=i.inject(je,i.ref(ve.dataList)),o=i.inject(ke),l=i.inject(_e),{lookupStates:r,loadData:p,includeChilds:d,getPathCode:c,getChildNodes:u}=o,{lookupState:s,navigationState:g,pageInfoState:S,searchState:m,lookupOptions:y,queryState:h}=r,{checkPaination:f,checkMultiSelect:b,checkColumnOptions:v,navIsTreeList:C,isPathCodeTree:T,sortOption:F}=Be(e,r),{updatePageInfo:x}=tn(e,S),{updateSelections:w,isSelected:E,getPrimaryKey:I}=l,{loadAndSelect:L}=on(e,r),P=f(e.pagination),N=b(),V=v(),D=i.ref(),R=i.ref([]),{navSelectedItems:W,getNavigationIdField:$,getRelationFilter:_}=t;x(P);const k=i.ref(S.default),{setColumns:j}=Et(e,y.idField??"id"),z=i.ref("lookup-datagrid"),{sortChanged:Y,sortInfo:ie}=Nt(s),me=Je(y);i.watch(()=>S.default,M=>{var U;k.value=M,(U=D.value)==null||U.updatePagination(M)}),Lt(e,D,o.lookupStates,a);function oe(M,U,X){const pe={total:U};if(X){const{pageIndex:he,pageSize:Me,enablePager:ht,pageList:Hn}=X;Object.assign(pe,{index:he,size:Me,enable:ht})}else pe.enable=!1;x(pe),L(D.value,M||[]),z.value="lookup-datagrid"+(M&&M.length?"":" lookup-datagrid-empty")}const te=i.computed(()=>{var he;if(!((he=W.value)!=null&&he.length))return null;const M=W.value,U={relationFilter:_(M)};if(!C()||!d.value)return U;const{treeInfo:X}=g,pe={action:"navAllChildren",...U};return T(X)?Object.assign(pe,{navNodePathCode:c(M[0].data,X)}):pe}),de=i.watch([()=>s==null?void 0:s.columns,()=>s==null?void 0:s.items,()=>s==null?void 0:s.pageInfo,()=>s==null?void 0:s.total,()=>s==null?void 0:s.selectedData],([M,U,X,pe,he])=>{D.value&&(M&&j(D.value,M),he&&he.length&&w(he),U&&oe(U,pe||0,X))});i.watch(()=>e.idValue,M=>{R.value=String(M??"").split(e.separator||",")});function ye(M){if(M&&M.length&&!y.multiSelect){const U=I(M[0]);if(E(U)){n.emit("selectionsChanged",{items:M});return}}w(M),n.emit("selectionsChanged",{items:M})}function q(M,U){!y.multiSelect&&e.openType==="Modal"&&(w([U]),n.emit("dblClickRow",{items:[U]}))}function Z(M){w(M==null?void 0:M.raw,!1)}function ae(){const M={search:m.default,action:"list"};!m.default&&h.value&&(M.search={field:"*",value:h.value,type:"like"}),e.openType==="Modal"&&te.value&&Object.assign(M,te.value),ie.value&&(M.action="search",M.sort=ie.value),p(M,U=>{oe(U.items,U.total||0,U.pageInfo)})}const le=re.debounce(()=>{x({index:1}),ae()},200),se=i.watch(()=>W==null?void 0:W.value,M=>{if(y.uri){le();return}const U=M.map(X=>X[$()]);n.emit("navSelectionsChanged",{items:M,ids:U})}),J=i.watch(()=>m.default,M=>{if(y.uri){le();return}n.emit("search",M)}),H=i.watch(()=>d.value,()=>{if(y.uri&&W.value&&W.value.length){le();return}});function ne(){de(),se(),J(),H()}i.watch(()=>y.displayType,M=>{(M??"").toLowerCase()==="treelist"&&ne()});function ue({pageSize:M,pageIndex:U}){var he;let X=U;((he=k.value)==null?void 0:he.size)!==M&&(X=1);const pe={size:M,index:X,isNavigation:!1};if(x(pe),y.uri){ae();return}n.emit("pageSizeChanged",pe)}function ge(M){Y(M),ae()}function B(){return i.createVNode(lt.FDataGrid,{ref:D,customClass:z.value,id:A.locatorChild(e.id,"grid").id,pagination:k.value,summary:{enable:!1},columnOption:V,idField:y.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:N,selectionValues:R.value,onSelectionUpdate:ye,onUnSelectItem:Z,onChanged:ue,onDoubleClickRow:q,rowOption:me,sort:F,onSortChanged:ge},null)}return{datagridRef:D,selectionValues:R,renderDataGrid:B,unwatches:ne}}const Ye=Symbol("LOOKUP_TREEROW_OPTIONS"),rn={cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1},collapseField:"collapse",hasChildrenField:"hasChildren"};function sn(e,n=!1){function t(o){(o.raw.addtional||o.raw.selectable===!1)&&(o.disabled=!0);const l=n?e.navTreeInfo:e.treeInfo;return l!=null&&l.onlySelectLeaf&&(o.disabled=!o.raw.leaf),o}function a(){return Je(e,n)}return{customRowStatus:t,...a()}}function cn(e,n){const{lookupState:t,lookupOptions:a}=e;function o(h,f,b){return h.reduce((v,C)=>{var T;if(C.parents=[],f){const F=re.get(f.data,a.idField??"id");C.parent=f,C.parents=[...b||[],F]}return C.id=re.get(C,a.idField??"id"),v.push(C),(T=C.children)!=null&&T.length&&v.push(...o(C.children,C,C.parents)),v},[])}function l(h){var f;return(f=t==null?void 0:t.flattenTreeNodes)==null?void 0:f.find(b=>b.id===h)}function r(h){var f;return((f=t==null?void 0:t.flattenTreeNodes)==null?void 0:f.filter(b=>{var v;return(v=b.parents)==null?void 0:v.includes(h)}))??[]}function p(h){var b;if(!h)return[];const f=l(h);return((b=f==null?void 0:f.parents)==null?void 0:b.map(v=>l(v)))??[]}function d(h){var C;if(!h)return[];const f=l(h),b=((C=f==null?void 0:f.parents)==null?void 0:C.map(T=>l(T)))??[],v=r(h);return[...b,...v]}function c(h,f=!0){const b=p(h).filter(C=>{var T;return!((T=C.children)!=null&&T.some(F=>{var x;return(x=e.selectionState.value)==null?void 0:x.some(w=>w[a.idField??"id"]===F.id)}))}),v=f?[]:r(h);return b.concat(v)}function u(h,f,b=!0){var C;const v={down:()=>r(h),up:()=>b?p(h):c(h),both:()=>b?d(h):c(h,!1)};return((C=v[f])==null?void 0:C.call(v))??[]}function s(h,f={},b=!1){const{field:v="*",value:C=""}=f,T=!!C,{layerType:F,dataField:x,pathField:w,layerField:E}=(b?a.navTreeInfo:a.treeInfo)??{},I=F==="parentId",L={category:b?"navchildren":"children",searchField:v,searchValue:C,searchType:"like"};if(I)L.parentId=h.raw.id;else{const N=h.raw[x??""];L.parentPath=re.get(N,w??""),L.parentLayer=re.get(N,E??"")}const P={searchValue:"",customData:Ge.value,enableFullTree:a.enableFullTree,loadTreeDataType:a.loadTreeDataType==="all"?"loadall":"layerload"};return T&&(P.enableFullTree=!1,P.loadTreeDataType="layerload",I&&(L.searchValue="",L.searchField="*")),P.searchValue=JSON.stringify(L),P}function g(h,f=!1){const{isEnableCascadeCheck:b}=n,{layerType:v}=(f?a.navTreeInfo:a.treeInfo)??{},C=a.loadTreeDataType!=="all"&&v==="pathcode"&&b()&&(a.cascadeValue==="both"||a.cascadeValue==="down");return h?h.data&&!h.leaf&&C:C}function S(h){const{dataField:f,pathField:b}=a.treeInfo??{},v=h.data[f??""],C=re.get(v,b??"");return{searchValue:JSON.stringify({category:"allChildren"}),parentsIds:[C],customData:Ge.value}}function m(h,f){let b=h,v=null;for(const C of f){const T=b.find(F=>F.data[a.idField??"id"]===C);if(!T)return null;v=T,b=T.children||[]}return v}function y(h,f,b){var w;if(!b)return;const v=l(f),C=[...(v==null?void 0:v.parents)??[],f],T=(h??[]).map(E=>({...E,hasChildren:!E.leaf,parents:[...C]})),F=m(t.flattenTreeNodes||[],C);F&&(F.children=[...T],(w=t.flattenTreeNodes)==null||w.push(...T));const{isDropdownMode:x}=n;i.nextTick(()=>{var L;if(b.addChildrenToNode(T,f),x())return;const E=((L=e.selectionState.value)==null?void 0:L.map(P=>P[a.idField??"id"]))??[],I=T.filter(P=>E.includes(P.id)).map(P=>P.id);I.length&&b.selectItemByIds(I)})}return{flattenTreeNodes:o,getParents:p,getChildren:r,getParentsAndChildren:d,getTreeNodeWithCascadeValue:u,buildGetChildrenQueryParams:s,needGetAllChildNodes:g,buildGetAllChildrenQueryParams:S,loadChildNodes:y}}function dn(e,n){const t=i.inject(je,i.ref(ve.dataList)),a=i.inject(ke),{lookupStates:o}=a,{lookupState:l,searchState:r,lookupOptions:p,queryState:d}=o,c=i.inject(Ye),u=i.inject(_e),s=Be(e,o),{checkMultiSelect:g,checkColumnOptions:S,isEnableCascadeCheck:m,sortOption:y}=s,{setColumns:h}=Et(e,p.idField??"id"),{selectTreeNodes:f,unSelectTreeNode:b,unSelectTreeNodes:v,updateSelections:C,getSelectionIds:T}=u,F=g(),x=S(),w=i.ref(),E=i.ref([]),{sortChanged:I,sortInfo:L}=Nt(l),{loadAndSelect:P}=on(e,o),{loadData:N,expandAllNodes:V,getData:D}=a,{flattenTreeNodes:R,getTreeNodeWithCascadeValue:W,buildGetChildrenQueryParams:$,needGetAllChildNodes:_,buildGetAllChildrenQueryParams:k,loadChildNodes:j}=cn(o,s);function z(H,ne=!1){ne&&(H=V(H)),l.flattenTreeNodes=R(H||[]),P(w.value,H||[])}Lt(e,w,o,t);const Y=i.watch([()=>l==null?void 0:l.columns,()=>l==null?void 0:l.items,()=>l==null?void 0:l.pageInfo,()=>l==null?void 0:l.total,()=>l==null?void 0:l.selectedData],([H,ne,ue,ge,B])=>{w.value&&(B&&B.length&&C(B),H&&h(w.value,H,!0),z(ne||[],l.action==="search"))});function ie(H,ne=!0){const{cascadeValue:ue}=p;return m()&&ue!==Ct.Disable?W(H,ue,ne).filter(B=>B.selectable||B.selectable===void 0).map(B=>B.id):[]}function me(H){f(H),n.emit("selectionsChanged",{items:H})}function oe(H){b(H);const ne=re.get(H.raw,p.idField??"id"),ue=ie(ne);if(_(H.raw)){const ge=k(H.raw);D(ge).then(B=>{const U=(B.items||[]).filter(pe=>!pe.addtional&&(pe.selectable||pe.selectable===void 0));U&&U.length&&f(U);const X=(U||[]).map(pe=>pe.id);v([ne,...ue,...X])})}else v([ne,...ue])}function te(H){const ne=re.get(H.raw,p.idField??"id"),ue=ie(ne);if(ue.length&&w.value.selectItemByIds([ne,...ue]),_(H.raw)){const ge=k(H.raw);D(ge).then(B=>{const U=(B.items||[]).filter(X=>!X.addtional&&(X.selectable||X.selectable===void 0));U&&U.length&&f(U)})}}function de(H){const ne={search:r.default,action:H};return!r.default&&d.value&&(ne.search={field:"*",value:d.value,type:"like"}),L.value&&(ne.action="search",ne.sort=L.value),ne}function ye(H="list"){const ne=de(H);N(ne,ue=>{z(ue.items,H==="search")})}const q=i.watch(()=>r.default,H=>{if(p.uri){ye("search");return}n.emit("search",H)});function Z(){Y(),q()}i.watch(()=>p.displayType,H=>{(H??"").toLowerCase()!=="treelist"&&Z()});function ae(H){if(w.value.hasChildren(H))return Promise.resolve();const ne=H.raw.id,ue=$(H,r.default||(d.value?{field:"*",value:d.value,type:"like"}:void 0));return D(ue).then(ge=>{j((ge==null?void 0:ge.items)??[],ne,w.value)})}function le(H){var ge;const{node:ne,$event:ue}=H;p.enableFavorite&&((ge=ue.target)==null?void 0:ge.className.indexOf("f-icon-star"))>-1||!p.multiSelect&&e.openType==="Modal"&&(C([ne]),n.emit("dblClickRow",{items:[ne]}))}function se(H){I(H),ye()}function J(){return i.createVNode(bt.FTreeGrid,{class:"lookup-treegrid",ref:w,id:A.locatorChild(e.id,"grid").id,fit:!0,data:e.data,idField:p.idField,columns:e.columns,rowNumber:{enable:!1},columnOption:x,selection:F,showBorder:!0,virtualized:!0,rowOption:c,hierarchy:rn,onSelectionUpdate:me,onUnSelectItem:oe,onSelectItem:te,loadData:ae,sort:y,onDblclickNode:le,onSortChanged:se},null)}return{treegridRef:w,selectionTreeValues:E,renderTreeGrid:J,unwatches:Z}}const Ca={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0},isNavigation:{type:Boolean,default:!1},id:{type:String,default:""},enableEqualSearch:{type:Boolean,default:!1},exactLabel:{type:String,default:"精确"},defaultSearchValue:{type:String,default:""}},Sa=i.defineComponent({name:"FLookupSearchBar",props:Ca,emits:["search"],setup(e,n){const t='<i class="f-icon f-icon-search"></i>',a=i.inject(ke),{queryState:o,lookupOptions:l}=a.lookupStates,r=i.ref(e.fields||[]),p=i.ref(""),d=i.ref(o.value),c=i.ref(e.isNavigation),u=i.ref(),s=i.ref(!1),g=i.computed(()=>({field:p.value,value:d.value,isNavigation:c.value,type:s.value?"equal":"like"}));function S(){if(!r.value.length)return;let b="";e.showAllColumns&&(b="*"),b=r.value[0].value;const v=r.value.find(C=>!!C.isDefault);v&&(b=v.value),p.value=b}i.watch(()=>e.fields,b=>{r.value=b,S()});function m(){n.emit("search",g.value)}const y=re.debounce(()=>m(),300);function h(){d.value="",m()}function f(b){b.key==="Enter"&&y()}return i.onMounted(()=>{S(),c.value&&(d.value=l.navDefaultQueryValue||"")}),()=>i.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[i.createVNode("div",{style:"width: 160px;"},[i.createVNode(jt.FComboList,{ref:u,id:A.locatorChild(e.id,"search-field").id,data:r.value,textField:"label",valueField:"value",idField:"value",modelValue:p.value,"onUpdate:modelValue":b=>p.value=b,enableClear:!1},null)]),i.createVNode("div",{class:"f-utils-fill ml-2 d-flex align-items-center"},[i.createVNode(ze.FButtonEdit,{buttonContent:t,class:"f-utils-fill",maxLength:200,modelValue:d.value,"onUpdate:modelValue":b=>d.value=b,onClickButton:m,enableClear:!0,onClear:h,onKeyup:f,popupOnClick:!0,id:A.locatorChild(e.id,"search").id},null),e.enableEqualSearch&&i.createVNode("div",{class:"custom-control custom-checkbox custom-control-inline pr-0 m-0 ml-2"},[i.withDirectives(i.createVNode("input",i.mergeProps({class:"custom-control-input"},A.locatorChild(e.id,"search-equal"),{type:"checkbox","onUpdate:modelValue":b=>s.value=b}),null),[[i.vModelCheckbox,s.value]]),i.createVNode("label",{class:"custom-control-label btn-link lookup-checkbox-label",for:A.locatorChild(e.id,"search-equal").id},[e.exactLabel])])])])}}),un=new Map([["appearance",we.resolveAppearance]]),fn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-search-box.schema.json",title:"field-search-box",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for field-search-box",type:"string"},type:{description:"The type string of field-search-box",type:"string",default:"field-search-box"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:"mx-3 mt-3"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},fields:{description:"搜索字段列表",type:"array",default:[]},defaultValue:{description:"默认搜索条件",type:"object"},disabled:{description:"是否禁用",type:"boolean",default:!1}},required:["id","type"],events:{"filter-change":"搜索条件变化事件"}};function pn(e,n,t){return n}const dt={customClass:{type:String,default:""},customStyle:{type:String,default:""},fields:{type:Array,default:[]},defaultValue:{type:Object,default:null},disabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!0}},Ta=we.createPropsResolver(dt,fn,un,pn);var ee=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterEqual=3]="GreaterEqual",e[e.Less=4]="Less",e[e.LessEqual=5]="LessEqual",e[e.Contains=6]="Contains",e[e.NotContains=9]="NotContains",e[e.IsEmpty=12]="IsEmpty",e[e.IsNotEmpty=13]="IsNotEmpty",e))(ee||{}),fe=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(fe||{});const mn=[{label:"包含",value:6},{label:"不包含",value:9},{label:"等于",value:0},{label:"不等于",value:1}],xa=40,Fa=i.defineComponent({name:"SearchFieldsPanel",props:{fields:Array,searchValue:{type:String,default:""},maxWidth:{type:Number,default:300},activeIndex:{type:Number,default:-1},locales:Object,referenceElement:{type:Object,default:null}},emits:["fieldSelected"],setup(e,n){const t=i.ref(e.fields||[]),a=i.ref(null),o=i.ref(null),l=i.ref(0),r=()=>{i.nextTick(()=>{const u=e.referenceElement||o.value,s=o.value;if(!u||!s)return;const g=u.getBoundingClientRect(),S=g.top,m=window.innerHeight-g.bottom,y=s.getBoundingClientRect().height,h=s.querySelector(".search-fields-list-content"),f=h?h.getBoundingClientRect().height:Math.max(y-xa,0),b=Math.max(y-f,0);if(S<f&&m<f){const v=Math.max(S,m,0);l.value=Math.max(v-b-8,60)}else l.value=0})};i.onMounted(r),i.watch(()=>e.fields,u=>{t.value=u||[],r()}),i.watch(()=>e.maxWidth,()=>r()),i.watch(()=>e.referenceElement,()=>r()),i.watch(()=>e.activeIndex,u=>{u>=0&&a.value&&i.nextTick(()=>{var g;const s=(g=a.value)==null?void 0:g.querySelectorAll(".search-fields-list-item");s&&s[u]&&s[u].scrollIntoView({block:"nearest"})})});function p(u,s){s.dataType==="boolean"?s.value={value:null,isEmpty:null}:e.searchValue?s.value={compare:ee.Contains,value:e.searchValue}:s.value={value:null,isEmpty:null,compare:void 0},n.emit("fieldSelected",s)}function d(){var s,g;const u=" "+(((g=(s=e.locales)==null?void 0:s.relation)==null?void 0:g.or)||"或")+" ";return e.searchValue.trim().split(" ").join('<span class="text-muted" style="margin: 0 5px;">'+u+"</span>")}const c=u=>{var S,m,y,h;const s=" "+(((m=(S=e.locales)==null?void 0:S.operators)==null?void 0:m.contains)||"包含")+" ",g=" "+(((h=(y=e.locales)==null?void 0:y.relation)==null?void 0:h.or)||"或")+" ";return u.title+(e.searchValue?s+e.searchValue.trim().split(" ").join(g):"")};return()=>{var u;return i.createVNode("div",{ref:o,class:"search-fields-list p-2",style:{maxWidth:e.maxWidth+"px"}},[i.createVNode("span",{style:"font-weight: bold;"},[((u=e.locales)==null?void 0:u.chooseField)||"选择搜索字段",i.createTextVNode(":")]),i.createVNode("div",{class:"search-fields-list-content mt-2",style:{maxHeight:l.value?l.value+"px; margin-right: -6px;":void 0,overflowY:"auto"}},[i.createVNode("ul",{ref:a},[t.value.map((s,g)=>{var h,f;const S=c(s),y=g===e.activeIndex?" active":"";return e.searchValue?i.createVNode("li",{class:"search-fields-list-item d-flex flex-row"+y,attr_field:s.field,title:S,onClick:b=>p(b,s)},[i.createVNode("span",{class:"search-field-title",title:s.title},[s.title]),i.createVNode("span",{class:"mx-2 text-muted"},[((f=(h=e.locales)==null?void 0:h.operators)==null?void 0:f.contains)||"包含"]),i.createVNode("div",{class:"f-utils-fill text-primary search-box-keyword",style:"text-overflow: ellipsis;",innerHTML:d()},null)]):i.createVNode("li",{class:"search-fields-list-item"+y,attr_field:s.field,title:S,onClick:b=>p(b,s)},[s.title])})])])])}}}),wa=i.defineComponent({name:"SearchInput",props:{placeholder:String,fields:Array,popoverOffsetWidth:Number,beforeOpenFieldsPanel:Function,disabled:Boolean,locales:Object},emits:["fieldSelected","inputKeydown","valueChange"],setup(e,n){const t=i.ref(),a=i.ref(),o=i.ref(""),l=i.ref(e.popoverOffsetWidth||20),r=i.ref(),p=i.computed(()=>{var f;const h=(f=t.value)==null?void 0:f.popoverRef;return h?h.shown:!1}),d=i.ref(-1);i.watch(o,()=>{d.value=-1}),i.watch(()=>e.fields,()=>{d.value=-1}),i.watch(p,h=>{h||(d.value=-1)});function c(h){var b,v;const f=!!o.value;(b=t.value)==null||b.clear(),(v=t.value)==null||v.hidePopup(),d.value=-1,n.emit("fieldSelected",h,f)}function u(){var h,f;(h=t.value)==null||h.getTextbox().focus(),(f=t.value)==null||f.showPopup()}const s=h=>{var b,v,C,T,F,x,w,E,I;const f=((b=e.fields)==null?void 0:b.length)||0;if(h.keyCode===38||h.keyCode===40){if(h.preventDefault(),!p.value){(v=t.value)==null||v.showPopup(),d.value=h.keyCode===40?0:Math.max(f-1,0);return}h.keyCode===40?d.value=d.value+1>=f?0:d.value+1:d.value=d.value-1<0?f-1:d.value-1;return}if(h.keyCode===13&&p.value){h.preventDefault(),h.stopPropagation();const L=d.value>=0?d.value:0,P=(C=a.value)==null?void 0:C.$el;if(P){const N=P.querySelectorAll(".search-fields-list-item");N&&N[L]&&(N[L].click(),(F=(T=t.value)==null?void 0:T.getTextbox())==null||F.blur(),o.value&&i.nextTick(()=>{var V;(V=t.value)==null||V.clear()}))}return}if(h.keyCode===27){p.value&&(h.stopPropagation(),h.preventDefault(),(x=t.value)==null||x.hidePopup());return}if(h.keyCode===8&&!o.value)(w=t.value)==null||w.hidePopup(),n.emit("inputKeydown",{key:h.keyCode===8?"backspace":"enter",event:h});else if(!((E=e.fields)!=null&&E.length)){(I=t.value)==null||I.clear(),h.preventDefault();return}},g=h=>{o.value=h.trim().replace(/\s+/g," "),n.emit("valueChange",o.value),p.value||u()},S=i.ref(300);let m=null;function y(h){S.value=window.innerWidth-h.getBoundingClientRect().left-l.value}return i.onMounted(()=>{var f,b;const h=(f=t.value)==null?void 0:f.getTextbox();h?(y(h),m=A.useResizeObserver(h,()=>{y(h)})):(b=r.value)==null||b.focus()}),i.onUnmounted(()=>{m&&m()}),n.expose({showPopover:p,focus:()=>{var h;return(h=t.value)==null?void 0:h.getTextbox().focus()},focusAndShow:u}),()=>{var h;return(h=e.fields)!=null&&h.length?i.createVNode(ze.FButtonEdit,{ref:t,readonly:!1,editable:!e.disabled,disable:e.disabled,placeholder:e.placeholder,enableClear:!1,maxLength:100,inputType:"text",popupOnClick:!0,placement:"auto",popupMinWidth:180,showAppendButton:!1,keepWidthWithReference:!1,popupClass:"search-fields-panel",limitContentBySpace:!0,beforeOpen:e.beforeOpenFieldsPanel,onKeydown:s,onChange:g,popupOffsetY:-4},{default:()=>{var f,b;return[p.value&&i.createVNode(Fa,{maxWidth:S.value,ref:a,locales:e.locales,fields:e.fields,searchValue:o.value,activeIndex:d.value,referenceElement:(b=(f=t.value)==null?void 0:f.getTextbox)==null?void 0:b.call(f),onFieldSelected:v=>c(v)},null)]}}):i.createVNode("input",{type:"text",class:"form-control",onKeydown:s,ref:r,onInput:f=>{f.target.value="",f.preventDefault()},placeholder:""},null)}}}),hn=new Map([["appearance",we.resolveAppearance]]),gn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},dataSource:{description:"",type:"string"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打开下拉面板前回调",type:"string"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function yn(e,n,t){return n}function Va(){function e(n,t,a){const o={};return o.beforeOpen=l=>t.call("beforeOpen",n,[l,n],a),o}return{resolve:e}}const ut={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},Pa=Object.assign({},ut,{readonly:{}}),bn={clear:(...e)=>!0,"update:modelValue":(...e)=>!0,change:(...e)=>!0,input:(...e)=>!0,dataChanged:(...e)=>!0,expandClick:(...e)=>!0,hidden:(...e)=>!0,shown:(...e)=>!0};we.createPropsResolver(ut,gn,hn,yn);const vn=we.getPropsResolverGenerator(ut,gn,hn,yn),Ia=Va(),ka={id:{type:String,default:""},dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Ea=i.defineComponent({name:"FComboListContainer",props:ka,emits:["selectionChange"],setup(e,n){const t=i.ref(),a=i.ref(e.dataSource),o=i.ref(e.dataSource),l=i.ref([]),r=i.ref(e.separator),p=i.ref(e.width),d=i.ref(e.maxHeight),c=i.computed(()=>e.multiSelect),u=i.ref(e.multiSelect?String(e.selectedValues).split(r.value):[e.selectedValues]),s=i.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:c.value,showSelectAll:e.showSelectAll,showSelection:!0}));i.watch(e.dataSource,()=>{a.value=e.dataSource,o.value=e.dataSource}),i.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const g=i.computed(()=>{const f={};return p.value!==void 0&&(f.width=`${p.value}px`),d.value!==void 0&&d.value>0&&(f.maxHeight=`${d.value}px`),f});function S(f){t.value.search(f)}function m(f){l.value=f.map(b=>Object.assign({},b)),u.value=f.map(b=>b[e.idField]),n.emit("selectionChange",l.value)}function y(f){if(e.enableHighlightSearch)return;let b=[];const{searchOption:v}=e;typeof v=="function"?b=a.value.filter(C=>v(f,C)):b=a.value.filter(C=>C[e.valueField].indexOf(f)>-1||C[e.textField].indexOf(f)>-1),t.value.updateDataSource(b)}i.watch([()=>e.selectedValues],([f])=>{e.multiSelect?f===null?u.value=[]:u.value=String(f).split(r.value):f===null?u.value=[]:u.value=[f]});function h(f){t.value.activeRowById(f)}return i.onMounted(()=>{var f,b;if(!e.multiSelect){const v=(f=u.value)==null?void 0:f[0];let C=v;const T=a.value.map(F=>F[e.valueField||e.idField]);if(!re.isUndefined(v)&&T.includes(v)){const F=typeof v,x=typeof((b=a.value[0])==null?void 0:b[e.valueField||e.idField]);x==="number"&&F!==x&&(C=Number(v)),x==="boolean"&&F!==x&&(C=v==="true"?!0:v==="false"?!1:v),h(C)}}}),n.expose({search:S,activeRowById:h}),()=>i.createVNode("div",{class:"f-combo-list-container",style:g.value},[i.createVNode(Gn,{ref:t,id:e.id,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:a.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:s.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:u.value,onSelectionUpdate:m,onAfterSearch:y},null)])}}),Cn={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},La=(e,n)=>{const t=e.lineHeight/2,a=A.useTouchMomentum({maxOverflowY:44}),o=i.reactive({...Cn}),l=C=>{n.emit("change",C)},r=i.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),p=()=>{r.max=e.visiableOptionCount/2*e.lineHeight;const C=e.column.length*e.lineHeight;r.min=r.max-C+e.lineHeight},d=(C=0)=>{p(),r.index=C,r.value=r.max-C*e.lineHeight,r.currentItem=e.column[C]},c=C=>{const T=e.column.length-1,F=Math.min(r.index,T),x=e.column.findIndex(w=>w[e.valueField]===C);return x>=0?x:F},u=C=>{const T=e.column.length-1;return r.index>T?e.column[T]:e.column[C]},s=C=>{C&&(r.currentItem=C,o.duration=0);const T=r.currentItem[e.valueField],F=c(T),x=u(r.index)[e.valueField];d(F),T!==x&&setTimeout(()=>{l(r.currentItem)},o.duration*1e3)},g=()=>{const C=Array.isArray(e.value)?e.value[0]:e.value;d(c(C))};g(),i.watch(()=>e.value,()=>{e.multiSelect||g()}),i.watch(()=>e.column,()=>s());const S=(C,T=r.max,F=r.min)=>{const x=r.start+C;r.value=x>t?Math.min(x,T):Math.max(x,F),r.index=Math.round((r.max-r.value)/e.lineHeight),r.currentItem=u(r.index)},m=A.useTouch(),y=C=>{m.start(C),r.active=!0,r.start=r.value,a.start(r.start),o.duration=0},h=C=>{C.preventDefault(),m.move(C),S(m.deltaY.value,r.max+e.lineHeight,r.min-e.lineHeight),a.move(m.deltaY.value),o.duration=Cn.duration},f=C=>{const T=C<0,F=C%e.lineHeight>t?1:0,x=Math.floor(C/e.lineHeight);return(T?x-F:x+F)*e.lineHeight+t};return{translateY:r,transition:o,onTouchStart:y,onTouchMove:h,onTouchEnd:()=>{r.start=0;const C=a.end();let T=0;if(C){const{destination:F,duration:x}=a.get(r.value,r.min,r.max);T=F,o.duration=x/1e3}else T=r.value;S(f(T)),l(r.currentItem)},onTransitionend:()=>{r.active=!1},updateTranslate:s}},Na={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},Ma=i.defineComponent({props:Na,emits:["change","click"],setup(e,n){const{addUnit:t}=A.useCommonUtils(),{bem:a}=A.useBem("FComboTouchList"),{translateY:o,transition:l,onTouchStart:r,onTouchMove:p,onTouchEnd:d,onTransitionend:c}=La(e,n),u=S=>{n.emit("click",S)},s=i.computed(()=>({transform:`translateY(${t(o.value)})`,transition:`all ${o.active?l.duration:0}s ${l.timingFunction} 0s`})),g=S=>e.showIcon?Array.isArray(e.value)&&e.value.includes(S[e.valueField]):!1;return()=>i.createVNode("div",{class:a("column"),style:s.value,onTouchstart:r,onTouchmove:p,onTouchend:d,onTransitionend:c},[e.column.map(S=>i.createVNode("div",{class:a("column-item"),onClick:()=>u(S)},[i.createVNode("span",null,[S[e.textField]]),g(S)&&i.createVNode("span",{class:`f-icon f-icon-check ${a("column-item-icon")}`},null)]))])}}),Da={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},Ba=(e,n)=>{const{finalValue:t,initValue:a,setSelectedByIndex:o,getSelectedValueByIndex:l}=n,{isArray:r,isFunction:p,isObject:d}=A.useCommonUtils(),c=T=>T&&T[0],u=i.computed(()=>{var T;return((T=e.columns)==null?void 0:T.length)>0&&r(e.columns[0])}),s=T=>{if((T==null?void 0:T.length)===0)return!1;const F=c(T);return F&&r(F[e.childrenField])},g=(T,F)=>{const x=c(T),w=l(F);let E=T.find(L=>L[e.valueField]===w);E=E||x;const I=E[e.childrenField]||[];if(s(I)){const L=g(I,F+1);return[I,...L]}return[I]},S=()=>{const T=e.columns,F=g(T,0);return[T,...F]},m=(T,F)=>{const x=T[e.textField];return p(e.optionFormatter)?e.optionFormatter(F,T):x},y=(T,F)=>T.map(x=>{const w=d(x)?x:{[e.valueField]:x,[e.textField]:x};return w[e.textField]=m(w,F),w}),h=i.computed(()=>{let T=[];return u.value?T=e.columns:s(e.columns)?T=S():T=[e.columns],T.map(y)}),f=()=>h.value.map((T,F)=>{const x=t.value[F];return T.find(E=>E[e.valueField]===x)}).filter(T=>T),b=()=>f().map(T=>T[e.valueField]),v=()=>f().map(T=>T[e.textField]).join("-"),C=()=>{h.value.forEach((T,F)=>{if(e.multiSelect)t.value[F].forEach(w=>{const E=T.find(I=>I[e.valueField]===w);E&&o(F,E)});else{const x=t.value[F],w=T.find(E=>E[e.valueField]===x);w?o(F,w):o(F,c(T))}})};return i.watch(()=>e.modelValue,()=>{a(e.modelValue),C()},{immediate:!0}),{columns:h,getPickeds:f,getValue:b,getTextValue:v}},Oa=e=>{const{isArray:n,isMultiArray:t,isString:a,isDef:o}=A.useCommonUtils(),l=f=>{let b=[];return n(f)?b=f:a(f)?b=f.split(e.separator):o(f)&&(b=[f]),e.multiSelect?t(b)?b:[b]:b},r=i.ref([]),p=f=>{r.value=l(f)},d=i.reactive([]),c=i.computed(()=>d.map(f=>f[e.valueField])),u=i.reactive([]),s=i.computed(()=>u.map(f=>f.map(b=>b[e.valueField])));return{finalValue:r,initValue:p,getSelected:()=>e.multiSelect?u:d,getSelectedValue:()=>e.multiSelect?s.value:c.value,setSelectedByIndex:(f,b)=>{if(e.multiSelect){const v=u[f]||[];v.includes(b)?u[f]=v.filter(C=>C!==b):u[f]=[...v,b]}else d[f]=b},getSelectedByIndex:f=>e.multiSelect?u[f]:d[f],getSelectedValueByIndex:f=>e.multiSelect?s.value[f]:c.value[f]}},Aa=i.defineComponent({props:Da,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:t}=n,{addUnit:a}=A.useCommonUtils(),o=Oa(e),{finalValue:l,getSelectedValue:r,getSelectedValueByIndex:p,getSelected:d,setSelectedByIndex:c}=o,{columns:u}=Ba(e,o),s=(v,C=!0)=>{const{value:T,index:F}=v;(C&&!e.multiSelect||!C&&e.multiSelect)&&(t("change",v),c(F,T))},g=()=>{l.value=r(),t("confirm",d()),t("update:modelValue",l.value)},S=()=>{t("cancel")},{bem:m}=A.useBem("FComboTouchList"),y=()=>i.createVNode("div",{class:m("toolbar")},[i.createVNode("div",{class:m("toolbar-left"),onClick:S},[i.createVNode("span",null,[e.cancelText])]),i.createVNode("div",{class:m("toolbar-title")},[i.createVNode("span",null,[e.title])]),i.createVNode("div",{class:m("toolbar-right"),onClick:g},[i.createVNode("span",null,[e.confirmText])])]),h=i.computed(()=>{const v=(e.visiableOptionCount+1)*e.lineHeight;return{height:a(v)}}),f=i.computed(()=>{const v=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${a(v)}`}}),b=()=>i.createVNode("div",{class:m("content")},[i.createVNode("div",{class:m("columns"),style:h.value},[u.value.map((v,C)=>i.createVNode(Ma,{column:v,value:p(C),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:T=>s({value:T,index:C}),onClick:T=>s({value:T,index:C},!1)},null)),!e.multiSelect&&i.createVNode("div",{class:m("mask"),style:f.value},null),i.createVNode("div",{class:m("frame")},null)])]);return()=>i.createVNode("div",{class:m("")},[e.showToolbar&&y(),b()])}});function Ra(e,n){const t=i.ref(""),a=i.ref(e.modelValue),o=i.ref(e.data||[]),l=i.ref(e.editable),r=i.computed(()=>e.hideDisabledItems?o.value.filter(f=>!f.disabled):o.value);function p(f){const b=e.multiSelect?String(f).split(e.separator):[String(f)],v=b.map(F=>[F,!0]),C=new Map(v);return o.value.filter(F=>C.has(String(F[e.valueField]))).sort((F,x)=>{const w=b.indexOf(F[e.valueField]),E=b.indexOf(x[e.valueField]);return w-E})}function d(f){const b=p(f).map(v=>v[e.textField]).join(e.separator);t.value=l.value?b||f:b}function c(f){if(e.multiSelect){const b=f.split(e.separator).map(C=>[C,!0]),v=new Map(b);return o.value.filter(C=>v.has(C[e.textField]))}return o.value.filter(b=>""+b[e.textField]===f)}function u(f){const b={};return b[e.idField]=f,b[e.textField]=f,[b]}function s(f){let b=c(f);const v=b&&b.length>0;return l.value&&!v&&(b=u(f)),b}function g(){const{url:f,method:b="GET",headers:v={"Content-Type":"application/json;charset=utf-8;"},body:C=null}=e.remote;if(!f)return;const{basePath:T}=A.useFarrisConfig().value,F=b.toLowerCase()==="get"?{method:b,headers:v}:{method:b,headers:v,body:C};let x=!1;fetch(new Request(T+f,F)).then(w=>{var I,L;if(w.status===200)return x=!!((L=(I=w.headers)==null?void 0:I.get("content-type"))!=null&&L.includes("application/json")),x?w.text():w.json();throw w.status===405?new Error(Pe.LocaleService.getLocaleValue("comboList.remoteError")):new Error(w.statusText)}).then(w=>{w.length&&(o.value=x?JSON.parse(w):w,a.value&&d(a.value))}).catch(w=>{console.warn(w)})}e.remote&&(e.load?e.load().then(f=>{o.value=f}).catch(f=>{console.log(f)}):g()),i.watch(()=>e.data,()=>{o.value=e.data}),i.watch([o],([f],[b])=>{if(e.modelValue!=null&&!e.multiSelect){const v=f.find(C=>C[e.valueField]===a.value);v?v[e.valueField]!==a.value?(a.value=v[e.valueField],t.value=v[e.textField],n.emit("update:modelValue",v[e.valueField]),n.emit("change",[v],v[e.valueField])):t.value!==v[e.textField]&&(t.value=v[e.textField]):a.value!==""&&(a.value="",t.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),i.watch(()=>e.modelValue,(f,b)=>{b!==f&&(a.value=f,d(f))});function S(f){o.value=f,n.emit("dataChanged",f)}function m(){return o.value}function y(){return t.value}async function h(){const f=typeof e.beforeOpen=="function";return!e.beforeOpen||!f?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:S,getData:m,getDisplayText:y}})).then(b=>typeof b=="object"&&b?typeof b.canOpen=="boolean"?b.canOpen:!0:typeof b=="boolean"?b:!0)}return d(e.modelValue),{dataSource:o,filteredDataSource:r,displayText:t,editable:l,modelValue:a,beforeOpenList:h,getItemsByDisplayText:c,getItemsByValue:p,getSelectedItemsByDisplayText:s}}const ja=["moz","ms","webkit"];function $a(){let e=0;return n=>{const t=new Date().getTime(),a=Math.max(0,16-(t-e)),o=setTimeout(()=>{n(t+a)},a);return e=t+a,o}}function qa(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=ja.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:$a()}qa(),i.ref("");function Mt(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],t=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const d of t)if(d.test(e))return!1;for(const d of n)if(d.test(e))return!0;if(typeof screen>"u")return!1;const a="ontouchstart"in window||navigator.maxTouchPoints>0,o=screen.width,l=screen.height,r=Math.min(o,l);return!!(a&&r<=768)}function _a(){const e=Mt();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&_a();const Qe=i.defineComponent({name:"FComboList",props:ut,emits:bn,setup(e,n){const t=A.useLocatorProps(e),a=n,o=i.ref(),l=i.ref(),r=i.ref(t.disabled||t.readonly),p=i.ref(t.enableClear),d=i.ref(t.enableSearch),c=i.ref(t.readonly),{dataSource:u,displayText:s,editable:g,modelValue:S,filteredDataSource:m,getItemsByDisplayText:y,getItemsByValue:h,beforeOpenList:f}=Ra(t,a),b=i.ref(t.dropDownIcon),v=i.computed(()=>t.multiSelect),C=i.computed(()=>l.value?l.value.elementRef.getBoundingClientRect().width:0);function T(){!v.value&&l.value&&l.value.hidePopup()}function F(_){s.value=_.map(j=>j[t.textField]).join(t.separator)||S.value;let k="";_.length===1?k=_[0][t.valueField]:k=_.map(j=>j[t.valueField]).join(t.separator),S.value!==k&&(S.value=k,n.emit("update:modelValue",S.value),n.emit("change",_,S.value))}function x(){const _=h(S.value);F(_)}function w(){c.value||s.value}function E(_){var k;S.value="",(k=o.value)==null||k.activeRowById(""),n.emit("clear")}function I(_){var k,j;t.enableSearch&&t.enableHighlightSearch&&((k=o.value)==null||k.search(_)),(j=o.value)==null||j.activeRowById(_),n.emit("change",[S.value],S.value)}function L(_){if(t.multiSelect){const k=y(_);t.viewType;const z=k.map(Y=>Y[t.idField||t.valueField]).join(t.separator);S.value!==z&&(S.value=z,n.emit("update:modelValue",S.value),n.emit("change",k,S.value))}else _!==S.value&&(S.value=_,n.emit("update:modelValue",S.value),n.emit("change",[],_))}function P(){return s.value}function N(_){const{value:k}=_.target;I(k),n.emit("input",k)}function V(){l.value.hidePopup()}function D(_){u.value=_}function R(){return u.value}const W={getDisplayText:P,hidePopup:V,updateDataSource:D,getData:R};n.expose(W),i.watch([()=>t.disabled,()=>t.editable,()=>t.enableClear,()=>t.enableSearch,()=>t.readonly],([_,k,j,z,Y])=>{r.value=_,g.value=k,p.value=j,d.value=z,c.value=Y});const $=()=>{n.emit("expandClick")};return()=>i.createVNode(ze,{ref:l,id:t.id,disable:r.value,readonly:c.value,forcePlaceholder:t.forcePlaceholder,editable:g.value,buttonContent:b.value,placeholder:t.placeholder==="请选择"?Pe.LocaleService.getLocaleValue("comboList.placeholder"):t.placeholder,enableClear:p.value,maxLength:t.maxLength,tabIndex:t.tabIndex,enableTitle:t.enableTitle,multiSelect:t.multiSelect,inputType:t.multiSelect?t.viewType:"text",modelValue:s.value,"onUpdate:modelValue":_=>s.value=_,focusOnCreated:t.focusOnCreated,selectOnCreated:t.selectOnCreated,onClear:E,onClick:w,onChange:L,onBlur:x,onInput:N,beforeOpen:f,placement:Mt()?"bottom":t.placement,popupMinWidth:t.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:t.popupOnClick,limitContentBySpace:!0,expandable:t.expandable,expandMode:t.expandMode,expandContent:t.expandContent,expandDisabled:t.expandDisabled,onExpandClick:$,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[Mt()?i.createVNode(Aa,{modelValue:S.value,valueField:t.valueField,textField:t.textField,columns:u.value,multiSelect:t.multiSelect,separator:t.separator,onConfirm:_=>{const k=t.multiSelect?_[0]||[]:_;F(k),l==null||l.value.hidePopup()},onCancel:()=>{l==null||l.value.hidePopup()}},null):i.createVNode(Ea,{class:t.popupClass,ref:o,id:t.id,idField:t.idField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:m.value,selectedValues:S.value,separator:t.separator,multiSelect:t.multiSelect,showSelectAll:t.showSelectAll,enableSearch:d.value,maxHeight:t.maxHeight,enableHighlightSearch:t.enableHighlightSearch,width:t.fitEditor?C.value:void 0,onSelectionChange:_=>{F(_),T()}},null)]})}}),Sn={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,t)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=t}};class Ua extends at.InputBaseProperty{constructor(n,t){super(n,t)}getCommonEditorProperties(n){var t,a,o,l;return{showSelectAll:{visible:!!((t=n.editor)!=null&&t.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=n.editor)!=null&&o.multiSelect)&&((l=n.editor)==null?void 0:l.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var d,c,u,s,g,S,m,y,h,f,b,v,C;const t=this;let a="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const T=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(c=T==null?void 0:T.schemaField)!=null&&c.type&&(a=T.schemaField.type.$type)}const o=this.getPropertyEditorParams(n,["Variable"]),l=!n.editor.dataSourceType||n.editor.dataSourceType==="static",r=(((s=(u=this.designViewModelField)==null?void 0:u.type)==null?void 0:s.$type)===A.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((g=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:g.type.$type)===A.FormSchemaEntityFieldType$Type.StringType)&&((S=n.editor)==null?void 0:S.type)==="combo-list"&&((m=n.editor)==null?void 0:m.dataSourceType)==="dynamic"&&!((h=(y=n.editor)==null?void 0:y.remote)!=null&&h.url)&&!((f=n.editor)!=null&&f.multiSelect);return t.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"是否显示清除按钮",title:"启用清除按钮",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:r,title:"数据",editor:{...o,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:l,...t.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((b=n.editor)!=null&&b.dataSource),$converter:Sn,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:Sn,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!a||a==="StringType",readonly:((v=n.editor)==null?void 0:v.dataSourceType)==="dynamic"&&!!((C=n.editor)!=null&&C.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(T,F)=>{if(!T||!F.editor)return;const x=this;switch(T.propertyID){case"dataSourceType":{T.propertyValue==="static"?(F.editor.valueField="value",F.editor.textField="name",F.editor.remote=null):T.propertyValue==="dynamic"&&(F.editor.remote={method:"GET"},F.editor.valueField="value",F.editor.textField="name");break}case"data":{!x.checkEnumDataReadonly(F)&&F.formatter&&(F.formatter.data=[...T.propertyValue]);break}case"viewType":{T.propertyValue==="tag"&&(F.editor.editable=!1);break}case"dataSource":x.afterMutilEditorChanged(F,T);break}})}getGridFieldEdtiorProperties(n,t){var d,c,u,s,g,S,m,y,h,f,b,v,C;const a=this;let o="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const T=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(c=T==null?void 0:T.schemaField)!=null&&c.type&&(o=T.schemaField.type.$type)}const l=((s=(u=this.designViewModelField)==null?void 0:u.type)==null?void 0:s.$type)===A.FormSchemaEntityFieldType$Type.StringType&&((g=n.editor)==null?void 0:g.type)==="combo-list"&&((S=n.editor)==null?void 0:S.dataSourceType)==="dynamic"&&!((m=n.editor)!=null&&m.multiSelect),r=this.getPropertyEditorParams(n,["Variable"]);return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:l,title:"数据",editor:{...r,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((y=n.editor)!=null&&y.dataSourceType)||((h=n.editor)==null?void 0:h.dataSourceType)==="static",...a.getItemCollectionEditor(n,(f=n.editor)==null?void 0:f.valueField,(b=n.editor)==null?void 0:b.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:o==="StringType",readonly:((v=n.editor)==null?void 0:v.dataSourceType)==="dynamic"&&!!((C=n.editor)!=null&&C.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(T,F)=>{if(!T||!F.editor)return;const x=this;switch(T.propertyID){case"dataSourceType":{T.propertyValue==="static"?(F.editor.valueField="value",F.editor.textField="name",F.editor.remote=null):T.propertyValue==="dynamic"&&(F.editor.remote={method:"GET"},F.editor.valueField="value",F.editor.textField="name");break}case"data":{!x.checkEnumDataReadonly(F)&&F.formatter&&(F.formatter.data=[...T.propertyValue]);break}case"dataSource":x.afterMutilEditorChanged(F,T)}})}setEditorPropertyRelates(n,t,a){if(!n||!t.editor)return;const o=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(t.editor.valueField="value",t.editor.textField="name",t.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(t)&&t.formatter&&(t.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,t,a){var l;super.changeBindingField(n,t);const o=a;n.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===A.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=o.type.enumValues||[])}getEventPropertyConfig(n,t="card",a,o){const l=this;let r=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];r=[...r,...this.getInputCommonEvents(n)],a&&(r=r.concat(a)),this.formRule&&(r=r.filter(u=>u.label!=="onChange")),this.appendFieldValueChangeEvents(n,r);const p=l.eventsEditorUtils.formProperties(n,l.viewModelId,r);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(p),tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(u,s){const g=u.propertyValue;delete n[l.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,g.events,g),l.updateLinkedLabel(g,s)),o&&o(u,s,g);const S=l.designViewModelUtils.getDgViewModel(l.viewModelId);S&&l.designViewModelField&&S.changeField(l.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function za(e,n){const t=e.schema;function a(o,l){return new Ua(o,n).getPropertyConfig(t,l)}return{getPropsConfig:a}}const Ha=i.defineComponent({name:"FComboListDesign",props:Pa,emits:bn,setup(e,n){const t=i.ref(),a=i.inject("designer-host-service"),o=i.inject("design-item-context"),l=za(o,a),r=O.useDesignerComponent(t,o,l);return i.onMounted(()=>{t.value.componentInstance=r}),n.expose(r.value),()=>i.createVNode(De,{ref:t,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});Qe.register=(e,n,t,a,o)=>{e["combo-list"]=Qe,n["combo-list"]=vn(o),a["combo-list"]={callbackResolver:Ia}},Qe.registerDesigner=(e,n,t,a)=>{e["combo-list"]=Ha,n["combo-list"]=vn(a)},A.withInstall(Qe);const Wa={id:{type:String,default:""},autocomplete:{type:String,default:"off"},customClass:{type:String,default:""},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!0},enableTitle:{type:Boolean,default:!0},enableViewPassword:{type:Boolean,default:!0},forcePlaceholder:{type:Boolean,default:!1},groupText:{type:String,default:""},showType:{type:String,default:"text"},type:{type:String,default:"text"},max:{type:[Number,String]},min:{type:[Number,String]},maxLength:{type:Number,default:void 0},minLength:{type:Number,default:void 0},modelValue:{type:[String,Boolean],default:""},showBorder:{type:Boolean,default:!0},step:{type:Number,default:1},placeholder:{type:String,default:""},precision:{type:Number,default:0},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},tabIndex:{type:Number,default:0},textAlign:{type:String,default:"left"},useExtendInfo:{type:Boolean,default:!1},extendInfo:{type:String,default:""},value:{type:String,default:""},autoHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},rows:{type:Number,default:2},showCount:{type:Boolean,default:!1},showZero:{type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},updateOn:{type:String,default:"blur"},formatValidation:{type:Object,default:()=>({})},keyboard:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},useThousands:{type:Boolean,default:!0},prefix:{type:String,default:""},suffix:{type:String,default:""}},Ga={clear:(...e)=>!0,change:(...e)=>!0,blur:(...e)=>!0,click:(...e)=>!0,clickHandle:(...e)=>!0,focus:(...e)=>!0,input:(...e)=>!0,keydown:(...e)=>!0,keyup:(...e)=>!0,iconMouseEnter:(...e)=>!0,iconMouseLeave:(...e)=>!0,"update:modelValue":(...e)=>!0,"update:value":(...e)=>!0,updateExtendInfo:(...e)=>!0,valueChange:(...e)=>!0,mousedownEvent:(...e)=>!0,mouseupEvent:(...e)=>!0,expandClick:(...e)=>!0};function Ja(e,n){const t=i.ref(e.groupText),a=i.computed(()=>e.showButtonWhenDisabled&&(e.readonly||e.disabled)),o=i.computed(()=>e.type==="password"||e.showType==="password"||e.enableClear||!!e.groupText||a.value);return{appendedButtonClass:i.computed(()=>({"input-group-append":!0,"append-force-show":a.value})),appendedContent:t,shouldShowAppendedButton:o}}function Ya(e,n,t,a){const{appendedContent:o}=a,l=i.ref(e.enableViewPassword),r=i.computed(()=>e.type==="password"||e.showType==="password"),p='<span class="f-icon f-icon-eye" style="color: rgb(56, 143, 255);"></span>',d='<span class="f-icon f-icon-eye"></span>',c=i.ref(!1);i.watch(()=>[e.readonly,e.disabled],([g,S])=>{r.value&&(t.value=g||S?"password":t.value,o.value=e.readonly||e.disabled?"":l.value?d:"")});function u(){return c.value=!c.value,t.value=c.value?"text":"password",o.value=c.value?p:d,!1}function s(){t.value=r.value?"password":t.value,r.value&&(o.value=e.readonly||e.disabled?"":l.value?d:"")}return s(),{isPassword:r,onClickAppendedButton:u}}function Qa(e,n){const t=e,a=Ee.useNumber(t,n),o=Ee.useFormat(t,n,a),l=Ee.useSpinner(t,n,o,a),r=Ee.useTextBox(t,n,o,a,l),p=Ee.getSpinnerRender(t,n,l),{displayValue:d,modelValue:c,getRealValue:u}=a,s=Ee.getNumberTextBoxRender(t,n,r),{format:g}=o,{isFocus:S}=r,m=i.computed(()=>!e.disabled&&!e.readonly);return i.onMounted(()=>{const y=u(e.modelValue);d.value=g(y)}),i.watch(()=>[e.value],([y])=>{const h=u(y);c.value=h,d.value=g(h)}),i.watch(()=>[e.modelValue],([y])=>{y!==c.value&&(c.value=y,!S.value&&(d.value=g(u(y))))}),i.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{d.value=g(c.value)}),()=>i.createVNode("div",{class:"input-group flex-row f-cmp-number-spinner",style:"border:none;"},[s(),m.value&&p()])}function Xa(e){return e?Pe.LocaleService.getRealPropertyValue(e,"请输入","input-group.placeholder"):""}function Za(e,n,t,a){const o=i.ref(),{inputGroupClass:l,onBlur:r,onFocus:p}=a,{clearButtonClass:d,clearButtonStyle:c}=t,u=i.computed(()=>e.maxLength?e.maxLength:typeof e.modelValue=="string"?e.modelValue.length:0),s=F=>{var x,w;F.stopPropagation(),n.emit("update:modelValue",(x=F.target)==null?void 0:x.value),n.emit("valueChange",(w=F.target)==null?void 0:w.value)},g=i.computed(()=>({"form-control":!0,"h-100":e.autoHeight})),S=i.computed(()=>e.enableClear&&!e.readonly&&!e.disabled),m=Xa(e.placeholder),y=i.computed(()=>e.disabled||e.readonly?"":m),h=i.computed(()=>({...c.value,position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)","background-color":"rgb(199, 207, 221)","border-radius":"100%",width:"16px",height:"16px"})),f=i.computed(()=>{const F={resize:"none","padding-right":"15px"};return e.rows>2?{height:"auto",...F}:F}),b=F=>{F.stopPropagation(),o.value.value="",n.emit("update:modelValue",""),n.emit("valueChange","")};function v(){return i.withDirectives(i.createVNode("textarea",i.mergeProps({class:g.value},A.locatorChild(e.id,"textbox"),{"onUpdate:modelValue":F=>e.modelValue=F,ref:o,minlength:e.minLength,maxlength:e.maxLength?e.maxLength:null,tabindex:e.tabIndex,disabled:e.disabled,readonly:e.readonly,autocomplete:e.autocomplete,placeholder:y.value,autofocus:e.autofocus,rows:e.rows,onInput:s,onFocus:p,onBlur:r,style:f.value}),null),[[i.vModelText,e.modelValue]])}function C(){return e.showCount&&i.createVNode("span",{style:"position: absolute;bottom: 0;right: 5px;z-index:999;font-size:12px"},[`${typeof e.modelValue=="string"?e.modelValue.length:0}/${u.value}`])}function T(){return S.value&&i.createVNode("span",i.mergeProps(A.locatorChild(e.id,"clear"),{class:d.value,style:h.value,onClick:F=>b(F)}),[i.createVNode("i",{class:"f-icon modal_close",style:"font-size:8px;color:#fff"},null)])}return{renderTextarea:v,renderCount:C,renderClear:T}}function Ka(e,n,t,a){const o=i.ref(),l=i.ref(e.autocomplete),r=i.ref(e.enableTitle),{isPassword:p}=t,d=i.ref(e.minLength),c=i.ref(e.maxLength),u=i.ref(e.tabIndex),{disabled:s,displayText:g,inputType:S,onBlur:m,onFocus:y,onInput:h,onClick:f,onKeydown:b,onKeyup:v,onMousedown:C,onMouseup:T,onTextBoxValueChange:F,readonly:x,placeholder:w,textBoxClass:E,textBoxTitle:I}=a;return i.onMounted(()=>{var L,P;e.selectOnCreated&&((L=o.value)==null||L.select()),e.focusOnCreated&&((P=o.value)==null||P.focus({preventScroll:!0}))}),()=>i.createVNode("input",i.mergeProps(A.locatorChild(e.id,"textbox"),{ref:o,name:"input-group-value",autocomplete:l.value,class:E.value,disabled:s==null?void 0:s.value,maxlength:c.value,minlength:d.value,placeholder:w.value,readonly:x==null?void 0:x.value,tabindex:u.value,title:r.value&&!p.value?I.value:"",type:S.value,value:g==null?void 0:g.value,onBlur:m,onClick:f,onChange:F,onFocus:y,onInput:h,onKeydown:b,onKeyup:v,onMousedown:C,onMouseup:T}),null)}function ei(e,n){const t=i.ref(e.extendInfo),a=i.computed(()=>e.useExtendInfo&&!!e.extendInfo),o=i.computed(()=>({content:t.value}));i.watch(()=>e.extendInfo,r=>{t.value=r});function l(){n.emit("updateExtendInfo")}return()=>a.value&&i.withDirectives(i.createVNode("span",{class:"input-group-before-tips",onMouseenter:l},[i.createVNode("i",{class:"f-icon f-icon-info-circle"},null),i.createVNode("b",{class:"tips-arrow"},null)]),[[i.resolveDirective("tooltip"),o.value]])}function ti(e,n,t,a,o){const{appendedButtonClass:l,appendedContent:r}=t,{isPassword:p}=o,d=i.computed(()=>p.value?A.locatorChild(e.id,"password"):A.locatorChild(e.id,"append")),c=i.computed(()=>!e.readonly&&!e.disabled),u=i.computed(()=>r.value&&!n.slots.groupTextTemplate),s=i.computed(()=>!!n.slots.groupTextTemplate),{clearButtonClass:g,clearButtonStyle:S,onClearValue:m,shouldShowClearButton:y}=a,h=i.ref(0);i.watch(r,I=>{h.value++});function f(){return i.createVNode("span",i.mergeProps(A.locatorChild(e.id,"clear"),{class:g.value,style:S.value,onClick:I=>m(I)}),[i.createVNode("i",{class:"f-icon modal_close"},null)])}function b(I){n.emit("iconMouseEnter",I)}function v(I){n.emit("iconMouseLeave",I)}function C(I){c.value&&n.emit("clickHandle",{originalEvent:I}),I.stopPropagation()}const T=e.type==="password"||e.showType==="password"?o.onClickAppendedButton:C;function F(){const I=r.value;if(!I||!(e.showButtonWhenDisabled||!e.disabled&&!e.readonly))return null;const P={...d.value,class:"input-group-text",onMouseenter:b,onMouseleave:v,onClick:T};if(typeof I=="string")return i.createVNode("span",i.mergeProps(P,{innerHTML:I}),null);if(typeof I=="function"){const N=I();return i.createVNode("span",P,[typeof N=="string"?i.createVNode("span",{innerHTML:N},null):N])}else return i.createVNode("span",P,[I])}function x(){return n.slots.groupTextTemplate&&n.slots.groupTextTemplate()}function w(){return u.value?F():s.value?x():""}i.watch(()=>e.expandDisabled,(I,L)=>{h.value++});const{renderExpandContent:E}=A.useInputExpand({...e,skipReadonlyCheck:!0},n);return()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{class:l.value,key:"append-button-"+h.value},[y.value&&f(),w()]),E()])}const Tn=i.defineComponent({name:"FInputGroup",props:Wa,emits:Ga,setup(e,n){const t=A.useLocatorProps(e),a=n,o=i.ref(),l=i.ref(t.modelValue),r=i.ref(t.modelValue),p=A.useTextBox(t,a,l,r,o),{inputGroupClass:d,inputType:c,inputGroupStyle:u,changeTextBoxValue:s}=p,g=Ja(t),{shouldShowAppendedButton:S}=g,m=A.useClear(t,a,p),{onMouseEnter:y,onMouseLeave:h}=m,f=Ya(t,a,c,g),b=Qa(t,a),{renderTextarea:v,renderCount:C,renderClear:T}=Za(t,a,m,p),F=Ka(t,a,f,p),x=ti(t,a,g,m,f),w=ei(t,a),E=i.computed(()=>c.value==="number"),I=i.computed(()=>c.value==="textarea");i.watch(()=>[t.value],([P])=>{l.value=P,r.value=P}),i.watch(()=>[t.modelValue],([P])=>{l.value=P,r.value=P}),i.onMounted(()=>{t.value&&(l.value=t.value,r.value=t.value)}),n.expose({clear:()=>{s("",!1),r.value=""},setText:P=>{s(P,!1),r.value=P}});const L=()=>i.createVNode("div",i.mergeProps({ref:o},A.locatorAttrs(t.id),{class:d.value,style:u.value,onMouseenter:y,onMouseleave:h}),[E.value?b():I.value?v():i.createVNode(i.Fragment,null,[w(),F()]),!I.value&&!E.value&&S.value&&x(),I.value&&T(),I.value&&C()]);return()=>L()}});A.withInstall(Tn);function ni(e){const n=(s,g)=>s??g,t={string:{compare:ee.Contains,value:"",isEmpty:null,relation:fe.And},number:{begin:null,end:null,interval:!1,value:null,isEmpty:null},date:{interval:!1,value:"",rangeValue:"",isEmpty:null},datetime:{interval:!1,value:"",rangeValue:"",isEmpty:null},enum:{value:"",isEmpty:null},boolean:{value:!1,isEmpty:null}},a=(s="string")=>t[s]||t.string,o=s=>({compare:n(s.compare,ee.Contains),value:n(s.value,""),isEmpty:n(s.isEmpty,null),relation:n(s.relation,fe.And)}),l=s=>({begin:n(s.begin,null),end:n(s.end,null),interval:n(s.interval,!1),value:n(s.value,null),isEmpty:n(s.isEmpty,null)}),r=s=>({interval:n(s.interval,!1),value:n(s.value,""),rangeValue:n(s.rangeValue,""),isEmpty:n(s.isEmpty,null)}),p=s=>({value:n(s.value,""),isEmpty:n(s.isEmpty,null)}),d=s=>({value:n(s.value,null),isEmpty:n(s.isEmpty,null)}),c=s=>o(s);function u(){var y,h,f;const s=((y=e.value)==null?void 0:y.value)!==void 0&&((h=e.value)==null?void 0:h.value)!==null?e.value.value:void 0,g=(f=e.value)==null?void 0:f.dataType;return s==null?a(g):({string:o,number:l,date:r,datetime:r,enum:p,boolean:d}[g]||c)(s)}return{buildFieldValue:u}}const ai=i.defineComponent({name:"SearchForm",props:{field:Object,modelValue:Object,locales:Object},emits:["searchEmpty"],setup(e,n){var F,x,w,E,I,L,P,N;const t=[],a=i.reactive({}),o=i.ref(null),l=i.ref(e.modelValue),r=i.computed(()=>{var V;return((V=l.value)==null?void 0:V.options)||{}}),{buildFieldValue:p}=ni(l),d={[ee.Contains]:((x=(F=e.locales)==null?void 0:F.operators)==null?void 0:x.contains)||"包含",[ee.NotContains]:((E=(w=e.locales)==null?void 0:w.operators)==null?void 0:E.notContains)||"不包含",[ee.Equal]:((L=(I=e.locales)==null?void 0:I.operators)==null?void 0:L.equal)||"等于",[ee.NotEqual]:((N=(P=e.locales)==null?void 0:P.operators)==null?void 0:N.notEqual)||"不等于"};mn.forEach(V=>{const D=d[V.value];D!==void 0&&(V.label=D)});const c=V=>{l.value.dataType==="number"?Object.assign(a,{begin:null,end:null,interval:!1,value:null,isEmpty:V?1001:1002}):Object.assign(a,{compare:ee.Contains,value:null,isEmpty:V?1001:1002}),n.emit("searchEmpty",{...a})},u=V=>{a.isEmpty=null},s=V=>i.computed(()=>{const D={"panel-date-tag mt-2":!0};return a.isEmpty!=null?{...D,active:a.isEmpty===V}:D}),g=s(1001),S=s(1002);function m(V=!1,D=null){var R,W,$,_,k,j,z;return i.createVNode("div",{class:"f-filter-panel-date-tags",style:"padding-top: 5px; flex-wrap: wrap;"},[i.createVNode("div",{class:"d-flex f-utils-fill flex-columns"},[i.createVNode("div",{class:g.value,onClick:()=>c(!0)},[i.createTextVNode(" "),((W=(R=e.locales)==null?void 0:R.operators)==null?void 0:W.empty)||"为空",i.createTextVNode(" ")]),i.createVNode("div",{class:S.value,onClick:()=>c(!1)},[i.createTextVNode(" "),((_=($=e.locales)==null?void 0:$.operators)==null?void 0:_.notEmpty)||"不为空",i.createTextVNode(" ")])]),V&&i.createVNode("div",{class:"mt-2 d-flex align-items-center",style:{visibility:D!=null&&D.value?"":"hidden"}},[((k=e.locales)==null?void 0:k.relation.label)||"条件关系",i.createTextVNode(" "),i.withDirectives(i.createVNode("select",{name:"relation","onUpdate:modelValue":Y=>a.relation=Y,class:"form-control ml-1",style:"width: 50px;padding-right: 0px;"},[i.createVNode("option",{value:fe.And},[((j=e.locales)==null?void 0:j.relation.and)||"且"]),i.createVNode("option",{value:fe.Or},[((z=e.locales)==null?void 0:z.relation.or)||"或"])]),[[i.vModelSelect,a.relation]])])])}function y(V){var D;return i.createVNode("div",{class:"d-flex align-items-center mb-2"},[((D=e.locales)==null?void 0:D.intervalFilter)||"按区间筛选",i.createVNode(Jn.FSwitch,{size:"small",class:"ml-2",modelValue:V.interval,"onUpdate:modelValue":R=>V.interval=R,style:"width: 33px"},null)])}function h(V){var D;return i.createVNode("div",{class:"d-flex flex-column"},[i.createVNode("div",{class:"d-flex"},[i.createVNode(Qe,{style:"width: 130px",data:mn,modelValue:V.compare,"onUpdate:modelValue":R=>V.compare=R,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto",popupClass:"field-search-panel"},null),i.createVNode(Tn,{ref:o,class:"ml-2",modelValue:V.value,"onUpdate:modelValue":[R=>V.value=R,u],updateOn:"change",placeholder:((D=e.locales)==null?void 0:D.multiCondition)||"多条件之间以空格分隔",enableClear:!0,onClear:()=>V.value=""},null)]),m(!0,V)])}function f(V,D){const{showTime:R,format:W,valueFormat:$}=D;return i.createVNode("div",{class:"d-flex flex-column"},[y(V),i.createVNode("div",null,[V.interval?i.createVNode(vt.DatePicker,{modelValue:V.rangeValue,"onUpdate:modelValue":[_=>V.rangeValue=_,u],showTime:R,displayFormat:W,valueFormat:$,enablePeriod:!0,splitSelection:!0,popupClass:"field-search-panel"},null):i.createVNode(vt.DatePicker,{modelValue:V.value,"onUpdate:modelValue":[_=>V.value=_,u],showTime:R,displayFormat:W,valueFormat:$,popupClass:"field-search-panel"},null)]),m()])}function b(V,D){const R=(W,$)=>{V[W]=isNaN($)?null:$,u()};return i.createVNode("div",{class:"d-flex flex-column number-input-wrapper"},[y(V),i.createVNode("div",{class:"d-flex"},[V.interval?i.createVNode("div",{class:"f-utils-fill d-flex align-items-center"},[i.createVNode(Ee.FNumberSpinner,{modelValue:V.begin,"onUpdate:modelValue":[W=>V.begin=W,W=>R("begin",W)],max:V.end,needValid:!0,nullable:!0,precision:D==null?void 0:D.precision},null),i.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),i.createVNode(Ee.FNumberSpinner,{modelValue:V.end,"onUpdate:modelValue":[W=>V.end=W,W=>R("end",W)],min:V.begin,needValid:!0,nullable:!0,precision:D==null?void 0:D.precision},null)]):i.createVNode(Ee.FNumberSpinner,{modelValue:V.value,"onUpdate:modelValue":[W=>V.value=W,u],nullable:!0,precision:D==null?void 0:D.precision},null)]),m()])}function v(V){var $,_;const D=(($=r.value)==null?void 0:$.trueText)||"True",R=((_=r.value)==null?void 0:_.falseText)||"False",W=[{label:D,value:1},{label:R,value:0}];return V.value=V.value!=null?V.value:null,i.createVNode("div",{class:"d-flex flex-column checkbox-wrapper"},[i.createVNode(Yn.FRadioGroup,{name:V.field,valueField:"value",textField:"label",data:W,modelValue:V.value,"onUpdate:modelValue":[k=>V.value=k,u],direction:"vertical"},null),m()])}function C(V){const{data:D,textField:R,valueField:W}=r.value||{};return i.createVNode("div",{class:"d-flex flex-column checkbox-wrapper",onClick:$=>$.stopPropagation(),onMouseDown:$=>$.stopPropagation(),onMouseUp:$=>$.stopPropagation()},[i.createVNode(Qn.FCheckboxGroup,{direction:"vertical",style:"max-height:200px;overflow-y:auto;",data:D,modelValue:V.value,"onUpdate:modelValue":$=>V.value=$,name:V.field,textField:R,valueField:W},null)])}function T(V){const{dataType:D,options:R}=l.value;switch(D){case"string":return h(V);case"date":case"datetime":{const W=D==="datetime",$=(R==null?void 0:R.format)||(W?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd");return f(V,{showTime:W,format:$,valueFormat:W?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"})}case"number":return b(V,R);case"boolean":return v(V);case"enum":return C(V);default:return h(V)}}return n.expose({searchValue:a}),i.onMounted(()=>{Object.assign(a,p()),i.nextTick(()=>{var D,R;const V=(R=(D=o.value)==null?void 0:D.$el)==null?void 0:R.querySelector("input");V&&V.focus()})}),()=>t.length===0?T(a):t.map((V,D)=>h(V))}});function ii(e,n){var r;JSON.stringify(((r=e.field)==null?void 0:r.value)||{});const t=p=>p==null||p==="",a=p=>p==="datetime"||p==="date",o=i.computed(()=>{if(n.value.interval){if(e.field.dataType==="number")return!(t(n.value.begin)&&t(n.value.end));if(a(e.field.dataType))return!t(n.value.rangeValue)}return!t(n.value.value)}),l=i.computed(()=>{const{dataType:p,value:d}=e.field,{value:c,isEmpty:u,rangeValue:s,interval:g,begin:S,end:m}=d;if(g){if(p==="number")return!t(S)||!t(m);if(a(p))return!t(s)}return c!=null||u!=null});return{canSubmit:o,canClear:l}}const oi=i.defineComponent({name:"ConditionPanel",props:{referenceElement:Object,visible:{type:Boolean,default:!1},field:{type:Object,default:null},locales:Object},emits:["cancel","submit","clear","searchEmpty"],setup(e,{emit:n}){const t=i.ref(e.referenceElement),a=i.ref(null),o=i.ref(null),l=i.computed(()=>{var b;return((b=o.value)==null?void 0:b.searchValue)||e.field.value}),{canSubmit:r,canClear:p}=ii(e,l);function d(){if(!t.value)return{};const{top:b,left:v,height:C}=t.value.getBoundingClientRect();return{top:b+C+"px",left:v+"px"}}i.watch(()=>e.referenceElement,b=>{t.value=b},{immediate:!0});const c=i.computed(()=>d()),u=()=>{n("cancel")},s=b=>{const v=b.target;a.value&&!a.value.contains(v)&&t.value&&!t.value.contains(v)&&e.visible&&t.value.parentElement!==v&&u()},g=()=>{u()},S=()=>{var v;const b=(v=o.value)==null?void 0:v.searchValue;n("submit",b)},m=()=>{n("clear",e.field)},y=b=>{n("searchEmpty",b)},h=b=>{if(b.key==="Escape"){b.preventDefault(),b.stopPropagation(),u();return}if(b.key==="Enter"){const v=b.target,{tagName:C}=v;b.preventDefault(),b.stopPropagation(),r.value&&S()}},f=()=>{document.removeEventListener("mousedown",s),window.removeEventListener("resize",g),document.removeEventListener("click",s)};return i.onMounted(()=>{document.addEventListener("mousedown",s),window.addEventListener("resize",g),document.addEventListener("click",s)}),i.onUnmounted(()=>{f()}),()=>{var b,v,C;return e.visible?i.createVNode("div",{ref:a,class:"condition-panel d-flex flex-column",style:c.value,onKeydown:h},[i.createVNode("div",{class:"f-utils-fill",style:"overflow: unset;"},[e.field&&i.createVNode(ai,{modelValue:e.field,"onUpdate:modelValue":T=>e.field=T,ref:o,onSearchEmpty:y,locales:e.locales},null)]),i.createVNode("div",{class:"f-filter-panel-footer"},[i.createVNode("button",{class:"btn btn-link",disabled:!p.value,onClick:m},[((b=e.locales)==null?void 0:b.clear)||"清空筛选"]),i.createVNode("div",{class:"buttons"},[i.createVNode("button",{class:"btn btn-secondary",onClick:()=>u()},[((v=e.locales)==null?void 0:v.cancel)||"取消"]),i.createVNode("button",{class:"btn btn-primary btn-search-submit",disabled:!r.value,onClick:()=>S()},[((C=e.locales)==null?void 0:C.confirm)||"确定"])])])]):null}}});function Xe(e,n){if(!e||!n)return e;const t=new Date(e);return isNaN(t.getTime())?e:A.formatDate(t,n)}function li(e){var u,s,g,S,m,y,h,f,b,v;const n={[ee.Contains]:((u=e==null?void 0:e.operators)==null?void 0:u.contains)||"包含",[ee.NotContains]:((s=e==null?void 0:e.operators)==null?void 0:s.notContains)||"不包含",[ee.Equal]:((g=e==null?void 0:e.operators)==null?void 0:g.equal)||"等于",[ee.NotEqual]:((S=e==null?void 0:e.operators)==null?void 0:S.notEqual)||"不等于",[ee.Greater]:((m=e==null?void 0:e.operators)==null?void 0:m.greater)||"大于",[ee.GreaterEqual]:((y=e==null?void 0:e.operators)==null?void 0:y.greaterOrEqual)||"大于等于",[ee.Less]:((h=e==null?void 0:e.operators)==null?void 0:h.less)||"小于",[ee.LessEqual]:((f=e==null?void 0:e.operators)==null?void 0:f.lessOrEqual)||"小于等于",[ee.IsEmpty]:((b=e==null?void 0:e.operators)==null?void 0:b.empty)||"为空",[ee.IsNotEmpty]:((v=e==null?void 0:e.operators)==null?void 0:v.notEmpty)||"不为空"};Object.entries(n).forEach(([C,T])=>{n[C]=`${T} `});const t=C=>C==null?"":n[C]||"",a=C=>{var T;if(C.value){const{value:F,rangeValue:x,interval:w}=C.value,E=(T=C.options)==null?void 0:T.format;if(w){if(x==null||x==="")return"";const I=x.split("~").map(N=>N.trim()),L=I[0]||"",P=I[1]||"";return L===""&&P!==""?t(ee.LessEqual)+Xe(P,E):P===""&&L!==""?t(ee.GreaterEqual)+Xe(L,E):L!==""&&P!==""?Xe(L,E)+" ~ "+Xe(P,E):""}return F==null?"":t(ee.Equal)+Xe(F,E)}return""},o=C=>{if(C.value){const{value:T,compare:F,begin:x,end:w,interval:E}=C.value;if(F&&(F===ee.IsEmpty||F===ee.IsNotEmpty))return t(F);if(E){if(x==null&&w==null)return"";const[I,L]=[x,w];return I==null||isNaN(I)?t(ee.LessEqual)+L:L==null||isNaN(L)?t(ee.GreaterEqual)+I:`${I} ~ ${L}`}return T==null?"":t(ee.Equal)+T}return""},l=C=>{var T,F;if(C.value){const{value:x,compare:w,relation:E}=C.value;if(x==null)return"";const L=" "+(E===fe.And?((T=e==null?void 0:e.relation)==null?void 0:T.and)||"且":((F=e==null?void 0:e.relation)==null?void 0:F.or)||"或")+" ";return t(w)+x.trim().replace(/\s+/g," ").split(" ").join(L)}return""},r=C=>{if(C.value){const{value:T,compare:F}=C.value,{trueText:x,falseText:w}=(C==null?void 0:C.options)||{};return T==null?"":T?x||"True":w||"False"}return""},p=C=>{if(C.value){const{value:T,compare:F}=C.value,{data:x,valueField:w,textField:E}=(C==null?void 0:C.options)||{};if(T)return T.split(",").map(I=>{var L;return((L=x.find(P=>P[w]===I))==null?void 0:L[E])||""}).join(",")}return""},d=C=>{var x,w;if(!C.value||!(E=>E&&typeof E.isEmpty=="number")(C.value))return"";const{isEmpty:F}=C.value;return F===1001?((x=e==null?void 0:e.operators)==null?void 0:x.empty)||"为空":F===1002?((w=e==null?void 0:e.operators)==null?void 0:w.notEmpty)||"不为空":""};function c(C){const T=C.title+":";let F=d(C);if(F)return T+F;if(C.value){switch(C.dataType){case"date":case"datetime":F=a(C);break;case"number":F=o(C);break;case"enum":F=p(C);break;case"boolean":F=r(C);break;case"string":default:F=l(C);break}return T+F}return T}return{getDisplayText:c}}function ri(e){const n=[];return e.forEach(t=>{const a=t.value;if(a.isEmpty)if(t.dataType==="string"||t.dataType==="enum"){a.isEmpty===1001?(n.push({filterField:t.field,value:"",compare:ee.Equal,lbracket:"(",rbracket:"",relation:fe.Or}),n.push({filterField:t.field,value:null,compare:ee.IsEmpty,lbracket:"",rbracket:")",relation:fe.And})):(n.push({filterField:t.field,value:"",compare:ee.NotEqual,lbracket:"(",rbracket:"",relation:fe.And}),n.push({filterField:t.field,value:null,compare:ee.IsNotEmpty,lbracket:"",rbracket:")",relation:fe.And}));return}else{a.isEmpty===1001?n.push({filterField:t.field,value:null,compare:ee.IsEmpty,lbracket:"",rbracket:"",relation:fe.And}):n.push({filterField:t.field,value:null,compare:ee.IsNotEmpty,lbracket:"",rbracket:"",relation:fe.And});return}if(t.dataType==="string"){const{value:o,compare:l,relation:r}=a,p=o.trim().replace(/\s+/g," ").split(" "),d=p.map((c,u)=>({filterField:t.field,value:c,compare:l||ee.Contains,lbracket:u===0?"(":"",rbracket:u===p.length-1?")":"",relation:u===p.length-1?fe.And:r||fe.Or}));n.push(...d)}else if(t.dataType==="number"){const{begin:o,end:l,interval:r,value:p}=a;r?o!=null&&l!=null&&o===l?n.push({filterField:t.field,value:o,compare:ee.Equal,lbracket:"",rbracket:"",relation:fe.And}):(o!=null&&n.push({filterField:t.field,value:o,compare:ee.GreaterEqual,lbracket:"(",rbracket:l!=null?"":")",relation:fe.And}),l!=null&&n.push({filterField:t.field,value:l,compare:ee.LessEqual,lbracket:o!=null?"":"(",rbracket:")",relation:fe.And})):n.push({filterField:t.field,value:p,compare:ee.Equal,lbracket:"",rbracket:"",relation:fe.And})}else if(t.dataType==="datetime"||t.dataType==="date"){const{value:o,interval:l,rangeValue:r}=a;if(!l)n.push({filterField:t.field,value:o,compare:ee.Equal,lbracket:"",rbracket:"",relation:fe.And});else{const p=r||o;if(typeof p=="string"&&p.includes("~")){const[d,c]=p.split("~");d&&c&&d.trim()===c.trim()?n.push({filterField:t.field,value:d.trim(),compare:ee.Equal,lbracket:"",rbracket:"",relation:fe.And}):(d&&n.push({filterField:t.field,value:d.trim(),compare:ee.GreaterEqual,lbracket:"(",rbracket:c?"":")",relation:fe.And}),c&&n.push({filterField:t.field,value:c.trim(),compare:ee.LessEqual,lbracket:d?"":"(",rbracket:")",relation:fe.And}))}}}else if(t.dataType==="enum"){const{value:o}=a;if(o&&typeof o=="string"){const l=o.split(","),r=l.map((p,d)=>({filterField:t.field,value:p.trim(),compare:ee.Equal,lbracket:d===0?"(":"",rbracket:d===l.length-1?")":"",relation:d===l.length-1?fe.And:fe.Or}));n.push(...r)}}else if(t.dataType==="boolean"){const{value:o}=a;n.push({filterField:t.field,value:o,compare:ee.Equal,lbracket:"",rbracket:"",relation:fe.And})}else{const o=a.value||"";if(o&&typeof o=="string"){const l=o.split(" "),r=l.map((p,d)=>({filterField:t.field,value:p,compare:ee.Contains,lbracket:d===0?"(":"",rbracket:d===l.length-1?")":"",relation:d===l.length-1?fe.And:fe.Or}));n.push(...r)}}}),n}function si(e){const n=e.filter(l=>l.field!=="*"&&l.dataType==="string"),t=e.find(l=>l.field==="*");if(!t||n.length===0||t.value.value.trim()==="")return[];const a=Array.from(new Set(t.value.value.trim().replace(/\s+/g," ").split(" ")));let o=n.map(l=>a.map(r=>({filterField:l.field,value:r,compare:ee.Contains,lbracket:"",rbracket:"",relation:fe.Or})));return o=re.flatten(o),o&&o.length&&(o[0].lbracket="(",o[o.length-1].rbracket=")",o[o.length-1].relation=fe.And),o}function xn(){const{getLocaleValue:e}=Pe.LocaleService;return{confirm:e("fieldSearchBox.confirm"),cancel:e("fieldSearchBox.cancel"),intervalFilter:e("fieldSearchBox.intervalFilter"),clear:e("fieldSearchBox.clear"),clearAll:e("fieldSearchBox.clearAll"),chooseField:e("fieldSearchBox.chooseField"),searchPlaceHolder:e("fieldSearchBox.searchPlaceHolder"),nofields:e("fieldSearchBox.nofields"),relation:{and:e("fieldSearchBox.relation.and"),or:e("fieldSearchBox.relation.or"),label:e("fieldSearchBox.relation.label")},operators:{equal:e("fieldSearchBox.operators.equal"),notEqual:e("fieldSearchBox.operators.notEqual"),greater:e("fieldSearchBox.operators.greater"),greaterOrEqual:e("fieldSearchBox.operators.greaterOrEqual"),less:e("fieldSearchBox.operators.less"),lessOrEqual:e("fieldSearchBox.operators.lessOrEqual"),contains:e("fieldSearchBox.operators.contains"),notContains:e("fieldSearchBox.operators.notContains"),like:e("fieldSearchBox.operators.like"),notLike:e("fieldSearchBox.operators.notLike"),in:e("fieldSearchBox.operators.in"),notIn:e("fieldSearchBox.operators.notIn"),empty:e("fieldSearchBox.operators.empty"),notEmpty:e("fieldSearchBox.operators.notEmpty"),null:e("fieldSearchBox.operators.null"),notNull:e("fieldSearchBox.operators.notNull")},multiCondition:e("fieldSearchBox.multiCondition"),starField:e("fieldSearchBox.starField")}}const Oe=i.defineComponent({name:"FieldSearchBox",props:dt,emits:["change","filter-change"],setup(e,n){const t=i.ref(e.fields),a=i.ref([]),o=i.ref(null),l=i.ref(!1),r=i.ref(),p=i.ref(null),d=i.ref(),c=i.ref([]),u=i.ref(null),s=i.ref(null),g=i.ref(!1),S=i.ref({top:0,left:0,width:0}),m=i.ref(""),y=xn(),{getDisplayText:h}=li(y),f={field:"*",title:y.starField||"全部",dataType:"string"};function b(B=!0){if(u.value){(u.value.querySelector(".multi--content")||u.value).getBoundingClientRect();const X=(u.value.querySelector(".input-group")||u.value).getBoundingClientRect();S.value={top:X.top,left:X.left,width:X.width}}g.value=!0,B&&t.value.length&&i.nextTick(()=>{var M;(M=d.value)!=null&&M.focusAndShow&&d.value.focusAndShow()})}const v=i.computed(()=>{const B=t.value.filter(M=>{const U=a.value.some(X=>X.filterField===M.field);return m.value?!U&&(M.dataType==="string"||M.dataType==null):!U});return m.value&&!a.value.some(M=>M.filterField==="*")?[{...f},...B]:B}),C=i.computed(()=>(a.value||[]).map((B,M)=>{if(B.filterField==="*"){const X={...f,value:{value:B.value,compare:B.compare,relation:B.relation}};return{field:X,condition:B,displayText:h(X),index:M}}const U=t.value.find(X=>X.field===B.filterField);return{field:U,condition:B,displayText:U?h(U):"",index:M}})),T=()=>{const B=C.value.map(X=>X.field).filter(X=>X.field&&X.field!=="*");let M=ri(B);const U=C.value.find(X=>X.field.field==="*");U&&(M=[...si([U.field,...t.value]),...M]),n.emit("change",M),n.emit("filter-change",{filters:M})},F=()=>{e.disabled||T()},x=i.ref(0),w=()=>{c.value=JSON.parse(JSON.stringify(a.value))};function E(B,M=!1){var X,pe;const U={filterField:B.field,value:B.field==="*"?(X=B==null?void 0:B.value)==null?void 0:X.value:"",compare:ee.Contains,lbracket:"",rbracket:"",relation:fe.Or};if(r.value=B,w(),a.value.push(U),(B.dataType==null||B.dataType==="string")&&((pe=B.value)!=null&&pe.value)){U.compare=ee.Contains,w(),M&&T();return}i.nextTick(()=>{var Me;const he=(Me=s.value)==null?void 0:Me.querySelectorAll(".search-tag-item");he&&he.length>0&&(o.value=he[he.length-1],p.value=he.length-1,l.value=!0)})}function I(B,M,U){U.stopPropagation(),!(p.value===M&&l.value)&&(g.value||b(!1),i.nextTick(()=>{setTimeout(()=>{o.value=U.target,p.value=M,l.value=!0,r.value=B.field},20)}))}const L=i.computed(()=>{var B;return l.value&&!((B=d.value)!=null&&B.showPopover)}),P=()=>{l.value=!1,p.value=null,r.value=null,i.nextTick(()=>{var B,M;(M=(B=d.value)==null?void 0:B.focus)==null||M.call(B)})},N=i.computed(()=>a.value.length>0?"":{opacity:.3,"pointer-events":"none"}),V=()=>{w(),T(),P()},D=()=>{e.disabled||(a.value=[],V())},R=B=>{const{event:M,key:U}=B;M==null||M.stopPropagation(),U==="backspace"&&a.value&&a.value.length>0&&(a.value.pop(),V())},W=(B,M)=>{M.stopPropagation(),a.value.splice(B,1),V()};function $(B,M){var U;return i.createVNode("span",{class:"multi--item search-tag-item",title:B.displayText,style:{cursor:((U=r.value)==null?void 0:U.field)===B.field.field?"default":"pointer"},onClick:X=>I(B,M,X)},[i.createVNode("span",{class:"search-tag"},[B.displayText]),i.createVNode("i",{class:"f-icon f-icon-close search-box_delete-keys",onClick:X=>W(M,X),style:"top:5px",title:"删除条件"},null)])}function _(){return C.value.map((B,M)=>$(B,M))}function k(){c.value.length>0?a.value=JSON.parse(JSON.stringify(c.value)):a.value=[],P()}function j(B){if(r.value.value=B,r.value.field==="*"){const M=a.value.find(U=>U.filterField==="*");M&&(M.value=B.value,M.compare=B.compare,M.relation=B.relation)}V()}const z=B=>{a.value=a.value.filter(M=>M.filterField!==B.field),V()},Y=B=>{m.value=B},ie=B=>{r.value.value=B,V()};function me(){g.value=!1,m.value=""}function oe(B){B.stopPropagation(),!e.disabled&&(g.value||b())}function te(){if(k(),!v.value.length)return!1}function de(){return i.createVNode(i.Fragment,null,[_(),i.createVNode("span",{class:"search-input-box"},[i.createVNode(wa,{placeholder:y.searchPlaceHolder,fields:v.value,beforeOpenFieldsPanel:te,ref:d,disabled:e.disabled,onFieldSelected:(B,M)=>E(B,M),onInputKeydown:B=>R(B),onValueChange:B=>Y(B),locales:y},null)])])}const ye=i.computed(()=>({position:"fixed",top:`${S.value.top}px`,left:`${S.value.left}px`,width:`${S.value.width}px`,zIndex:9999,flexWrap:"wrap"})),q=i.computed(()=>({"f-cmp-inputgroup d-flex f-field-search-box field-search-expanded-overlay":!0}));function Z(){return i.createVNode("div",{ref:s,class:q.value,style:ye.value},[i.createVNode("div",{class:"input-group f-cmp-inputgroup",style:"overflow: hidden;"},[i.createVNode("div",{class:"form-control f-cmp-inputgroup--multi-wrapper multi-more",style:"height: auto"},[i.createVNode("div",{class:"multi--content d-flex flex-row",style:"width: 100%;flex-wrap: wrap;align-items: center;cursor: text;",onClick:oe},[de()])]),i.createVNode("div",{class:"input-group-append",onClick:F,style:N.value},[i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])]),i.createVNode(oi,{field:r.value,referenceElement:o.value,visible:L.value,onCancel:k,onClear:z,onSubmit:j,onSearchEmpty:ie,locales:y},null)])}const ae=B=>{var M,U;if(!((M=B.target)!=null&&M.closest(".search-fields-list")||(U=B.target)!=null&&U.closest(".field-search-panel"))&&u.value&&!u.value.contains(B.target)){const X=document.querySelector(".field-search-expanded-overlay");(!X||!X.contains(B.target))&&me()}},le=B=>{var U,X;const M=B.target;if((U=M==null?void 0:M.closest)!=null&&U.call(M,".field-search-expanded-overlay")){if(M.closest(".f-checkbox-group"))return;B.preventDefault();return}(X=M==null?void 0:M.closest)!=null&&X.call(M,".search-fields-panel, .search-fields-list")||(me(),k())};i.watch(g,B=>{B?(document.addEventListener("click",ae,!0),document.addEventListener("wheel",le,{passive:!1}),document.addEventListener("scroll",le)):(document.removeEventListener("click",ae,!0),document.removeEventListener("wheel",le),document.removeEventListener("scroll",le))}),i.watch(()=>e.disabled,B=>{B&&(me(),P())}),i.watchEffect(()=>{var B,M;if(!g.value)if(!a.value||!a.value.length)x.value=0;else{const U=Array.from(((M=(B=u.value)==null?void 0:B.querySelectorAll)==null?void 0:M.call(B,"span.search-tag-item"))||[]);U&&U.length?x.value=U.map(X=>X.offsetTop).filter(X=>X>20).length:x.value=0}});let se=null,J=0;const H=()=>{u.value&&typeof ResizeObserver<"u"&&(se=new ResizeObserver(B=>{for(const M of B){const U=M.contentRect.width;J!==U&&(J=U,requestAnimationFrame(()=>{k()}))}}),se.observe(u.value),u.value&&(J=u.value.clientWidth))};i.onMounted(()=>{e.defaultValue&&Object.keys(e.defaultValue).length&&(Object.keys(e.defaultValue).forEach(B=>{var M;B==="*"?a.value.push({filterField:B,value:e.defaultValue[B].value,compare:e.defaultValue[B].compare,lbracket:"",rbracket:"",relation:fe.Or}):(M=t.value)==null||M.forEach(U=>{e.defaultValue[U.field]&&(U.value=e.defaultValue[U.field],a.value.push({filterField:U.field,value:"",compare:ee.Equal,lbracket:"",rbracket:"",relation:fe.And}))})}),i.nextTick(()=>{V()})),H()}),i.onUnmounted(()=>{se==null||se.disconnect(),se=null});const ne=i.computed(()=>{const B={"f-cmp-inputgroup d-flex f-field-search-box":!0,"d-none":g.value};return A.getCustomClass(B,e.customClass)}),ue=i.computed(()=>{const B=e.disabled||!t.value.length?{"pointer-events":"none",opacity:.7}:{};return A.getCustomStyle(B,e.customStyle)}),ge=i.computed(()=>t.value.length?y.searchPlaceHolder:y.nofields);return()=>e.visible?i.createVNode(i.Fragment,null,[i.createVNode("div",{class:ne.value,ref:u,style:ue.value},[i.createVNode("div",{class:"input-group f-cmp-inputgroup",style:"overflow: hidden;"},[i.createVNode("div",{class:"form-control f-cmp-inputgroup--multi-wrapper multi-more"},[i.createVNode("div",{class:"multi--content d-flex flex-row",style:"width: 100%;flex-wrap: wrap;align-items: center;cursor: text;",onClick:oe},[_(),i.createVNode("span",{class:"search-input-box"},[i.createVNode("input",{type:"text",placeholder:ge.value,class:" text-left form-control f-utils-fill"},null)])])]),x.value>0&&i.createVNode("div",{class:"d-flex flex-row",style:"cursor: pointer;align-items: center;color: #2A87FF;font-weight: 600;"},[i.createVNode("span",{class:"multi--more-text"},[i.createTextVNode("+"),x.value])]),i.createVNode("div",{class:"input-group-append",onClick:F,style:N.value},[i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])]),i.createVNode("span",{class:"f-icon f-icon-remove clear-search-fields",onClick:()=>D(),style:N.value,title:y.clearAll},null)]),g.value&&Z()]):null}});class ci{constructor(n){K(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);K(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});K(this,"getExpressionConverter",(n,t)=>({convertFrom:(a,o,l,r)=>{const p=l.getExpressionRuleValue(n,t||o);return p&&p.value||""},convertTo:(a,o,l,r,p)=>{var d;if(o==="dataPicking"&&(l!=null&&l.target)){const c=`${l.target}_dataPicking`;((d=l.rules)==null?void 0:d.some(s=>s.id===c&&s.value))?a.dictPickingExpressionId=c:delete a.dictPickingExpressionId}r.updateExpression(l)}}));this.formSchemaService=n}getExpressionRule(n,t){const a=this.getExpressionData();if(!a)return"";const o=a.find(r=>r.target===n);if(!o)return"";const l=o.rules.find(r=>r.type===t);return l||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),a=this.formSchemaService.getViewModelById(t);if(!a||!a.states||a.states.length===0)return[];const o=[];return a.states.filter(l=>l.category==="remote").forEach(l=>{o.push({key:l.code,name:l.name,description:l.name,category:l.category})}),o}createTreeNode(n,t,a="label"){return{id:n.id,name:n.name,bindingPath:n[a],parents:t,type:"field"}}buildEntityFieldsTreeData(n=null,t){const a=[];return n==null||n.forEach(o=>{var p;const l=this.createTreeNode(o,t);let r=[];(p=o.type)!=null&&p.fields&&(r=this.buildEntityFieldsTreeData(o.type.fields,[...t,o.label])),a.push({data:l,children:r,expanded:!0})}),a}buildChildEntityTreeData(n=null,t){const a=[];return n==null||n.forEach(o=>{var d,c;const l=this.createTreeNode(o,t);l.type="entity";const r=this.buildEntityFieldsTreeData((d=o.type)==null?void 0:d.fields,[...t,o.label]),p=this.buildChildEntityTreeData((c=o.type)==null?void 0:c.entities,[...t,o.label]);p!=null&&p.length&&(r==null||r.push(...p)),a.push({data:l,children:r||[],expanded:!0})}),a}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const t=n[0];if(!(t!=null&&t.type))return[];const a=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),o=this.buildChildEntityTreeData(t.type.entities,[t.code]);return o!=null&&o.length&&(a==null||a.push(...o)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:a||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,t,a){const o=a==="Field"?n.binding.field:n.id,l=this.getExpressionRule(o,t),r=this.getEntitiesAndVariables(),p={message:["validate","required","dataPicking"].includes(t)&&l?l.message:"",...r};return l.messageType!=null&&(p.messageType=l.messageType),p}buildRule(n,t,a,o){const{expression:l,message:r,messageType:p}=t,d={id:`${n}_${a}`,type:a,value:l};return(a==="validate"||a==="dataPicking"||a==="required")&&(d.message=r),a==="dataPicking"&&(d.messageType=p),a==="validate"&&o&&(d.elementId=o),d}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,t,a,o){const l=t==="Field"?n.binding.field:n.id,r=this.buildRule(l,a,o,n.type==="form-group"?n.id:"");let d=this.getExpressionData().find(u=>u.targetType===t&&u.target===l);const c=u=>u.value.trim()==="";if(d){const u=d.rules.find(s=>s.id===r.id);if(u)c(r)?d.rules=d.rules.filter(s=>s.id!==r.id):(Object.assign(u,r),o==="validate"&&n.type==="form-group"&&(u.elementId=n.id));else{if(c(r))return null;d.rules=d.rules||[],d.rules.push(r)}}else{if(c(r))return null;d={target:`${l}`,rules:[r],targetType:t}}return d}getExpressionEditorOptions(n,t,a,o){return a.reduce((l,r)=>{var d,c;const p=t==="Field"?(d=n==null?void 0:n.binding)==null?void 0:d.field:n.id;return l[r]={hide:t==="Field"?!!((c=n==null?void 0:n.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(p),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(n,r,t),onSubmitModal:u=>{const s=this.updateExpression(n,t,u,r);if(o){const g=this.buildRule(p,u,r);o(g)}return s}}},l},{})}getExpressionInfo(n,t,a){const o=t==="Field"?n.binding.field:n.id,l=this.getExpressionRule(o,a),r={value:l&&l.value,targetId:o,targetType:t,expressionType:a};return l&&l.message&&(r.message=l.message),r}getExpressionConfig(n,t,a=["compute","dependency","validate"],o){var l;return{description:"表达式",title:"表达式",hide:!(n.binding&&((l=n.binding)==null?void 0:l.type)==="Form"),properties:{...this.getExpressionEditorOptions(n,t,a,o)}}}getExpressionOptions(n,t,a){const o=this.getExpressionInfo(n,t,a);return{dialogTitle:`${this.expressionNames[a]||"表达式"}编辑器`,singleExpand:!1,showMessage:a==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,a,t),expressionInfo:o}}}function di(e){const{formSchemaUtils:n,formStateMachineUtils:t}=e;function a(d,c=""){return{path:c+d.code,field:d.id,fullPath:d.code}}function o(d,c=""){const u=n.getViewModelById(d);return u?u.states.map(s=>a(s,c)):[]}function l(d){const c=n.getRootViewModelId(),u=o(d);if(d===c)return u;const s=o(c,"root-component.");return[...u,...s]}function r(d){return d.binding&&d.binding.path||d.id||""}function p(){return t&&t.getRenderStates()||[]}return{getVariables:l,getControlName:r,getStateMachines:p}}function Fn(e,n,t,a){const{getVariables:o,getControlName:l,getStateMachines:r}=di(e);return(p,d=[],c={},u={},s)=>{const g=d&&d.length>0?d:["Const","Variable","StateMachine","Expression"],S={type:"property-editor",propertyTypes:g};return g.forEach(m=>{switch(m){case"Const":Object.assign(S,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},c);break;case"Expression":break;case"StateMachine":S.stateMachines=r();break;case"Variable":Object.assign(S,{controlName:l(p),newVariablePrefix:"is",newVariableType:"Boolean",variables:o(n),parentComponentId:t==="root-component"?"":"root-component",onBeforeOpenVariables:y=>{y.value=o(n)}},u),(a==null?void 0:a.designerMode)==="PC_RTC"&&(S.newVariablePrefix="ext_"+S.newVariablePrefix);break}}),S}}class wn{constructor(n,t){K(this,"componentId");K(this,"viewModelId");K(this,"eventsEditorUtils");K(this,"formSchemaUtils");K(this,"formMetadataConverter");K(this,"designViewModelUtils");K(this,"designViewModelField");K(this,"controlCreatorUtils");K(this,"designerHostService");K(this,"designerContext");K(this,"modalService",null);K(this,"formRule",null);K(this,"schemaService",null);K(this,"metadataService",null);K(this,"propertyConfig",{type:"object",categories:{}});K(this,"expressionProperty");var a;this.componentId=n,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext,this.modalService=t.modalService,this.expressionProperty=new ci(this.formSchemaUtils)}inResponsiveForm(){var n;return!!((n=this.designerContext)!=null&&n.responsiveForm)}getFormDesignerInstance(){var n,t;return(t=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var a;const t=n.binding&&n.binding.type==="Form"&&n.binding.field;if(t){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(l=>l.id===t)}n.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:n.type,name:O.DgControl[n.type]&&O.DgControl[n.type].name}]}}}}}getAppearanceConfig(n=null,t={},a){const o={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in t)l[r]=Object.assign(l[r]||{},t[r]);return{...o,properties:{...l},setPropertyRelates(r,p){if(r){switch(r&&r.propertyID){case"class":case"style":{O.canvasChanged.value++;break}}a&&a(r,n,p)}}}}getPropertyEditorParams(n,t=[],a="visible",o={},l={},r=""){const d=Fn(this.designerHostService,this.viewModelId,this.componentId,this.designerContext)(n,t,o,l,r||a);if((d.propertyTypes||[]).indexOf("Expression")>-1){const u=this.getRealTargetType(n);d.expressionConfig=this.getExpressionOptions(n,u,r||a)}return d}getVisibleProperty(n,t=""){var l;let a=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?a=["Const","Expression"]:t==="form-group"&&!((l=n.binding)!=null&&l.field)?a=["Const","Variable","StateMachine","Custom"]:t==="dataGrid"||t==="treeGrid"||t==="wizard"?a=["Const","Variable","Expression"]:(n.type.indexOf("toolbar-item")>-1||t==="form-group")&&(a=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,a,"visible")}}}getBehaviorConfig(n,t="",a={},o){const l={title:"行为",description:""},r=this.getVisibleProperty(n,t);for(const d in a)r[d]=Object.assign(r[d]||{},a[d]);const p=this;return{...l,properties:{...r},setPropertyRelates(d,c){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":p.afterMutilEditorChanged(n,d);break}o&&o(d,c)}}}}afterMutilEditorChanged(n,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t,n),this.clearExpression(t,n)}updateElementByParentContainer(n,t){const a=t&&t.parent&&t.parent.schema;if(!a)return;const o=a.contents.findIndex(r=>r.id===n),l=re.cloneDeep(a.contents[o]);a.contents.splice(o,1),a.contents.splice(o,0,l),O.refreshCanvas()}addNewVariableToViewModel(n,t){const a=n.propertyValue;if(!(a&&typeof a=="object")||!(a.type==="Variable"&&a.isNewVariable))return;const r={id:a.field,category:"locale",code:a.fullPath,name:a.fullPath,type:a.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete a.newVariableType,delete a.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}getExpressions(){let n=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],n=this.formRule.expressions||[]):n=this.formSchemaUtils.getExpressions(),n}updateExpressionValue(n,t){const a=n.propertyValue;if(!((a&&a.type)==="Expression"&&a.expressionInfo))return;const{expressionId:r,expressionInfo:p}=a,{targetId:d,targetType:c,expressionType:u,value:s,message:g}=p,S=this.getExpressions();let m=S.find(h=>h.target===d);m||(m={target:d,rules:[],targetType:c},S.push(m));const y=m.rules.find(h=>h.type===u);if(y)y.id=r,y.value=s,y.message=g,(u==="minDate"||u==="maxDate"||u==="defaultTime")&&(y.elementId=t.id);else{const h={id:r,type:u,value:s,message:g,elementId:t.id};m.rules.push(h)}delete a.expressionInfo}clearExpression(n,t){const a=n.propertyValue;if(a&&a.type==="Expression")return;const l=n.propertyID,r=this.getExpressions(),p=t.binding?t.binding.field:t.id,d=r.find(c=>c.target===p);!d||!d.rules||(d.rules=d.rules.filter(c=>c.type!==l))}getExpressionOptions(n,t,a){return this.expressionProperty.getExpressionOptions(n,t,a)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:a=>{var o;((o=a.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(a)}}},t}}const Ue=class Ue{static getEditorTypesByMDataType(n,t=!1,a=""){if(t)return[{key:O.DgControl["language-textbox"].type,value:O.DgControl["language-textbox"].name}];let o=Ue.fieldControlTypeMapping[n];if(a==="data-grid-column"&&(o!=null&&o.length)){const l=[O.DgControl["check-group"].type,O.DgControl["radio-group"].type,O.DgControl.image.type,O.DgControl["rich-text-editor"].type,O.DgControl.avatar.type];o=o.filter(r=>!l.includes(r.key))}if(a==="tree-grid-column"&&(o!=null&&o.length)){const l=[O.DgControl["check-group"].type,O.DgControl["radio-group"].type,O.DgControl.image.type,O.DgControl["rich-text-editor"].type,O.DgControl.avatar.type,O.DgControl.switch.type];o=o.filter(r=>!l.includes(r.key))}return o}static getAllInputTypes(){const n=[];for(const t in Ue.fieldControlTypeMapping)Ue.fieldControlTypeMapping[t].forEach(a=>{n.find(o=>o.key===a.key&&o.value===a.value)||n.push({key:a.key,value:a.value})});return n}static mappingDomPropAndSchemaProp(n,t){var l;const a=(l=n.editor)==null?void 0:l.type,o=[];return(n.type===O.DgControl["data-grid-column"].type||n.type===O.DgControl["tree-grid-column"].type)&&t&&t.categoryId&&t.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(a===O.DgControl["input-group"].type||a===O.DgControl.textarea.type||a===O.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),a===O.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(n.type===O.DgControl["data-grid-column"].type||n.type===O.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(a===O.DgControl["combo-list"].type||a===O.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(n.type===O.DgControl["data-grid-column"].type||n.type===O.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),a===O.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),a===O.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),a===O.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(n.type===O.DgControl["data-grid-column"].type||n.type===O.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}static getEditorTypeByVariableType(n){switch(n){case"String":return O.DgControl["input-group"].type;case"Number":return O.DgControl["number-spinner"].type;case"Boolean":return O.DgControl["check-box"].type;case"Date":case"DateTime":return O.DgControl["date-picker"].type;case"Text":return O.DgControl.textarea.type}}};K(Ue,"fieldControlTypeMapping",{String:[{key:O.DgControl["input-group"].type,value:O.DgControl["input-group"].name},{key:O.DgControl.lookup.type,value:O.DgControl.lookup.name},{key:O.DgControl.image.type,value:O.DgControl.image.name},{key:O.DgControl["date-picker"].type,value:O.DgControl["date-picker"].name},{key:O.DgControl.switch.type,value:O.DgControl.switch.name},{key:O.DgControl["check-box"].type,value:O.DgControl["check-box"].name},{key:O.DgControl["check-group"].type,value:O.DgControl["check-group"].name},{key:O.DgControl["radio-group"].type,value:O.DgControl["radio-group"].name},{key:O.DgControl["combo-list"].type,value:O.DgControl["combo-list"].name},{key:O.DgControl.textarea.type,value:O.DgControl.textarea.name},{key:O.DgControl["time-picker"].type,value:O.DgControl["time-picker"].name},{key:O.DgControl["rich-text-editor"].type,value:O.DgControl["rich-text-editor"].name}],Text:[{key:O.DgControl.textarea.type,value:O.DgControl.textarea.name},{key:O.DgControl.lookup.type,value:O.DgControl.lookup.name},{key:O.DgControl.image.type,value:O.DgControl.image.name},{key:O.DgControl.avatar.type,value:O.DgControl.avatar.name},{key:O.DgControl["rich-text-editor"].type,value:O.DgControl["rich-text-editor"].name}],Decimal:[{key:O.DgControl["number-spinner"].type,value:O.DgControl["number-spinner"].name}],Integer:[{key:O.DgControl["number-spinner"].type,value:O.DgControl["number-spinner"].name}],Number:[{key:O.DgControl["number-spinner"].type,value:O.DgControl["number-spinner"].name},{key:O.DgControl.switch.type,value:O.DgControl.switch.name},{key:O.DgControl["check-box"].type,value:O.DgControl["check-box"].name}],BigNumber:[{key:O.DgControl["number-spinner"].type,value:O.DgControl["number-spinner"].name}],Date:[{key:O.DgControl["date-picker"].type,value:O.DgControl["date-picker"].name}],DateTime:[{key:O.DgControl["date-picker"].type,value:O.DgControl["date-picker"].name}],Boolean:[{key:O.DgControl.switch.type,value:O.DgControl.switch.name},{key:O.DgControl["check-box"].type,value:O.DgControl["check-box"].name}],Enum:[{key:O.DgControl["combo-list"].type,value:O.DgControl["combo-list"].name},{key:O.DgControl["radio-group"].type,value:O.DgControl["radio-group"].name}],Object:[{key:O.DgControl.lookup.type,value:O.DgControl.lookup.name},{key:O.DgControl["combo-list"].type,value:O.DgControl["combo-list"].name}]});let ft=Ue;var Ze=(e=>(e.Form="Form",e.Variable="Variable",e))(Ze||{});class Vn{constructor(){K(this,"label","");K(this,"id","");K(this,"columnInSM",12);K(this,"columnInMD",6);K(this,"columnInLG",3);K(this,"columnInEL",2);K(this,"displayWidthInSM",1);K(this,"displayWidthInMD",1);K(this,"displayWidthInLG",1);K(this,"displayWidthInEL",1);K(this,"displayColumnCountAtBreakPoint","md");K(this,"tagRow",0);K(this,"showTopBorder",0);K(this,"group",1);K(this,"isSupportedClass",!0);K(this,"fieldSetId","")}}function ui(e){let n,t;const a=new Map;let o=[];function l(u,s){const S=(u||"").split(" ").filter(b=>b.startsWith("col-"));if(S.length===0){s.isSupportedClass=!1;return}let m=S.find(b=>/^col-([1-9]|10|11|12)$/.test(b)),y=S.find(b=>/^col-md-([1-9]|10|11|12)$/.test(b)),h=S.find(b=>/^col-xl-([1-9]|10|11|12)$/.test(b)),f=S.find(b=>/^col-el-([1-9]|10|11|12)$/.test(b));m=m||"col-12",s.columnInSM=parseInt(m.replace("col-",""),10),s.displayWidthInSM=s.columnInSM/12,s.displayWidthInSM!==1&&(s.isSupportedClass=!1),y=y||"col-md-"+s.columnInSM,s.columnInMD=parseInt(y.replace("col-md-",""),10),s.displayWidthInMD=s.columnInMD/6,[1,2].includes(s.displayWidthInMD)||(s.isSupportedClass=!1),h=h||"col-xl-"+s.columnInMD,s.columnInLG=parseInt(h.replace("col-xl-",""),10),s.displayWidthInLG=s.columnInLG/3,[1,2,3,4].includes(s.displayWidthInLG)||(s.isSupportedClass=!1),f=f||"col-el-"+s.columnInLG,s.columnInEL=parseInt(f.replace("col-el-",""),10),s.displayWidthInEL=s.columnInEL/2,[1,2,3,4,5,6].includes(s.displayWidthInEL)||(s.isSupportedClass=!1)}function r(u,s,g,S=!1){let m=!1;if(!u.contents||u.contents.length===0){const y=new Vn;l(u.layout,y),s.push(y);return}u.contents.forEach(y=>{if(y.type==="fieldset"){g+=1,r(y,s,g,!0),m=!0;return}if(y.type==="dynamic-form")return;m&&(g+=1,m=!1);const h=y.appearance&&y.appearance.class,f=new Vn;h?l(h,f):f.isSupportedClass=!1,f.label=y.label||y.id,f.id=y.id,f.group=g,S&&(f.fieldSetId=u.id),t===y.id&&(n=g),a.set(y.id,y),s.push(f)})}function p(u){const s=e.getComponentById(u);if(!s||!s.componentType||!s.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const g=e.selectNode(s,S=>S.type===O.DgControl["response-form"].type);return!g||!g.contents||g.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:g}}function d(u,s){s=s||u.id;const{result:g,message:S,formNode:m}=p(s);if(!g)return{result:g,message:S};t=u.id,o=[],a.clear();const y=m.contents[0].type===O.DgControl.fieldset.type?0:1;r(m,o,y);const h=o.find(b=>!b.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:h?"customize":"standard"},importData:o}}function c(u,s){s=s;const{result:g,formNode:S}=p(s);if(!g)return"";const m=[];return u.forEach(y=>{var b;const h=a.get(y.id),f=h.appearance&&h.appearance.class;if(f){const C=f.split(" ").filter(I=>!I.startsWith("col-")),T="col-"+y.columnInSM,F="col-md-"+y.columnInMD,x="col-xl-"+y.columnInLG,w="col-el-"+y.columnInEL,E=[T,F,x,w].concat(C);h.appearance.class=E.join(" ")}if(y.fieldSetId){const v=S.contents.find(T=>T.id===y.fieldSetId),C=m.find(T=>T.id===y.fieldSetId);C?(b=C.contents)==null||b.push(h):(m.push(v),v.contents=[h])}else m.push(h)}),S.contents=m,S.id}return{checkCanFindFormNode:p,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:c,getResonseFormLayoutConfig:r}}const fi=e=>i.createVNode(i.Fragment,null,[i.createVNode("h5",null,[i.createTextVNode("代码示例")]),i.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[i.createVNode("code",null,[`
55
+ }`])]),Qt=Symbol("schema_repository_token");function ma(e,n){const t=new Map;n.forEach(o=>{t.set(o.id,o.title)});const a=o=>{var l;if(!(!o||o.length===0))for(const r of o){const p=(l=r.data)==null?void 0:l.id;p&&t.has(p)&&(r.data.name=t.get(p)),r.children&&r.children.length>0&&a(r.children)}};a(e)}function Xt(e,n){const t=a=>a&&a.length?a.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:["PC_RTC","PC_NoCode"].includes(n.formSchemaUtils.designerMode)?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(a,o)=>`${a==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Qt},dataSourceConverter:Pt,defaultConverter:de,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ot.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ot.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(a,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:ot.FieldSelectorRepositoryToken,displayFormatter:t},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const a=n.designViewModelUtils.getAllFields2TreeByVMId(n.viewModelId);if(n.formRule){const l=n.formRule.fields.map(r=>({id:r.binding.field,title:r.label}));ma(a,l)}const o=n.schemaService.getPrimaryField();return o?a.filter(l=>l.data.bindingPath!==o):a},formatter:(a,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:t}}}}function Zt(e){var l;const n={type:"combo-list",enableClear:!1,editable:!1},t={type:"number-spinner",useThousands:!1},a=()=>e.displayType?e.displayType.toUpperCase():"",o=()=>a().startsWith("NAV")?e.showNavigation===void 0?!0:!!e.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:de,editor:{...n,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:e.openType!=="Popup",$converter:ke},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...t,min:o()?520:300,needValid:!0},$converter:ke},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...t,min:200,needValid:!0},$converter:ke},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:e.openType!=="Popup",$converter:ke},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!e.enableUserData&&(((l=e==null?void 0:e.dialog)==null?void 0:l.resizeable)??!0)&&e.openType!=="Popup",$converter:ke},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:e.openType!=="Popup",$converter:ke},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:e.openType!=="Popup",$converter:ke},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:e.openType!=="Popup",$converter:ke}}}function Kt(e,n=!0){var l,r,p,d;const t=!((l=e.pagination)!=null&&l.enable),a=()=>e.displayType?e.displayType.toUpperCase():"",o=(c,u)=>{const s=a()!=="TREELIST"||c.treeToList;return u&&s?c.pagination&&c.pagination[u]:s};return{hide:!o(e)||t,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:da,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:n,visible:o(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:n,visible:o(e,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:ct((r=e.pagination)==null?void 0:r.sizeLimits),beforeSubmit:({notifyService:c,data:u})=>!u||!u.length?(c==null||c.warning({message:"每页显示条数不能为空!"}),!1):new Set(u.map(g=>parseInt(g.value,10))).size===u.length?!0:(c==null||c.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(e),editor:{type:"combo-list",enableClear:!1,editable:!1,data:ct((p=e.pagination)==null?void 0:p.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(d=e.pagination)==null?void 0:d.size}}}}}class en extends it.InputBaseProperty{constructor(){super(...arguments);te(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});te(this,"numberEditor",{type:"number-spinner",useThousands:!1});te(this,"readonlyEditor",{...this.comboListEditor,editable:!0});te(this,"visibleEditor",{...this.comboListEditor,editable:!1});te(this,"requiredEditor",{...this.comboListEditor,editable:!1});te(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(t,a){const o=["validate"];return t.type==="form-group"&&o.push("dataPicking"),this.expressionProperty.getExpressionConfig(t,"Field",o)}getPropertyConfig(t,a,o="Card"){var v;const l=(v=t.binding)!=null&&v.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(t,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(t,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(t,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(t,["Const","Variable"],"allowFreeInput"),this.readonlyEditor.propertyTypes.push("Custom"),this.visibleEditor.propertyTypes.push("Custom"),this.requiredEditor.propertyTypes.push("Custom");const r=this.getBasicProperties(t,a,o),p=this.getBehaviorConfig(t,o),d=this.getAppearanceProperties(t,a),c=this.getLookupConfig(t),u=this.getEventPropConfig(t),s=this.getDialogPropertyConfig(t),g=this.getPageConfig(t.editor),S=this.getTreePropConfig(t.editor),h=this.getSearchConfig(t),y=this.getExpandProperties(t,o),m=this.getNavigatorConfig(t),f=this.getExpressionConfig(t,"Field"),b={basic:r,appearance:d,behavior:p,expandConfig:y,lookup:c,navigatiorConfig:m,treeConfig:S,dialog:s,pager:g,searchConfig:h,expressions:f};return t.type==="form-group"&&(b.eventsEditor=u),{type:"object",categories:b}}getGridFieldEdtiorPropConfig(t){return this.getPropertyConfig(t,null,"Grid").categories}flattenTreeNodes(t){return t.reduce((a,o)=>{var l;return a.push(o),(l=o.children)!=null&&l.length&&a.push(...this.flattenTreeNodes(o.children)),a},[])}isSimpleStringField(){var p;const t=((p=this.designViewModelField)==null?void 0:p.path)||"";if(!t||!t.includes("."))return!0;const a=t.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(d=>d.data.code===a[0]);if(!l)return!1;const r=[l,...this.flattenTreeNodes(l.children)];return!a.reduce((d,c,u)=>[...d,u?`${d[u-1]}.${c}`:c],[]).some(d=>{var c,u,s;return((s=(u=(c=r.find(g=>g.data.path===d))==null?void 0:c.data)==null?void 0:u.type)==null?void 0:s.$type)==="EntityType"})}getBehaviorConfig(t,a="Card"){const o=a==="Card"?this.getTipsConfig(t):{};return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor},...o},setPropertyRelates:(l,r)=>{this.afterMutilEditorChanged(r,l)}}}changeBindingField(t,a){super.changeBindingField(t,a),t.editor.multiSelect=!1}getDisplayType(t){return t.displayType?t.displayType.toUpperCase():""}mapFieldsDisplayFormatter(t){return t&&t.length?t.map(a=>`${a.name}[${a.bindingPath}]`).join(","):""}getSearchConfig(t){const a=()=>{var l;return t.editor.openType!=="Popup"&&(((l=t.editor)==null?void 0:l.enableSearchBar)??!0)!==!1&&(this.getDisplayType(t.editor)!=="TREELIST"||t.editor.treeToList===!0)&&!t.editor.enableMultiFieldSearch};return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:de,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},enableMultiFieldSearch:{$converter:de,refreshPanelAfterChanged:!0,description:"是否启用多字段搜索",title:"启用多字段查询",type:"boolean",visible:!0},searchAnyField:{description:"显示所有列",$converter:de,title:"允许查询所有列",type:"boolean",visible:t.editor.openType!=="Popup"&&t.editor.enableSearchBar==null?!t.editor.enableMultiFieldSearch:!!t.editor.enableSearchBar},enableEqualSearch:{$converter:de,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:a()}},hide:t.editor.openType==="Popup"}}getNavigatorConfig(t){var o;const a=t.editor;return{description:"自定义左侧导航数据格式化、样式",title:"导航栏",properties:{showNavigation:{description:"显示导航栏",$converter:de,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:this.getDisplayType(a).includes("NAV")&&a.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:this.showNavigatiorWidth(a)&&a.openType!=="Popup",editor:{...this.numberEditor,min:200,max:(((o=a==null?void 0:a.dialog)==null?void 0:o.width)??960)-200,needValid:!0},$converter:ke},selectFirstNavItem:{$converter:de,description:"是否默认选中首条导航数据,开启后,打开弹窗后,会自动选中导航第1条数据",title:"默认选中首条导航数据",type:"boolean",visible:this.showNavigatiorWidth(a)&&a.openType!=="Popup"},customNavFormatter:{description:"自定义左侧导航数据格式化、样式",title:"左侧导航格式化",type:"string",$converter:de,editor:{type:"code-editor",language:"javascript",leftTemplate:Yt},visible:this.showNavigatiorWidth(a)&&a.openType!=="Popup"}},hide:!this.getDisplayType(a).startsWith("NAV")||a.openType==="Popup"}}getLookupConfig(t){var c,u;const a=t.editor,o=()=>{const s=this.formSchemaUtils.getFormSchema().module.entity[0].id,g=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:a,formBasicInfo:g,viewModelId:s,dataSourceId:a.helpId}},{dataSourceEditor:l,idFieldEditor:r,textFieldEditor:p,mappingFieldsEditor:d}=Xt(a,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(s,g)=>{if(s)switch(s.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(g,s);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((c=t.binding)!=null&&c.field)&&((u=t.binding)==null?void 0:u.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:de},enableClear:{description:"是否显示清除按钮",title:"启用清除按钮",type:"boolean",$converter:de},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:de,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:de,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(a.multiSelect&&a.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:de,editor:this.freeInputEditor,visible:!!a.editable&&this.isSimpleStringField()},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:s=>s&&s.length?s.map(g=>`${g.name}(${g.code})`).join(","):"",validateFunction:async s=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(s,t),onSubmitModal:s=>{if(s){delete a.mappingFields;const g=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(g.relativePath,s[0].data).then(S=>JSON.parse(S==null?void 0:S.metadata.content))}}},$converter:Pt},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:de,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:a,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:ot.FieldSelectorRepositoryToken,beforeOpen:async({repository:s,notifyService:g})=>{var b;if(!(a==null?void 0:a.helpId))return g==null||g.warning({message:"请先配置数据源!"}),!1;const h=o(),m=new it.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let f={};if(s){const v=await s.getData(h),C=await s.getLookupConditions(h);f={fieldList:v,conditionList:C}}return(b=m.variables)!=null&&b.forms&&(m.variables.forms.items=m.variables.forms.items.filter(v=>v.category==="remote")),{...f,...m,isServerSide:!0}},onSubmitModal:async({loadingService:s,repository:g,conditions:S,originalConditions:h,FMessageBoxService:y})=>{if(g)try{const m=o(),f=await g.getLookupConditions(m)||[];return JSON.stringify(f)!==JSON.stringify(h.value)?(s==null||s.clearAll(),y.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{S.value=f,h.value=JSON.parse(JSON.stringify(S.value))},()=>{}),!1):(JSON.stringify(S.value)===JSON.stringify(h.value)||await g.saveFilterCondition(S.value,m,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return y==null||y.error("保存失败",""),!1}finally{s==null||s.clearAll()}}},visible:!!a.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:ca,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...r},$converter:ra},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:sa,editor:p},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:de,editor:{...d}},textAlign:{description:"文本对齐方式",title:"文本对齐方式",type:"string",$converter:de,editor:{type:"combo-list",editable:!1,data:[{text:"左对齐",value:"left"},{text:"居中对齐",value:"center"},{text:"右对齐",value:"right"}],textField:"text",idField:"value",valueField:"value"}},customFormatter:{description:"自定义数据格式化、样式",title:"格式化",type:"string",$converter:de,editor:{type:"code-editor",language:"javascript",leftTemplate:Yt}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:de,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:de,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:de,title:"显示已选记录",type:"boolean",visible:!!a.multiSelect&&a.openType!=="Popup"},separator:{description:"多选分隔符",$converter:de,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!a.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:de,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:de,title:"启用收藏夹",type:"boolean",visible:a.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:de,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:a.openType!=="Popup"}}}}showNavigatiorWidth(t){return this.getDisplayType(t).startsWith("NAV")&&t.openType!=="Popup"?t.showNavigation===void 0?!0:!!t.showNavigation:!1}getDialogPropertyConfig(t){const a=Zt(t.editor);return a.openType.$converter=de,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:ke,properties:a}}showPagerProperty(t,a){const o=this.getDisplayType(t)!=="TREELIST"||t.treeToList;return a&&o?t.pagination&&t.pagination[a]:o}getPageConfig(t){return Kt(t)}showLoadType(t){const a=this.getDisplayType(t);return(a==="TREELIST"||a==="NAVTREELIST")&&!t.treeToList&&!t.navTreeToList}isTree(t){return this.getDisplayType(t)==="TREELIST"&&!t.treeToList}getTreePropConfig(t){return{hide:this.getDisplayType(t)!=="TREELIST"&&this.getDisplayType(t)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:de,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:de,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:de,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(t)},enableFullTree:{description:"启用构造完整树",$converter:de,title:"构造完整树",type:"boolean",visible:this.showLoadType(t)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:de,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(t)},enableCascade:{description:"启用级联选择",$converter:de,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(t)&&!!t.multiSelect&&t.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:de,title:"显示级联状态",type:"boolean",visible:!!t.enableCascade&&this.isTree(t)},cascadeValue:{description:"缺省级联选择模式",$converter:de,title:"缺省级联选择模式",type:"string",visible:!!t.enableCascade&&this.isTree(t),editor:{...this.comboListEditor,data:st,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:de,title:"默认展开层级",type:"number",visible:this.showLoadType(t),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(t){const a=this;let o=[...ua];t.editor.openType==="Popup"&&(o=o.filter(p=>p.label!=="beforeSelectData")),o.push(...this.getInputCommonEvents(t));const l=a.eventsEditorUtils.formProperties(t,a.viewModelId,o),r=a.createBaseEventProperty(l);return this.appendFieldValueChangeEvents(t,o),{title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:O.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(p,d){const c=p.propertyValue;delete t[a.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,c.events,c),a.updateLinkedLabel(c,t));const u=a.designViewModelUtils.getDgViewModel(a.viewModelId);u&&a.designViewModelField&&u.changeField(a.designViewModelField.id,{valueChanging:t.fieldValueChanging||"",valueChanged:t.fieldValueChanged||""})}}}async checkSameBESource(t,a){var o,l,r,p,d;if(t&&((o=a==null?void 0:a.editor)!=null&&o.helpId)&&!a.isRtcControl){if(t.data.id===a.editor.helpId)return!0;const c=await this.metadataService.getPickMetadata("",t.data).then(y=>{var m;if((m=y==null?void 0:y.metadata)!=null&&m.content)return JSON.parse(y.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:a.editor.helpId}).then(y=>{var m;if((m=y==null?void 0:y.metadata)!=null&&m.content)return JSON.parse(y.metadata.content)}),s=(l=c==null?void 0:c.dataSource)==null?void 0:l.sourceType,g=(r=u.dataSource)==null?void 0:r.sourceType,S=(p=c==null?void 0:c.dataSource)==null?void 0:p.sourceId,h=(d=u==null?void 0:u.dataSource)==null?void 0:d.sourceId;if(s==="BE"&&g==="BE"&&S!==h)return new lt.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function ha(e,n){function t(a,o){const l=e.schema;return new en(a,n).getPropertyConfig(l,o)}return{getPropsConfig:t}}const ga=i.defineComponent({name:"FLookupDesign",props:$e,emits:wt,setup(e,n){const t=i.ref(),a=i.inject("design-item-context"),o=i.inject("designer-host-service"),l=ha(a,o),r=B.useDesignerComponent(t,a,l),p='<i class="f-icon f-icon-lookup"></i>',d='<i class="f-icon f-icon-arrow-chevron-down"></i>',c=i.computed(()=>e.openType==="Popup"?"Popup":"Modal"),u=i.computed(()=>c.value==="Popup"?d:p);return i.onMounted(()=>{t.value.componentInstance=r}),n.expose(r.value),()=>i.createVNode("div",{class:"f-lookup-design h-100",ref:t,style:"pointer-events: none;"},[i.createVNode(Me,{ref:t,buttonContent:u.value,readonly:!0,editable:!1,textAlign:e.textAlign,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)])}});function Be(e,n){const{lookupOptions:t}=n;function a(m){return{...xt,...m}}function o(){return{enableSelectRow:!0,multiSelect:t.multiSelect,showCheckbox:t.multiSelect,multiSelectMode:"OnCheckAndClick"}}function l(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:m}=n.lookupOptions,f=m??"";return typeof f=="string"&&f in Se?!1:f.toLowerCase().startsWith("nav")}function p(){const{displayType:m,treeToList:f}=n.lookupOptions,b=(m??"").toLowerCase();return(b===Se.Tree.toLowerCase()||b===Se.ListTree.toLowerCase())&&!f}function d(){const{displayType:m,navTreeToList:f}=n.lookupOptions;return(m??"").toLowerCase()===Se.TreeList.toLowerCase()&&!f}function c(){const{displayType:m,navTreeToList:f}=n.lookupOptions,b=(m??"").toLowerCase();return b===Se.ListList.toLowerCase()||b===Se.ListTree.toLowerCase()||f}function u(){var b;return t.dialog?{width:((b=t.dialog)==null?void 0:b.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function s(m){const{loadTreeDataType:f}=t;return f===we.all||f==="default"&&(m==null?void 0:m.loadDataType)==="all"}function g(m){return(m==null?void 0:m.layerType)==="pathcode"}function S(){return t.enableCascade&&t.multiSelect}function h(){return e.openType==="Popup"}return{checkPaination:a,checkMultiSelect:o,checkColumnOptions:l,isDoubleList:r,getNavigationSize:u,isTreeList:p,navIsTreeList:d,navIsList:c,isLoadAll:s,isPathCodeTree:g,isEnableCascadeCheck:S,isDropdownMode:h,sortOption:{mode:"server"}}}function tn(e,n,t){var p;const a=i.ref(e.searchFields||[]),o=i.ref(((p=e.navigation)==null?void 0:p.searchFields)||[]),l=d=>({TextType:"string",StringType:"string",NumericType:"number",DateType:"date",BooleanType:"boolean",DateTimeType:"datetime",EnumType:"enum"})[d],r=d=>!d||!d.length?[]:d.map(c=>({field:c.fieldPath||c.field,title:c.title,dataType:l(c.fieldType),options:c.formatter?c.formatter.options:null,value:null}));return i.watch(()=>[n==null?void 0:n.searchFields,n==null?void 0:n.columns],([d,c])=>{a.value=e.enableMultiFieldSearch?r(c):d}),i.watch(()=>[t==null?void 0:t.searchFields,t==null?void 0:t.columns],([d,c])=>{o.value=e.enableMultiFieldSearch?r(c):d}),{searchFieldItems:a,navSearchFieldItems:o}}function ya(e){const n=i.reactive({}),t=i.reactive({}),a=i.reactive({}),o=i.reactive({}),l=i.reactive({}),r=i.ref([]),p=i.ref(),d=i.reactive({...e}),c=i.reactive({canClose:!0}),u=i.reactive({}),s=i.ref(!1),g=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade","enableFavorite","customFormatter","customNavFormatter","selectFirstNavItem","navDefaultQueryValue","enableMultiFieldSearch"];function S(){g.forEach(h=>{d[h]=e[h]})}return S(),{pageInfoState:n,lookupState:t,navigationState:a,queryState:o,searchState:l,selectionState:r,unSelectDataId:p,lookupOptions:d,searchValueChanged:s,popupState:c,compatInstance:u}}const Ge=i.ref(),Ee="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function ba(e,n){const t=i.inject("FLoadingService"),a=i.inject(yt.F_MODAL_SERVICE_TOKEN),o=i.inject(Ft),l=ya(e),{pageInfoState:r,lookupState:p,navigationState:d,lookupOptions:c,searchValueChanged:u}=l,{searchFieldItems:s,navSearchFieldItems:g}=tn(e,p,d),S=i.ref(e.idValue),h=i.ref(!1),y=i.computed(()=>!!(c.loader||o&&o.getData||c.uri)),m=()=>{var q;const N=(q=c.displayType)==null?void 0:q.toUpperCase();return N===Se.Tree||N===Se.TreeList},f=(N,q=!1)=>{if(N){const{layerType:J,dataField:Z,parentField:re,pathField:se,layerField:oe,isDetailField:ue,loadDataType:_}=N,K={layerType:J,dataField:Z,parentField:re,pathField:se,layerField:oe,isDetailField:ue,loadDataType:_},{onlySelectLeaf:ee,loadTreeDataType:ie}=c;K.onlySelectLeaf=ee,K.loadDataType=ie,q?c.navTreeInfo=Object.assign(c.navTreeInfo||{},K):c.treeInfo=Object.assign(c.treeInfo||{},K)}};function b(N,q,J="like"){if(q==null||!q.trim())return[];const Z=Array.from(new Set(q.trim().split(" ").filter(_=>_.trim())));if(!N||!Z.length)return[];const se=J==="equal"?He.Equal:He.Like,oe=(N||[]).map((_,K)=>{const ee=Z.map((ie,le)=>({filterField:_.value,value:ie,lbracket:"",rbracket:"",relation:We.And,compare:se}));return ee.length&&(ee.length>1&&(ee[0].lbracket="(",ee[ee.length-1].rbracket=")"),ee[ee.length-1].relation=We.Or),ee}).filter(_=>_.length);let ue=[];return oe&&oe.length&&(ue=ce.flatten(oe),ue.length>1&&(ue[0].lbracket+="(",ue[ue.length-1].rbracket+=")"),ue[ue.length-1].relation=0),ue}function v(){let{expandLevel:N}=c;return N&&!ce.isNaN(N)&&(N=N<-1?-1:N),N??0}function C(N,q){const J={};J.category=q;let Z=null,re=null;if(N!=null&&N.search){const{field:se,value:oe,isNavigation:ue,type:_}=N.search,K=_||"like";if(oe&&(J.searchValue=oe.trim()),J.searchField=se?se.trim():"*",J.searchType=K,ue&&(J.category="navsearch"),e.enableMultiFieldSearch)Array.isArray(N.search)&&N.search.length&&(J.category==="navsearch"?Z=N.search:re=N.search),J.category==="search"&&!re&&!Z&&(J.category="all");else{ue&&(J.searchType="like");const ee=J.searchType==="equal"&&J.searchValue?[{filterField:J.searchField,value:J.searchValue,lbracket:"",rbracket:"",relation:We.And,compare:He.Equal}]:[],ie=ue?g.value:s.value,le=J.searchField==="*"?b(ie,oe,K):ee;le&&le.length&&(ue?Z=le:re=le),oe===""&&J.category==="search"&&!re&&!Z&&(J.category="all")}}return m()&&(J.layerNum=v()),{searchParam:J,navSearchConditions:Z,searchConditions:re}}function T(N){var J,Z;if(N==="fav")return{pageIndex:1,pageSize:500};let q="default";return N==="navsearch"&&(q="navigation"),{pageIndex:((J=r[q])==null?void 0:J.index)||1,pageSize:((Z=r[q])==null?void 0:Z.size)||20}}function F(N){const q={},J=(N==null?void 0:N.action)||"all",{searchParam:Z,navSearchConditions:re,searchConditions:se}=C(N,J);se&&(q.searchConditions=se),re&&(q.navSearchConditions=re),q.enableFullTree=e.enableFullTree,N.sort&&Object.assign(Z,N.sort),q.searchValue=JSON.stringify(Z);const{pageIndex:oe,pageSize:ue}=T(J);return q.pageIndex=oe,q.pageSize=ue,q.treeToList=e.treeToList,q.navTreeToList=e.navTreeToList,c.loadTreeDataType===we.default?q.loadTreeDataType="default":q.loadTreeDataType=c.loadTreeDataType===we.all?"loadall":"layerload",N!=null&&N.relationFilter&&(q.relationFilter=[...N.relationFilter]),N!=null&&N.navNodePathCode&&(q.navPathCode=N.navNodePathCode),N.selectedInfo&&(q.selectedInfo=N.selectedInfo),q.customData=i.toRaw(Ge.value),q.id=e.id,q}function x(N){return N==null?void 0:N.map(q=>(q.resizable=!0,q))}function w(N,q){return N.map(J=>{const Z=q==null?void 0:q.find(re=>re.field.toLowerCase()===J.value.toLowerCase());return Z&&(J.label=Z.title),J})}function k(N){N.columns&&(N.columns=x(N.columns),N.searchFields&&(N.searchFields=w(N.searchFields,N.columns))),N.navigation&&N.navigation.columns&&(N.navigation.columns=x(N.navigation.columns),N.navigation.searchFields&&(N.navigation.searchFields=w(N.navigation.searchFields,N.navigation.columns)))}function I(N){return(q,J)=>N.length>1?N(q,J):N(J)}function E(){return c.loader?I(c.loader):o&&o.getData.bind(o)}function P(N){const q=E();return q?q(c.uri,N).then(J=>(k(J),u.value=!1,J)):new Promise((J,Z)=>{J({...e})})}function L(N){const q=v();return q===-1?!0:q===0?!1:N<=q}function V(N,q=!1,J="layer"){N.forEach(Z=>{var re;Z.collapse=q?!1:c.loadTreeDataType==="all"?!L(O.resolveField(Z.data,J)):!(Z.expanded??!0),Z.hasChildren=!Z.leaf,(re=Z.children)!=null&&re.length&&V(Z.children,q,J)})}async function M(N,q){var re,se;const J=F(N),Z=t==null?void 0:t.show();try{let oe=await P(J);if(c.displayType!==oe.displayType&&N.action!=="navsearch"&&(c.displayType=oe.displayType),m()){const{items:ue,treeInfo:_}=oe.navigation||oe;if(c.loadDataType===we.default&&(c.loadTreeDataType=(_==null?void 0:_.loadDataType)||we.all),ue!=null&&ue.length&&_){const{dataField:K,layerField:ee}=_;V(ue,!1,`${K}.${ee}`)}}e.beforeLoadData&&(oe=await e.beforeLoadData({data:oe})),q(oe)}catch{(re=a.getCurrentModal())==null||re.close()}finally{(se=Z==null?void 0:Z.value)==null||se.close()}}function $(N){h.value=N}function W(N,q){if(!q)return"";const{dataField:J,pathField:Z}=q;return Z?J?N[J][Z]:O.resolveField(N,Z):""}function j(N){const q=[];return(N.selectable||N.selectable===void 0)&&q.push(N),N.children&&N.children.length&&N.children.forEach(J=>{q.push(...j(J))}),q}function U(N,q=!1){if(!(N!=null&&N.length))return N;const J=q?c.navTreeInfo:c.treeInfo,{dataField:Z,layerField:re}=J||{};return Z&&re&&V(N,!0,`${Z}.${re}`),N}function Y(){try{const N=S.value;return N!==""&&N!=null?N:""}catch(N){return console.error("Error in getIdValues:",N),""}}function pe(){const N=Y();return{selectedIds:Array.isArray(N)?N:String(N??"").split(e.separator??","),selected:!0}}return{includeChilds:h,updateIncludeChilds:$,idValues:S,getData:P,loadData:M,updateSearchFieldTitle:w,getPathCode:W,getChildNodes:j,lookupStates:l,httpService:o,hasRemoteDataSource:y,lookupRequest:E,expandAllNodes:U,getIdQueryParams:pe,setTreeInfo:f,getFieldValue:O.resolveField}}function nn(e,n){i.watch(()=>e.pagination,(a,o)=>{JSON.stringify(a)!==JSON.stringify(o)&&(n.default=a)}),i.watch(()=>{var a;return(a=e.navigation)==null?void 0:a.pagination},(a,o)=>{JSON.stringify(a)!==JSON.stringify(o)&&(n.navigation=a)});function t(a,o=!1){a&&(o?n.navigation={...n.navigation,...a}:n.default={...n.default,...a})}return{updatePageInfo:t}}const dt="F_LOOKUP_USER_DATA_SERVICE";function va(e,n){const t=i.inject("FLoadingService",null),{lookupStates:a,lookupRequest:o,httpService:l}=n,{lookupOptions:r}=a,p=i.computed(()=>{const h=r.userDataKey||e.id;return h?O.encrypt(h):""}),d=i.reactive({key:p.value,data:{}});function c(){return l?l.getSettings(d.key).then(h=>(h&&h.textValue?d.data=JSON.parse(h.textValue):d.data={},e.enableUserData||(d.data.tabIndex=ve.dataList),h)):Promise.resolve()}function u({width:h,height:y}){var m;d.data.size=((m=d.data)==null?void 0:m.size)||{},d.data.size={width:h,height:y}}function s(h=!1){if((e.enableUserData||h)&&l){const{key:y,data:m}=d,f={configkey1:y,configkey2:"",configkey3:"",textvalue:JSON.stringify(m)};return l==null?void 0:l.updateSettings(y,f)}return Promise.resolve()}function g(h){const y={category:"fav",favoriteIds:h.favoriteIds};return{searchValue:JSON.stringify(y),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function S(){var f;const h=g({favoriteIds:(f=d.data)==null?void 0:f.favorites}),y=t==null?void 0:t.show(),m=o();return m?m(r.uri,h).then(b=>{var v;return(v=y.value)==null||v.close(),d.favoriteItems=b&&b.items||[],b}):Promise.resolve()}return{userDataState:d,setDialogSize:u,saveUserData:s,getFavoriteData:S,getUserData:c}}const qe=Symbol("FARRIS_LOOKUP_LOCALES");function Ca(e){const{getLocaleValue:n}=Ie.LocaleService;function t(c,u,s){return c===u?n(s):c}const a=t(e.placeholder,"???","lookup.placeholder"),o={datalist:n("lookup.datalist")||"????",favorite:n("lookup.favorites")||"???"},l={ok:n("lookup.okText")||"??",cancel:n("lookup.cancelText")||"??",clear:n("lookup.selectedInfo.clear")||"????",addFav:n("lookup.favoriteInfo.addFavTitle")||"??",removeFav:n("lookup.favoriteInfo.cancelFavTitle")||"????",selectionTotal:c=>n("lookup.selectedInfo.total",[c])},r={clearSelections:n("lookup.selectedInfo.confirm")||"??????????????",addedFavSuccess:n("lookup.favoriteInfo.addFav")||"????????",cancelFavSuccess:n("lookup.favoriteInfo.cancelFav")||"?????????",mustChoosAdatarow:n("lookup.mustChoosAdatarow")||"????????",mustWriteSomething:n("lookup.mustWriteSomething")||"??????????"},p={includechildren:n("lookup.includechildren")||"????",both:n("lookup.cascade.enable")||"????",up:n("lookup.cascade.up")||"????",down:n("lookup.cascade.down")||"????",disable:n("lookup.cascade.disable")||"?????"};return{searchColumns:{allColumns:n("lookup.allColumns")||"???",anyFields:n("lookup.anyFields")||"??",exactLabel:n("lookup.exact")||"??"},placeholder:a,tree:p,messages:r,tabs:o,buttons:l}}const It=O.useNumberFormat(),kt=O.useDateFormat();function an(e){if(e&&(typeof e=="string"||typeof e=="object")&&typeof e=="string")try{const n=`return (${e});`,a=new Function(n)();typeof a=="object"&&a!==null&&!Array.isArray(a)?e=a:e=null}catch{e=null}return e}function Et(e,n){const t=an(n);return t&&typeof t=="object"&&e.forEach(a=>{const o=t[a.field];o&&typeof o=="function"&&(a.formatter=(l,r)=>o({column:l.column,rowData:r.raw,formatter:{number:{...It},date:{...kt}}}))}),e}function Je(e,n=!1){const t={wrapContent:!1,customRowStyle:null,customCellStyle:null},a=n?e.customNavFormatter:e.customFormatter,o=an(a);if(o){const{rowStyler:l,cellStyler:r}=o;l&&(t.customRowStyle=p=>l({rowData:p,formatter:{number:{...It},date:{...kt}}})),r&&(t.customCellStyle=(p,d)=>r({rowData:d.raw,column:p.column,formatter:{number:{...It},date:{...kt}}}))}return t}function Lt(e,n){const t=i.inject(lt.F_NOTIFY_SERVICE_TOKEN),a=i.inject(dt),o=i.inject(qe),{userDataState:l}=a;l.data=l.data||{};const r="_favorite_",p=i.ref(!1);function d({id:f,data:b},v="add"){var T,F;if(f==null&&f==="")return;const C=f;l.data.favorites=((T=l.data)==null?void 0:T.favorites)||[],l.favoriteItems=l.favoriteItems||[],v==="add"?(p.value=!1,l.data.favorites=Array.from(new Set([...((F=l.data)==null?void 0:F.favorites)||[],C])),l.favoriteItems=[...l.favoriteItems,b]):(p.value=!0,l.data.favorites=l.data.favorites.filter(x=>x!==C),l.favoriteItems=l.favoriteItems.filter(x=>x[n]!==C)),a==null||a.saveUserData(!0).then(x=>{const w=v==="add"?o.messages.addedFavSuccess:o.messages.cancelFavSuccess;t==null||t.success({message:w,position:"top-center"})})}function c(f){return f?f.raw[n]:""}const u=i.computed(()=>f=>{var v,C;const b=c(f);return(C=(v=l.data)==null?void 0:v.favorites)==null?void 0:C.includes(b)});function s(f,b,v){f.stopPropagation();const C=c(b);d({id:C,data:b.raw},u.value(b)?"remove":"add")}const g=f=>u.value(f)?o.buttons.removeFav:o.buttons.addFav,S=(f,b)=>i.createVNode("button",{type:"button",onClick:v=>{s(v,b)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":u.value(b)}],style:"color: #ffbd8c;",title:g(b)},null),h=(f,b)=>b.disabled?"":S(f,b),y={field:r,title:"",width:50,fixed:"right",align:"center",formatter:S};function m(f,b,v=!1){let C=ce.cloneDeep(b);e.enableFavorite&&(y.formatter=v?h:S,C.push(y)),C=Et(C,e.customFormatter),f==null||f.updateColumns(C)}return{favorite:y,removeFavoriteItem:p,setColumns:m}}function Nt(e,n,t,a){const{selectionState:o,unSelectDataId:l,lookupOptions:r}=t,p=i.computed(()=>!(o.value&&o.value.length));a&&i.watch(()=>a.value,(d,c)=>{var u,s,g;if(d===ve.dataList&&d!==c&&!p.value){const S=o.value.map(h=>h[r.idField??"id"]);(u=n.value)==null||u.clearSelection(),(s=n.value)==null||s.selectItemByIds(S),e.multiSelect||(g=n.value)==null||g.activeRowById(S[0])}}),i.watch(p,(d,c)=>{var u;d&&((u=n.value)==null||u.clearSelection())}),e.showSelections&&r.multiSelect&&i.watch(l,d=>{var c;d&&((c=n.value)==null||c.unSelectItemByIds(d))})}const _e=Symbol("LOOKUP_SELECTIONS_MANAGER");function on(e,n){const{selectionState:t,unSelectDataId:a,lookupOptions:o}=n,l=i.computed(()=>o.idField??"id");function r(v){return v[l.value]}function p(){let v=new Map;return t.value&&t.value.length&&(v=new Map(t.value.map(C=>[C[l.value],C]))),v}function d(){t.value=[]}function c(){return t.value||[]}function u(){return t.value.map(v=>v[l.value])}function s(v){if(!v)return;if(!l.value){console.error("idField is required");return}const C=Array.isArray(v)?v:[v],T=p();C.forEach(F=>{T.delete(F)}),t.value=Array.from(T.values()),a.value=C}function g(v){return p().has(v)}function S(v,C=!0){if(!v)return;if(!l.value){console.error("idField is required");return}const T=Array.isArray(v)?v:[v];if(!T.length)return;if(!T.every(w=>l.value in w)){console.error("Some items do not have the specified idField:",l.value);return}const F=T.map(w=>w[l.value]);if(!o.multiSelect){if(F.length&&g(F[0]))return;d()}const x=p();if(C){const w=new Map(T.map(k=>[k[l.value],k]));F.forEach(k=>{x.has(k)||x.set(k,w.get(k))})}else F.forEach(w=>{x.delete(w)});t.value=Array.from(x.values())}function h(v){if(!v||!v.length)return;const C=v.map(T=>T.data);S(C)}function y(v){if(v){const C=v.raw[l.value];s(C)}}function m(v){!v||!v.length||s(v)}const f=i.computed(()=>t.value.map(v=>O.resolveField(v,o.textField??"")).join(e.separator)),b=i.computed(()=>t.value.map(v=>O.resolveField(v,o.idField??"id")).join(e.separator));return{updateSelections:S,clearSelections:d,getSelectionIds:u,getSelections:c,unSelectionsByIds:s,selectTreeNodes:h,unSelectTreeNode:y,unSelectTreeNodes:m,isSelected:g,getPrimaryKey:r,textValue:f,idValue:b}}function ln(e,n){const{getSelectionIds:t}=on(e,n),{lookupOptions:a}=n;function o(p,d){p==null||p.updateDataSource(d||[])}function l(p){const d=t();if(d&&d.length){if(a.multiSelect){p==null||p.selectItemByIds(d);return}p==null||p.activeRowById(d[0])}}function r(p,d){o(p,d),l(p)}return{loadData:o,selectItemByIds:l,loadAndSelect:r}}function Dt(e){const n=i.ref(null);function t(a){var l;const{sortConditions:o}=a;if(o&&o.length){const{sortField:r,sortType:p}=o[0],d=(l=e.columns)==null?void 0:l.find(c=>c.field===r);n.value={sortName:r,sortOrder:p?"desc":"asc"},d&&(n.value.sortName=d.fieldPath||d.field)}else n.value=null}return{sortChanged:t,sortInfo:n}}function rn(e,n,t){const a=i.inject(je,i.ref(ve.dataList)),o=i.inject(Ee),l=i.inject(_e),{lookupStates:r,loadData:p,includeChilds:d,getPathCode:c,getChildNodes:u,hasRemoteDataSource:s}=o,{lookupState:g,navigationState:S,pageInfoState:h,searchState:y,lookupOptions:m,queryState:f}=r,{checkPaination:b,checkMultiSelect:v,checkColumnOptions:C,navIsTreeList:T,isPathCodeTree:F,sortOption:x}=Be(e,r),{updatePageInfo:w}=nn(e,h),{updateSelections:k,isSelected:I,getPrimaryKey:E}=l,{loadAndSelect:P}=ln(e,r),L=b(e.pagination),V=v(),M=C(),$=i.ref(),W=i.ref([]),{navSelectedItems:j,getNavigationIdField:U,getRelationFilter:Y}=t;w(L);const pe=i.ref(h.default),{setColumns:N}=Lt(e,m.idField??"id"),q=i.ref("lookup-datagrid"),{sortChanged:J,sortInfo:Z}=Dt(g),re=Je(m);i.watch(()=>h.default,A=>{var z;pe.value=A,(z=$.value)==null||z.updatePagination(A)}),Nt(e,$,o.lookupStates,a);function se(A,z,ge){const me={total:z};if(ge){const{pageIndex:ye,pageSize:nt,enablePager:gt,pageList:Wn}=ge;Object.assign(me,{index:ye,size:nt,enable:gt})}else me.enable=!1;w(me),P($.value,A||[]),q.value="lookup-datagrid"+(A&&A.length?"":" lookup-datagrid-empty")}const oe=i.computed(()=>{var ye;if(!((ye=j.value)!=null&&ye.length))return null;const A=j.value,z={relationFilter:Y(A)};if(!T()||!d.value)return z;const{treeInfo:ge}=S,me={action:"navAllChildren",...z};return F(ge)?Object.assign(me,{navNodePathCode:c(A[0].data,ge)}):me}),ue=i.watch([()=>g==null?void 0:g.columns,()=>g==null?void 0:g.items,()=>g==null?void 0:g.pageInfo,()=>g==null?void 0:g.total,()=>g==null?void 0:g.selectedData],([A,z,ge,me,ye])=>{$.value&&(A&&N($.value,A),ye&&ye.length&&k(ye),z&&se(z,me||0,ge))});i.watch(()=>e.idValue,A=>{W.value=String(A??"").split(e.separator||",")});function _(A){if(A&&A.length&&!m.multiSelect){const z=E(A[0]);if(I(z)){n.emit("selectionsChanged",{items:A});return}}k(A),n.emit("selectionsChanged",{items:A})}function K(A,z){!m.multiSelect&&e.openType==="Modal"&&(k([z]),n.emit("dblClickRow",{items:[z]}))}function ee(A){k(A==null?void 0:A.raw,!1)}function ie(){const A={search:y.default,action:"list"};!y.default&&f.value&&(A.search={field:"*",value:f.value,type:"like"}),e.openType==="Modal"&&oe.value&&Object.assign(A,oe.value),Z.value&&(A.action="search",A.sort=Z.value),p(A,z=>{se(z.items,z.total||0,z.pageInfo)})}const le=ce.debounce(()=>{w({index:1}),ie()},200),xe=i.watch(()=>j==null?void 0:j.value,A=>{if(s.value){le();return}const z=A.map(ge=>ge[U()]);n.emit("navSelectionsChanged",{items:A,ids:z})}),Q=i.watch(()=>y.default,A=>{if(s.value){le();return}n.emit("search",A)}),H=i.watch(()=>d.value,()=>{if(s.value&&j.value&&j.value.length){le();return}});function ae(){ue(),xe(),Q(),H()}i.watch(()=>m.displayType,A=>{(A??"").toLowerCase()==="treelist"&&ae()});function fe({pageSize:A,pageIndex:z}){var ye;let ge=z;((ye=pe.value)==null?void 0:ye.size)!==A&&(ge=1);const me={size:A,index:ge,isNavigation:!1};if(w(me),s.value){ie();return}n.emit("pageSizeChanged",me)}function D(A){J(A),ie()}function R(){return i.createVNode(rt.FDataGrid,{ref:$,customClass:q.value,id:O.locatorChild(e.id,"grid").id,pagination:pe.value,summary:{enable:!1},columnOption:M,idField:m.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:V,selectionValues:W.value,onSelectionUpdate:_,onUnSelectItem:ee,onChanged:fe,onDoubleClickRow:K,rowOption:re,sort:x,onSortChanged:D},null)}return{datagridRef:$,selectionValues:W,renderDataGrid:R,unwatches:ae}}const Ye=Symbol("LOOKUP_TREEROW_OPTIONS"),sn={cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1},collapseField:"collapse",hasChildrenField:"hasChildren"};function cn(e,n=!1){function t(o){(o.raw.addtional||o.raw.selectable===!1)&&(o.disabled=!0);const l=n?e.navTreeInfo:e.treeInfo;return l!=null&&l.onlySelectLeaf&&(o.disabled=!o.raw.leaf),o}function a(){return Je(e,n)}return{customRowStatus:t,...a()}}function dn(e,n){const{lookupState:t,lookupOptions:a}=e;function o(m,f,b){return m.reduce((v,C)=>{var T;if(C.parents=[],f){const F=ce.get(f.data,a.idField??"id");C.parent=f,C.parents=[...b||[],F]}return C.id=ce.get(C,a.idField??"id"),v.push(C),(T=C.children)!=null&&T.length&&v.push(...o(C.children,C,C.parents)),v},[])}function l(m){var f;return(f=t==null?void 0:t.flattenTreeNodes)==null?void 0:f.find(b=>b.id===m)}function r(m){var f;return((f=t==null?void 0:t.flattenTreeNodes)==null?void 0:f.filter(b=>{var v;return(v=b.parents)==null?void 0:v.includes(m)}))??[]}function p(m){var b;if(!m)return[];const f=l(m);return((b=f==null?void 0:f.parents)==null?void 0:b.map(v=>l(v)))??[]}function d(m){var C;if(!m)return[];const f=l(m),b=((C=f==null?void 0:f.parents)==null?void 0:C.map(T=>l(T)))??[],v=r(m);return[...b,...v]}function c(m,f=!0){const b=p(m).filter(C=>{var T;return!((T=C.children)!=null&&T.some(F=>{var x;return(x=e.selectionState.value)==null?void 0:x.some(w=>w[a.idField??"id"]===F.id)}))}),v=f?[]:r(m);return b.concat(v)}function u(m,f,b=!0){var C;const v={down:()=>r(m),up:()=>b?p(m):c(m),both:()=>b?d(m):c(m,!1)};return((C=v[f])==null?void 0:C.call(v))??[]}function s(m,f={},b=!1){const{field:v="*",value:C=""}=f,T=!!C,{layerType:F,dataField:x,pathField:w,layerField:k}=(b?a.navTreeInfo:a.treeInfo)??{},I=F==="parentId",E={category:b?"navchildren":"children",searchField:v,searchValue:C,searchType:"like"};if(I)E.parentId=m.raw.id;else{const L=m.raw[x??""];E.parentPath=ce.get(L,w??""),E.parentLayer=ce.get(L,k??"")}const P={searchValue:"",customData:Ge.value,enableFullTree:a.enableFullTree,loadTreeDataType:a.loadTreeDataType==="all"?"loadall":"layerload"};return T&&(P.enableFullTree=!1,P.loadTreeDataType="layerload",I&&(E.searchValue="",E.searchField="*")),P.searchValue=JSON.stringify(E),P}function g(m,f=!1){const{isEnableCascadeCheck:b}=n,{layerType:v}=(f?a.navTreeInfo:a.treeInfo)??{},C=a.loadTreeDataType!=="all"&&v==="pathcode"&&b()&&(a.cascadeValue==="both"||a.cascadeValue==="down");return m?m.data&&!m.leaf&&C:C}function S(m){const{dataField:f,pathField:b}=a.treeInfo??{},v=m.data[f??""],C=ce.get(v,b??"");return{searchValue:JSON.stringify({category:"allChildren"}),parentsIds:[C],customData:Ge.value}}function h(m,f){let b=m,v=null;for(const C of f){const T=b.find(F=>F.data[a.idField??"id"]===C);if(!T)return null;v=T,b=T.children||[]}return v}function y(m,f,b){var w;if(!b)return;const v=l(f),C=[...(v==null?void 0:v.parents)??[],f],T=(m??[]).map(k=>({...k,hasChildren:!k.leaf,parents:[...C]})),F=h(t.flattenTreeNodes||[],C);F&&(F.children=[...T],(w=t.flattenTreeNodes)==null||w.push(...T));const{isDropdownMode:x}=n;i.nextTick(()=>{var E;if(b.addChildrenToNode(T,f),x())return;const k=((E=e.selectionState.value)==null?void 0:E.map(P=>P[a.idField??"id"]))??[],I=T.filter(P=>k.includes(P.id)).map(P=>P.id);I.length&&b.selectItemByIds(I)})}return{flattenTreeNodes:o,getParents:p,getChildren:r,getParentsAndChildren:d,getTreeNodeWithCascadeValue:u,buildGetChildrenQueryParams:s,needGetAllChildNodes:g,buildGetAllChildrenQueryParams:S,loadChildNodes:y}}function un(e,n){const t=i.inject(je,i.ref(ve.dataList)),a=i.inject(Ee),{lookupStates:o}=a,{lookupState:l,searchState:r,lookupOptions:p,queryState:d}=o,c=i.inject(Ye),u=i.inject(_e),s=Be(e,o),{checkMultiSelect:g,checkColumnOptions:S,isEnableCascadeCheck:h,sortOption:y}=s,{setColumns:m}=Lt(e,p.idField??"id"),{selectTreeNodes:f,unSelectTreeNode:b,unSelectTreeNodes:v,updateSelections:C,getSelectionIds:T}=u,F=g(),x=S(),w=i.ref(),k=i.ref([]),{sortChanged:I,sortInfo:E}=Dt(l),{loadAndSelect:P}=ln(e,o),{loadData:L,expandAllNodes:V,getData:M,hasRemoteDataSource:$}=a,{flattenTreeNodes:W,getTreeNodeWithCascadeValue:j,buildGetChildrenQueryParams:U,needGetAllChildNodes:Y,buildGetAllChildrenQueryParams:pe,loadChildNodes:N}=dn(o,s);function q(H,ae=!1){ae&&(H=V(H)),l.flattenTreeNodes=W(H||[]),P(w.value,H||[])}Nt(e,w,o,t);const J=i.watch([()=>l==null?void 0:l.columns,()=>l==null?void 0:l.items,()=>l==null?void 0:l.pageInfo,()=>l==null?void 0:l.total,()=>l==null?void 0:l.selectedData],([H,ae,fe,D,R])=>{w.value&&(R&&R.length&&C(R),H&&m(w.value,H,!0),q(ae||[],l.action==="search"))});function Z(H,ae=!0){const{cascadeValue:fe}=p;return h()&&fe!==St.Disable?j(H,fe,ae).filter(R=>R.selectable||R.selectable===void 0).map(R=>R.id):[]}function re(H){f(H),n.emit("selectionsChanged",{items:H})}function se(H){b(H);const ae=ce.get(H.raw,p.idField??"id"),fe=Z(ae);if(Y(H.raw)){const D=pe(H.raw);M(D).then(R=>{const z=(R.items||[]).filter(me=>!me.addtional&&(me.selectable||me.selectable===void 0));z&&z.length&&f(z);const ge=(z||[]).map(me=>me.id);v([ae,...fe,...ge])})}else v([ae,...fe])}function oe(H){const ae=ce.get(H.raw,p.idField??"id"),fe=Z(ae);if(fe.length&&w.value.selectItemByIds([ae,...fe]),Y(H.raw)){const D=pe(H.raw);M(D).then(R=>{const z=(R.items||[]).filter(ge=>!ge.addtional&&(ge.selectable||ge.selectable===void 0));z&&z.length&&f(z)})}}function ue(H){const ae={search:r.default,action:H};return!r.default&&d.value&&(ae.search={field:"*",value:d.value,type:"like"}),E.value&&(ae.action="search",ae.sort=E.value),ae}function _(H="list"){const ae=ue(H);L(ae,fe=>{q(fe.items,H==="search")})}const K=i.watch(()=>r.default,H=>{if($.value){_("search");return}n.emit("search",H)});function ee(){J(),K()}i.watch(()=>p.displayType,H=>{(H??"").toLowerCase()!=="treelist"&&ee()});function ie(H){if(w.value.hasChildren(H))return Promise.resolve();const ae=H.raw.id,fe=U(H,r.default||(d.value?{field:"*",value:d.value,type:"like"}:void 0));return M(fe).then(D=>{N((D==null?void 0:D.items)??[],ae,w.value)})}function le(H){var D;const{node:ae,$event:fe}=H;p.enableFavorite&&((D=fe.target)==null?void 0:D.className.indexOf("f-icon-star"))>-1||!p.multiSelect&&e.openType==="Modal"&&(C([ae]),n.emit("dblClickRow",{items:[ae]}))}function xe(H){I(H),_()}function Q(){return i.createVNode(vt.FTreeGrid,{class:"lookup-treegrid",ref:w,id:O.locatorChild(e.id,"grid").id,fit:!0,data:e.data,idField:p.idField,columns:e.columns,rowNumber:{enable:!1},columnOption:x,selection:F,showBorder:!0,virtualized:!0,rowOption:c,hierarchy:sn,onSelectionUpdate:re,onUnSelectItem:se,onSelectItem:oe,loadData:ie,sort:y,onDblclickNode:le,onSortChanged:xe},null)}return{treegridRef:w,selectionTreeValues:k,renderTreeGrid:Q,unwatches:ee}}const Sa={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0},isNavigation:{type:Boolean,default:!1},id:{type:String,default:""},enableEqualSearch:{type:Boolean,default:!1},exactLabel:{type:String,default:"精确"},defaultSearchValue:{type:String,default:""}},Ta=i.defineComponent({name:"FLookupSearchBar",props:Sa,emits:["search"],setup(e,n){const t='<i class="f-icon f-icon-search"></i>',a=i.inject(Ee),{queryState:o,lookupOptions:l}=a.lookupStates,r=i.ref(e.fields||[]),p=i.ref(""),d=i.ref(o.value),c=i.ref(e.isNavigation),u=i.ref(),s=i.ref(!1),g=i.computed(()=>({field:p.value,value:d.value,isNavigation:c.value,type:s.value?"equal":"like"}));function S(){if(!r.value.length)return;let b="";e.showAllColumns&&(b="*"),b=r.value[0].value;const v=r.value.find(C=>!!C.isDefault);v&&(b=v.value),p.value=b}i.watch(()=>e.fields,b=>{r.value=b,S()});function h(){n.emit("search",g.value)}const y=ce.debounce(()=>h(),300);function m(){d.value="",h()}function f(b){b.key==="Enter"&&y()}return i.onMounted(()=>{S(),c.value&&(d.value=l.navDefaultQueryValue||"")}),()=>i.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[i.createVNode("div",{style:"width: 160px;"},[i.createVNode($t.FComboList,{ref:u,id:O.locatorChild(e.id,"search-field").id,data:r.value,textField:"label",valueField:"value",idField:"value",modelValue:p.value,"onUpdate:modelValue":b=>p.value=b,enableClear:!1},null)]),i.createVNode("div",{class:"f-utils-fill ml-2 d-flex align-items-center"},[i.createVNode(ze.FButtonEdit,{buttonContent:t,class:"f-utils-fill",maxLength:200,modelValue:d.value,"onUpdate:modelValue":b=>d.value=b,onClickButton:h,enableClear:!0,onClear:m,onKeyup:f,popupOnClick:!0,id:O.locatorChild(e.id,"search").id},null),e.enableEqualSearch&&i.createVNode("div",{class:"custom-control custom-checkbox custom-control-inline pr-0 m-0 ml-2"},[i.withDirectives(i.createVNode("input",i.mergeProps({class:"custom-control-input"},O.locatorChild(e.id,"search-equal"),{type:"checkbox","onUpdate:modelValue":b=>s.value=b}),null),[[i.vModelCheckbox,s.value]]),i.createVNode("label",{class:"custom-control-label btn-link lookup-checkbox-label",for:O.locatorChild(e.id,"search-equal").id},[e.exactLabel])])])])}}),fn=new Map([["appearance",Ve.resolveAppearance]]),pn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-search-box.schema.json",title:"field-search-box",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for field-search-box",type:"string"},type:{description:"The type string of field-search-box",type:"string",default:"field-search-box"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:"mx-3 mt-3"},style:{type:"string"}},default:{}},visible:{description:"",type:"boolean",default:!0},fields:{description:"搜索字段列表",type:"array",default:[]},defaultValue:{description:"默认搜索条件",type:"object"},disabled:{description:"是否禁用",type:"boolean",default:!1}},required:["id","type"],events:{"filter-change":"搜索条件变化事件"}};function mn(e,n,t){return n}const ut={customClass:{type:String,default:""},customStyle:{type:String,default:""},fields:{type:Array,default:[]},defaultValue:{type:Object,default:null},disabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!0}},xa=Ve.createPropsResolver(ut,pn,fn,mn);var ne=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterEqual=3]="GreaterEqual",e[e.Less=4]="Less",e[e.LessEqual=5]="LessEqual",e[e.Contains=6]="Contains",e[e.NotContains=9]="NotContains",e[e.IsEmpty=12]="IsEmpty",e[e.IsNotEmpty=13]="IsNotEmpty",e))(ne||{}),he=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(he||{});const hn=[{label:"包含",value:6},{label:"不包含",value:9},{label:"等于",value:0},{label:"不等于",value:1}],Fa=40,wa=i.defineComponent({name:"SearchFieldsPanel",props:{fields:Array,searchValue:{type:String,default:""},maxWidth:{type:Number,default:300},activeIndex:{type:Number,default:-1},locales:Object,referenceElement:{type:Object,default:null}},emits:["fieldSelected"],setup(e,n){const t=i.ref(e.fields||[]),a=i.ref(null),o=i.ref(null),l=i.ref(0),r=()=>{i.nextTick(()=>{const u=e.referenceElement||o.value,s=o.value;if(!u||!s)return;const g=u.getBoundingClientRect(),S=g.top,h=window.innerHeight-g.bottom,y=s.getBoundingClientRect().height,m=s.querySelector(".search-fields-list-content"),f=m?m.getBoundingClientRect().height:Math.max(y-Fa,0),b=Math.max(y-f,0);if(S<f&&h<f){const v=Math.max(S,h,0);l.value=Math.max(v-b-8,60)}else l.value=0})};i.onMounted(r),i.watch(()=>e.fields,u=>{t.value=u||[],r()}),i.watch(()=>e.maxWidth,()=>r()),i.watch(()=>e.referenceElement,()=>r()),i.watch(()=>e.activeIndex,u=>{u>=0&&a.value&&i.nextTick(()=>{var g;const s=(g=a.value)==null?void 0:g.querySelectorAll(".search-fields-list-item");s&&s[u]&&s[u].scrollIntoView({block:"nearest"})})});function p(u,s){s.dataType==="boolean"?s.value={value:null,isEmpty:null}:e.searchValue?s.value={compare:ne.Contains,value:e.searchValue}:s.value={value:null,isEmpty:null,compare:void 0},n.emit("fieldSelected",s)}function d(){var s,g;const u=" "+(((g=(s=e.locales)==null?void 0:s.relation)==null?void 0:g.or)||"或")+" ";return e.searchValue.trim().split(" ").join('<span class="text-muted" style="margin: 0 5px;">'+u+"</span>")}const c=u=>{var S,h,y,m;const s=" "+(((h=(S=e.locales)==null?void 0:S.operators)==null?void 0:h.contains)||"包含")+" ",g=" "+(((m=(y=e.locales)==null?void 0:y.relation)==null?void 0:m.or)||"或")+" ";return u.title+(e.searchValue?s+e.searchValue.trim().split(" ").join(g):"")};return()=>{var u;return i.createVNode("div",{ref:o,class:"search-fields-list p-2",style:{maxWidth:e.maxWidth+"px"}},[i.createVNode("span",{style:"font-weight: bold;"},[((u=e.locales)==null?void 0:u.chooseField)||"选择搜索字段",i.createTextVNode(":")]),i.createVNode("div",{class:"search-fields-list-content mt-2",style:{maxHeight:l.value?l.value+"px; margin-right: -6px;":void 0,overflowY:"auto"}},[i.createVNode("ul",{ref:a},[t.value.map((s,g)=>{var m,f;const S=c(s),y=g===e.activeIndex?" active":"";return e.searchValue?i.createVNode("li",{class:"search-fields-list-item d-flex flex-row"+y,attr_field:s.field,title:S,onClick:b=>p(b,s)},[i.createVNode("span",{class:"search-field-title",title:s.title},[s.title]),i.createVNode("span",{class:"mx-2 text-muted"},[((f=(m=e.locales)==null?void 0:m.operators)==null?void 0:f.contains)||"包含"]),i.createVNode("div",{class:"f-utils-fill text-primary search-box-keyword",style:"text-overflow: ellipsis;",innerHTML:d()},null)]):i.createVNode("li",{class:"search-fields-list-item"+y,attr_field:s.field,title:S,onClick:b=>p(b,s)},[s.title])})])])])}}}),Va=i.defineComponent({name:"SearchInput",props:{placeholder:String,fields:Array,popoverOffsetWidth:Number,beforeOpenFieldsPanel:Function,disabled:Boolean,locales:Object},emits:["fieldSelected","inputKeydown","valueChange"],setup(e,n){const t=i.ref(),a=i.ref(),o=i.ref(""),l=i.ref(e.popoverOffsetWidth||20),r=i.ref(),p=i.computed(()=>{var f;const m=(f=t.value)==null?void 0:f.popoverRef;return m?m.shown:!1}),d=i.ref(-1);i.watch(o,()=>{d.value=-1}),i.watch(()=>e.fields,()=>{d.value=-1}),i.watch(p,m=>{m||(d.value=-1)});function c(m){var b,v;const f=!!o.value;(b=t.value)==null||b.clear(),(v=t.value)==null||v.hidePopup(),d.value=-1,n.emit("fieldSelected",m,f)}function u(){var m,f;(m=t.value)==null||m.getTextbox().focus(),(f=t.value)==null||f.showPopup()}const s=m=>{var b,v,C,T,F,x,w,k,I;const f=((b=e.fields)==null?void 0:b.length)||0;if(m.keyCode===38||m.keyCode===40){if(m.preventDefault(),!p.value){(v=t.value)==null||v.showPopup(),d.value=m.keyCode===40?0:Math.max(f-1,0);return}m.keyCode===40?d.value=d.value+1>=f?0:d.value+1:d.value=d.value-1<0?f-1:d.value-1;return}if(m.keyCode===13&&p.value){m.preventDefault(),m.stopPropagation();const E=d.value>=0?d.value:0,P=(C=a.value)==null?void 0:C.$el;if(P){const L=P.querySelectorAll(".search-fields-list-item");L&&L[E]&&(L[E].click(),(F=(T=t.value)==null?void 0:T.getTextbox())==null||F.blur(),o.value&&i.nextTick(()=>{var V;(V=t.value)==null||V.clear()}))}return}if(m.keyCode===27){p.value&&(m.stopPropagation(),m.preventDefault(),(x=t.value)==null||x.hidePopup());return}if(m.keyCode===8&&!o.value)(w=t.value)==null||w.hidePopup(),n.emit("inputKeydown",{key:m.keyCode===8?"backspace":"enter",event:m});else if(!((k=e.fields)!=null&&k.length)){(I=t.value)==null||I.clear(),m.preventDefault();return}},g=m=>{o.value=m.trim().replace(/\s+/g," "),n.emit("valueChange",o.value),p.value||u()},S=i.ref(300);let h=null;function y(m){S.value=window.innerWidth-m.getBoundingClientRect().left-l.value}return i.onMounted(()=>{var f,b;const m=(f=t.value)==null?void 0:f.getTextbox();m?(y(m),h=O.useResizeObserver(m,()=>{y(m)})):(b=r.value)==null||b.focus()}),i.onUnmounted(()=>{h&&h()}),n.expose({showPopover:p,focus:()=>{var m;return(m=t.value)==null?void 0:m.getTextbox().focus()},focusAndShow:u}),()=>{var m;return(m=e.fields)!=null&&m.length?i.createVNode(ze.FButtonEdit,{ref:t,readonly:!1,editable:!e.disabled,disable:e.disabled,placeholder:e.placeholder,enableClear:!1,maxLength:100,inputType:"text",popupOnClick:!0,placement:"auto",popupMinWidth:180,showAppendButton:!1,keepWidthWithReference:!1,popupClass:"search-fields-panel",limitContentBySpace:!0,beforeOpen:e.beforeOpenFieldsPanel,onKeydown:s,onChange:g,popupOffsetY:-4},{default:()=>{var f,b;return[p.value&&i.createVNode(wa,{maxWidth:S.value,ref:a,locales:e.locales,fields:e.fields,searchValue:o.value,activeIndex:d.value,referenceElement:(b=(f=t.value)==null?void 0:f.getTextbox)==null?void 0:b.call(f),onFieldSelected:v=>c(v)},null)]}}):i.createVNode("input",{type:"text",class:"form-control",onKeydown:s,ref:r,onInput:f=>{f.target.value="",f.preventDefault()},placeholder:""},null)}}}),gn=new Map([["appearance",Ve.resolveAppearance]]),yn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},dataSource:{description:"",type:"string"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打开下拉面板前回调",type:"string"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},showSelectAll:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function bn(e,n,t){return n}function Pa(){function e(n,t,a){const o={};return o.beforeOpen=l=>t.call("beforeOpen",n,[l,n],a),o}return{resolve:e}}const ft={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},showSelectAll:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},popupClass:{type:String,default:""},hideDisabledItems:{type:Boolean,default:!1}},Ia=Object.assign({},ft,{readonly:{}}),vn={clear:(...e)=>!0,"update:modelValue":(...e)=>!0,change:(...e)=>!0,input:(...e)=>!0,dataChanged:(...e)=>!0,expandClick:(...e)=>!0,hidden:(...e)=>!0,shown:(...e)=>!0};Ve.createPropsResolver(ft,yn,gn,bn);const Cn=Ve.getPropsResolverGenerator(ft,yn,gn,bn),ka=Pa(),Ea={id:{type:String,default:""},dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},showSelectAll:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},La=i.defineComponent({name:"FComboListContainer",props:Ea,emits:["selectionChange"],setup(e,n){const t=i.ref(),a=i.ref(e.dataSource),o=i.ref(e.dataSource),l=i.ref([]),r=i.ref(e.separator),p=i.ref(e.width),d=i.ref(e.maxHeight),c=i.computed(()=>e.multiSelect),u=i.ref(e.multiSelect?String(e.selectedValues).split(r.value):[e.selectedValues]),s=i.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:c.value,showSelectAll:e.showSelectAll,showSelection:!0}));i.watch(e.dataSource,()=>{a.value=e.dataSource,o.value=e.dataSource}),i.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const g=i.computed(()=>{const f={};return p.value!==void 0&&(f.width=`${p.value}px`),d.value!==void 0&&d.value>0&&(f.maxHeight=`${d.value}px`),f});function S(f){t.value.search(f)}function h(f){l.value=f.map(b=>Object.assign({},b)),u.value=f.map(b=>b[e.idField]),n.emit("selectionChange",l.value)}function y(f){if(e.enableHighlightSearch)return;let b=[];const{searchOption:v}=e;typeof v=="function"?b=a.value.filter(C=>v(f,C)):b=a.value.filter(C=>C[e.valueField].indexOf(f)>-1||C[e.textField].indexOf(f)>-1),t.value.updateDataSource(b)}i.watch([()=>e.selectedValues],([f])=>{e.multiSelect?f===null?u.value=[]:u.value=String(f).split(r.value):f===null?u.value=[]:u.value=[f]});function m(f){t.value.activeRowById(f)}return i.onMounted(()=>{var f,b;if(!e.multiSelect){const v=(f=u.value)==null?void 0:f[0];let C=v;const T=a.value.map(F=>F[e.valueField||e.idField]);if(!ce.isUndefined(v)&&T.includes(v)){const F=typeof v,x=typeof((b=a.value[0])==null?void 0:b[e.valueField||e.idField]);x==="number"&&F!==x&&(C=Number(v)),x==="boolean"&&F!==x&&(C=v==="true"?!0:v==="false"?!1:v),m(C)}}}),n.expose({search:S,activeRowById:m}),()=>i.createVNode("div",{class:"f-combo-list-container",style:g.value},[i.createVNode(Jn,{ref:t,id:e.id,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:a.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:s.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:u.value,onSelectionUpdate:h,onAfterSearch:y},null)])}}),Sn={property:"all",duration:.3,timingFunction:"cubic-bezier(0.17, 0.89, 0.45, 1)",delay:0},Na=(e,n)=>{const t=e.lineHeight/2,a=O.useTouchMomentum({maxOverflowY:44}),o=i.reactive({...Sn}),l=C=>{n.emit("change",C)},r=i.reactive({value:0,max:0,min:0,start:0,index:0,currentItem:void 0,active:!1}),p=()=>{r.max=e.visiableOptionCount/2*e.lineHeight;const C=e.column.length*e.lineHeight;r.min=r.max-C+e.lineHeight},d=(C=0)=>{p(),r.index=C,r.value=r.max-C*e.lineHeight,r.currentItem=e.column[C]},c=C=>{const T=e.column.length-1,F=Math.min(r.index,T),x=e.column.findIndex(w=>w[e.valueField]===C);return x>=0?x:F},u=C=>{const T=e.column.length-1;return r.index>T?e.column[T]:e.column[C]},s=C=>{C&&(r.currentItem=C,o.duration=0);const T=r.currentItem[e.valueField],F=c(T),x=u(r.index)[e.valueField];d(F),T!==x&&setTimeout(()=>{l(r.currentItem)},o.duration*1e3)},g=()=>{const C=Array.isArray(e.value)?e.value[0]:e.value;d(c(C))};g(),i.watch(()=>e.value,()=>{e.multiSelect||g()}),i.watch(()=>e.column,()=>s());const S=(C,T=r.max,F=r.min)=>{const x=r.start+C;r.value=x>t?Math.min(x,T):Math.max(x,F),r.index=Math.round((r.max-r.value)/e.lineHeight),r.currentItem=u(r.index)},h=O.useTouch(),y=C=>{h.start(C),r.active=!0,r.start=r.value,a.start(r.start),o.duration=0},m=C=>{C.preventDefault(),h.move(C),S(h.deltaY.value,r.max+e.lineHeight,r.min-e.lineHeight),a.move(h.deltaY.value),o.duration=Sn.duration},f=C=>{const T=C<0,F=C%e.lineHeight>t?1:0,x=Math.floor(C/e.lineHeight);return(T?x-F:x+F)*e.lineHeight+t};return{translateY:r,transition:o,onTouchStart:y,onTouchMove:m,onTouchEnd:()=>{r.start=0;const C=a.end();let T=0;if(C){const{destination:F,duration:x}=a.get(r.value,r.min,r.max);T=F,o.duration=x/1e3}else T=r.value;S(f(T)),l(r.currentItem)},onTransitionend:()=>{r.active=!1},updateTranslate:s}},Da={column:{type:Array,default:()=>[]},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},value:{type:[Array,String,Number],default:()=>[]},multiSelect:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1},lineHeight:{type:Number,default:0},visiableOptionCount:{type:Number,default:5}},Ma=i.defineComponent({props:Da,emits:["change","click"],setup(e,n){const{addUnit:t}=O.useCommonUtils(),{bem:a}=O.useBem("FComboTouchList"),{translateY:o,transition:l,onTouchStart:r,onTouchMove:p,onTouchEnd:d,onTransitionend:c}=Na(e,n),u=S=>{n.emit("click",S)},s=i.computed(()=>({transform:`translateY(${t(o.value)})`,transition:`all ${o.active?l.duration:0}s ${l.timingFunction} 0s`})),g=S=>e.showIcon?Array.isArray(e.value)&&e.value.includes(S[e.valueField]):!1;return()=>i.createVNode("div",{class:a("column"),style:s.value,onTouchstart:r,onTouchmove:p,onTouchend:d,onTransitionend:c},[e.column.map(S=>i.createVNode("div",{class:a("column-item"),onClick:()=>u(S)},[i.createVNode("span",null,[S[e.textField]]),g(S)&&i.createVNode("span",{class:`f-icon f-icon-check ${a("column-item-icon")}`},null)]))])}}),Ba={modelValue:{type:[String,Array],default:""},columns:{type:Array,default:()=>[]},title:{type:String,default:""},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},childrenField:{type:String,default:"children"},multiSelect:{type:Boolean,default:!1},lineHeight:{type:Number,default:44},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},separator:{type:String,default:","}},Oa=(e,n)=>{const{finalValue:t,initValue:a,setSelectedByIndex:o,getSelectedValueByIndex:l}=n,{isArray:r,isFunction:p,isObject:d}=O.useCommonUtils(),c=T=>T&&T[0],u=i.computed(()=>{var T;return((T=e.columns)==null?void 0:T.length)>0&&r(e.columns[0])}),s=T=>{if((T==null?void 0:T.length)===0)return!1;const F=c(T);return F&&r(F[e.childrenField])},g=(T,F)=>{const x=c(T),w=l(F);let k=T.find(E=>E[e.valueField]===w);k=k||x;const I=k[e.childrenField]||[];if(s(I)){const E=g(I,F+1);return[I,...E]}return[I]},S=()=>{const T=e.columns,F=g(T,0);return[T,...F]},h=(T,F)=>{const x=T[e.textField];return p(e.optionFormatter)?e.optionFormatter(F,T):x},y=(T,F)=>T.map(x=>{const w=d(x)?x:{[e.valueField]:x,[e.textField]:x};return w[e.textField]=h(w,F),w}),m=i.computed(()=>{let T=[];return u.value?T=e.columns:s(e.columns)?T=S():T=[e.columns],T.map(y)}),f=()=>m.value.map((T,F)=>{const x=t.value[F];return T.find(k=>k[e.valueField]===x)}).filter(T=>T),b=()=>f().map(T=>T[e.valueField]),v=()=>f().map(T=>T[e.textField]).join("-"),C=()=>{m.value.forEach((T,F)=>{if(e.multiSelect)t.value[F].forEach(w=>{const k=T.find(I=>I[e.valueField]===w);k&&o(F,k)});else{const x=t.value[F],w=T.find(k=>k[e.valueField]===x);w?o(F,w):o(F,c(T))}})};return i.watch(()=>e.modelValue,()=>{a(e.modelValue),C()},{immediate:!0}),{columns:m,getPickeds:f,getValue:b,getTextValue:v}},Aa=e=>{const{isArray:n,isMultiArray:t,isString:a,isDef:o}=O.useCommonUtils(),l=f=>{let b=[];return n(f)?b=f:a(f)?b=f.split(e.separator):o(f)&&(b=[f]),e.multiSelect?t(b)?b:[b]:b},r=i.ref([]),p=f=>{r.value=l(f)},d=i.reactive([]),c=i.computed(()=>d.map(f=>f[e.valueField])),u=i.reactive([]),s=i.computed(()=>u.map(f=>f.map(b=>b[e.valueField])));return{finalValue:r,initValue:p,getSelected:()=>e.multiSelect?u:d,getSelectedValue:()=>e.multiSelect?s.value:c.value,setSelectedByIndex:(f,b)=>{if(e.multiSelect){const v=u[f]||[];v.includes(b)?u[f]=v.filter(C=>C!==b):u[f]=[...v,b]}else d[f]=b},getSelectedByIndex:f=>e.multiSelect?u[f]:d[f],getSelectedValueByIndex:f=>e.multiSelect?s.value[f]:c.value[f]}},Ra=i.defineComponent({props:Ba,emits:["change","confirm","cancel","update:modelValue"],setup(e,n){const{emit:t}=n,{addUnit:a}=O.useCommonUtils(),o=Aa(e),{finalValue:l,getSelectedValue:r,getSelectedValueByIndex:p,getSelected:d,setSelectedByIndex:c}=o,{columns:u}=Oa(e,o),s=(v,C=!0)=>{const{value:T,index:F}=v;(C&&!e.multiSelect||!C&&e.multiSelect)&&(t("change",v),c(F,T))},g=()=>{l.value=r(),t("confirm",d()),t("update:modelValue",l.value)},S=()=>{t("cancel")},{bem:h}=O.useBem("FComboTouchList"),y=()=>i.createVNode("div",{class:h("toolbar")},[i.createVNode("div",{class:h("toolbar-left"),onClick:S},[i.createVNode("span",null,[e.cancelText])]),i.createVNode("div",{class:h("toolbar-title")},[i.createVNode("span",null,[e.title])]),i.createVNode("div",{class:h("toolbar-right"),onClick:g},[i.createVNode("span",null,[e.confirmText])])]),m=i.computed(()=>{const v=(e.visiableOptionCount+1)*e.lineHeight;return{height:a(v)}}),f=i.computed(()=>{const v=e.visiableOptionCount*e.lineHeight/2;return{backgroundSize:`100% ${a(v)}`}}),b=()=>i.createVNode("div",{class:h("content")},[i.createVNode("div",{class:h("columns"),style:m.value},[u.value.map((v,C)=>i.createVNode(Ma,{column:v,value:p(C),showIcon:e.multiSelect,textField:e.textField,multiSelect:e.multiSelect,valueField:e.valueField,lineHeight:e.lineHeight,visiableOptionCount:e.visiableOptionCount,onChange:T=>s({value:T,index:C}),onClick:T=>s({value:T,index:C},!1)},null)),!e.multiSelect&&i.createVNode("div",{class:h("mask"),style:f.value},null),i.createVNode("div",{class:h("frame")},null)])]);return()=>i.createVNode("div",{class:h("")},[e.showToolbar&&y(),b()])}});function ja(e,n){const t=i.ref(""),a=i.ref(e.modelValue),o=i.ref(e.data||[]),l=i.ref(e.editable),r=i.computed(()=>e.hideDisabledItems?o.value.filter(f=>!f.disabled):o.value);function p(f){const b=e.multiSelect?String(f).split(e.separator):[String(f)],v=b.map(F=>[F,!0]),C=new Map(v);return o.value.filter(F=>C.has(String(F[e.valueField]))).sort((F,x)=>{const w=b.indexOf(F[e.valueField]),k=b.indexOf(x[e.valueField]);return w-k})}function d(f){const b=p(f).map(v=>v[e.textField]).join(e.separator);t.value=l.value?b||f:b}function c(f){if(e.multiSelect){const b=f.split(e.separator).map(C=>[C,!0]),v=new Map(b);return o.value.filter(C=>v.has(C[e.textField]))}return o.value.filter(b=>""+b[e.textField]===f)}function u(f){const b={};return b[e.idField]=f,b[e.textField]=f,[b]}function s(f){let b=c(f);const v=b&&b.length>0;return l.value&&!v&&(b=u(f)),b}function g(){const{url:f,method:b="GET",headers:v={"Content-Type":"application/json;charset=utf-8;"},body:C=null}=e.remote;if(!f)return;const{basePath:T}=O.useFarrisConfig().value,F=b.toLowerCase()==="get"?{method:b,headers:v}:{method:b,headers:v,body:C};let x=!1;fetch(new Request(T+f,F)).then(w=>{var I,E;if(w.status===200)return x=!!((E=(I=w.headers)==null?void 0:I.get("content-type"))!=null&&E.includes("application/json")),x?w.text():w.json();throw w.status===405?new Error(Ie.LocaleService.getLocaleValue("comboList.remoteError")):new Error(w.statusText)}).then(w=>{w.length&&(o.value=x?JSON.parse(w):w,a.value&&d(a.value))}).catch(w=>{console.warn(w)})}e.remote&&(e.load?e.load().then(f=>{o.value=f}).catch(f=>{console.log(f)}):g()),i.watch(()=>e.data,()=>{o.value=e.data}),i.watch([o],([f],[b])=>{if(e.modelValue!=null&&!e.multiSelect){const v=f.find(C=>C[e.valueField]===a.value);v?v[e.valueField]!==a.value?(a.value=v[e.valueField],t.value=v[e.textField],n.emit("update:modelValue",v[e.valueField]),n.emit("change",[v],v[e.valueField])):t.value!==v[e.textField]&&(t.value=v[e.textField]):a.value!==""&&(a.value="",t.value="",n.emit("update:modelValue",""),n.emit("change",[],""))}}),i.watch(()=>e.modelValue,(f,b)=>{b!==f&&(a.value=f,d(f))});function S(f){o.value=f,n.emit("dataChanged",f)}function h(){return o.value}function y(){return t.value}async function m(){const f=typeof e.beforeOpen=="function";return!e.beforeOpen||!f?Promise.resolve(!0):Promise.resolve().then(()=>e.beforeOpen({instance:{updateDataSource:S,getData:h,getDisplayText:y}})).then(b=>typeof b=="object"&&b?typeof b.canOpen=="boolean"?b.canOpen:!0:typeof b=="boolean"?b:!0)}return d(e.modelValue),{dataSource:o,filteredDataSource:r,displayText:t,editable:l,modelValue:a,beforeOpenList:m,getItemsByDisplayText:c,getItemsByValue:p,getSelectedItemsByDisplayText:s}}const $a=["moz","ms","webkit"];function qa(){let e=0;return n=>{const t=new Date().getTime(),a=Math.max(0,16-(t-e)),o=setTimeout(()=>{n(t+a)},a);return e=t+a,o}}function _a(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const e=$a.filter(n=>`${n}RequestAnimationFrame`in window)[0];return e?window[`${e}RequestAnimationFrame`]:qa()}_a(),i.ref("");function Mt(){if(typeof window>"u"||typeof navigator>"u")return!1;const e=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],t=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const d of t)if(d.test(e))return!1;for(const d of n)if(d.test(e))return!0;if(typeof screen>"u")return!1;const a="ontouchstart"in window||navigator.maxTouchPoints>0,o=screen.width,l=screen.height,r=Math.min(o,l);return!!(a&&r<=768)}function Ua(){const e=Mt();return e&&document.body.classList.add("f-mobile"),e}typeof document<"u"&&Ua();const Qe=i.defineComponent({name:"FComboList",props:ft,emits:vn,setup(e,n){const t=O.useLocatorProps(e),a=n,o=i.ref(),l=i.ref(),r=i.ref(t.disabled||t.readonly),p=i.ref(t.enableClear),d=i.ref(t.enableSearch),c=i.ref(t.readonly),{dataSource:u,displayText:s,editable:g,modelValue:S,filteredDataSource:h,getItemsByDisplayText:y,getItemsByValue:m,beforeOpenList:f}=ja(t,a),b=i.ref(t.dropDownIcon),v=i.computed(()=>t.multiSelect),C=i.computed(()=>l.value?l.value.elementRef.getBoundingClientRect().width:0);function T(){!v.value&&l.value&&l.value.hidePopup()}function F(U){s.value=U.map(pe=>pe[t.textField]).join(t.separator)||S.value;let Y="";U.length===1?Y=U[0][t.valueField]:Y=U.map(pe=>pe[t.valueField]).join(t.separator),S.value!==Y&&(S.value=Y,n.emit("update:modelValue",S.value),n.emit("change",U,S.value))}function x(){const U=m(S.value);F(U)}function w(){c.value||s.value}function k(U){var Y;S.value="",(Y=o.value)==null||Y.activeRowById(""),n.emit("clear")}function I(U){var Y,pe;t.enableSearch&&t.enableHighlightSearch&&((Y=o.value)==null||Y.search(U)),(pe=o.value)==null||pe.activeRowById(U),n.emit("change",[S.value],S.value)}function E(U){if(t.multiSelect){const Y=y(U);t.viewType;const N=Y.map(q=>q[t.idField||t.valueField]).join(t.separator);S.value!==N&&(S.value=N,n.emit("update:modelValue",S.value),n.emit("change",Y,S.value))}else U!==S.value&&(S.value=U,n.emit("update:modelValue",S.value),n.emit("change",[],U))}function P(){return s.value}function L(U){const{value:Y}=U.target;I(Y),n.emit("input",Y)}function V(){l.value.hidePopup()}function M(U){u.value=U}function $(){return u.value}const W={getDisplayText:P,hidePopup:V,updateDataSource:M,getData:$};n.expose(W),i.watch([()=>t.disabled,()=>t.editable,()=>t.enableClear,()=>t.enableSearch,()=>t.readonly],([U,Y,pe,N,q])=>{r.value=U,g.value=Y,p.value=pe,d.value=N,c.value=q});const j=()=>{n.emit("expandClick")};return()=>i.createVNode(ze,{ref:l,id:t.id,disable:r.value,readonly:c.value,forcePlaceholder:t.forcePlaceholder,editable:g.value,buttonContent:b.value,placeholder:t.placeholder==="请选择"?Ie.LocaleService.getLocaleValue("comboList.placeholder"):t.placeholder,enableClear:p.value,maxLength:t.maxLength,tabIndex:t.tabIndex,enableTitle:t.enableTitle,multiSelect:t.multiSelect,inputType:t.multiSelect?t.viewType:"text",modelValue:s.value,"onUpdate:modelValue":U=>s.value=U,focusOnCreated:t.focusOnCreated,selectOnCreated:t.selectOnCreated,onClear:k,onClick:w,onChange:E,onBlur:x,onInput:L,beforeOpen:f,placement:Mt()?"bottom":t.placement,popupMinWidth:t.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:t.popupOnClick,limitContentBySpace:!0,expandable:t.expandable,expandMode:t.expandMode,expandContent:t.expandContent,expandDisabled:t.expandDisabled,onExpandClick:j,onHidden:()=>n.emit("hidden"),onShown:()=>n.emit("shown")},{default:()=>[Mt()?i.createVNode(Ra,{modelValue:S.value,valueField:t.valueField,textField:t.textField,columns:u.value,multiSelect:t.multiSelect,separator:t.separator,onConfirm:U=>{const Y=t.multiSelect?U[0]||[]:U;F(Y),l==null||l.value.hidePopup()},onCancel:()=>{l==null||l.value.hidePopup()}},null):i.createVNode(La,{class:t.popupClass,ref:o,id:t.id,idField:t.idField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:h.value,selectedValues:S.value,separator:t.separator,multiSelect:t.multiSelect,showSelectAll:t.showSelectAll,enableSearch:d.value,maxHeight:t.maxHeight,enableHighlightSearch:t.enableHighlightSearch,width:t.fitEditor?C.value:void 0,onSelectionChange:U=>{F(U),T()}},null)]})}}),Tn={convertFrom:(e,n)=>(e.editor.remote||{})[n],convertTo:(e,n,t)=>{e.editor.remote=e.editor.remote||{},e.editor.remote[n]=t}};class za extends it.InputBaseProperty{constructor(n,t){super(n,t)}getCommonEditorProperties(n){var t,a,o,l;return{showSelectAll:{visible:!!((t=n.editor)!=null&&t.multiSelect),description:"多选模式下是否显示全选复选框",title:"启用全选",type:"boolean",default:!1,refreshPanelAfterChanged:!0},viewType:{visible:!!((a=n.editor)!=null&&a.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((o=n.editor)!=null&&o.multiSelect)&&((l=n.editor)==null?void 0:l.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0},hideDisabledItems:{description:"当数据项禁用时,隐藏数据项",title:"隐藏禁用项",type:"boolean",refreshPanelAfterChanged:!0}}}getEditorProperties(n){var d,c,u,s,g,S,h,y,m,f,b,v,C;const t=this;let a="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const T=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(c=T==null?void 0:T.schemaField)!=null&&c.type&&(a=T.schemaField.type.$type)}const o=this.getPropertyEditorParams(n,["Variable"]),l=!n.editor.dataSourceType||n.editor.dataSourceType==="static",r=(((s=(u=this.designViewModelField)==null?void 0:u.type)==null?void 0:s.$type)===O.FormSchemaEntityFieldType$Type.StringType||!!this.formRule&&((g=this.designerHostService.schemaService.getFieldByID(n.binding.field))==null?void 0:g.type.$type)===O.FormSchemaEntityFieldType$Type.StringType)&&((S=n.editor)==null?void 0:S.type)==="combo-list"&&((h=n.editor)==null?void 0:h.dataSourceType)==="dynamic"&&!((m=(y=n.editor)==null?void 0:y.remote)!=null&&m.url)&&!((f=n.editor)!=null&&f.multiSelect);return t.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"是否显示清除按钮",title:"启用清除按钮",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:r,title:"数据",editor:{...o,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:l,...t.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0},url:{visible:n.editor.dataSourceType==="dynamic"&&!((b=n.editor)!=null&&b.dataSource),$converter:Tn,description:"",title:"服务端API",type:"string",refreshPanelAfterChanged:!0},body:{visible:!1,$converter:Tn,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:n.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!a||a==="StringType",readonly:((v=n.editor)==null?void 0:v.dataSourceType)==="dynamic"&&!!((C=n.editor)!=null&&C.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(T,F)=>{if(!T||!F.editor)return;const x=this;switch(T.propertyID){case"dataSourceType":{T.propertyValue==="static"?(F.editor.valueField="value",F.editor.textField="name",F.editor.remote=null):T.propertyValue==="dynamic"&&(F.editor.remote={method:"GET"},F.editor.valueField="value",F.editor.textField="name");break}case"data":{!x.checkEnumDataReadonly(F)&&F.formatter&&(F.formatter.data=[...T.propertyValue]);break}case"viewType":{T.propertyValue==="tag"&&(F.editor.editable=!1);break}case"dataSource":x.afterMutilEditorChanged(F,T);break}})}getGridFieldEdtiorProperties(n,t){var d,c,u,s,g,S,h,y,m,f,b,v,C;const a=this;let o="";if(((d=n==null?void 0:n.binding)==null?void 0:d.type)==="Form"){const T=this.schemaService.getFieldByIDAndVMID(n.binding.field,this.viewModelId);(c=T==null?void 0:T.schemaField)!=null&&c.type&&(o=T.schemaField.type.$type)}const l=((s=(u=this.designViewModelField)==null?void 0:u.type)==null?void 0:s.$type)===O.FormSchemaEntityFieldType$Type.StringType&&((g=n.editor)==null?void 0:g.type)==="combo-list"&&((S=n.editor)==null?void 0:S.dataSourceType)==="dynamic"&&!((h=n.editor)!=null&&h.multiSelect),r=this.getPropertyEditorParams(n,["Variable"]);return a.getComponentConfig(n,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},dataSource:{description:"动态数据源绑定变量",visible:l,title:"数据",editor:{...r,controlName:"",enableClear:!0},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!((y=n.editor)!=null&&y.dataSourceType)||((m=n.editor)==null?void 0:m.dataSourceType)==="static",...a.getItemCollectionEditor(n,(f=n.editor)==null?void 0:f.valueField,(b=n.editor)==null?void 0:b.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:o==="StringType",readonly:((v=n.editor)==null?void 0:v.dataSourceType)==="dynamic"&&!!((C=n.editor)!=null&&C.dataSource),type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(n)},(T,F)=>{if(!T||!F.editor)return;const x=this;switch(T.propertyID){case"dataSourceType":{T.propertyValue==="static"?(F.editor.valueField="value",F.editor.textField="name",F.editor.remote=null):T.propertyValue==="dynamic"&&(F.editor.remote={method:"GET"},F.editor.valueField="value",F.editor.textField="name");break}case"data":{!x.checkEnumDataReadonly(F)&&F.formatter&&(F.formatter.data=[...T.propertyValue]);break}case"dataSource":x.afterMutilEditorChanged(F,T)}})}setEditorPropertyRelates(n,t,a){if(!n||!t.editor)return;const o=this;switch(n.propertyID){case"dataSourceType":{n.propertyValue==="static"&&(t.editor.valueField="value",t.editor.textField="name",t.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(t)&&t.formatter&&(t.formatter.data=[...n.propertyValue]);break}}}changeBindingField(n,t,a){var l;super.changeBindingField(n,t);const o=a;n.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===O.FormSchemaEntityFieldType$Type.EnumType&&(n.editor.data=o.type.enumValues||[])}getEventPropertyConfig(n,t="card",a,o){const l=this;let r=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"打开面板前事件"},{label:"beforeHide",name:"关闭面板前事件"},{label:"onShown",name:"面板打开事件"},{label:"onHidden",name:"面板关闭事件"}];r=[...r,...this.getInputCommonEvents(n)],a&&(r=r.concat(a)),this.formRule&&(r=r.filter(u=>u.label!=="onChange")),this.appendFieldValueChangeEvents(n,r);const p=l.eventsEditorUtils.formProperties(n,l.viewModelId,r);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(p),tabId:O.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(u,s){const g=u.propertyValue;delete n[l.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,g.events,g),l.updateLinkedLabel(g,s)),o&&o(u,s,g);const S=l.designViewModelUtils.getDgViewModel(l.viewModelId);S&&l.designViewModelField&&S.changeField(l.designViewModelField.id,{valueChanging:n.fieldValueChanging||"",valueChanged:n.fieldValueChanged||""}),n.editor.onShown=n.onShown,n.editor.onHidden=n.onHidden,n.editor.beforeHide=n.beforeHide,n.editor.beforeOpen=n.beforeOpen,n.editor.onChange=n.onChange,n.editor.onClear=n.onClear}}}}function Ha(e,n){const t=e.schema;function a(o,l){return new za(o,n).getPropertyConfig(t,l)}return{getPropsConfig:a}}const Wa=i.defineComponent({name:"FComboListDesign",props:Ia,emits:vn,setup(e,n){const t=i.ref(),a=i.inject("designer-host-service"),o=i.inject("design-item-context"),l=Ha(o,a),r=B.useDesignerComponent(t,o,l);return i.onMounted(()=>{t.value.componentInstance=r}),n.expose(r.value),()=>i.createVNode(Me,{ref:t,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}});Qe.register=(e,n,t,a,o)=>{e["combo-list"]=Qe,n["combo-list"]=Cn(o),a["combo-list"]={callbackResolver:ka}},Qe.registerDesigner=(e,n,t,a)=>{e["combo-list"]=Wa,n["combo-list"]=Cn(a)},O.withInstall(Qe);const Ga={id:{type:String,default:""},autocomplete:{type:String,default:"off"},customClass:{type:String,default:""},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!0},enableTitle:{type:Boolean,default:!0},enableViewPassword:{type:Boolean,default:!0},forcePlaceholder:{type:Boolean,default:!1},groupText:{type:String,default:""},showType:{type:String,default:"text"},type:{type:String,default:"text"},max:{type:[Number,String]},min:{type:[Number,String]},maxLength:{type:Number,default:void 0},minLength:{type:Number,default:void 0},modelValue:{type:[String,Boolean],default:""},showBorder:{type:Boolean,default:!0},step:{type:Number,default:1},placeholder:{type:String,default:""},precision:{type:Number,default:0},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},tabIndex:{type:Number,default:0},textAlign:{type:String,default:"left"},useExtendInfo:{type:Boolean,default:!1},extendInfo:{type:String,default:""},value:{type:String,default:""},autoHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},rows:{type:Number,default:2},showCount:{type:Boolean,default:!1},showZero:{type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},updateOn:{type:String,default:"blur"},formatValidation:{type:Object,default:()=>({})},keyboard:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},useThousands:{type:Boolean,default:!0},prefix:{type:String,default:""},suffix:{type:String,default:""}},Ja={clear:(...e)=>!0,change:(...e)=>!0,blur:(...e)=>!0,click:(...e)=>!0,clickHandle:(...e)=>!0,focus:(...e)=>!0,input:(...e)=>!0,keydown:(...e)=>!0,keyup:(...e)=>!0,iconMouseEnter:(...e)=>!0,iconMouseLeave:(...e)=>!0,"update:modelValue":(...e)=>!0,"update:value":(...e)=>!0,updateExtendInfo:(...e)=>!0,valueChange:(...e)=>!0,mousedownEvent:(...e)=>!0,mouseupEvent:(...e)=>!0,expandClick:(...e)=>!0};function Ya(e,n){const t=i.ref(e.groupText),a=i.computed(()=>e.showButtonWhenDisabled&&(e.readonly||e.disabled)),o=i.computed(()=>e.type==="password"||e.showType==="password"||e.enableClear||!!e.groupText||a.value);return{appendedButtonClass:i.computed(()=>({"input-group-append":!0,"append-force-show":a.value})),appendedContent:t,shouldShowAppendedButton:o}}function Qa(e,n,t,a){const{appendedContent:o}=a,l=i.ref(e.enableViewPassword),r=i.computed(()=>e.type==="password"||e.showType==="password"),p='<span class="f-icon f-icon-eye" style="color: rgb(56, 143, 255);"></span>',d='<span class="f-icon f-icon-eye"></span>',c=i.ref(!1);i.watch(()=>[e.readonly,e.disabled],([g,S])=>{r.value&&(t.value=g||S?"password":t.value,o.value=e.readonly||e.disabled?"":l.value?d:"")});function u(){return c.value=!c.value,t.value=c.value?"text":"password",o.value=c.value?p:d,!1}function s(){t.value=r.value?"password":t.value,r.value&&(o.value=e.readonly||e.disabled?"":l.value?d:"")}return s(),{isPassword:r,onClickAppendedButton:u}}function Xa(e,n){const t=e,a=Le.useNumber(t,n),o=Le.useFormat(t,n,a),l=Le.useSpinner(t,n,o,a),r=Le.useTextBox(t,n,o,a,l),p=Le.getSpinnerRender(t,n,l),{displayValue:d,modelValue:c,getRealValue:u}=a,s=Le.getNumberTextBoxRender(t,n,r),{format:g}=o,{isFocus:S}=r,h=i.computed(()=>!e.disabled&&!e.readonly);return i.onMounted(()=>{const y=u(e.modelValue);d.value=g(y)}),i.watch(()=>[e.value],([y])=>{const m=u(y);c.value=m,d.value=g(m)}),i.watch(()=>[e.modelValue],([y])=>{y!==c.value&&(c.value=y,!S.value&&(d.value=g(u(y))))}),i.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{d.value=g(c.value)}),()=>i.createVNode("div",{class:"input-group flex-row f-cmp-number-spinner",style:"border:none;"},[s(),h.value&&p()])}function Za(e){return e?Ie.LocaleService.getRealPropertyValue(e,"请输入","input-group.placeholder"):""}function Ka(e,n,t,a){const o=i.ref(),{inputGroupClass:l,onBlur:r,onFocus:p}=a,{clearButtonClass:d,clearButtonStyle:c}=t,u=i.computed(()=>e.maxLength?e.maxLength:typeof e.modelValue=="string"?e.modelValue.length:0),s=F=>{var x,w;F.stopPropagation(),n.emit("update:modelValue",(x=F.target)==null?void 0:x.value),n.emit("valueChange",(w=F.target)==null?void 0:w.value)},g=i.computed(()=>({"form-control":!0,"h-100":e.autoHeight})),S=i.computed(()=>e.enableClear&&!e.readonly&&!e.disabled),h=Za(e.placeholder),y=i.computed(()=>e.disabled||e.readonly?"":h),m=i.computed(()=>({...c.value,position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)","background-color":"rgb(199, 207, 221)","border-radius":"100%",width:"16px",height:"16px"})),f=i.computed(()=>{const F={resize:"none","padding-right":"15px"};return e.rows>2?{height:"auto",...F}:F}),b=F=>{F.stopPropagation(),o.value.value="",n.emit("update:modelValue",""),n.emit("valueChange","")};function v(){return i.withDirectives(i.createVNode("textarea",i.mergeProps({class:g.value},O.locatorChild(e.id,"textbox"),{"onUpdate:modelValue":F=>e.modelValue=F,ref:o,minlength:e.minLength,maxlength:e.maxLength?e.maxLength:null,tabindex:e.tabIndex,disabled:e.disabled,readonly:e.readonly,autocomplete:e.autocomplete,placeholder:y.value,autofocus:e.autofocus,rows:e.rows,onInput:s,onFocus:p,onBlur:r,style:f.value}),null),[[i.vModelText,e.modelValue]])}function C(){return e.showCount&&i.createVNode("span",{style:"position: absolute;bottom: 0;right: 5px;z-index:999;font-size:12px"},[`${typeof e.modelValue=="string"?e.modelValue.length:0}/${u.value}`])}function T(){return S.value&&i.createVNode("span",i.mergeProps(O.locatorChild(e.id,"clear"),{class:d.value,style:m.value,onClick:F=>b(F)}),[i.createVNode("i",{class:"f-icon modal_close",style:"font-size:8px;color:#fff"},null)])}return{renderTextarea:v,renderCount:C,renderClear:T}}function ei(e,n,t,a){const o=i.ref(),l=i.ref(e.autocomplete),r=i.ref(e.enableTitle),{isPassword:p}=t,d=i.ref(e.minLength),c=i.ref(e.maxLength),u=i.ref(e.tabIndex),{disabled:s,displayText:g,inputType:S,onBlur:h,onFocus:y,onInput:m,onClick:f,onKeydown:b,onKeyup:v,onMousedown:C,onMouseup:T,onTextBoxValueChange:F,readonly:x,placeholder:w,textBoxClass:k,textBoxTitle:I}=a;return i.onMounted(()=>{var E,P;e.selectOnCreated&&((E=o.value)==null||E.select()),e.focusOnCreated&&((P=o.value)==null||P.focus({preventScroll:!0}))}),()=>i.createVNode("input",i.mergeProps(O.locatorChild(e.id,"textbox"),{ref:o,name:"input-group-value",autocomplete:l.value,class:k.value,disabled:s==null?void 0:s.value,maxlength:c.value,minlength:d.value,placeholder:w.value,readonly:x==null?void 0:x.value,tabindex:u.value,title:r.value&&!p.value?I.value:"",type:S.value,value:g==null?void 0:g.value,onBlur:h,onClick:f,onChange:F,onFocus:y,onInput:m,onKeydown:b,onKeyup:v,onMousedown:C,onMouseup:T}),null)}function ti(e,n){const t=i.ref(e.extendInfo),a=i.computed(()=>e.useExtendInfo&&!!e.extendInfo),o=i.computed(()=>({content:t.value}));i.watch(()=>e.extendInfo,r=>{t.value=r});function l(){n.emit("updateExtendInfo")}return()=>a.value&&i.withDirectives(i.createVNode("span",{class:"input-group-before-tips",onMouseenter:l},[i.createVNode("i",{class:"f-icon f-icon-info-circle"},null),i.createVNode("b",{class:"tips-arrow"},null)]),[[i.resolveDirective("tooltip"),o.value]])}function ni(e,n,t,a,o){const{appendedButtonClass:l,appendedContent:r}=t,{isPassword:p}=o,d=i.computed(()=>p.value?O.locatorChild(e.id,"password"):O.locatorChild(e.id,"append")),c=i.computed(()=>!e.readonly&&!e.disabled),u=i.computed(()=>r.value&&!n.slots.groupTextTemplate),s=i.computed(()=>!!n.slots.groupTextTemplate),{clearButtonClass:g,clearButtonStyle:S,onClearValue:h,shouldShowClearButton:y}=a,m=i.ref(0);i.watch(r,I=>{m.value++});function f(){return i.createVNode("span",i.mergeProps(O.locatorChild(e.id,"clear"),{class:g.value,style:S.value,onClick:I=>h(I)}),[i.createVNode("i",{class:"f-icon modal_close"},null)])}function b(I){n.emit("iconMouseEnter",I)}function v(I){n.emit("iconMouseLeave",I)}function C(I){c.value&&n.emit("clickHandle",{originalEvent:I}),I.stopPropagation()}const T=e.type==="password"||e.showType==="password"?o.onClickAppendedButton:C;function F(){const I=r.value;if(!I||!(e.showButtonWhenDisabled||!e.disabled&&!e.readonly))return null;const P={...d.value,class:"input-group-text",onMouseenter:b,onMouseleave:v,onClick:T};if(typeof I=="string")return i.createVNode("span",i.mergeProps(P,{innerHTML:I}),null);if(typeof I=="function"){const L=I();return i.createVNode("span",P,[typeof L=="string"?i.createVNode("span",{innerHTML:L},null):L])}else return i.createVNode("span",P,[I])}function x(){return n.slots.groupTextTemplate&&n.slots.groupTextTemplate()}function w(){return u.value?F():s.value?x():""}i.watch(()=>e.expandDisabled,(I,E)=>{m.value++});const{renderExpandContent:k}=O.useInputExpand({...e,skipReadonlyCheck:!0},n);return()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{class:l.value,key:"append-button-"+m.value},[y.value&&f(),w()]),k()])}const xn=i.defineComponent({name:"FInputGroup",props:Ga,emits:Ja,setup(e,n){const t=O.useLocatorProps(e),a=n,o=i.ref(),l=i.ref(t.modelValue),r=i.ref(t.modelValue),p=O.useTextBox(t,a,l,r,o),{inputGroupClass:d,inputType:c,inputGroupStyle:u,changeTextBoxValue:s}=p,g=Ya(t),{shouldShowAppendedButton:S}=g,h=O.useClear(t,a,p),{onMouseEnter:y,onMouseLeave:m}=h,f=Qa(t,a,c,g),b=Xa(t,a),{renderTextarea:v,renderCount:C,renderClear:T}=Ka(t,a,h,p),F=ei(t,a,f,p),x=ni(t,a,g,h,f),w=ti(t,a),k=i.computed(()=>c.value==="number"),I=i.computed(()=>c.value==="textarea");i.watch(()=>[t.value],([P])=>{l.value=P,r.value=P}),i.watch(()=>[t.modelValue],([P])=>{l.value=P,r.value=P}),i.onMounted(()=>{t.value&&(l.value=t.value,r.value=t.value)}),n.expose({clear:()=>{s("",!1),r.value=""},setText:P=>{s(P,!1),r.value=P}});const E=()=>i.createVNode("div",i.mergeProps({ref:o},O.locatorAttrs(t.id),{class:d.value,style:u.value,onMouseenter:y,onMouseleave:m}),[k.value?b():I.value?v():i.createVNode(i.Fragment,null,[w(),F()]),!I.value&&!k.value&&S.value&&x(),I.value&&T(),I.value&&C()]);return()=>E()}});O.withInstall(xn);function ai(e){const n=(s,g)=>s??g,t={string:{compare:ne.Contains,value:"",isEmpty:null,relation:he.And},number:{begin:null,end:null,interval:!1,value:null,isEmpty:null},date:{interval:!1,value:"",rangeValue:"",isEmpty:null},datetime:{interval:!1,value:"",rangeValue:"",isEmpty:null},enum:{value:"",isEmpty:null},boolean:{value:!1,isEmpty:null}},a=(s="string")=>t[s]||t.string,o=s=>({compare:n(s.compare,ne.Contains),value:n(s.value,""),isEmpty:n(s.isEmpty,null),relation:n(s.relation,he.And)}),l=s=>({begin:n(s.begin,null),end:n(s.end,null),interval:n(s.interval,!1),value:n(s.value,null),isEmpty:n(s.isEmpty,null)}),r=s=>({interval:n(s.interval,!1),value:n(s.value,""),rangeValue:n(s.rangeValue,""),isEmpty:n(s.isEmpty,null)}),p=s=>({value:n(s.value,""),isEmpty:n(s.isEmpty,null)}),d=s=>({value:n(s.value,null),isEmpty:n(s.isEmpty,null)}),c=s=>o(s);function u(){var y,m,f;const s=((y=e.value)==null?void 0:y.value)!==void 0&&((m=e.value)==null?void 0:m.value)!==null?e.value.value:void 0,g=(f=e.value)==null?void 0:f.dataType;return s==null?a(g):({string:o,number:l,date:r,datetime:r,enum:p,boolean:d}[g]||c)(s)}return{buildFieldValue:u}}const ii=i.defineComponent({name:"SearchForm",props:{field:Object,modelValue:Object,locales:Object},emits:["searchEmpty"],setup(e,n){var F,x,w,k,I,E,P,L;const t=[],a=i.reactive({}),o=i.ref(null),l=i.ref(e.modelValue),r=i.computed(()=>{var V;return((V=l.value)==null?void 0:V.options)||{}}),{buildFieldValue:p}=ai(l),d={[ne.Contains]:((x=(F=e.locales)==null?void 0:F.operators)==null?void 0:x.contains)||"包含",[ne.NotContains]:((k=(w=e.locales)==null?void 0:w.operators)==null?void 0:k.notContains)||"不包含",[ne.Equal]:((E=(I=e.locales)==null?void 0:I.operators)==null?void 0:E.equal)||"等于",[ne.NotEqual]:((L=(P=e.locales)==null?void 0:P.operators)==null?void 0:L.notEqual)||"不等于"};hn.forEach(V=>{const M=d[V.value];M!==void 0&&(V.label=M)});const c=V=>{l.value.dataType==="number"?Object.assign(a,{begin:null,end:null,interval:!1,value:null,isEmpty:V?1001:1002}):Object.assign(a,{compare:ne.Contains,value:null,isEmpty:V?1001:1002}),n.emit("searchEmpty",{...a})},u=V=>{a.isEmpty=null},s=V=>i.computed(()=>{const M={"panel-date-tag mt-2":!0};return a.isEmpty!=null?{...M,active:a.isEmpty===V}:M}),g=s(1001),S=s(1002);function h(V=!1,M=null){var $,W,j,U,Y,pe,N;return i.createVNode("div",{class:"f-filter-panel-date-tags",style:"padding-top: 5px; flex-wrap: wrap;"},[i.createVNode("div",{class:"d-flex f-utils-fill flex-columns"},[i.createVNode("div",{class:g.value,onClick:()=>c(!0)},[i.createTextVNode(" "),((W=($=e.locales)==null?void 0:$.operators)==null?void 0:W.empty)||"为空",i.createTextVNode(" ")]),i.createVNode("div",{class:S.value,onClick:()=>c(!1)},[i.createTextVNode(" "),((U=(j=e.locales)==null?void 0:j.operators)==null?void 0:U.notEmpty)||"不为空",i.createTextVNode(" ")])]),V&&i.createVNode("div",{class:"mt-2 d-flex align-items-center",style:{visibility:M!=null&&M.value?"":"hidden"}},[((Y=e.locales)==null?void 0:Y.relation.label)||"条件关系",i.createTextVNode(" "),i.withDirectives(i.createVNode("select",{name:"relation","onUpdate:modelValue":q=>a.relation=q,class:"form-control ml-1",style:"width: 50px;padding-right: 0px;"},[i.createVNode("option",{value:he.And},[((pe=e.locales)==null?void 0:pe.relation.and)||"且"]),i.createVNode("option",{value:he.Or},[((N=e.locales)==null?void 0:N.relation.or)||"或"])]),[[i.vModelSelect,a.relation]])])])}function y(V){var M;return i.createVNode("div",{class:"d-flex align-items-center mb-2"},[((M=e.locales)==null?void 0:M.intervalFilter)||"按区间筛选",i.createVNode(Yn.FSwitch,{size:"small",class:"ml-2",modelValue:V.interval,"onUpdate:modelValue":$=>V.interval=$,style:"width: 33px"},null)])}function m(V){var M;return i.createVNode("div",{class:"d-flex flex-column"},[i.createVNode("div",{class:"d-flex"},[i.createVNode(Qe,{style:"width: 130px",data:hn,modelValue:V.compare,"onUpdate:modelValue":$=>V.compare=$,textField:"label",valueField:"value",idField:"value",enableClear:!1,minPanelWidth:130,placement:"auto",popupClass:"field-search-panel"},null),i.createVNode(xn,{ref:o,class:"ml-2",modelValue:V.value,"onUpdate:modelValue":[$=>V.value=$,u],updateOn:"change",placeholder:((M=e.locales)==null?void 0:M.multiCondition)||"多条件之间以空格分隔",enableClear:!0,onClear:()=>V.value=""},null)]),h(!0,V)])}function f(V,M){const{showTime:$,format:W,valueFormat:j}=M;return i.createVNode("div",{class:"d-flex flex-column"},[y(V),i.createVNode("div",null,[V.interval?i.createVNode(Ct.DatePicker,{modelValue:V.rangeValue,"onUpdate:modelValue":[U=>V.rangeValue=U,u],showTime:$,displayFormat:W,valueFormat:j,enablePeriod:!0,splitSelection:!0,popupClass:"field-search-panel"},null):i.createVNode(Ct.DatePicker,{modelValue:V.value,"onUpdate:modelValue":[U=>V.value=U,u],showTime:$,displayFormat:W,valueFormat:j,popupClass:"field-search-panel"},null)]),h()])}function b(V,M){const $=(W,j)=>{V[W]=isNaN(j)?null:j,u()};return i.createVNode("div",{class:"d-flex flex-column number-input-wrapper"},[y(V),i.createVNode("div",{class:"d-flex"},[V.interval?i.createVNode("div",{class:"f-utils-fill d-flex align-items-center"},[i.createVNode(Le.FNumberSpinner,{modelValue:V.begin,"onUpdate:modelValue":[W=>V.begin=W,W=>$("begin",W)],max:V.end,needValid:!0,nullable:!0,precision:M==null?void 0:M.precision},null),i.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),i.createVNode(Le.FNumberSpinner,{modelValue:V.end,"onUpdate:modelValue":[W=>V.end=W,W=>$("end",W)],min:V.begin,needValid:!0,nullable:!0,precision:M==null?void 0:M.precision},null)]):i.createVNode(Le.FNumberSpinner,{modelValue:V.value,"onUpdate:modelValue":[W=>V.value=W,u],nullable:!0,precision:M==null?void 0:M.precision},null)]),h()])}function v(V){var j,U;const M=((j=r.value)==null?void 0:j.trueText)||"True",$=((U=r.value)==null?void 0:U.falseText)||"False",W=[{label:M,value:1},{label:$,value:0}];return V.value=V.value!=null?V.value:null,i.createVNode("div",{class:"d-flex flex-column checkbox-wrapper"},[i.createVNode(Qn.FRadioGroup,{name:V.field,valueField:"value",textField:"label",data:W,modelValue:V.value,"onUpdate:modelValue":[Y=>V.value=Y,u],direction:"vertical"},null),h()])}function C(V){const{data:M,textField:$,valueField:W}=r.value||{};return i.createVNode("div",{class:"d-flex flex-column checkbox-wrapper",onClick:j=>j.stopPropagation(),onMouseDown:j=>j.stopPropagation(),onMouseUp:j=>j.stopPropagation()},[i.createVNode(Xn.FCheckboxGroup,{direction:"vertical",style:"max-height:200px;overflow-y:auto;",data:M,modelValue:V.value,"onUpdate:modelValue":j=>V.value=j,name:V.field,textField:$,valueField:W},null)])}function T(V){const{dataType:M,options:$}=l.value;switch(M){case"string":return m(V);case"date":case"datetime":{const W=M==="datetime",j=($==null?void 0:$.format)||(W?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd");return f(V,{showTime:W,format:j,valueFormat:W?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"})}case"number":return b(V,$);case"boolean":return v(V);case"enum":return C(V);default:return m(V)}}return n.expose({searchValue:a}),i.onMounted(()=>{Object.assign(a,p()),i.nextTick(()=>{var M,$;const V=($=(M=o.value)==null?void 0:M.$el)==null?void 0:$.querySelector("input");V&&V.focus()})}),()=>t.length===0?T(a):t.map((V,M)=>m(V))}});function oi(e,n){var r;JSON.stringify(((r=e.field)==null?void 0:r.value)||{});const t=p=>p==null||p==="",a=p=>p==="datetime"||p==="date",o=i.computed(()=>{if(n.value.interval){if(e.field.dataType==="number")return!(t(n.value.begin)&&t(n.value.end));if(a(e.field.dataType))return!t(n.value.rangeValue)}return!t(n.value.value)}),l=i.computed(()=>{const{dataType:p,value:d}=e.field,{value:c,isEmpty:u,rangeValue:s,interval:g,begin:S,end:h}=d;if(g){if(p==="number")return!t(S)||!t(h);if(a(p))return!t(s)}return c!=null||u!=null});return{canSubmit:o,canClear:l}}const li=i.defineComponent({name:"ConditionPanel",props:{referenceElement:Object,visible:{type:Boolean,default:!1},field:{type:Object,default:null},locales:Object},emits:["cancel","submit","clear","searchEmpty"],setup(e,{emit:n}){const t=i.ref(e.referenceElement),a=i.ref(null),o=i.ref(null),l=i.computed(()=>{var b;return((b=o.value)==null?void 0:b.searchValue)||e.field.value}),{canSubmit:r,canClear:p}=oi(e,l);function d(){if(!t.value)return{};const{top:b,left:v,height:C}=t.value.getBoundingClientRect();return{top:b+C+"px",left:v+"px"}}i.watch(()=>e.referenceElement,b=>{t.value=b},{immediate:!0});const c=i.computed(()=>d()),u=()=>{n("cancel")},s=b=>{const v=b.target;a.value&&!a.value.contains(v)&&t.value&&!t.value.contains(v)&&e.visible&&t.value.parentElement!==v&&u()},g=()=>{u()},S=()=>{var v;const b=(v=o.value)==null?void 0:v.searchValue;n("submit",b)},h=()=>{n("clear",e.field)},y=b=>{n("searchEmpty",b)},m=b=>{if(b.key==="Escape"){b.preventDefault(),b.stopPropagation(),u();return}if(b.key==="Enter"){const v=b.target,{tagName:C}=v;b.preventDefault(),b.stopPropagation(),r.value&&S()}},f=()=>{document.removeEventListener("mousedown",s),window.removeEventListener("resize",g),document.removeEventListener("click",s)};return i.onMounted(()=>{document.addEventListener("mousedown",s),window.addEventListener("resize",g),document.addEventListener("click",s)}),i.onUnmounted(()=>{f()}),()=>{var b,v,C;return e.visible?i.createVNode("div",{ref:a,class:"condition-panel d-flex flex-column",style:c.value,onKeydown:m},[i.createVNode("div",{class:"f-utils-fill",style:"overflow: unset;"},[e.field&&i.createVNode(ii,{modelValue:e.field,"onUpdate:modelValue":T=>e.field=T,ref:o,onSearchEmpty:y,locales:e.locales},null)]),i.createVNode("div",{class:"f-filter-panel-footer"},[i.createVNode("button",{class:"btn btn-link",disabled:!p.value,onClick:h},[((b=e.locales)==null?void 0:b.clear)||"清空筛选"]),i.createVNode("div",{class:"buttons"},[i.createVNode("button",{class:"btn btn-secondary",onClick:()=>u()},[((v=e.locales)==null?void 0:v.cancel)||"取消"]),i.createVNode("button",{class:"btn btn-primary btn-search-submit",disabled:!r.value,onClick:()=>S()},[((C=e.locales)==null?void 0:C.confirm)||"确定"])])])]):null}}});function Xe(e,n){if(!e||!n)return e;const t=new Date(e);return isNaN(t.getTime())?e:O.formatDate(t,n)}function ri(e){var u,s,g,S,h,y,m,f,b,v;const n={[ne.Contains]:((u=e==null?void 0:e.operators)==null?void 0:u.contains)||"包含",[ne.NotContains]:((s=e==null?void 0:e.operators)==null?void 0:s.notContains)||"不包含",[ne.Equal]:((g=e==null?void 0:e.operators)==null?void 0:g.equal)||"等于",[ne.NotEqual]:((S=e==null?void 0:e.operators)==null?void 0:S.notEqual)||"不等于",[ne.Greater]:((h=e==null?void 0:e.operators)==null?void 0:h.greater)||"大于",[ne.GreaterEqual]:((y=e==null?void 0:e.operators)==null?void 0:y.greaterOrEqual)||"大于等于",[ne.Less]:((m=e==null?void 0:e.operators)==null?void 0:m.less)||"小于",[ne.LessEqual]:((f=e==null?void 0:e.operators)==null?void 0:f.lessOrEqual)||"小于等于",[ne.IsEmpty]:((b=e==null?void 0:e.operators)==null?void 0:b.empty)||"为空",[ne.IsNotEmpty]:((v=e==null?void 0:e.operators)==null?void 0:v.notEmpty)||"不为空"};Object.entries(n).forEach(([C,T])=>{n[C]=`${T} `});const t=C=>C==null?"":n[C]||"",a=C=>{var T;if(C.value){const{value:F,rangeValue:x,interval:w}=C.value,k=(T=C.options)==null?void 0:T.format;if(w){if(x==null||x==="")return"";const I=x.split("~").map(L=>L.trim()),E=I[0]||"",P=I[1]||"";return E===""&&P!==""?t(ne.LessEqual)+Xe(P,k):P===""&&E!==""?t(ne.GreaterEqual)+Xe(E,k):E!==""&&P!==""?Xe(E,k)+" ~ "+Xe(P,k):""}return F==null?"":t(ne.Equal)+Xe(F,k)}return""},o=C=>{if(C.value){const{value:T,compare:F,begin:x,end:w,interval:k}=C.value;if(F&&(F===ne.IsEmpty||F===ne.IsNotEmpty))return t(F);if(k){if(x==null&&w==null)return"";const[I,E]=[x,w];return I==null||isNaN(I)?t(ne.LessEqual)+E:E==null||isNaN(E)?t(ne.GreaterEqual)+I:`${I} ~ ${E}`}return T==null?"":t(ne.Equal)+T}return""},l=C=>{var T,F;if(C.value){const{value:x,compare:w,relation:k}=C.value;if(x==null)return"";const E=" "+(k===he.And?((T=e==null?void 0:e.relation)==null?void 0:T.and)||"且":((F=e==null?void 0:e.relation)==null?void 0:F.or)||"或")+" ";return t(w)+x.trim().replace(/\s+/g," ").split(" ").join(E)}return""},r=C=>{if(C.value){const{value:T,compare:F}=C.value,{trueText:x,falseText:w}=(C==null?void 0:C.options)||{};return T==null?"":T?x||"True":w||"False"}return""},p=C=>{if(C.value){const{value:T,compare:F}=C.value,{data:x,valueField:w,textField:k}=(C==null?void 0:C.options)||{};if(T)return T.split(",").map(I=>{var E;return((E=x.find(P=>P[w]===I))==null?void 0:E[k])||""}).join(",")}return""},d=C=>{var x,w;if(!C.value||!(k=>k&&typeof k.isEmpty=="number")(C.value))return"";const{isEmpty:F}=C.value;return F===1001?((x=e==null?void 0:e.operators)==null?void 0:x.empty)||"为空":F===1002?((w=e==null?void 0:e.operators)==null?void 0:w.notEmpty)||"不为空":""};function c(C){const T=C.title+":";let F=d(C);if(F)return T+F;if(C.value){switch(C.dataType){case"date":case"datetime":F=a(C);break;case"number":F=o(C);break;case"enum":F=p(C);break;case"boolean":F=r(C);break;case"string":default:F=l(C);break}return T+F}return T}return{getDisplayText:c}}function si(e){const n=[];return e.forEach(t=>{const a=t.value;if(a.isEmpty)if(t.dataType==="string"||t.dataType==="enum"){a.isEmpty===1001?(n.push({filterField:t.field,value:"",compare:ne.Equal,lbracket:"(",rbracket:"",relation:he.Or}),n.push({filterField:t.field,value:null,compare:ne.IsEmpty,lbracket:"",rbracket:")",relation:he.And})):(n.push({filterField:t.field,value:"",compare:ne.NotEqual,lbracket:"(",rbracket:"",relation:he.And}),n.push({filterField:t.field,value:null,compare:ne.IsNotEmpty,lbracket:"",rbracket:")",relation:he.And}));return}else{a.isEmpty===1001?n.push({filterField:t.field,value:null,compare:ne.IsEmpty,lbracket:"",rbracket:"",relation:he.And}):n.push({filterField:t.field,value:null,compare:ne.IsNotEmpty,lbracket:"",rbracket:"",relation:he.And});return}if(t.dataType==="string"){const{value:o,compare:l,relation:r}=a,p=o.trim().replace(/\s+/g," ").split(" "),d=p.map((c,u)=>({filterField:t.field,value:c,compare:l||ne.Contains,lbracket:u===0?"(":"",rbracket:u===p.length-1?")":"",relation:u===p.length-1?he.And:r||he.Or}));n.push(...d)}else if(t.dataType==="number"){const{begin:o,end:l,interval:r,value:p}=a;r?o!=null&&l!=null&&o===l?n.push({filterField:t.field,value:o,compare:ne.Equal,lbracket:"",rbracket:"",relation:he.And}):(o!=null&&n.push({filterField:t.field,value:o,compare:ne.GreaterEqual,lbracket:"(",rbracket:l!=null?"":")",relation:he.And}),l!=null&&n.push({filterField:t.field,value:l,compare:ne.LessEqual,lbracket:o!=null?"":"(",rbracket:")",relation:he.And})):n.push({filterField:t.field,value:p,compare:ne.Equal,lbracket:"",rbracket:"",relation:he.And})}else if(t.dataType==="datetime"||t.dataType==="date"){const{value:o,interval:l,rangeValue:r}=a;if(!l)n.push({filterField:t.field,value:o,compare:ne.Equal,lbracket:"",rbracket:"",relation:he.And});else{const p=r||o;if(typeof p=="string"&&p.includes("~")){const[d,c]=p.split("~");d&&c&&d.trim()===c.trim()?n.push({filterField:t.field,value:d.trim(),compare:ne.Equal,lbracket:"",rbracket:"",relation:he.And}):(d&&n.push({filterField:t.field,value:d.trim(),compare:ne.GreaterEqual,lbracket:"(",rbracket:c?"":")",relation:he.And}),c&&n.push({filterField:t.field,value:c.trim(),compare:ne.LessEqual,lbracket:d?"":"(",rbracket:")",relation:he.And}))}}}else if(t.dataType==="enum"){const{value:o}=a;if(o&&typeof o=="string"){const l=o.split(","),r=l.map((p,d)=>({filterField:t.field,value:p.trim(),compare:ne.Equal,lbracket:d===0?"(":"",rbracket:d===l.length-1?")":"",relation:d===l.length-1?he.And:he.Or}));n.push(...r)}}else if(t.dataType==="boolean"){const{value:o}=a;n.push({filterField:t.field,value:o,compare:ne.Equal,lbracket:"",rbracket:"",relation:he.And})}else{const o=a.value||"";if(o&&typeof o=="string"){const l=o.split(" "),r=l.map((p,d)=>({filterField:t.field,value:p,compare:ne.Contains,lbracket:d===0?"(":"",rbracket:d===l.length-1?")":"",relation:d===l.length-1?he.And:he.Or}));n.push(...r)}}}),n}function ci(e){const n=e.filter(l=>l.field!=="*"&&l.dataType==="string"),t=e.find(l=>l.field==="*");if(!t||n.length===0||t.value.value.trim()==="")return[];const a=Array.from(new Set(t.value.value.trim().replace(/\s+/g," ").split(" ")));let o=n.map(l=>a.map(r=>({filterField:l.field,value:r,compare:ne.Contains,lbracket:"",rbracket:"",relation:he.Or})));return o=ce.flatten(o),o&&o.length&&(o[0].lbracket="(",o[o.length-1].rbracket=")",o[o.length-1].relation=he.And),o}function Fn(){const{getLocaleValue:e}=Ie.LocaleService;return{confirm:e("fieldSearchBox.confirm"),cancel:e("fieldSearchBox.cancel"),intervalFilter:e("fieldSearchBox.intervalFilter"),clear:e("fieldSearchBox.clear"),clearAll:e("fieldSearchBox.clearAll"),chooseField:e("fieldSearchBox.chooseField"),searchPlaceHolder:e("fieldSearchBox.searchPlaceHolder"),nofields:e("fieldSearchBox.nofields"),relation:{and:e("fieldSearchBox.relation.and"),or:e("fieldSearchBox.relation.or"),label:e("fieldSearchBox.relation.label")},operators:{equal:e("fieldSearchBox.operators.equal"),notEqual:e("fieldSearchBox.operators.notEqual"),greater:e("fieldSearchBox.operators.greater"),greaterOrEqual:e("fieldSearchBox.operators.greaterOrEqual"),less:e("fieldSearchBox.operators.less"),lessOrEqual:e("fieldSearchBox.operators.lessOrEqual"),contains:e("fieldSearchBox.operators.contains"),notContains:e("fieldSearchBox.operators.notContains"),like:e("fieldSearchBox.operators.like"),notLike:e("fieldSearchBox.operators.notLike"),in:e("fieldSearchBox.operators.in"),notIn:e("fieldSearchBox.operators.notIn"),empty:e("fieldSearchBox.operators.empty"),notEmpty:e("fieldSearchBox.operators.notEmpty"),null:e("fieldSearchBox.operators.null"),notNull:e("fieldSearchBox.operators.notNull")},multiCondition:e("fieldSearchBox.multiCondition"),starField:e("fieldSearchBox.starField")}}const Oe=i.defineComponent({name:"FieldSearchBox",props:ut,emits:["change","filter-change"],setup(e,n){const t=i.ref(e.fields),a=i.ref([]),o=i.ref(null),l=i.ref(!1),r=i.ref(),p=i.ref(null),d=i.ref(),c=i.ref([]),u=i.ref(null),s=i.ref(null),g=i.ref(!1),S=i.ref({top:0,left:0,width:0}),h=i.ref(""),y=Fn(),{getDisplayText:m}=ri(y),f={field:"*",title:y.starField||"全部",dataType:"string"};function b(D=!0){if(u.value){(u.value.querySelector(".multi--content")||u.value).getBoundingClientRect();const z=(u.value.querySelector(".input-group")||u.value).getBoundingClientRect();S.value={top:z.top,left:z.left,width:z.width}}g.value=!0,D&&t.value.length&&i.nextTick(()=>{var R;(R=d.value)!=null&&R.focusAndShow&&d.value.focusAndShow()})}const v=i.computed(()=>{const D=t.value.filter(R=>{const A=a.value.some(z=>z.filterField===R.field);return h.value?!A&&(R.dataType==="string"||R.dataType==null):!A});return h.value&&!a.value.some(R=>R.filterField==="*")?[{...f},...D]:D}),C=i.computed(()=>(a.value||[]).map((D,R)=>{if(D.filterField==="*"){const z={...f,value:{value:D.value,compare:D.compare,relation:D.relation}};return{field:z,condition:D,displayText:m(z),index:R}}const A=t.value.find(z=>z.field===D.filterField);return{field:A,condition:D,displayText:A?m(A):"",index:R}})),T=()=>{const D=C.value.map(z=>z.field).filter(z=>z.field&&z.field!=="*");let R=si(D);const A=C.value.find(z=>z.field.field==="*");A&&(R=[...ci([A.field,...t.value]),...R]),n.emit("change",R),n.emit("filter-change",{filters:R})},F=()=>{e.disabled||T()},x=i.ref(0),w=()=>{c.value=JSON.parse(JSON.stringify(a.value))};function k(D,R=!1){var z,ge;const A={filterField:D.field,value:D.field==="*"?(z=D==null?void 0:D.value)==null?void 0:z.value:"",compare:ne.Contains,lbracket:"",rbracket:"",relation:he.Or};if(r.value=D,w(),a.value.push(A),(D.dataType==null||D.dataType==="string")&&((ge=D.value)!=null&&ge.value)){A.compare=ne.Contains,w(),R&&T();return}i.nextTick(()=>{var ye;const me=(ye=s.value)==null?void 0:ye.querySelectorAll(".search-tag-item");me&&me.length>0&&(o.value=me[me.length-1],p.value=me.length-1,l.value=!0)})}function I(D,R,A){A.stopPropagation(),!(p.value===R&&l.value)&&(g.value||b(!1),i.nextTick(()=>{setTimeout(()=>{o.value=A.target,p.value=R,l.value=!0,r.value=D.field},20)}))}const E=i.computed(()=>{var D;return l.value&&!((D=d.value)!=null&&D.showPopover)}),P=()=>{l.value=!1,p.value=null,r.value=null,i.nextTick(()=>{var D,R;(R=(D=d.value)==null?void 0:D.focus)==null||R.call(D)})},L=i.computed(()=>a.value.length>0?"":{opacity:.3,"pointer-events":"none"}),V=()=>{w(),T(),P()},M=()=>{e.disabled||(a.value=[],V())},$=D=>{const{event:R,key:A}=D;R==null||R.stopPropagation(),A==="backspace"&&a.value&&a.value.length>0&&(a.value.pop(),V())},W=(D,R)=>{R.stopPropagation(),a.value.splice(D,1),V()};function j(D,R){var A;return i.createVNode("span",{class:"multi--item search-tag-item",title:D.displayText,style:{cursor:((A=r.value)==null?void 0:A.field)===D.field.field?"default":"pointer"},onClick:z=>I(D,R,z)},[i.createVNode("span",{class:"search-tag"},[D.displayText]),i.createVNode("i",{class:"f-icon f-icon-close search-box_delete-keys",onClick:z=>W(R,z),style:"top:5px",title:"删除条件"},null)])}function U(){return C.value.map((D,R)=>j(D,R))}function Y(){c.value.length>0?a.value=JSON.parse(JSON.stringify(c.value)):a.value=[],P()}function pe(D){if(r.value.value=D,r.value.field==="*"){const R=a.value.find(A=>A.filterField==="*");R&&(R.value=D.value,R.compare=D.compare,R.relation=D.relation)}V()}const N=D=>{a.value=a.value.filter(R=>R.filterField!==D.field),V()},q=D=>{h.value=D},J=D=>{r.value.value=D,V()};function Z(){g.value=!1,h.value=""}function re(D){D.stopPropagation(),!e.disabled&&(g.value||b())}function se(){if(Y(),!v.value.length)return!1}function oe(){return i.createVNode(i.Fragment,null,[U(),i.createVNode("span",{class:"search-input-box"},[i.createVNode(Va,{placeholder:y.searchPlaceHolder,fields:v.value,beforeOpenFieldsPanel:se,ref:d,disabled:e.disabled,onFieldSelected:(D,R)=>k(D,R),onInputKeydown:D=>$(D),onValueChange:D=>q(D),locales:y},null)])])}const ue=i.computed(()=>({position:"fixed",top:`${S.value.top}px`,left:`${S.value.left}px`,width:`${S.value.width}px`,zIndex:9999,flexWrap:"wrap"})),_=i.computed(()=>({"f-cmp-inputgroup d-flex f-field-search-box field-search-expanded-overlay":!0}));function K(){return i.createVNode("div",{ref:s,class:_.value,style:ue.value},[i.createVNode("div",{class:"input-group f-cmp-inputgroup",style:"overflow: hidden;"},[i.createVNode("div",{class:"form-control f-cmp-inputgroup--multi-wrapper multi-more",style:"height: auto"},[i.createVNode("div",{class:"multi--content d-flex flex-row",style:"width: 100%;flex-wrap: wrap;align-items: center;cursor: text;",onClick:re},[oe()])]),i.createVNode("div",{class:"input-group-append",onClick:F,style:L.value},[i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])]),i.createVNode(li,{field:r.value,referenceElement:o.value,visible:E.value,onCancel:Y,onClear:N,onSubmit:pe,onSearchEmpty:J,locales:y},null)])}const ee=D=>{var R,A;if(!((R=D.target)!=null&&R.closest(".search-fields-list")||(A=D.target)!=null&&A.closest(".field-search-panel"))&&u.value&&!u.value.contains(D.target)){const z=document.querySelector(".field-search-expanded-overlay");(!z||!z.contains(D.target))&&Z()}},ie=D=>{var A,z;const R=D.target;if((A=R==null?void 0:R.closest)!=null&&A.call(R,".field-search-expanded-overlay")){if(R.closest(".f-checkbox-group"))return;D.preventDefault();return}(z=R==null?void 0:R.closest)!=null&&z.call(R,".search-fields-panel, .search-fields-list")||(Z(),Y())};i.watch(g,D=>{D?(document.addEventListener("click",ee,!0),document.addEventListener("wheel",ie,{passive:!1}),document.addEventListener("scroll",ie)):(document.removeEventListener("click",ee,!0),document.removeEventListener("wheel",ie),document.removeEventListener("scroll",ie))}),i.watch(()=>e.disabled,D=>{D&&(Z(),P())}),i.watchEffect(()=>{var D,R;if(!g.value)if(!a.value||!a.value.length)x.value=0;else{const A=Array.from(((R=(D=u.value)==null?void 0:D.querySelectorAll)==null?void 0:R.call(D,"span.search-tag-item"))||[]);A&&A.length?x.value=A.map(z=>z.offsetTop).filter(z=>z>20).length:x.value=0}});let le=null,xe=0;const Q=()=>{u.value&&typeof ResizeObserver<"u"&&(le=new ResizeObserver(D=>{for(const R of D){const A=R.contentRect.width;xe!==A&&(xe=A,requestAnimationFrame(()=>{Y()}))}}),le.observe(u.value),u.value&&(xe=u.value.clientWidth))};i.onMounted(()=>{e.defaultValue&&Object.keys(e.defaultValue).length&&(Object.keys(e.defaultValue).forEach(D=>{var R;D==="*"?a.value.push({filterField:D,value:e.defaultValue[D].value,compare:e.defaultValue[D].compare,lbracket:"",rbracket:"",relation:he.Or}):(R=t.value)==null||R.forEach(A=>{e.defaultValue[A.field]&&(A.value=e.defaultValue[A.field],a.value.push({filterField:A.field,value:"",compare:ne.Equal,lbracket:"",rbracket:"",relation:he.And}))})}),i.nextTick(()=>{V()})),Q()}),i.onUnmounted(()=>{le==null||le.disconnect(),le=null});const H=i.computed(()=>{const D={"f-cmp-inputgroup d-flex f-field-search-box":!0,"d-none":g.value};return O.getCustomClass(D,e.customClass)}),ae=i.computed(()=>{const D=e.disabled||!t.value.length?{"pointer-events":"none",opacity:.7}:{};return O.getCustomStyle(D,e.customStyle)}),fe=i.computed(()=>t.value.length?y.searchPlaceHolder:y.nofields);return()=>e.visible?i.createVNode(i.Fragment,null,[i.createVNode("div",{class:H.value,ref:u,style:ae.value},[i.createVNode("div",{class:"input-group f-cmp-inputgroup",style:"overflow: hidden;"},[i.createVNode("div",{class:"form-control f-cmp-inputgroup--multi-wrapper multi-more"},[i.createVNode("div",{class:"multi--content d-flex flex-row",style:"width: 100%;flex-wrap: wrap;align-items: center;cursor: text;",onClick:re},[U(),i.createVNode("span",{class:"search-input-box"},[i.createVNode("input",{type:"text",placeholder:fe.value,class:" text-left form-control f-utils-fill"},null)])])]),x.value>0&&i.createVNode("div",{class:"d-flex flex-row",style:"cursor: pointer;align-items: center;color: #2A87FF;font-weight: 600;"},[i.createVNode("span",{class:"multi--more-text"},[i.createTextVNode("+"),x.value])]),i.createVNode("div",{class:"input-group-append",onClick:F,style:L.value},[i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])]),i.createVNode("span",{class:"f-icon f-icon-remove clear-search-fields",onClick:()=>M(),style:L.value,title:y.clearAll},null)]),g.value&&K()]):null}});class di{constructor(n){te(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);te(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});te(this,"getExpressionConverter",(n,t)=>({convertFrom:(a,o,l,r)=>{const p=l.getExpressionRuleValue(n,t||o);return p&&p.value||""},convertTo:(a,o,l,r,p)=>{var d;if(o==="dataPicking"&&(l!=null&&l.target)){const c=`${l.target}_dataPicking`;((d=l.rules)==null?void 0:d.some(s=>s.id===c&&s.value))?a.dictPickingExpressionId=c:delete a.dictPickingExpressionId}r.updateExpression(l)}}));this.formSchemaService=n}getExpressionRule(n,t){const a=this.getExpressionData();if(!a)return"";const o=a.find(r=>r.target===n);if(!o)return"";const l=o.rules.find(r=>r.type===t);return l||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),a=this.formSchemaService.getViewModelById(t);if(!a||!a.states||a.states.length===0)return[];const o=[];return a.states.filter(l=>l.category==="remote").forEach(l=>{o.push({key:l.code,name:l.name,description:l.name,category:l.category})}),o}createTreeNode(n,t,a="label"){return{id:n.id,name:n.name,bindingPath:n[a],parents:t,type:"field"}}buildEntityFieldsTreeData(n=null,t){const a=[];return n==null||n.forEach(o=>{var p;const l=this.createTreeNode(o,t);let r=[];(p=o.type)!=null&&p.fields&&(r=this.buildEntityFieldsTreeData(o.type.fields,[...t,o.label])),a.push({data:l,children:r,expanded:!0})}),a}buildChildEntityTreeData(n=null,t){const a=[];return n==null||n.forEach(o=>{var d,c;const l=this.createTreeNode(o,t);l.type="entity";const r=this.buildEntityFieldsTreeData((d=o.type)==null?void 0:d.fields,[...t,o.label]),p=this.buildChildEntityTreeData((c=o.type)==null?void 0:c.entities,[...t,o.label]);p!=null&&p.length&&(r==null||r.push(...p)),a.push({data:l,children:r||[],expanded:!0})}),a}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const t=n[0];if(!(t!=null&&t.type))return[];const a=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),o=this.buildChildEntityTreeData(t.type.entities,[t.code]);return o!=null&&o.length&&(a==null||a.push(...o)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:a||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,t,a){const o=a==="Field"?n.binding.field:n.id,l=this.getExpressionRule(o,t),r=this.getEntitiesAndVariables(),p={message:["validate","required","dataPicking"].includes(t)&&l?l.message:"",...r};return l.messageType!=null&&(p.messageType=l.messageType),p}buildRule(n,t,a,o){const{expression:l,message:r,messageType:p}=t,d={id:`${n}_${a}`,type:a,value:l};return(a==="validate"||a==="dataPicking"||a==="required")&&(d.message=r),a==="dataPicking"&&(d.messageType=p),a==="validate"&&o&&(d.elementId=o),d}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,t,a,o){const l=t==="Field"?n.binding.field:n.id,r=this.buildRule(l,a,o,n.type==="form-group"?n.id:"");let d=this.getExpressionData().find(u=>u.targetType===t&&u.target===l);const c=u=>u.value.trim()==="";if(d){const u=d.rules.find(s=>s.id===r.id);if(u)c(r)?d.rules=d.rules.filter(s=>s.id!==r.id):(Object.assign(u,r),o==="validate"&&n.type==="form-group"&&(u.elementId=n.id));else{if(c(r))return null;d.rules=d.rules||[],d.rules.push(r)}}else{if(c(r))return null;d={target:`${l}`,rules:[r],targetType:t}}return d}getExpressionEditorOptions(n,t,a,o){return a.reduce((l,r)=>{var d,c;const p=t==="Field"?(d=n==null?void 0:n.binding)==null?void 0:d.field:n.id;return l[r]={hide:t==="Field"?!!((c=n==null?void 0:n.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(p),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(n,r,t),onSubmitModal:u=>{const s=this.updateExpression(n,t,u,r);if(o){const g=this.buildRule(p,u,r);o(g)}return s}}},l},{})}getExpressionInfo(n,t,a){const o=t==="Field"?n.binding.field:n.id,l=this.getExpressionRule(o,a),r={value:l&&l.value,targetId:o,targetType:t,expressionType:a};return l&&l.message&&(r.message=l.message),r}getExpressionConfig(n,t,a=["compute","dependency","validate"],o){var l;return{description:"表达式",title:"表达式",hide:!(n.binding&&((l=n.binding)==null?void 0:l.type)==="Form"),properties:{...this.getExpressionEditorOptions(n,t,a,o)}}}getExpressionOptions(n,t,a){const o=this.getExpressionInfo(n,t,a);return{dialogTitle:`${this.expressionNames[a]||"表达式"}编辑器`,singleExpand:!1,showMessage:a==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,a,t),expressionInfo:o}}}function ui(e){const{formSchemaUtils:n,formStateMachineUtils:t}=e;function a(d,c=""){return{path:c+d.code,field:d.id,fullPath:d.code}}function o(d,c=""){const u=n.getViewModelById(d);return u?u.states.map(s=>a(s,c)):[]}function l(d){const c=n.getRootViewModelId(),u=o(d);if(d===c)return u;const s=o(c,"root-component.");return[...u,...s]}function r(d){return d.binding&&d.binding.path||d.id||""}function p(){return t&&t.getRenderStates()||[]}return{getVariables:l,getControlName:r,getStateMachines:p}}function wn(e,n,t,a){const{getVariables:o,getControlName:l,getStateMachines:r}=ui(e);return(p,d=[],c={},u={},s)=>{const g=d&&d.length>0?d:["Const","Variable","StateMachine","Expression"],S={type:"property-editor",propertyTypes:g};return g.forEach(h=>{switch(h){case"Const":Object.assign(S,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},c);break;case"Expression":break;case"StateMachine":S.stateMachines=r();break;case"Variable":Object.assign(S,{controlName:l(p),newVariablePrefix:"is",newVariableType:"Boolean",variables:o(n),parentComponentId:t==="root-component"?"":"root-component",onBeforeOpenVariables:y=>{y.value=o(n)}},u),(a==null?void 0:a.designerMode)==="PC_RTC"&&(S.newVariablePrefix="ext_"+S.newVariablePrefix);break}}),S}}class Vn{constructor(n,t){te(this,"componentId");te(this,"viewModelId");te(this,"eventsEditorUtils");te(this,"formSchemaUtils");te(this,"formMetadataConverter");te(this,"designViewModelUtils");te(this,"designViewModelField");te(this,"controlCreatorUtils");te(this,"designerHostService");te(this,"designerContext");te(this,"modalService",null);te(this,"formRule",null);te(this,"schemaService",null);te(this,"metadataService",null);te(this,"propertyConfig",{type:"object",categories:{}});te(this,"expressionProperty");var a;this.componentId=n,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext,this.modalService=t.modalService,this.expressionProperty=new di(this.formSchemaUtils)}inResponsiveForm(){var n;return!!((n=this.designerContext)!=null&&n.responsiveForm)}getFormDesignerInstance(){var n,t;return(t=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var a;const t=n.binding&&n.binding.type==="Form"&&n.binding.field;if(t){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(l=>l.id===t)}n.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:n.type,name:B.DgControl[n.type]&&B.DgControl[n.type].name}]}}}}}getAppearanceConfig(n=null,t={},a){const o={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in t)l[r]=Object.assign(l[r]||{},t[r]);return{...o,properties:{...l},setPropertyRelates(r,p){if(r){switch(r&&r.propertyID){case"class":case"style":{B.canvasChanged.value++;break}}a&&a(r,n,p)}}}}getPropertyEditorParams(n,t=[],a="visible",o={},l={},r=""){const d=wn(this.designerHostService,this.viewModelId,this.componentId,this.designerContext)(n,t,o,l,r||a);if((d.propertyTypes||[]).indexOf("Expression")>-1){const u=this.getRealTargetType(n);d.expressionConfig=this.getExpressionOptions(n,u,r||a)}return d}getVisibleProperty(n,t=""){var l;let a=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?a=["Const","Expression"]:t==="form-group"&&!((l=n.binding)!=null&&l.field)?a=["Const","Variable","StateMachine","Custom"]:t==="dataGrid"||t==="treeGrid"||t==="wizard"?a=["Const","Variable","Expression"]:(n.type.indexOf("toolbar-item")>-1||t==="form-group")&&(a=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,a,"visible")}}}getBehaviorConfig(n,t="",a={},o){const l={title:"行为",description:""},r=this.getVisibleProperty(n,t);for(const d in a)r[d]=Object.assign(r[d]||{},a[d]);const p=this;return{...l,properties:{...r},setPropertyRelates(d,c){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":p.afterMutilEditorChanged(n,d);break}o&&o(d,c)}}}}afterMutilEditorChanged(n,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t,n),this.clearExpression(t,n)}updateElementByParentContainer(n,t){const a=t&&t.parent&&t.parent.schema;if(!a)return;const o=a.contents.findIndex(r=>r.id===n),l=ce.cloneDeep(a.contents[o]);a.contents.splice(o,1),a.contents.splice(o,0,l),B.refreshCanvas()}addNewVariableToViewModel(n,t){const a=n.propertyValue;if(!(a&&typeof a=="object")||!(a.type==="Variable"&&a.isNewVariable))return;const r={id:a.field,category:"locale",code:a.fullPath,name:a.fullPath,type:a.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete a.newVariableType,delete a.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}getExpressions(){let n=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],n=this.formRule.expressions||[]):n=this.formSchemaUtils.getExpressions(),n}updateExpressionValue(n,t){const a=n.propertyValue;if(!((a&&a.type)==="Expression"&&a.expressionInfo))return;const{expressionId:r,expressionInfo:p}=a,{targetId:d,targetType:c,expressionType:u,value:s,message:g}=p,S=this.getExpressions();let h=S.find(m=>m.target===d);h||(h={target:d,rules:[],targetType:c},S.push(h));const y=h.rules.find(m=>m.type===u);if(y)y.id=r,y.value=s,y.message=g,(u==="minDate"||u==="maxDate"||u==="defaultTime")&&(y.elementId=t.id);else{const m={id:r,type:u,value:s,message:g,elementId:t.id};h.rules.push(m)}delete a.expressionInfo}clearExpression(n,t){const a=n.propertyValue;if(a&&a.type==="Expression")return;const l=n.propertyID,r=this.getExpressions(),p=t.binding?t.binding.field:t.id,d=r.find(c=>c.target===p);!d||!d.rules||(d.rules=d.rules.filter(c=>c.type!==l))}getExpressionOptions(n,t,a){return this.expressionProperty.getExpressionOptions(n,t,a)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:a=>{var o;((o=a.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(a)}}},t}}const Ue=class Ue{static getEditorTypesByMDataType(n,t=!1,a=""){if(t)return[{key:B.DgControl["language-textbox"].type,value:B.DgControl["language-textbox"].name}];let o=Ue.fieldControlTypeMapping[n];if(a==="data-grid-column"&&(o!=null&&o.length)){const l=[B.DgControl["check-group"].type,B.DgControl["radio-group"].type,B.DgControl.image.type,B.DgControl["rich-text-editor"].type,B.DgControl.avatar.type];o=o.filter(r=>!l.includes(r.key))}if(a==="tree-grid-column"&&(o!=null&&o.length)){const l=[B.DgControl["check-group"].type,B.DgControl["radio-group"].type,B.DgControl.image.type,B.DgControl["rich-text-editor"].type,B.DgControl.avatar.type,B.DgControl.switch.type];o=o.filter(r=>!l.includes(r.key))}return o}static getAllInputTypes(){const n=[];for(const t in Ue.fieldControlTypeMapping)Ue.fieldControlTypeMapping[t].forEach(a=>{n.find(o=>o.key===a.key&&o.value===a.value)||n.push({key:a.key,value:a.value})});return n}static mappingDomPropAndSchemaProp(n,t){var l;const a=(l=n.editor)==null?void 0:l.type,o=[];return(n.type===B.DgControl["data-grid-column"].type||n.type===B.DgControl["tree-grid-column"].type)&&t&&t.categoryId&&t.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(a===B.DgControl["input-group"].type||a===B.DgControl.textarea.type||a===B.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),a===B.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(n.type===B.DgControl["data-grid-column"].type||n.type===B.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(a===B.DgControl["combo-list"].type||a===B.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(n.type===B.DgControl["data-grid-column"].type||n.type===B.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),a===B.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),a===B.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),a===B.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(n.type===B.DgControl["data-grid-column"].type||n.type===B.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}static getEditorTypeByVariableType(n){switch(n){case"String":return B.DgControl["input-group"].type;case"Number":return B.DgControl["number-spinner"].type;case"Boolean":return B.DgControl["check-box"].type;case"Date":case"DateTime":return B.DgControl["date-picker"].type;case"Text":return B.DgControl.textarea.type}}};te(Ue,"fieldControlTypeMapping",{String:[{key:B.DgControl["input-group"].type,value:B.DgControl["input-group"].name},{key:B.DgControl.lookup.type,value:B.DgControl.lookup.name},{key:B.DgControl.image.type,value:B.DgControl.image.name},{key:B.DgControl["date-picker"].type,value:B.DgControl["date-picker"].name},{key:B.DgControl.switch.type,value:B.DgControl.switch.name},{key:B.DgControl["check-box"].type,value:B.DgControl["check-box"].name},{key:B.DgControl["check-group"].type,value:B.DgControl["check-group"].name},{key:B.DgControl["radio-group"].type,value:B.DgControl["radio-group"].name},{key:B.DgControl["combo-list"].type,value:B.DgControl["combo-list"].name},{key:B.DgControl.textarea.type,value:B.DgControl.textarea.name},{key:B.DgControl["time-picker"].type,value:B.DgControl["time-picker"].name},{key:B.DgControl["rich-text-editor"].type,value:B.DgControl["rich-text-editor"].name}],Text:[{key:B.DgControl.textarea.type,value:B.DgControl.textarea.name},{key:B.DgControl.lookup.type,value:B.DgControl.lookup.name},{key:B.DgControl.image.type,value:B.DgControl.image.name},{key:B.DgControl.avatar.type,value:B.DgControl.avatar.name},{key:B.DgControl["rich-text-editor"].type,value:B.DgControl["rich-text-editor"].name}],Decimal:[{key:B.DgControl["number-spinner"].type,value:B.DgControl["number-spinner"].name}],Integer:[{key:B.DgControl["number-spinner"].type,value:B.DgControl["number-spinner"].name}],Number:[{key:B.DgControl["number-spinner"].type,value:B.DgControl["number-spinner"].name},{key:B.DgControl.switch.type,value:B.DgControl.switch.name},{key:B.DgControl["check-box"].type,value:B.DgControl["check-box"].name}],BigNumber:[{key:B.DgControl["number-spinner"].type,value:B.DgControl["number-spinner"].name}],Date:[{key:B.DgControl["date-picker"].type,value:B.DgControl["date-picker"].name}],DateTime:[{key:B.DgControl["date-picker"].type,value:B.DgControl["date-picker"].name}],Boolean:[{key:B.DgControl.switch.type,value:B.DgControl.switch.name},{key:B.DgControl["check-box"].type,value:B.DgControl["check-box"].name}],Enum:[{key:B.DgControl["combo-list"].type,value:B.DgControl["combo-list"].name},{key:B.DgControl["radio-group"].type,value:B.DgControl["radio-group"].name}],Object:[{key:B.DgControl.lookup.type,value:B.DgControl.lookup.name},{key:B.DgControl["combo-list"].type,value:B.DgControl["combo-list"].name}]});let pt=Ue;var Ze=(e=>(e.Form="Form",e.Variable="Variable",e))(Ze||{});class Pn{constructor(){te(this,"label","");te(this,"id","");te(this,"columnInSM",12);te(this,"columnInMD",6);te(this,"columnInLG",3);te(this,"columnInEL",2);te(this,"displayWidthInSM",1);te(this,"displayWidthInMD",1);te(this,"displayWidthInLG",1);te(this,"displayWidthInEL",1);te(this,"displayColumnCountAtBreakPoint","md");te(this,"tagRow",0);te(this,"showTopBorder",0);te(this,"group",1);te(this,"isSupportedClass",!0);te(this,"fieldSetId","")}}function fi(e){let n,t;const a=new Map;let o=[];function l(u,s){const S=(u||"").split(" ").filter(b=>b.startsWith("col-"));if(S.length===0){s.isSupportedClass=!1;return}let h=S.find(b=>/^col-([1-9]|10|11|12)$/.test(b)),y=S.find(b=>/^col-md-([1-9]|10|11|12)$/.test(b)),m=S.find(b=>/^col-xl-([1-9]|10|11|12)$/.test(b)),f=S.find(b=>/^col-el-([1-9]|10|11|12)$/.test(b));h=h||"col-12",s.columnInSM=parseInt(h.replace("col-",""),10),s.displayWidthInSM=s.columnInSM/12,s.displayWidthInSM!==1&&(s.isSupportedClass=!1),y=y||"col-md-"+s.columnInSM,s.columnInMD=parseInt(y.replace("col-md-",""),10),s.displayWidthInMD=s.columnInMD/6,[1,2].includes(s.displayWidthInMD)||(s.isSupportedClass=!1),m=m||"col-xl-"+s.columnInMD,s.columnInLG=parseInt(m.replace("col-xl-",""),10),s.displayWidthInLG=s.columnInLG/3,[1,2,3,4].includes(s.displayWidthInLG)||(s.isSupportedClass=!1),f=f||"col-el-"+s.columnInLG,s.columnInEL=parseInt(f.replace("col-el-",""),10),s.displayWidthInEL=s.columnInEL/2,[1,2,3,4,5,6].includes(s.displayWidthInEL)||(s.isSupportedClass=!1)}function r(u,s,g,S=!1){let h=!1;if(!u.contents||u.contents.length===0){const y=new Pn;l(u.layout,y),s.push(y);return}u.contents.forEach(y=>{if(y.type==="fieldset"){g+=1,r(y,s,g,!0),h=!0;return}if(y.type==="dynamic-form")return;h&&(g+=1,h=!1);const m=y.appearance&&y.appearance.class,f=new Pn;m?l(m,f):f.isSupportedClass=!1,f.label=y.label||y.id,f.id=y.id,f.group=g,S&&(f.fieldSetId=u.id),t===y.id&&(n=g),a.set(y.id,y),s.push(f)})}function p(u){const s=e.getComponentById(u);if(!s||!s.componentType||!s.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const g=e.selectNode(s,S=>S.type===B.DgControl["response-form"].type);return!g||!g.contents||g.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:g}}function d(u,s){s=s||u.id;const{result:g,message:S,formNode:h}=p(s);if(!g)return{result:g,message:S};t=u.id,o=[],a.clear();const y=h.contents[0].type===B.DgControl.fieldset.type?0:1;r(h,o,y);const m=o.find(b=>!b.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:m?"customize":"standard"},importData:o}}function c(u,s){s=s;const{result:g,formNode:S}=p(s);if(!g)return"";const h=[];return u.forEach(y=>{var b;const m=a.get(y.id),f=m.appearance&&m.appearance.class;if(f){const C=f.split(" ").filter(I=>!I.startsWith("col-")),T="col-"+y.columnInSM,F="col-md-"+y.columnInMD,x="col-xl-"+y.columnInLG,w="col-el-"+y.columnInEL,k=[T,F,x,w].concat(C);m.appearance.class=k.join(" ")}if(y.fieldSetId){const v=S.contents.find(T=>T.id===y.fieldSetId),C=h.find(T=>T.id===y.fieldSetId);C?(b=C.contents)==null||b.push(m):(h.push(v),v.contents=[m])}else h.push(m)}),S.contents=h,S.id}return{checkCanFindFormNode:p,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:c,getResonseFormLayoutConfig:r}}const pi=e=>i.createVNode(i.Fragment,null,[i.createVNode("h5",null,[i.createTextVNode("代码示例")]),i.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[i.createVNode("code",null,[`
56
56
  <h3>Tips:</h3>
57
57
  <span style="color: blue;">
58
58
  自定义提示内容
59
59
  </span>
60
- `])])]);class pi extends wn{constructor(t,a){super(t,a);K(this,"responseLayoutEditorFunction");K(this,"bindingVarible");K(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);K(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});K(this,"showCustomValue",t=>{var o;const a=this.designViewModelField!=null&&((o=this.designViewModelField)==null?void 0:o.type.name)!=="Boolean";return this.formRule?t.dataType!=="boolean":a});this.responseLayoutEditorFunction=ui(this.formSchemaUtils)}getCommonPropertyConfig(t,a,o="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(t,a,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,a),this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"form-group"),o==="Card"){const l=this.getTipsConfig(t);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...l},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(t.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(t,o))}}getPropertyConfig(t,a){return this.getCommonPropertyConfig(t,a,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressions=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(t),this.propertyConfig}getGridFieldEdtiorPropConfig(t,a){return this.propertyConfig.categories={},this.getCommonPropertyConfig(t,a,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(t):this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressons=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories}getBasicProperties(t,a,o="Card"){var s;const l=this;this.setDesignViewModelField(t);const{canChangeControlType:r,editorTypeList:p}=this.getAvailableEditorType(t),d=this.getPropertyEditorParams(t,["Variable"],"label",{},{newVariablePrefix:"",newVariableType:"String"});let c=p;this.formRule&&(c=p.filter(g=>g.key!=="image"&&g.key!=="rich-text-editor"&&g.key!=="avatar"));const u={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:c,readonly:!r}},titleSourceType:{description:"标签来源类型",title:"标签类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"name",valueField:"id",idField:"id",editable:!1,data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},defaultValue:"static"},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter",visible:!t.titleSourceType||t.titleSourceType==="static"},titleDataSource:{description:"标签",title:"标签",type:"string",editor:d,visible:t.titleSourceType==="dynamic"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((s=t.editor)==null?void 0:s.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},title:"绑定编辑器",editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!t.isRtcControl}},setPropertyRelates(g,S,m){if(g)switch(g&&g.propertyID){case"type":{l.changeControlType(t,g,a);break}case"label":{g.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(t,g,m);break}case"titleDataSource":{l.afterMutilEditorChanged(t,g);break}}}};return o.toLocaleLowerCase()!=="card"&&(u.hide=!0,delete u.properties.showLabelType),u}getExpandProperties(t,a="Card"){const o=this,l=["Const","Variable"],r=this.getPropertyEditorParams(t,l,"expandable"),p=this.getPropertyEditorParams(t,l,"expandDisabled");return a==="Card"?{description:"Expand Information",hide:!!this.formRule,title:"扩展区域",properties:{expandable:{description:"扩展区域是指输入框右侧的区域,常用于展示自定义按钮或者文本,以便于丰富输入控件的展示内容。",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:r},expandMode:{description:"静态文本:扩展内容不可点击;交互式按钮:扩展内容可以点击并配置交互事件。",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!t.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展区域内展示的文本内容",title:"扩展内容",type:"string",visible:!!t.editor.expandable,editor:{type:"code-editor",language:"html"}},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否动态隐藏扩展区域,常用于根据变量或自定义条件配置扩展区域的隐藏状态。",title:"隐藏扩展区域",editor:p,visible:!!t.editor.expandable}},setPropertyRelates(c,u){if(c)switch(c.propertyID){case"expandable":case"expandDisabled":o.afterMutilEditorChanged(t,c);break}}}:{properties:{}}}checkCanChangeControlType(t,a){if(!t.binding)return!1;if(t.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(t.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==A.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(t){var l,r,p;const a=this.checkCanChangeControlType(t,this.viewModelId);if(!a)return{canChangeControlType:!1,editorTypeList:[{key:(l=t.editor)==null?void 0:l.type,value:((r=O.DgControl[t.editor.type])==null?void 0:r.name)||t.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===A.FormSchemaEntityField$Type.SimpleField?o=ft.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=ft.getEditorTypesByMDataType(this.bindingVarible.type,!!((p=this.designViewModelField)!=null&&p.multiLanguage))),{canChangeControlType:a,editorTypeList:o}}changeBindingField(t,a,o){a.needRefreshEntityTree=!0}getAppearanceProperties(t,a){const o=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance",defaultValue:!1},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!o.formRule,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,o.componentId)}}},setPropertyRelates(l,r){if(l)switch(l&&l.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,o.componentId||t.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(t.id,a),delete t.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(l.propertyValue,t.id,this.componentId),O.canvasChanged.value++;break;case"style":{O.canvasChanged.value++;break}}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,a,o){var m;const l=a.propertyValue,r=o&&o.parent&&o.parent.schema;if(!r)return;const p=r.contents.findIndex(y=>y.id===t.id);if(p===-1)return;const d=r.contents[p];let c;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(v=>v.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}c||(c=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(c,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(c,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(y=>{Object.prototype.hasOwnProperty.call(d.editor,y)&&(c.editor[y]=d.editor[y])});const u=["image","avatar"],s=d.editor.type&&u.indexOf(d.editor.type)>-1,g=((m=c.editor)==null?void 0:m.type)&&u.indexOf(c.editor.type)>-1;s&&d.showLabelType==="none"&&!g&&(c.showLabelType="visible"),o!=null&&o.updateContextSchema?o.updateContextSchema(c):(o.schema=Object.assign(d,c),Object.assign(t,c)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(y=>y.classList.remove("dgComponentFocused")),["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(t.editor.type)||(t.enableTips=!1),O.canvasChanged.value++,i.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(t){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(t.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1,visible:!this.formRule},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:fi},visible:!!t.enableTips&&!this.formRule}}:{}}getComponentConfig(t,a={},o={},l){var g,S,m;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},a),p=(g=t.binding)!=null&&g.field?["Const","Variable","StateMachine","Custom","Expression"]:["Const","Variable","StateMachine","Custom"],d=this.getPropertyEditorParams(t,p,"readonly"),c=this.getPropertyEditorParams(t,p,"required"),u={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:c,visible:!!((S=t.binding)!=null&&S.field)&&((m=t.binding)==null?void 0:m.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const y in o)u[y]=Object.assign(u[y]||{},o[y]);const s=this;return{...r,properties:{...u},setPropertyRelates(y,h){if(y){switch(y.propertyID){case"readonly":case"required":case"label":s.afterMutilEditorChanged(t,y);break}l&&l.bind(s)(y,t,h)}}}}updateUnifiedLayoutAfterControlChanged(t,a,o){const l=t.split(" ");let r=l.find(s=>/^col-([1-9]|10|11|12)$/.test(s)),p=l.find(s=>/^col-md-([1-9]|10|11|12)$/.test(s)),d=l.find(s=>/^col-xl-([1-9]|10|11|12)$/.test(s)),c=l.find(s=>/^col-el-([1-9]|10|11|12)$/.test(s));r=r||"col-12",p=p||"col-md-"+r.replace("col-",""),d=d||"col-xl-"+p.replace("col-md-",""),c=c||"col-el-"+d.replace("col-xl-","");const u={id:a,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,u)}updateUnifiedLayoutAfterResponseLayoutChanged(t,a){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!o||!o.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,l,1),a){const m=l.find(y=>y.id===a.id);Object.assign(m||{},a)}const r=l.map(m=>m.columnInSM),p=l.map(m=>m.columnInMD),d=l.map(m=>m.columnInLG),c=l.map(m=>m.columnInEL),u=this.checkIsUniqueColumn(r)?r[0]:null,s=this.checkIsUniqueColumn(p)?p[0]:null,g=this.checkIsUniqueColumn(d)?d[0]:null,S=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:s,uniqueColClassInLG:g,uniqueColClassInEL:S})}checkIsUniqueColumn(t){const a=new Set(t);return Array.from(a).length===1}getItemCollectionEditor(t,a,o){return a=a||"value",o=o||"name",{editor:{columns:[{field:a,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:a,nameField:o,requiredFields:[a,o],uniqueFields:[a,o],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===A.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(t,a){t.binding&&t.binding.type===Ze.Form&&t.binding.field?(a.find(o=>o.label==="fieldValueChanging"),a.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(t.fieldValueChanging=this.designViewModelField.valueChanging,t.fieldValueChanged=this.designViewModelField.valueChanged)):a=a.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(t){if(!t.binding)return t.type;switch(t.binding.type){case Ze.Form:return t.binding.path||t.type;case Ze.Variable:return t.binding.fullPath||t.type}return t.type}updateLinkedLabel(t,a){if(t.boundEventsList&&t.boundEventsList.length>0){const o=t.boundEventsList.find(l=>l.boundEvents&&l.boundEvents.label==="onClickLabel");a.linkLabel=!!o}else a.linkLabel=!1}getInputCommonEvents(t){return!t.binding||t.binding.type===Ze.Variable?[{label:"onClickLabel",name:"标签点击事件"}]:this.formRule?[{label:"onClickLabel",name:"标签点击事件"}]:[...this.formGroupEvents]}getEventPropertyConfig(t,a="card",o,l){const r=this;let p=this.getInputCommonEvents(t);if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(t.editor.type)&&p.push({label:"onClear",name:"清空事件"}),o&&(p=p.concat(o)),p.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(t,p);const c=r.eventsEditorUtils.formProperties(t,r.viewModelId,p);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(c),tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(g,S){const m=g.propertyValue;delete t[r.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,m.controlInfo={type:r.getControlMethodType(t),name:t.title},r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,m.events,m),r.updateLinkedLabel(m,t)),l&&l(g,t,m);const y=r.designViewModelUtils.getDgViewModel(r.viewModelId);y&&r.designViewModelField&&y.changeField(r.designViewModelField.id,{valueChanging:t.fieldValueChanging||"",valueChanged:t.fieldValueChanged||""})}}}getExpressionConfig(t,a,o=["compute","dependency","validate"],l){return this.expressionProperty.getExpressionConfig(t,a,o,l)}getBindingDataType(t){return this.formRule?(t==null?void 0:t.dataType)||"string":this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(t){return this.getBindingDataType(t)==="number"?this.numberEditorOptions:{}}updatePropertyValue(t,a,o){var l;t.editor[a]!==o?t.editor[a]=o:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(t,a,o){let l=o;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(a==="trueValue"?"true":"false"));const p=a==="trueValue"?"falseValue":"trueValue";t.editor[p]===l&&(l=l+1),this.updatePropertyValue(t,a,l)}getBooleanValueConverter(){return{convertFrom:(t,a)=>t.editor[a],convertTo:(t,a,o)=>{this.setBooleanValue(t,a,o)}}}}class mi extends pi{getPropertyConfig(n,t){return this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.appearance=this.getAppearanceConfig(n,{}),this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"",{disabled:{title:"禁用",type:"boolean",description:"字段搜索框禁用状态",refreshPanelAfterChanged:!0,editor:this.getPropertyEditorParams(n,["Const","Variable","StateMachine"],"disabled")}}),this.getFieldSearchBoxConfig(n),this.getEventPropConfig(n),this.propertyConfig}getFieldSearchBoxConfig(n){const t=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),a=this;this.propertyConfig.categories.control={description:"智能搜索框配置",title:"编辑器",properties:{fields:{description:"可搜索的字段列表",title:"搜索字段",type:"array",refreshPanelAfterChanged:!0,editor:{type:"field-search-box-config",title:"智能搜索框字段配置",fieldsConfig:t,formSchemaUtils:this.formSchemaUtils,metadataService:this.metadataService,viewModelId:this.viewModelId,designViewModelUtils:this.designViewModelUtils,eventsEditorUtils:this.eventsEditorUtils,schemaService:this.schemaService,belongInstance:a}},defaultValue:{description:"默认搜索条件",title:"默认值绑定",type:"object",editor:this.getPropertyEditorParams(n,["Variable"],"",{},{newVariableType:"Object"}),visible:!1}}}}getEventPropConfig(n){const t=[{label:"filter-change",name:"搜索条件变化事件"}],a=this,o=a.eventsEditorUtils.formProperties(n,a.viewModelId,t),l=a.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(r,p){const d=r.propertyValue;delete n[a.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,d.events,d))}}}}function hi(e,n){function t(a,o){const l=e.schema;return new mi(a,n).getPropertyConfig(l,o)}return{getPropsConfig:t}}const gi=i.defineComponent({name:"FieldSearchBoxDesign",props:dt,emits:[],setup(e,n){const t=i.ref(),a=i.inject("design-item-context"),o=i.inject("designer-host-service"),l=hi(a,o),r=O.useDesignerComponent(t,a,l),p=xn();return i.computed(()=>Array.isArray(e.fields)?e.fields.length:0),i.onMounted(()=>{t.value.componentInstance=r}),n.expose(r.value),()=>i.createVNode("div",{class:"f-field-search-box-design",ref:t,style:"pointer-events: none;"},[i.createVNode("div",{class:"f-cmp-inputgroup d-flex f-field-search-box"},[i.createVNode("div",{class:"input-group f-cmp-inputgroup",style:"overflow: hidden;"},[i.createVNode("div",{class:"form-control f-cmp-inputgroup--multi-wrapper multi-more"},[i.createVNode("div",{class:"multi--content d-flex flex-row",style:"width: 100%;flex-wrap: wrap;align-items: center;cursor: text;"},[i.createVNode("span",{class:"search-input-box"},[i.createVNode("input",{type:"text",placeholder:p.searchPlaceHolder,class:"text-left form-control f-utils-fill"},null)])])]),i.createVNode("div",{class:"input-group-append"},[i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])]),i.createVNode("span",{class:"f-icon f-icon-remove clear-search-fields",style:"opacity: 0.3;pointer-events: none;",title:p.clearAll},null)])])}}),Pn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-search-box-config.schema.json",title:"field-search-box-config",description:"A Farris FieldSearchBox Fields Config Editor",properties:{id:{description:"The unique identifier",type:"string"},type:{description:"The type string of field-search-box-config",type:"string",default:"field-search-box-config"},fieldsConfig:{description:"所有可选字段(树结构)",type:"array"},modelValue:{description:"已选搜索字段 Array<SearchField>",type:"array"},designViewModelUtils:{description:"",type:"object"},formSchemaUtils:{description:"",type:"object"},metadataService:{description:"",type:"object"},viewModelId:{description:"",type:"string"},eventsEditorUtils:{description:"",type:"object"},schemaService:{description:"",type:"object"},title:{description:"",type:"string"},belongInstance:{description:"",type:"object"}},required:[]},In=new Map([["appearance",we.resolveAppearance]]);function kn(e,n,t){return n}const Dt={fieldsConfig:{type:Array,default:[]},modelValue:{type:Array,default:[]},title:{type:String,default:"字段搜索框字段配置"},formSchemaUtils:{type:Object,default:{}},metadataService:{type:Object,default:{}},designViewModelUtils:{type:Object,default:{}},eventsEditorUtils:{type:Object,default:{}},schemaService:{type:Object,default:{}},viewModelId:{type:String,default:""},belongInstance:{type:Object,default:null}};we.createPropsResolver(Dt,Pn,In,kn);const yi=we.getPropsResolverGenerator(Dt,Pn,In,kn),En=["data","textField","valueField","trueText","falseText","showTime","format","valueFormat","precision","thousand"],bi={String:"string",Text:"string",Number:"number",Integer:"number",Decimal:"number",BigNumber:"number",Date:"date",DateTime:"datetime",Enum:"enum",Boolean:"boolean"},vi={String:"字符串",Text:"多行文本",Number:"数值",Integer:"整数",Decimal:"小数",BigNumber:"大数",Date:"日期",DateTime:"日期时间",Enum:"枚举",Boolean:"布尔"};function Ci(e){return bi[e]||"string"}function Si(e){return vi[e||""]||e||"字符串"}function Ti(e,n=null){var t,a;switch(e){case"enum":return{data:((t=n==null?void 0:n.type)==null?void 0:t.enumValues)||[],textField:"name",valueField:"value"};case"boolean":return{trueText:"是",falseText:"否"};case"date":case"datetime":{const o=e==="datetime";return{showTime:o,format:o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd",valueFormat:o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"}}case"number":return{precision:(a=n==null?void 0:n.type)==null?void 0:a.precision,thousand:","};default:return null}}function xi(e){var l;const n=((l=e==null?void 0:e.type)==null?void 0:l.name)||"String",t=Ci(n),a=e.name||e.bindingPath||"";return{field:e.bindingPath||e.id,title:a,name:a,dataType:t,options:Ti(t,e),value:null,id:e.id,code:e.code,path:e.path||e.bindingPath,fieldTypeName:n,$type:e.$type,$typeInfo:e.type,isVmField:!0}}function Fi(e){const{field:n,title:t,dataType:a,options:o,value:l}=e,r=o?{...o}:{};return En.forEach(p=>{Object.prototype.hasOwnProperty.call(e,p)&&(r[p]=e[p])}),{field:n,title:t,dataType:a,options:Object.keys(r).length?r:null,value:l||null}}function Ln(e){const n=e.options||{};return En.forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}),e}function wi(e,n){if(!n)return e;const t=n.includes("yyyy"),a=n.includes("MM"),o=n.includes("dd"),l=n.includes("HH"),r=n.includes("mm"),p=n.includes("ss");return t||(e=e.filter(d=>!d.id.includes("yyyy"))),a||(e=e.filter(d=>!d.id.includes("MM"))),o||(e=e.filter(d=>!d.id.includes("dd"))),l||(e=e.filter(d=>!d.id.includes("HH"))),r||(e=e.filter(d=>!d.id.includes("mm"))),p||(e=e.filter(d=>!d.id.includes("ss"))),e}function Vi(e,n){const t=i.ref(0),a={save:s=>{},close:()=>{}};function o(s){Object.assign(a,s)}function l(s){return{description:"Basic Information",title:"基本信息",properties:{field:{description:"搜索字段标识",title:"字段标识",type:"string",readonly:!0},title:{description:"搜索字段显示名称",title:"显示名称",type:"string"},dataType:{description:"搜索字段数据类型",title:"数据类型",type:"string",readonly:!0}}}}function r(){return{description:"枚举字段配置",title:"枚举配置",properties:{data:{description:"枚举值列表",title:"枚举值",type:"array",editor:{columns:[{field:"value",title:"值",dataType:"string"},{field:"name",title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:"value",nameField:"name",requiredFields:["value","name"],uniqueFields:["value","name"]}},textField:{description:"枚举显示文本字段",title:"文本字段",type:"string"},valueField:{description:"枚举值字段",title:"值字段",type:"string"}}}}function p(){return{description:"布尔字段配置",title:"布尔配置",properties:{trueText:{description:"真值显示文本",title:"真值文本",type:"string"},falseText:{description:"假值显示文本",title:"假值文本",type:"string"}}}}function d(s){const g=s.showTime,S=(s.options||{}).showTime,m=g??S??s.dataType==="datetime",{timeFormats:y,yMFormats:h,yMdFormats:f,mdFormats:b,yFormats:v}=vt.DATE_FORMATS(),C=m?[...y,...f,...h,...v,...b]:[...f,...h,...v,...b],T=wi(C,s.valueFormat);return{description:"日期字段配置",title:"日期配置",properties:{showTime:{description:"是否显示时间",title:"显示时间",type:"boolean",visible:!1},format:{description:"显示格式",title:"显示格式",type:"enum",editor:{data:T}},valueFormat:{description:"存储格式",title:"存储格式",type:"enum",editor:{data:C},visible:!1}}}}function c(s){var S;const g=(S=s.$typeInfo)==null?void 0:S.precision;return{description:"数字字段配置",title:"数字配置",properties:{precision:{description:"精度",title:"精度",type:"number",editor:{type:"number-spinner",nullable:!1,precision:0,min:0,max:g,readonly:g===0}},thousand:{description:"千分位分隔符",title:"千分位",type:"string"}}}}function u(s){const g={basic:l()};return s.dataType==="enum"?g.enum=r():s.dataType==="boolean"?g.boolean=p():s.dataType==="date"||s.dataType==="datetime"?g.datetime=d(s):s.dataType==="number"&&(g.number=c(s)),{title:s.title||"字段配置",description:Si(s.fieldTypeName),type:"object",categories:g}}return{getPropertyConfig:u,refreshPanelFlag:t,updateDialogActions:o}}function Pi(e,n,t,a,o){const l=i.ref(),r=i.ref("field-search-box-config"),p=i.ref({}),d=i.ref(),c=i.ref(null),{getPropertyConfig:u,refreshPanelFlag:s,updateDialogActions:g}=Vi();i.watch(()=>{var h;return(h=t.value)==null?void 0:h.field},(h,f)=>{if(!h)c.value=null;else if(h!==f){const b=re.cloneDeep(a.get(h));b&&Ln(b),c.value=b||null}});function S(h=!0){var b;if(!c.value){(b=l.value)==null||b.updatePropertyConfig({},{},!0);return}const f=u(c.value);l.value.updatePropertyConfig(f,c.value,h)}i.watch(()=>{var h,f;return[(h=c.value)==null?void 0:h.field,(f=c.value)==null?void 0:f.dataType]},([h,f],[b,v])=>{var C;h?(h!==b||f!==v)&&S(!0):(C=l.value)==null||C.updatePropertyConfig({},{},!0)}),i.watch(()=>s.value,h=>{S(!1)});function m(h){const{propertyID:f,propertyValue:b}=h.changeObject||{};if(f&&c.value){const C=a.get(c.value.field);if(C){if(C[f]=b,f==="showTime"&&(C.dataType==="date"||C.dataType==="datetime")){const T=!!b;C.options||(C.options={}),C.options.showTime=T,C.format=T?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd",C.valueFormat=T?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"}a.set(c.value.field,C)}}["dataType","showTime","precision"].indexOf(f)>-1&&S(!1),f==="title"&&o&&o()}function y(){return i.createVNode(at.FPropertyPanel,{propertyConfig:d.value,ref:l,propertyName:r.value,enableSearch:!1,schema:p.value,onPropertyChanged:m},{default:()=>[i.createTextVNode(" ")]})}return{renderPanel:y,updateDialogActions:g}}function Ii(e,n,t,a){const o=i.ref(!1),l=i.ref([]),r=i.ref([]),p=i.ref([]),d=new Map,c={customRowStatus:v=>{const C=v.raw;v.disabled=C.$type!=="SimpleField"&&C.$type!==void 0}};function u(v){t.value=v.length?v[0]:null}function s(v){var T;l.value=v.map(F=>{const x=a.get(F.field);return x?re.cloneDeep(x):re.cloneDeep(F.data?F.data:F)}),l.value.forEach(F=>{F.id==null&&(F.id=F.field),a.set(F.field,re.cloneDeep(F))});const C=(T=t.value)==null?void 0:T.field;(!C||!l.value.find(F=>F.field===C))&&(t.value=null)}function g(v){return v.map(C=>{const T=xi(C.data);return d.set(T.field,T),{data:T,children:C.children&&C.children.length?g(C.children):[]}})}function S(){return g(e.fieldsConfig||[])}function m(){r.value=S(),l.value=[],(re.cloneDeep(e.modelValue)||[]).forEach(C=>{const T=d.get(C.field),F=T?{...T,title:C.title,name:C.title,options:C.options||T.options}:{...C,id:C.field};Ln(F),l.value.push(re.cloneDeep(F)),a.set(F.field,re.cloneDeep(F))}),p.value=re.cloneDeep(l.value),o.value=!0}function y(){const v=l.value.map(C=>{const T=a.get(C.field)||C;return Fi(T)});n.emit("update:modelValue",v),o.value=!1,t.value=null}function h(){l.value=l.value.map(v=>{const C=a.get(v.field);return C?re.cloneDeep(C):v})}function f(){l.value=re.cloneDeep(p.value),o.value=!1,t.value=null}function b(){return o.value?i.createVNode(Xn,{selections:l.value,"data-source":r.value,rowOption:c,"display-type":"Tree","identify-field":"id",class:"field-search-box-config-transfer h-100","text-field":"title",onActiveChange:u,onChange:s,style:"height:auto;"},null):null}return{selectPanels:l,renderTransfer:b,initData:m,confirm:y,cancel:f,syncPanelsFromFieldsData:h}}const Bt=i.defineComponent({name:"FieldSearchBoxConfig",props:Dt,emits:["update:modelValue"],setup(e,n){const t=i.ref(null),a=i.computed(()=>"共 "+e.modelValue.length+" 项"),o=i.inject(gt.F_MODAL_SERVICE_TOKEN),l=new Map,r=Ii(e,n,t,l),{renderTransfer:p,initData:d,confirm:c,cancel:u,syncPanelsFromFieldsData:s}=r,g=Pi(e,n,t,l,s),{renderPanel:S,updateDialogActions:m}=g;let y;function h(){c(),y==null||y.destroy()}function f(){u(),y==null||y.destroy()}m({save:C=>{c()},close:()=>{y==null||y.destroy()}});const b={fitContent:!1,width:900,height:600,draggable:!0,showMaxButton:!0,title:e.title,acceptCallback:h,rejectCallback:f,render:()=>i.createVNode("div",{class:"field-search-box-config d-flex f-utils-absolute-all",style:"margin: 0 18px 0 32px;"},[p(),S()])};function v(){d(),o!=null&&o.app&&(o.app.provide("designer-host-service",e.designViewModelUtils),o.app.provide("useFormSchema",e.formSchemaUtils)),y=o.open(b)}return()=>i.createVNode(ze,{id:e.id,editable:!1,modelValue:a.value,"onUpdate:modelValue":C=>a.value=C,onClickButton:()=>v()},null)}});function Nn(e,n){let t;function a(s){const{properties:g,title:S,ignore:m}=s,y=m&&Array.isArray(m),h=Object.keys(g).reduce((f,b)=>((!y||!m.find(v=>v===b))&&(f[b]=g[b].type==="object"&&g[b].properties?a(g[b]):re.cloneDeep(g[b].default)),f),{});if(S&&(!y||!m.find(f=>f==="id"))){const f=S.toLowerCase().replace(/-/g,"_");h.id=`${f}_${Math.random().toString().slice(2,6)}`}return h}function o(s){const{properties:g,title:S,required:m}=s;if(m&&Array.isArray(m)){const y=m.reduce((h,f)=>(h[f]=g[f].type==="object"&&g[f].properties?a(g[f]):re.cloneDeep(g[f].default),h),{});if(S&&m.find(h=>h==="id")){const h=S.toLowerCase().replace(/-/g,"_");y.id=`${h}_${Math.random().toString().slice(2,6)}`}return y}return{type:S}}function l(s,g={},S){const m=e[s];if(m){let y=o(m);const h=n[s];return y=h?h({getSchemaByType:l},y,g,S):y,t!=null&&t.appendIdentifyForNewControl&&t.appendIdentifyForNewControl(y),y}return null}function r(s,g){const S=a(g);return Object.keys(S).reduce((m,y)=>(Object.prototype.hasOwnProperty.call(s,y)&&(m[y]&&re.isPlainObject(m[y])&&re.isPlainObject(s[y]||!s[y])?Object.assign(m[y],s[y]||{}):m[y]=s[y]),m),S),S}function p(s,g){return Object.keys(s).filter(m=>s[m]!=null).reduce((m,y)=>{if(g.has(y)){const h=g.get(y);if(typeof h=="string")m[h]=s[y];else{const f=h(y,s[y],s);Object.assign(m,f)}}else m[y]=s[y];return m},{})}function d(s,g,S=new Map){const m=r(s,g);return p(m,S)}function c(s){var S;const g=s.type;if(g){const m=e[g];if(!m)return s;const y=r(s,m),h=((S=s.editor)==null?void 0:S.type)||"";if(h){const f=e[h],b=r(s.editor,f);y.editor=b}return y}return s}function u(s){t=s}return{getSchemaByType:l,resolveSchemaWithDefaultValue:c,resolveSchemaToProps:d,mappingSchemaToProps:p,setDesignerContext:u}}const Mn={},Dn={},{resolveSchemaWithDefaultValue:ki,resolveSchemaToProps:Ei,mappingSchemaToProps:Li}=Nn(Mn,Dn);function Ni(e={}){function n(c,u,s,g){if(typeof s=="number")return g[c].length===s;if(typeof s=="object"){const S=Object.keys(s)[0],m=s[S];if(S==="not")return Number(g[c].length)!==Number(m);if(S==="moreThan")return Number(g[c].length)>=Number(m);if(S==="lessThan")return Number(g[c].length)<=Number(m)}return!1}function t(c,u,s,g){return g[c]&&g[c].propertyValue&&String(g[c].propertyValue.value)===String(s)}const a=new Map([["length",n],["getProperty",t]]);Object.keys(e).reduce((c,u)=>(c.set(u,e[u]),c),a);function o(c,u){const s=c;return typeof u=="number"?[{target:s,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:s,operator:"getProperty",param:c,value:!!u}]:typeof u=="object"?Object.keys(u).map(g=>{if(g==="length")return{target:s,operator:"length",param:null,value:u[g]};const S=g,m=u[g];return{target:s,operator:"getProperty",param:S,value:m}}):[]}function l(c){return Object.keys(c).reduce((s,g)=>{const S=o(g,c[g]);return s.push(...S),s},[])}function r(c,u){if(a.has(c.operator)){const s=a.get(c.operator);return s&&s(c.target,c.param,c.value,u)||!1}return!1}function p(c,u){return l(c).reduce((S,m)=>S&&r(m,u),!0)}function d(c,u){const s=Object.keys(c),g=s.includes("allOf"),S=s.includes("anyOf"),m=g||S,f=(m?c[m?g?"allOf":"anyOf":"allOf"]:[c]).map(v=>p(v,u));return g?!f.includes(!1):f.includes(!0)}return{parseValueSchema:d}}const Mi={convertTo:(e,n,t,a)=>{e.appearance||(e.appearance={}),e.appearance[n]=t},convertFrom:(e,n,t)=>e.appearance?e.appearance[n]:e[n]},Di={convertFrom:(e,n,t)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},Bi={convertTo:(e,n,t,a)=>{e.editor&&(e.editor[n]=t)},convertFrom:(e,n,t)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,n)?e.editor[n]:e[n]},Oi={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},table:{type:"table",name:"表格布局"},"table-td":{type:"table-td",name:"单元格"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},nav:{type:"nav",name:"标签类导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},avatar:{type:"avatar",name:"头像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"approval-logs":{type:"approval-logs",name:"审批记录"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"},"dynamic-form":{type:"dynamic-form",name:"动态表单"},"field-search-box":{type:"field-search-box",name:"智能搜索框",icon:"input-group"}},Ai={convertFrom:(e,n,t)=>{var o;const a=e.editor&&e.editor[n]?e.editor[n]:e[n];return((o=Oi[a])==null?void 0:o.name)||a}},Ri={convertTo:(e,n,t,a)=>{e[n]=e[n]},convertFrom:(e,n,t)=>e.editor?t.getRealEditorType(e.editor.type):""},ji={convertTo:(e,n,t,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[n]=t:e.formatter={[n]:t})},convertFrom:(e,n,t)=>{if(e.formatter){if(n==="trueText")return e.formatter.trueText;if(n==="falseText")return e.formatter.falseText;if(n==="prefix")return e.formatter.prefix;if(n==="suffix")return e.formatter.suffix;if(n==="precision")return e.formatter.precision;if(n==="decimal")return e.formatter.decimal;if(n==="thousand")return e.formatter.thousand;if(n==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(n==="customFormat")return e.formatter.customFormat;if(n==="type")return e.formatter.type||"none"}return"none"}},$i={convertTo:(e,n,t,a)=>{e.command?e.command[n]=t:e.command={[n]:t},n==="enableType"&&t==="default"&&(e.command.enable=!0,e.command.formatter="",e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),n==="enableType"&&t==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"link"},{value:"remove",text:"删除",type:"link"}]),n==="enableType"&&t==="unable"&&(e.command.enable=!1,e.command.formatter="")},convertFrom:(e,n,t)=>{var a,o;if(e.command){if(n==="enableType"){if(e.command.enableType)return e.command.enableType;const l=(o=(a=e.command)==null?void 0:a.commands)==null?void 0:o.find(r=>r.command==="edit"&&r.type==="primary");return e.command.enable?l?"default":"custom":"unable"}if(n==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(n==="formatter")return e.command.formatter;if(n==="count")return e.command.count;if(n==="columnWidth")return e.command.columnWidth||200}return""}},qi={convertTo:(e,n,t,a)=>{if(e.column||(e.column={}),n==="fitMode"){t&&t!=="none"?(e.column.fitColumns=!0,e.column.fitMode=t):(e.column.fitColumns=!1,e.column.fitMode="average");return}if(n==="fitColumns"){e.column.fitColumns=t,t&&!e.column.fitMode&&(e.column.fitMode="average");return}e.column[n]=t},convertFrom:(e,n,t)=>{if(e.column){if(n==="fitMode")return e.column.fitColumns?e.column.fitMode||"average":"none";if(n==="fitColumns")return e.column.fitColumns}return n==="fitMode"?"none":""}},_i={convertTo:(e,n,t,a)=>{e.summary?e.summary[n]=t:e.summary={[n]:t},n==="enable"&&t&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:t,groupFields:[]})},convertFrom:(e,n,t)=>{var a,o;return n==="customSummaryStyle"?e.summary.customSummaryStyle:n==="position"?((a=e.summary)==null?void 0:a[n])||"bottom":n==="customRender"?((o=e.summary)==null?void 0:o[n])||"":e.summary&&n==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},Ui={convertTo:(e,n,t,a)=>{e.group?e.group[n]=t:e.group={[n]:t},n==="enable"&&t&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:t,groupFields:[],showSummary:!1,customRender:""})},convertFrom:(e,n,t)=>{if(e.group){if(n==="enable")return e.group.enable;if(n==="showSummary")return e.group.showSummary;if(n==="customRender")return e.group.customRender;if(n==="groupFields")return e.group.groupFields}}},zi={convertFrom:(e,n)=>e.binding?e.binding.path:"",convertTo:(e,n,t)=>{if(t&&t.length>0){const a=t[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},Hi={convertTo:(e,n,t,a)=>{if(e.pagination||(e.pagination={}),n==="sizeLimits")if(t==null)delete e.pagination.sizeLimits;else{const o=[...new Set(String(t).split(",").map(l=>l.trim()).filter(l=>l!=="").map(l=>parseInt(l,10)).filter(l=>!Number.isNaN(l)&&l>0))];o.length>0?e.pagination.sizeLimits=o:delete e.pagination.sizeLimits}else e.pagination[n]=t},convertFrom:(e,n,t)=>{var a;return e.pagination?n==="sizeLimits"?((a=e.pagination.sizeLimits)==null?void 0:a.join(","))??"":e.pagination[n]:e[n]}},Wi={convertTo:(e,n,t,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[n]=t},convertFrom:(e,n,t)=>e.rowNumber?e.rowNumber[n]:e[n]},Gi={convertTo:(e,n,t,a)=>{e.selection||(e.selection={}),e.selection[n]=t},convertFrom:(e,n,t)=>{if(!e.selection)return!!e[n];const a=!!e.selection[n];return n==="showCheckbox"&&a==null&&e.selection.multiSelect===!0?!0:a}},Ji={convertFrom:(e,n,t)=>e[n]&&e[n].length?`共 ${e[n].length} 项`:""},Yi={convertFrom:(e,n)=>e[n]||"",convertTo:(e,n,t)=>{e[n]=t}},Qi={convertTo:(e,n,t,a)=>{e.size||(e.size={}),e.size[n]=t},convertFrom:(e,n,t)=>e.size?e.size[n]:e[n]},Xi={convertFrom:(e,n,t)=>{var a,o;return(a=e.formatter)!=null&&a.data&&n==="formatterEnumData"&&!e.formatterEnumData?(o=e.formatter)==null?void 0:o.data:e.formatterEnumData}},Zi={convertTo:(e,n,t,a)=>{e.sort||(e.sort={}),e.sort[n]=t},convertFrom:(e,n,t)=>{var a,o;if(n==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(n==="multiSort")return!!((o=e.sort)!=null&&o.multiSort)}},Ki={convertTo:(e,n,t,a)=>{e.filter||(e.filter={}),e.filter[n]=t,n==="enable"&&(e.enableFilter=!1)},convertFrom:(e,n,t)=>{var a,o,l,r;return n==="mode"?((a=e.filter)==null?void 0:a.mode)||"server":n==="filterStyle"?((o=e.filter)==null?void 0:o.filterStyle)||"filter-column":n==="enable"?((l=e.filter)==null?void 0:l.enable)!==void 0?!!e.filter.enable:!!e.enableFilter:((r=e.filter)==null?void 0:r[n])||void 0}},eo={convertTo:(e,n,t,a)=>{e.rowOption?e.rowOption[n]=t:e.rowOption={[n]:t}},convertFrom:(e,n,t)=>{if(e.rowOption){if(n==="customRowStyle")return e.rowOption.customRowStyle;if(n==="customCellStyle")return e.rowOption.customCellStyle;if(n==="height")return e.rowOption.height}return""}},to={convertTo:(e,n,t,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[n]=t,n==="columnTemplateType"&&t==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
60
+ `])])]);class mi extends Vn{constructor(t,a){super(t,a);te(this,"responseLayoutEditorFunction");te(this,"bindingVarible");te(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);te(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});te(this,"showCustomValue",t=>{var o;const a=this.designViewModelField!=null&&((o=this.designViewModelField)==null?void 0:o.type.name)!=="Boolean";return this.formRule?t.dataType!=="boolean":a});this.responseLayoutEditorFunction=fi(this.formSchemaUtils)}getCommonPropertyConfig(t,a,o="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(t,a,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,a),this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"form-group"),o==="Card"){const l=this.getTipsConfig(t);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...l},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(t.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(t,o))}}getPropertyConfig(t,a){return this.getCommonPropertyConfig(t,a,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressions=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(t),this.propertyConfig}getGridFieldEdtiorPropConfig(t,a){return this.propertyConfig.categories={},this.getCommonPropertyConfig(t,a,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(t):this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig.categories.expressons=this.getExpressionConfig(t,"Field"),this.propertyConfig.categories}getBasicProperties(t,a,o="Card"){var s;const l=this;this.setDesignViewModelField(t);const{canChangeControlType:r,editorTypeList:p}=this.getAvailableEditorType(t),d=this.getPropertyEditorParams(t,["Variable"],"label",{},{newVariablePrefix:"",newVariableType:"String"});let c=p;this.formRule&&(c=p.filter(g=>g.key!=="image"&&g.key!=="rich-text-editor"&&g.key!=="avatar"));const u={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:c,readonly:!r}},titleSourceType:{description:"标签来源类型",title:"标签类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"name",valueField:"id",idField:"id",editable:!1,data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},defaultValue:"static"},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter",visible:!t.titleSourceType||t.titleSourceType==="static"},titleDataSource:{description:"标签",title:"标签",type:"string",editor:d,visible:t.titleSourceType==="dynamic"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((s=t.editor)==null?void 0:s.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},title:"绑定编辑器",editorParams:{componentSchema:t,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!t.isRtcControl}},setPropertyRelates(g,S,h){if(g)switch(g&&g.propertyID){case"type":{l.changeControlType(t,g,a);break}case"label":{g.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(t,g,h);break}case"titleDataSource":{l.afterMutilEditorChanged(t,g);break}}}};return o.toLocaleLowerCase()!=="card"&&(u.hide=!0,delete u.properties.showLabelType),u}getExpandProperties(t,a="Card"){const o=this,l=["Const","Variable"],r=this.getPropertyEditorParams(t,l,"expandable"),p=this.getPropertyEditorParams(t,l,"expandDisabled");return a==="Card"?{description:"Expand Information",hide:!!this.formRule,title:"扩展区域",properties:{expandable:{description:"扩展区域是指输入框右侧的区域,常用于展示自定义按钮或者文本,以便于丰富输入控件的展示内容。",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:r},expandMode:{description:"静态文本:扩展内容不可点击;交互式按钮:扩展内容可以点击并配置交互事件。",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!t.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展区域内展示的文本内容",title:"扩展内容",type:"string",visible:!!t.editor.expandable,editor:{type:"code-editor",language:"html"}},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否动态隐藏扩展区域,常用于根据变量或自定义条件配置扩展区域的隐藏状态。",title:"隐藏扩展区域",editor:p,visible:!!t.editor.expandable}},setPropertyRelates(c,u){if(c)switch(c.propertyID){case"expandable":case"expandDisabled":o.afterMutilEditorChanged(t,c);break}}}:{properties:{}}}checkCanChangeControlType(t,a){if(!t.binding)return!1;if(t.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(t.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==O.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(t){var l,r,p;const a=this.checkCanChangeControlType(t,this.viewModelId);if(!a)return{canChangeControlType:!1,editorTypeList:[{key:(l=t.editor)==null?void 0:l.type,value:((r=B.DgControl[t.editor.type])==null?void 0:r.name)||t.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===O.FormSchemaEntityField$Type.SimpleField?o=pt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=pt.getEditorTypesByMDataType(this.bindingVarible.type,!!((p=this.designViewModelField)!=null&&p.multiLanguage))),{canChangeControlType:a,editorTypeList:o}}changeBindingField(t,a,o){a.needRefreshEntityTree=!0}getAppearanceProperties(t,a){const o=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance",defaultValue:!1},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!o.formRule,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,o.componentId)}}},setPropertyRelates(l,r){if(l)switch(l&&l.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,o.componentId||t.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(t.id,a),delete t.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(l.propertyValue,t.id,this.componentId),B.canvasChanged.value++;break;case"style":{B.canvasChanged.value++;break}}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,a,o){var h;const l=a.propertyValue,r=o&&o.parent&&o.parent.schema;if(!r)return;const p=r.contents.findIndex(y=>y.id===t.id);if(p===-1)return;const d=r.contents[p];let c;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(v=>v.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}c||(c=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(c,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(c,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(y=>{Object.prototype.hasOwnProperty.call(d.editor,y)&&(c.editor[y]=d.editor[y])});const u=["image","avatar"],s=d.editor.type&&u.indexOf(d.editor.type)>-1,g=((h=c.editor)==null?void 0:h.type)&&u.indexOf(c.editor.type)>-1;s&&d.showLabelType==="none"&&!g&&(c.showLabelType="visible"),o!=null&&o.updateContextSchema?o.updateContextSchema(c):(o.schema=Object.assign(d,c),Object.assign(t,c)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(y=>y.classList.remove("dgComponentFocused")),["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(t.editor.type)||(t.enableTips=!1),B.canvasChanged.value++,i.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(t){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(t.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1,visible:!this.formRule},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:pi},visible:!!t.enableTips&&!this.formRule}}:{}}getComponentConfig(t,a={},o={},l){var g,S,h;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},a),p=(g=t.binding)!=null&&g.field?["Const","Variable","StateMachine","Custom","Expression"]:["Const","Variable","StateMachine","Custom"],d=this.getPropertyEditorParams(t,p,"readonly"),c=this.getPropertyEditorParams(t,p,"required"),u={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:c,visible:!!((S=t.binding)!=null&&S.field)&&((h=t.binding)==null?void 0:h.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const y in o)u[y]=Object.assign(u[y]||{},o[y]);const s=this;return{...r,properties:{...u},setPropertyRelates(y,m){if(y){switch(y.propertyID){case"readonly":case"required":case"label":s.afterMutilEditorChanged(t,y);break}l&&l.bind(s)(y,t,m)}}}}updateUnifiedLayoutAfterControlChanged(t,a,o){const l=t.split(" ");let r=l.find(s=>/^col-([1-9]|10|11|12)$/.test(s)),p=l.find(s=>/^col-md-([1-9]|10|11|12)$/.test(s)),d=l.find(s=>/^col-xl-([1-9]|10|11|12)$/.test(s)),c=l.find(s=>/^col-el-([1-9]|10|11|12)$/.test(s));r=r||"col-12",p=p||"col-md-"+r.replace("col-",""),d=d||"col-xl-"+p.replace("col-md-",""),c=c||"col-el-"+d.replace("col-xl-","");const u={id:a,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,u)}updateUnifiedLayoutAfterResponseLayoutChanged(t,a){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!o||!o.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,l,1),a){const h=l.find(y=>y.id===a.id);Object.assign(h||{},a)}const r=l.map(h=>h.columnInSM),p=l.map(h=>h.columnInMD),d=l.map(h=>h.columnInLG),c=l.map(h=>h.columnInEL),u=this.checkIsUniqueColumn(r)?r[0]:null,s=this.checkIsUniqueColumn(p)?p[0]:null,g=this.checkIsUniqueColumn(d)?d[0]:null,S=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:s,uniqueColClassInLG:g,uniqueColClassInEL:S})}checkIsUniqueColumn(t){const a=new Set(t);return Array.from(a).length===1}getItemCollectionEditor(t,a,o){return a=a||"value",o=o||"name",{editor:{columns:[{field:a,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:a,nameField:o,requiredFields:[a,o],uniqueFields:[a,o],readonly:this.checkEnumDataReadonly(t)}}}checkEnumDataReadonly(t){return!t.binding||t.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===O.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(t,a){t.binding&&t.binding.type===Ze.Form&&t.binding.field?(a.find(o=>o.label==="fieldValueChanging"),a.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(t.fieldValueChanging=this.designViewModelField.valueChanging,t.fieldValueChanged=this.designViewModelField.valueChanged)):a=a.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(t){if(!t.binding)return t.type;switch(t.binding.type){case Ze.Form:return t.binding.path||t.type;case Ze.Variable:return t.binding.fullPath||t.type}return t.type}updateLinkedLabel(t,a){if(t.boundEventsList&&t.boundEventsList.length>0){const o=t.boundEventsList.find(l=>l.boundEvents&&l.boundEvents.label==="onClickLabel");a.linkLabel=!!o}else a.linkLabel=!1}getInputCommonEvents(t){return!t.binding||t.binding.type===Ze.Variable?[{label:"onClickLabel",name:"标签点击事件"}]:this.formRule?[{label:"onClickLabel",name:"标签点击事件"}]:[...this.formGroupEvents]}getEventPropertyConfig(t,a="card",o,l){const r=this;let p=this.getInputCommonEvents(t);if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(t.editor.type)&&p.push({label:"onClear",name:"清空事件"}),o&&(p=p.concat(o)),p.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:O.EVENT_PROPERTY_TAB_IDS,tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(t,p);const c=r.eventsEditorUtils.formProperties(t,r.viewModelId,p);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(c),tabId:O.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(g,S){const h=g.propertyValue;delete t[r.viewModelId],h&&(h.setPropertyRelates=this.setPropertyRelates,h.controlInfo={type:r.getControlMethodType(t),name:t.title},r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,h.events,h),r.updateLinkedLabel(h,t)),l&&l(g,t,h);const y=r.designViewModelUtils.getDgViewModel(r.viewModelId);y&&r.designViewModelField&&y.changeField(r.designViewModelField.id,{valueChanging:t.fieldValueChanging||"",valueChanged:t.fieldValueChanged||""})}}}getExpressionConfig(t,a,o=["compute","dependency","validate"],l){return this.expressionProperty.getExpressionConfig(t,a,o,l)}getBindingDataType(t){return this.formRule?(t==null?void 0:t.dataType)||"string":this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(t){return this.getBindingDataType(t)==="number"?this.numberEditorOptions:{}}updatePropertyValue(t,a,o){var l;t.editor[a]!==o?t.editor[a]=o:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(t,a,o){let l=o;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(a==="trueValue"?"true":"false"));const p=a==="trueValue"?"falseValue":"trueValue";t.editor[p]===l&&(l=l+1),this.updatePropertyValue(t,a,l)}getBooleanValueConverter(){return{convertFrom:(t,a)=>t.editor[a],convertTo:(t,a,o)=>{this.setBooleanValue(t,a,o)}}}}class hi extends mi{getPropertyConfig(n,t){return this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.appearance=this.getAppearanceConfig(n,{}),this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"",{disabled:{title:"禁用",type:"boolean",description:"字段搜索框禁用状态",refreshPanelAfterChanged:!0,editor:this.getPropertyEditorParams(n,["Const","Variable","StateMachine"],"disabled")}}),this.getFieldSearchBoxConfig(n),this.getEventPropConfig(n),this.propertyConfig}getFieldSearchBoxConfig(n){const t=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),a=this;this.propertyConfig.categories.control={description:"智能搜索框配置",title:"编辑器",properties:{fields:{description:"可搜索的字段列表",title:"搜索字段",type:"array",refreshPanelAfterChanged:!0,editor:{type:"field-search-box-config",title:"智能搜索框字段配置",fieldsConfig:t,formSchemaUtils:this.formSchemaUtils,metadataService:this.metadataService,viewModelId:this.viewModelId,designViewModelUtils:this.designViewModelUtils,eventsEditorUtils:this.eventsEditorUtils,schemaService:this.schemaService,belongInstance:a}},defaultValue:{description:"默认搜索条件",title:"默认值绑定",type:"object",editor:this.getPropertyEditorParams(n,["Variable"],"",{},{newVariableType:"Object"}),visible:!1}}}}getEventPropConfig(n){const t=[{label:"filter-change",name:"搜索条件变化事件"}],a=this,o=a.eventsEditorUtils.formProperties(n,a.viewModelId,t),l=a.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:O.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(r,p){const d=r.propertyValue;delete n[a.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,d.events,d))}}}}function gi(e,n){function t(a,o){const l=e.schema;return new hi(a,n).getPropertyConfig(l,o)}return{getPropsConfig:t}}const yi=i.defineComponent({name:"FieldSearchBoxDesign",props:ut,emits:[],setup(e,n){const t=i.ref(),a=i.inject("design-item-context"),o=i.inject("designer-host-service"),l=gi(a,o),r=B.useDesignerComponent(t,a,l),p=Fn();return i.computed(()=>Array.isArray(e.fields)?e.fields.length:0),i.onMounted(()=>{t.value.componentInstance=r}),n.expose(r.value),()=>i.createVNode("div",{class:"f-field-search-box-design",ref:t,style:"pointer-events: none;"},[i.createVNode("div",{class:"f-cmp-inputgroup d-flex f-field-search-box"},[i.createVNode("div",{class:"input-group f-cmp-inputgroup",style:"overflow: hidden;"},[i.createVNode("div",{class:"form-control f-cmp-inputgroup--multi-wrapper multi-more"},[i.createVNode("div",{class:"multi--content d-flex flex-row",style:"width: 100%;flex-wrap: wrap;align-items: center;cursor: text;"},[i.createVNode("span",{class:"search-input-box"},[i.createVNode("input",{type:"text",placeholder:p.searchPlaceHolder,class:"text-left form-control f-utils-fill"},null)])])]),i.createVNode("div",{class:"input-group-append"},[i.createVNode("span",{class:"input-group-text"},[i.createVNode("span",{class:"f-icon f-icon-search"},null)])])]),i.createVNode("span",{class:"f-icon f-icon-remove clear-search-fields",style:"opacity: 0.3;pointer-events: none;",title:p.clearAll},null)])])}}),In={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-search-box-config.schema.json",title:"field-search-box-config",description:"A Farris FieldSearchBox Fields Config Editor",properties:{id:{description:"The unique identifier",type:"string"},type:{description:"The type string of field-search-box-config",type:"string",default:"field-search-box-config"},fieldsConfig:{description:"所有可选字段(树结构)",type:"array"},modelValue:{description:"已选搜索字段 Array<SearchField>",type:"array"},designViewModelUtils:{description:"",type:"object"},formSchemaUtils:{description:"",type:"object"},metadataService:{description:"",type:"object"},viewModelId:{description:"",type:"string"},eventsEditorUtils:{description:"",type:"object"},schemaService:{description:"",type:"object"},title:{description:"",type:"string"},belongInstance:{description:"",type:"object"}},required:[]},kn=new Map([["appearance",Ve.resolveAppearance]]);function En(e,n,t){return n}const Bt={fieldsConfig:{type:Array,default:[]},modelValue:{type:Array,default:[]},title:{type:String,default:"字段搜索框字段配置"},formSchemaUtils:{type:Object,default:{}},metadataService:{type:Object,default:{}},designViewModelUtils:{type:Object,default:{}},eventsEditorUtils:{type:Object,default:{}},schemaService:{type:Object,default:{}},viewModelId:{type:String,default:""},belongInstance:{type:Object,default:null}};Ve.createPropsResolver(Bt,In,kn,En);const bi=Ve.getPropsResolverGenerator(Bt,In,kn,En),Ln=["data","textField","valueField","trueText","falseText","showTime","format","valueFormat","precision","thousand"],vi={String:"string",Text:"string",Number:"number",Integer:"number",Decimal:"number",BigNumber:"number",Date:"date",DateTime:"datetime",Enum:"enum",Boolean:"boolean"},Ci={String:"字符串",Text:"多行文本",Number:"数值",Integer:"整数",Decimal:"小数",BigNumber:"大数",Date:"日期",DateTime:"日期时间",Enum:"枚举",Boolean:"布尔"};function Si(e){return vi[e]||"string"}function Ti(e){return Ci[e||""]||e||"字符串"}function xi(e,n=null){var t,a;switch(e){case"enum":return{data:((t=n==null?void 0:n.type)==null?void 0:t.enumValues)||[],textField:"name",valueField:"value"};case"boolean":return{trueText:"是",falseText:"否"};case"date":case"datetime":{const o=e==="datetime";return{showTime:o,format:o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd",valueFormat:o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"}}case"number":return{precision:(a=n==null?void 0:n.type)==null?void 0:a.precision,thousand:","};default:return null}}function Fi(e){var l;const n=((l=e==null?void 0:e.type)==null?void 0:l.name)||"String",t=Si(n),a=e.name||e.bindingPath||"";return{field:e.bindingPath||e.id,title:a,name:a,dataType:t,options:xi(t,e),value:null,id:e.id,code:e.code,path:e.path||e.bindingPath,fieldTypeName:n,$type:e.$type,$typeInfo:e.type,isVmField:!0}}function wi(e){const{field:n,title:t,dataType:a,options:o,value:l}=e,r=o?{...o}:{};return Ln.forEach(p=>{Object.prototype.hasOwnProperty.call(e,p)&&(r[p]=e[p])}),{field:n,title:t,dataType:a,options:Object.keys(r).length?r:null,value:l||null}}function Nn(e){const n=e.options||{};return Ln.forEach(t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}),e}function Vi(e,n){if(!n)return e;const t=n.includes("yyyy"),a=n.includes("MM"),o=n.includes("dd"),l=n.includes("HH"),r=n.includes("mm"),p=n.includes("ss");return t||(e=e.filter(d=>!d.id.includes("yyyy"))),a||(e=e.filter(d=>!d.id.includes("MM"))),o||(e=e.filter(d=>!d.id.includes("dd"))),l||(e=e.filter(d=>!d.id.includes("HH"))),r||(e=e.filter(d=>!d.id.includes("mm"))),p||(e=e.filter(d=>!d.id.includes("ss"))),e}function Pi(e,n){const t=i.ref(0),a={save:s=>{},close:()=>{}};function o(s){Object.assign(a,s)}function l(s){return{description:"Basic Information",title:"基本信息",properties:{field:{description:"搜索字段标识",title:"字段标识",type:"string",readonly:!0},title:{description:"搜索字段显示名称",title:"显示名称",type:"string"},dataType:{description:"搜索字段数据类型",title:"数据类型",type:"string",readonly:!0}}}}function r(){return{description:"枚举字段配置",title:"枚举配置",properties:{data:{description:"枚举值列表",title:"枚举值",type:"array",editor:{columns:[{field:"value",title:"值",dataType:"string"},{field:"name",title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:"value",nameField:"name",requiredFields:["value","name"],uniqueFields:["value","name"]}},textField:{description:"枚举显示文本字段",title:"文本字段",type:"string"},valueField:{description:"枚举值字段",title:"值字段",type:"string"}}}}function p(){return{description:"布尔字段配置",title:"布尔配置",properties:{trueText:{description:"真值显示文本",title:"真值文本",type:"string"},falseText:{description:"假值显示文本",title:"假值文本",type:"string"}}}}function d(s){const g=s.showTime,S=(s.options||{}).showTime,h=g??S??s.dataType==="datetime",{timeFormats:y,yMFormats:m,yMdFormats:f,mdFormats:b,yFormats:v}=Ct.DATE_FORMATS(),C=h?[...y,...f,...m,...v,...b]:[...f,...m,...v,...b],T=Vi(C,s.valueFormat);return{description:"日期字段配置",title:"日期配置",properties:{showTime:{description:"是否显示时间",title:"显示时间",type:"boolean",visible:!1},format:{description:"显示格式",title:"显示格式",type:"enum",editor:{data:T}},valueFormat:{description:"存储格式",title:"存储格式",type:"enum",editor:{data:C},visible:!1}}}}function c(s){var S;const g=(S=s.$typeInfo)==null?void 0:S.precision;return{description:"数字字段配置",title:"数字配置",properties:{precision:{description:"精度",title:"精度",type:"number",editor:{type:"number-spinner",nullable:!1,precision:0,min:0,max:g,readonly:g===0}},thousand:{description:"千分位分隔符",title:"千分位",type:"string"}}}}function u(s){const g={basic:l()};return s.dataType==="enum"?g.enum=r():s.dataType==="boolean"?g.boolean=p():s.dataType==="date"||s.dataType==="datetime"?g.datetime=d(s):s.dataType==="number"&&(g.number=c(s)),{title:s.title||"字段配置",description:Ti(s.fieldTypeName),type:"object",categories:g}}return{getPropertyConfig:u,refreshPanelFlag:t,updateDialogActions:o}}function Ii(e,n,t,a,o){const l=i.ref(),r=i.ref("field-search-box-config"),p=i.ref({}),d=i.ref(),c=i.ref(null),{getPropertyConfig:u,refreshPanelFlag:s,updateDialogActions:g}=Pi();i.watch(()=>{var m;return(m=t.value)==null?void 0:m.field},(m,f)=>{if(!m)c.value=null;else if(m!==f){const b=ce.cloneDeep(a.get(m));b&&Nn(b),c.value=b||null}});function S(m=!0){var b;if(!c.value){(b=l.value)==null||b.updatePropertyConfig({},{},!0);return}const f=u(c.value);l.value.updatePropertyConfig(f,c.value,m)}i.watch(()=>{var m,f;return[(m=c.value)==null?void 0:m.field,(f=c.value)==null?void 0:f.dataType]},([m,f],[b,v])=>{var C;m?(m!==b||f!==v)&&S(!0):(C=l.value)==null||C.updatePropertyConfig({},{},!0)}),i.watch(()=>s.value,m=>{S(!1)});function h(m){const{propertyID:f,propertyValue:b}=m.changeObject||{};if(f&&c.value){const C=a.get(c.value.field);if(C){if(C[f]=b,f==="showTime"&&(C.dataType==="date"||C.dataType==="datetime")){const T=!!b;C.options||(C.options={}),C.options.showTime=T,C.format=T?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd",C.valueFormat=T?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"}a.set(c.value.field,C)}}["dataType","showTime","precision"].indexOf(f)>-1&&S(!1),f==="title"&&o&&o()}function y(){return i.createVNode(it.FPropertyPanel,{propertyConfig:d.value,ref:l,propertyName:r.value,enableSearch:!1,schema:p.value,onPropertyChanged:h},{default:()=>[i.createTextVNode(" ")]})}return{renderPanel:y,updateDialogActions:g}}function ki(e,n,t,a){const o=i.ref(!1),l=i.ref([]),r=i.ref([]),p=i.ref([]),d=new Map,c={customRowStatus:v=>{const C=v.raw;v.disabled=C.$type!=="SimpleField"&&C.$type!==void 0}};function u(v){t.value=v.length?v[0]:null}function s(v){var T;l.value=v.map(F=>{const x=a.get(F.field);return x?ce.cloneDeep(x):ce.cloneDeep(F.data?F.data:F)}),l.value.forEach(F=>{F.id==null&&(F.id=F.field),a.set(F.field,ce.cloneDeep(F))});const C=(T=t.value)==null?void 0:T.field;(!C||!l.value.find(F=>F.field===C))&&(t.value=null)}function g(v){return v.map(C=>{const T=Fi(C.data);return d.set(T.field,T),{data:T,children:C.children&&C.children.length?g(C.children):[]}})}function S(){return g(e.fieldsConfig||[])}function h(){r.value=S(),l.value=[],(ce.cloneDeep(e.modelValue)||[]).forEach(C=>{const T=d.get(C.field),F=T?{...T,title:C.title,name:C.title,options:C.options||T.options}:{...C,id:C.field};Nn(F),l.value.push(ce.cloneDeep(F)),a.set(F.field,ce.cloneDeep(F))}),p.value=ce.cloneDeep(l.value),o.value=!0}function y(){const v=l.value.map(C=>{const T=a.get(C.field)||C;return wi(T)});n.emit("update:modelValue",v),o.value=!1,t.value=null}function m(){l.value=l.value.map(v=>{const C=a.get(v.field);return C?ce.cloneDeep(C):v})}function f(){l.value=ce.cloneDeep(p.value),o.value=!1,t.value=null}function b(){return o.value?i.createVNode(Zn,{selections:l.value,"data-source":r.value,rowOption:c,"display-type":"Tree","identify-field":"id",class:"field-search-box-config-transfer h-100","text-field":"title",onActiveChange:u,onChange:s,style:"height:auto;"},null):null}return{selectPanels:l,renderTransfer:b,initData:h,confirm:y,cancel:f,syncPanelsFromFieldsData:m}}const Ot=i.defineComponent({name:"FieldSearchBoxConfig",props:Bt,emits:["update:modelValue"],setup(e,n){const t=i.ref(null),a=i.computed(()=>"共 "+e.modelValue.length+" 项"),o=i.inject(yt.F_MODAL_SERVICE_TOKEN),l=new Map,r=ki(e,n,t,l),{renderTransfer:p,initData:d,confirm:c,cancel:u,syncPanelsFromFieldsData:s}=r,g=Ii(e,n,t,l,s),{renderPanel:S,updateDialogActions:h}=g;let y;function m(){c(),y==null||y.destroy()}function f(){u(),y==null||y.destroy()}h({save:C=>{c()},close:()=>{y==null||y.destroy()}});const b={fitContent:!1,width:900,height:600,draggable:!0,showMaxButton:!0,title:e.title,acceptCallback:m,rejectCallback:f,render:()=>i.createVNode("div",{class:"field-search-box-config d-flex f-utils-absolute-all",style:"margin: 0 18px 0 32px;"},[p(),S()])};function v(){d(),o!=null&&o.app&&(o.app.provide("designer-host-service",e.designViewModelUtils),o.app.provide("useFormSchema",e.formSchemaUtils)),y=o.open(b)}return()=>i.createVNode(ze,{id:e.id,editable:!1,modelValue:a.value,"onUpdate:modelValue":C=>a.value=C,onClickButton:()=>v()},null)}});function Dn(e,n){let t;function a(s){const{properties:g,title:S,ignore:h}=s,y=h&&Array.isArray(h),m=Object.keys(g).reduce((f,b)=>((!y||!h.find(v=>v===b))&&(f[b]=g[b].type==="object"&&g[b].properties?a(g[b]):ce.cloneDeep(g[b].default)),f),{});if(S&&(!y||!h.find(f=>f==="id"))){const f=S.toLowerCase().replace(/-/g,"_");m.id=`${f}_${Math.random().toString().slice(2,6)}`}return m}function o(s){const{properties:g,title:S,required:h}=s;if(h&&Array.isArray(h)){const y=h.reduce((m,f)=>(m[f]=g[f].type==="object"&&g[f].properties?a(g[f]):ce.cloneDeep(g[f].default),m),{});if(S&&h.find(m=>m==="id")){const m=S.toLowerCase().replace(/-/g,"_");y.id=`${m}_${Math.random().toString().slice(2,6)}`}return y}return{type:S}}function l(s,g={},S){const h=e[s];if(h){let y=o(h);const m=n[s];return y=m?m({getSchemaByType:l},y,g,S):y,t!=null&&t.appendIdentifyForNewControl&&t.appendIdentifyForNewControl(y),y}return null}function r(s,g){const S=a(g);return Object.keys(S).reduce((h,y)=>(Object.prototype.hasOwnProperty.call(s,y)&&(h[y]&&ce.isPlainObject(h[y])&&ce.isPlainObject(s[y]||!s[y])?Object.assign(h[y],s[y]||{}):h[y]=s[y]),h),S),S}function p(s,g){return Object.keys(s).filter(h=>s[h]!=null).reduce((h,y)=>{if(g.has(y)){const m=g.get(y);if(typeof m=="string")h[m]=s[y];else{const f=m(y,s[y],s);Object.assign(h,f)}}else h[y]=s[y];return h},{})}function d(s,g,S=new Map){const h=r(s,g);return p(h,S)}function c(s){var S;const g=s.type;if(g){const h=e[g];if(!h)return s;const y=r(s,h),m=((S=s.editor)==null?void 0:S.type)||"";if(m){const f=e[m],b=r(s.editor,f);y.editor=b}return y}return s}function u(s){t=s}return{getSchemaByType:l,resolveSchemaWithDefaultValue:c,resolveSchemaToProps:d,mappingSchemaToProps:p,setDesignerContext:u}}const Mn={},Bn={},{resolveSchemaWithDefaultValue:Ei,resolveSchemaToProps:Li,mappingSchemaToProps:Ni}=Dn(Mn,Bn);function Di(e={}){function n(c,u,s,g){if(typeof s=="number")return g[c].length===s;if(typeof s=="object"){const S=Object.keys(s)[0],h=s[S];if(S==="not")return Number(g[c].length)!==Number(h);if(S==="moreThan")return Number(g[c].length)>=Number(h);if(S==="lessThan")return Number(g[c].length)<=Number(h)}return!1}function t(c,u,s,g){return g[c]&&g[c].propertyValue&&String(g[c].propertyValue.value)===String(s)}const a=new Map([["length",n],["getProperty",t]]);Object.keys(e).reduce((c,u)=>(c.set(u,e[u]),c),a);function o(c,u){const s=c;return typeof u=="number"?[{target:s,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:s,operator:"getProperty",param:c,value:!!u}]:typeof u=="object"?Object.keys(u).map(g=>{if(g==="length")return{target:s,operator:"length",param:null,value:u[g]};const S=g,h=u[g];return{target:s,operator:"getProperty",param:S,value:h}}):[]}function l(c){return Object.keys(c).reduce((s,g)=>{const S=o(g,c[g]);return s.push(...S),s},[])}function r(c,u){if(a.has(c.operator)){const s=a.get(c.operator);return s&&s(c.target,c.param,c.value,u)||!1}return!1}function p(c,u){return l(c).reduce((S,h)=>S&&r(h,u),!0)}function d(c,u){const s=Object.keys(c),g=s.includes("allOf"),S=s.includes("anyOf"),h=g||S,f=(h?c[h?g?"allOf":"anyOf":"allOf"]:[c]).map(v=>p(v,u));return g?!f.includes(!1):f.includes(!0)}return{parseValueSchema:d}}const Mi={convertTo:(e,n,t,a)=>{e.appearance||(e.appearance={}),e.appearance[n]=t},convertFrom:(e,n,t)=>e.appearance?e.appearance[n]:e[n]},Bi={convertFrom:(e,n,t)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},Oi={convertTo:(e,n,t,a)=>{e.editor&&(e.editor[n]=t)},convertFrom:(e,n,t)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,n)?e.editor[n]:e[n]},Ai={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},table:{type:"table",name:"表格布局"},"table-td":{type:"table-td",name:"单元格"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},nav:{type:"nav",name:"标签类导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},avatar:{type:"avatar",name:"头像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"approval-logs":{type:"approval-logs",name:"审批记录"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"},"dynamic-form":{type:"dynamic-form",name:"动态表单"},"field-search-box":{type:"field-search-box",name:"智能搜索框",icon:"input-group"}},Ri={convertFrom:(e,n,t)=>{var o;const a=e.editor&&e.editor[n]?e.editor[n]:e[n];return((o=Ai[a])==null?void 0:o.name)||a}},ji={convertTo:(e,n,t,a)=>{e[n]=e[n]},convertFrom:(e,n,t)=>e.editor?t.getRealEditorType(e.editor.type):""},$i={convertTo:(e,n,t,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[n]=t:e.formatter={[n]:t})},convertFrom:(e,n,t)=>{if(e.formatter){if(n==="trueText")return e.formatter.trueText;if(n==="falseText")return e.formatter.falseText;if(n==="prefix")return e.formatter.prefix;if(n==="suffix")return e.formatter.suffix;if(n==="precision")return e.formatter.precision;if(n==="decimal")return e.formatter.decimal;if(n==="thousand")return e.formatter.thousand;if(n==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(n==="customFormat")return e.formatter.customFormat;if(n==="type")return e.formatter.type||"none"}return"none"}},qi={convertTo:(e,n,t,a)=>{e.command?e.command[n]=t:e.command={[n]:t},n==="enableType"&&t==="default"&&(e.command.enable=!0,e.command.formatter="",e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),n==="enableType"&&t==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"link"},{value:"remove",text:"删除",type:"link"}]),n==="enableType"&&t==="unable"&&(e.command.enable=!1,e.command.formatter="")},convertFrom:(e,n,t)=>{var a,o;if(e.command){if(n==="enableType"){if(e.command.enableType)return e.command.enableType;const l=(o=(a=e.command)==null?void 0:a.commands)==null?void 0:o.find(r=>r.command==="edit"&&r.type==="primary");return e.command.enable?l?"default":"custom":"unable"}if(n==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(n==="formatter")return e.command.formatter;if(n==="count")return e.command.count;if(n==="columnWidth")return e.command.columnWidth||200}return""}},_i={convertTo:(e,n,t,a)=>{if(e.column||(e.column={}),n==="fitMode"){t&&t!=="none"?(e.column.fitColumns=!0,e.column.fitMode=t):(e.column.fitColumns=!1,e.column.fitMode="average");return}if(n==="fitColumns"){e.column.fitColumns=t,t&&!e.column.fitMode&&(e.column.fitMode="average");return}e.column[n]=t},convertFrom:(e,n,t)=>{if(e.column){if(n==="fitMode")return e.column.fitColumns?e.column.fitMode||"average":"none";if(n==="fitColumns")return e.column.fitColumns}return n==="fitMode"?"none":""}},Ui={convertTo:(e,n,t,a)=>{e.summary?e.summary[n]=t:e.summary={[n]:t},n==="enable"&&t&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:t,groupFields:[]})},convertFrom:(e,n,t)=>{var a,o;return n==="customSummaryStyle"?e.summary.customSummaryStyle:n==="position"?((a=e.summary)==null?void 0:a[n])||"bottom":n==="customRender"?((o=e.summary)==null?void 0:o[n])||"":e.summary&&n==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},zi={convertTo:(e,n,t,a)=>{e.group?e.group[n]=t:e.group={[n]:t},n==="enable"&&t&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:t,groupFields:[],showSummary:!1,customRender:""})},convertFrom:(e,n,t)=>{if(e.group){if(n==="enable")return e.group.enable;if(n==="showSummary")return e.group.showSummary;if(n==="customRender")return e.group.customRender;if(n==="groupFields")return e.group.groupFields}}},Hi={convertFrom:(e,n)=>e.binding?e.binding.path:"",convertTo:(e,n,t)=>{if(t&&t.length>0){const a=t[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},Wi={convertTo:(e,n,t,a)=>{if(e.pagination||(e.pagination={}),n==="sizeLimits")if(t==null)delete e.pagination.sizeLimits;else{const o=[...new Set(String(t).split(",").map(l=>l.trim()).filter(l=>l!=="").map(l=>parseInt(l,10)).filter(l=>!Number.isNaN(l)&&l>0))];o.length>0?e.pagination.sizeLimits=o:delete e.pagination.sizeLimits}else e.pagination[n]=t},convertFrom:(e,n,t)=>{var a;return e.pagination?n==="sizeLimits"?((a=e.pagination.sizeLimits)==null?void 0:a.join(","))??"":e.pagination[n]:e[n]}},Gi={convertTo:(e,n,t,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[n]=t},convertFrom:(e,n,t)=>e.rowNumber?e.rowNumber[n]:e[n]},Ji={convertTo:(e,n,t,a)=>{e.selection||(e.selection={}),e.selection[n]=t},convertFrom:(e,n,t)=>{if(!e.selection)return!!e[n];const a=!!e.selection[n];return n==="showCheckbox"&&a==null&&e.selection.multiSelect===!0?!0:a}},Yi={convertFrom:(e,n,t)=>e[n]&&e[n].length?`共 ${e[n].length} 项`:""},Qi={convertFrom:(e,n)=>e[n]||"",convertTo:(e,n,t)=>{e[n]=t}},Xi={convertTo:(e,n,t,a)=>{e.size||(e.size={}),e.size[n]=t},convertFrom:(e,n,t)=>e.size?e.size[n]:e[n]},Zi={convertFrom:(e,n,t)=>{var a,o;return(a=e.formatter)!=null&&a.data&&n==="formatterEnumData"&&!e.formatterEnumData?(o=e.formatter)==null?void 0:o.data:e.formatterEnumData}},Ki={convertTo:(e,n,t,a)=>{e.sort||(e.sort={}),e.sort[n]=t},convertFrom:(e,n,t)=>{var a,o;if(n==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(n==="multiSort")return!!((o=e.sort)!=null&&o.multiSort)}},eo={convertTo:(e,n,t,a)=>{e.filter||(e.filter={}),e.filter[n]=t,n==="enable"&&(e.enableFilter=!1)},convertFrom:(e,n,t)=>{var a,o,l,r;return n==="mode"?((a=e.filter)==null?void 0:a.mode)||"server":n==="filterStyle"?((o=e.filter)==null?void 0:o.filterStyle)||"filter-column":n==="enable"?((l=e.filter)==null?void 0:l.enable)!==void 0?!!e.filter.enable:!!e.enableFilter:((r=e.filter)==null?void 0:r[n])||void 0}},to={convertTo:(e,n,t,a)=>{e.rowOption?e.rowOption[n]=t:e.rowOption={[n]:t}},convertFrom:(e,n,t)=>{if(e.rowOption){if(n==="customRowStyle")return e.rowOption.customRowStyle;if(n==="customCellStyle")return e.rowOption.customCellStyle;if(n==="height")return e.rowOption.height}return""}},no={convertTo:(e,n,t,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[n]=t,n==="columnTemplateType"&&t==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
61
61
  <span class="f-pretend-link f-cursor-pointer"
62
62
  :title="rowData.${e.field}"
63
63
  @click="(ctx)=>viewModel.current.${e.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
@@ -66,4 +66,4 @@
66
66
  <span class="f-pretend-link f-cursor-pointer"
67
67
  :title="rowData.${e.field}">
68
68
  {{rowData.${e.field}}}
69
- </span>`),n==="columnTemplateType"&&t==="default"&&(e.columnTemplate=""),n==="columnTemplateType"&&t==="custom"&&(e.columnTemplate=""))},convertFrom:(e,n,t)=>n==="columnTemplate"?e.columnTemplate:n==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""},no={convertTo:(e,n,t,a)=>{e.hierarchy||(e.hierarchy={cascadeOption:{}}),e.hierarchy.cascadeOption||(e.hierarchy.cascadeOption={}),e.hierarchy.cascadeOption[n]=t},convertFrom:(e,n,t)=>{var a,o;return!!((o=(a=e.hierarchy)==null?void 0:a.cascadeOption)!=null&&o[n])}},ao={convertFrom:(e,n,t)=>e.uploadOptions?e.uploadOptions[n]:void 0,convertTo:(e,n,t,a)=>{e.uploadOptions||(e.uploadOptions={}),e.uploadOptions[n]=t}};function Bn(e,n,t,a){const o=new Map([["/converter/appearance.converter",Mi],["/converter/buttons.converter",Di],["/converter/property-editor.converter",Bi],["/converter/items-count.converter",Ji],["/converter/type.converter",Ai],["/converter/change-editor.converter",Ri],["/converter/change-formatter.converter",ji],["/converter/column-command.converter",$i],["/converter/column-option.converter",qi],["/converter/summary.converter",_i],["/converter/group.converter",Ui],["/converter/form-group-label.converter",Yi],["/converter/field-selector.converter",zi],["/converter/pagination.converter",Hi],["/converter/row-number.converter",Wi],["/converter/grid-selection.converter",Gi],["/converter/size.converter",Qi],["/converter/change-formatter-enum.converter",Xi],["/converter/grid-sort.converter",Zi],["/converter/grid-filter.converter",Ki],["/converter/row-option.converter",eo],["/converter/change-formatter-type.converter",to],["/converter/upload-options.converter",ao],["/converter/tree-auto-check.converter",no]]),l=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}],["multiLanguage",{type:"language-textbox"}]]),r=Ni();function p(y,h){return()=>r.parseValueSchema(y,h)}function d(y,h,f){return y.includes("visible")&&h.visible!==void 0?typeof h.visible=="boolean"?()=>!!h.visible:h.visible===void 0?!0:p(h.visible,f):()=>!0}function c(y,h,f){return y.includes("readonly")&&h.readonly!==void 0?typeof h.readonly=="boolean"?()=>!!h.readonly:p(h.readonly,f):()=>!1}function u(y,h){const f=y.$converter||h;return typeof f=="string"&&f&&o.has(f)?o.get(f)||null:f||null}function s(y,h,f,b,v,C="",T=""){return Object.keys(y).map(x=>{const w=i.ref(1),E=x,I=y[x],L=Object.keys(I),P=I.title,N=I.type,V=l.get(N)||{type:"input-group",enableClear:!1},D=I.editor?Object.assign({},V,I.editor):Object.assign({},V),R=d(L,I,h),W=c(L,I,h);D.readonly=D.readonly===void 0?W():D.readonly;const $=I.type==="cascade"?s(I.properties,h,f,b,v,C,T):[],_=!0;let k=u(I,T);const j=i.computed({get(){if(w.value){if(["class","style"].find(de=>de===E)&&!k&&(k=o.get("/converter/appearance.converter")||null),k&&k.convertFrom){const de=k.convertFrom(f,x,v,C);return de===void 0&&Object.prototype.hasOwnProperty.call(I,"defaultValue")?I.type==="boolean"?I.defaultValue:I.defaultValue||"":de}const te=f[x];return Object.prototype.hasOwnProperty.call(I,"defaultValue")&&(te===void 0||typeof te=="string"&&te==="")?I.type==="boolean"?I.defaultValue:I.defaultValue||"":te}return null},set(te){w.value+=1,k&&k.convertTo?(k.convertTo(b,x,te,v,C),k.convertTo(f,x,te,v,C)):(b[x]=te,f[x]=te)}}),{refreshPanelAfterChanged:z,description:Y,isExpand:ie,parentPropertyID:me}=I,oe={propertyID:E,propertyName:P,propertyType:N,propertyValue:j,editor:D,visible:R,readonly:W,cascadeConfig:$,hideCascadeTitle:_,refreshPanelAfterChanged:z,description:Y,isExpand:ie,parentPropertyID:me};return h[E]=oe,oe})}function g(y,h,f={}){const b={},v=e[y];return v&&v.categories?Object.keys(v.categories).map(T=>{const F=v.categories[T],x=F==null?void 0:F.title,w=s(F.properties||{},b,{},f,h);return{categoryId:T,categoryName:x,properties:w}}):[]}function S(y,h,f,b,v=""){const C=h.$ref.schema,T=h.$ref.converter,F=f[C],x=F.type,w=t(F),E={},I=e[x];if(I&&I.categories){const L=I.categories[y],P=L==null?void 0:L.title;T&&Object.keys(L.properties).forEach(D=>{L.properties[D].$converter=T});const N=(L==null?void 0:L.properties)||{},V=s(N,E,w,F,b,v);return{categoryId:y,categoryName:P,properties:V}}return{categoryId:y,categoryName:"",properties:[]}}function m(y,h,f,b,v){const C=y.type,T=t(y),F={};let x=v||e[C];!(x&&Object.keys(x).length>0)&&f&&f.getPropConfig&&(x=f.getPropConfig(b));const E=a==null?void 0:a[C];if(E!=null&&E.categories&&x){let I;const L=E._resolver;if(L&&(f!=null&&f.getDesignerHostService)){const P=f.getDesignerHostService();if(P!=null&&P.formSchemaUtils){const N=P.formSchemaUtils.getViewModelIdByComponentId(b)||"",V=Fn(P,N,b,P==null?void 0:P.designerContext),D={propertyData:y,componentId:b,designerHostService:P,viewModelId:N,getPropertyEditorParams:(R,W,$,_)=>V(y,R,W,$,_)};try{const R=L(D);R!=null&&R.categories&&(I=R.categories)}catch(R){console.warn("[PropertyConfigResolver] propertyConfigResolver 执行异常,已跳过动态配置",R)}}}x.categories||(x.categories={}),Object.keys(E.categories).forEach(P=>{const N=E.categories[P],V=x.categories[P];V?(V.properties||(V.properties={}),Object.assign(V.properties,N.properties||{}),!V.title&&N.title&&(V.title=N.title),V.tabId===void 0&&N.tabId!==void 0&&(V.tabId=N.tabId),V.tabName===void 0&&N.tabName!==void 0&&(V.tabName=N.tabName),V.hideTitle===void 0&&N.hideTitle!==void 0&&(V.hideTitle=N.hideTitle),V.setPropertyRelates===void 0&&N.setPropertyRelates&&(V.setPropertyRelates=N.setPropertyRelates),V.parentPropertyID===void 0&&N.parentPropertyID!==void 0&&(V.parentPropertyID=N.parentPropertyID)):x.categories[P]=N}),I&&Object.keys(I).forEach(P=>{const N=I[P],V=x.categories[P];V?(V.properties||(V.properties={}),Object.assign(V.properties,N.properties||{}),!V.title&&N.title&&(V.title=N.title),V.tabId===void 0&&N.tabId!==void 0&&(V.tabId=N.tabId),V.tabName===void 0&&N.tabName!==void 0&&(V.tabName=N.tabName),V.hideTitle===void 0&&N.hideTitle!==void 0&&(V.hideTitle=N.hideTitle),V.setPropertyRelates===void 0&&N.setPropertyRelates&&(V.setPropertyRelates=N.setPropertyRelates),V.parentPropertyID===void 0&&N.parentPropertyID!==void 0&&(V.parentPropertyID=N.parentPropertyID)):x.categories[P]=N})}if(x&&x.categories){const I=[];return Object.keys(x.categories).map(L=>{const P=x.categories[L];if(P.$ref){I.push(S(L,P,y,h,b));return}const N=P==null?void 0:P.title,V=P==null?void 0:P.tabId,D=P==null?void 0:P.tabName,R=P==null?void 0:P.hide,W=P==null?void 0:P.hideTitle,$=s(P.properties||{},F,T,y,h,b,P.$converter),{setPropertyRelates:_}=P,k=P==null?void 0:P.parentPropertyID;I.push({categoryId:L,categoryName:N,tabId:V,tabName:D,hide:R,properties:$,hideTitle:W,setPropertyRelates:_,parentPropertyID:k})}),I}return[]}return{getPropertyConfigBySchema:m,getPropertyConfigByType:g,propertyConverterMap:o}}const On={},An={};Bn(On,An,ki);const Rn={},jn={},{resolveSchemaWithDefaultValue:io}=Nn(Rn,jn),$n={},qn={};Bn($n,qn,io,{});function oo(e,n,t=new Map,a=(r,p,d,c)=>p,o={},l=r=>r){return Mn[n.title]=n,Dn[n.title]=a,On[n.title]=o,An[n.title]=l,Rn[n.title]=n,jn[n.title]=a,$n[n.title]=o,qn[n.title]=l,(r={},p=!0)=>{if(!p)return Li(r,t);const d=Ei(r,n,t),c=Object.keys(e).reduce((u,s)=>(u[s]=e[s].default,u),{});return Object.assign(c,d)}}const lo=Object.assign({},dt,{componentId:{type:String,default:""}}),ro=oo(lo,fn,un,pn);Oe.install=e=>{e.component(Oe.name,Oe),e.component(Bt.name,Bt)},Oe.register=(e,n,t,a,o)=>{e["field-search-box"]=Oe,e["field-search-box-config"]=Bt,n["field-search-box"]=Ta,n["field-search-box-config"]=yi(o)},Oe.registerDesigner=(e,n,t)=>{e["field-search-box"]=gi,n["field-search-box"]=ro};const so=i.defineComponent({name:"MultiSearchBox",props:{fields:Array,defaultValue:Object},emits:["search"],setup(e,n){const t=i.inject(ke),{queryState:a,lookupOptions:o}=t.lookupStates,l=i.ref(e.defaultValue);return()=>i.createVNode("div",{class:"mb-2 mx-2"},[i.createVNode(Oe,{fields:e.fields,defaultValue:l.value,onChange:r=>n.emit("search",r)},null)])}});function Ot(e,n,t,a){const{lookupState:o,searchState:l,navigationState:r,queryState:p}=t,{searchFieldItems:d,navSearchFieldItems:c}=en(e,o,r),u=i.ref([]),s=i.ref([]);function g(v,C=!1){if(!v)return;let T=v;e.searchAnyField&&!e.enableMultiFieldSearch&&(T=[{label:a.searchColumns.allColumns||"所有列",value:"*"}].concat(v)),C?s.value=T:u.value=T}g(d.value),g(c.value,!0),i.watch(()=>d.value,v=>{g(v)}),i.watch(()=>c.value,v=>{g(v,!0)});function S(){const{displayType:v,treeToList:C}=t.lookupOptions,T=(v??"").toLowerCase();return(T===Se.Tree.toLowerCase()||T===Se.ListTree.toLowerCase())&&!C}function m(v){const C=e.enableMultiFieldSearch?v:{...v};if(n){l.navigation=C;return}l.default=C}const y=i.computed(()=>n?s.value||[]:u.value||[]);function h(v){return v?typeof v=="string"?{"*":{value:v,compare:Ae.SearchComparisonOperator.Contains,relation:Ae.SearchRelation.Or}}:"field"in v?{[v.field?String(v.field):"*"]:{value:v.value,compare:Ae.SearchComparisonOperator.Contains,relation:Ae.SearchRelation.Or}}:v:null}const f=i.computed(()=>{var v;return n?h((v=t.lookupOptions)==null?void 0:v.navDefaultQueryValue):p.value?{"*":{value:p.value,compare:Ae.SearchComparisonOperator.Contains,relation:Ae.SearchRelation.Or}}:null});function b(){if(e.enableSearchBar&&y.value.length>0)return e.enableMultiFieldSearch?i.createVNode(so,{fields:y.value,defaultValue:f.value,onSearch:m},null):i.createVNode("div",{class:"p-2"},[i.createVNode(Sa,{fields:y.value,id:e.id,showAllColumns:e.searchAnyField,isNavigation:n,onSearch:m,enableEqualSearch:e.enableEqualSearch&&!n&&!S(),exactLabel:a.searchColumns.exactLabel||"精确"},null)])}return{renderSearchBar:b}}function co(e,n){var se;const t=i.inject(Ye),a=i.inject(ke),o=i.inject(qe),{loadData:l,lookupStates:r,expandAllNodes:p,getFieldValue:d,getData:c}=a,{navigationState:u,pageInfoState:s,searchState:g,lookupOptions:S}=r,{renderSearchBar:m}=Ot(e,!0,r,o),y=Be(e,r),{checkPaination:h,navIsList:f,navIsTreeList:b,sortOption:v}=y,{updatePageInfo:C}=tn(e,s),T=i.ref([]),{buildGetChildrenQueryParams:F,loadChildNodes:x,flattenTreeNodes:w}=cn(r,y),{sortChanged:E,sortInfo:I}=Nt(u);if(f()){const J=h((se=e.navigation)==null?void 0:se.pagination);C(J,!0)}const L=Je(S,!0),P=i.ref(s.navigation),N="lookup-datagrid",V={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,keepSelectingOnClick:!1},D={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},R=i.ref(),W=i.ref(),$=i.ref("id");i.watch(()=>s.navigation,J=>{var H;P.value=J,(H=W.value)==null||H.updatePagination(J)});function _(J,H,ne){var ue,ge,B,M,U;if(J=J||[],f()){const X={total:H};if(ne){const{pageIndex:pe,pageSize:he,enablePager:Me,pageList:ht}=ne;Object.assign(X,{index:pe,size:he,enable:Me})}if(C(X,!0),(ue=W.value)==null||ue.updateDataSource(J),S.selectFirstNavItem&&J.length>0){const pe=d(J[0],$.value);W.value.selectItemByIds([pe]),(ge=W.value)==null||ge.activeRowById(pe)}}else if(b()&&((Array.isArray(g.navigation)?g.navigation.length>0:((B=g.navigation)==null?void 0:B.value)!==void 0)&&J.length>0&&(J[0]=p([J[0]],!0)[0]),(M=R.value)==null||M.updateDataSource(J),S.selectFirstNavItem&&J.length>0)){const pe=w([J[0]]).find(he=>!he.addtional&&(he.selectable===void 0||he.selectable));if(pe){const he=d(pe,$.value);R.value.clearSelection(),R.value.selectItemByIds([he]),(U=R.value)==null||U.activeRowById(he)}}}function k(J){var H,ne;J=kt(J,e.customNavFormatter),f()?(H=W.value)==null||H.updateColumns(J):b()&&((ne=R.value)==null||ne.updateColumns(J))}i.watch([()=>u==null?void 0:u.columns,()=>u==null?void 0:u.items,()=>u==null?void 0:u.pageInfo,()=>u==null?void 0:u.total],([J,H,ne,ue])=>{J&&k(J),(e.enableMultiFieldSearch||!S.navDefaultQueryValue)&&_(H,ue||0,ne)}),i.watch(()=>u==null?void 0:u.idField,J=>{$.value=J||"id"});function j(J){var H;T.value=J,(!J||!J.length)&&((H=R.value)==null||H.activeRowById(""))}const z=re.debounce(J=>{j(J)},50);function Y(J){var H;T.value=J,(!J||!J.length)&&((H=W.value)==null||H.activeRowById(""))}function ie(){const J={search:g.navigation,action:"navsearch"};I.value&&(J.sort=I.value),l(J,H=>{H.columns&&k(H.columns),_(H.items,H.total||0,H.pageInfo)})}i.watch(()=>g.navigation,J=>{if(S.uri){C({index:1},!0),ie();return}n.emit("search",J)});function me({pageSize:J,pageIndex:H}){var ge;let ne=H;((ge=P.value)==null?void 0:ge.size)!==J&&(ne=1);const ue={size:J,index:ne};if(C(ue,!0),S.uri){ie();return}n.emit("pageSizeChanged",ue)}function oe(J){if(R.value.hasChildren(J))return Promise.resolve();const H=J.raw.id,ne=F(J,g.navigation,!0);return c(ne).then(ue=>{x((ue==null?void 0:ue.items)??[],H,R.value)})}function te(J){E(J),ie()}function de(){return i.createVNode(bt.FTreeGrid,{ref:R,id:A.locatorChild(e.id,"nav-grid").id,fit:!0,idField:$.value,rowNumber:{enable:!1},columnOption:D,selection:V,virtualized:!0,showBorder:!0,rowOption:t,hierarchy:rn,onSelectionUpdate:z,loadData:oe,sort:v,onSortChanged:te},null)}function ye(){return i.createVNode(lt.FDataGrid,{ref:W,customClass:N,id:A.locatorChild(e.id,"nav-grid").id,pagination:P.value,summary:{enable:!1},columnOption:D,idField:$.value,rowNumber:{enable:!1},showBorder:!0,fit:!0,virtualized:!0,selection:V,onSelectionUpdate:Y,onChanged:me,rowOption:L,sort:v,onSortChanged:te},null)}function q(){if(b())return de();if(f())return ye()}function Z(){return i.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[e.showNavSearchBar&&m(),i.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[q()])])}function ae(){return $.value}function le(J){return u.relations&&u.relations.length?u.relations.map(ne=>{const{groupField:ue,helpField:ge}=ne,B={fieldName:ge,fieldValue:""},M=J.map(U=>d(U,ue));return B.fieldValue=M.join(","),B}):""}return{renderNavigation:Z,selectedItems:T,getNavigationIdField:ae,getRelationFilter:le}}function uo(e){function n(){const{navDefaultQueryValue:t,enableMultiFieldSearch:a}=e;if(a)return null;const o=r=>r!==null&&typeof r=="object"&&("field"in r||"value"in r);let l={field:"*",value:"",isNavigation:!0};return t&&(typeof t=="string"?l={field:"*",value:t,isNavigation:!0}:o(t)&&(l=Object.assign(l,t))),l}return{getNavigationDefaultSearchValue:n}}function fo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const po=i.defineComponent({name:"LookupContainer",props:$e,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch","dblClickRow"],setup(e,n){i.inject(je,i.ref(ve.dataList));const t=i.inject(ke),a=i.inject(qe),{lookupStates:o,getIdQueryParams:l}=t,{lookupState:r,navigationState:p,queryState:d,lookupOptions:c,searchState:u}=o,{renderSearchBar:s}=Ot(e,!1,o,a),{isDoubleList:g,getNavigationSize:S,isTreeList:m}=Be(e,o),{renderNavigation:y,selectedItems:h,getNavigationIdField:f,getRelationFilter:b}=co(e,n),{renderTreeGrid:v,unwatches:C}=dn(e,n),{renderDataGrid:T,unwatches:F}=ln(e,n,{navSelectedItems:h,getNavigationIdField:f,getRelationFilter:b}),{getNavigationDefaultSearchValue:x}=uo(c),w=i.computed(()=>m()?v:T),E=S();function I(N){var D;const V=(D=c.dialog)==null?void 0:D.title;V&&V!==St&&(N=V),n.emit("changeDialogOptions",{title:N})}function L(N,V){r.action=V,m()?F():C(),N.navigation&&(Object.keys(N.navigation).forEach(R=>{var W;p[R]=(W=N.navigation)==null?void 0:W[R]}),N.navigation.treeInfo&&(t==null||t.setTreeInfo(N.navigation.treeInfo,!0)),delete N.navigation),N.treeInfo&&(t==null||t.setTreeInfo(N.treeInfo)),Object.keys(N).forEach(R=>{r[R]=N[R]});const D=x();D!=null&&(u.navigation=D)}function P(){const N={};e.enableToSelect&&(N.selectedInfo=l()),d.value!=null&&(N.search={field:"*",value:d.value,type:"like"},N.action="search"),t==null||t.loadData(N,V=>{i.nextTick(()=>{L(V,(N==null?void 0:N.action)||""),I(V.title||"")})})}return i.onMounted(()=>{P(),document.body.classList.add("lookup-modal-open")}),i.onUnmounted(()=>{document.body.classList.remove("lookup-modal-open")}),()=>{let N;return i.createVNode(yt.FLayout,null,{default:()=>[g()&&e.showNavigation&&!A.isMobilePhone()&&i.createVNode(yt.FLayoutPane,{position:"left",width:E==null?void 0:E.width,minWidth:E==null?void 0:E.minWidth},fo(N=y())?N:{default:()=>[N]}),i.createVNode(yt.FLayoutPane,{position:"center"},{default:()=>[i.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[s(),i.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[w.value()])])]})]})}}}),mo={id:{type:String,default:""},multiSelect:{type:Boolean,default:!1},idField:{type:String,default:"id"},displayType:{type:String,default:"list"},selectedIds:{type:Array,default:[]},showSelections:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!0},customFormatter:{type:Object,default:null}},ho=i.defineComponent({name:"FLookupFavorite",props:mo,emits:["dblClickRow"],setup(e,n){const t=i.inject(Ye),{userDataState:a,getFavoriteData:o}=i.inject(ct),l=i.inject(je,i.ref(ve.dataList)),r=i.inject(_e),p=i.inject(ke),{lookupStates:d,expandAllNodes:c}=p,u=Je(d.lookupOptions),s=i.computed(()=>d.lookupOptions.idField||"id"),g=i.ref(e.selectedIds),{setColumns:S,removeFavoriteItem:m}=Et(e,s.value),{isTreeList:y}=Be(e,d),{updateSelections:h,unSelectTreeNode:f,selectTreeNodes:b}=r,v=i.ref(),C=i.ref(),T=i.computed(()=>y()?C.value:v.value);Lt(e,T,d);function F(){return a.data&&a.data.favorites&&a.data.favorites.length}function x($){T.value.clearSelection(),$&&$.length&&(T.value.selectItemByIds($),e.multiSelect||T.value.activeRowById($[0]))}i.watch(()=>e.selectedIds,($,_)=>{JSON.stringify($)!==JSON.stringify(_)&&(g.value=$,g.value.length?x(g.value):T.value.clearSelection())});function w($,_){_&&_.length&&S(T.value,_,y()),$&&(y()&&($=c($)),T.value.updateDataSource($||[])),x(g.value||[])}function E(){o().then($=>{$?w($.items||[],$.columns):w([],null)})}i.watch(()=>l.value,($,_)=>{var k;$===ve.favorite&&(F()?E():w([],(k=d.lookupState)==null?void 0:k.columns))}),i.watch(()=>m.value,($,_)=>{l.value===ve.favorite&&$&&(y()?E():w(a.favoriteItems||[],null),m.value=!1)});const I={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},L={enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"OnCheckAndClick"};function P($){y()?b($):h($)}function N($){y()?f($):h($==null?void 0:$.raw,!1)}function V($,_){e.multiSelect||(h([_]),n.emit("dblClickRow",{items:[_]}))}function D($){const{node:_}=$;e.multiSelect||(h([_]),n.emit("dblClickRow",{items:[_]}))}function R(){return i.createVNode(bt.FTreeGrid,{ref:C,id:A.locatorChild(e.id,"fav-grid").id,fit:!0,idField:s.value,rowNumber:{enable:!1},columnOption:I,selection:L,showBorder:!0,virtualized:!0,rowOption:t,onSelectionUpdate:P,onUnSelectItem:N,onDblclickNode:D},null)}function W(){return i.createVNode(lt.FDataGrid,{ref:v,id:A.locatorChild(e.id,"fav-grid").id,pagination:{enable:!1},summary:{enable:!1},columnOption:I,idField:s.value,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:L,rowOption:u,onSelectionUpdate:P,onUnSelectItem:N,onDoubleClickRow:V},null)}return()=>y()?R():W()}}),go={id:{type:String},title:{type:String},height:{type:Number,default:50},draggable:{type:Boolean,default:!0},enableFavorite:{type:Boolean,default:!1},useHttpComposition:{type:Object,default:{}},userDataService:{type:Object,default:{}},useDialog:{type:Object,default:{}},selectionsManager:{type:Object,default:{}},showSelectedList:{type:Boolean,default:!1},showIncludeChildNodes:{type:Object,default:{show:!0,value:!1}},showCascadeControl:{type:Boolean,default:!1},isMaximized:{type:Boolean,default:!1},locales:{type:Object,default:{}},customFormatter:{type:Object,default:null}},yo={id:{type:String,default:""},idField:{type:String,default:"id"},parentRef:{type:Object,default:null},popoverOffsetX:{type:Number,default:0},customFormatter:{type:Object,default:null}},bo=i.defineComponent({props:yo,setup(e,n){const t=i.inject("FMessageBoxService"),a=i.inject(_e),o=i.inject(ke),{lookupState:l,selectionState:r,lookupOptions:p}=o.lookupStates,d=Je(p),c=i.inject(qe),{clearSelections:u,unSelectionsByIds:s}=a,g=i.ref(),S=i.computed(()=>g),m=i.ref(),y=i.ref(e.popoverOffsetX||-15);i.watch(()=>e.popoverOffsetX,D=>{y.value=D});const h=i.computed(()=>y.value===-15?10:100),f=i.ref(e.parentRef),b="_remove_selected_";function v(D,R,W){D.stopPropagation();const $=R.raw[e.idField];s($)}const C={field:b,title:"",width:50,fixed:"right",align:"center",formatter:(D,R)=>i.createVNode("button",{type:"button",onClick:W=>{v(W,R)},class:"btn btn-link f-icon f-icon-x p-0",style:"color: #dd2438;"},null)},T=i.computed(()=>{const D=re.cloneDeep((l==null?void 0:l.columns)||[]);return D.length?(D.push(C),D):[]});i.watch(()=>e.parentRef,D=>{f.value=D});const F={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},x={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,showSelectAll:!1,multiSelectMode:"OnCheckAndClick"},w=i.ref({width:"0px",height:"0px"});let E;function I(){var _,k;const D=((_=f.value)==null?void 0:_.offsetHeight)-100,R=200,W=r.value.length*28+60,$=W>D?D:W<R?R:W;w.value={width:((k=f.value)==null?void 0:k.offsetWidth)-20+"px",height:$+"px"}}i.watch(()=>m.value,D=>{if(D){const R=kt(T.value,p.customFormatter);D.updateColumns(R),D.updateDataSource(re.cloneDeep(r.value||[])),I()}}),i.watch(()=>r.value,D=>{var R;(R=m.value)==null||R.updateDataSource(re.cloneDeep(D||[]),{keepScrollTop:!0})}),i.watch(()=>f.value,D=>{E=new ResizeObserver(()=>{f.value&&I()}),E.observe(f.value)});const L=i.computed(()=>(r.value||[]).length>0),P=i.computed(()=>({display:"flex","align-items":"center",opacity:L.value?1:.4,cursor:L.value?"pointer":"not-allowed",pointerEvents:L.value?"auto":"none"}));function N(){const D=c==null?void 0:c.messages.clearSelections;t==null||t.question(D,"",()=>{u()})}i.onMounted(()=>{I()}),i.onUnmounted(()=>{E&&f.value&&E.unobserve(f.value)});function V(){var D;(D=S.value)==null||D.value.hide()}return n.expose({hidePopup:V}),()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{class:"d-flex flex-row align-items-center",style:"line-height:24px"},[i.withDirectives(i.createVNode("div",{style:P.value,innerHTML:c.buttons.selectionTotal(r.value.length)},null),[[i.resolveDirective("popover"),S.value,"toggle"]]),L.value&&i.createVNode("button",i.mergeProps(A.locatorChild(e.id,"selected-clear"),{class:"btn btn-link btn-sm p-0 pl-2",style:"line-height:24px",onClick:N}),[c.buttons.clear])]),i.createVNode(Zn,{id:A.locatorChild(e.id,"selected-popover").id,customStyles:{filter:"drop-shadow(#c5c5c5 0px 0px 6px)"},offsetX:y.value,arrowOffsetX:h.value,ref:g,placement:"top-left",keepWidthWithReference:!1,fitContent:!0},{default:()=>{var D;return[i.createVNode("div",{style:w.value},[((D=g.value)==null?void 0:D.isShow)&&i.createVNode(lt.FDataGrid,{ref:m,id:A.locatorChild(e.id,"selected-grid").id,pagination:{enable:!1},summary:{enable:!1},columnOption:F,idField:e.idField,rowNumber:{enable:!1},showBorder:!1,virtualized:!0,fit:!0,rowOption:d,selection:x},null)])]}})])}}),vo=i.defineComponent({props:{id:{type:String,default:""},modelValue:{type:Boolean,default:!1},label:{type:String,default:"包含下级"}},emits:["update:modelValue"],setup(e,n){const t=i.ref(e.modelValue);function a(o){o.stopPropagation(),t.value=!t.value,n.emit("update:modelValue",t.value)}return()=>i.createVNode("div",{class:"custom-control custom-checkbox mb-0",onClick:a},[i.withDirectives(i.createVNode("input",i.mergeProps(A.locatorAttrs(e.id),{"onUpdate:modelValue":o=>t.value=o,title:"checkbox-input",type:"checkbox",class:"custom-control-input"}),null),[[i.vModelCheckbox,t.value]]),i.createVNode("label",{class:"custom-control-label",style:"padding-left: 1.2rem;",for:e.id||void 0},[e.label])])}}),Co=i.defineComponent({name:"FLookupCascadeSelector",props:["modelValue"],emits:["update:modelValue"],setup(e,n){const t=i.inject(qe),a=i.ref(),o=i.ref(e.modelValue);return i.watch(()=>o.value,(l,r)=>{l!==r&&n.emit("update:modelValue",l)}),rt.forEach(l=>{l.text=t.tree[l.value]}),()=>i.createVNode("div",{style:"width: 130px",class:"ml-3"},[i.createVNode(jt.FComboList,{ref:a,data:rt,textField:"text",valueField:"value",idField:"value",modelValue:o.value,"onUpdate:modelValue":l=>o.value=l,enableClear:!1,minPanelWidth:130,placement:"top-left"},null)])}}),So=i.defineComponent({name:"FLookupModalContainer",props:go,emits:["closeModal","maximize"],setup(e,n){const t=i.ref(ve.dataList);i.provide(je,t),i.provide(ke,e.useHttpComposition),i.provide(ct,e.userDataService),i.provide(_e,e.selectionsManager),i.provide(qe,e.locales);const{tabs:a,buttons:o,tree:l}=e.locales,r=i.reactive(e.showIncludeChildNodes),p=i.ref(r.value),{lookupOptions:d}=e.useHttpComposition.lookupStates,c=d.dialog,u=i.computed(()=>(d.displayType??"").toUpperCase()===Se.TreeList),s=sn(d,u.value);i.provide(Ye,s);const g=i.ref(e.isMaximized);i.watch(()=>e.isMaximized,(V,D)=>{g.value=V});const S=i.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:g.value}));i.ref();const m=i.computed(()=>r.show&&t.value===ve.dataList&&d.displayType&&u.value&&!A.isMobilePhone()),y=i.computed(()=>m.value?-99:-15);i.watch(()=>p.value,(V,D)=>{e.useHttpComposition.updateIncludeChilds(V)}),i.watch(()=>e.showIncludeChildNodes,(V,D)=>{r.value=V,e.useHttpComposition.updateIncludeChilds(V.value)});const{userDataState:h}=e.userDataService,{cancelDialog:f,submitDialog:b}=e.useDialog,v=i.ref(),C=i.ref();function T(V){n.emit("maximize",V)}function F(V){n.emit("closeModal",V)}async function x(V){await b()&&F(V)}async function w(V){await f()&&F(V)}function E(V){t.value=V,h.data.tabIndex=V}const I=i.computed(()=>({transform:`translate3d(${t.value===ve.favorite?84:0}px, 0px, 0px)`})),L=i.computed(()=>V=>({visibility:t.value===V?"visible":"hidden",position:"absolute",top:0,transition:"all 0.3s ease-in",opacity:t.value===V?1:0})),P=i.computed(()=>{const V=e.enableFavorite?"50%":"100%",D=e.enableFavorite?100:80,R=c.showMaxButton||c.showCloseButton?D:0;return{maxWidth:`calc(${V} - ${R}px)`}});function N(V){V.stopPropagation(),document.body.click()}return i.onMounted(()=>{var V;h.data.favorites&&h.data.favorites.length&&(t.value=((V=h.data)==null?void 0:V.tabIndex)||ve.dataList),m.value&&e.useHttpComposition.updateIncludeChilds(p.value)}),()=>i.createVNode("div",{class:"d-flex flex-column h-100 lookup-modal",ref:v},[i.createVNode("div",{class:"d-flex justify-content-between align-items-center px-3 lookup-modal-header"},[i.createVNode("div",{class:"lookup-modal-header-title",title:e.title,style:P.value},[e.title]),e.enableFavorite&&i.createVNode("div",{class:"d-flex justify-content-center w-100"},[i.createVNode("div",{class:"lookup-modal-header-tabs-container d-flex",onMousedown:N},[i.createVNode("div",{class:"active-tab",style:I.value},null),i.createVNode("div",i.mergeProps(A.locatorChild(e.id,"tab-datalist"),{class:["tab-item","d-flex",{active:t.value===ve.dataList}],onClick:()=>E(ve.dataList)}),[a.datalist]),i.createVNode("div",i.mergeProps(A.locatorChild(e.id,"tab-favorite"),{class:["tab-item","d-flex",{active:t.value===ve.favorite}],onClick:()=>E(ve.favorite)}),[a.favorite])])]),(c.showMaxButton||c.showCloseButton)&&i.createVNode("div",{class:"d-flex flex-row h-100 justify-content-end align-items-center lookup-modal-header-buttons",onMousedown:V=>V.stopPropagation()},[c.showMaxButton&&!A.isMobilePhone()&&i.createVNode("span",i.mergeProps(A.locatorChild(e.id,"maximize"),{class:S.value,onClick:T,style:"cursor: pointer"}),null),c.showCloseButton&&i.createVNode("span",i.mergeProps(A.locatorChild(e.id,"close"),{class:"f-icon modal_close ml-2",onClick:F,style:"cursor: pointer;position: relative;top: 1px;"}),null)])]),i.createVNode("div",{class:"f-utils-fill",style:"position: relative;"},[i.createVNode("div",{class:"h-100 d-flex flex-column f-utils-fill w-100",style:L.value(ve.dataList)},[n.slots.default&&n.slots.default()]),i.createVNode("div",{class:"h-100 d-flex flex-column px-2 f-utils-fill w-100",style:L.value(ve.favorite)},[n.slots.fav&&n.slots.fav()])]),i.createVNode("div",{class:"modal-footer"},[i.createVNode("div",{class:"f-utils-fill align-items-center d-flex flex-row"},[m.value&&i.createVNode(vo,{id:A.locatorChild(e.id,"include-childs").id,modelValue:p.value,"onUpdate:modelValue":V=>p.value=V,label:l.includechildren},null),e.showSelectedList&&i.createVNode(bo,{popoverOffsetX:y.value,customFormatter:e.customFormatter,parentRef:v.value,ref:C,id:e.id,idField:d.idField},null),e.showCascadeControl&&t.value===ve.dataList&&i.createVNode(Co,{modelValue:d.cascadeValue,"onUpdate:modelValue":V=>d.cascadeValue=V},null)]),i.createVNode("button",i.mergeProps(A.locatorChild(e.id,"btncancel"),{name:"cancel",type:"button",class:"btn btn-secondary",onClick:w}),[o.cancel]),i.createVNode("button",i.mergeProps(A.locatorChild(e.id,"btnok"),{name:"accept",type:"button",class:"btn btn-primary",onClick:x}),[o.ok])])])}});function pt(e,n){if(e.context){if(!n&&e.context.editor){for(const a in e.context.editor)delete e.context.editor[a];return}const{editor:t}=e.context;t?Object.assign(t,n):e.context.editor=n}}function To(e,n,t,{dictPicked:a,modelValue:o,buttonEditInstance:l,userDataService:r,useHttp:p,lookupLocales:d}){const c=i.inject(ot.F_NOTIFY_SERVICE_TOKEN,null),u=i.inject("FLoadingService"),s=i.ref(),g=i.ref("accept"),S=i.ref(),{lookupStates:m}=p,{queryState:y,lookupState:h,navigationState:f,pageInfoState:b,searchState:v,selectionState:C,lookupOptions:T}=m,{isDoubleList:F}=Be(e,m),x=Object.assign({},Wt,T.dialog);T.dialog=x;const w={position:"top-center"},E=()=>{const q=t.value.map(ae=>A.resolveField(ae,T.textField??"")).join(e.separator),Z=t.value.map(ae=>ae[T.idField??"id"]).join(e.separator);o.value=q,p.idValues.value=Z,n.emit("update:modelValue",q),n.emit("update:idValue",Z)};function I(q){if(typeof q=="boolean")return{shouldClose:q,message:""};if(typeof q=="object"&&q!==null){let Z;"closeDialog"in q&&q.closeDialog!==void 0?Z=typeof q.closeDialog=="boolean"?q.closeDialog:void 0:"canClose"in q&&q.canClose!==void 0&&(Z=typeof q.canClose=="boolean"?q.canClose:void 0);const ae=Z!==void 0?Z:!0,le="message"in q&&typeof q.message=="string"?q.message:"";return{shouldClose:ae,message:le}}return{shouldClose:!!q,message:""}}const L=async()=>{const q={items:t.value,mappingFields:T.mappingFields,options:{...T}};n.emit("update:dataMapping",q),pt(e,q);const Z=await a(q);return I(Z)};async function P(){return E(),await L()}function N(){return g.value="cancel",!0}const V=q=>{Object.keys(q).forEach(Z=>{delete q[Z]})},D=q=>{q.forEach(Z=>{V(Z)})};function R(){document.body.classList.remove("lookup-modal-open"),u==null||u.clearAll(),D([h,f,b,v,y]),C.value=[],S.value=null,y.value=null}async function W(){var Z;if(t.value.length===0)return c==null||c.warning({message:d.messages.mustChoosAdatarow,...w}),{shouldUpdate:!1};const q=await((Z=e.beforeSelectData)==null?void 0:Z.call(e,{items:t.value}))??!0;return{shouldUpdate:typeof q=="boolean"?q:(q==null?void 0:q.canSelect)??!0,message:q==null?void 0:q.message}}async function $(){const{shouldUpdate:q,message:Z}=await W();if(!q)return Z&&(c==null||c.warning({message:Z,...w})),!1;const ae=await P(),{shouldClose:le,message:se}=ae;return le?(g.value="accept",!0):(se&&(c==null||c.warning({message:se,...w})),!1)}function _(){const q=(x==null?void 0:x.height)||620,Z=(x==null?void 0:x.width)||590,ae=(x==null?void 0:x.minWidth)||300,le=(x==null?void 0:x.minHeight)||200,se={height:q,width:Z,minWidth:ae,minHeight:le};return F()&&(se.width=(x==null?void 0:x.width)||960),se}const{width:k,height:j,minHeight:z,minWidth:Y}=_(),ie=!0,me=ie&&((x==null?void 0:x.resizeable)==null?!0:x==null?void 0:x.resizeable);x.rememberSize=x.rememberSize&&me;const oe=async q=>{if(R(),n.emit("dialogClosed",q),T.onDialogClosed)return new Promise(Z=>{})},te={title:x==null?void 0:x.title,fitContent:!1,showHeader:!1,dragHandle:".lookup-modal-header",height:j,width:k,minWidth:Y,minHeight:z,useTransform:!1,resizeable:me,draggable:ie,enableEsc:(x==null?void 0:x.enableEsc)==null?!0:x==null?void 0:x.enableEsc,maximized:(x==null?void 0:x.fullscreen)==null?!1:x==null?void 0:x.fullscreen,closedCallback:(q,Z)=>{const ae={type:g.value,button:q==null?void 0:q.target};if((Z==="esc"||Z==="icon")&&(ae.type="esc"),ae.type==="accept"&&(ae.items=t.value),(ae.type==="cancel"||ae.type==="esc")&&(e.allowFreeInput||(o.value=e.modelValue)),r){r.saveUserData().then(()=>{oe(ae)});return}oe(ae)},showButtons:!1,resizeHandle:q=>{if(x.rememberSize){s.value=q;const{width:Z,height:ae}=q.newSize.size;!(q.isMaximized??!1)&&r.setDialogSize({width:Math.round(Z),height:Math.round(ae)})}},enableEnter:!0,onEnter:q=>{q.event.preventDefault(),!q.event.target.closest(".fv-lookup-search-bar")&&$().then(ae=>{var le;if(ae){const se=(le=l.value)==null?void 0:le.getModal();se&&se.close(q.event,"enter")}})}};async function de(){var q;if((e.enableUserData||e.enableFavorite)&&e.openType==="Modal"&&(await r.getUserData(),(q=r==null?void 0:r.userDataState)!=null&&q.data&&x.rememberSize)){const{size:Z}=r.userDataState.data;Z&&Object.assign(te,Z)}}async function ye(q){let Z=!0;const ae=e.dictPicking;if(ae&&typeof ae=="function"){const le=await ae({customData:S,options:T,idValue:p.idValues,instance:m.compatInstance});if(typeof le=="boolean"&&!le&&(Z=!1),typeof le=="object"&&le!==null){let se=!0;"canOpen"in le?se=typeof le.canOpen=="boolean"?le.canOpen:!0:"showDialog"in le&&(se=typeof le.showDialog=="boolean"?le.showDialog:!0),se?le.data&&(S.value=le.data):(Z=!1,le.message&&(c==null||c.error({message:le.message,position:"top-center"})))}}return Z&&(Object.assign(te,{maximized:(x==null?void 0:x.fullscreen)??!1,width:(x==null?void 0:x.width)??k,height:(x==null?void 0:x.height)??j,minWidth:(x==null?void 0:x.minWidth)??Y,minHeight:(x==null?void 0:x.minHeight)??z,title:x==null?void 0:x.title}),await de()),Z}return{modalOptions:te,beforeOpenDialog:ye,dialogSize:s,customData:S,updateModelValue:P,cancelDialog:N,submitDialog:$,destroyed:R,setModelAndIdValue:E,runDictPickedAsync:L}}function xo(e){return{dictPicked:async({items:t,mappingFields:a})=>e.dictPicked&&typeof e.dictPicked=="function"?await e.dictPicked({items:t,mappingFields:a})??!0:!0}}function At(e,n,t,a){if(!e.editable)return;const o={items:null,mappingFields:a.mappingFields,isFreeInput:!0,options:{...a}};n.emit("clearMapping",o),n.emit("update:modelValue",t),n.emit("update:idValue",""),pt(e,o)}function Fo(e,n,t){const a=i.computed(()=>e.textChangeType==="blur"||e.textChangeType==="any"),o=i.computed(()=>e.textChangeType==="enter"||e.textChangeType==="any"),{beforeOpenDialog:l,updateModelValue:r,selectedItems:p,openDialog:d,lookupOptions:c,useHttpComposition:u,isPopuped:s,usePopupComposition:g,modelValue:S}=t,{updateSearchFieldTitle:m}=u,{lookupState:y,queryState:h,searchValueChanged:f}=u.lookupStates,b=i.ref(!1);function v(I){return re.isEmpty(I)&&f.value&&!s.value?(b.value=!0,f.value=!1,!1):f.value}function C(I){var P;if(!I||I.length!==1)return;const[L]=I;return(P=L.children)!=null&&P.length?C(L.children):L.data}function T(I,L){var N;if(!L||L.length!==1)return!1;const[P]=L;return I?(N=P.children)!=null&&N.length?C(P.children):P.data:P}async function F(I){const L={search:{field:"*",value:I,type:e.openType==="Modal"?"equal":"like"},action:"search"};if(f.value){if(e.openType==="Modal"&&!await l()){S.value=e.modelValue??"",h.value=null;return}document.body.classList.add("lookup-modal-open"),u.loadData(L,async P=>{var N;if(P.searchFields&&P.columns){const V=m(P.searchFields,P.columns);y.searchFields=V}if(f.value=!1,e.openType==="Modal"){const V=T(((N=P.displayType)==null?void 0:N.toLowerCase())==="treelist",P.items);if(V){p.value=[V],r(),h.value=null,document.body.classList.remove("lookup-modal-open");return}d()}else y.action=I?"search":"list",y.items=P.items,y.total=P.total,y.selectedData=P.selectedData||[],P.pageInfo&&(y.pageInfo={...P.pageInfo})})}}function x(I,L){var N;let P=(N=I.target)==null?void 0:N.value;if(P!==""&&(P=P.trim()),v(P)){if(e.allowFreeInput)if(e.openType==="Modal"){At(e,n,P,c);return}else{const{popupState:V}=g;V.canClose=!0,p.value=[],At(e,n,P,c)}if(e.openType!=="Modal"&&!s.value){l().then(V=>{V?(d(),f.value=!1):(S.value=e.modelValue??"",h.value=null)});return}c.uri?F(P):n.emit("textChanged",{value:P,type:L?"blur":"enter"})}}function w(I){a.value&&x(I,!0)}function E(I){I.key==="Enter"&&o.value&&x(I,!1)}return{changeOnBlur:a,changeOnEnter:o,onInputBlur:w,onEnterKeyDown:E,isClear:b,queryDataBySearchKeys:F}}const wo={height:{type:Number,default:500},width:{type:Number,default:500},useHttpComposition:{type:Object,default:{}},selectionsManager:{type:Object,default:{}},showSelectedList:{type:Boolean,default:!1},enableToSelect:{type:Boolean,default:!0},uri:{type:String,default:""},hidePopup:{type:Function,default:null},fitColumns:{type:Boolean,default:!0},openType:{type:String,default:"Popup"},pagination:{type:Object,default:{enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1}},displayType:{type:String,default:Se.List},loadTreeDataType:{type:String,default:Fe.all},expandLevel:{type:Number,default:0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!1},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeStatus:{type:String,default:"both"},enableSearchBar:{type:Boolean,default:!0},searchAnyField:{type:Boolean,default:!0},locales:{type:Object,default:{}},customFormatter:{type:Object,default:null}},Vo=i.defineComponent({name:"FLookupPopupContainer",props:wo,emits:["selectItemsChanged","hiddenPopup"],setup(e,n){const t=e.locales,{lookupStates:a,getIdQueryParams:o}=e.useHttpComposition,{lookupState:l,navigationState:r,queryState:p,lookupOptions:d}=a,{isTreeList:c}=Be(e,a);Ot(e,!1,a,t);const u=i.computed(()=>({width:`${e.width}px`,height:`${e.height}px`,padding:"5px"})),{renderDataGrid:s}=ln(e,n,{}),{renderTreeGrid:g}=dn(e,n),S=i.computed(()=>c()?g:s);function m(){const y={};e.enableToSelect&&(y.selectedInfo=o(),p.value!=null&&(y.search={field:"*",value:p.value,type:"like"},y.action="search"));const h=e.useHttpComposition;h==null||h.loadData(y,f=>{i.nextTick(()=>{l.action=y.action,f.navigation&&(Object.keys(f.navigation).forEach(b=>{var v;r[b]=(v=f.navigation)==null?void 0:v[b]}),f.navigation.treeInfo&&(h==null||h.setTreeInfo(f.navigation.treeInfo,!0)),delete f.navigation),f.treeInfo&&(h==null||h.setTreeInfo(f.treeInfo)),Object.keys(f).forEach(b=>{l[b]=f[b]})})})}return i.onMounted(()=>{m()}),i.onUnmounted(()=>{n.emit("hiddenPopup")}),()=>i.createVNode("div",{style:u.value,class:"d-flex flex-column"},[S.value()])}});function Po(e,n,t,{useHttpComposition:a,selectionsManager:o,userDataService:l,updateModelValue:r,lookupLocales:p,destroyed:d,setModelAndIdValue:c,runDictPickedAsync:u,popupState:s}){i.provide(ct,l),i.provide(ke,a),i.provide(_e,o);const{selectionState:g,queryState:S,lookupOptions:m,searchState:y}=a.lookupStates,h=sn(m,!1);i.provide(Ye,h);const f=i.inject(ot.F_NOTIFY_SERVICE_TOKEN,null),{idValues:b}=a,v=i.computed(()=>{var N;const P=(N=t.value)==null?void 0:N.popoverRef;return P?P.shown:!1});async function C(){var D;if(!s.canClose)return!1;if(e.allowFreeInput&&!m.multiSelect&&S.value)return g.value=[],At(e,n,(D=t.value)==null?void 0:D.displayText,m),!0;if(!g.value.length)return c(),!0;let P=null;m.multiSelect?P=await u():P=await r();const{shouldClose:N,message:V}=P;return N?!0:(V&&(f==null||f.warning({message:V,position:"top-center"})),s.canClose=!1,!1)}async function T(){var P;(P=t.value)==null||P.hidePopup()}e.openType==="Popup"&&i.watch(()=>g.value,P=>{v.value&&e.multiSelect&&c()});const F=()=>{const{width:P,height:N}=e.dialog??{};return{width:P||460,height:N||380}},x=i.computed(()=>{var P;return(P=t.value)==null?void 0:P.popoverRef});async function w(){v.value&&T(),S.value=null,d(),n.emit("popupClosed"),s.canClose=!0,document.body.classList.remove("lookup-modal-open")}function E(){var P;v.value||(P=t.value)==null||P.showPopup()}function I(){s.canClose=!0,S.value=null,m.multiSelect||T()}function L(){const{width:P,height:N}=F();return i.createVNode(Vo,i.mergeProps({width:P,height:N,useHttpComposition:a,locales:p,selectionsManager:o,onHiddenPopup:w,onSelectionsChanged:I},e),null)}return{popoverInstance:x,isPopuped:v,renderPopup:L,showPopup:E,hidePopup:T,onBeforeClosePopup:C,popupState:s}}function Io(e,n){const t=i.reactive({});return t.http={getData:e.loader},i.watch(t,(a,o)=>{var l,r,p;for(const[d,c]of Object.entries(a)){const u=o[d];c!==u&&d in n&&(n[d]=c)}((l=a.http)==null?void 0:l.getData)!==((r=o.http)==null?void 0:r.getData)&&(n.loader=(p=a.http)==null?void 0:p.getData)},{deep:!0,immediate:!1}),i.onUnmounted(()=>{}),t}var Te=(e=>(e.List="LIST",e.Tree="TREELIST",e.NAVTREELIST="NAVTREELIST",e))(Te||{}),Le=(e=>(e.default="default",e.all="loadall",e.async="layerload",e))(Le||{}),Ce=(e=>(e.all="all",e.search="search",e.list="list",e.fav="fav",e.children="children",e.nav="nav",e.allChildren="allChildren",e))(Ce||{}),Rt=(e=>(e.pathcode="pathcode",e.parentId="parentId",e))(Rt||{});const xe="FTouchLookupPanel",ko={title:{type:String,default:""},displayType:{type:String,default:Te.List},idValue:{type:String,default:""},data:{type:Array,default:()=>[]},uri:{type:String,default:""},idField:{type:String,default:""},textField:{type:String,default:""},multiSelect:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},selectedLimit:{type:Number,default:0},selectedCollapseLimit:{type:Number,default:3},pageSize:{type:Number,default:20},enableFavorite:{type:Boolean,default:!1},settingKey:{type:String,default:""},enableSearch:{type:Boolean,default:!0},enableAvatar:{type:Boolean,default:!1},avatarField:{type:String,default:""},selectedData:{type:Object,default:null},searchField:{type:String,default:""},httpServiceToken:{type:[String,Symbol],default:null},beforeLoadData:{type:Function,default:null},separator:{type:String,default:","}},Eo={enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:Le.default}},_n={...ko,...Eo,...{}},Ve=(e="LookupPanelState")=>{const n=v=>{i.provide(e,v)},t=()=>i.inject(e,{}),a=(v,C)=>{const T=t();T[v]=C},{panelProps:o,panelContext:l,dataService:r,treeDataService:p,selectedService:d,searchService:c,settingService:u}=t(),s=i.computed(()=>r.listData.enableShow?r.listData.dataList:c.searchListData.enableShow?c.searchListData.dataList:u.favoriteListData.enableShow?u.favoriteListData.dataList:[]),g=v=>v[o.textField],S=v=>v[o.idField],m=()=>{r.resetListData(),c.resetListData(),u.resetListData(),c.searchListData.enableShow=!1,d.selectedListData.enableShow=!1,u.favoriteListData.enableShow=!1},y=()=>{m();const v=d.getTextValue();l.emit("confirm",v)};return{panelProps:o,panelContext:l,dataService:r,treeDataService:p,selectedService:d,searchService:c,settingService:u,showListData:s,setState:n,getState:t,addState:a,getTextValue:g,getIdValue:S,handleChange:(v,C=!0)=>{C=o.multiSelect?!1:C,d.toggleSelecte(v,C),l.emit("change",[v]),o.multiSelect||y()},handleCascadeSelect:async v=>{let C=[v];if(p.getLoadDataType()==="all")C.push(...p.getChildrens(v));else if(p.getLayerType()===Rt.pathcode){const x={loadDataType:Ce.allChildren,parentsIds:[p.getItemKey(v.data)]};C=(await r.fetchData(x)).items||[]}const F=C.map(x=>x.data);d.toggleSelecteAll(F),l.emit("change",F)},handleConfirm:y,handleClose:()=>{m(),l.emit("close")}}},Ke=e=>{const n=i.inject(e.httpServiceToken);return{getData:l=>n!=null&&n.getData?n.getData(e.uri,l):Promise.reject("HTTP服务错误!"),getSettings:async()=>{if(!(n!=null&&n.getSettings))return Promise.reject("HTTP服务错误!");const l=await n.getSettings(e.settingKey);return(l==null?void 0:l.textValue)||""},updateSettings:l=>n!=null&&n.updateSettings?n.updateSettings(e.settingKey,{configkey1:e.settingKey,textvalue:l}):Promise.reject("HTTP服务错误!")}},et=e=>{const n=(c={})=>{const{context:u,selectedInfo:s}=c,g={};return s&&(g.selectedInfo=s),u!=null&&u.data&&(g.customData=u.data),g},t=(c={})=>{const{pageIndex:u=1}=c;return{pageIndex:u,pageSize:e.pageSize}},a=(c,u={})=>{const{pageIndex:s=1,treeToList:g,enableFullTree:S,loadTreeDataType:m,parentsIds:y}=u;return c===Ce.search?{useFullTree:!1,enableFullTree:!1,loadTreeDataType:Le.all,pageSize:e.pageSize,pageIndex:s}:c===Ce.allChildren?{parentsIds:y}:{enableFullTree:S||e.enableFullTree,loadTreeDataType:m||e.loadTreeDataType||Le.default,treeToList:g}},o=(c,u={})=>{const{pageIndex:s=1,pageSize:g=0,relationFilter:S}=u;if(c===Ce.list)return{useFullTree:!1,enableFullTree:!1,loadTreeDataType:Le.all,pageSize:e.pageSize,pageIndex:s};const m={pageIndex:s,pageSize:g,useFullTree:!1,loadTreeDataType:e.loadTreeDataType||Le.default};return S&&(m.relationFilter=S),m},l=(c={})=>({enableFullTree:!1,pageIndex:1,pageSize:500,treeToList:!0}),r=(c,u)=>{const s=n(u);if(c===Ce.fav)return l(u);if(e.displayType===Te.List)return{...s,...t(u)};if(e.displayType===Te.Tree)return{...s,...a(c,u)};if(e.displayType===Te.NAVTREELIST)return{...s,...o(c,u)}},p=(c,u)=>{const s={category:c};return c===Ce.fav?s.favoriteIds=u==null?void 0:u.favoriteIds:c===Ce.search||c===Ce.list?(s.searchField=u==null?void 0:u.searchField,s.searchValue=u==null?void 0:u.searchValue):(c===Ce.children||e.displayType===Te.NAVTREELIST)&&(s.parentLayer=u==null?void 0:u.parentLayer,s.parentPath=u==null?void 0:u.parentPath,s.parentID=u==null?void 0:u.parentID),JSON.stringify(s)};return{buildParams:(c,u={})=>{const{searchParams:s}=u,g=n(u),S=r(c,u),m=p(c,s);return{...g,...S,searchValue:m}}}},Lo=(e,n,t)=>{const{getData:a}=Ke(e),{buildParams:o}=et(e),{getSelectedInfo:l}=t,r=u=>{var g;n.loading=!1,n.finished=!1,n.dataList=n.dataList.concat(u.items);const s=((g=u.pageInfo)==null?void 0:g.pageSize)??e.pageSize;u.total&&s&&(n.totalPage=Math.ceil(u.total/s))},p=u=>{const s={pageIndex:n.pageIndex},g=o(Ce.all,s);return a(g)};return{loadData:(u={})=>{if(n.pageIndex>n.totalPage){n.finished=!0;return}p().then(s=>{r(s)})},initLoadData:async u=>{const s=l(),g={context:u,selectedInfo:s},S=o(Ce.all,g),m=await a(S);return r(m),m},fetchData:p}},No=(e,n,t)=>{const{treeDataService:a,selectedService:o}=t,{getData:l}=Ke(e),{buildParams:r}=et(e),{getSelectedInfo:p}=o,{treeData:d,getTreeList:c,getParents:u,getLayerType:s,getLayer:g,getItemKey:S,updateTreeData:m,getRelations:y}=a,h=(T={})=>{const{context:F,parent:x}=T,w=x?S(x.data):"",E=x?g(x.data):1,I=s(),L={parentLayer:E};I==="parentId"?L.parentID=w:L.parentPath=w;const P={context:F,searchParams:L};return d.relations&&x&&(P.relationFilter=y(x.data)),r(Ce.all,P)},f=(T,F)=>{m(T.navigation),d.parents=u(F),d.treeList=c(F),F?n.dataList=T.items:n.dataList=[]},b=T=>{const F=h(T);return l(F)};return{loadData:(T={})=>{const{parent:F}=T;b(T).then(x=>{f(x,F)})},initLoadData:async T=>{const F=p(),x={context:T,pageSize:1,selectedInfo:F},w=r(Ce.all,x),E=await l(w);return f(E),E},fetchData:b}},Mo=(e,n,t)=>{const{treeDataService:a,selectedService:o}=t,{getData:l}=Ke(e),{buildParams:r}=et(e),{getSelectedInfo:p}=o,{treeData:d,getTreeList:c,getParents:u,getLayerType:s,getLayer:g,getItemKey:S,updateTreeData:m}=a,y=(C={})=>{const{parent:T,treeToList:F,enableFullTree:x,loadTreeDataType:w,loadDataType:E,parentsIds:I}=C,L=T?S(T.data):"",P=T?g(T.data):1,N=s(),V={parentLayer:P};N==="parentId"?V.parentID=L:V.parentPath=L;const D={searchParams:V,treeToList:F,enableFullTree:x,loadTreeDataType:w,parentsIds:I},R=E||(T?Ce.children:Ce.all);return r(R,D)},h=(C,T)=>{m(C),d.treeList=c(T),d.parents=u(T),n.dataList=d.treeList.map(F=>F.data)},f=C=>{const T=y(C);return l(T)};return{loadData:(C={})=>{const{parent:T}=C;f(C).then(F=>{h(F,T)})},initLoadData:async C=>{const T=p(),F={context:C,selectedInfo:T},x=r(Ce.all,F),w=await l(x);return h(w),w},fetchData:f}},Do=(e,n)=>{const{treeDataService:t,selectedService:a,settingService:o}=n,l=i.reactive({title:e.title,dataList:[],totalPage:0,pageIndex:1,loading:!1,finished:!0,enableShow:!0}),r=()=>{l.dataList=[],l.totalPage=0,l.pageIndex=1,l.finished=!1,l.enableShow=!0,t.resetData()},p=()=>{switch(e.displayType){case Te.List:return Lo(e,l,a);case Te.Tree:return Mo(e,l,n);case Te.NAVTREELIST:return No(e,l,n)}},{loadData:d,fetchData:c,initLoadData:u}=p(),s=()=>{const S=typeof e.beforeLoadData=="function"&&e.beforeLoadData();return S instanceof Promise?S:Promise.resolve(void 0)};return{listData:l,loadData:d,initLoad:async()=>{const S=await s();e.enableFavorite&&o.initFavoriteList();const m=await u(S);return l.title=l.title||m.title||"数据列表",a.initSelected(m.selectedData),m},resetListData:r,fetchData:c}},Bo=e=>{const t=new Map,a=i.reactive({treeList:[],parents:[],treeInfo:{loadDataType:"async",layerType:Rt.parentId,dataField:"",parentField:"",pathField:"",layerField:"",isDetailField:"",onlySelectLeaf:!1},relations:void 0}),o=()=>{a.parents=[]},l=F=>{var x;return(x=a.relations)==null?void 0:x.map(w=>({fieldName:w.helpField,fieldValue:A.resolveField(F,w.groupField)}))},r=F=>{const{dataField:x}=a.treeInfo,w=a.treeInfo[F];return`${x}.${w}`},p=()=>e.loadTreeDataType===Le.default?a.treeInfo.loadDataType:e.loadTreeDataType===Le.async?"async":"all",d=()=>a.treeInfo.layerType,c=F=>{const x=r("isDetailField");return!!A.resolveField(F,x)},u=F=>e.onlySelectLeaf?!c(F):!1,s=F=>{const x=r("layerField");return Number(A.resolveField(F,x))},g=F=>{const{dataField:x,pathField:w}=a.treeInfo,E=d()==="pathcode"?`${x}.${w}`:"id";return A.resolveField(F,E)},S=F=>{const{dataField:x,layerField:w,pathField:E}=a.treeInfo,I=`${x}.${E}`,L=`${x}.${w}`,P=A.resolveField(F,I),N=Number(A.resolveField(F,L))-1;return P.slice(0,4*N)},m=F=>{const{dataField:x,parentField:w}=a.treeInfo,E=`${x}.${w}`;return A.resolveField(F,E)||""},y=F=>d()==="parentId"?m(F):S(F),h=F=>{const x=g(F.data);if(!t.get(x)){const L=s(F.data),P=new Map;t.set(x,{layer:L,children:P})}const E=y(F.data),I=t.get(E);if(I)I.children.set(x,F);else{const L=s(F.data)-1,P=new Map;P.set(x,F),t.set(E,{layer:L,children:P})}},f=(F,x=0)=>{x>100||F.forEach(w=>{h(w),w.children&&w.children.length>0&&f(w.children,x+1)})},b=F=>{const{items:x,treeInfo:w,relations:E}=F;a.treeInfo=w,a.relations=E,x&&f(x)},v=F=>{const x=F?g(F.data):"",{children:w}=t.get(x)||{};return w?Array.from(w.values()):[]},C=F=>{let x=F?g(F.data):"";const w=[];let E=t.get(x);if(E)for(;E.layer>0;){const I=E.layer||0;Array.from(t.keys()).forEach(L=>{const P=t.get(L);if(P&&P.layer===I-1){const N=P.children.get(x);N&&(E=P,x=L,w.unshift(N))}})}else F&&w.unshift(F);return w},T=(F,x=0)=>{if(x>100)return[];const w=v(F),E=[...w];for(;E.length>0;){const I=E.shift();if(!I)continue;const L=T(I,x+1);w.push(...L)}return w};return{treeData:a,resetData:o,updateTreeData:b,getTreeList:v,getParents:C,getChildrens:T,getIsDetail:c,getIsDisabled:u,getItemKey:g,getParentKey:y,getLoadDataType:p,getLayerType:d,getLayer:s,getRelations:l}},Oo=e=>{const n=i.reactive({dataList:[],showDataList:[],enableShow:!1}),t=i.computed(()=>n.dataList.length),a=m=>{m&&(n.dataList=m)},o=()=>{n.dataList.length=0},l=m=>n.dataList.findIndex(y=>y[e.idField]===m[e.idField]),r=m=>l(m)>=0,p=m=>m.length>0&&!m.find(y=>!r(y)),d=(m=1)=>e.selectedLimit&&t.value+m>e.selectedLimit,c=(m,y=!1)=>{if(!e.multiSelect){!r(m)||y?(o(),n.dataList.push(m)):o();return}if(d())return;const h=l(m);h<0?n.dataList.push(m):y||n.dataList.splice(h,1)},u=m=>{d(m.length)||(p(m)?m.forEach(y=>{c(y)}):m.forEach(y=>{c(y,!0)}))},s=()=>n.dataList.map(m=>m[e.textField]).join(e.separator),g=()=>n.dataList.map(m=>m[e.idField]).join(e.separator);return{selectedListData:n,selectedLength:t,initSelected:a,toggleSelecte:c,toggleSelecteAll:u,clearSelected:o,isSelected:r,isSelectedAll:p,getTextValue:s,getIdValue:g,getSelectedInfo:()=>{const m=g();return{selectedIds:(m||e.idValue).split(e.separator),selected:!0}}}},Ao=e=>{const n=i.reactive({dataList:[],totalPage:0,pageIndex:1,loading:!1,finished:!0,enableShow:!1,searchValue:""}),t=()=>{n.dataList=[],n.totalPage=0,n.pageIndex=1,n.finished=!1,n.searchValue=""},a=d=>e.displayType===Te.Tree?d.items.map(c=>c.data):d.items,o=d=>{const c=a(d);n.dataList=n.dataList.concat(c),d.total&&e.pageSize&&(n.totalPage=Math.ceil(d.total/e.pageSize))},{getData:l}=Ke(e),{buildParams:r}=et(e);return{searchListData:n,searchData:()=>{if(n.totalPage&&n.pageIndex>n.totalPage){n.finished=!0;return}const c={searchParams:{searchField:e.searchField||"*",searchValue:n.searchValue},pageIndex:n.pageIndex},u=e.displayType===Te.NAVTREELIST?Ce.list:Ce.search,s=r(u,c);l(s).then(g=>{o(g),n.loading=!1})},resetListData:t}},Ro={title:{type:String,default:""}},mt=i.defineComponent({props:Ro,setup(e,n){const{bem:t}=A.useBem(xe);return()=>{const{rightIcon:a,extra:o}=n.slots;return i.createVNode("div",{class:t("cell")},[i.createVNode("div",{class:t(["cell","title"])},[i.createVNode("span",null,[e.title])]),i.createVNode("div",{class:t(["cell","right"])},[a&&i.createVNode("div",{class:t(["cell","right","icon"]),onClick:l=>l.stopPropagation()},[a()]),o&&i.createVNode("div",{class:t(["cell","right","extra"]),onClick:l=>l.stopPropagation()},[o()])])])}}}),tt=e=>{const{bem:n}=A.useBem(xe),{handleLoadChild:t}=e||{handleLoadChild:()=>{}},{panelProps:a,selectedService:o,treeDataService:l,settingService:r,getTextValue:p,handleChange:d,handleCascadeSelect:c}=Ve(),{treeData:u,getIsDetail:s,getIsDisabled:g}=l,S=w=>{const E=w[a.avatarField];let I=p(w);return I=I?I.slice(-2):"",a.enableAvatar&&i.createVNode("div",{class:n("avatar")},[E?i.createVNode("img",{src:E},null):i.createVNode("span",null,[I])])},m=(w,E=!1)=>{const I=E&&a.multiSelect&&a.enableCascade&&!a.onlySelectLeaf,L=E?w.data:w;I?c(w):d(L)},y=(w,E=!1,I=!1)=>a.multiSelect&&i.createVNode($t,{customClass:n("list-checker"),size:16,disabled:I,checked:o.isSelected(w),"onUpdate:checked":()=>m(w,E)},null),h=(w,E=!0)=>{const I=r.isInFavorite(w),L=I?"star":"star-outline",P=a.enableFavorite&&E;return()=>P&&i.createVNode("span",{class:`f-icon f-icon-${L} ${n(["star"])}`,"data-is-favorite":I,onClick:()=>r.toggleFavorite(w)},null)},f=w=>{const E={rightIcon:h(w)};return i.createVNode("div",{class:n("list-item")},[y(w),S(w),i.createVNode(mt,{title:p(w),onClick:()=>d(w)},E)])},b=i.computed(()=>{const w=u.parents.map(E=>({item:E,text:p(E.data),showIcon:!0}));return w.unshift({text:"全部",showIcon:!0}),w[w.length-1].showIcon=!1,w}),v=()=>i.createVNode("div",{class:n("breadcrumb")},[b.value.map(w=>i.createVNode("div",{class:n(["breadcrumb","item"]),onClick:()=>t(w.item)},[i.createVNode("span",{class:n(["breadcrumb","text"])},[w.text]),w.showIcon&&i.createVNode("span",{class:`f-icon f-icon-arrow-chevron-right ${n(["breadcrumb","icon"])}`},null)]))]),C=w=>{const E=s(w.data)||!1,I=a.displayType===Te.NAVTREELIST,L=!E||I;return()=>L&&i.createVNode("span",{class:`f-icon f-icon-arrow-chevron-right ${n(["arrow"])}`,onClick:()=>t(w)},null)},T=w=>g(w.data)?t(w):d(w.data);return{renderListItem:f,renderTreeItem:(w,E=!0)=>{const I=g(w.data),L=[n("list-item"),I?n("list-item","disabled"):""],P={rightIcon:h(w.data,E&&!I),extra:C(w)};return i.createVNode("div",{class:L},[y(w,!0,I),i.createVNode(mt,{title:p(w.data),onClick:()=>T(w)},P)])},renderNavTreeItem:w=>{const E={extra:C(w)};return i.createVNode("div",{class:n("list-item")},[i.createVNode(mt,{title:p(w.data),onClick:()=>t(w)},E)])},renderBreadcrumb:v}},jo={title:{type:String,default:""}},Un=i.defineComponent({props:jo,emits:["leftClick"],setup(e,n){const{bem:t}=A.useBem(xe),a=()=>{n.emit("leftClick",!1)};return()=>i.createVNode("div",{class:t("navbar")},[i.createVNode("div",{class:t(["navbar","left"]),onClick:a},[i.createVNode("span",{class:`f-icon f-icon-arrow-chevron-left ${t(["navbar","left","icon"])}`},null)]),i.createVNode("div",{class:t(["navbar","title"])},[e.title])])}}),$o=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{getLocaleValue:n}=Pe.LocaleService,{panelProps:t,dataService:a,searchService:o,selectedService:l,getTextValue:r,handleChange:p,handleClose:d}=Ve(),{listData:c}=a,{searchListData:u,resetListData:s,searchData:g}=o,{selectedListData:S,selectedLength:m}=l,y=i.computed(()=>m.value>=t.selectedCollapseLimit),h=()=>{S.enableShow=!0},f=i.computed(()=>m.value>0),b=()=>f.value&&i.createVNode("div",{class:e(["header","selected-wrapper"])},[y.value?i.createVNode("div",{class:e(["header","selected-item"]),onClick:h},[i.createVNode("span",null,[r(S.dataList[0])]),i.createVNode("span",{style:"padding-left:4px;"},[n("lookup.etc",[m.value])])]):S.dataList.map(w=>i.createVNode("div",{class:e(["header","selected-item"]),onClick:()=>p(w,!1)},[i.createVNode("span",null,[r(w)])]))]),v=()=>{c.enableShow=!1,u.enableShow=!0},C=()=>{u.searchValue||(c.enableShow=!0,u.enableShow=!1)},T=w=>{s(),u.searchValue=w,w&&g()},F=()=>i.createVNode("div",{class:e(["header","search"])},[i.createVNode("span",{class:"search-icon f-icon f-icon-search"},null),i.withDirectives(i.createVNode("input",{"onUpdate:modelValue":[w=>u.searchValue=w,T],type:"text",placeholder:n("lookup.search"),onFocus:v,onBlur:C},null),[[i.vModelText,u.searchValue]])]),x=()=>i.createVNode(Un,{title:c.title,onLeftClick:d},null);return()=>i.createVNode("div",{class:e("header")},[x(),F(),b()])}});function qo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const _o=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{dataService:n}=Ve(),{renderListItem:t}=tt(),{listData:a,loadData:o}=n,l=()=>{a.pageIndex++,o()},r=()=>{let p;return i.createVNode(Re,{loading:a.loading,"onUpdate:loading":d=>a.loading=d,finished:a.finished,immediateCheck:!1,onLoad:l},qo(p=a.dataList.map(d=>t(d)))?p:{default:()=>[p]})};return()=>i.createVNode("div",{class:e("list-container")},[r()])}});function Uo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const zo=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{dataService:n,treeDataService:t}=Ve(),{treeData:a,getLoadDataType:o,getTreeList:l,getParents:r}=t,{loadData:p}=n,d=g=>{o()==="async"?p({parent:g}):(a.treeList=l(g),a.parents=r(g))},{renderTreeItem:c,renderBreadcrumb:u}=tt({handleLoadChild:d}),s=()=>{let g;return i.createVNode(Re,{finished:!0},Uo(g=a.treeList.map(S=>c(S)))?g:{default:()=>[g]})};return()=>i.createVNode("div",{class:e("list-container")},[u(),s()])}}),Ho=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{dataService:n,treeDataService:t}=Ve(),{treeData:a,getLoadDataType:o,getTreeList:l,getParents:r}=t,{listData:p,loadData:d}=n,c=m=>{o()==="async"?d({parent:m}):(a.treeList=l(m),a.parents=r(m))},{renderListItem:u,renderNavTreeItem:s,renderBreadcrumb:g}=tt({handleLoadChild:c}),S=()=>i.createVNode(Re,{loading:p.loading,"onUpdate:loading":m=>p.loading=m,finished:p.finished,immediateCheck:!1,disabled:!0},{default:()=>[p.dataList.map(m=>u(m)),a.treeList.map(m=>s(m))]});return()=>i.createVNode("div",{class:e("list-container")},[g(),S()])}});function Wo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Go=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{getLocaleValue:n}=Pe.LocaleService,{searchService:t}=Ve(),{searchListData:a,searchData:o}=t,l=()=>{a.pageIndex++,o()},{renderListItem:r}=tt(),p=()=>{let u;return i.createVNode(Re,{loading:a.loading,"onUpdate:loading":s=>a.loading=s,finished:a.finished,immediateCheck:!1,onLoad:l},Wo(u=a.dataList.map(s=>r(s)))?u:{default:()=>[u]})},d=i.computed(()=>a.dataList.length>0),c=()=>i.createVNode("div",{class:e("empty")},[i.createVNode("div",{class:e(["empty","text"])},[i.createVNode("span",null,[n("lookup.noData")])])]);return()=>i.createVNode("div",{class:e("search-list")},[d.value?p():c()])}});function Jo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Yo=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{settingService:n}=Ve(),{renderListItem:t}=tt(),{favoriteListData:a}=n,o=()=>{let l;return i.createVNode(Re,{finished:!0},Jo(l=a.dataList.map(r=>t(r)))?l:{default:()=>[l]})};return()=>i.createVNode("div",{class:[e("list-container"),e("list-favorite")]},[o()])}}),Qo=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{getLocaleValue:n}=Pe.LocaleService,{panelProps:t,dataService:a,searchService:o,settingService:l}=Ve(),{listData:r}=a,{favoriteListData:p}=l,d=i.computed(()=>[{name:r.title,value:"list",minWidth:100},{name:n("lookup.favorites"),value:"favorite",minWidth:100}]),c=b=>{b==="list"?(r.enableShow=!0,p.enableShow=!1):(r.enableShow=!1,p.enableShow=!0)},u=()=>t.enableFavorite&&i.createVNode("div",{class:e("tab-bar")},[i.createVNode(Kn,{modelValue:"list",items:d,onChange:c},null)]),s=i.computed(()=>{const{enableShow:b}=r;return{display:b?"block":"none"}}),g={[Te.List]:_o,[Te.Tree]:zo,[Te.NAVTREELIST]:Ho},S=()=>{const b=g[t.displayType];return i.createVNode(b,{style:s.value},null)},m=i.computed(()=>{const{enableShow:b}=p;return{display:b?"block":"none"}}),y=()=>i.createVNode(Yo,{style:m.value},null),h=i.computed(()=>{const{enableShow:b}=o.searchListData;return{display:b?"block":"none"}}),f=()=>i.createVNode(Go,{style:h.value},null);return()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{class:e("content")},[u(),S(),y(),f()])])}}),zn=i.defineComponent({setup(e,{slots:n}){const{bem:t}=A.useBem(xe),{getLocaleValue:a}=Pe.LocaleService,{showListData:o,selectedService:l,treeDataService:r,handleConfirm:p}=Ve(),{selectedLength:d,isSelectedAll:c,toggleSelecteAll:u}=l,s=i.computed(()=>o.value.filter(b=>!r.getIsDisabled(b)).length===0),g=i.computed(()=>c(o.value)),S=i.computed(()=>g.value?a("lookup.deselectAll"):a("lookup.selectAll")),m=()=>{u(o.value)},y=()=>i.createVNode("div",{class:t(["footer","left"])},[n.left?n.left():i.createVNode($t,{size:16,disabled:s.value,checked:g.value,label:S.value,"onUpdate:checked":m},null)]),h=()=>i.createVNode("div",{class:t(["footer","right"])},[i.createVNode("button",{class:t(["button"]),onClick:p},[a("lookup.okText"),i.createTextVNode(" ("),d.value,i.createTextVNode(")")])]);return()=>i.createVNode("div",{class:t("footer")},[y(),h()])}});function Xo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Zo=i.defineComponent({setup(){const{bem:e}=A.useBem(xe),{getLocaleValue:n}=Pe.LocaleService,{selectedService:t,getTextValue:a,handleChange:o}=Ve(),{selectedListData:l,selectedLength:r,clearSelected:p}=t,d=y=>{r.value===1&&(l.enableShow=!1),o(y)},c=y=>()=>i.createVNode("span",{class:"f-icon f-icon-x",onClick:()=>d(y)},null),u=()=>{let y;return i.createVNode("div",{class:e("selected-list")},[i.createVNode(Re,{finished:!0,immediateCheck:!1},Xo(y=l.dataList.map(h=>i.createVNode(mt,{title:a(h)},{rightIcon:c(h)})))?y:{default:()=>[y]})])},s=()=>{l.enableShow=!1,p()},g={left:()=>i.createVNode("span",{class:e(["popup-selected","footer-left"]),onClick:s},[n("lookup.clearSelected")])},S=()=>i.createVNode(zn,null,g),m=()=>{l.enableShow=!1};return()=>i.createVNode(ea,{position:"right",width:"100%",height:"100%",showHeader:!1,showFooter:!1,customClass:"f-drawer--no-padding",modelValue:l.enableShow},{default:()=>[i.createVNode("div",{class:e("popup-selected")},[i.createVNode(Un,{title:n("lookup.selected"),onLeftClick:m},null),u(),S()])]})}});function Ko(e){const{getData:n,getSettings:t,updateSettings:a}=Ke(e),{buildParams:o}=et(e),l=i.reactive({dataList:[],totalPage:0,pageIndex:1,loading:!1,finished:!0,enableShow:!1,ids:[]}),r=()=>{l.dataList=[],l.totalPage=0,l.pageIndex=1,l.finished=!1,l.ids=[]},p=i.ref({favorites:[]}),d=async()=>{var y;const m=await t();return m&&(p.value=JSON.parse(m),l.ids=((y=p.value)==null?void 0:y.favorites)||[]),m},c=async()=>{const m=JSON.stringify(p.value);await a(m)},u=m=>l.ids.includes(m[e.idField]),s=m=>{const y=m[e.idField];if(!y)return;const{dataList:h}=l,f=h.findIndex(b=>b[e.idField]===y);f===-1?h.push(m):h.splice(f,1),l.ids=h.map(b=>b[e.idField]),p.value.favorites=l.ids,c()},g=async()=>{const m={category:Ce.fav,favoriteIds:l.ids},y=o(Ce.fav,{searchParams:m}),h=await n(y);h&&(l.dataList=h.items||[])};return{favoriteListData:l,resetListData:r,isInFavorite:u,loadFavoriteList:g,initFavoriteList:async()=>{await d(),await g()},toggleFavorite:s,loadSettings:d,saveSettings:c}}const el=i.defineComponent({name:xe,props:_n,emits:["change","confirm","close"],setup(e,n){const{expose:t}=n,{bem:a}=A.useBem(xe),{setState:o}=Ve(),l=Bo(e),r=Oo(e),p=Ao(e),d=Ko(e),c=Do(e,{treeDataService:l,selectedService:r,settingService:d});o({panelProps:e,panelContext:n,dataService:c,treeDataService:l,selectedService:r,searchService:p,settingService:d}),t({getSelecteds:()=>r.selectedListData.dataList,getTextValue:r.getTextValue,initLoadData:c.initLoad});const u=()=>i.createVNode($o,null,null),s=()=>i.createVNode(Qo,null,null),g=i.computed(()=>e.multiSelect),S=()=>g.value&&i.createVNode(zn,null,null),m=()=>i.createVNode(Zo,null,null);return()=>i.createVNode("div",{class:a()},[u(),s(),S(),m()])}}),tl=i.defineComponent({props:_n,inheritAttrs:!1,setup(e,n){const t=i.ref();i.onMounted(()=>{var r;(r=t.value)==null||r.initLoadData()});const a=()=>{n.emit("close")},o=()=>{const r=t.value.getSelecteds();n.emit("confirm",r)},l=i.computed(()=>({...e,displayType:e.displayType.toUpperCase(),onClose:a,onConfirm:o}));return()=>i.createVNode(el,i.mergeProps({ref:t},l.value),null)}});function nl(e,n,t,{selectionsManager:a,useHttpComposition:o,userDataService:l,updateModelValue:r}){const{idValues:p}=o,{userDataState:d}=l;function c(){var h;(h=t.value)==null||h.showPopup()}function u(){var h;(h=t.value)==null||h.hidePopup()}const s=h=>{a.clearSelections(),h&&h.length>0&&a.updateSelections(h),r(),u()},g=()=>{u()},S={[Fe.async]:"layerload",[Fe.all]:"loadall",[Fe.default]:"default"},m=i.computed(()=>{var h;return{title:e.title,displayType:e.displayType,uri:e.uri,idField:e.idField,textField:e.textField,multiSelect:e.multiSelect,onlySelectLeaf:e.onlySelectLeaf,loadTreeDataType:S[e.loadTreeDataType??Fe.default],idValue:p.value||"",pageSize:(h=e.pagination)==null?void 0:h.size,httpServiceToken:xt,enableFavorite:e.enableFavorite,enableCascade:e.enableCascade,settingKey:d.key,onClose:g,onConfirm:s}});return{showDrawer:c,hideDrawer:u,renderDrawer:()=>i.createVNode(tl,m.value,null)}}const Ne=i.defineComponent({name:"FLookup",props:$e,emits:Ft,setup(e,n){const t=n,a='<i id="'+e.id+'-icon_lookup" class="f-icon f-icon-lookup"></i>',o='<i id="'+e.id+'-icon_dropdown" class="f-icon f-icon-arrow-chevron-down"></i>',l='<i id="'+e.id+'-icon_drawer" class="f-icon f-icon-arrow-chevron-right"></i>',r=i.ref(),p=i.ref(e.modelValue),d=i.ref("");Ge.value=e.customData;const c=i.computed(()=>A.isMobilePhone()||e.openType==="Popup"?"Popup":"Modal"),u=i.computed(()=>A.isMobilePhone()?!0:!e.editable&&c.value==="Popup"),s=i.computed(()=>A.isMobilePhone()?l:c.value==="Popup"?o:a),g=va(e),S=ya(e),{lookupOptions:m,selectionState:y,searchValueChanged:h,queryState:f,popupState:b}=S.lookupStates,v=ba(e,S),C=i.computed(()=>e.showSelections&&m.multiSelect),T=i.computed(()=>e.editable&&(c.value==="Modal"||!m.multiSelect)),F=Io(e,m);S.lookupStates.compatInstance=F;const x=i.computed(()=>e.showIncludeChildNodes&&e.showNavigation&&!m.navTreeToList),w=an(e,S.lookupStates),{dictPicked:E}=xo(e),{modalOptions:I,beforeOpenDialog:L,dialogSize:P,customData:N,updateModelValue:V,cancelDialog:D,submitDialog:R,destroyed:W,setModelAndIdValue:$,runDictPickedAsync:_}=To(e,n,y,{dictPicked:E,modelValue:p,buttonEditInstance:r,userDataService:v,useHttp:S,lookupLocales:g}),k=Po(e,t,r,{useHttpComposition:S,selectionsManager:w,userDataService:v,updateModelValue:V,lookupLocales:g,destroyed:W,setModelAndIdValue:$,runDictPickedAsync:_,popupState:b}),{renderPopup:j,showPopup:z,isPopuped:Y,hidePopup:ie,onBeforeClosePopup:me}=k,{renderDrawer:oe,showDrawer:te}=nl(e,t,r,{selectionsManager:w,useHttpComposition:S,userDataService:v,updateModelValue:V});function de(){if(c.value==="Popup"){A.isMobilePhone()?te():z();return}r.value&&!r.value.getModal()&&r.value.openDialog()}const{onInputBlur:ye,onEnterKeyDown:q,isClear:Z,queryDataBySearchKeys:ae}=Fo(e,t,{beforeOpenDialog:L,updateModelValue:V,selectedItems:y,openDialog:de,modelValue:p,useHttpComposition:S,lookupOptions:m,usePopupComposition:k,isPopuped:Y}),le=i.reactive(I),se=i.inject(gt.F_MODAL_SERVICE_TOKEN);i.watch(()=>N.value,Q=>{Ge.value=Q}),i.watch(()=>e.modelValue,Q=>{p.value=Q});function J(Q){S.idValues.value=Q,Q||(y.value=[]),n.emit("update:idValue",Q)}i.watch(()=>e.idValue,Q=>{J(Q)}),i.onMounted(()=>{}),i.onUnmounted(()=>{pt(e)}),i.watch(()=>P.value,Q=>{n.emit("resize",Q)}),c.value==="Popup"&&i.watch([()=>e.readonly,()=>e.disabled],([Q,be])=>{var nt;(Q||be)&&((nt=r.value)==null||nt.forceClosePopup())});async function H(){n.emit("update:modelValue",""),J(""),f.value=null,c.value==="Popup"&&Y.value&&(b.canClose=!0,Z.value||(h.value=!0,ae("")));const Q={items:null,mappingFields:m.mappingFields,options:{...m}};n.emit("clear",Q),pt(e,Q)}i.watch(()=>Z.value,Q=>{Q&&(H(),Z.value=!1)});function ne(Q){n.emit("search",Q)}function ue(Q){n.emit("navSelectionsChanged",Q)}function ge(Q){n.emit("pageIndexChanged",Q)}function B(Q){n.emit("pageSizeChanged",Q)}function M(){return r.value&&r.value.getModal()}async function U(Q){const be=M();be&&be.updateModalOptions(Q),Q.title&&(d.value=Q.title)}function X(Q){const be=M();be?be.close(Q):se==null||se.close()}function pe(Q){const be=M();be&&be.maxDialog(Q)}const he=i.computed(()=>{const Q=M();return Q==null?void 0:Q.isMaximized}),Me=i.computed(()=>m.multiSelect&&m.showCascadeControl&&m.enableCascade&&Se.Tree===(m.displayType??"").toUpperCase()&&!m.treeToList),ht=i.computed(()=>y.value&&y.value.length?y.value.map(Q=>Q[m.idField??"id"]):[]);function Hn(Q){for(const be in m)Q[be]!==void 0&&(m[be]=Q[be])}const il=re.debounce(Q=>{ye(Q)},200);function ol(Q){var nt;let be=(nt=Q.target)==null?void 0:nt.value;be!==""&&(be=be.trim()),h.value=Q.target._value!==be,e.allowFreeInput&&J(""),h.value&&(f.value=be),c.value==="Popup"&&h.value&&il(Q)}function ll(){h.value=!1}async function Wn(Q){await R()&&(se==null||se.close())}function rl(Q){e.togglePopupOnClickInput&&(Y.value?ie():z())}function sl(){document.body.classList.add("lookup-modal-open"),e.editable&&setTimeout(()=>{var Q;(Q=r.value.getTextbox())==null||Q.focus()},100)}const cl=()=>{n.emit("expandClick")};return n.expose({openDialog:de,updateIdValue:J,mappingFields:m.mappingFields,idField:m.idField,setProps:Hn,clear:H,showDialog:de,close:()=>se==null?void 0:se.close()}),()=>i.createVNode(ze.FButtonEdit,{ref:r,id:e.id,modelValue:p.value,"onUpdate:modelValue":Q=>p.value=Q,disable:e.disabled,readonly:e.readonly,editable:T.value,inputType:"text",enableClear:e.enableClear,buttonContent:s.value,buttonBehavior:c.value,modalOptions:le,onClear:H,beforeOpen:L,onBlur:ye,onKeydown:q,placeholder:g.placeholder,keepWidthWithReference:!1,popupOnClick:u.value,onInput:ol,enableTitle:e.enableTitle,textAlign:e.textAlign,placement:A.isMobilePhone()?"right":"auto",onBeforeClearValue:ll,customClass:"f-cmp-lookup",onClick:rl,onShown:sl,beforeClosePopup:A.isMobilePhone()?null:me,popupClass:"lookup-popup-panel",expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:cl},{default:()=>[c.value==="Modal"&&i.createVNode(So,{title:d.value||"",enableFavorite:e.enableFavorite,onCloseModal:X,onMaximize:Q=>pe(Q),useHttpComposition:S,userDataService:v,useDialog:{cancelDialog:D,submitDialog:R},showSelectedList:C.value,selectionsManager:w,showIncludeChildNodes:{show:x.value,value:e.includeChildNodesValue},showCascadeControl:Me.value,isMaximized:he.value,locales:g,id:e.id,customFormatter:m.customFormatter},{default:()=>i.createVNode(po,i.mergeProps(e,{onSearch:ne,onNavSelectionsChanged:ue,onPageIndexChanged:ge,onPageSizeChanged:B,onChangeDialogOptions:U,onDblClickRow:Wn}),null),fav:()=>e.enableFavorite&&i.createVNode(ho,{idField:m.idField,displayType:m.displayType,selectedIds:ht.value,multiSelect:m.multiSelect,showSelections:C.value,treeToList:m.treeToList,onDblClickRow:Wn,customFormatter:m.customFormatter},null)}),c.value==="Popup"&&(A.isMobilePhone()?oe():j())],...n.slots.content?{content:()=>{var Q,be;return(be=(Q=n.slots).content)==null?void 0:be.call(Q,{openDialog:()=>de()})}}:{}})}});class al extends wn{constructor(t,a){super(t,a);K(this,"propertyConfigFilters",{lookup:["dataSource","filterConditions","displayType","idField","multiSelect","showSelections","enableSearchBar","searchAnyField","enableFavorite","enableUserData"],pager:["showLimits","sizeLimits","size"],treeConfig:["cascadeStatus","enableCascade","enableFullTree","expandLevel","loadTreeDataType","navTreeToList","onlySelectLeaf","showCascadeControl","treeToList"],dialog:["title","width","height","showNavigation","navigatorWidth","resizeable","rememberSize","enableEsc","showMaxButton","showCloseButton"]});K(this,"events",ua)}getPropertyConfig(t){const a=new Kt("root-component",this.designerHostService),o=a.getLookupConfig(t),l=a.getPageConfig(t.editor),r=a.getTreePropConfig(t.editor),p=a.getDialogPropertyConfig(t),d=this.getEventPropConfig(t),c={type:"object",categories:{lookup:o,treeConfig:r,pager:l,dialog:p}};return this.filterLookupPropertyConfig(c),c.categories.eventsEditor=d,c}filterLookupPropertyConfig(t){Object.keys(t.categories).forEach(a=>{const o=this.propertyConfigFilters[a],l=t.categories[a];Object.keys(l.properties).forEach(r=>{o.includes(r)||delete l.properties[r]})})}getEventPropConfig(t){const a=this,o=a.eventsEditorUtils.formProperties(t,a.viewModelId,this.events);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:A.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(r,p){const d=p.editor,c=r.propertyValue;delete d[a.viewModelId],c&&a.eventsEditorUtils.saveRelatedParameters(d,a.viewModelId,c.events,c),a.events.forEach(u=>{p[u.label]=d[u.label]})}}}}Ne.install=e=>{e.component(Ne.name,Ne)},Ne.register=(e,n,t,a,o)=>{e.lookup=Ne,n.lookup=wt(o),a.lookup={callbackResolver:Gt}},Ne.registerDesigner=(e,n,t,a)=>{e.lookup=ha,n.lookup=wt(a)},G.CascadeEnum=Ct,G.Compare=He,G.DEFAULT_LOOKUP_DIALOG_OPTIONS=Wt,G.DEFAULT_PAGINATION_OPTIONS=Tt,G.DefaultDialogTitle=St,G.ExpressValueType=Ht,G.ExternalLookupPropertyConfig=al,G.FLookup=Ne,G.F_LOOKUP_HTTP_SERVICE_TOKEN=xt,G.FilterRelation=We,G.LOOKUP_ACTIVE_TAB=je,G.LOOKUP_USER_DATA_ID=ta,G.LoadTreeDataType=Fe,G.LookupDisplayType=Se,G.LookupSchemaRepositoryToken=Yt,G.LookupTabs=ve,G.callbackResolver=Gt,G.cascadeItems=rt,G.default=Ne,G.getLookupDialogCommonProperties=Xt,G.getLookupEditorCommonProperties=Qt,G.getLookupPaginationProperties=Zt,G.lookupDataSourceConverter=Vt,G.lookupEmits=Ft,G.lookupProps=$e,G.propsResolver=aa,G.propsResolverGenerator=wt,Object.defineProperties(G,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
69
+ </span>`),n==="columnTemplateType"&&t==="default"&&(e.columnTemplate=""),n==="columnTemplateType"&&t==="custom"&&(e.columnTemplate=""))},convertFrom:(e,n,t)=>n==="columnTemplate"?e.columnTemplate:n==="columnTemplateType"?e.columnTemplateType?e.columnTemplateType||"default":e.columnTemplate&&!e.onClickLinkCommand?"custom":e.columnTemplate&&e.onClickLinkCommand?"hyperlink":"default":""},ao={convertTo:(e,n,t,a)=>{e.hierarchy||(e.hierarchy={cascadeOption:{}}),e.hierarchy.cascadeOption||(e.hierarchy.cascadeOption={}),e.hierarchy.cascadeOption[n]=t},convertFrom:(e,n,t)=>{var a,o;return!!((o=(a=e.hierarchy)==null?void 0:a.cascadeOption)!=null&&o[n])}},io={convertFrom:(e,n,t)=>e.uploadOptions?e.uploadOptions[n]:void 0,convertTo:(e,n,t,a)=>{e.uploadOptions||(e.uploadOptions={}),e.uploadOptions[n]=t}};function On(e,n,t,a){const o=new Map([["/converter/appearance.converter",Mi],["/converter/buttons.converter",Bi],["/converter/property-editor.converter",Oi],["/converter/items-count.converter",Yi],["/converter/type.converter",Ri],["/converter/change-editor.converter",ji],["/converter/change-formatter.converter",$i],["/converter/column-command.converter",qi],["/converter/column-option.converter",_i],["/converter/summary.converter",Ui],["/converter/group.converter",zi],["/converter/form-group-label.converter",Qi],["/converter/field-selector.converter",Hi],["/converter/pagination.converter",Wi],["/converter/row-number.converter",Gi],["/converter/grid-selection.converter",Ji],["/converter/size.converter",Xi],["/converter/change-formatter-enum.converter",Zi],["/converter/grid-sort.converter",Ki],["/converter/grid-filter.converter",eo],["/converter/row-option.converter",to],["/converter/change-formatter-type.converter",no],["/converter/upload-options.converter",io],["/converter/tree-auto-check.converter",ao]]),l=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}],["multiLanguage",{type:"language-textbox"}]]),r=Di();function p(y,m){return()=>r.parseValueSchema(y,m)}function d(y,m,f){return y.includes("visible")&&m.visible!==void 0?typeof m.visible=="boolean"?()=>!!m.visible:m.visible===void 0?!0:p(m.visible,f):()=>!0}function c(y,m,f){return y.includes("readonly")&&m.readonly!==void 0?typeof m.readonly=="boolean"?()=>!!m.readonly:p(m.readonly,f):()=>!1}function u(y,m){const f=y.$converter||m;return typeof f=="string"&&f&&o.has(f)?o.get(f)||null:f||null}function s(y,m,f,b,v,C="",T=""){return Object.keys(y).map(x=>{const w=i.ref(1),k=x,I=y[x],E=Object.keys(I),P=I.title,L=I.type,V=l.get(L)||{type:"input-group",enableClear:!1},M=I.editor?Object.assign({},V,I.editor):Object.assign({},V),$=d(E,I,m),W=c(E,I,m);M.readonly=M.readonly===void 0?W():M.readonly;const j=I.type==="cascade"?s(I.properties,m,f,b,v,C,T):[],U=!0;let Y=u(I,T);const pe=i.computed({get(){if(w.value){if(["class","style"].find(oe=>oe===k)&&!Y&&(Y=o.get("/converter/appearance.converter")||null),Y&&Y.convertFrom){const oe=Y.convertFrom(f,x,v,C);return oe===void 0&&Object.prototype.hasOwnProperty.call(I,"defaultValue")?I.type==="boolean"?I.defaultValue:I.defaultValue||"":oe}const se=f[x];return Object.prototype.hasOwnProperty.call(I,"defaultValue")&&(se===void 0||typeof se=="string"&&se==="")?I.type==="boolean"?I.defaultValue:I.defaultValue||"":se}return null},set(se){w.value+=1,Y&&Y.convertTo?(Y.convertTo(b,x,se,v,C),Y.convertTo(f,x,se,v,C)):(b[x]=se,f[x]=se)}}),{refreshPanelAfterChanged:N,description:q,isExpand:J,parentPropertyID:Z}=I,re={propertyID:k,propertyName:P,propertyType:L,propertyValue:pe,editor:M,visible:$,readonly:W,cascadeConfig:j,hideCascadeTitle:U,refreshPanelAfterChanged:N,description:q,isExpand:J,parentPropertyID:Z};return m[k]=re,re})}function g(y,m,f={}){const b={},v=e[y];return v&&v.categories?Object.keys(v.categories).map(T=>{const F=v.categories[T],x=F==null?void 0:F.title,w=s(F.properties||{},b,{},f,m);return{categoryId:T,categoryName:x,properties:w}}):[]}function S(y,m,f,b,v=""){const C=m.$ref.schema,T=m.$ref.converter,F=f[C],x=F.type,w=t(F),k={},I=e[x];if(I&&I.categories){const E=I.categories[y],P=E==null?void 0:E.title;T&&Object.keys(E.properties).forEach(M=>{E.properties[M].$converter=T});const L=(E==null?void 0:E.properties)||{},V=s(L,k,w,F,b,v);return{categoryId:y,categoryName:P,properties:V}}return{categoryId:y,categoryName:"",properties:[]}}function h(y,m,f,b,v){const C=y.type,T=t(y),F={};let x=v||e[C];!(x&&Object.keys(x).length>0)&&f&&f.getPropConfig&&(x=f.getPropConfig(b));const k=a==null?void 0:a[C];if(k!=null&&k.categories&&x){let I;const E=k._resolver;if(E&&(f!=null&&f.getDesignerHostService)){const P=f.getDesignerHostService();if(P!=null&&P.formSchemaUtils){const L=P.formSchemaUtils.getViewModelIdByComponentId(b)||"",V=wn(P,L,b,P==null?void 0:P.designerContext),M={propertyData:y,componentId:b,designerHostService:P,viewModelId:L,getPropertyEditorParams:($,W,j,U)=>V(y,$,W,j,U)};try{const $=E(M);$!=null&&$.categories&&(I=$.categories)}catch($){console.warn("[PropertyConfigResolver] propertyConfigResolver 执行异常,已跳过动态配置",$)}}}x.categories||(x.categories={}),Object.keys(k.categories).forEach(P=>{const L=k.categories[P],V=x.categories[P];V?(V.properties||(V.properties={}),Object.assign(V.properties,L.properties||{}),!V.title&&L.title&&(V.title=L.title),V.tabId===void 0&&L.tabId!==void 0&&(V.tabId=L.tabId),V.tabName===void 0&&L.tabName!==void 0&&(V.tabName=L.tabName),V.hideTitle===void 0&&L.hideTitle!==void 0&&(V.hideTitle=L.hideTitle),V.setPropertyRelates===void 0&&L.setPropertyRelates&&(V.setPropertyRelates=L.setPropertyRelates),V.parentPropertyID===void 0&&L.parentPropertyID!==void 0&&(V.parentPropertyID=L.parentPropertyID)):x.categories[P]=L}),I&&Object.keys(I).forEach(P=>{const L=I[P],V=x.categories[P];V?(V.properties||(V.properties={}),Object.assign(V.properties,L.properties||{}),!V.title&&L.title&&(V.title=L.title),V.tabId===void 0&&L.tabId!==void 0&&(V.tabId=L.tabId),V.tabName===void 0&&L.tabName!==void 0&&(V.tabName=L.tabName),V.hideTitle===void 0&&L.hideTitle!==void 0&&(V.hideTitle=L.hideTitle),V.setPropertyRelates===void 0&&L.setPropertyRelates&&(V.setPropertyRelates=L.setPropertyRelates),V.parentPropertyID===void 0&&L.parentPropertyID!==void 0&&(V.parentPropertyID=L.parentPropertyID)):x.categories[P]=L})}if(x&&x.categories){const I=[];return Object.keys(x.categories).map(E=>{const P=x.categories[E];if(P.$ref){I.push(S(E,P,y,m,b));return}const L=P==null?void 0:P.title,V=P==null?void 0:P.tabId,M=P==null?void 0:P.tabName,$=P==null?void 0:P.hide,W=P==null?void 0:P.hideTitle,j=s(P.properties||{},F,T,y,m,b,P.$converter),{setPropertyRelates:U}=P,Y=P==null?void 0:P.parentPropertyID;I.push({categoryId:E,categoryName:L,tabId:V,tabName:M,hide:$,properties:j,hideTitle:W,setPropertyRelates:U,parentPropertyID:Y})}),I}return[]}return{getPropertyConfigBySchema:h,getPropertyConfigByType:g,propertyConverterMap:o}}const An={},Rn={};On(An,Rn,Ei);const jn={},$n={},{resolveSchemaWithDefaultValue:oo}=Dn(jn,$n),qn={},_n={};On(qn,_n,oo,{});function lo(e,n,t=new Map,a=(r,p,d,c)=>p,o={},l=r=>r){return Mn[n.title]=n,Bn[n.title]=a,An[n.title]=o,Rn[n.title]=l,jn[n.title]=n,$n[n.title]=a,qn[n.title]=o,_n[n.title]=l,(r={},p=!0)=>{if(!p)return Ni(r,t);const d=Li(r,n,t),c=Object.keys(e).reduce((u,s)=>(u[s]=e[s].default,u),{});return Object.assign(c,d)}}const ro=Object.assign({},ut,{componentId:{type:String,default:""}}),so=lo(ro,pn,fn,mn);Oe.install=e=>{e.component(Oe.name,Oe),e.component(Ot.name,Ot)},Oe.register=(e,n,t,a,o)=>{e["field-search-box"]=Oe,e["field-search-box-config"]=Ot,n["field-search-box"]=xa,n["field-search-box-config"]=bi(o)},Oe.registerDesigner=(e,n,t)=>{e["field-search-box"]=yi,n["field-search-box"]=so};const co=i.defineComponent({name:"MultiSearchBox",props:{fields:Array,defaultValue:Object},emits:["search"],setup(e,n){const t=i.inject(Ee),{queryState:a,lookupOptions:o}=t.lookupStates,l=i.ref(e.defaultValue);return()=>i.createVNode("div",{class:"mb-2 mx-2"},[i.createVNode(Oe,{fields:e.fields,defaultValue:l.value,onChange:r=>n.emit("search",r)},null)])}});function At(e,n,t,a){const{lookupState:o,searchState:l,navigationState:r,queryState:p}=t,{searchFieldItems:d,navSearchFieldItems:c}=tn(e,o,r),u=i.ref([]),s=i.ref([]);function g(v,C=!1){if(!v)return;let T=v;e.searchAnyField&&!e.enableMultiFieldSearch&&(T=[{label:a.searchColumns.allColumns||"所有列",value:"*"}].concat(v)),C?s.value=T:u.value=T}g(d.value),g(c.value,!0),i.watch(()=>d.value,v=>{g(v)}),i.watch(()=>c.value,v=>{g(v,!0)});function S(){const{displayType:v,treeToList:C}=t.lookupOptions,T=(v??"").toLowerCase();return(T===Se.Tree.toLowerCase()||T===Se.ListTree.toLowerCase())&&!C}function h(v){const C=e.enableMultiFieldSearch?v:{...v};if(n){l.navigation=C;return}l.default=C}const y=i.computed(()=>n?s.value||[]:u.value||[]);function m(v){return v?typeof v=="string"?{"*":{value:v,compare:Ae.SearchComparisonOperator.Contains,relation:Ae.SearchRelation.Or}}:"field"in v?{[v.field?String(v.field):"*"]:{value:v.value,compare:Ae.SearchComparisonOperator.Contains,relation:Ae.SearchRelation.Or}}:v:null}const f=i.computed(()=>{var v;return n?m((v=t.lookupOptions)==null?void 0:v.navDefaultQueryValue):p.value?{"*":{value:p.value,compare:Ae.SearchComparisonOperator.Contains,relation:Ae.SearchRelation.Or}}:null});function b(){if(e.enableSearchBar&&y.value.length>0)return e.enableMultiFieldSearch?i.createVNode(co,{fields:y.value,defaultValue:f.value,onSearch:h},null):i.createVNode("div",{class:"p-2"},[i.createVNode(Ta,{fields:y.value,id:e.id,showAllColumns:e.searchAnyField,isNavigation:n,onSearch:h,enableEqualSearch:e.enableEqualSearch&&!n&&!S(),exactLabel:a.searchColumns.exactLabel||"精确"},null)])}return{renderSearchBar:b}}function uo(e,n){var xe;const t=i.inject(Ye),a=i.inject(Ee),o=i.inject(qe),{loadData:l,lookupStates:r,expandAllNodes:p,getFieldValue:d,getData:c,hasRemoteDataSource:u}=a,{navigationState:s,pageInfoState:g,searchState:S,lookupOptions:h}=r,{renderSearchBar:y}=At(e,!0,r,o),m=Be(e,r),{checkPaination:f,navIsList:b,navIsTreeList:v,sortOption:C}=m,{updatePageInfo:T}=nn(e,g),F=i.ref([]),{buildGetChildrenQueryParams:x,loadChildNodes:w,flattenTreeNodes:k}=dn(r,m),{sortChanged:I,sortInfo:E}=Dt(s);if(b()){const Q=f((xe=e.navigation)==null?void 0:xe.pagination);T(Q,!0)}const P=Je(h,!0),L=i.ref(g.navigation),V="lookup-datagrid",M={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,keepSelectingOnClick:!1},$={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},W=i.ref(),j=i.ref(),U=i.ref("id");i.watch(()=>g.navigation,Q=>{var H;L.value=Q,(H=j.value)==null||H.updatePagination(Q)});function Y(Q,H,ae){var fe,D,R,A,z;if(Q=Q||[],b()){const ge={total:H};if(ae){const{pageIndex:me,pageSize:ye,enablePager:nt,pageList:gt}=ae;Object.assign(ge,{index:me,size:ye,enable:nt})}if(T(ge,!0),(fe=j.value)==null||fe.updateDataSource(Q),h.selectFirstNavItem&&Q.length>0){const me=d(Q[0],U.value);j.value.selectItemByIds([me]),(D=j.value)==null||D.activeRowById(me)}}else if(v()&&((Array.isArray(S.navigation)?S.navigation.length>0:((R=S.navigation)==null?void 0:R.value)!==void 0)&&Q.length>0&&(Q[0]=p([Q[0]],!0)[0]),(A=W.value)==null||A.updateDataSource(Q),h.selectFirstNavItem&&Q.length>0)){const me=k([Q[0]]).find(ye=>!ye.addtional&&(ye.selectable===void 0||ye.selectable));if(me){const ye=d(me,U.value);W.value.clearSelection(),W.value.selectItemByIds([ye]),(z=W.value)==null||z.activeRowById(ye)}}}function pe(Q){var H,ae;Q=Et(Q,e.customNavFormatter),b()?(H=j.value)==null||H.updateColumns(Q):v()&&((ae=W.value)==null||ae.updateColumns(Q))}i.watch([()=>s==null?void 0:s.columns,()=>s==null?void 0:s.items,()=>s==null?void 0:s.pageInfo,()=>s==null?void 0:s.total],([Q,H,ae,fe])=>{Q&&pe(Q),(e.enableMultiFieldSearch||!h.navDefaultQueryValue)&&Y(H,fe||0,ae)}),i.watch(()=>s==null?void 0:s.idField,Q=>{U.value=Q||"id"});function N(Q){var H;F.value=Q,(!Q||!Q.length)&&((H=W.value)==null||H.activeRowById(""))}const q=ce.debounce(Q=>{N(Q)},50);function J(Q){var H;F.value=Q,(!Q||!Q.length)&&((H=j.value)==null||H.activeRowById(""))}function Z(){const Q={search:S.navigation,action:"navsearch"};E.value&&(Q.sort=E.value),l(Q,H=>{H.columns&&pe(H.columns),Y(H.items,H.total||0,H.pageInfo)})}i.watch(()=>S.navigation,Q=>{if(u.value){T({index:1},!0),Z();return}n.emit("search",Q)});function re({pageSize:Q,pageIndex:H}){var D;let ae=H;((D=L.value)==null?void 0:D.size)!==Q&&(ae=1);const fe={size:Q,index:ae};if(T(fe,!0),u.value){Z();return}n.emit("pageSizeChanged",fe)}function se(Q){if(W.value.hasChildren(Q))return Promise.resolve();const H=Q.raw.id,ae=x(Q,S.navigation,!0);return c(ae).then(fe=>{w((fe==null?void 0:fe.items)??[],H,W.value)})}function oe(Q){I(Q),Z()}function ue(){return i.createVNode(vt.FTreeGrid,{ref:W,id:O.locatorChild(e.id,"nav-grid").id,fit:!0,idField:U.value,rowNumber:{enable:!1},columnOption:$,selection:M,virtualized:!0,showBorder:!0,rowOption:t,hierarchy:sn,onSelectionUpdate:q,loadData:se,sort:C,onSortChanged:oe},null)}function _(){return i.createVNode(rt.FDataGrid,{ref:j,customClass:V,id:O.locatorChild(e.id,"nav-grid").id,pagination:L.value,summary:{enable:!1},columnOption:$,idField:U.value,rowNumber:{enable:!1},showBorder:!0,fit:!0,virtualized:!0,selection:M,onSelectionUpdate:J,onChanged:re,rowOption:P,sort:C,onSortChanged:oe},null)}function K(){if(v())return ue();if(b())return _()}function ee(){return i.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[e.showNavSearchBar&&y(),i.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[K()])])}function ie(){return U.value}function le(Q){return s.relations&&s.relations.length?s.relations.map(ae=>{const{groupField:fe,helpField:D}=ae,R={fieldName:D,fieldValue:""},A=Q.map(z=>d(z,fe));return R.fieldValue=A.join(","),R}):""}return{renderNavigation:ee,selectedItems:F,getNavigationIdField:ie,getRelationFilter:le}}function fo(e){function n(){const{navDefaultQueryValue:t,enableMultiFieldSearch:a}=e;if(a)return null;const o=r=>r!==null&&typeof r=="object"&&("field"in r||"value"in r);let l={field:"*",value:"",isNavigation:!0};return t&&(typeof t=="string"?l={field:"*",value:t,isNavigation:!0}:o(t)&&(l=Object.assign(l,t))),l}return{getNavigationDefaultSearchValue:n}}function po(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const mo=i.defineComponent({name:"LookupContainer",props:$e,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch","dblClickRow"],setup(e,n){i.inject(je,i.ref(ve.dataList));const t=i.inject(Ee),a=i.inject(qe),{lookupStates:o,getIdQueryParams:l}=t,{lookupState:r,navigationState:p,queryState:d,lookupOptions:c,searchState:u}=o,{renderSearchBar:s}=At(e,!1,o,a),{isDoubleList:g,getNavigationSize:S,isTreeList:h}=Be(e,o),{renderNavigation:y,selectedItems:m,getNavigationIdField:f,getRelationFilter:b}=uo(e,n),{renderTreeGrid:v,unwatches:C}=un(e,n),{renderDataGrid:T,unwatches:F}=rn(e,n,{navSelectedItems:m,getNavigationIdField:f,getRelationFilter:b}),{getNavigationDefaultSearchValue:x}=fo(c),w=i.computed(()=>h()?v:T),k=S();function I(L){var M;const V=(M=c.dialog)==null?void 0:M.title;V&&V!==Tt&&(L=V),n.emit("changeDialogOptions",{title:L})}function E(L,V){r.action=V,h()?F():C(),L.navigation&&(Object.keys(L.navigation).forEach($=>{var W;p[$]=(W=L.navigation)==null?void 0:W[$]}),L.navigation.treeInfo&&(t==null||t.setTreeInfo(L.navigation.treeInfo,!0)),delete L.navigation),L.treeInfo&&(t==null||t.setTreeInfo(L.treeInfo)),Object.keys(L).forEach($=>{r[$]=L[$]});const M=x();M!=null&&(u.navigation=M)}function P(){const L={};e.enableToSelect&&(L.selectedInfo=l()),d.value!=null&&(L.search={field:"*",value:d.value,type:"like"},L.action="search"),t==null||t.loadData(L,V=>{i.nextTick(()=>{E(V,(L==null?void 0:L.action)||""),I(V.title||"")})})}return i.onMounted(()=>{P(),document.body.classList.add("lookup-modal-open")}),i.onUnmounted(()=>{document.body.classList.remove("lookup-modal-open")}),()=>{let L;return i.createVNode(bt.FLayout,null,{default:()=>[g()&&e.showNavigation&&!O.isMobilePhone()&&i.createVNode(bt.FLayoutPane,{position:"left",width:k==null?void 0:k.width,minWidth:k==null?void 0:k.minWidth},po(L=y())?L:{default:()=>[L]}),i.createVNode(bt.FLayoutPane,{position:"center"},{default:()=>[i.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[s(),i.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[w.value()])])]})]})}}}),ho={id:{type:String,default:""},multiSelect:{type:Boolean,default:!1},idField:{type:String,default:"id"},displayType:{type:String,default:"list"},selectedIds:{type:Array,default:[]},showSelections:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!0},customFormatter:{type:Object,default:null}},go=i.defineComponent({name:"FLookupFavorite",props:ho,emits:["dblClickRow"],setup(e,n){const t=i.inject(Ye),{userDataState:a,getFavoriteData:o}=i.inject(dt),l=i.inject(je,i.ref(ve.dataList)),r=i.inject(_e),p=i.inject(Ee),{lookupStates:d,expandAllNodes:c}=p,u=Je(d.lookupOptions),s=i.computed(()=>d.lookupOptions.idField||"id"),g=i.ref(e.selectedIds),{setColumns:S,removeFavoriteItem:h}=Lt(e,s.value),{isTreeList:y}=Be(e,d),{updateSelections:m,unSelectTreeNode:f,selectTreeNodes:b}=r,v=i.ref(),C=i.ref(),T=i.computed(()=>y()?C.value:v.value);Nt(e,T,d);function F(){return a.data&&a.data.favorites&&a.data.favorites.length}function x(j){T.value.clearSelection(),j&&j.length&&(T.value.selectItemByIds(j),e.multiSelect||T.value.activeRowById(j[0]))}i.watch(()=>e.selectedIds,(j,U)=>{JSON.stringify(j)!==JSON.stringify(U)&&(g.value=j,g.value.length?x(g.value):T.value.clearSelection())});function w(j,U){U&&U.length&&S(T.value,U,y()),j&&(y()&&(j=c(j)),T.value.updateDataSource(j||[])),x(g.value||[])}function k(){o().then(j=>{j?w(j.items||[],j.columns):w([],null)})}i.watch(()=>l.value,(j,U)=>{var Y;j===ve.favorite&&(F()?k():w([],(Y=d.lookupState)==null?void 0:Y.columns))}),i.watch(()=>h.value,(j,U)=>{l.value===ve.favorite&&j&&(y()?k():w(a.favoriteItems||[],null),h.value=!1)});const I={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},E={enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"OnCheckAndClick"};function P(j){y()?b(j):m(j)}function L(j){y()?f(j):m(j==null?void 0:j.raw,!1)}function V(j,U){e.multiSelect||(m([U]),n.emit("dblClickRow",{items:[U]}))}function M(j){const{node:U}=j;e.multiSelect||(m([U]),n.emit("dblClickRow",{items:[U]}))}function $(){return i.createVNode(vt.FTreeGrid,{ref:C,id:O.locatorChild(e.id,"fav-grid").id,fit:!0,idField:s.value,rowNumber:{enable:!1},columnOption:I,selection:E,showBorder:!0,virtualized:!0,rowOption:t,onSelectionUpdate:P,onUnSelectItem:L,onDblclickNode:M},null)}function W(){return i.createVNode(rt.FDataGrid,{ref:v,id:O.locatorChild(e.id,"fav-grid").id,pagination:{enable:!1},summary:{enable:!1},columnOption:I,idField:s.value,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:E,rowOption:u,onSelectionUpdate:P,onUnSelectItem:L,onDoubleClickRow:V},null)}return()=>y()?$():W()}}),yo={id:{type:String},title:{type:String},height:{type:Number,default:50},draggable:{type:Boolean,default:!0},enableFavorite:{type:Boolean,default:!1},useHttpComposition:{type:Object,default:{}},userDataService:{type:Object,default:{}},useDialog:{type:Object,default:{}},selectionsManager:{type:Object,default:{}},showSelectedList:{type:Boolean,default:!1},showIncludeChildNodes:{type:Object,default:{show:!0,value:!1}},showCascadeControl:{type:Boolean,default:!1},isMaximized:{type:Boolean,default:!1},locales:{type:Object,default:{}},customFormatter:{type:Object,default:null}},bo={id:{type:String,default:""},idField:{type:String,default:"id"},parentRef:{type:Object,default:null},popoverOffsetX:{type:Number,default:0},customFormatter:{type:Object,default:null}},vo=i.defineComponent({props:bo,setup(e,n){const t=i.inject("FMessageBoxService"),a=i.inject(_e),o=i.inject(Ee),{lookupState:l,selectionState:r,lookupOptions:p}=o.lookupStates,d=Je(p),c=i.inject(qe),{clearSelections:u,unSelectionsByIds:s}=a,g=i.ref(),S=i.computed(()=>g),h=i.ref(),y=i.ref(e.popoverOffsetX||-15);i.watch(()=>e.popoverOffsetX,M=>{y.value=M});const m=i.computed(()=>y.value===-15?10:100),f=i.ref(e.parentRef),b="_remove_selected_";function v(M,$,W){M.stopPropagation();const j=$.raw[e.idField];s(j)}const C={field:b,title:"",width:50,fixed:"right",align:"center",formatter:(M,$)=>i.createVNode("button",{type:"button",onClick:W=>{v(W,$)},class:"btn btn-link f-icon f-icon-x p-0",style:"color: #dd2438;"},null)},T=i.computed(()=>{const M=ce.cloneDeep((l==null?void 0:l.columns)||[]);return M.length?(M.push(C),M):[]});i.watch(()=>e.parentRef,M=>{f.value=M});const F={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},x={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,showSelectAll:!1,multiSelectMode:"OnCheckAndClick"},w=i.ref({width:"0px",height:"0px"});let k;function I(){var U,Y;const M=((U=f.value)==null?void 0:U.offsetHeight)-100,$=200,W=r.value.length*28+60,j=W>M?M:W<$?$:W;w.value={width:((Y=f.value)==null?void 0:Y.offsetWidth)-20+"px",height:j+"px"}}i.watch(()=>h.value,M=>{if(M){const $=Et(T.value,p.customFormatter);M.updateColumns($),M.updateDataSource(ce.cloneDeep(r.value||[])),I()}}),i.watch(()=>r.value,M=>{var $;($=h.value)==null||$.updateDataSource(ce.cloneDeep(M||[]),{keepScrollTop:!0})}),i.watch(()=>f.value,M=>{k=new ResizeObserver(()=>{f.value&&I()}),k.observe(f.value)});const E=i.computed(()=>(r.value||[]).length>0),P=i.computed(()=>({display:"flex","align-items":"center",opacity:E.value?1:.4,cursor:E.value?"pointer":"not-allowed",pointerEvents:E.value?"auto":"none"}));function L(){const M=c==null?void 0:c.messages.clearSelections;t==null||t.question(M,"",()=>{u()})}i.onMounted(()=>{I()}),i.onUnmounted(()=>{k&&f.value&&k.unobserve(f.value)});function V(){var M;(M=S.value)==null||M.value.hide()}return n.expose({hidePopup:V}),()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{class:"d-flex flex-row align-items-center",style:"line-height:24px"},[i.withDirectives(i.createVNode("div",{style:P.value,innerHTML:c.buttons.selectionTotal(r.value.length)},null),[[i.resolveDirective("popover"),S.value,"toggle"]]),E.value&&i.createVNode("button",i.mergeProps(O.locatorChild(e.id,"selected-clear"),{class:"btn btn-link btn-sm p-0 pl-2",style:"line-height:24px",onClick:L}),[c.buttons.clear])]),i.createVNode(Kn,{id:O.locatorChild(e.id,"selected-popover").id,customStyles:{filter:"drop-shadow(#c5c5c5 0px 0px 6px)"},offsetX:y.value,arrowOffsetX:m.value,ref:g,placement:"top-left",keepWidthWithReference:!1,fitContent:!0},{default:()=>{var M;return[i.createVNode("div",{style:w.value},[((M=g.value)==null?void 0:M.isShow)&&i.createVNode(rt.FDataGrid,{ref:h,id:O.locatorChild(e.id,"selected-grid").id,pagination:{enable:!1},summary:{enable:!1},columnOption:F,idField:e.idField,rowNumber:{enable:!1},showBorder:!1,virtualized:!0,fit:!0,rowOption:d,selection:x},null)])]}})])}}),Co=i.defineComponent({props:{id:{type:String,default:""},modelValue:{type:Boolean,default:!1},label:{type:String,default:"包含下级"}},emits:["update:modelValue"],setup(e,n){const t=i.ref(e.modelValue);function a(o){o.stopPropagation(),t.value=!t.value,n.emit("update:modelValue",t.value)}return()=>i.createVNode("div",{class:"custom-control custom-checkbox mb-0",onClick:a},[i.withDirectives(i.createVNode("input",i.mergeProps(O.locatorAttrs(e.id),{"onUpdate:modelValue":o=>t.value=o,title:"checkbox-input",type:"checkbox",class:"custom-control-input"}),null),[[i.vModelCheckbox,t.value]]),i.createVNode("label",{class:"custom-control-label",style:"padding-left: 1.2rem;",for:e.id||void 0},[e.label])])}}),So=i.defineComponent({name:"FLookupCascadeSelector",props:["modelValue"],emits:["update:modelValue"],setup(e,n){const t=i.inject(qe),a=i.ref(),o=i.ref(e.modelValue);return i.watch(()=>o.value,(l,r)=>{l!==r&&n.emit("update:modelValue",l)}),st.forEach(l=>{l.text=t.tree[l.value]}),()=>i.createVNode("div",{style:"width: 130px",class:"ml-3"},[i.createVNode($t.FComboList,{ref:a,data:st,textField:"text",valueField:"value",idField:"value",modelValue:o.value,"onUpdate:modelValue":l=>o.value=l,enableClear:!1,minPanelWidth:130,placement:"top-left"},null)])}}),To=i.defineComponent({name:"FLookupModalContainer",props:yo,emits:["closeModal","maximize"],setup(e,n){const t=i.ref(ve.dataList);i.provide(je,t),i.provide(Ee,e.useHttpComposition),i.provide(dt,e.userDataService),i.provide(_e,e.selectionsManager),i.provide(qe,e.locales);const{tabs:a,buttons:o,tree:l}=e.locales,r=i.reactive(e.showIncludeChildNodes),p=i.ref(r.value),{lookupOptions:d}=e.useHttpComposition.lookupStates,c=d.dialog,u=i.computed(()=>(d.displayType??"").toUpperCase()===Se.TreeList),s=cn(d,u.value);i.provide(Ye,s);const g=i.ref(e.isMaximized);i.watch(()=>e.isMaximized,(V,M)=>{g.value=V});const S=i.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:g.value}));i.ref();const h=i.computed(()=>r.show&&t.value===ve.dataList&&d.displayType&&u.value&&!O.isMobilePhone()),y=i.computed(()=>h.value?-99:-15);i.watch(()=>p.value,(V,M)=>{e.useHttpComposition.updateIncludeChilds(V)}),i.watch(()=>e.showIncludeChildNodes,(V,M)=>{r.value=V,e.useHttpComposition.updateIncludeChilds(V.value)});const{userDataState:m}=e.userDataService,{cancelDialog:f,submitDialog:b}=e.useDialog,v=i.ref(),C=i.ref();function T(V){n.emit("maximize",V)}function F(V){n.emit("closeModal",V)}async function x(V){await b()&&F(V)}async function w(V){await f()&&F(V)}function k(V){t.value=V,m.data.tabIndex=V}const I=i.computed(()=>({transform:`translate3d(${t.value===ve.favorite?84:0}px, 0px, 0px)`})),E=i.computed(()=>V=>({visibility:t.value===V?"visible":"hidden",position:"absolute",top:0,transition:"all 0.3s ease-in",opacity:t.value===V?1:0})),P=i.computed(()=>{const V=e.enableFavorite?"50%":"100%",M=e.enableFavorite?100:80,$=c.showMaxButton||c.showCloseButton?M:0;return{maxWidth:`calc(${V} - ${$}px)`}});function L(V){V.stopPropagation(),document.body.click()}return i.onMounted(()=>{var V;m.data.favorites&&m.data.favorites.length&&(t.value=((V=m.data)==null?void 0:V.tabIndex)||ve.dataList),h.value&&e.useHttpComposition.updateIncludeChilds(p.value)}),()=>i.createVNode("div",{class:"d-flex flex-column h-100 lookup-modal",ref:v},[i.createVNode("div",{class:"d-flex justify-content-between align-items-center px-3 lookup-modal-header"},[i.createVNode("div",{class:"lookup-modal-header-title",title:e.title,style:P.value},[e.title]),e.enableFavorite&&i.createVNode("div",{class:"d-flex justify-content-center w-100"},[i.createVNode("div",{class:"lookup-modal-header-tabs-container d-flex",onMousedown:L},[i.createVNode("div",{class:"active-tab",style:I.value},null),i.createVNode("div",i.mergeProps(O.locatorChild(e.id,"tab-datalist"),{class:["tab-item","d-flex",{active:t.value===ve.dataList}],onClick:()=>k(ve.dataList)}),[a.datalist]),i.createVNode("div",i.mergeProps(O.locatorChild(e.id,"tab-favorite"),{class:["tab-item","d-flex",{active:t.value===ve.favorite}],onClick:()=>k(ve.favorite)}),[a.favorite])])]),(c.showMaxButton||c.showCloseButton)&&i.createVNode("div",{class:"d-flex flex-row h-100 justify-content-end align-items-center lookup-modal-header-buttons",onMousedown:V=>V.stopPropagation()},[c.showMaxButton&&!O.isMobilePhone()&&i.createVNode("span",i.mergeProps(O.locatorChild(e.id,"maximize"),{class:S.value,onClick:T,style:"cursor: pointer"}),null),c.showCloseButton&&i.createVNode("span",i.mergeProps(O.locatorChild(e.id,"close"),{class:"f-icon modal_close ml-2",onClick:F,style:"cursor: pointer;position: relative;top: 1px;"}),null)])]),i.createVNode("div",{class:"f-utils-fill",style:"position: relative;"},[i.createVNode("div",{class:"h-100 d-flex flex-column f-utils-fill w-100",style:E.value(ve.dataList)},[n.slots.default&&n.slots.default()]),i.createVNode("div",{class:"h-100 d-flex flex-column px-2 f-utils-fill w-100",style:E.value(ve.favorite)},[n.slots.fav&&n.slots.fav()])]),i.createVNode("div",{class:"modal-footer"},[i.createVNode("div",{class:"f-utils-fill align-items-center d-flex flex-row"},[h.value&&i.createVNode(Co,{id:O.locatorChild(e.id,"include-childs").id,modelValue:p.value,"onUpdate:modelValue":V=>p.value=V,label:l.includechildren},null),e.showSelectedList&&i.createVNode(vo,{popoverOffsetX:y.value,customFormatter:e.customFormatter,parentRef:v.value,ref:C,id:e.id,idField:d.idField},null),e.showCascadeControl&&t.value===ve.dataList&&i.createVNode(So,{modelValue:d.cascadeValue,"onUpdate:modelValue":V=>d.cascadeValue=V},null)]),i.createVNode("button",i.mergeProps(O.locatorChild(e.id,"btncancel"),{name:"cancel",type:"button",class:"btn btn-secondary",onClick:w}),[o.cancel]),i.createVNode("button",i.mergeProps(O.locatorChild(e.id,"btnok"),{name:"accept",type:"button",class:"btn btn-primary",onClick:x}),[o.ok])])])}});function mt(e,n){if(e.context){if(!n&&e.context.editor){for(const a in e.context.editor)delete e.context.editor[a];return}const{editor:t}=e.context;t?Object.assign(t,n):e.context.editor=n}}function xo(e,n,t,{dictPicked:a,modelValue:o,buttonEditInstance:l,userDataService:r,useHttp:p,lookupLocales:d}){const c=i.inject(lt.F_NOTIFY_SERVICE_TOKEN,null),u=i.inject("FLoadingService"),s=i.ref(),g=i.ref("accept"),S=i.ref(),{lookupStates:h}=p,{queryState:y,lookupState:m,navigationState:f,pageInfoState:b,searchState:v,selectionState:C,lookupOptions:T}=h,{isDoubleList:F}=Be(e,h),x=Object.assign({},Gt,T.dialog);T.dialog=x;const w={position:"top-center"},k=()=>{const _=t.value.map(ee=>O.resolveField(ee,T.textField??"")).join(e.separator),K=t.value.map(ee=>ee[T.idField??"id"]).join(e.separator);o.value=_,p.idValues.value=K,n.emit("update:modelValue",_),n.emit("update:idValue",K)};function I(_){if(typeof _=="boolean")return{shouldClose:_,message:""};if(typeof _=="object"&&_!==null){let K;"closeDialog"in _&&_.closeDialog!==void 0?K=typeof _.closeDialog=="boolean"?_.closeDialog:void 0:"canClose"in _&&_.canClose!==void 0&&(K=typeof _.canClose=="boolean"?_.canClose:void 0);const ee=K!==void 0?K:!0,ie="message"in _&&typeof _.message=="string"?_.message:"";return{shouldClose:ee,message:ie}}return{shouldClose:!!_,message:""}}const E=async()=>{const _={items:t.value,mappingFields:T.mappingFields,options:{...T}};n.emit("update:dataMapping",_),mt(e,_);const K=await a(_);return I(K)};async function P(){return k(),await E()}function L(){return g.value="cancel",!0}const V=_=>{Object.keys(_).forEach(K=>{delete _[K]})},M=_=>{_.forEach(K=>{V(K)})};function $(){document.body.classList.remove("lookup-modal-open"),u==null||u.clearAll(),M([m,f,b,v,y]),C.value=[],S.value=null,y.value=null}async function W(){var K;if(t.value.length===0)return c==null||c.warning({message:d.messages.mustChoosAdatarow,...w}),{shouldUpdate:!1};const _=await((K=e.beforeSelectData)==null?void 0:K.call(e,{items:t.value}))??!0;return{shouldUpdate:typeof _=="boolean"?_:(_==null?void 0:_.canSelect)??!0,message:_==null?void 0:_.message}}async function j(){const{shouldUpdate:_,message:K}=await W();if(!_)return K&&(c==null||c.warning({message:K,...w})),!1;const ee=await P(),{shouldClose:ie,message:le}=ee;return ie?(g.value="accept",!0):(le&&(c==null||c.warning({message:le,...w})),!1)}function U(){const _=(x==null?void 0:x.height)||620,K=(x==null?void 0:x.width)||590,ee=(x==null?void 0:x.minWidth)||300,ie=(x==null?void 0:x.minHeight)||200,le={height:_,width:K,minWidth:ee,minHeight:ie};return F()&&(le.width=(x==null?void 0:x.width)||960),le}const{width:Y,height:pe,minHeight:N,minWidth:q}=U(),J=!0,Z=J&&((x==null?void 0:x.resizeable)==null?!0:x==null?void 0:x.resizeable);x.rememberSize=x.rememberSize&&Z;const re=async _=>{if($(),n.emit("dialogClosed",_),T.onDialogClosed)return new Promise(K=>{})},se={title:x==null?void 0:x.title,fitContent:!1,showHeader:!1,dragHandle:".lookup-modal-header",height:pe,width:Y,minWidth:q,minHeight:N,useTransform:!1,resizeable:Z,draggable:J,enableEsc:(x==null?void 0:x.enableEsc)==null?!0:x==null?void 0:x.enableEsc,maximized:(x==null?void 0:x.fullscreen)==null?!1:x==null?void 0:x.fullscreen,closedCallback:(_,K)=>{const ee={type:g.value,button:_==null?void 0:_.target};if((K==="esc"||K==="icon")&&(ee.type="esc"),ee.type==="accept"&&(ee.items=t.value),(ee.type==="cancel"||ee.type==="esc")&&(e.allowFreeInput||(o.value=e.modelValue)),r){r.saveUserData().then(()=>{re(ee)});return}re(ee)},showButtons:!1,resizeHandle:_=>{if(x.rememberSize){s.value=_;const{width:K,height:ee}=_.newSize.size;!(_.isMaximized??!1)&&r.setDialogSize({width:Math.round(K),height:Math.round(ee)})}},enableEnter:!0,onEnter:_=>{_.event.preventDefault(),!_.event.target.closest(".fv-lookup-search-bar")&&j().then(ee=>{var ie;if(ee){const le=(ie=l.value)==null?void 0:ie.getModal();le&&le.close(_.event,"enter")}})}};async function oe(){var _;if((e.enableUserData||e.enableFavorite)&&e.openType==="Modal"&&(await r.getUserData(),(_=r==null?void 0:r.userDataState)!=null&&_.data&&x.rememberSize)){const{size:K}=r.userDataState.data;K&&Object.assign(se,K)}}async function ue(_){let K=!0;const ee=e.dictPicking;if(ee&&typeof ee=="function"){const ie=await ee({customData:S,options:T,idValue:p.idValues,instance:h.compatInstance});if(typeof ie=="boolean"&&!ie&&(K=!1),typeof ie=="object"&&ie!==null){let le=!0;"canOpen"in ie?le=typeof ie.canOpen=="boolean"?ie.canOpen:!0:"showDialog"in ie&&(le=typeof ie.showDialog=="boolean"?ie.showDialog:!0),le?ie.data&&(S.value=ie.data):(K=!1,ie.message&&(c==null||c.error({message:ie.message,position:"top-center"})))}}return K&&(Object.assign(se,{maximized:(x==null?void 0:x.fullscreen)??!1,width:(x==null?void 0:x.width)??Y,height:(x==null?void 0:x.height)??pe,minWidth:(x==null?void 0:x.minWidth)??q,minHeight:(x==null?void 0:x.minHeight)??N,title:x==null?void 0:x.title}),await oe()),K}return{modalOptions:se,beforeOpenDialog:ue,dialogSize:s,customData:S,updateModelValue:P,cancelDialog:L,submitDialog:j,destroyed:$,setModelAndIdValue:k,runDictPickedAsync:E}}function Fo(e){return{dictPicked:async({items:t,mappingFields:a})=>e.dictPicked&&typeof e.dictPicked=="function"?await e.dictPicked({items:t,mappingFields:a})??!0:!0}}function Rt(e,n,t,a){if(!e.editable)return;const o={items:null,mappingFields:a.mappingFields,isFreeInput:!0,options:{...a}};n.emit("clearMapping",o),n.emit("update:modelValue",t),n.emit("update:idValue",""),mt(e,o)}function wo(e,n,t){const a=i.computed(()=>e.textChangeType==="blur"||e.textChangeType==="any"),o=i.computed(()=>e.textChangeType==="enter"||e.textChangeType==="any"),{beforeOpenDialog:l,updateModelValue:r,selectedItems:p,openDialog:d,lookupOptions:c,useHttpComposition:u,isPopuped:s,usePopupComposition:g,modelValue:S}=t,{updateSearchFieldTitle:h}=u,{lookupState:y,queryState:m,searchValueChanged:f}=u.lookupStates,b=i.ref(!1);function v(I){return ce.isEmpty(I)&&f.value&&!s.value?(b.value=!0,f.value=!1,!1):f.value}function C(I){var P;if(!I||I.length!==1)return;const[E]=I;return(P=E.children)!=null&&P.length?C(E.children):E.data}function T(I,E){var L;if(!E||E.length!==1)return!1;const[P]=E;return I?(L=P.children)!=null&&L.length?C(P.children):P.data:P}async function F(I){const E={search:{field:"*",value:I,type:e.openType==="Modal"?"equal":"like"},action:"search"};if(f.value){if(e.openType==="Modal"&&!await l()){S.value=e.modelValue??"",m.value=null;return}document.body.classList.add("lookup-modal-open"),u.loadData(E,async P=>{var L;if(P.searchFields&&P.columns){const V=h(P.searchFields,P.columns);y.searchFields=V}if(f.value=!1,e.openType==="Modal"){const V=T(((L=P.displayType)==null?void 0:L.toLowerCase())==="treelist",P.items);if(V){p.value=[V],r(),m.value=null,document.body.classList.remove("lookup-modal-open");return}d()}else y.action=I?"search":"list",y.items=P.items,y.total=P.total,y.selectedData=P.selectedData||[],P.pageInfo&&(y.pageInfo={...P.pageInfo})})}}function x(I,E){var L;let P=(L=I.target)==null?void 0:L.value;if(P!==""&&(P=P.trim()),v(P)){if(e.allowFreeInput)if(e.openType==="Modal"){Rt(e,n,P,c);return}else{const{popupState:V}=g;V.canClose=!0,p.value=[],Rt(e,n,P,c)}if(e.openType!=="Modal"&&!s.value){l().then(V=>{V?(d(),f.value=!1):(S.value=e.modelValue??"",m.value=null)});return}u.hasRemoteDataSource.value?F(P):n.emit("textChanged",{value:P,type:E?"blur":"enter"})}}function w(I){a.value&&x(I,!0)}function k(I){I.key==="Enter"&&o.value&&x(I,!1)}return{changeOnBlur:a,changeOnEnter:o,onInputBlur:w,onEnterKeyDown:k,isClear:b,queryDataBySearchKeys:F}}const Vo={height:{type:Number,default:500},width:{type:Number,default:500},useHttpComposition:{type:Object,default:{}},selectionsManager:{type:Object,default:{}},showSelectedList:{type:Boolean,default:!1},enableToSelect:{type:Boolean,default:!0},uri:{type:String,default:""},hidePopup:{type:Function,default:null},fitColumns:{type:Boolean,default:!0},openType:{type:String,default:"Popup"},pagination:{type:Object,default:{enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1}},displayType:{type:String,default:Se.List},loadTreeDataType:{type:String,default:we.all},expandLevel:{type:Number,default:0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!1},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeStatus:{type:String,default:"both"},enableSearchBar:{type:Boolean,default:!0},searchAnyField:{type:Boolean,default:!0},locales:{type:Object,default:{}},customFormatter:{type:Object,default:null}},Po=i.defineComponent({name:"FLookupPopupContainer",props:Vo,emits:["selectItemsChanged","hiddenPopup"],setup(e,n){const t=e.locales,{lookupStates:a,getIdQueryParams:o}=e.useHttpComposition,{lookupState:l,navigationState:r,queryState:p,lookupOptions:d}=a,{isTreeList:c}=Be(e,a);At(e,!1,a,t);const u=i.computed(()=>({width:`${e.width}px`,height:`${e.height}px`,padding:"5px"})),{renderDataGrid:s}=rn(e,n,{}),{renderTreeGrid:g}=un(e,n),S=i.computed(()=>c()?g:s);function h(){const y={};e.enableToSelect&&(y.selectedInfo=o(),p.value!=null&&(y.search={field:"*",value:p.value,type:"like"},y.action="search"));const m=e.useHttpComposition;m==null||m.loadData(y,f=>{i.nextTick(()=>{l.action=y.action,f.navigation&&(Object.keys(f.navigation).forEach(b=>{var v;r[b]=(v=f.navigation)==null?void 0:v[b]}),f.navigation.treeInfo&&(m==null||m.setTreeInfo(f.navigation.treeInfo,!0)),delete f.navigation),f.treeInfo&&(m==null||m.setTreeInfo(f.treeInfo)),Object.keys(f).forEach(b=>{l[b]=f[b]})})})}return i.onMounted(()=>{h()}),i.onUnmounted(()=>{n.emit("hiddenPopup")}),()=>i.createVNode("div",{style:u.value,class:"d-flex flex-column"},[S.value()])}});function Io(e,n,t,{useHttpComposition:a,selectionsManager:o,userDataService:l,updateModelValue:r,lookupLocales:p,destroyed:d,setModelAndIdValue:c,runDictPickedAsync:u,popupState:s}){i.provide(dt,l),i.provide(Ee,a),i.provide(_e,o);const{selectionState:g,queryState:S,lookupOptions:h,searchState:y}=a.lookupStates,m=cn(h,!1);i.provide(Ye,m);const f=i.inject(lt.F_NOTIFY_SERVICE_TOKEN,null),{idValues:b}=a,v=i.computed(()=>{var L;const P=(L=t.value)==null?void 0:L.popoverRef;return P?P.shown:!1});async function C(){var M;if(!s.canClose)return!1;if(e.allowFreeInput&&!h.multiSelect&&S.value)return g.value=[],Rt(e,n,(M=t.value)==null?void 0:M.displayText,h),!0;if(!g.value.length)return c(),!0;let P=null;h.multiSelect?P=await u():P=await r();const{shouldClose:L,message:V}=P;return L?!0:(V&&(f==null||f.warning({message:V,position:"top-center"})),s.canClose=!1,!1)}async function T(){var P;(P=t.value)==null||P.hidePopup()}e.openType==="Popup"&&i.watch(()=>g.value,P=>{v.value&&e.multiSelect&&c()});const F=()=>{const{width:P,height:L}=e.dialog??{};return{width:P||460,height:L||380}},x=i.computed(()=>{var P;return(P=t.value)==null?void 0:P.popoverRef});async function w(){v.value&&T(),S.value=null,d(),n.emit("popupClosed"),s.canClose=!0,document.body.classList.remove("lookup-modal-open")}function k(){var P;v.value||(P=t.value)==null||P.showPopup()}function I(){s.canClose=!0,S.value=null,h.multiSelect||T()}function E(){const{width:P,height:L}=F();return i.createVNode(Po,i.mergeProps({width:P,height:L,useHttpComposition:a,locales:p,selectionsManager:o,onHiddenPopup:w,onSelectionsChanged:I},e),null)}return{popoverInstance:x,isPopuped:v,renderPopup:E,showPopup:k,hidePopup:T,onBeforeClosePopup:C,popupState:s}}function ko(e,n){const t=i.reactive({});return t.http={getData:e.loader},i.watch(t,(a,o)=>{var l,r,p;for(const[d,c]of Object.entries(a)){const u=o[d];c!==u&&d in n&&(n[d]=c)}((l=a.http)==null?void 0:l.getData)!==((r=o.http)==null?void 0:r.getData)&&(n.loader=(p=a.http)==null?void 0:p.getData)},{deep:!0,immediate:!1}),i.onUnmounted(()=>{}),t}var Te=(e=>(e.List="LIST",e.Tree="TREELIST",e.NAVTREELIST="NAVTREELIST",e))(Te||{}),Ne=(e=>(e.default="default",e.all="loadall",e.async="layerload",e))(Ne||{}),Ce=(e=>(e.all="all",e.search="search",e.list="list",e.fav="fav",e.children="children",e.nav="nav",e.allChildren="allChildren",e))(Ce||{}),jt=(e=>(e.pathcode="pathcode",e.parentId="parentId",e))(jt||{});const Fe="FTouchLookupPanel",Eo={title:{type:String,default:""},displayType:{type:String,default:Te.List},idValue:{type:String,default:""},data:{type:Array,default:()=>[]},uri:{type:String,default:""},idField:{type:String,default:""},textField:{type:String,default:""},multiSelect:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},selectedLimit:{type:Number,default:0},selectedCollapseLimit:{type:Number,default:3},pageSize:{type:Number,default:20},enableFavorite:{type:Boolean,default:!1},settingKey:{type:String,default:""},enableSearch:{type:Boolean,default:!0},enableAvatar:{type:Boolean,default:!1},avatarField:{type:String,default:""},selectedData:{type:Object,default:null},searchField:{type:String,default:""},httpServiceToken:{type:[String,Symbol],default:null},beforeLoadData:{type:Function,default:null},separator:{type:String,default:","}},Lo={enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:Ne.default}},Un={...Eo,...Lo,...{}},Pe=(e="LookupPanelState")=>{const n=v=>{i.provide(e,v)},t=()=>i.inject(e,{}),a=(v,C)=>{const T=t();T[v]=C},{panelProps:o,panelContext:l,dataService:r,treeDataService:p,selectedService:d,searchService:c,settingService:u}=t(),s=i.computed(()=>r.listData.enableShow?r.listData.dataList:c.searchListData.enableShow?c.searchListData.dataList:u.favoriteListData.enableShow?u.favoriteListData.dataList:[]),g=v=>v[o.textField],S=v=>v[o.idField],h=()=>{r.resetListData(),c.resetListData(),u.resetListData(),c.searchListData.enableShow=!1,d.selectedListData.enableShow=!1,u.favoriteListData.enableShow=!1},y=()=>{h();const v=d.getTextValue();l.emit("confirm",v)};return{panelProps:o,panelContext:l,dataService:r,treeDataService:p,selectedService:d,searchService:c,settingService:u,showListData:s,setState:n,getState:t,addState:a,getTextValue:g,getIdValue:S,handleChange:(v,C=!0)=>{C=o.multiSelect?!1:C,d.toggleSelecte(v,C),l.emit("change",[v]),o.multiSelect||y()},handleCascadeSelect:async v=>{let C=[v];if(p.getLoadDataType()==="all")C.push(...p.getChildrens(v));else if(p.getLayerType()===jt.pathcode){const x={loadDataType:Ce.allChildren,parentsIds:[p.getItemKey(v.data)]};C=(await r.fetchData(x)).items||[]}const F=C.map(x=>x.data);d.toggleSelecteAll(F),l.emit("change",F)},handleConfirm:y,handleClose:()=>{h(),l.emit("close")}}},Ke=e=>{const n=i.inject(e.httpServiceToken);return{getData:l=>n!=null&&n.getData?n.getData(e.uri,l):Promise.reject("HTTP服务错误!"),getSettings:async()=>{if(!(n!=null&&n.getSettings))return Promise.reject("HTTP服务错误!");const l=await n.getSettings(e.settingKey);return(l==null?void 0:l.textValue)||""},updateSettings:l=>n!=null&&n.updateSettings?n.updateSettings(e.settingKey,{configkey1:e.settingKey,textvalue:l}):Promise.reject("HTTP服务错误!")}},et=e=>{const n=(c={})=>{const{context:u,selectedInfo:s}=c,g={};return s&&(g.selectedInfo=s),u!=null&&u.data&&(g.customData=u.data),g},t=(c={})=>{const{pageIndex:u=1}=c;return{pageIndex:u,pageSize:e.pageSize}},a=(c,u={})=>{const{pageIndex:s=1,treeToList:g,enableFullTree:S,loadTreeDataType:h,parentsIds:y}=u;return c===Ce.search?{useFullTree:!1,enableFullTree:!1,loadTreeDataType:Ne.all,pageSize:e.pageSize,pageIndex:s}:c===Ce.allChildren?{parentsIds:y}:{enableFullTree:S||e.enableFullTree,loadTreeDataType:h||e.loadTreeDataType||Ne.default,treeToList:g}},o=(c,u={})=>{const{pageIndex:s=1,pageSize:g=0,relationFilter:S}=u;if(c===Ce.list)return{useFullTree:!1,enableFullTree:!1,loadTreeDataType:Ne.all,pageSize:e.pageSize,pageIndex:s};const h={pageIndex:s,pageSize:g,useFullTree:!1,loadTreeDataType:e.loadTreeDataType||Ne.default};return S&&(h.relationFilter=S),h},l=(c={})=>({enableFullTree:!1,pageIndex:1,pageSize:500,treeToList:!0}),r=(c,u)=>{const s=n(u);if(c===Ce.fav)return l(u);if(e.displayType===Te.List)return{...s,...t(u)};if(e.displayType===Te.Tree)return{...s,...a(c,u)};if(e.displayType===Te.NAVTREELIST)return{...s,...o(c,u)}},p=(c,u)=>{const s={category:c};return c===Ce.fav?s.favoriteIds=u==null?void 0:u.favoriteIds:c===Ce.search||c===Ce.list?(s.searchField=u==null?void 0:u.searchField,s.searchValue=u==null?void 0:u.searchValue):(c===Ce.children||e.displayType===Te.NAVTREELIST)&&(s.parentLayer=u==null?void 0:u.parentLayer,s.parentPath=u==null?void 0:u.parentPath,s.parentID=u==null?void 0:u.parentID),JSON.stringify(s)};return{buildParams:(c,u={})=>{const{searchParams:s}=u,g=n(u),S=r(c,u),h=p(c,s);return{...g,...S,searchValue:h}}}},No=(e,n,t)=>{const{getData:a}=Ke(e),{buildParams:o}=et(e),{getSelectedInfo:l}=t,r=u=>{var g;n.loading=!1,n.finished=!1,n.dataList=n.dataList.concat(u.items);const s=((g=u.pageInfo)==null?void 0:g.pageSize)??e.pageSize;u.total&&s&&(n.totalPage=Math.ceil(u.total/s))},p=u=>{const s={pageIndex:n.pageIndex},g=o(Ce.all,s);return a(g)};return{loadData:(u={})=>{if(n.pageIndex>n.totalPage){n.finished=!0;return}p().then(s=>{r(s)})},initLoadData:async u=>{const s=l(),g={context:u,selectedInfo:s},S=o(Ce.all,g),h=await a(S);return r(h),h},fetchData:p}},Do=(e,n,t)=>{const{treeDataService:a,selectedService:o}=t,{getData:l}=Ke(e),{buildParams:r}=et(e),{getSelectedInfo:p}=o,{treeData:d,getTreeList:c,getParents:u,getLayerType:s,getLayer:g,getItemKey:S,updateTreeData:h,getRelations:y}=a,m=(T={})=>{const{context:F,parent:x}=T,w=x?S(x.data):"",k=x?g(x.data):1,I=s(),E={parentLayer:k};I==="parentId"?E.parentID=w:E.parentPath=w;const P={context:F,searchParams:E};return d.relations&&x&&(P.relationFilter=y(x.data)),r(Ce.all,P)},f=(T,F)=>{h(T.navigation),d.parents=u(F),d.treeList=c(F),F?n.dataList=T.items:n.dataList=[]},b=T=>{const F=m(T);return l(F)};return{loadData:(T={})=>{const{parent:F}=T;b(T).then(x=>{f(x,F)})},initLoadData:async T=>{const F=p(),x={context:T,pageSize:1,selectedInfo:F},w=r(Ce.all,x),k=await l(w);return f(k),k},fetchData:b}},Mo=(e,n,t)=>{const{treeDataService:a,selectedService:o}=t,{getData:l}=Ke(e),{buildParams:r}=et(e),{getSelectedInfo:p}=o,{treeData:d,getTreeList:c,getParents:u,getLayerType:s,getLayer:g,getItemKey:S,updateTreeData:h}=a,y=(C={})=>{const{parent:T,treeToList:F,enableFullTree:x,loadTreeDataType:w,loadDataType:k,parentsIds:I}=C,E=T?S(T.data):"",P=T?g(T.data):1,L=s(),V={parentLayer:P};L==="parentId"?V.parentID=E:V.parentPath=E;const M={searchParams:V,treeToList:F,enableFullTree:x,loadTreeDataType:w,parentsIds:I},$=k||(T?Ce.children:Ce.all);return r($,M)},m=(C,T)=>{h(C),d.treeList=c(T),d.parents=u(T),n.dataList=d.treeList.map(F=>F.data)},f=C=>{const T=y(C);return l(T)};return{loadData:(C={})=>{const{parent:T}=C;f(C).then(F=>{m(F,T)})},initLoadData:async C=>{const T=p(),F={context:C,selectedInfo:T},x=r(Ce.all,F),w=await l(x);return m(w),w},fetchData:f}},Bo=(e,n)=>{const{treeDataService:t,selectedService:a,settingService:o}=n,l=i.reactive({title:e.title,dataList:[],totalPage:0,pageIndex:1,loading:!1,finished:!0,enableShow:!0}),r=()=>{l.dataList=[],l.totalPage=0,l.pageIndex=1,l.finished=!1,l.enableShow=!0,t.resetData()},p=()=>{switch(e.displayType){case Te.List:return No(e,l,a);case Te.Tree:return Mo(e,l,n);case Te.NAVTREELIST:return Do(e,l,n)}},{loadData:d,fetchData:c,initLoadData:u}=p(),s=()=>{const S=typeof e.beforeLoadData=="function"&&e.beforeLoadData();return S instanceof Promise?S:Promise.resolve(void 0)};return{listData:l,loadData:d,initLoad:async()=>{const S=await s();e.enableFavorite&&o.initFavoriteList();const h=await u(S);return l.title=l.title||h.title||"数据列表",a.initSelected(h.selectedData),h},resetListData:r,fetchData:c}},Oo=e=>{const t=new Map,a=i.reactive({treeList:[],parents:[],treeInfo:{loadDataType:"async",layerType:jt.parentId,dataField:"",parentField:"",pathField:"",layerField:"",isDetailField:"",onlySelectLeaf:!1},relations:void 0}),o=()=>{a.parents=[]},l=F=>{var x;return(x=a.relations)==null?void 0:x.map(w=>({fieldName:w.helpField,fieldValue:O.resolveField(F,w.groupField)}))},r=F=>{const{dataField:x}=a.treeInfo,w=a.treeInfo[F];return`${x}.${w}`},p=()=>e.loadTreeDataType===Ne.default?a.treeInfo.loadDataType:e.loadTreeDataType===Ne.async?"async":"all",d=()=>a.treeInfo.layerType,c=F=>{const x=r("isDetailField");return!!O.resolveField(F,x)},u=F=>e.onlySelectLeaf?!c(F):!1,s=F=>{const x=r("layerField");return Number(O.resolveField(F,x))},g=F=>{const{dataField:x,pathField:w}=a.treeInfo,k=d()==="pathcode"?`${x}.${w}`:"id";return O.resolveField(F,k)},S=F=>{const{dataField:x,layerField:w,pathField:k}=a.treeInfo,I=`${x}.${k}`,E=`${x}.${w}`,P=O.resolveField(F,I),L=Number(O.resolveField(F,E))-1;return P.slice(0,4*L)},h=F=>{const{dataField:x,parentField:w}=a.treeInfo,k=`${x}.${w}`;return O.resolveField(F,k)||""},y=F=>d()==="parentId"?h(F):S(F),m=F=>{const x=g(F.data);if(!t.get(x)){const E=s(F.data),P=new Map;t.set(x,{layer:E,children:P})}const k=y(F.data),I=t.get(k);if(I)I.children.set(x,F);else{const E=s(F.data)-1,P=new Map;P.set(x,F),t.set(k,{layer:E,children:P})}},f=(F,x=0)=>{x>100||F.forEach(w=>{m(w),w.children&&w.children.length>0&&f(w.children,x+1)})},b=F=>{const{items:x,treeInfo:w,relations:k}=F;a.treeInfo=w,a.relations=k,x&&f(x)},v=F=>{const x=F?g(F.data):"",{children:w}=t.get(x)||{};return w?Array.from(w.values()):[]},C=F=>{let x=F?g(F.data):"";const w=[];let k=t.get(x);if(k)for(;k.layer>0;){const I=k.layer||0;Array.from(t.keys()).forEach(E=>{const P=t.get(E);if(P&&P.layer===I-1){const L=P.children.get(x);L&&(k=P,x=E,w.unshift(L))}})}else F&&w.unshift(F);return w},T=(F,x=0)=>{if(x>100)return[];const w=v(F),k=[...w];for(;k.length>0;){const I=k.shift();if(!I)continue;const E=T(I,x+1);w.push(...E)}return w};return{treeData:a,resetData:o,updateTreeData:b,getTreeList:v,getParents:C,getChildrens:T,getIsDetail:c,getIsDisabled:u,getItemKey:g,getParentKey:y,getLoadDataType:p,getLayerType:d,getLayer:s,getRelations:l}},Ao=e=>{const n=i.reactive({dataList:[],showDataList:[],enableShow:!1}),t=i.computed(()=>n.dataList.length),a=h=>{h&&(n.dataList=h)},o=()=>{n.dataList.length=0},l=h=>n.dataList.findIndex(y=>y[e.idField]===h[e.idField]),r=h=>l(h)>=0,p=h=>h.length>0&&!h.find(y=>!r(y)),d=(h=1)=>e.selectedLimit&&t.value+h>e.selectedLimit,c=(h,y=!1)=>{if(!e.multiSelect){!r(h)||y?(o(),n.dataList.push(h)):o();return}if(d())return;const m=l(h);m<0?n.dataList.push(h):y||n.dataList.splice(m,1)},u=h=>{d(h.length)||(p(h)?h.forEach(y=>{c(y)}):h.forEach(y=>{c(y,!0)}))},s=()=>n.dataList.map(h=>h[e.textField]).join(e.separator),g=()=>n.dataList.map(h=>h[e.idField]).join(e.separator);return{selectedListData:n,selectedLength:t,initSelected:a,toggleSelecte:c,toggleSelecteAll:u,clearSelected:o,isSelected:r,isSelectedAll:p,getTextValue:s,getIdValue:g,getSelectedInfo:()=>{const h=g();return{selectedIds:(h||e.idValue).split(e.separator),selected:!0}}}},Ro=e=>{const n=i.reactive({dataList:[],totalPage:0,pageIndex:1,loading:!1,finished:!0,enableShow:!1,searchValue:""}),t=()=>{n.dataList=[],n.totalPage=0,n.pageIndex=1,n.finished=!1,n.searchValue=""},a=d=>e.displayType===Te.Tree?d.items.map(c=>c.data):d.items,o=d=>{const c=a(d);n.dataList=n.dataList.concat(c),d.total&&e.pageSize&&(n.totalPage=Math.ceil(d.total/e.pageSize))},{getData:l}=Ke(e),{buildParams:r}=et(e);return{searchListData:n,searchData:()=>{if(n.totalPage&&n.pageIndex>n.totalPage){n.finished=!0;return}const c={searchParams:{searchField:e.searchField||"*",searchValue:n.searchValue},pageIndex:n.pageIndex},u=e.displayType===Te.NAVTREELIST?Ce.list:Ce.search,s=r(u,c);l(s).then(g=>{o(g),n.loading=!1})},resetListData:t}},jo={title:{type:String,default:""}},ht=i.defineComponent({props:jo,setup(e,n){const{bem:t}=O.useBem(Fe);return()=>{const{rightIcon:a,extra:o}=n.slots;return i.createVNode("div",{class:t("cell")},[i.createVNode("div",{class:t(["cell","title"])},[i.createVNode("span",null,[e.title])]),i.createVNode("div",{class:t(["cell","right"])},[a&&i.createVNode("div",{class:t(["cell","right","icon"]),onClick:l=>l.stopPropagation()},[a()]),o&&i.createVNode("div",{class:t(["cell","right","extra"]),onClick:l=>l.stopPropagation()},[o()])])])}}}),tt=e=>{const{bem:n}=O.useBem(Fe),{handleLoadChild:t}=e||{handleLoadChild:()=>{}},{panelProps:a,selectedService:o,treeDataService:l,settingService:r,getTextValue:p,handleChange:d,handleCascadeSelect:c}=Pe(),{treeData:u,getIsDetail:s,getIsDisabled:g}=l,S=w=>{const k=w[a.avatarField];let I=p(w);return I=I?I.slice(-2):"",a.enableAvatar&&i.createVNode("div",{class:n("avatar")},[k?i.createVNode("img",{src:k},null):i.createVNode("span",null,[I])])},h=(w,k=!1)=>{const I=k&&a.multiSelect&&a.enableCascade&&!a.onlySelectLeaf,E=k?w.data:w;I?c(w):d(E)},y=(w,k=!1,I=!1)=>a.multiSelect&&i.createVNode(qt,{customClass:n("list-checker"),size:16,disabled:I,checked:o.isSelected(w),"onUpdate:checked":()=>h(w,k)},null),m=(w,k=!0)=>{const I=r.isInFavorite(w),E=I?"star":"star-outline",P=a.enableFavorite&&k;return()=>P&&i.createVNode("span",{class:`f-icon f-icon-${E} ${n(["star"])}`,"data-is-favorite":I,onClick:()=>r.toggleFavorite(w)},null)},f=w=>{const k={rightIcon:m(w)};return i.createVNode("div",{class:n("list-item")},[y(w),S(w),i.createVNode(ht,{title:p(w),onClick:()=>d(w)},k)])},b=i.computed(()=>{const w=u.parents.map(k=>({item:k,text:p(k.data),showIcon:!0}));return w.unshift({text:"全部",showIcon:!0}),w[w.length-1].showIcon=!1,w}),v=()=>i.createVNode("div",{class:n("breadcrumb")},[b.value.map(w=>i.createVNode("div",{class:n(["breadcrumb","item"]),onClick:()=>t(w.item)},[i.createVNode("span",{class:n(["breadcrumb","text"])},[w.text]),w.showIcon&&i.createVNode("span",{class:`f-icon f-icon-arrow-chevron-right ${n(["breadcrumb","icon"])}`},null)]))]),C=w=>{const k=s(w.data)||!1,I=a.displayType===Te.NAVTREELIST,E=!k||I;return()=>E&&i.createVNode("span",{class:`f-icon f-icon-arrow-chevron-right ${n(["arrow"])}`,onClick:()=>t(w)},null)},T=w=>g(w.data)?t(w):d(w.data);return{renderListItem:f,renderTreeItem:(w,k=!0)=>{const I=g(w.data),E=[n("list-item"),I?n("list-item","disabled"):""],P={rightIcon:m(w.data,k&&!I),extra:C(w)};return i.createVNode("div",{class:E},[y(w,!0,I),i.createVNode(ht,{title:p(w.data),onClick:()=>T(w)},P)])},renderNavTreeItem:w=>{const k={extra:C(w)};return i.createVNode("div",{class:n("list-item")},[i.createVNode(ht,{title:p(w.data),onClick:()=>t(w)},k)])},renderBreadcrumb:v}},$o={title:{type:String,default:""}},zn=i.defineComponent({props:$o,emits:["leftClick"],setup(e,n){const{bem:t}=O.useBem(Fe),a=()=>{n.emit("leftClick",!1)};return()=>i.createVNode("div",{class:t("navbar")},[i.createVNode("div",{class:t(["navbar","left"]),onClick:a},[i.createVNode("span",{class:`f-icon f-icon-arrow-chevron-left ${t(["navbar","left","icon"])}`},null)]),i.createVNode("div",{class:t(["navbar","title"])},[e.title])])}}),qo=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{getLocaleValue:n}=Ie.LocaleService,{panelProps:t,dataService:a,searchService:o,selectedService:l,getTextValue:r,handleChange:p,handleClose:d}=Pe(),{listData:c}=a,{searchListData:u,resetListData:s,searchData:g}=o,{selectedListData:S,selectedLength:h}=l,y=i.computed(()=>h.value>=t.selectedCollapseLimit),m=()=>{S.enableShow=!0},f=i.computed(()=>h.value>0),b=()=>f.value&&i.createVNode("div",{class:e(["header","selected-wrapper"])},[y.value?i.createVNode("div",{class:e(["header","selected-item"]),onClick:m},[i.createVNode("span",null,[r(S.dataList[0])]),i.createVNode("span",{style:"padding-left:4px;"},[n("lookup.etc",[h.value])])]):S.dataList.map(w=>i.createVNode("div",{class:e(["header","selected-item"]),onClick:()=>p(w,!1)},[i.createVNode("span",null,[r(w)])]))]),v=()=>{c.enableShow=!1,u.enableShow=!0},C=()=>{u.searchValue||(c.enableShow=!0,u.enableShow=!1)},T=w=>{s(),u.searchValue=w,w&&g()},F=()=>i.createVNode("div",{class:e(["header","search"])},[i.createVNode("span",{class:"search-icon f-icon f-icon-search"},null),i.withDirectives(i.createVNode("input",{"onUpdate:modelValue":[w=>u.searchValue=w,T],type:"text",placeholder:n("lookup.search"),onFocus:v,onBlur:C},null),[[i.vModelText,u.searchValue]])]),x=()=>i.createVNode(zn,{title:c.title,onLeftClick:d},null);return()=>i.createVNode("div",{class:e("header")},[x(),F(),b()])}});function _o(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Uo=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{dataService:n}=Pe(),{renderListItem:t}=tt(),{listData:a,loadData:o}=n,l=()=>{a.pageIndex++,o()},r=()=>{let p;return i.createVNode(Re,{loading:a.loading,"onUpdate:loading":d=>a.loading=d,finished:a.finished,immediateCheck:!1,onLoad:l},_o(p=a.dataList.map(d=>t(d)))?p:{default:()=>[p]})};return()=>i.createVNode("div",{class:e("list-container")},[r()])}});function zo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Ho=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{dataService:n,treeDataService:t}=Pe(),{treeData:a,getLoadDataType:o,getTreeList:l,getParents:r}=t,{loadData:p}=n,d=g=>{o()==="async"?p({parent:g}):(a.treeList=l(g),a.parents=r(g))},{renderTreeItem:c,renderBreadcrumb:u}=tt({handleLoadChild:d}),s=()=>{let g;return i.createVNode(Re,{finished:!0},zo(g=a.treeList.map(S=>c(S)))?g:{default:()=>[g]})};return()=>i.createVNode("div",{class:e("list-container")},[u(),s()])}}),Wo=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{dataService:n,treeDataService:t}=Pe(),{treeData:a,getLoadDataType:o,getTreeList:l,getParents:r}=t,{listData:p,loadData:d}=n,c=h=>{o()==="async"?d({parent:h}):(a.treeList=l(h),a.parents=r(h))},{renderListItem:u,renderNavTreeItem:s,renderBreadcrumb:g}=tt({handleLoadChild:c}),S=()=>i.createVNode(Re,{loading:p.loading,"onUpdate:loading":h=>p.loading=h,finished:p.finished,immediateCheck:!1,disabled:!0},{default:()=>[p.dataList.map(h=>u(h)),a.treeList.map(h=>s(h))]});return()=>i.createVNode("div",{class:e("list-container")},[g(),S()])}});function Go(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Jo=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{getLocaleValue:n}=Ie.LocaleService,{searchService:t}=Pe(),{searchListData:a,searchData:o}=t,l=()=>{a.pageIndex++,o()},{renderListItem:r}=tt(),p=()=>{let u;return i.createVNode(Re,{loading:a.loading,"onUpdate:loading":s=>a.loading=s,finished:a.finished,immediateCheck:!1,onLoad:l},Go(u=a.dataList.map(s=>r(s)))?u:{default:()=>[u]})},d=i.computed(()=>a.dataList.length>0),c=()=>i.createVNode("div",{class:e("empty")},[i.createVNode("div",{class:e(["empty","text"])},[i.createVNode("span",null,[n("lookup.noData")])])]);return()=>i.createVNode("div",{class:e("search-list")},[d.value?p():c()])}});function Yo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Qo=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{settingService:n}=Pe(),{renderListItem:t}=tt(),{favoriteListData:a}=n,o=()=>{let l;return i.createVNode(Re,{finished:!0},Yo(l=a.dataList.map(r=>t(r)))?l:{default:()=>[l]})};return()=>i.createVNode("div",{class:[e("list-container"),e("list-favorite")]},[o()])}}),Xo=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{getLocaleValue:n}=Ie.LocaleService,{panelProps:t,dataService:a,searchService:o,settingService:l}=Pe(),{listData:r}=a,{favoriteListData:p}=l,d=i.computed(()=>[{name:r.title,value:"list",minWidth:100},{name:n("lookup.favorites"),value:"favorite",minWidth:100}]),c=b=>{b==="list"?(r.enableShow=!0,p.enableShow=!1):(r.enableShow=!1,p.enableShow=!0)},u=()=>t.enableFavorite&&i.createVNode("div",{class:e("tab-bar")},[i.createVNode(ea,{modelValue:"list",items:d,onChange:c},null)]),s=i.computed(()=>{const{enableShow:b}=r;return{display:b?"block":"none"}}),g={[Te.List]:Uo,[Te.Tree]:Ho,[Te.NAVTREELIST]:Wo},S=()=>{const b=g[t.displayType];return i.createVNode(b,{style:s.value},null)},h=i.computed(()=>{const{enableShow:b}=p;return{display:b?"block":"none"}}),y=()=>i.createVNode(Qo,{style:h.value},null),m=i.computed(()=>{const{enableShow:b}=o.searchListData;return{display:b?"block":"none"}}),f=()=>i.createVNode(Jo,{style:m.value},null);return()=>i.createVNode(i.Fragment,null,[i.createVNode("div",{class:e("content")},[u(),S(),y(),f()])])}}),Hn=i.defineComponent({setup(e,{slots:n}){const{bem:t}=O.useBem(Fe),{getLocaleValue:a}=Ie.LocaleService,{showListData:o,selectedService:l,treeDataService:r,handleConfirm:p}=Pe(),{selectedLength:d,isSelectedAll:c,toggleSelecteAll:u}=l,s=i.computed(()=>o.value.filter(b=>!r.getIsDisabled(b)).length===0),g=i.computed(()=>c(o.value)),S=i.computed(()=>g.value?a("lookup.deselectAll"):a("lookup.selectAll")),h=()=>{u(o.value)},y=()=>i.createVNode("div",{class:t(["footer","left"])},[n.left?n.left():i.createVNode(qt,{size:16,disabled:s.value,checked:g.value,label:S.value,"onUpdate:checked":h},null)]),m=()=>i.createVNode("div",{class:t(["footer","right"])},[i.createVNode("button",{class:t(["button"]),onClick:p},[a("lookup.okText"),i.createTextVNode(" ("),d.value,i.createTextVNode(")")])]);return()=>i.createVNode("div",{class:t("footer")},[y(),m()])}});function Zo(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const Ko=i.defineComponent({setup(){const{bem:e}=O.useBem(Fe),{getLocaleValue:n}=Ie.LocaleService,{selectedService:t,getTextValue:a,handleChange:o}=Pe(),{selectedListData:l,selectedLength:r,clearSelected:p}=t,d=y=>{r.value===1&&(l.enableShow=!1),o(y)},c=y=>()=>i.createVNode("span",{class:"f-icon f-icon-x",onClick:()=>d(y)},null),u=()=>{let y;return i.createVNode("div",{class:e("selected-list")},[i.createVNode(Re,{finished:!0,immediateCheck:!1},Zo(y=l.dataList.map(m=>i.createVNode(ht,{title:a(m)},{rightIcon:c(m)})))?y:{default:()=>[y]})])},s=()=>{l.enableShow=!1,p()},g={left:()=>i.createVNode("span",{class:e(["popup-selected","footer-left"]),onClick:s},[n("lookup.clearSelected")])},S=()=>i.createVNode(Hn,null,g),h=()=>{l.enableShow=!1};return()=>i.createVNode(ta,{position:"right",width:"100%",height:"100%",showHeader:!1,showFooter:!1,customClass:"f-drawer--no-padding",modelValue:l.enableShow},{default:()=>[i.createVNode("div",{class:e("popup-selected")},[i.createVNode(zn,{title:n("lookup.selected"),onLeftClick:h},null),u(),S()])]})}});function el(e){const{getData:n,getSettings:t,updateSettings:a}=Ke(e),{buildParams:o}=et(e),l=i.reactive({dataList:[],totalPage:0,pageIndex:1,loading:!1,finished:!0,enableShow:!1,ids:[]}),r=()=>{l.dataList=[],l.totalPage=0,l.pageIndex=1,l.finished=!1,l.ids=[]},p=i.ref({favorites:[]}),d=async()=>{var y;const h=await t();return h&&(p.value=JSON.parse(h),l.ids=((y=p.value)==null?void 0:y.favorites)||[]),h},c=async()=>{const h=JSON.stringify(p.value);await a(h)},u=h=>l.ids.includes(h[e.idField]),s=h=>{const y=h[e.idField];if(!y)return;const{dataList:m}=l,f=m.findIndex(b=>b[e.idField]===y);f===-1?m.push(h):m.splice(f,1),l.ids=m.map(b=>b[e.idField]),p.value.favorites=l.ids,c()},g=async()=>{const h={category:Ce.fav,favoriteIds:l.ids},y=o(Ce.fav,{searchParams:h}),m=await n(y);m&&(l.dataList=m.items||[])};return{favoriteListData:l,resetListData:r,isInFavorite:u,loadFavoriteList:g,initFavoriteList:async()=>{await d(),await g()},toggleFavorite:s,loadSettings:d,saveSettings:c}}const tl=i.defineComponent({name:Fe,props:Un,emits:["change","confirm","close"],setup(e,n){const{expose:t}=n,{bem:a}=O.useBem(Fe),{setState:o}=Pe(),l=Oo(e),r=Ao(e),p=Ro(e),d=el(e),c=Bo(e,{treeDataService:l,selectedService:r,settingService:d});o({panelProps:e,panelContext:n,dataService:c,treeDataService:l,selectedService:r,searchService:p,settingService:d}),t({getSelecteds:()=>r.selectedListData.dataList,getTextValue:r.getTextValue,initLoadData:c.initLoad});const u=()=>i.createVNode(qo,null,null),s=()=>i.createVNode(Xo,null,null),g=i.computed(()=>e.multiSelect),S=()=>g.value&&i.createVNode(Hn,null,null),h=()=>i.createVNode(Ko,null,null);return()=>i.createVNode("div",{class:a()},[u(),s(),S(),h()])}}),nl=i.defineComponent({props:Un,inheritAttrs:!1,setup(e,n){const t=i.ref();i.onMounted(()=>{var r;(r=t.value)==null||r.initLoadData()});const a=()=>{n.emit("close")},o=()=>{const r=t.value.getSelecteds();n.emit("confirm",r)},l=i.computed(()=>({...e,displayType:e.displayType.toUpperCase(),onClose:a,onConfirm:o}));return()=>i.createVNode(tl,i.mergeProps({ref:t},l.value),null)}});function al(e,n,t,{selectionsManager:a,useHttpComposition:o,userDataService:l,updateModelValue:r}){const{idValues:p}=o,{userDataState:d}=l;function c(){var m;(m=t.value)==null||m.showPopup()}function u(){var m;(m=t.value)==null||m.hidePopup()}const s=m=>{a.clearSelections(),m&&m.length>0&&a.updateSelections(m),r(),u()},g=()=>{u()},S={[we.async]:"layerload",[we.all]:"loadall",[we.default]:"default"},h=i.computed(()=>{var m;return{title:e.title,displayType:e.displayType,uri:e.uri,idField:e.idField,textField:e.textField,multiSelect:e.multiSelect,onlySelectLeaf:e.onlySelectLeaf,loadTreeDataType:S[e.loadTreeDataType??we.default],idValue:p.value||"",pageSize:(m=e.pagination)==null?void 0:m.size,httpServiceToken:Ft,enableFavorite:e.enableFavorite,enableCascade:e.enableCascade,settingKey:d.key,onClose:g,onConfirm:s}});return{showDrawer:c,hideDrawer:u,renderDrawer:()=>i.createVNode(nl,h.value,null)}}const De=i.defineComponent({name:"FLookup",props:$e,emits:wt,setup(e,n){const t=n,a='<i id="'+e.id+'-icon_lookup" class="f-icon f-icon-lookup"></i>',o='<i id="'+e.id+'-icon_dropdown" class="f-icon f-icon-arrow-chevron-down"></i>',l='<i id="'+e.id+'-icon_drawer" class="f-icon f-icon-arrow-chevron-right"></i>',r=i.ref(),p=i.ref(e.modelValue),d=i.ref("");Ge.value=e.customData;const c=i.computed(()=>O.isMobilePhone()||e.openType==="Popup"?"Popup":"Modal"),u=i.computed(()=>O.isMobilePhone()?!0:!e.editable&&c.value==="Popup"),s=i.computed(()=>O.isMobilePhone()?l:c.value==="Popup"?o:a),g=Ca(e),S=ba(e),{lookupOptions:h,selectionState:y,searchValueChanged:m,queryState:f,popupState:b}=S.lookupStates,v=va(e,S),C=i.computed(()=>e.showSelections&&h.multiSelect),T=i.computed(()=>e.editable&&(c.value==="Modal"||!h.multiSelect)),F=ko(e,h);S.lookupStates.compatInstance=F;const x=i.computed(()=>e.showIncludeChildNodes&&e.showNavigation&&!h.navTreeToList),w=on(e,S.lookupStates),{dictPicked:k}=Fo(e),{modalOptions:I,beforeOpenDialog:E,dialogSize:P,customData:L,updateModelValue:V,cancelDialog:M,submitDialog:$,destroyed:W,setModelAndIdValue:j,runDictPickedAsync:U}=xo(e,n,y,{dictPicked:k,modelValue:p,buttonEditInstance:r,userDataService:v,useHttp:S,lookupLocales:g}),Y=Io(e,t,r,{useHttpComposition:S,selectionsManager:w,userDataService:v,updateModelValue:V,lookupLocales:g,destroyed:W,setModelAndIdValue:j,runDictPickedAsync:U,popupState:b}),{renderPopup:pe,showPopup:N,isPopuped:q,hidePopup:J,onBeforeClosePopup:Z}=Y,{renderDrawer:re,showDrawer:se}=al(e,t,r,{selectionsManager:w,useHttpComposition:S,userDataService:v,updateModelValue:V});function oe(){if(c.value==="Popup"){O.isMobilePhone()?se():N();return}r.value&&!r.value.getModal()&&r.value.openDialog()}const{onInputBlur:ue,onEnterKeyDown:_,isClear:K,queryDataBySearchKeys:ee}=wo(e,t,{beforeOpenDialog:E,updateModelValue:V,selectedItems:y,openDialog:oe,modelValue:p,useHttpComposition:S,lookupOptions:h,usePopupComposition:Y,isPopuped:q}),ie=i.reactive(I),le=i.inject(yt.F_MODAL_SERVICE_TOKEN);i.watch(()=>L.value,X=>{Ge.value=X}),i.watch(()=>e.modelValue,X=>{p.value=X});function xe(X){S.idValues.value=X,X||(y.value=[]),n.emit("update:idValue",X)}i.watch(()=>e.idValue,X=>{xe(X)}),i.onMounted(()=>{}),i.onUnmounted(()=>{mt(e)}),i.watch(()=>P.value,X=>{n.emit("resize",X)}),c.value==="Popup"&&i.watch([()=>e.readonly,()=>e.disabled],([X,be])=>{var at;(X||be)&&((at=r.value)==null||at.forceClosePopup())});async function Q(){n.emit("update:modelValue",""),xe(""),f.value=null,c.value==="Popup"&&q.value&&(b.canClose=!0,K.value||(m.value=!0,ee("")));const X={items:null,mappingFields:h.mappingFields,options:{...h}};n.emit("clear",X),mt(e,X)}i.watch(()=>K.value,X=>{X&&(Q(),K.value=!1)});function H(X){n.emit("search",X)}function ae(X){n.emit("navSelectionsChanged",X)}function fe(X){n.emit("pageIndexChanged",X)}function D(X){n.emit("pageSizeChanged",X)}function R(){return r.value&&r.value.getModal()}async function A(X){const be=R();be&&be.updateModalOptions(X),X.title&&(d.value=X.title)}function z(X){const be=R();be?be.close(X):le==null||le.close()}function ge(X){const be=R();be&&be.maxDialog(X)}const me=i.computed(()=>{const X=R();return X==null?void 0:X.isMaximized}),ye=i.computed(()=>h.multiSelect&&h.showCascadeControl&&h.enableCascade&&Se.Tree===(h.displayType??"").toUpperCase()&&!h.treeToList),nt=i.computed(()=>y.value&&y.value.length?y.value.map(X=>X[h.idField??"id"]):[]);function gt(X){for(const be in h)X[be]!==void 0&&(h[be]=X[be])}const Wn=ce.debounce(X=>{ue(X)},200);function ol(X){var at;let be=(at=X.target)==null?void 0:at.value;be!==""&&(be=be.trim()),m.value=X.target._value!==be,e.allowFreeInput&&xe(""),m.value&&(f.value=be),c.value==="Popup"&&m.value&&Wn(X)}function ll(){m.value=!1}async function Gn(X){await $()&&(le==null||le.close())}function rl(X){e.togglePopupOnClickInput&&(q.value?J():N())}function sl(){document.body.classList.add("lookup-modal-open"),e.editable&&setTimeout(()=>{var X;(X=r.value.getTextbox())==null||X.focus()},100)}const cl=()=>{n.emit("expandClick")};return n.expose({openDialog:oe,updateIdValue:xe,mappingFields:h.mappingFields,idField:h.idField,setProps:gt,clear:Q,showDialog:oe,close:()=>le==null?void 0:le.close()}),()=>i.createVNode(ze.FButtonEdit,{ref:r,id:e.id,modelValue:p.value,"onUpdate:modelValue":X=>p.value=X,disable:e.disabled,readonly:e.readonly,editable:T.value,inputType:"text",enableClear:e.enableClear,buttonContent:s.value,buttonBehavior:c.value,modalOptions:ie,onClear:Q,beforeOpen:E,onBlur:ue,onKeydown:_,placeholder:g.placeholder,keepWidthWithReference:!1,popupOnClick:u.value,onInput:ol,enableTitle:e.enableTitle,textAlign:e.textAlign,placement:O.isMobilePhone()?"right":"auto",onBeforeClearValue:ll,customClass:"f-cmp-lookup",onClick:rl,onShown:sl,beforeClosePopup:O.isMobilePhone()?null:Z,popupClass:"lookup-popup-panel",expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:cl},{default:()=>[c.value==="Modal"&&i.createVNode(To,{title:d.value||"",enableFavorite:e.enableFavorite,onCloseModal:z,onMaximize:X=>ge(X),useHttpComposition:S,userDataService:v,useDialog:{cancelDialog:M,submitDialog:$},showSelectedList:C.value,selectionsManager:w,showIncludeChildNodes:{show:x.value,value:e.includeChildNodesValue},showCascadeControl:ye.value,isMaximized:me.value,locales:g,id:e.id,customFormatter:h.customFormatter},{default:()=>i.createVNode(mo,i.mergeProps(e,{onSearch:H,onNavSelectionsChanged:ae,onPageIndexChanged:fe,onPageSizeChanged:D,onChangeDialogOptions:A,onDblClickRow:Gn}),null),fav:()=>e.enableFavorite&&i.createVNode(go,{idField:h.idField,displayType:h.displayType,selectedIds:nt.value,multiSelect:h.multiSelect,showSelections:C.value,treeToList:h.treeToList,onDblClickRow:Gn,customFormatter:h.customFormatter},null)}),c.value==="Popup"&&(O.isMobilePhone()?re():pe())],...n.slots.content?{content:()=>{var X,be;return(be=(X=n.slots).content)==null?void 0:be.call(X,{openDialog:()=>oe()})}}:{}})}});class il extends Vn{constructor(t,a){super(t,a);te(this,"propertyConfigFilters",{lookup:["dataSource","filterConditions","displayType","idField","multiSelect","showSelections","enableSearchBar","searchAnyField","enableFavorite","enableUserData"],pager:["showLimits","sizeLimits","size"],treeConfig:["cascadeStatus","enableCascade","enableFullTree","expandLevel","loadTreeDataType","navTreeToList","onlySelectLeaf","showCascadeControl","treeToList"],dialog:["title","width","height","showNavigation","navigatorWidth","resizeable","rememberSize","enableEsc","showMaxButton","showCloseButton"]});te(this,"events",fa)}getPropertyConfig(t){const a=new en("root-component",this.designerHostService),o=a.getLookupConfig(t),l=a.getPageConfig(t.editor),r=a.getTreePropConfig(t.editor),p=a.getDialogPropertyConfig(t),d=this.getEventPropConfig(t),c={type:"object",categories:{lookup:o,treeConfig:r,pager:l,dialog:p}};return this.filterLookupPropertyConfig(c),c.categories.eventsEditor=d,c}filterLookupPropertyConfig(t){Object.keys(t.categories).forEach(a=>{const o=this.propertyConfigFilters[a],l=t.categories[a];Object.keys(l.properties).forEach(r=>{o.includes(r)||delete l.properties[r]})})}getEventPropConfig(t){const a=this,o=a.eventsEditorUtils.formProperties(t,a.viewModelId,this.events);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:O.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(r,p){const d=p.editor,c=r.propertyValue;delete d[a.viewModelId],c&&a.eventsEditorUtils.saveRelatedParameters(d,a.viewModelId,c.events,c),a.events.forEach(u=>{p[u.label]=d[u.label]})}}}}De.install=e=>{e.component(De.name,De)},De.register=(e,n,t,a,o)=>{e.lookup=De,n.lookup=Vt(o),a.lookup={callbackResolver:Jt}},De.registerDesigner=(e,n,t,a)=>{e.lookup=ga,n.lookup=Vt(a)},G.CascadeEnum=St,G.Compare=He,G.DEFAULT_LOOKUP_DIALOG_OPTIONS=Gt,G.DEFAULT_PAGINATION_OPTIONS=xt,G.DefaultDialogTitle=Tt,G.ExpressValueType=Wt,G.ExternalLookupPropertyConfig=il,G.FLookup=De,G.F_LOOKUP_HTTP_SERVICE_TOKEN=Ft,G.FilterRelation=We,G.LOOKUP_ACTIVE_TAB=je,G.LOOKUP_USER_DATA_ID=na,G.LoadTreeDataType=we,G.LookupDisplayType=Se,G.LookupSchemaRepositoryToken=Qt,G.LookupTabs=ve,G.callbackResolver=Jt,G.cascadeItems=st,G.default=De,G.getLookupDialogCommonProperties=Zt,G.getLookupEditorCommonProperties=Xt,G.getLookupPaginationProperties=Kt,G.lookupDataSourceConverter=Pt,G.lookupEmits=wt,G.lookupProps=$e,G.propsResolver=ia,G.propsResolverGenerator=Vt,Object.defineProperties(G,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});