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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/components/discussion-editor/index.esm.js +2 -2
  2. package/components/discussion-editor/index.umd.cjs +2 -2
  3. package/components/drawer/index.esm.js +2 -2
  4. package/components/drawer/index.umd.cjs +2 -2
  5. package/components/events-editor/index.esm.js +6 -3
  6. package/components/events-editor/index.umd.cjs +1 -1
  7. package/components/language-textbox/index.esm.js +84 -77
  8. package/components/language-textbox/index.umd.cjs +1 -1
  9. package/components/locale/index.esm.js +2 -2
  10. package/components/locale/index.umd.cjs +2 -2
  11. package/components/lookup/index.esm.js +2 -2
  12. package/components/lookup/index.umd.cjs +1 -1
  13. package/designer/data-grid/index.esm.js +3 -1
  14. package/designer/data-grid/index.umd.cjs +1 -1
  15. package/designer/drawer/index.esm.js +2 -2
  16. package/designer/drawer/index.umd.cjs +2 -2
  17. package/designer/farris-designer.all.esm.js +2 -2
  18. package/designer/farris-designer.all.umd.cjs +1 -1
  19. package/farris.all.esm.js +6074 -4584
  20. package/farris.all.umd.cjs +15 -15
  21. package/package.json +1 -1
  22. package/types/calendar/src/components/header/header.component.d.ts +2 -2
  23. package/types/chs.d.ts +494 -0
  24. package/types/cht.d.ts +490 -0
  25. package/types/en.d.ts +494 -0
  26. package/types/filter-bar/index.d.ts +3 -3
  27. package/types/filter-bar/src/components/filter-item-condition/filter-item-condition.component.d.ts +1 -1
  28. package/types/filter-bar/src/designer/filter-bar.design.component.d.ts +2 -2
  29. package/types/filter-bar/src/filter-bar.component.d.ts +1 -1
  30. package/types/index.d.ts +1479 -1
  31. package/types/order/src/designer/order.design.component.d.ts +3 -3
  32. package/types/order/src/order.component.d.ts +3 -3
  33. package/types/schema-selector/src/schema-selector.component.d.ts +1 -1
@@ -1 +1 @@
1
- (function(j,a){typeof exports=="object"&&typeof module<"u"?a(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("../notify/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("lodash-es"),require("../common/index.umd.js"),require("vue-i18n"),require("../tree-grid/index.umd.js"),require("../combo-list/index.umd.js"),require("../popover/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","../notify/index.umd.js","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","lodash-es","../common/index.umd.js","vue-i18n","../tree-grid/index.umd.js","../combo-list/index.umd.js","../popover/index.umd.js"],a):(j=typeof globalThis<"u"?globalThis:j||self,a(j.lookup={},j.Vue,j.FButtonEditDesign,j.designerCanvas,j.dynamicResolver,j.propertyPanel,j.fieldSelector,j.notify,j.modal,j.buttonEdit,j.layout,j.dataGrid,j.LodashES,j.common,j.vueI18n,j.treeGrid,j.comboList,j.FPopover))})(this,function(j,a,ge,ft,qe,Ee,we,Ve,pt,We,Ne,Fe,ae,ve,ht,Me,Ge,gt){"use strict";var sn=Object.defineProperty;var dn=(j,a,ge)=>a in j?sn(j,a,{enumerable:!0,configurable:!0,writable:!0,value:ge}):j[a]=ge;var ee=(j,a,ge)=>dn(j,typeof a!="symbol"?a+"":a,ge);function He(t){return typeof t=="string"&&t.startsWith("{")&&t.endsWith("}")?(t=t.replace(/'/g,'"'),{mappingFields:JSON.parse(t)}):{mappingFields:t}}const mt=new Map([["appearance",qe.resolveAppearance],["mappingFields",(t,n,e)=>{if(n)return He(n);const{mappingFields:i}=e;return He(i)}],["uri",(t,n,e)=>{var i;return n?{uri:n}:{uri:(i=e==null?void 0:e.dataSource)==null?void 0:i.uri}}],["idField",(t,n,e)=>{var i;return n?{idField:n}:{idField:(i=e==null?void 0:e.dataSource)==null?void 0:i.idField}}]]),yt={$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:"请选择"},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},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}},required:["type"],ignore:["id","appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function bt(t,n,e){return n}var Oe=(t=>(t.Both="both",t.Up="up",t.Down="down",t.Disable="disable",t))(Oe||{});const Ie=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],De="";var se=(t=>(t.List="LIST",t.Tree="TREELIST",t.ListList="NAVLIST",t.TreeList="NAVTREELIST",t.ListTree="NAVLISTTREE",t))(se||{}),ce=(t=>(t.default="default",t.all="all",t.async="async",t))(ce||{});const me="__lookup_active_tab__",vt="__lookup_user_data_id__";var ne=(t=>(t.dataList="datalist",t.favorite="favorite",t))(ne||{});const Be={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},Je=Symbol("f_lookup-http-service_token");var Ae=(t=>(t[t.Equal=0]="Equal",t[t.NotEqual=1]="NotEqual",t[t.Greater=2]="Greater",t[t.GreaterOrEqual=3]="GreaterOrEqual",t[t.Less=4]="Less",t[t.LessOrEqual=5]="LessOrEqual",t[t.Like=6]="Like",t[t.LikeStartWith=7]="LikeStartWith",t[t.LikeEndWith=8]="LikeEndWith",t[t.NotLike=9]="NotLike",t[t.NotLikeStartWith=10]="NotLikeStartWith",t[t.NotLikeEndWith=11]="NotLikeEndWith",t[t.Is=12]="Is",t[t.IsNot=13]="IsNot",t[t.In=14]="In",t[t.NotIn=15]="NotIn",t))(Ae||{}),Pe=(t=>(t[t.Empty=0]="Empty",t[t.And=1]="And",t[t.Or=2]="Or",t))(Pe||{}),Qe=(t=>(t[t.Value=0]="Value",t[t.Expression=1]="Expression",t.FrontExpress="frontExpress",t))(Qe||{});const Xe={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function Ct(){function t(n,e){const i={};return i.dictPicking=l=>e.call("dictPicking",[l,n]),i.beforeLoadData=l=>e.call("beforeLoadData",[l,n]),i.beforeSelectData=l=>e.call("beforeSelectData",[l,n]),i.dictPicked=l=>e.call("dictPicked",[l,n]),i}return{resolve:t}}const Ce={id:{type:String,require:!0},uri:{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,defalut:"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:Be},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},showIncludeChildNodes:{type:Boolean,default:!0},includeChildNodesValue:{type:Boolean,default:!0},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:ce.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}},je=qe.createPropsResolver(Ce,yt,mt,bt),Ke=Ct();function ke(t){let n=[10,20,30,50,100];return t&&(typeof t=="string"&&(n=t.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(t)&&(n=t)),n.map(e=>({value:parseInt(e,10)})).sort((e,i)=>e.value-i.value)}const Z={convertFrom:(t,n)=>n==="multiSelect"||n==="enableTitle"?!!t.editor[n]:n==="separator"?t.editor[n]||",":n==="onlySelectLeaf"?t.editor[n]==null?!1:t.editor[n]:n==="loadTreeDataType"?t.editor[n]||"default":n==="placeholder"?t.editor.placeholder||"请选择":t.editor[n],convertTo:(t,n,e)=>{t.editor[n]=e,n==="multiSelect"&&!e&&(t.editor.enableCascade=!1),n==="openType"&&e==="Popup"&&(t.editor.showSelections=!1,t.editor.enableCascade=!1)}};function St(t){let n="form_group_"+Date.now();return t&&(n=t.replaceAll("-","_").replaceAll(".","_")),"lookup."+n}function Tt(t,n){const{enablePager:e,pageSize:i,pageList:l}=n;t.pagination=t.pagination||{},Object.assign(t.pagination,{enable:e,sizeLimits:ke(l).map(o=>o.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const Ye={convertFrom:(t,n)=>{var e;return(e=t.editor[n])==null?void 0:e.displayName},convertTo:(t,n,e)=>{if(e&&e.length>0){const i=e[0],{name:l,id:o,metadataContent:r,code:d}=i;t.editor.dataSource||(t.editor.dataSource={}),t.editor.dataSource.displayName=`${l}(${d})`,t.editor.helpId=o;const{displayType:s,idField:c,textField:u}=r;t.editor.displayType=s,t.editor.dataSource.idField=c,t.editor.textField=u,t.editor.dataSource.type="ViewObject";const{pageInfo:p}=r.dataSource;Tt(t.editor,p);const{treeInfo:S}=s.toUpperCase()==="NAVTREELIST"?r.navigation:r.dataSource;if(S){const{onlySelectLeaf:F,loadDataType:T}=S;t.editor.loadTreeDataType="default",t.editor.onlySelectLeaf=F??!1}t.editor.dataSource.uri||(t.editor.dataSource.uri=St(t.id))}}},wt={convertFrom:(t,n)=>{var e;return(e=t.editor.dataSource)==null?void 0:e.idField},convertTo:(t,n,e)=>{if(e&&e.length>0){const i=e[0];t.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},Ft={convertFrom:(t,n)=>{var e;return(e=t.editor)==null?void 0:e.textField},convertTo:(t,n,e)=>{if(e&&e.length>0){const i=e[0];t.editor.textField=i==null?void 0:i.bindingPath}}},It={convertFrom:(t,n)=>t.editor.displayType?t.editor.displayType.toUpperCase():"LIST",convertTo:(t,n,e)=>{t.editor.displayType=e}},ue={convertFrom:(t,n)=>{var l;const e=t.editor.dialog||{};if(n==="title")return e[n]||De;if(t.editor.openType==="Modal"){if(n==="width")return(l=t.editor.displayType)!=null&&l.toUpperCase().startsWith("NAV")?e[n]||960:e[n]||590;if(n==="height")return e[n]||620;if(n==="navigatorWidth")return e[n]||320}else{if(n==="width")return e[n]||460;if(n==="height")return e[n]||380}if(n==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(n))return e[n]==null?!0:e[n]},convertTo:(t,n,e)=>{t.editor.dialog=t.editor.dialog||{},t.editor.dialog[n]=e}},Ue={convertFrom:(t,n)=>{const e=t.editor.pagination||{};if(n==="enable"||n==="showLimits")return e[n]==null?!1:e[n];if(n==="sizeLimits"){const i=e[n];return ke(i)}if(n==="size")return e[n]||20},convertTo:(t,n,e)=>{var i,l;if(t.editor.pagination=t.editor.pagination||{},n==="sizeLimits"){const o=e.map(d=>d.value);t.editor.pagination[n]=o;const r=((l=(i=t.editor)==null?void 0:i.pagination)==null?void 0:l.size)??20;o.includes(r)||(t.editor.pagination.size=o[0]);return}t.editor.pagination[n]=e}},Pt=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],kt=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Ze=Symbol("schema_repository_token");class et extends Ee.InputBaseProperty{constructor(){super(...arguments);ee(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ee(this,"numberEditor",{type:"number-spinner",useThousands:!1});ee(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ee(this,"visibleEditor",{...this.comboListEditor,editable:!1});ee(this,"requiredEditor",{...this.comboListEditor,editable:!1});ee(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(e,i){const l=["validate"];return e.type==="form-group"&&l.push("dataPicking"),new Ee.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(e,"Field",l)}getPropertyConfig(e,i,l="Card"){var h;const o=(h=e.binding)!=null&&h.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(e,o,"readonly"),this.visibleEditor=this.getPropertyEditorParams(e,o,"visible"),this.requiredEditor=this.getPropertyEditorParams(e,o,"required"),this.freeInputEditor=this.getPropertyEditorParams(e,["Const","Variable"],"allowFreeInput");const r=this.getBasicProperties(e,i,l),d=this.getBehaviorConfig(e),s=this.getAppearanceProperties(e,i),c=this.getLookupConfig(e),u=this.getEventPropConfig(e),p=this.getDialogPropertyConfig(e),S=this.getPageConfig(e.editor),F=this.getTreePropConfig(e.editor),T=this.getExpressionConfig(e,"Field"),g={basic:r,appearance:s,behavior:d,lookup:c,treeConfig:F,dialog:p,pager:S,expressions:T};return e.type==="form-group"&&(g.eventsEditor=u),{type:"object",categories:g}}getGridFieldEdtiorPropConfig(e){return this.getPropertyConfig(e,null,"Grid").categories}flattenTreeNodes(e){return e.reduce((i,l)=>{var o;return i.push(l),(o=l.children)!=null&&o.length&&i.push(...this.flattenTreeNodes(l.children)),i},[])}isSimpleStringField(){var d;const e=((d=this.designViewModelField)==null?void 0:d.path)||"";if(!e||!e.includes("."))return!0;const i=e.split("."),l=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(l!=null&&l.length))return!1;const o=l.find(s=>s.data.code===i[0]);if(!o)return!1;const r=[o,...this.flattenTreeNodes(o.children)];return!i.reduce((s,c,u)=>[...s,u?`${s[u-1]}.${c}`:c],[]).some(s=>{var c,u,p;return((p=(u=(c=r.find(S=>S.data.path===s))==null?void 0:c.data)==null?void 0:u.type)==null?void 0:p.$type)==="EntityType"})}getBehaviorConfig(e){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,l)=>{this.afterMutilEditorChanged(l,i)}}}changeBindingField(e,i){super.changeBindingField(e,i),e.editor.multiSelect=!1}getDisplayType(e){return e.displayType?e.displayType.toUpperCase():""}mapFieldsDisplayFormatter(e){return e&&e.length?e.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getLookupConfig(e){const i=e.editor,l=()=>{const o=this.formSchemaUtils.getFormSchema().module.entity[0].id,r=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:r,viewModelId:o,dataSourceId:i.helpId}};return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(o,r)=>{if(o)switch(o.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(r,o);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},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:Z},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:Z,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:Z,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:Z,editor:this.freeInputEditor,visible:!1},enableClear:{title:"启用清除按钮",type:"boolean",$converter:Z},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},displayFormatter:o=>o&&o.length?o.map(r=>`${r.name}(${r.code})`).join(","):"",viewOptions:this.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(o,r)=>`${o==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Ze,validateFunction:async o=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(o,e),onSubmitModal:o=>{if(o){delete i.mappingFields;const r=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(r.relativePath,o[0].data).then(d=>JSON.parse(d==null?void 0:d.metadata.content))}}},$converter:Ye},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:Z,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:we.FieldSelectorRepositoryToken,beforeOpen:async({repository:o,notifyService:r})=>{var S;if(!(i==null?void 0:i.helpId))return r==null||r.warning({message:"请先配置数据源!"}),!1;const s=l(),u=new Ee.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let p={};if(o){const F=await o.getData(s),T=await o.getLookupConditions(s);p={fieldList:F,conditionList:T}}return(S=u.variables)!=null&&S.forms&&(u.variables.forms.items=u.variables.forms.items.filter(F=>F.category==="remote")),{...p,...u}},onSubmitModal:async({loadingService:o,repository:r,conditions:d,originalConditions:s,FMessageBoxService:c})=>{if(r)try{const u=l(),p=await r.getLookupConditions(u)||[];return JSON.stringify(p)!==JSON.stringify(s.value)?(o==null||o.clearAll(),c.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{d.value=p,s.value=JSON.parse(JSON.stringify(d.value))},()=>{}),!1):(JSON.stringify(d.value)===JSON.stringify(s.value)||await r.saveFilterCondition(d.value,u,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return c==null||c.error("保存失败",""),!1}finally{o==null||o.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:It,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:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:we.FieldSelectorRepositoryToken},$converter:wt},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:Ft,editor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:we.FieldSelectorRepositoryToken}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:Z,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(o,r)=>`${r.raw.name} [${r.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:we.FieldSelectorRepositoryToken,displayFormatter:this.mapFieldsDisplayFormatter},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),r=this.schemaService.getPrimaryField();return r?o.filter(d=>d.data.bindingPath!==r):o},formatter:(o,r)=>`${r.raw.name} [${r.raw.bindingPath}]`,displayFormatter:this.mapFieldsDisplayFormatter}}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:Z,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:Z,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:Z,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:Z,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:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:Z,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:Z,title:"允许查询所有列",type:"boolean",visible:i.openType!=="Popup"&&i.enableSearchBar==null?!0:!!i.enableSearchBar},enableFavorite:{description:"启用收藏夹",$converter:Z,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:Z,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(e){return this.getDisplayType(e).startsWith("NAV")&&e.openType!=="Popup"?e.showNavigation===void 0?!0:!!e.showNavigation:!1}getDialogPropertyConfig(e){var i,l,o,r;return{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",properties:{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",$converter:Z,refreshPanelAfterChanged:!0,editor:{...this.comboListEditor,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0},title:{description:"帮助标题",title:"标题",type:"string",$converter:ue,visible:e.editor.openType!=="Popup"},width:{description:"窗口宽度,最小值:300px,最大值:3000px",title:"宽度",type:"number",refreshPanelAfterChanged:!0,$converter:ue,editor:{...this.numberEditor,min:this.showNavigatiorWidth(e.editor)?520:300,max:9999}},height:{description:"窗口高度,最小值:200px,最大值:2000px",title:"高度",type:"number",$converter:ue,editor:{...this.numberEditor,min:200,max:9999}},showNavigation:{description:"显示导航栏",$converter:Z,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:this.getDisplayType(e.editor).includes("NAV")&&e.editor.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",$converter:ue,visible:this.showNavigatiorWidth(e.editor)&&e.editor.openType!=="Popup",editor:{...this.numberEditor,min:200,max:(((l=(i=e.editor)==null?void 0:i.dialog)==null?void 0:l.width)??960)-200}},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",$converter:ue,refreshPanelAfterChanged:!0,visible:e.editor.openType!=="Popup"},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",$converter:ue,visible:!!e.editor.enableUserData&&(((r=(o=e.editor)==null?void 0:o.dialog)==null?void 0:r.resizeable)??!0)&&e.editor.openType!=="Popup"},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",$converter:ue,visible:e.editor.openType!=="Popup"},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",$converter:ue,visible:e.editor.openType!=="Popup"},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",$converter:ue,visible:e.editor.openType!=="Popup"}}}}showPagerProperty(e,i){const l=this.getDisplayType(e)!=="TREELIST"||e.treeToList;return i&&l?e.pagination&&e.pagination[i]:l}getPageConfig(e){var l,o,r,d;const i=!((l=e.pagination)!=null&&l.enable);return{hide:this.getDisplayType(e)==="TREELIST"||!e.helpId||i,description:"分页配置",title:"分页",parentPropertyID:"pagination",properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:!0,$converter:Ue,visible:this.showPagerProperty(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",$converter:Ue,refreshPanelAfterChanged:!0,visible:this.showPagerProperty(e,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{...this.numberEditor,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:ke((o=e.pagination)==null?void 0:o.sizeLimits),beforeSubmit:({notifyService:s,data:c})=>!c||!c.length?(s==null||s.warning({message:"每页显示条数不能为空!"}),!1):new Set(c.map(p=>parseInt(p.value,10))).size===c.length?!0:(s==null||s.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:this.showPagerProperty(e),$converter:Ue,editor:{...this.comboListEditor,data:ke((r=e.pagination)==null?void 0:r.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(d=e.pagination)==null?void 0:d.size}}}}}showLoadType(e){const i=this.getDisplayType(e);return(i==="TREELIST"||i==="NAVTREELIST")&&!e.treeToList&&!e.navTreeToList}isTree(e){return this.getDisplayType(e)==="TREELIST"&&!e.treeToList}getTreePropConfig(e){return{hide:this.getDisplayType(e)!=="TREELIST"&&this.getDisplayType(e)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:Z,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(e)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:Z,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(e)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:Z,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(e)},enableFullTree:{description:"启用构造完整树",$converter:Z,title:"构造完整树",type:"boolean",visible:this.showLoadType(e)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:Z,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(e)},enableCascade:{description:"启用级联选择",$converter:Z,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(e)&&!!e.multiSelect&&e.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:Z,title:"显示级联状态",type:"boolean",visible:!1},cascadeValue:{description:"缺省级联选择模式",$converter:Z,title:"缺省级联选择模式",type:"string",visible:!!e.enableCascade&&this.isTree(e),editor:{...this.comboListEditor,data:Ie,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:Z,title:"默认展开层级",type:"number",visible:this.showLoadType(e),editor:{...this.numberEditor,min:-1,max:99}}}}}getEventPropConfig(e){const i=this;let l=Pt;e.editor.openType==="Popup"&&(l=l.filter(d=>d.label!=="beforeSelectData"));const o=i.eventsEditorUtils.formProperties(e,i.viewModelId,l);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,s){const c=d.propertyValue;delete s[i.viewModelId],c&&i.eventsEditorUtils.saveRelatedParameters(s,i.viewModelId,c.events,c);const u=i.designViewModelUtils.getDgViewModel(i.viewModelId);u&&i.designViewModelField&&u.changeField(i.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}async checkSameBESource(e,i){var l,o,r,d,s;if(e&&((l=i==null?void 0:i.editor)!=null&&l.helpId)&&!i.isRtcControl){if(e.data.id===i.editor.helpId)return!0;const c=await this.metadataService.getPickMetadata("",e.data).then(g=>{var h;if((h=g==null?void 0:g.metadata)!=null&&h.content)return JSON.parse(g.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(g=>{var h;if((h=g==null?void 0:g.metadata)!=null&&h.content)return JSON.parse(g.metadata.content)}),p=(o=c==null?void 0:c.dataSource)==null?void 0:o.sourceType,S=(r=u.dataSource)==null?void 0:r.sourceType,F=(d=c==null?void 0:c.dataSource)==null?void 0:d.sourceId,T=(s=u==null?void 0:u.dataSource)==null?void 0:s.sourceId;if(p==="BE"&&S==="BE"&&F!==T)return new Ve.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function xt(t,n){function e(i,l){const o=t.schema;return new et(i,n).getPropertyConfig(o,l)}return{getPropsConfig:e}}const Lt=a.defineComponent({name:"FLookupDesign",props:Ce,emits:[],setup(t,n){const e=a.ref(),i=a.inject("design-item-context"),l=a.inject("designer-host-service"),o=xt(i,l),r=ft.useDesignerComponent(e,i,o),d='<i class="f-icon f-icon-lookup"></i>',s='<i class="f-icon f-icon-arrow-chevron-down"></i>',c=a.computed(()=>t.openType==="Popup"?"Popup":"Modal"),u=a.computed(()=>c.value==="Popup"?s:d);return a.onMounted(()=>{e.value.componentInstance=r}),n.expose(r.value),()=>a.createVNode("div",{class:"f-lookup-design",ref:e},[a.createVNode(ge,{ref:e,buttonContent:u.value,readonly:!0,editable:!1,placeholder:t.placeholder},null)])}});function he(t,n){const{lookupOptions:e}=n;function i(g){return{...Be,...g}}function l(){return{enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"OnCheckAndClick"}}function o(){return{fitColumns:t.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:g}=n.lookupOptions;return typeof g=="string"&&g in se?!1:g.toLowerCase().startsWith("nav")}function d(){const{displayType:g,treeToList:h}=n.lookupOptions;return(g.toLowerCase()===se.Tree.toLowerCase()||g.toLowerCase()===se.ListTree.toLowerCase())&&!h}function s(){const{displayType:g,navTreeToList:h}=n.lookupOptions;return g.toLowerCase()===se.TreeList.toLowerCase()&&!h}function c(){const{displayType:g,navTreeToList:h}=n.lookupOptions,f=g.toLowerCase();return f===se.ListList.toLowerCase()||f===se.ListTree.toLowerCase()||h}function u(){var f;return e.dialog?{width:((f=e.dialog)==null?void 0:f.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function p(g){const{loadTreeDataType:h}=e;return h===ce.all||h==="default"&&(g==null?void 0:g.loadDataType)==="all"}function S(g){return(g==null?void 0:g.layerType)==="pathcode"}function F(){return e.enableCascade&&e.multiSelect}function T(){return t.openType==="Popup"}return{checkPaination:i,checkMultiSelect:l,checkColumnOptions:o,isDoubleList:r,getNavigationSize:u,isTreeList:d,navIsTreeList:s,navIsList:c,isLoadAll:p,isPathCodeTree:S,isEnableCascadeCheck:F,isDropdownMode:T}}function tt(t,n,e){var o;const i=a.ref(t.searchFields||[]),l=a.ref(((o=t.navigation)==null?void 0:o.searchFields)||[]);return a.watch(()=>n==null?void 0:n.searchFields,r=>{i.value=r}),a.watch(()=>e==null?void 0:e.searchFields,r=>{l.value=r}),{searchFieldItems:i,navSearchFieldItems:l}}function Et(t){const n=a.reactive({}),e=a.reactive({}),i=a.reactive({}),l=a.reactive({}),o=a.reactive({}),r=a.ref([]),d=a.ref(),s=a.reactive({}),c=a.ref(!1),u=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade"];function p(){u.forEach(S=>{s[S]=t[S]})}return p(),{pageInfoState:n,lookupState:e,navigationState:i,queryState:l,searchState:o,selectionState:r,unSelectDataId:d,lookupOptions:s,searchValueChanged:c}}const Se=a.ref(),fe="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function Vt(t,n){const e=a.inject("FLoadingService"),i=a.inject(Je),l=Et(t),{pageInfoState:o,lookupState:r,navigationState:d,lookupOptions:s,searchValueChanged:c}=l,{searchFieldItems:u,navSearchFieldItems:p}=tt(t,r,d),S=a.ref(t.idValue),F=a.ref(!1),T=()=>{var k;const m=(k=s.displayType)==null?void 0:k.toUpperCase();return m===se.Tree||m===se.TreeList},g=(m,k=!1)=>{if(m){const{layerType:B,dataField:R,parentField:U,pathField:W,layerField:Y,isDetailField:G,loadDataType:O}=m,X={layerType:B,dataField:R,parentField:U,pathField:W,layerField:Y,isDetailField:G,loadDataType:O},{onlySelectLeaf:b,loadTreeDataType:P}=s;X.onlySelectLeaf=b,X.loadDataType=P,k?s.navTreeInfo=Object.assign(s.navTreeInfo||{},X):s.treeInfo=Object.assign(s.treeInfo||{},X)}};function h(m,k){if(k==null||!k.trim())return[];const B=Array.from(new Set(k.trim().split(" ").filter(W=>W.trim())));if(!m||!B.length)return[];const R=(m||[]).map((W,Y)=>{const G=B.map((O,X)=>({filterField:W.value,value:O,lbracket:"",rbracket:"",relation:Pe.And,compare:Ae.Like}));return G.length&&(G.length>1&&(G[0].lbracket="(",G[G.length-1].rbracket=")"),G[G.length-1].relation=Pe.Or),G}).filter(W=>W.length);let U=[];return R&&R.length&&(U=ae.flatten(R),U.length>1&&(U[0].lbracket+="(",U[U.length-1].rbracket+=")"),U[U.length-1].relation=0),U}function f(){let{expandLevel:m}=s;return m&&!ae.isNaN(m)&&(m=m<-1?-1:m),m}function v(m,k){const B={};B.category=k;let R=null,U=null;if(m!=null&&m.search){const{field:W,value:Y,isNavigation:G,type:O}=m.search,X=O||"like";if(Y&&(B.searchValue=Y.trim()),B.searchField=W?W.trim():"*",B.searchType=X,G&&(B.category="navsearch"),!t.enableMultiFieldSearch&&B.searchField==="*"){const b=G?p.value:u.value,P=h(b,Y);P&&P.length&&(G?R=P:U=P),Y===""&&B.category==="search"&&!U&&!R&&(B.category="all")}}return T()&&(B.layerNum=f()),{searchParam:B,navSearchConditions:R,searchConditions:U}}function C(m){var B,R;if(m==="fav")return{pageIndex:1,pageSize:500};let k="default";return m==="navsearch"&&(k="navigation"),{pageIndex:((B=o[k])==null?void 0:B.index)||1,pageSize:((R=o[k])==null?void 0:R.size)||20}}function w(m){const k={},B=(m==null?void 0:m.action)||"all",{searchParam:R,navSearchConditions:U,searchConditions:W}=v(m,B);W&&(k.searchConditions=W),U&&(k.navSearchConditions=U),k.enableFullTree=t.enableFullTree,k.searchValue=JSON.stringify(R);const{pageIndex:Y,pageSize:G}=C(B);return k.pageIndex=Y,k.pageSize=G,k.treeToList=t.treeToList,k.navTreeToList=t.navTreeToList,s.loadTreeDataType===ce.default?k.loadTreeDataType="default":k.loadTreeDataType=s.loadTreeDataType===ce.all?"loadall":"layerload",m!=null&&m.relationFilter&&(k.relationFilter=[...m.relationFilter]),m!=null&&m.navNodePathCode&&(k.navPathCode=m.navNodePathCode),m.selectedInfo&&(k.selectedInfo=m.selectedInfo),k.customData=a.toRaw(Se.value),k}function V(m){return m==null?void 0:m.map(k=>(k.resizable=!0,k))}function L(m,k){return m.map(B=>{const R=k==null?void 0:k.find(U=>U.field.toLowerCase()===B.value.toLowerCase());return R&&(B.label=R.title),B})}function y(m){m.columns&&(m.columns=V(m.columns),m.searchFields&&(m.searchFields=L(m.searchFields,m.columns))),m.navigation&&m.navigation.columns&&(m.navigation.columns=V(m.navigation.columns),m.navigation.searchFields&&(m.navigation.searchFields=L(m.navigation.searchFields,m.navigation.columns)))}function E(){return s.loader||i&&i.getData.bind(i)}function _(m){const k=E();return k?k(s.uri,m).then(B=>(y(B),c.value=!1,B)):new Promise((B,R)=>{B({columns:[...t.columns],items:[...t.data],searchFields:[...t.searchFields],navigation:{...t.navigation}})})}function D(m){const k=f();return k===-1?!0:k===0?!1:m<=k}function I(m,k=!1,B="layer"){m.forEach(R=>{var U;R.collapse=k?!1:s.loadTreeDataType==="all"?!D(ve.resolveField(R.data,B)):!(R.expanded??!0),R.hasChildren=!R.leaf,(U=R.children)!=null&&U.length&&I(R.children,k,B)})}async function $(m,k){var U;const B=w(m),R=e==null?void 0:e.show();try{let W=await _(B);if(s.displayType!==W.displayType&&m.action!=="navsearch"&&(s.displayType=W.displayType),T()){const{items:Y,treeInfo:G}=W.navigation||W;if(s.loadDataType===ce.default&&(s.loadTreeDataType=(G==null?void 0:G.loadDataType)||ce.all),Y!=null&&Y.length&&G){const{dataField:O,layerField:X}=G;I(Y,!1,`${O}.${X}`)}}t.beforeLoadData&&(W=await t.beforeLoadData({data:W})),k(W)}finally{(U=R==null?void 0:R.value)==null||U.close()}}function M(m){F.value=m}function x(m,k){if(!k)return"";const{dataField:B,pathField:R}=k;return R?B?m[B][R]:ve.resolveField(m,R):""}function N(m){const k=[];return(m.selectable||m.selectable===void 0)&&k.push(m),m.children&&m.children.length&&m.children.forEach(B=>{k.push(...N(B))}),k}function Q(m,k=!1){var W;if(!(m!=null&&m.length))return m;const B=k?(W=s.navigation)==null?void 0:W.treeInfo:s.treeInfo,{dataField:R,layerField:U}=B||{};return R&&U&&I(m,!0,`${R}.${U}`),m}function oe(){try{const m=S.value;return m!==""&&m!=null?m:""}catch(m){return console.error("Error in getIdValues:",m),""}}function re(){let m=oe()||[];return Array.isArray(m)||(m=(""+m).split(t.separator)),{selectedIds:m,selected:!0}}return{includeChilds:F,updateIncludeChilds:M,idValues:S,getData:_,loadData:$,updateSearchFieldTitle:L,getPathCode:x,getChildNodes:N,lookupStates:l,httpService:i,lookupRequest:E,expandAllNodes:Q,getIdQueryParams:re,setTreeInfo:g,getFieldValue:ve.resolveField}}function nt(t,n){a.watch(()=>t.pagination,i=>{n.default=i}),a.watch(()=>{var i;return(i=t.navigation)==null?void 0:i.pagination},i=>{n.navigation=i});function e(i,l=!1){i&&(l?n.navigation={...n.navigation,...i}:n.default={...n.default,...i})}return{updatePageInfo:e}}const xe="F_LOOKUP_USER_DATA_SERVICE";function Nt(t,n){const e=a.inject("FLoadingService",null),{lookupStates:i,lookupRequest:l,httpService:o}=n,{lookupOptions:r}=i,d=a.computed(()=>{const T=r.userDataKey||t.id;return T?ve.encrypt(T):""}),s=a.reactive({key:d.value,data:{}});function c(){return o?o.getSettings(s.key).then(T=>(T&&T.textValue?s.data=JSON.parse(T.textValue):s.data={},t.enableUserData||(s.data.tabIndex=ne.dataList),T)):Promise.resolve()}function u({width:T,height:g}){var h;s.data.size=((h=s.data)==null?void 0:h.size)||{},s.data.size={width:T,height:g}}function p(T=!1){if((t.enableUserData||T)&&o){const{key:g,data:h}=s,f={configkey1:g,configkey2:"",configkey3:"",textvalue:JSON.stringify(h)};return o==null?void 0:o.updateSettings(g,f)}return Promise.resolve()}function S(T){const g={category:"fav",favoriteIds:T.favoriteIds};return{searchValue:JSON.stringify(g),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function F(){var f;const T=S({favoriteIds:(f=s.data)==null?void 0:f.favorites}),g=e==null?void 0:e.show(),h=l();return h?h(r.uri,T).then(v=>{var C;return(C=g.value)==null||C.close(),s.favoriteItems=v&&v.items||[],v}):Promise.resolve()}return{userDataState:s,setDialogSize:u,saveUserData:p,getFavoriteData:F,getUserData:c}}const ye=Symbol("FARRIS_LOOKUP_LOCALES");function Mt(t){const{t:n}=ht.useI18n();function e(c,u,p){return c===u?n(p):c}const i=e(t.placeholder,"请选择","lookup.placeholder"),l={datalist:n("lookup.datalist")||"数据列表",favorite:n("lookup.favorites")||"收藏夹"},o={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")||"请输入关键字后查询。"},d={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")||"全部"},placeholder:i,tree:d,messages:r,tabs:l,buttons:o}}function Re(t,n){const e=a.inject(Ve.F_NOTIFY_SERVICE_TOKEN),i=a.inject(xe),l=a.inject(ye),{userDataState:o}=i;o.data=o.data||{};const r="_favorite_",d=a.ref(!1);function s({id:f,data:v},C="add"){var V,L;if(f==null&&f==="")return;const w=f;o.data.favorites=((V=o.data)==null?void 0:V.favorites)||[],o.favoriteItems=o.favoriteItems||[],C==="add"?(d.value=!1,o.data.favorites=Array.from(new Set([...((L=o.data)==null?void 0:L.favorites)||[],w])),o.favoriteItems=[...o.favoriteItems,v]):(d.value=!0,o.data.favorites=o.data.favorites.filter(y=>y!==w),o.favoriteItems=o.favoriteItems.filter(y=>y[n]!==w)),i==null||i.saveUserData(!0).then(y=>{const E=C==="add"?l.messages.addedFavSuccess:l.messages.cancelFavSuccess;e==null||e.success({message:E,position:"top-center"})})}function c(f){return f?f.raw[n]:""}const u=a.computed(()=>f=>{var C,w;const v=c(f);return(w=(C=o.data)==null?void 0:C.favorites)==null?void 0:w.includes(v)});function p(f,v,C){f.stopPropagation();const w=c(v);s({id:w,data:v.raw},u.value(v)?"remove":"add")}const S=f=>u.value(f)?l.buttons.removeFav:l.buttons.addFav,F=(f,v)=>a.createVNode("button",{type:"button",onClick:C=>{p(C,v)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":u.value(v)}],style:"color: #ffbd8c;",title:S(v)},null),T=(f,v)=>v.disabled?"":F(f,v),g={field:r,title:"",width:50,fixed:"right",align:"center",formatter:F};function h(f,v,C=!1){const w=ae.cloneDeep(v);t.enableFavorite&&(g.formatter=C?T:F,w.push(g)),f==null||f.updateColumns(w)}return{favorite:g,removeFavoriteItem:d,setColumns:h}}function ze(t,n,e,i){const{selectionState:l,unSelectDataId:o,lookupOptions:r}=e,d=a.computed(()=>!(l.value&&l.value.length));i&&a.watch(()=>i.value,(s,c)=>{var u;if(s===ne.dataList&&s!==c&&!d.value){const p=l.value.map(S=>S[r.idField]);(u=n.value)==null||u.selectItemByIds(p)}}),a.watch(d,(s,c)=>{var u;s&&((u=n.value)==null||u.clearSelection())}),t.showSelections&&r.multiSelect&&a.watch(o,s=>{var c;s&&((c=n.value)==null||c.unSelectItemByIds(s))})}const be=Symbol("LOOKUP_SELECTIONS_MANAGER");function it(t,n){const{selectionState:e,unSelectDataId:i,lookupOptions:l}=n,o=a.computed(()=>l.idField);function r(f){return f[o.value]}function d(){let f=new Map;return e.value&&e.value.length&&(f=new Map(e.value.map(v=>[v[o.value],v]))),f}function s(){e.value=[]}function c(){return e.value||[]}function u(){return e.value.map(f=>f[o.value])}function p(f){if(!f)return;if(!o.value){console.error("idField is required");return}const v=Array.isArray(f)?f:[f],C=d();v.forEach(w=>{C.delete(w)}),e.value=Array.from(C.values()),i.value=v}function S(f){return d().has(f)}function F(f,v=!0){if(!f)return;if(!o.value){console.error("idField is required");return}const C=Array.isArray(f)?f:[f];if(!C.length)return;if(!C.every(L=>o.value in L)){console.error("Some items do not have the specified idField:",o.value);return}const w=C.map(L=>L[o.value]);if(!l.multiSelect){if(w.length&&S(w[0]))return;s()}const V=d();if(v){const L=new Map(C.map(y=>[y[o.value],y]));w.forEach(y=>{V.has(y)||V.set(y,L.get(y))})}else w.forEach(L=>{V.delete(L)});e.value=Array.from(V.values())}function T(f){if(!f||!f.length)return;const v=f.map(C=>C.data);F(v)}function g(f){if(f){const v=f.raw[o.value];p(v)}}function h(f){!f||!f.length||p(f)}return{updateSelections:F,clearSelections:s,getSelectionIds:u,getSelections:c,unSelectionsByIds:p,selectTreeNodes:T,unSelectTreeNode:g,unSelectTreeNodes:h,isSelected:S,getPrimaryKey:r}}function at(t,n){const{getSelectionIds:e}=it(t,n),{lookupOptions:i}=n;function l(d,s){d==null||d.updateDataSource(s||[])}function o(d){const s=e();if(s&&s.length){if(i.multiSelect){d==null||d.selectItemByIds(s);return}d==null||d.activeRowById(s[0])}}function r(d,s){l(d,s),o(d)}return{loadData:l,selectItemByIds:o,loadAndSelect:r}}function ot(t,n,e){const i=a.inject(me,a.ref(ne.dataList)),l=a.inject(fe),o=a.inject(be),{lookupStates:r,loadData:d,includeChilds:s,getPathCode:c,getChildNodes:u}=l,{lookupState:p,navigationState:S,pageInfoState:F,searchState:T,lookupOptions:g}=r,{checkPaination:h,checkMultiSelect:f,checkColumnOptions:v,navIsTreeList:C,isLoadAll:w,isPathCodeTree:V}=he(t,r),{updatePageInfo:L}=nt(t,F),{updateSelections:y,isSelected:E,getPrimaryKey:_}=o,{loadAndSelect:D}=at(t,r),I=h(t.pagination),$=f(),M=v(),x=a.ref(),N=a.ref([]),{navSelectedItems:Q,getNavigationIdField:oe,getRelationFilter:re}=e;L(I);const m=a.ref(F.default),{setColumns:k}=Re(t,g.idField);a.watch(()=>F.default,q=>{var J;m.value=q,(J=x.value)==null||J.updatePagination(q)}),ze(t,x,l.lookupStates,i);function B(q,J,te){const ie={total:J};if(te){const{pageIndex:de,pageSize:$e,enablePager:A,pageList:le}=te;Object.assign(ie,{index:de,size:$e,enable:A})}else ie.enable=!1;L(ie),D(x.value,q||[])}const R=a.computed(()=>{var de;if(!((de=Q.value)!=null&&de.length)||!C())return null;const q=Q.value,J={relationFilter:re(q)};if(!s.value)return J;const{treeInfo:te}=S,ie={action:"navAllChildren",...J};return V(te)?Object.assign(ie,{navNodePathCode:c(q[0].data,te)}):ie}),U=a.watch([()=>p==null?void 0:p.columns,()=>p==null?void 0:p.items,()=>p==null?void 0:p.pageInfo,()=>p==null?void 0:p.total,()=>p==null?void 0:p.selectedData],([q,J,te,ie,de])=>{x.value&&(q&&k(x.value,q),de&&de.length&&y(de),J&&B(J,ie||0,te))});a.watch(()=>t.idValue,q=>{N.value=q.split(t.separator)});function W(q){if(q&&q.length&&!g.multiSelect){const J=_(q[0]);if(E(J))return}y(q),n.emit("selectionsChanged",{items:q})}function Y(q){y(q==null?void 0:q.raw,!1)}function G(){const q={search:T.default,action:"list"};t.openType==="Modal"&&R.value&&Object.assign(q,R.value),d(q,J=>{B(J.items,J.total||0,J.pageInfo)})}const O=ae.throttle(()=>{L({index:1}),G()},200),X=a.watch(()=>Q==null?void 0:Q.value,q=>{if(g.uri){O();return}const J=q.map(te=>te[oe()]);n.emit("navSelectionsChanged",{items:q,ids:J})}),b=a.watch(()=>T.default,q=>{if(g.uri){O();return}n.emit("search",q)}),P=a.watch(()=>s.value,()=>{if(g.uri&&Q.value&&Q.value.length){O();return}});function z(){U(),X(),b(),P()}a.watch(()=>g.displayType,q=>{q.toLowerCase()==="treelist"&&z()});function H({pageSize:q,pageIndex:J}){var de;let te=J;((de=m.value)==null?void 0:de.size)!==q&&(te=1);const ie={size:q,index:te,isNavigation:!1};if(L(ie),g.uri){G();return}n.emit("pageSizeChanged",ie)}function K(){return a.createVNode(Fe.FDataGrid,{ref:x,class:"lookup-datagrid",pagination:m.value,summary:{enable:!1},columnOption:M,idField:g.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:$,selectionValues:N.value,onSelectionChange:W,onUnSelectItem:Y,onChanged:H},null)}return{datagridRef:x,selectionValues:N,renderDataGrid:K,unwatches:z}}const Te=Symbol("LOOKUP_TREEROW_OPTIONS"),lt={cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1},collapseField:"collapse",hasChildrenField:"hasChildren"};function rt(t,n=!1){function e(i){(i.raw.addtional||i.raw.selectable===!1)&&(i.disabled=!0);const l=n?t.navTreeInfo:t.treeInfo;return l!=null&&l.onlySelectLeaf&&(i.disabled=!i.raw.leaf),i}return{customRowStatus:e}}function st(t,n){const{lookupState:e,lookupOptions:i}=t;function l(h,f,v){return h.reduce((C,w)=>{var V;if(w.parents=[],f){const L=ae.get(f.data,i.idField);w.parent=f,w.parents=[...v||[],L]}return w.id=ae.get(w,i.idField),C.push(w),(V=w.children)!=null&&V.length&&C.push(...l(w.children,w,w.parents)),C},[])}function o(h){var f;return(f=e==null?void 0:e.flattenTreeNodes)==null?void 0:f.find(v=>v.id===h)}function r(h){var f;return((f=e==null?void 0:e.flattenTreeNodes)==null?void 0:f.filter(v=>{var C;return(C=v.parents)==null?void 0:C.includes(h)}))??[]}function d(h){var v;if(!h)return[];const f=o(h);return((v=f==null?void 0:f.parents)==null?void 0:v.map(C=>o(C)))??[]}function s(h){var w;if(!h)return[];const f=o(h),v=((w=f==null?void 0:f.parents)==null?void 0:w.map(V=>o(V)))??[],C=r(h);return[...v,...C]}function c(h,f=!0){const v=d(h).filter(w=>{var V;return!((V=w.children)!=null&&V.some(L=>{var y;return(y=t.selectionState.value)==null?void 0:y.some(E=>E[i.idField]===L.id)}))}),C=f?[]:r(h);return v.concat(C)}function u(h,f,v=!0){var w;const C={down:()=>r(h),up:()=>v?d(h):c(h),both:()=>v?s(h):c(h,!1)};return((w=C[f])==null?void 0:w.call(C))??[]}function p(h,f={},v=!1){const{field:C="*",value:w=""}=f,V=!!w,{layerType:L,dataField:y,pathField:E,layerField:_}=v?i.navTreeInfo:i.treeInfo,D=L==="parentId",I={category:v?"navchildren":"children",searchField:C,searchValue:w,searchType:"like"};if(D)I.parentId=h.raw.id;else{const M=h.raw[y];I.parentPath=ae.get(M,E),I.parentLayer=ae.get(M,_)}const $={searchValue:"",customData:Se.value,enableFullTree:i.enableFullTree,loadTreeDataType:i.loadTreeDataType==="all"?"loadall":"layerload"};return V&&($.enableFullTree=!1,$.loadTreeDataType="layerload",D&&(I.searchValue="",I.searchField="*")),$.searchValue=JSON.stringify(I),$}function S(h,f=!1){const{isEnableCascadeCheck:v}=n,{layerType:C}=f?i.navTreeInfo:i.treeInfo,w=i.loadTreeDataType!=="all"&&C==="pathcode"&&v()&&(i.cascadeValue==="both"||i.cascadeValue==="down");return h?h.data&&!h.leaf&&w:w}function F(h){const{dataField:f,pathField:v}=i.treeInfo,C=h.data[f],w=ae.get(C,v);return{searchValue:JSON.stringify({category:"allChildren"}),parentsIds:[w],customData:Se.value}}function T(h,f){let v=h,C=null;for(const w of f){const V=v.find(L=>L.data.id===w);if(!V)return null;C=V,v=V.children||[]}return C}function g(h,f,v){var E;if(!v)return;const C=o(f),w=[...(C==null?void 0:C.parents)??[],f],V=(h??[]).map(_=>({..._,hasChildren:!_.leaf,parents:[...w]})),L=T(e.flattenTreeNodes||[],w);L&&(L.children=[...V],(E=e.flattenTreeNodes)==null||E.push(...V));const{isDropdownMode:y}=n;a.nextTick(()=>{var I;if(v.addChildrenToNode(V,f),y())return;const _=((I=t.selectionState.value)==null?void 0:I.map($=>$[i.idField]))??[],D=V.filter($=>_.includes($.id)).map($=>$.id);D.length&&v.selectItemByIds(D)})}return{flattenTreeNodes:l,getParents:d,getChildren:r,getParentsAndChildren:s,getTreeNodeWithCascadeValue:u,buildGetChildrenQueryParams:p,needGetAllChildNodes:S,buildGetAllChildrenQueryParams:F,loadChildNodes:g}}function dt(t,n){const e=a.inject(me,a.ref(ne.dataList)),i=a.inject(fe),{lookupStates:l}=i,{lookupState:o,searchState:r,lookupOptions:d}=l,s=a.inject(Te),c=a.inject(be),u=he(t,l),{checkMultiSelect:p,checkColumnOptions:S,isEnableCascadeCheck:F}=u,{setColumns:T}=Re(t,d.idField),{selectTreeNodes:g,unSelectTreeNode:h,unSelectTreeNodes:f,updateSelections:v,getSelectionIds:C}=c,w=p(),V=S(),L=a.ref(),y=a.ref([]),{loadAndSelect:E}=at(t,l),{loadData:_,expandAllNodes:D,getData:I}=i,{flattenTreeNodes:$,getTreeNodeWithCascadeValue:M,buildGetChildrenQueryParams:x,needGetAllChildNodes:N,buildGetAllChildrenQueryParams:Q,loadChildNodes:oe}=st(l,u);function re(b,P=!1){P&&(b=D(b)),o.flattenTreeNodes=$(b||[]),E(L.value,b||[])}ze(t,L,l,e);const m=a.watch([()=>o==null?void 0:o.columns,()=>o==null?void 0:o.items,()=>o==null?void 0:o.pageInfo,()=>o==null?void 0:o.total,()=>o==null?void 0:o.selectedData],([b,P,z,H,K])=>{L.value&&(K&&K.length&&v(K),b&&T(L.value,b,!0),re(P||[],o.action==="search"))});function k(b,P=!0){const{cascadeValue:z}=d;return F()&&z!==Oe.Disable?M(b,z,P).filter(K=>K.selectable||K.selectable===void 0).map(K=>K.id):[]}function B(b){g(b),n.emit("selectionsChanged",{items:b})}function R(b){h(b);const P=ae.get(b.raw,d.idField),z=k(P);if(N(b.raw)){const H=Q(b.raw);I(H).then(K=>{const J=(K.items||[]).filter(ie=>!ie.addtional&&(ie.selectable||ie.selectable===void 0));J&&J.length&&g(J);const te=(J||[]).map(ie=>ie.id);f([P,...z,...te])})}else f([P,...z])}function U(b){const P=ae.get(b.raw,d.idField),z=k(P);if(z.length&&L.value.selectItemByIds([P,...z]),N(b.raw)){const H=Q(b.raw);I(H).then(K=>{const J=(K.items||[]).filter(te=>!te.addtional&&(te.selectable||te.selectable===void 0));J&&J.length&&g(J)})}}function W(b="list"){_({search:r.default,action:b},P=>{re(P.items,b==="search")})}const Y=a.watch(()=>r.default,b=>{if(d.uri){W("search");return}n.emit("search",b)});function G(){m(),Y()}a.watch(()=>d.displayType,b=>{b.toLowerCase()!=="treelist"&&G()});function O(b){if(L.value.hasChildren(b))return Promise.resolve();const P=b.raw.id,z=x(b,r.default);return I(z).then(H=>{oe((H==null?void 0:H.items)??[],P,L.value)})}function X(){return a.createVNode(Me.FTreeGrid,{class:"lookup-treegrid",ref:L,fit:!0,data:t.data,idField:d.idField,columns:t.columns,rowNumber:{enable:!1},columnOption:V,selection:w,showBorder:!0,virtualized:!0,displayField:"code",rowOption:s,hierarchy:lt,onSelectionChange:B,onUnSelectItem:R,onSelectItem:U,loadData:O},null)}return{treegridRef:L,selectionTreeValues:y,renderTreeGrid:X,unwatches:G}}const Ot={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0},isNavigation:{type:Boolean,default:!1},id:{type:String,default:""}},Dt=a.defineComponent({name:"FLookupSearchBar",props:Ot,emits:["search"],setup(t,n){const e='<i id="'+t.id+'-icon-search" class="f-icon f-icon-search"></i>',i=a.inject(fe),{queryState:l}=i.lookupStates,o=a.ref(t.fields||[]),r=a.ref(""),d=a.ref(l.value),s=a.ref(t.isNavigation),c=a.ref(),u=a.computed(()=>({field:r.value,value:d.value,isNavigation:s.value}));function p(){if(!o.value.length)return;let h="";t.showAllColumns&&(h="*"),h=o.value[0].value;const f=o.value.find(v=>!!v.isDefault);f&&(h=f.value),r.value=h}a.watch(()=>t.fields,h=>{o.value=h,p()});function S(){n.emit("search",u.value)}const F=ae.debounce(()=>S(),300);function T(){d.value="",S()}function g(h){h.key==="Enter"&&F()}return a.onMounted(()=>{p(),s.value&&(d.value="")}),()=>a.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[a.createVNode("div",{style:"width: 160px;"},[a.createVNode(Ge.FComboList,{ref:c,data:o.value,textField:"label",valueField:"value",idField:"value",modelValue:r.value,"onUpdate:modelValue":h=>r.value=h,enableClear:!1},null)]),a.createVNode("div",{class:"f-utils-fill ml-2"},[a.createVNode(We.FButtonEdit,{buttonContent:e,maxLength:200,modelValue:d.value,"onUpdate:modelValue":h=>d.value=h,onClickButton:S,enableClear:!0,onClear:T,onKeyup:g,popupOnClick:!0,id:t.id+"-search-bar"},null)])])}});function _e(t,n,e,i){const{lookupState:l,searchState:o,navigationState:r}=e,{searchFieldItems:d,navSearchFieldItems:s}=tt(t,l,r),c=a.ref([]),u=a.ref([]);function p(g,h=!1){let f=g;t.searchAnyField&&(f=[{label:i.searchColumns.allColumns||"所有列",value:"*"}].concat(g)),h?u.value=f:c.value=f}p(d.value),p(s.value,!0),a.watch(()=>d.value,g=>{p(g)}),a.watch(()=>s.value,g=>{p(g,!0)});function S(g){const h={...g};if(n){o.navigation=h;return}o.default=h}const F=a.computed(()=>n?u.value||[]:c.value||[]);function T(){if(t.enableSearchBar&&F.value.length>0)return a.createVNode("div",{class:"p-2"},[a.createVNode(Dt,{fields:F.value,id:t.id,showAllColumns:t.searchAnyField,isNavigation:n,onSearch:S},null)])}return{renderSearchBar:T}}function Bt(t,n){var G;const e=a.inject(Te),i=a.inject(fe),l=a.inject(ye),{loadData:o,lookupStates:r,expandAllNodes:d,getFieldValue:s,getData:c}=i,{navigationState:u,pageInfoState:p,searchState:S,lookupOptions:F}=r,{renderSearchBar:T}=_e(t,!0,r,l),g=he(t,r),{checkPaination:h,navIsList:f,navIsTreeList:v}=g,{updatePageInfo:C}=nt(t,p),w=a.ref([]),{buildGetChildrenQueryParams:V,loadChildNodes:L}=st(r,g);if(f()){const O=h((G=t.navigation)==null?void 0:G.pagination);C(O,!0)}const y=a.ref(p.navigation),E={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,keepSelectingOnClick:!1},_={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},D=a.ref(),I=a.ref(),$=a.ref("id");a.watch(()=>p.navigation,O=>{var X;y.value=O,(X=I.value)==null||X.updatePagination(O)});function M(O,X,b){var P,z,H;if(O=O||[],f()){const K={total:X};if(b){const{pageIndex:q,pageSize:J,enablePager:te,pageList:ie}=b;Object.assign(K,{index:q,size:J,enable:te})}C(K,!0),(P=I.value)==null||P.updateDataSource(O)}else v()&&((z=S.navigation)!=null&&z.value&&(O=d(O,!0)),(H=D.value)==null||H.updateDataSource(O))}function x(O){var X,b;f()?(X=I.value)==null||X.updateColumns(O):v()&&((b=D.value)==null||b.updateColumns(O))}a.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],([O,X,b,P])=>{O&&x(O),M(X,P||0,b)}),a.watch(()=>u==null?void 0:u.idField,O=>{$.value=O||"id"});function N(O){w.value=O}function Q(O){w.value=O}function oe(){o({search:S.navigation,action:"navsearch"},O=>{M(O.items,O.total||0,O.pageInfo)})}a.watch(()=>S.navigation,O=>{if(F.uri){C({index:1},!0),oe();return}n.emit("search",O)});function re({pageSize:O,pageIndex:X}){var z;let b=X;((z=y.value)==null?void 0:z.size)!==O&&(b=1);const P={size:O,index:b};if(C(P,!0),F.uri){oe();return}n.emit("pageSizeChanged",P)}function m(O){if(D.value.hasChildren(O))return Promise.resolve();const X=O.raw.id,b=V(O,S.navigation,!0);return c(b).then(P=>{L((P==null?void 0:P.items)??[],X,D.value)})}function k(){return a.createVNode(Me.FTreeGrid,{ref:D,fit:!0,idField:$.value,rowNumber:{enable:!1},columnOption:_,selection:E,virtualized:!0,showBorder:!0,rowOption:e,hierarchy:lt,onSelectionChange:N,loadData:m},null)}function B(){return a.createVNode(Fe.FDataGrid,{ref:I,pagination:y.value,summary:{enable:!1},columnOption:_,idField:$.value,rowNumber:{enable:!1},showBorder:!0,fit:!0,virtualized:!0,selection:E,onSelectionChange:Q,onChanged:re},null)}function R(){if(v())return k();if(f())return B()}function U(){return a.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[T(),a.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[R()])])}function W(){return $.value}function Y(O){return u.relations&&u.relations.length?u.relations.map(b=>{const{groupField:P,helpField:z}=b,H={fieldName:z,fieldValue:""},K=O.map(q=>s(q,P));return H.fieldValue=K.join(","),H}):""}return{renderNavigation:U,selectedItems:w,getNavigationIdField:W,getRelationFilter:Y}}function At(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!a.isVNode(t)}const jt=a.defineComponent({name:"LookupContainer",props:Ce,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch"],setup(t,n){a.inject(me,a.ref(ne.dataList));const e=a.inject(fe),i=a.inject(ye),{lookupStates:l,getIdQueryParams:o}=e,{lookupState:r,navigationState:d,queryState:s,lookupOptions:c}=l,{renderSearchBar:u}=_e(t,!1,l,i),{isDoubleList:p,getNavigationSize:S,isTreeList:F}=he(t,l),{renderNavigation:T,selectedItems:g,getNavigationIdField:h,getRelationFilter:f}=Bt(t,n),{renderTreeGrid:v,unwatches:C}=dt(t,n),{renderDataGrid:w,unwatches:V}=ot(t,n,{navSelectedItems:g,getNavigationIdField:h,getRelationFilter:f}),L=a.computed(()=>F()?v:w),y=S();function E(I){var M;const $=(M=c.dialog)==null?void 0:M.title;$&&$!==De&&(I=$),n.emit("changeDialogOptions",{title:I})}function _(I,$){r.action=$,F()?V():C(),I.navigation&&(Object.keys(I.navigation).forEach(M=>{var x;d[M]=(x=I.navigation)==null?void 0:x[M]}),I.navigation.treeInfo&&(e==null||e.setTreeInfo(I.navigation.treeInfo,!0)),delete I.navigation),I.treeInfo&&(e==null||e.setTreeInfo(I.treeInfo)),Object.keys(I).forEach(M=>{r[M]=I[M]})}function D(){const I={};t.enableToSelect&&(I.selectedInfo=o(),s.value!=null&&(I.search={field:"*",value:s.value,type:"like"},I.action="search")),e==null||e.loadData(I,$=>{a.nextTick(()=>{_($,(I==null?void 0:I.action)||""),E($.title||"")})})}return a.onMounted(()=>{D(),document.body.classList.add("lookup-modal-open")}),a.onUnmounted(()=>{document.body.classList.remove("lookup-modal-open")}),()=>{let I;return a.createVNode(Ne.FLayout,null,{default:()=>[p()&&t.showNavigation&&a.createVNode(Ne.FLayoutPane,{position:"left",width:y==null?void 0:y.width,minWidth:y==null?void 0:y.minWidth},At(I=T())?I:{default:()=>[I]}),a.createVNode(Ne.FLayoutPane,{position:"center"},{default:()=>[a.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[u(),a.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[L.value()])])]})]})}}}),Ut={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}},Rt=a.defineComponent({name:"FLookupFavorite",props:Ut,setup(t,n){const e=a.inject(Te),{userDataState:i,getFavoriteData:l}=a.inject(xe),o=a.inject(me,a.ref(ne.dataList)),r=a.inject(be),d=a.inject(fe),{lookupStates:s,expandAllNodes:c}=d,u=a.computed(()=>s.lookupOptions.idField||"id"),p=a.ref(t.selectedIds),{setColumns:S,removeFavoriteItem:F}=Re(t,u.value),{isTreeList:T}=he(t,s),{updateSelections:g,unSelectTreeNode:h,selectTreeNodes:f}=r,v=a.ref(),C=a.ref(),w=a.computed(()=>T()?C.value:v.value);ze(t,w,s);function V(){return i.data&&i.data.favorites&&i.data.favorites.length}function L(N){w.value.clearSelection(),N&&N.length&&w.value.selectItemByIds(N)}a.watch(()=>t.selectedIds,(N,Q)=>{JSON.stringify(N)!==JSON.stringify(Q)&&(p.value=N,p.value.length?L(p.value):w.value.clearSelection())});function y(N,Q){Q&&Q.length&&S(w.value,Q,T()),N&&(T()&&(N=c(N)),w.value.updateDataSource(N||[])),L(p.value||[])}function E(){l().then(N=>{N?y(N.items||[],N.columns):y([],null)})}a.watch(()=>o.value,(N,Q)=>{var oe;N===ne.favorite&&(V()?E():y([],(oe=s.lookupState)==null?void 0:oe.columns))}),a.watch(()=>F.value,(N,Q)=>{o.value===ne.favorite&&N&&(T()?E():y(i.favoriteItems||[],null),F.value=!1)});const _={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},D={enableSelectRow:!0,multiSelect:t.multiSelect,showCheckbox:t.multiSelect,multiSelectMode:"OnCheckAndClick"};function I(N){T()?f(N):g(N)}function $(N){T()?h(N):g(N==null?void 0:N.raw,!1)}function M(){return a.createVNode(Me.FTreeGrid,{ref:C,fit:!0,idField:u.value,rowNumber:{enable:!1},columnOption:_,selection:D,showBorder:!0,virtualized:!0,rowOption:e,onSelectionChange:I,onUnSelectItem:$},null)}function x(){return a.createVNode(Fe.FDataGrid,{ref:v,pagination:{enable:!1},summary:{enable:!1},columnOption:_,idField:u.value,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:D,onSelectionChange:I,onUnSelectItem:$},null)}return()=>T()?M():x()}}),zt={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:{}}},_t={idField:{type:String,default:"id"},parentRef:{type:HTMLElement,default:null},popoverOffsetX:{type:Number,default:0}},$t=a.defineComponent({props:_t,setup(t,n){const e=a.inject("FMessageBoxService"),i=a.inject(be),l=a.inject(fe),{lookupState:o,selectionState:r}=l.lookupStates,d=a.inject(ye),{clearSelections:s,unSelectionsByIds:c}=i,u=a.ref(),p=a.computed(()=>u),S=a.ref(),F=a.ref(t.popoverOffsetX||-15);a.watch(()=>t.popoverOffsetX,M=>{F.value=M});const T=a.computed(()=>F.value===-15?10:100),g=a.ref(t.parentRef),h="_remove_selected_";function f(M,x,N){M.stopPropagation();const Q=x.raw[t.idField];c(Q)}const v={field:h,title:"",width:50,fixed:"right",align:"center",formatter:(M,x)=>a.createVNode("button",{type:"button",onClick:N=>{f(N,x)},class:"btn btn-link f-icon f-icon-x p-0",style:"color: #dd2438;"},null)},C=a.computed(()=>{const M=ae.cloneDeep((o==null?void 0:o.columns)||[]);if(M.length)return M.push(v),M});a.watch(()=>t.parentRef,M=>{g.value=M});const w={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},V={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,showSelectAll:!1,multiSelectMode:"OnCheckAndClick"},L=a.ref({width:"0px",height:"0px"});let y;function E(){var oe,re;const M=((oe=g.value)==null?void 0:oe.offsetHeight)-100,x=200,N=r.value.length*28+60,Q=N>M?M:N<x?x:N;L.value={width:((re=g.value)==null?void 0:re.offsetWidth)-20+"px",height:Q+"px"}}a.watch(()=>S.value,M=>{M&&(M.updateColumns(C.value),M.updateDataSource(ae.cloneDeep(r.value||[])),E())}),a.watch(()=>r.value,M=>{var x;(x=S.value)==null||x.updateDataSource(ae.cloneDeep(M||[]),{keepScrollTop:!0})}),a.watch(()=>g.value,M=>{y=new ResizeObserver(()=>{g.value&&E()}),y.observe(g.value)});const _=a.computed(()=>(r.value||[]).length>0),D=a.computed(()=>({display:"flex","align-items":"center",opacity:_.value?1:.4,cursor:_.value?"pointer":"not-allowed",pointerEvents:_.value?"auto":"none"}));function I(){const M=d==null?void 0:d.messages.clearSelections;e==null||e.question(M,"",()=>{s()})}a.onMounted(()=>{E()}),a.onUnmounted(()=>{y&&g.value&&y.unobserve(g.value)});function $(){var M;(M=p.value)==null||M.value.hide()}return n.expose({hidePopup:$}),()=>a.createVNode(a.Fragment,null,[a.createVNode("div",{class:"d-flex flex-row align-items-center",style:"line-height:24px"},[a.withDirectives(a.createVNode("div",{style:D.value,innerHTML:d.buttons.selectionTotal(r.value.length)},null),[[a.resolveDirective("popover"),p.value,"toggle"]]),_.value&&a.createVNode("button",{class:"btn btn-link btn-sm p-0 pl-2",style:"line-height:24px",onClick:I},[d.buttons.clear])]),a.createVNode(gt,{id:"lookup-selected-popover",customStyles:{filter:"drop-shadow(#c5c5c5 0px 0px 6px)"},offsetX:F.value,arrowOffsetX:T.value,ref:u,placement:"top-left",keepWidthWithReference:!1,fitContent:!0},{default:()=>{var M;return[a.createVNode("div",{style:L.value},[((M=u.value)==null?void 0:M.isShow)&&a.createVNode(Fe.FDataGrid,{ref:S,pagination:{enable:!1},summary:{enable:!1},columnOption:w,idField:t.idField,rowNumber:{enable:!1},showBorder:!1,virtualized:!0,fit:!0,selection:V},null)])]}})])}}),qt=a.defineComponent({props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:"包含下级"}},emits:["update:modelValue"],setup(t,n){const e=a.ref(t.modelValue);function i(l){l.stopPropagation(),e.value=!e.value,n.emit("update:modelValue",e.value)}return()=>a.createVNode("div",{class:"custom-control custom-checkbox mb-0",onClick:i},[a.withDirectives(a.createVNode("input",{id:"lookup-include-childs-input","onUpdate:modelValue":l=>e.value=l,title:"checkbox-input",type:"checkbox",class:"custom-control-input"},null),[[a.vModelCheckbox,e.value]]),a.createVNode("label",{class:"custom-control-label",style:"padding-left: 1.2rem;"},[t.label])])}}),Wt=a.defineComponent({name:"FLookupCascadeSelector",props:["modelValue"],emits:["update:modelValue"],setup(t,n){const e=a.inject(ye),i=a.ref(),l=a.ref(t.modelValue);return a.watch(()=>l.value,(o,r)=>{o!==r&&n.emit("update:modelValue",o)}),Ie.forEach(o=>{o.text=e.tree[o.value]}),()=>a.createVNode("div",{style:"width: 130px",class:"ml-3"},[a.createVNode(Ge.FComboList,{ref:i,data:Ie,textField:"text",valueField:"value",idField:"value",modelValue:l.value,"onUpdate:modelValue":o=>l.value=o,enableClear:!1,minPanelWidth:130,placement:"top-left"},null)])}}),Gt=a.defineComponent({name:"FLookupModalContainer",props:zt,emits:["closeModal","maximize"],setup(t,n){const e=a.ref(ne.dataList);a.provide(me,e),a.provide(fe,t.useHttpComposition),a.provide(xe,t.userDataService),a.provide(be,t.selectionsManager),a.provide(ye,t.locales);const{tabs:i,buttons:l,tree:o}=t.locales,r=a.reactive(t.showIncludeChildNodes),d=a.ref(r.value),{lookupOptions:s}=t.useHttpComposition.lookupStates,c=s.dialog,u=a.computed(()=>s.displayType.toUpperCase()===se.TreeList),p=rt(s,u.value);a.provide(Te,p);const S=a.ref(t.isMaximized);a.watch(()=>t.isMaximized,(x,N)=>{S.value=x});const F=a.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:S.value}));a.ref();const T=a.computed(()=>r.show&&e.value===ne.dataList&&s.displayType&&u.value),g=a.computed(()=>T.value?-99:-15);a.watch(()=>d.value,(x,N)=>{t.useHttpComposition.updateIncludeChilds(x)}),a.watch(()=>t.showIncludeChildNodes,(x,N)=>{r.value=x,t.useHttpComposition.updateIncludeChilds(x.value)});const{userDataState:h}=t.userDataService,{cancelDialog:f,submitDialog:v}=t.useDialog,C=a.ref(),w=a.ref();function V(x){n.emit("maximize",x)}function L(x){n.emit("closeModal",x)}async function y(x){await v()&&L(x)}async function E(x){await f()&&L(x)}function _(x){e.value=x,h.data.tabIndex=x}const D=a.computed(()=>({transform:`translate3d(${e.value===ne.favorite?84:0}px, 0px, 0px)`})),I=a.computed(()=>x=>({visibility:e.value===x?"visible":"hidden",position:"absolute",top:0,transition:"all 0.3s ease-in",opacity:e.value===x?1:0})),$=a.computed(()=>{const x=t.enableFavorite?"50%":"100%",N=t.enableFavorite?100:80,Q=c.showMaxButton||c.showCloseButton?N:0;return{maxWidth:`calc(${x} - ${Q}px)`}});function M(x){x.stopPropagation(),document.body.click()}return a.onMounted(()=>{var x;h.data.favorites&&h.data.favorites.length&&(e.value=((x=h.data)==null?void 0:x.tabIndex)||ne.dataList),T.value&&t.useHttpComposition.updateIncludeChilds(d.value)}),()=>a.createVNode("div",{class:"d-flex flex-column h-100 lookup-modal",ref:C},[a.createVNode("div",{class:"d-flex justify-content-between align-items-center px-3 lookup-modal-header"},[a.createVNode("div",{class:"lookup-modal-header-title",title:t.title,style:$.value},[t.title]),t.enableFavorite&&a.createVNode("div",{class:"d-flex justify-content-center w-100"},[a.createVNode("div",{class:"lookup-modal-header-tabs-container d-flex",onMousedown:M},[a.createVNode("div",{class:"active-tab",style:D.value},null),a.createVNode("div",{class:["tab-item","d-flex",{active:e.value===ne.dataList}],onClick:()=>_(ne.dataList)},[i.datalist]),a.createVNode("div",{class:["tab-item","d-flex",{active:e.value===ne.favorite}],onClick:()=>_(ne.favorite)},[i.favorite])])]),(c.showMaxButton||c.showCloseButton)&&a.createVNode("div",{class:"d-flex flex-row h-100 justify-content-end align-items-center lookup-modal-header-buttons",onMousedown:x=>x.stopPropagation()},[c.showMaxButton&&a.createVNode("span",{class:F.value,onClick:V,style:"cursor: pointer"},null),c.showCloseButton&&a.createVNode("span",{class:"f-icon modal_close ml-2",onClick:L,style:"cursor: pointer;position: relative;top: 1px;"},null)])]),a.createVNode("div",{class:"f-utils-fill",style:"position: relative;"},[a.createVNode("div",{class:"h-100 d-flex flex-column f-utils-fill w-100",style:I.value(ne.dataList)},[n.slots.default&&n.slots.default()]),a.createVNode("div",{class:"h-100 d-flex flex-column px-2 f-utils-fill w-100",style:I.value(ne.favorite)},[n.slots.fav&&n.slots.fav()])]),a.createVNode("div",{class:"modal-footer"},[a.createVNode("div",{class:"f-utils-fill align-items-center d-flex flex-row"},[T.value&&a.createVNode(qt,{modelValue:d.value,"onUpdate:modelValue":x=>d.value=x,label:o.includechildren},null),t.showSelectedList&&a.createVNode($t,{popoverOffsetX:g.value,parentRef:C.value,ref:w,idField:s.idField},null),t.showCascadeControl&&a.createVNode(Wt,{modelValue:s.cascadeValue,"onUpdate:modelValue":x=>s.cascadeValue=x},null)]),a.createVNode("button",{id:t.id+"-btncancel",name:"cancel",type:"button",class:"btn btn-secondary",onClick:E},[l.cancel]),a.createVNode("button",{id:t.id+"-btnok",name:"accept",type:"button",class:"btn btn-primary",onClick:y},[l.ok])])])}});function Le(t,n){if(t.context){if(!n&&t.context.editor){for(const i in t.context.editor)delete t.context.editor[i];return}const{editor:e}=t.context;e?Object.assign(e,n):t.context.editor=n}}function Ht(t,n,e,{dictPicked:i,modelValue:l,buttonEditInstance:o,userDataService:r,useHttp:d,lookupLocales:s}){const c=a.inject(Ve.F_NOTIFY_SERVICE_TOKEN,null),u=a.inject("FLoadingService"),p=a.ref(),S=a.ref("accept"),F=a.ref(),{lookupStates:T}=d,{queryState:g,lookupState:h,navigationState:f,pageInfoState:v,searchState:C,selectionState:w,lookupOptions:V}=T,{isDoubleList:L}=he(t,T),y=Object.assign({},Xe,V.dialog);V.dialog=y;const E={position:"top-center"},_=()=>{const b=e.value.map(z=>ve.resolveField(z,V.textField)).join(t.separator),P=e.value.map(z=>z[V.idField]).join(t.separator);l.value=b,d.idValues.value=P,n.emit("update:modelValue",b),n.emit("update:idValue",P)},D=async()=>{const b={items:e.value,mappingFields:V.mappingFields};return n.emit("update:dataMapping",b),Le(t,b),await i(b)};async function I(){return _(),await D()}function $(){return S.value="cancel",!0}const M=b=>{Object.keys(b).forEach(P=>{delete b[P]})},x=b=>{b.forEach(P=>{M(P)})};function N(){u==null||u.clearAll(),x([h,f,v,C,g]),w.value=[],F.value=null}async function Q(){var P;if(e.value.length===0)return c==null||c.warning({message:s.messages.mustChoosAdatarow,...E}),{shouldUpdate:!1};const b=await((P=t.beforeSelectData)==null?void 0:P.call(t,{items:e.value}));return{shouldUpdate:typeof b=="boolean"?b:(b==null?void 0:b.canSelect)??!0,message:b==null?void 0:b.message}}async function oe(b){return typeof b=="object"?{shouldClose:b.closeDialog,message:b.message}:{shouldClose:b,message:""}}async function re(){const{shouldUpdate:b,message:P}=await Q();if(!b)return P&&(c==null||c.warning({message:P,...E})),!1;const z=await I(),{shouldClose:H,message:K}=await oe(z);return H?(S.value="accept",!0):(K&&(c==null||c.warning({message:K,...E})),!1)}function m(){const b=(y==null?void 0:y.height)||620,P=(y==null?void 0:y.width)||590,z=(y==null?void 0:y.minWidth)||300,H=(y==null?void 0:y.minHeight)||200,K={height:b,width:P,minWidth:z,minHeight:H};return L()&&(K.width=(y==null?void 0:y.width)||960),K}const{width:k,height:B,minHeight:R,minWidth:U}=m(),W=!0,Y=W&&((y==null?void 0:y.resizeable)==null?!0:y==null?void 0:y.resizeable);y.rememberSize=y.rememberSize&&Y;const G={title:y==null?void 0:y.title,fitContent:!1,showHeader:!1,dragHandle:".lookup-modal-header",height:B,width:k,minWidth:U,minHeight:R,resizeable:Y,draggable:W,enableEsc:(y==null?void 0:y.enableEsc)==null?!0:y==null?void 0:y.enableEsc,closedCallback:(b,P)=>{const z={type:S.value,button:b==null?void 0:b.target};if((P==="esc"||P==="icon")&&(z.type="esc"),z.type==="accept"&&(z.items=e.value),(z.type==="cancel"||z.type==="esc")&&(l.value=t.modelValue),r&&t.enableUserData){r.saveUserData().then(()=>{N(),n.emit("dialogClosed",z)});return}N(),n.emit("dialogClosed",z)},showButtons:!1,resizeHandle:b=>{if(y.rememberSize){p.value=b;const{width:P,height:z}=b.newSize.size;!(b.isMaximized??!1)&&r.setDialogSize({width:Math.round(P),height:Math.round(z)})}},enableEnter:!0,onEnter:b=>{b.event.preventDefault(),!b.event.target.closest(".fv-lookup-search-bar")&&re().then(z=>{var H;if(z){const K=(H=o.value)==null?void 0:H.getModal();K&&K.close(b.event,"enter")}})}};async function O(){var b;if(t.enableUserData&&(await r.getUserData(),(b=r==null?void 0:r.userDataState)!=null&&b.data&&y.rememberSize)){const{size:P}=r.userDataState.data;P&&Object.assign(G,P)}}async function X(b){let P=!0;const z=t.dictPicking;if(z&&typeof z=="function"){const H=await z({customData:F,options:V});typeof H=="boolean"&&!H&&(P=!1),typeof H=="object"&&(H.canOpen?H.data&&(F.value=H.data):(P=!1,H.message&&(c==null||c.error({message:H.message,position:"top-center"}))))}return P&&await O(),P}return{modalOptions:G,beforeOpenDialog:X,dialogSize:p,customData:F,updateModelValue:I,cancelDialog:$,submitDialog:re,destroyed:N,setModelAndIdValue:_,runDictPickedAsync:D}}function Jt(t){return{dictPicked:async({items:e,mappingFields:i})=>t.dictPicked&&typeof t.dictPicked=="function"?await t.dictPicked({items:e,mappingFields:i})??!0:!0}}function Qt(t,n,e,i){if(!t.editable)return;n.emit("update:modelValue",e),n.emit("update:idValue","");const l={mappingFields:i.mappingFields};Le(t,l)}function Xt(t,n,e){const i=a.computed(()=>t.textChangeType==="blur"||t.textChangeType==="any"),l=a.computed(()=>t.textChangeType==="enter"||t.textChangeType==="any"),{beforeOpenDialog:o,updateModelValue:r,selectedItems:d,openDialog:s,lookupOptions:c,useHttpComposition:u,isPopuped:p}=e,{updateSearchFieldTitle:S}=u,{lookupState:F,queryState:T,searchValueChanged:g}=u.lookupStates,h=a.ref(!1);function f(E){return ae.isEmpty(E)&&g.value&&!p.value?(h.value=!0,g.value=!1,!1):(g.value&&(T.value=E),g.value)}function v(E){var D;if(!E||E.length!==1)return;const[_]=E;return(D=_.children)!=null&&D.length?v(_.children):_.data}function C(E,_){var I;if(!_||_.length!==1)return!1;const[D]=_;return E?(I=D.children)!=null&&I.length?v(D.children):D.data:D}async function w(E){const _={search:{field:"*",value:E,type:t.openType==="Modal"?"equal":"like"},action:"search"};g.value&&(document.body.classList.add("lookup-modal-open"),u.loadData(_,async D=>{var I;if(D.searchFields&&D.columns){const $=S(D.searchFields,D.columns);F.searchFields=$}if(g.value=!1,t.openType==="Modal"){const $=C(((I=D.displayType)==null?void 0:I.toLowerCase())==="treelist",D.items);if($){d.value=[$],r(),T.value="",document.body.classList.remove("lookup-modal-open");return}s()}else F.action=E?"search":"list",F.items=D.items}))}function V(E,_){var I;let D=(I=E.target)==null?void 0:I.value;if(D!==""&&(D=D.trim()),f(D)){if(t.allowFreeInput){Qt(t,n,D,c);return}if(t.openType!=="Modal"&&!p.value){s(),g.value=!1;return}c.uri?w(D):n.emit("textChanged",{value:D,type:_?"blur":"enter"})}}function L(E){i.value&&V(E,!0)}function y(E){E.key==="Enter"&&l.value&&V(E,!1)}return{changeOnBlur:i,changeOnEnter:l,onInputBlur:L,onEnterKeyDown:y,isClear:h}}const Kt={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:ce.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:{}}},Yt=a.defineComponent({name:"FLookupPopupContainer",props:Kt,emits:["selectItemsChanged"],setup(t,n){const e=t.locales,{lookupStates:i,getIdQueryParams:l}=t.useHttpComposition,{lookupState:o,navigationState:r,queryState:d,lookupOptions:s}=i,{isTreeList:c}=he(t,i);_e(t,!1,i,e);const u=a.computed(()=>({width:`${t.width}px`,height:`${t.height}px`,padding:"5px"})),{renderDataGrid:p}=ot(t,n,{}),{renderTreeGrid:S}=dt(t,n),F=a.computed(()=>c()?S:p);function T(){const g={};t.enableToSelect&&(g.selectedInfo=l(),d.value!=null&&(g.search={field:"*",value:d.value,type:"like"},g.action="search"));const h=t.useHttpComposition;h==null||h.loadData(g,f=>{a.nextTick(()=>{o.action=g.action,f.navigation&&(Object.keys(f.navigation).forEach(v=>{var C;r[v]=(C=f.navigation)==null?void 0:C[v]}),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(v=>{o[v]=f[v]})})})}return a.onMounted(()=>{T()}),a.onUnmounted(()=>{var g;(g=t.hidePopup)==null||g.call(t)}),()=>a.createVNode("div",{style:u.value,class:"d-flex flex-column"},[F.value()])}});function Zt(t,n,e,{useHttpComposition:i,selectionsManager:l,userDataService:o,updateModelValue:r,lookupLocales:d,destroyed:s,setModelAndIdValue:c,runDictPickedAsync:u}){a.provide(xe,o),a.provide(fe,i),a.provide(be,l);const{selectionState:p,queryState:S,lookupOptions:F}=i.lookupStates,T=rt(F,!1);a.provide(Te,T);const g=a.computed(()=>{var E;const y=(E=e.value)==null?void 0:E.popoverRef;return y?y.shown:!1});function h(){var y;(y=e.value)==null||y.hidePopup()}t.openType==="Popup"&&a.watch(()=>p.value,y=>{g.value&&t.multiSelect&&c()});const f=()=>{const{width:y,height:E}=t.dialog;return{width:y||460,height:E||380}},v=a.computed(()=>{var y;return(y=e.value)==null?void 0:y.popoverRef});async function C(){F.multiSelect?await u():await r(),g.value&&h(),S.value="",s()}function w(){var y;g.value||(y=e.value)==null||y.showPopup()}function V(){F.multiSelect||h()}function L(){const{width:y,height:E}=f();return a.createVNode(Yt,a.mergeProps({width:y,height:E,useHttpComposition:i,locales:d,selectionsManager:l,hidePopup:C,onSelectionsChanged:V},t),null)}return{popoverInstance:v,isPopuped:g,renderPopup:L,showPopup:w}}const pe=a.defineComponent({name:"FLookup",props:Ce,emits:["update:modelValue","update:idValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","resize","dialogClosed","textChanged","clear","update:dataMapping"],setup(t,n){const e='<i id="'+t.id+'-icon_lookup" class="f-icon f-icon-lookup"></i>',i='<i id="'+t.id+'-icon_dropdown" class="f-icon f-icon-arrow-chevron-down"></i>',l=a.ref(),o=a.ref(t.modelValue),r=a.ref("");Se.value=t.customData;const d=a.computed(()=>t.openType==="Popup"?"Popup":"Modal"),s=a.computed(()=>d.value==="Popup"?i:e),c=Mt(t),u=Vt(t),{lookupOptions:p,selectionState:S,searchValueChanged:F}=u.lookupStates,T=Nt(t,u),g=a.computed(()=>t.showSelections&&p.multiSelect),h=a.computed(()=>t.editable&&(d.value==="Modal"||!p.multiSelect)),f=a.computed(()=>t.showIncludeChildNodes&&t.showNavigation&&!p.navTreeToList),v=it(t,u.lookupStates),{dictPicked:C}=Jt(t),{modalOptions:w,beforeOpenDialog:V,dialogSize:L,customData:y,updateModelValue:E,cancelDialog:_,submitDialog:D,destroyed:I,setModelAndIdValue:$,runDictPickedAsync:M}=Ht(t,n,S,{dictPicked:C,modelValue:o,buttonEditInstance:l,userDataService:T,useHttp:u,lookupLocales:c}),x=Zt(t,n,l,{useHttpComposition:u,selectionsManager:v,userDataService:T,updateModelValue:E,lookupLocales:c,destroyed:I,setModelAndIdValue:$,runDictPickedAsync:M}),{renderPopup:N,showPopup:Q,isPopuped:oe}=x;function re(){if(t.openType==="Popup"){Q();return}l.value&&!l.value.getModal()&&l.value.openDialog()}const{onInputBlur:m,onEnterKeyDown:k,isClear:B}=Xt(t,n,{beforeOpenDialog:V,updateModelValue:E,selectedItems:S,openDialog:re,modelValue:o,useHttpComposition:u,lookupOptions:p,usePopupComposition:x,isPopuped:oe}),R=a.reactive(w),U=a.inject(pt.F_MODAL_SERVICE_TOKEN);a.watch(()=>y.value,A=>{Se.value=A}),a.watch(()=>t.modelValue,A=>{o.value=A});function W(A){u.idValues.value=A,A||(S.value=[]),n.emit("update:idValue",A)}a.watch(()=>t.idValue,A=>{W(A)}),a.onMounted(()=>{}),a.onUnmounted(()=>{Le(t)}),a.watch(()=>L.value,A=>{n.emit("resize",A)});async function Y(){n.emit("update:modelValue",""),W("");const A={items:null,mappingFields:p.mappingFields};n.emit("clear",A),Le(t,A)}a.watch(()=>B.value,A=>{A&&(Y(),B.value=!1)});function G(A){n.emit("search",A)}function O(A){n.emit("navSelectionsChanged",A)}function X(A){n.emit("pageIndexChanged",A)}function b(A){n.emit("pageSizeChanged",A)}async function P(A){const le=U==null?void 0:U.getCurrentModal();le&&le.updateModalOptions(A),A.title&&(r.value=A.title)}function z(A){const le=U==null?void 0:U.getCurrentModal();le&&le.close(A)}function H(A){const le=U==null?void 0:U.getCurrentModal();le&&le.maxDialog(A)}const K=a.computed(()=>{const A=U==null?void 0:U.getCurrentModal();return A==null?void 0:A.isMaximized}),q=a.computed(()=>p.multiSelect&&p.showCascadeControl&&p.enableCascade&&se.Tree===p.displayType.toUpperCase()&&!p.treeToList),J=a.computed(()=>S.value&&S.value.length?S.value.map(A=>A[p.idField]):[]);function te(A){for(const le in p)A[le]!==void 0&&(p[le]=A[le])}const ie=ae.debounce(A=>{m(A)},200);function de(A){var ut;let le=(ut=A.target)==null?void 0:ut.value;le!==""&&(le=le.trim()),F.value=A.target._value!==le,d.value==="Popup"&&F.value&&ie(A)}function $e(){F.value=!1}return n.expose({openDialog:re,updateIdValue:W,mappingFields:p.mappingFields,idField:p.idField,setProps:te,clear:Y}),()=>a.createVNode(We.FButtonEdit,{ref:l,id:t.id,modelValue:o.value,"onUpdate:modelValue":A=>o.value=A,disable:t.disable,readonly:t.readonly,editable:h.value,inputType:"text",enableClear:t.enableClear,buttonContent:s.value,buttonBehavior:d.value,modalOptions:R,onClear:Y,beforeOpen:V,onBlur:m,onKeydown:k,placeholder:c.placeholder,keepWidthWithReference:!1,popupOnClick:!t.editable&&d.value==="Popup",onInput:de,enableTitle:t.enableTitle,placement:"auto",onBeforeClearValue:$e},{default:()=>[d.value==="Modal"&&a.createVNode(Gt,{title:r.value||"请选择",enableFavorite:t.enableFavorite,onCloseModal:z,onMaximize:A=>H(A),useHttpComposition:u,userDataService:T,useDialog:{cancelDialog:_,submitDialog:D},showSelectedList:g.value,selectionsManager:v,showIncludeChildNodes:{show:f.value,value:t.includeChildNodesValue},showCascadeControl:q.value,isMaximized:K.value,locales:c,id:t.id},{default:()=>a.createVNode(jt,a.mergeProps(t,{onSearch:G,onNavSelectionsChanged:O,onPageIndexChanged:X,onPageSizeChanged:b,onChangeDialogOptions:P}),null),fav:()=>t.enableFavorite&&a.createVNode(Rt,{idField:p.idField,displayType:p.displayType,selectedIds:J.value,multiSelect:p.multiSelect,showSelections:g.value,treeToList:p.treeToList},null)}),d.value==="Popup"&&N()]})}}),ct={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",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:"标签页工具栏按钮"},"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:"标签页工具栏"},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:"列表导航"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},en=a.ref(0);function tn(){en.value++}const nn=a.ref(0);function an(t){const{formSchemaUtils:n,formStateMachineUtils:e}=t;function i(s,c=""){return{path:c+s.code,field:s.id,fullPath:s.code}}function l(s,c=""){return n.getViewModelById(s).states.map(p=>i(p,c))}function o(s){const c=n.getRootViewModelId(),u=l(s);if(s===c)return u;const p=l(c,"root-component.");return[...u,...p]}function r(s){return s.binding&&s.binding.path||s.id||""}function d(){return e&&e.getRenderStates()||[]}return{getVariables:o,getControlName:r,getStateMachines:d}}class on{constructor(n){ee(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'"}]);ee(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ee(this,"getExpressionConverter",(n,e)=>({convertFrom:(i,l,o,r)=>{const d=o.getExpressionRuleValue(n,e||l);return d&&d.value||""},convertTo:(i,l,o,r,d)=>{var s;if(l==="dataPicking"&&(o!=null&&o.target)){const c=`${o.target}_dataPicking`;((s=o.rules)==null?void 0:s.some(p=>p.id===c&&p.value))?i.dictPickingExpressionId=c:delete i.dictPickingExpressionId}r.updateExpression(o)}}));this.formSchemaService=n}getExpressionRule(n,e){const i=this.formSchemaService.getExpressions();if(!i)return"";const l=i.find(r=>r.target===n);if(!l)return"";const o=l.rules.find(r=>r.type===e);return o||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(e);if(!i||!i.states||i.states.length===0)return[];const l=[];return i.states.forEach(o=>{l.push({key:o.code,name:o.name,description:o.name,category:o.category})}),l}createTreeNode(n,e,i="label"){return{id:n.id,name:n.name,bindingPath:n[i],parents:e}}buildEntityFieldsTreeData(n=null,e){const i=[];return n==null||n.forEach(l=>{var d;const o=this.createTreeNode(l,e);let r=[];(d=l.type)!=null&&d.fields&&(r=this.buildEntityFieldsTreeData(l.type.fields,[...e,l.label])),i.push({data:o,children:r,expanded:!0})}),i}buildChildEntityTreeData(n=null,e){const i=[];return n==null||n.forEach(l=>{var s,c;const o=this.createTreeNode(l,e),r=this.buildEntityFieldsTreeData((s=l.type)==null?void 0:s.fields,[...e,l.label]),d=this.buildChildEntityTreeData((c=l.type)==null?void 0:c.entities,[...e,l.label]);d!=null&&d.length&&(r==null||r.push(...d)),i.push({data:o,children:r||[],expanded:!0})}),i}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const e=n[0];if(!(e!=null&&e.type))return[];const i=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),l=this.buildChildEntityTreeData(e.type.entities,[e.code]);return l!=null&&l.length&&(i==null||i.push(...l)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,e,i){const l=i==="Field"?n.binding.field:n.id,o=this.getExpressionRule(l,e),r=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(e)&&o?o.message:"",...r};return o.messageType!=null&&(d.messageType=o.messageType),d}buildRule(n,e,i,l){const{expression:o,message:r,messageType:d}=e,s={id:`${n}_${i}`,type:i,value:o};return(i==="validate"||i==="dataPicking"||i==="required")&&(s.message=r),i==="dataPicking"&&(s.messageType=d),i==="validate"&&l&&(s.elementId=l),s}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,e,i,l){const o=e==="Field"?n.binding.field:n.id,r=this.buildRule(o,i,l,n.type==="form-group"?n.id:"");let s=this.getExpressionData().find(u=>u.targetType===e&&u.target===o);const c=u=>u.value.trim()==="";if(s){const u=s.rules.find(p=>p.id===r.id);if(u)c(r)?s.rules=s.rules.filter(p=>p.id!==r.id):(Object.assign(u,r),l==="validate"&&n.type==="form-group"&&(u.elementId=n.id));else{if(c(r))return null;s.rules=s.rules||[],s.rules.push(r)}}else{if(c(r))return null;s={target:`${o}`,rules:[r],targetType:e}}return s}getExpressionEditorOptions(n,e,i,l){return i.reduce((o,r)=>{var s,c;const d=e==="Field"?(s=n==null?void 0:n.binding)==null?void 0:s.field:n.id;return o[r]={hide:e==="Field"?!!((c=n==null?void 0:n.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(d),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,e),onSubmitModal:u=>{const p=this.updateExpression(n,e,u,r);if(l){const S=this.buildRule(d,u,r);l(S)}return p}}},o},{})}getExpressionInfo(n,e,i){const l=e==="Field"?n.binding.field:n.id,o=this.getExpressionRule(l,i),r={value:o&&o.value,targetId:l,targetType:e,expressionType:i};return o&&o.message&&(r.message=o.message),r}getExpressionConfig(n,e,i=["compute","dependency","validate"],l){return{description:"表达式",title:"表达式",hide:!n.binding,properties:{...this.getExpressionEditorOptions(n,e,i,l)}}}getExpressionOptions(n,e,i){const l=this.getExpressionInfo(n,e,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,i,e),expressionInfo:l}}}class ln{constructor(n,e){ee(this,"componentId");ee(this,"viewModelId");ee(this,"eventsEditorUtils");ee(this,"formSchemaUtils");ee(this,"formMetadataConverter");ee(this,"designViewModelUtils");ee(this,"designViewModelField");ee(this,"controlCreatorUtils");ee(this,"designerHostService");ee(this,"designerContext");ee(this,"schemaService",null);ee(this,"metadataService",null);ee(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=n,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var n,e;return(e=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var i;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const l=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=l.fields.find(o=>o.id===e)}n.updateOn=(i=this.designViewModelField)==null?void 0:i.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:ct[n.type]&&ct[n.type].name}]}}}}}getAppearanceConfig(n=null,e={},i){const l={title:"外观",description:"Appearance"},o={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 e)o[r]=Object.assign(o[r]||{},e[r]);return{...l,properties:{...o},setPropertyRelates(r,d){if(r){switch(r&&r.propertyID){case"class":case"style":{nn.value++;break}}i&&i(r,n,d)}}}}getPropertyEditorParams(n,e=[],i="visible",l={},o={}){const{getVariables:r,getControlName:d,getStateMachines:s}=an(this.designerHostService),c=this.getRealTargetType(n),u=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],p={type:"property-editor",propertyTypes:u};return u.map(S=>{switch(S){case"Const":Object.assign(p,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},l);break;case"Expression":p.expressionConfig=this.getExpressionOptions(n,c,i);break;case"StateMachine":p.stateMachines=s();break;case"Variable":Object.assign(p,{controlName:d(n),newVariablePrefix:"is",newVariableType:"Boolean",variables:r(this.viewModelId),onBeforeOpenVariables:F=>{F.value=r(this.viewModelId)}},o);break}}),p}getVisibleProperty(n,e=""){var o;let i=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?i=["Const","Expression"]:e==="form-group"&&!((o=n.binding)!=null&&o.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,i,"visible")}}}getBehaviorConfig(n,e="",i={},l){const o={title:"行为",description:""},r=this.getVisibleProperty(n,e);for(const s in i)r[s]=Object.assign(r[s]||{},i[s]);const d=this;return{...o,properties:{...r},setPropertyRelates(s,c){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(n,s);break}l&&l(s,c)}}}}afterMutilEditorChanged(n,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,n)}updateElementByParentContainer(n,e){const i=e&&e.parent&&e.parent.schema;if(!i)return;const l=i.contents.findIndex(r=>r.id===n),o=ae.cloneDeep(i.contents[l]);i.contents.splice(l,1),i.contents.splice(l,0,o),tn()}addNewVariableToViewModel(n,e){const i=n.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const r={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String"};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById(e).states.push(r)}updateExpressionValue(n){const e=n.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:o,expressionInfo:r}=e,{targetId:d,targetType:s,expressionType:c,value:u,message:p}=r,S=this.formSchemaUtils.getModule();S.expressions=S.expressions||[];const{expressions:F}=S;let T=F.find(h=>h.target===d);T||(T={target:d,rules:[],targetType:s},F.push(T));const g=T.rules.find(h=>h.type===c);if(g)g.value=u,g.message=p;else{const h={id:o,type:c,value:u,message:p};T.rules.push(h)}delete e.expressionInfo}clearExpression(n,e){const i=n.propertyValue;if(i&&i.type==="Expression")return;const o=n.propertyID,r=this.formSchemaUtils.getExpressions(),d=e.binding?e.binding.field:e.id,s=r.find(c=>c.target===d);!s||!s.rules||(s.rules=s.rules.filter(c=>c.type!==o))}getExpressionOptions(n,e,i){return new on(this.formSchemaUtils).getExpressionOptions(n,e,i)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:i=>{var l;((l=i.controller)==null?void 0:l.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},e}}class rn extends ln{constructor(e,i){super(e,i);ee(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"]});ee(this,"events",kt)}getPropertyConfig(e){const i=new et("root-component",this.designerHostService),l=i.getLookupConfig(e),o=i.getPageConfig(e.editor),r=i.getTreePropConfig(e.editor),d=i.getDialogPropertyConfig(e),s=this.getEventPropConfig(e),c={type:"object",categories:{lookup:l,treeConfig:r,pager:o,dialog:d}};return this.filterLookupPropertyConfig(c),c.categories.eventsEditor=s,c}filterLookupPropertyConfig(e){Object.keys(e.categories).forEach(i=>{const l=this.propertyConfigFilters[i],o=e.categories[i];Object.keys(o.properties).forEach(r=>{l.includes(r)||delete o.properties[r]})})}getEventPropConfig(e){const i=this,l=i.eventsEditorUtils.formProperties(e,i.viewModelId,this.events),o={};return o[i.viewModelId]={type:"events-editor",editor:{initialData:l,viewSourceHandle:r=>{i.eventsEditorUtils.jumpToMethod(r)}}},{title:"事件",hideTitle:!0,properties:o,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,d){const s=d.editor,c=r.propertyValue;delete s[i.viewModelId],c&&i.eventsEditorUtils.saveRelatedParameters(s,i.viewModelId,c.events,c),i.events.forEach(u=>{d[u.label]=s[u.label]})}}}}pe.install=t=>{t.component(pe.name,pe)},pe.register=(t,n,e,i)=>{t.lookup=pe,n.lookup=je,i.lookup={callbackResolver:Ke}},pe.registerDesigner=(t,n,e)=>{t.lookup=Lt,n.lookup=je},j.CascadeEnum=Oe,j.Compare=Ae,j.DEFAULT_LOOKUP_DIALOG_OPTIONS=Xe,j.DEFAULT_PAGINATION_OPTIONS=Be,j.DefaultDialogTitle=De,j.ExpressValueType=Qe,j.ExternalLookupPropertyConfig=rn,j.FLookup=pe,j.F_LOOKUP_HTTP_SERVICE_TOKEN=Je,j.FilterRelation=Pe,j.LOOKUP_ACTIVE_TAB=me,j.LOOKUP_USER_DATA_ID=vt,j.LoadTreeDataType=ce,j.LookupDisplayType=se,j.LookupSchemaRepositoryToken=Ze,j.LookupTabs=ne,j.callbackResolver=Ke,j.cascadeItems=Ie,j.default=pe,j.lookupDataSourceConverter=Ye,j.lookupProps=Ce,j.propsResolver=je,Object.defineProperties(j,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(j,a){typeof exports=="object"&&typeof module<"u"?a(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("../notify/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("lodash-es"),require("../common/index.umd.js"),require("vue-i18n"),require("../tree-grid/index.umd.js"),require("../combo-list/index.umd.js"),require("../popover/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","../notify/index.umd.js","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","lodash-es","../common/index.umd.js","vue-i18n","../tree-grid/index.umd.js","../combo-list/index.umd.js","../popover/index.umd.js"],a):(j=typeof globalThis<"u"?globalThis:j||self,a(j.lookup={},j.Vue,j.FButtonEditDesign,j.designerCanvas,j.dynamicResolver,j.propertyPanel,j.fieldSelector,j.notify,j.modal,j.buttonEdit,j.layout,j.dataGrid,j.LodashES,j.common,j.vueI18n,j.treeGrid,j.comboList,j.FPopover))})(this,function(j,a,ge,ft,qe,Ee,we,Ve,pt,We,Ne,Fe,ae,ve,ht,Me,Ge,gt){"use strict";var sn=Object.defineProperty;var dn=(j,a,ge)=>a in j?sn(j,a,{enumerable:!0,configurable:!0,writable:!0,value:ge}):j[a]=ge;var ee=(j,a,ge)=>dn(j,typeof a!="symbol"?a+"":a,ge);function He(t){return typeof t=="string"&&t.startsWith("{")&&t.endsWith("}")?(t=t.replace(/'/g,'"'),{mappingFields:JSON.parse(t)}):{mappingFields:t}}const mt=new Map([["appearance",qe.resolveAppearance],["mappingFields",(t,n,e)=>{if(n)return He(n);const{mappingFields:i}=e;return He(i)}],["uri",(t,n,e)=>{var i;return n?{uri:n}:{uri:(i=e==null?void 0:e.dataSource)==null?void 0:i.uri}}],["idField",(t,n,e)=>{var i;return n?{idField:n}:{idField:(i=e==null?void 0:e.dataSource)==null?void 0:i.idField}}]]),yt={$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:"请选择"},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},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}},required:["type"],ignore:["id","appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function bt(t,n,e){return n}var Oe=(t=>(t.Both="both",t.Up="up",t.Down="down",t.Disable="disable",t))(Oe||{});const Ie=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],De="";var se=(t=>(t.List="LIST",t.Tree="TREELIST",t.ListList="NAVLIST",t.TreeList="NAVTREELIST",t.ListTree="NAVLISTTREE",t))(se||{}),ce=(t=>(t.default="default",t.all="all",t.async="async",t))(ce||{});const me="__lookup_active_tab__",vt="__lookup_user_data_id__";var ne=(t=>(t.dataList="datalist",t.favorite="favorite",t))(ne||{});const Be={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},Je=Symbol("f_lookup-http-service_token");var Ae=(t=>(t[t.Equal=0]="Equal",t[t.NotEqual=1]="NotEqual",t[t.Greater=2]="Greater",t[t.GreaterOrEqual=3]="GreaterOrEqual",t[t.Less=4]="Less",t[t.LessOrEqual=5]="LessOrEqual",t[t.Like=6]="Like",t[t.LikeStartWith=7]="LikeStartWith",t[t.LikeEndWith=8]="LikeEndWith",t[t.NotLike=9]="NotLike",t[t.NotLikeStartWith=10]="NotLikeStartWith",t[t.NotLikeEndWith=11]="NotLikeEndWith",t[t.Is=12]="Is",t[t.IsNot=13]="IsNot",t[t.In=14]="In",t[t.NotIn=15]="NotIn",t))(Ae||{}),Pe=(t=>(t[t.Empty=0]="Empty",t[t.And=1]="And",t[t.Or=2]="Or",t))(Pe||{}),Qe=(t=>(t[t.Value=0]="Value",t[t.Expression=1]="Expression",t.FrontExpress="frontExpress",t))(Qe||{});const Xe={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function Ct(){function t(n,e){const i={};return i.dictPicking=l=>e.call("dictPicking",[l,n]),i.beforeLoadData=l=>e.call("beforeLoadData",[l,n]),i.beforeSelectData=l=>e.call("beforeSelectData",[l,n]),i.dictPicked=l=>e.call("dictPicked",[l,n]),i}return{resolve:t}}const Ce={id:{type:String,require:!0},uri:{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,defalut:"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:Be},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},showIncludeChildNodes:{type:Boolean,default:!0},includeChildNodesValue:{type:Boolean,default:!0},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:ce.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}},je=qe.createPropsResolver(Ce,yt,mt,bt),Ke=Ct();function ke(t){let n=[10,20,30,50,100];return t&&(typeof t=="string"&&(n=t.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(t)&&(n=t)),n.map(e=>({value:parseInt(e,10)})).sort((e,i)=>e.value-i.value)}const Z={convertFrom:(t,n)=>n==="multiSelect"||n==="enableTitle"?!!t.editor[n]:n==="separator"?t.editor[n]||",":n==="onlySelectLeaf"?t.editor[n]==null?!1:t.editor[n]:n==="loadTreeDataType"?t.editor[n]||"default":n==="placeholder"?t.editor.placeholder||"请选择":t.editor[n],convertTo:(t,n,e)=>{t.editor[n]=e,n==="multiSelect"&&!e&&(t.editor.enableCascade=!1),n==="openType"&&e==="Popup"&&(t.editor.showSelections=!1,t.editor.enableCascade=!1)}};function St(t){let n="form_group_"+Date.now();return t&&(n=t.replaceAll("-","_").replaceAll(".","_")),"lookup."+n}function Tt(t,n){const{enablePager:e,pageSize:i,pageList:l}=n;t.pagination=t.pagination||{},Object.assign(t.pagination,{enable:e,sizeLimits:ke(l).map(o=>o.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const Ye={convertFrom:(t,n)=>{var e;return(e=t.editor[n])==null?void 0:e.displayName},convertTo:(t,n,e)=>{if(e&&e.length>0){const i=e[0],{name:l,id:o,metadataContent:r,code:d}=i;t.editor.dataSource||(t.editor.dataSource={}),t.editor.dataSource.displayName=`${l}(${d})`,t.editor.helpId=o;const{displayType:s,idField:c,textField:u}=r;t.editor.displayType=s,t.editor.dataSource.idField=c,t.editor.textField=u,t.editor.dataSource.type="ViewObject";const{pageInfo:p}=r.dataSource;Tt(t.editor,p);const{treeInfo:S}=s.toUpperCase()==="NAVTREELIST"?r.navigation:r.dataSource;if(S){const{onlySelectLeaf:F,loadDataType:T}=S;t.editor.loadTreeDataType="default",t.editor.onlySelectLeaf=F??!1}t.editor.dataSource.uri||(t.editor.dataSource.uri=St(t.id))}}},wt={convertFrom:(t,n)=>{var e;return(e=t.editor.dataSource)==null?void 0:e.idField},convertTo:(t,n,e)=>{if(e&&e.length>0){const i=e[0];t.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},Ft={convertFrom:(t,n)=>{var e;return(e=t.editor)==null?void 0:e.textField},convertTo:(t,n,e)=>{if(e&&e.length>0){const i=e[0];t.editor.textField=i==null?void 0:i.bindingPath}}},It={convertFrom:(t,n)=>t.editor.displayType?t.editor.displayType.toUpperCase():"LIST",convertTo:(t,n,e)=>{t.editor.displayType=e}},ue={convertFrom:(t,n)=>{var l;const e=t.editor.dialog||{};if(n==="title")return e[n]||De;if(t.editor.openType==="Modal"){if(n==="width")return(l=t.editor.displayType)!=null&&l.toUpperCase().startsWith("NAV")?e[n]||960:e[n]||590;if(n==="height")return e[n]||620;if(n==="navigatorWidth")return e[n]||320}else{if(n==="width")return e[n]||460;if(n==="height")return e[n]||380}if(n==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(n))return e[n]==null?!0:e[n]},convertTo:(t,n,e)=>{t.editor.dialog=t.editor.dialog||{},t.editor.dialog[n]=e}},Ue={convertFrom:(t,n)=>{const e=t.editor.pagination||{};if(n==="enable"||n==="showLimits")return e[n]==null?!1:e[n];if(n==="sizeLimits"){const i=e[n];return ke(i)}if(n==="size")return e[n]||20},convertTo:(t,n,e)=>{var i,l;if(t.editor.pagination=t.editor.pagination||{},n==="sizeLimits"){const o=e.map(d=>d.value);t.editor.pagination[n]=o;const r=((l=(i=t.editor)==null?void 0:i.pagination)==null?void 0:l.size)??20;o.includes(r)||(t.editor.pagination.size=o[0]);return}t.editor.pagination[n]=e}},Pt=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],kt=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Ze=Symbol("schema_repository_token");class et extends Ee.InputBaseProperty{constructor(){super(...arguments);ee(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ee(this,"numberEditor",{type:"number-spinner",useThousands:!1});ee(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ee(this,"visibleEditor",{...this.comboListEditor,editable:!1});ee(this,"requiredEditor",{...this.comboListEditor,editable:!1});ee(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(e,i){const l=["validate"];return e.type==="form-group"&&l.push("dataPicking"),new Ee.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(e,"Field",l)}getPropertyConfig(e,i,l="Card"){var h;const o=(h=e.binding)!=null&&h.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(e,o,"readonly"),this.visibleEditor=this.getPropertyEditorParams(e,o,"visible"),this.requiredEditor=this.getPropertyEditorParams(e,o,"required"),this.freeInputEditor=this.getPropertyEditorParams(e,["Const","Variable"],"allowFreeInput");const r=this.getBasicProperties(e,i,l),d=this.getBehaviorConfig(e),s=this.getAppearanceProperties(e,i),c=this.getLookupConfig(e),u=this.getEventPropConfig(e),p=this.getDialogPropertyConfig(e),S=this.getPageConfig(e.editor),F=this.getTreePropConfig(e.editor),T=this.getExpressionConfig(e,"Field"),g={basic:r,appearance:s,behavior:d,lookup:c,treeConfig:F,dialog:p,pager:S,expressions:T};return e.type==="form-group"&&(g.eventsEditor=u),{type:"object",categories:g}}getGridFieldEdtiorPropConfig(e){return this.getPropertyConfig(e,null,"Grid").categories}flattenTreeNodes(e){return e.reduce((i,l)=>{var o;return i.push(l),(o=l.children)!=null&&o.length&&i.push(...this.flattenTreeNodes(l.children)),i},[])}isSimpleStringField(){var d;const e=((d=this.designViewModelField)==null?void 0:d.path)||"";if(!e||!e.includes("."))return!0;const i=e.split("."),l=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(l!=null&&l.length))return!1;const o=l.find(s=>s.data.code===i[0]);if(!o)return!1;const r=[o,...this.flattenTreeNodes(o.children)];return!i.reduce((s,c,u)=>[...s,u?`${s[u-1]}.${c}`:c],[]).some(s=>{var c,u,p;return((p=(u=(c=r.find(S=>S.data.path===s))==null?void 0:c.data)==null?void 0:u.type)==null?void 0:p.$type)==="EntityType"})}getBehaviorConfig(e){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,l)=>{this.afterMutilEditorChanged(l,i)}}}changeBindingField(e,i){super.changeBindingField(e,i),e.editor.multiSelect=!1}getDisplayType(e){return e.displayType?e.displayType.toUpperCase():""}mapFieldsDisplayFormatter(e){return e&&e.length?e.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getLookupConfig(e){const i=e.editor,l=()=>{const o=this.formSchemaUtils.getFormSchema().module.entity[0].id,r=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:r,viewModelId:o,dataSourceId:i.helpId}};return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(o,r)=>{if(o)switch(o.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(r,o);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},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:Z},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:Z,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:Z,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:Z,editor:this.freeInputEditor,visible:!1},enableClear:{title:"启用清除按钮",type:"boolean",$converter:Z},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},displayFormatter:o=>o&&o.length?o.map(r=>`${r.name}(${r.code})`).join(","):"",viewOptions:this.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(o,r)=>`${o==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Ze,validateFunction:async o=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(o,e),onSubmitModal:o=>{if(o){delete i.mappingFields;const r=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(r.relativePath,o[0].data).then(d=>JSON.parse(d==null?void 0:d.metadata.content))}}},$converter:Ye},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:Z,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:we.FieldSelectorRepositoryToken,beforeOpen:async({repository:o,notifyService:r})=>{var S;if(!(i==null?void 0:i.helpId))return r==null||r.warning({message:"请先配置数据源!"}),!1;const s=l(),u=new Ee.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let p={};if(o){const F=await o.getData(s),T=await o.getLookupConditions(s);p={fieldList:F,conditionList:T}}return(S=u.variables)!=null&&S.forms&&(u.variables.forms.items=u.variables.forms.items.filter(F=>F.category==="remote")),{...p,...u}},onSubmitModal:async({loadingService:o,repository:r,conditions:d,originalConditions:s,FMessageBoxService:c})=>{if(r)try{const u=l(),p=await r.getLookupConditions(u)||[];return JSON.stringify(p)!==JSON.stringify(s.value)?(o==null||o.clearAll(),c.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{d.value=p,s.value=JSON.parse(JSON.stringify(d.value))},()=>{}),!1):(JSON.stringify(d.value)===JSON.stringify(s.value)||await r.saveFilterCondition(d.value,u,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return c==null||c.error("保存失败",""),!1}finally{o==null||o.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:It,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:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:we.FieldSelectorRepositoryToken},$converter:wt},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:Ft,editor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:we.FieldSelectorRepositoryToken}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:Z,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(o,r)=>`${r.raw.name} [${r.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:we.FieldSelectorRepositoryToken,displayFormatter:this.mapFieldsDisplayFormatter},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),r=this.schemaService.getPrimaryField();return r?o.filter(d=>d.data.bindingPath!==r):o},formatter:(o,r)=>`${r.raw.name} [${r.raw.bindingPath}]`,displayFormatter:this.mapFieldsDisplayFormatter}}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:Z,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:Z,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:Z,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:Z,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:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:Z,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:Z,title:"允许查询所有列",type:"boolean",visible:i.openType!=="Popup"&&i.enableSearchBar==null?!0:!!i.enableSearchBar},enableFavorite:{description:"启用收藏夹",$converter:Z,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:Z,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(e){return this.getDisplayType(e).startsWith("NAV")&&e.openType!=="Popup"?e.showNavigation===void 0?!0:!!e.showNavigation:!1}getDialogPropertyConfig(e){var i,l,o,r;return{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",properties:{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",$converter:Z,refreshPanelAfterChanged:!0,editor:{...this.comboListEditor,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0},title:{description:"帮助标题",title:"标题",type:"string",$converter:ue,visible:e.editor.openType!=="Popup"},width:{description:"窗口宽度,最小值:300px,最大值:3000px",title:"宽度",type:"number",refreshPanelAfterChanged:!0,$converter:ue,editor:{...this.numberEditor,min:this.showNavigatiorWidth(e.editor)?520:300,max:9999}},height:{description:"窗口高度,最小值:200px,最大值:2000px",title:"高度",type:"number",$converter:ue,editor:{...this.numberEditor,min:200,max:9999}},showNavigation:{description:"显示导航栏",$converter:Z,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:this.getDisplayType(e.editor).includes("NAV")&&e.editor.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",$converter:ue,visible:this.showNavigatiorWidth(e.editor)&&e.editor.openType!=="Popup",editor:{...this.numberEditor,min:200,max:(((l=(i=e.editor)==null?void 0:i.dialog)==null?void 0:l.width)??960)-200}},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",$converter:ue,refreshPanelAfterChanged:!0,visible:e.editor.openType!=="Popup"},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",$converter:ue,visible:!!e.editor.enableUserData&&(((r=(o=e.editor)==null?void 0:o.dialog)==null?void 0:r.resizeable)??!0)&&e.editor.openType!=="Popup"},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",$converter:ue,visible:e.editor.openType!=="Popup"},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",$converter:ue,visible:e.editor.openType!=="Popup"},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",$converter:ue,visible:e.editor.openType!=="Popup"}}}}showPagerProperty(e,i){const l=this.getDisplayType(e)!=="TREELIST"||e.treeToList;return i&&l?e.pagination&&e.pagination[i]:l}getPageConfig(e){var l,o,r,d;const i=!((l=e.pagination)!=null&&l.enable);return{hide:this.getDisplayType(e)==="TREELIST"||!e.helpId||i,description:"分页配置",title:"分页",parentPropertyID:"pagination",properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:!0,$converter:Ue,visible:this.showPagerProperty(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",$converter:Ue,refreshPanelAfterChanged:!0,visible:this.showPagerProperty(e,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{...this.numberEditor,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:ke((o=e.pagination)==null?void 0:o.sizeLimits),beforeSubmit:({notifyService:s,data:c})=>!c||!c.length?(s==null||s.warning({message:"每页显示条数不能为空!"}),!1):new Set(c.map(p=>parseInt(p.value,10))).size===c.length?!0:(s==null||s.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:this.showPagerProperty(e),$converter:Ue,editor:{...this.comboListEditor,data:ke((r=e.pagination)==null?void 0:r.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(d=e.pagination)==null?void 0:d.size}}}}}showLoadType(e){const i=this.getDisplayType(e);return(i==="TREELIST"||i==="NAVTREELIST")&&!e.treeToList&&!e.navTreeToList}isTree(e){return this.getDisplayType(e)==="TREELIST"&&!e.treeToList}getTreePropConfig(e){return{hide:this.getDisplayType(e)!=="TREELIST"&&this.getDisplayType(e)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:Z,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(e)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:Z,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(e)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:Z,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(e)},enableFullTree:{description:"启用构造完整树",$converter:Z,title:"构造完整树",type:"boolean",visible:this.showLoadType(e)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:Z,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(e)},enableCascade:{description:"启用级联选择",$converter:Z,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(e)&&!!e.multiSelect&&e.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:Z,title:"显示级联状态",type:"boolean",visible:!1},cascadeValue:{description:"缺省级联选择模式",$converter:Z,title:"缺省级联选择模式",type:"string",visible:!!e.enableCascade&&this.isTree(e),editor:{...this.comboListEditor,data:Ie,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:Z,title:"默认展开层级",type:"number",visible:this.showLoadType(e),editor:{...this.numberEditor,min:-1,max:99}}}}}getEventPropConfig(e){const i=this;let l=Pt;e.editor.openType==="Popup"&&(l=l.filter(d=>d.label!=="beforeSelectData"));const o=i.eventsEditorUtils.formProperties(e,i.viewModelId,l);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,s){const c=d.propertyValue;delete s[i.viewModelId],c&&i.eventsEditorUtils.saveRelatedParameters(s,i.viewModelId,c.events,c);const u=i.designViewModelUtils.getDgViewModel(i.viewModelId);u&&i.designViewModelField&&u.changeField(i.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}async checkSameBESource(e,i){var l,o,r,d,s;if(e&&((l=i==null?void 0:i.editor)!=null&&l.helpId)&&!i.isRtcControl){if(e.data.id===i.editor.helpId)return!0;const c=await this.metadataService.getPickMetadata("",e.data).then(g=>{var h;if((h=g==null?void 0:g.metadata)!=null&&h.content)return JSON.parse(g.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(g=>{var h;if((h=g==null?void 0:g.metadata)!=null&&h.content)return JSON.parse(g.metadata.content)}),p=(o=c==null?void 0:c.dataSource)==null?void 0:o.sourceType,S=(r=u.dataSource)==null?void 0:r.sourceType,F=(d=c==null?void 0:c.dataSource)==null?void 0:d.sourceId,T=(s=u==null?void 0:u.dataSource)==null?void 0:s.sourceId;if(p==="BE"&&S==="BE"&&F!==T)return new Ve.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function xt(t,n){function e(i,l){const o=t.schema;return new et(i,n).getPropertyConfig(o,l)}return{getPropsConfig:e}}const Lt=a.defineComponent({name:"FLookupDesign",props:Ce,emits:[],setup(t,n){const e=a.ref(),i=a.inject("design-item-context"),l=a.inject("designer-host-service"),o=xt(i,l),r=ft.useDesignerComponent(e,i,o),d='<i class="f-icon f-icon-lookup"></i>',s='<i class="f-icon f-icon-arrow-chevron-down"></i>',c=a.computed(()=>t.openType==="Popup"?"Popup":"Modal"),u=a.computed(()=>c.value==="Popup"?s:d);return a.onMounted(()=>{e.value.componentInstance=r}),n.expose(r.value),()=>a.createVNode("div",{class:"f-lookup-design",ref:e},[a.createVNode(ge,{ref:e,buttonContent:u.value,readonly:!0,editable:!1,placeholder:t.placeholder},null)])}});function he(t,n){const{lookupOptions:e}=n;function i(g){return{...Be,...g}}function l(){return{enableSelectRow:!0,multiSelect:e.multiSelect,showCheckbox:e.multiSelect,multiSelectMode:"OnCheckAndClick"}}function o(){return{fitColumns:t.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:g}=n.lookupOptions;return typeof g=="string"&&g in se?!1:g.toLowerCase().startsWith("nav")}function d(){const{displayType:g,treeToList:h}=n.lookupOptions;return(g.toLowerCase()===se.Tree.toLowerCase()||g.toLowerCase()===se.ListTree.toLowerCase())&&!h}function s(){const{displayType:g,navTreeToList:h}=n.lookupOptions;return g.toLowerCase()===se.TreeList.toLowerCase()&&!h}function c(){const{displayType:g,navTreeToList:h}=n.lookupOptions,f=g.toLowerCase();return f===se.ListList.toLowerCase()||f===se.ListTree.toLowerCase()||h}function u(){var f;return e.dialog?{width:((f=e.dialog)==null?void 0:f.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function p(g){const{loadTreeDataType:h}=e;return h===ce.all||h==="default"&&(g==null?void 0:g.loadDataType)==="all"}function S(g){return(g==null?void 0:g.layerType)==="pathcode"}function F(){return e.enableCascade&&e.multiSelect}function T(){return t.openType==="Popup"}return{checkPaination:i,checkMultiSelect:l,checkColumnOptions:o,isDoubleList:r,getNavigationSize:u,isTreeList:d,navIsTreeList:s,navIsList:c,isLoadAll:p,isPathCodeTree:S,isEnableCascadeCheck:F,isDropdownMode:T}}function tt(t,n,e){var o;const i=a.ref(t.searchFields||[]),l=a.ref(((o=t.navigation)==null?void 0:o.searchFields)||[]);return a.watch(()=>n==null?void 0:n.searchFields,r=>{i.value=r}),a.watch(()=>e==null?void 0:e.searchFields,r=>{l.value=r}),{searchFieldItems:i,navSearchFieldItems:l}}function Et(t){const n=a.reactive({}),e=a.reactive({}),i=a.reactive({}),l=a.reactive({}),o=a.reactive({}),r=a.ref([]),d=a.ref(),s=a.reactive({}),c=a.ref(!1),u=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade"];function p(){u.forEach(S=>{s[S]=t[S]})}return p(),{pageInfoState:n,lookupState:e,navigationState:i,queryState:l,searchState:o,selectionState:r,unSelectDataId:d,lookupOptions:s,searchValueChanged:c}}const Se=a.ref(),fe="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function Vt(t,n){const e=a.inject("FLoadingService"),i=a.inject(Je),l=Et(t),{pageInfoState:o,lookupState:r,navigationState:d,lookupOptions:s,searchValueChanged:c}=l,{searchFieldItems:u,navSearchFieldItems:p}=tt(t,r,d),S=a.ref(t.idValue),F=a.ref(!1),T=()=>{var k;const m=(k=s.displayType)==null?void 0:k.toUpperCase();return m===se.Tree||m===se.TreeList},g=(m,k=!1)=>{if(m){const{layerType:B,dataField:R,parentField:U,pathField:W,layerField:Y,isDetailField:G,loadDataType:O}=m,X={layerType:B,dataField:R,parentField:U,pathField:W,layerField:Y,isDetailField:G,loadDataType:O},{onlySelectLeaf:b,loadTreeDataType:P}=s;X.onlySelectLeaf=b,X.loadDataType=P,k?s.navTreeInfo=Object.assign(s.navTreeInfo||{},X):s.treeInfo=Object.assign(s.treeInfo||{},X)}};function h(m,k){if(k==null||!k.trim())return[];const B=Array.from(new Set(k.trim().split(" ").filter(W=>W.trim())));if(!m||!B.length)return[];const R=(m||[]).map((W,Y)=>{const G=B.map((O,X)=>({filterField:W.value,value:O,lbracket:"",rbracket:"",relation:Pe.And,compare:Ae.Like}));return G.length&&(G.length>1&&(G[0].lbracket="(",G[G.length-1].rbracket=")"),G[G.length-1].relation=Pe.Or),G}).filter(W=>W.length);let U=[];return R&&R.length&&(U=ae.flatten(R),U.length>1&&(U[0].lbracket+="(",U[U.length-1].rbracket+=")"),U[U.length-1].relation=0),U}function f(){let{expandLevel:m}=s;return m&&!ae.isNaN(m)&&(m=m<-1?-1:m),m}function v(m,k){const B={};B.category=k;let R=null,U=null;if(m!=null&&m.search){const{field:W,value:Y,isNavigation:G,type:O}=m.search,X=O||"like";if(Y&&(B.searchValue=Y.trim()),B.searchField=W?W.trim():"*",B.searchType=X,G&&(B.category="navsearch"),!t.enableMultiFieldSearch&&B.searchField==="*"){const b=G?p.value:u.value,P=h(b,Y);P&&P.length&&(G?R=P:U=P),Y===""&&B.category==="search"&&!U&&!R&&(B.category="all")}}return T()&&(B.layerNum=f()),{searchParam:B,navSearchConditions:R,searchConditions:U}}function C(m){var B,R;if(m==="fav")return{pageIndex:1,pageSize:500};let k="default";return m==="navsearch"&&(k="navigation"),{pageIndex:((B=o[k])==null?void 0:B.index)||1,pageSize:((R=o[k])==null?void 0:R.size)||20}}function w(m){const k={},B=(m==null?void 0:m.action)||"all",{searchParam:R,navSearchConditions:U,searchConditions:W}=v(m,B);W&&(k.searchConditions=W),U&&(k.navSearchConditions=U),k.enableFullTree=t.enableFullTree,k.searchValue=JSON.stringify(R);const{pageIndex:Y,pageSize:G}=C(B);return k.pageIndex=Y,k.pageSize=G,k.treeToList=t.treeToList,k.navTreeToList=t.navTreeToList,s.loadTreeDataType===ce.default?k.loadTreeDataType="default":k.loadTreeDataType=s.loadTreeDataType===ce.all?"loadall":"layerload",m!=null&&m.relationFilter&&(k.relationFilter=[...m.relationFilter]),m!=null&&m.navNodePathCode&&(k.navPathCode=m.navNodePathCode),m.selectedInfo&&(k.selectedInfo=m.selectedInfo),k.customData=a.toRaw(Se.value),k}function V(m){return m==null?void 0:m.map(k=>(k.resizable=!0,k))}function L(m,k){return m.map(B=>{const R=k==null?void 0:k.find(U=>U.field.toLowerCase()===B.value.toLowerCase());return R&&(B.label=R.title),B})}function y(m){m.columns&&(m.columns=V(m.columns),m.searchFields&&(m.searchFields=L(m.searchFields,m.columns))),m.navigation&&m.navigation.columns&&(m.navigation.columns=V(m.navigation.columns),m.navigation.searchFields&&(m.navigation.searchFields=L(m.navigation.searchFields,m.navigation.columns)))}function E(){return s.loader||i&&i.getData.bind(i)}function _(m){const k=E();return k?k(s.uri,m).then(B=>(y(B),c.value=!1,B)):new Promise((B,R)=>{B({columns:[...t.columns],items:[...t.data],searchFields:[...t.searchFields],navigation:{...t.navigation}})})}function D(m){const k=f();return k===-1?!0:k===0?!1:m<=k}function I(m,k=!1,B="layer"){m.forEach(R=>{var U;R.collapse=k?!1:s.loadTreeDataType==="all"?!D(ve.resolveField(R.data,B)):!(R.expanded??!0),R.hasChildren=!R.leaf,(U=R.children)!=null&&U.length&&I(R.children,k,B)})}async function $(m,k){var U;const B=w(m),R=e==null?void 0:e.show();try{let W=await _(B);if(s.displayType!==W.displayType&&m.action!=="navsearch"&&(s.displayType=W.displayType),T()){const{items:Y,treeInfo:G}=W.navigation||W;if(s.loadDataType===ce.default&&(s.loadTreeDataType=(G==null?void 0:G.loadDataType)||ce.all),Y!=null&&Y.length&&G){const{dataField:O,layerField:X}=G;I(Y,!1,`${O}.${X}`)}}t.beforeLoadData&&(W=await t.beforeLoadData({data:W})),k(W)}finally{(U=R==null?void 0:R.value)==null||U.close()}}function M(m){F.value=m}function x(m,k){if(!k)return"";const{dataField:B,pathField:R}=k;return R?B?m[B][R]:ve.resolveField(m,R):""}function N(m){const k=[];return(m.selectable||m.selectable===void 0)&&k.push(m),m.children&&m.children.length&&m.children.forEach(B=>{k.push(...N(B))}),k}function Q(m,k=!1){var W;if(!(m!=null&&m.length))return m;const B=k?(W=s.navigation)==null?void 0:W.treeInfo:s.treeInfo,{dataField:R,layerField:U}=B||{};return R&&U&&I(m,!0,`${R}.${U}`),m}function oe(){try{const m=S.value;return m!==""&&m!=null?m:""}catch(m){return console.error("Error in getIdValues:",m),""}}function re(){let m=oe()||[];return Array.isArray(m)||(m=(""+m).split(t.separator)),{selectedIds:m,selected:!0}}return{includeChilds:F,updateIncludeChilds:M,idValues:S,getData:_,loadData:$,updateSearchFieldTitle:L,getPathCode:x,getChildNodes:N,lookupStates:l,httpService:i,lookupRequest:E,expandAllNodes:Q,getIdQueryParams:re,setTreeInfo:g,getFieldValue:ve.resolveField}}function nt(t,n){a.watch(()=>t.pagination,i=>{n.default=i}),a.watch(()=>{var i;return(i=t.navigation)==null?void 0:i.pagination},i=>{n.navigation=i});function e(i,l=!1){i&&(l?n.navigation={...n.navigation,...i}:n.default={...n.default,...i})}return{updatePageInfo:e}}const xe="F_LOOKUP_USER_DATA_SERVICE";function Nt(t,n){const e=a.inject("FLoadingService",null),{lookupStates:i,lookupRequest:l,httpService:o}=n,{lookupOptions:r}=i,d=a.computed(()=>{const T=r.userDataKey||t.id;return T?ve.encrypt(T):""}),s=a.reactive({key:d.value,data:{}});function c(){return o?o.getSettings(s.key).then(T=>(T&&T.textValue?s.data=JSON.parse(T.textValue):s.data={},t.enableUserData||(s.data.tabIndex=ne.dataList),T)):Promise.resolve()}function u({width:T,height:g}){var h;s.data.size=((h=s.data)==null?void 0:h.size)||{},s.data.size={width:T,height:g}}function p(T=!1){if((t.enableUserData||T)&&o){const{key:g,data:h}=s,f={configkey1:g,configkey2:"",configkey3:"",textvalue:JSON.stringify(h)};return o==null?void 0:o.updateSettings(g,f)}return Promise.resolve()}function S(T){const g={category:"fav",favoriteIds:T.favoriteIds};return{searchValue:JSON.stringify(g),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function F(){var f;const T=S({favoriteIds:(f=s.data)==null?void 0:f.favorites}),g=e==null?void 0:e.show(),h=l();return h?h(r.uri,T).then(v=>{var C;return(C=g.value)==null||C.close(),s.favoriteItems=v&&v.items||[],v}):Promise.resolve()}return{userDataState:s,setDialogSize:u,saveUserData:p,getFavoriteData:F,getUserData:c}}const ye=Symbol("FARRIS_LOOKUP_LOCALES");function Mt(t){const{t:n}=ht.useI18n();function e(c,u,p){return c===u?n(p):c}const i=e(t.placeholder,"请选择","lookup.placeholder"),l={datalist:n("lookup.datalist")||"数据列表",favorite:n("lookup.favorites")||"收藏夹"},o={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")||"请输入关键字后查询。"},d={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")||"全部"},placeholder:i,tree:d,messages:r,tabs:l,buttons:o}}function Re(t,n){const e=a.inject(Ve.F_NOTIFY_SERVICE_TOKEN),i=a.inject(xe),l=a.inject(ye),{userDataState:o}=i;o.data=o.data||{};const r="_favorite_",d=a.ref(!1);function s({id:f,data:v},C="add"){var V,L;if(f==null&&f==="")return;const w=f;o.data.favorites=((V=o.data)==null?void 0:V.favorites)||[],o.favoriteItems=o.favoriteItems||[],C==="add"?(d.value=!1,o.data.favorites=Array.from(new Set([...((L=o.data)==null?void 0:L.favorites)||[],w])),o.favoriteItems=[...o.favoriteItems,v]):(d.value=!0,o.data.favorites=o.data.favorites.filter(y=>y!==w),o.favoriteItems=o.favoriteItems.filter(y=>y[n]!==w)),i==null||i.saveUserData(!0).then(y=>{const E=C==="add"?l.messages.addedFavSuccess:l.messages.cancelFavSuccess;e==null||e.success({message:E,position:"top-center"})})}function c(f){return f?f.raw[n]:""}const u=a.computed(()=>f=>{var C,w;const v=c(f);return(w=(C=o.data)==null?void 0:C.favorites)==null?void 0:w.includes(v)});function p(f,v,C){f.stopPropagation();const w=c(v);s({id:w,data:v.raw},u.value(v)?"remove":"add")}const S=f=>u.value(f)?l.buttons.removeFav:l.buttons.addFav,F=(f,v)=>a.createVNode("button",{type:"button",onClick:C=>{p(C,v)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":u.value(v)}],style:"color: #ffbd8c;",title:S(v)},null),T=(f,v)=>v.disabled?"":F(f,v),g={field:r,title:"",width:50,fixed:"right",align:"center",formatter:F};function h(f,v,C=!1){const w=ae.cloneDeep(v);t.enableFavorite&&(g.formatter=C?T:F,w.push(g)),f==null||f.updateColumns(w)}return{favorite:g,removeFavoriteItem:d,setColumns:h}}function ze(t,n,e,i){const{selectionState:l,unSelectDataId:o,lookupOptions:r}=e,d=a.computed(()=>!(l.value&&l.value.length));i&&a.watch(()=>i.value,(s,c)=>{var u;if(s===ne.dataList&&s!==c&&!d.value){const p=l.value.map(S=>S[r.idField]);(u=n.value)==null||u.selectItemByIds(p)}}),a.watch(d,(s,c)=>{var u;s&&((u=n.value)==null||u.clearSelection())}),t.showSelections&&r.multiSelect&&a.watch(o,s=>{var c;s&&((c=n.value)==null||c.unSelectItemByIds(s))})}const be=Symbol("LOOKUP_SELECTIONS_MANAGER");function it(t,n){const{selectionState:e,unSelectDataId:i,lookupOptions:l}=n,o=a.computed(()=>l.idField);function r(f){return f[o.value]}function d(){let f=new Map;return e.value&&e.value.length&&(f=new Map(e.value.map(v=>[v[o.value],v]))),f}function s(){e.value=[]}function c(){return e.value||[]}function u(){return e.value.map(f=>f[o.value])}function p(f){if(!f)return;if(!o.value){console.error("idField is required");return}const v=Array.isArray(f)?f:[f],C=d();v.forEach(w=>{C.delete(w)}),e.value=Array.from(C.values()),i.value=v}function S(f){return d().has(f)}function F(f,v=!0){if(!f)return;if(!o.value){console.error("idField is required");return}const C=Array.isArray(f)?f:[f];if(!C.length)return;if(!C.every(L=>o.value in L)){console.error("Some items do not have the specified idField:",o.value);return}const w=C.map(L=>L[o.value]);if(!l.multiSelect){if(w.length&&S(w[0]))return;s()}const V=d();if(v){const L=new Map(C.map(y=>[y[o.value],y]));w.forEach(y=>{V.has(y)||V.set(y,L.get(y))})}else w.forEach(L=>{V.delete(L)});e.value=Array.from(V.values())}function T(f){if(!f||!f.length)return;const v=f.map(C=>C.data);F(v)}function g(f){if(f){const v=f.raw[o.value];p(v)}}function h(f){!f||!f.length||p(f)}return{updateSelections:F,clearSelections:s,getSelectionIds:u,getSelections:c,unSelectionsByIds:p,selectTreeNodes:T,unSelectTreeNode:g,unSelectTreeNodes:h,isSelected:S,getPrimaryKey:r}}function at(t,n){const{getSelectionIds:e}=it(t,n),{lookupOptions:i}=n;function l(d,s){d==null||d.updateDataSource(s||[])}function o(d){const s=e();if(s&&s.length){if(i.multiSelect){d==null||d.selectItemByIds(s);return}d==null||d.activeRowById(s[0])}}function r(d,s){l(d,s),o(d)}return{loadData:l,selectItemByIds:o,loadAndSelect:r}}function ot(t,n,e){const i=a.inject(me,a.ref(ne.dataList)),l=a.inject(fe),o=a.inject(be),{lookupStates:r,loadData:d,includeChilds:s,getPathCode:c,getChildNodes:u}=l,{lookupState:p,navigationState:S,pageInfoState:F,searchState:T,lookupOptions:g}=r,{checkPaination:h,checkMultiSelect:f,checkColumnOptions:v,navIsTreeList:C,isLoadAll:w,isPathCodeTree:V}=he(t,r),{updatePageInfo:L}=nt(t,F),{updateSelections:y,isSelected:E,getPrimaryKey:_}=o,{loadAndSelect:D}=at(t,r),I=h(t.pagination),$=f(),M=v(),x=a.ref(),N=a.ref([]),{navSelectedItems:Q,getNavigationIdField:oe,getRelationFilter:re}=e;L(I);const m=a.ref(F.default),{setColumns:k}=Re(t,g.idField);a.watch(()=>F.default,q=>{var J;m.value=q,(J=x.value)==null||J.updatePagination(q)}),ze(t,x,l.lookupStates,i);function B(q,J,te){const ie={total:J};if(te){const{pageIndex:de,pageSize:$e,enablePager:A,pageList:le}=te;Object.assign(ie,{index:de,size:$e,enable:A})}else ie.enable=!1;L(ie),D(x.value,q||[])}const R=a.computed(()=>{var de;if(!((de=Q.value)!=null&&de.length))return null;const q=Q.value,J={relationFilter:re(q)};if(!C()||!s.value)return J;const{treeInfo:te}=S,ie={action:"navAllChildren",...J};return V(te)?Object.assign(ie,{navNodePathCode:c(q[0].data,te)}):ie}),U=a.watch([()=>p==null?void 0:p.columns,()=>p==null?void 0:p.items,()=>p==null?void 0:p.pageInfo,()=>p==null?void 0:p.total,()=>p==null?void 0:p.selectedData],([q,J,te,ie,de])=>{x.value&&(q&&k(x.value,q),de&&de.length&&y(de),J&&B(J,ie||0,te))});a.watch(()=>t.idValue,q=>{N.value=q.split(t.separator)});function W(q){if(q&&q.length&&!g.multiSelect){const J=_(q[0]);if(E(J))return}y(q),n.emit("selectionsChanged",{items:q})}function Y(q){y(q==null?void 0:q.raw,!1)}function G(){const q={search:T.default,action:"list"};t.openType==="Modal"&&R.value&&Object.assign(q,R.value),d(q,J=>{B(J.items,J.total||0,J.pageInfo)})}const O=ae.throttle(()=>{L({index:1}),G()},200),X=a.watch(()=>Q==null?void 0:Q.value,q=>{if(g.uri){O();return}const J=q.map(te=>te[oe()]);n.emit("navSelectionsChanged",{items:q,ids:J})}),b=a.watch(()=>T.default,q=>{if(g.uri){O();return}n.emit("search",q)}),P=a.watch(()=>s.value,()=>{if(g.uri&&Q.value&&Q.value.length){O();return}});function z(){U(),X(),b(),P()}a.watch(()=>g.displayType,q=>{q.toLowerCase()==="treelist"&&z()});function H({pageSize:q,pageIndex:J}){var de;let te=J;((de=m.value)==null?void 0:de.size)!==q&&(te=1);const ie={size:q,index:te,isNavigation:!1};if(L(ie),g.uri){G();return}n.emit("pageSizeChanged",ie)}function K(){return a.createVNode(Fe.FDataGrid,{ref:x,class:"lookup-datagrid",pagination:m.value,summary:{enable:!1},columnOption:M,idField:g.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:$,selectionValues:N.value,onSelectionChange:W,onUnSelectItem:Y,onChanged:H},null)}return{datagridRef:x,selectionValues:N,renderDataGrid:K,unwatches:z}}const Te=Symbol("LOOKUP_TREEROW_OPTIONS"),lt={cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1},collapseField:"collapse",hasChildrenField:"hasChildren"};function rt(t,n=!1){function e(i){(i.raw.addtional||i.raw.selectable===!1)&&(i.disabled=!0);const l=n?t.navTreeInfo:t.treeInfo;return l!=null&&l.onlySelectLeaf&&(i.disabled=!i.raw.leaf),i}return{customRowStatus:e}}function st(t,n){const{lookupState:e,lookupOptions:i}=t;function l(h,f,v){return h.reduce((C,w)=>{var V;if(w.parents=[],f){const L=ae.get(f.data,i.idField);w.parent=f,w.parents=[...v||[],L]}return w.id=ae.get(w,i.idField),C.push(w),(V=w.children)!=null&&V.length&&C.push(...l(w.children,w,w.parents)),C},[])}function o(h){var f;return(f=e==null?void 0:e.flattenTreeNodes)==null?void 0:f.find(v=>v.id===h)}function r(h){var f;return((f=e==null?void 0:e.flattenTreeNodes)==null?void 0:f.filter(v=>{var C;return(C=v.parents)==null?void 0:C.includes(h)}))??[]}function d(h){var v;if(!h)return[];const f=o(h);return((v=f==null?void 0:f.parents)==null?void 0:v.map(C=>o(C)))??[]}function s(h){var w;if(!h)return[];const f=o(h),v=((w=f==null?void 0:f.parents)==null?void 0:w.map(V=>o(V)))??[],C=r(h);return[...v,...C]}function c(h,f=!0){const v=d(h).filter(w=>{var V;return!((V=w.children)!=null&&V.some(L=>{var y;return(y=t.selectionState.value)==null?void 0:y.some(E=>E[i.idField]===L.id)}))}),C=f?[]:r(h);return v.concat(C)}function u(h,f,v=!0){var w;const C={down:()=>r(h),up:()=>v?d(h):c(h),both:()=>v?s(h):c(h,!1)};return((w=C[f])==null?void 0:w.call(C))??[]}function p(h,f={},v=!1){const{field:C="*",value:w=""}=f,V=!!w,{layerType:L,dataField:y,pathField:E,layerField:_}=v?i.navTreeInfo:i.treeInfo,D=L==="parentId",I={category:v?"navchildren":"children",searchField:C,searchValue:w,searchType:"like"};if(D)I.parentId=h.raw.id;else{const M=h.raw[y];I.parentPath=ae.get(M,E),I.parentLayer=ae.get(M,_)}const $={searchValue:"",customData:Se.value,enableFullTree:i.enableFullTree,loadTreeDataType:i.loadTreeDataType==="all"?"loadall":"layerload"};return V&&($.enableFullTree=!1,$.loadTreeDataType="layerload",D&&(I.searchValue="",I.searchField="*")),$.searchValue=JSON.stringify(I),$}function S(h,f=!1){const{isEnableCascadeCheck:v}=n,{layerType:C}=f?i.navTreeInfo:i.treeInfo,w=i.loadTreeDataType!=="all"&&C==="pathcode"&&v()&&(i.cascadeValue==="both"||i.cascadeValue==="down");return h?h.data&&!h.leaf&&w:w}function F(h){const{dataField:f,pathField:v}=i.treeInfo,C=h.data[f],w=ae.get(C,v);return{searchValue:JSON.stringify({category:"allChildren"}),parentsIds:[w],customData:Se.value}}function T(h,f){let v=h,C=null;for(const w of f){const V=v.find(L=>L.data.id===w);if(!V)return null;C=V,v=V.children||[]}return C}function g(h,f,v){var E;if(!v)return;const C=o(f),w=[...(C==null?void 0:C.parents)??[],f],V=(h??[]).map(_=>({..._,hasChildren:!_.leaf,parents:[...w]})),L=T(e.flattenTreeNodes||[],w);L&&(L.children=[...V],(E=e.flattenTreeNodes)==null||E.push(...V));const{isDropdownMode:y}=n;a.nextTick(()=>{var I;if(v.addChildrenToNode(V,f),y())return;const _=((I=t.selectionState.value)==null?void 0:I.map($=>$[i.idField]))??[],D=V.filter($=>_.includes($.id)).map($=>$.id);D.length&&v.selectItemByIds(D)})}return{flattenTreeNodes:l,getParents:d,getChildren:r,getParentsAndChildren:s,getTreeNodeWithCascadeValue:u,buildGetChildrenQueryParams:p,needGetAllChildNodes:S,buildGetAllChildrenQueryParams:F,loadChildNodes:g}}function dt(t,n){const e=a.inject(me,a.ref(ne.dataList)),i=a.inject(fe),{lookupStates:l}=i,{lookupState:o,searchState:r,lookupOptions:d}=l,s=a.inject(Te),c=a.inject(be),u=he(t,l),{checkMultiSelect:p,checkColumnOptions:S,isEnableCascadeCheck:F}=u,{setColumns:T}=Re(t,d.idField),{selectTreeNodes:g,unSelectTreeNode:h,unSelectTreeNodes:f,updateSelections:v,getSelectionIds:C}=c,w=p(),V=S(),L=a.ref(),y=a.ref([]),{loadAndSelect:E}=at(t,l),{loadData:_,expandAllNodes:D,getData:I}=i,{flattenTreeNodes:$,getTreeNodeWithCascadeValue:M,buildGetChildrenQueryParams:x,needGetAllChildNodes:N,buildGetAllChildrenQueryParams:Q,loadChildNodes:oe}=st(l,u);function re(b,P=!1){P&&(b=D(b)),o.flattenTreeNodes=$(b||[]),E(L.value,b||[])}ze(t,L,l,e);const m=a.watch([()=>o==null?void 0:o.columns,()=>o==null?void 0:o.items,()=>o==null?void 0:o.pageInfo,()=>o==null?void 0:o.total,()=>o==null?void 0:o.selectedData],([b,P,z,H,K])=>{L.value&&(K&&K.length&&v(K),b&&T(L.value,b,!0),re(P||[],o.action==="search"))});function k(b,P=!0){const{cascadeValue:z}=d;return F()&&z!==Oe.Disable?M(b,z,P).filter(K=>K.selectable||K.selectable===void 0).map(K=>K.id):[]}function B(b){g(b),n.emit("selectionsChanged",{items:b})}function R(b){h(b);const P=ae.get(b.raw,d.idField),z=k(P);if(N(b.raw)){const H=Q(b.raw);I(H).then(K=>{const J=(K.items||[]).filter(ie=>!ie.addtional&&(ie.selectable||ie.selectable===void 0));J&&J.length&&g(J);const te=(J||[]).map(ie=>ie.id);f([P,...z,...te])})}else f([P,...z])}function U(b){const P=ae.get(b.raw,d.idField),z=k(P);if(z.length&&L.value.selectItemByIds([P,...z]),N(b.raw)){const H=Q(b.raw);I(H).then(K=>{const J=(K.items||[]).filter(te=>!te.addtional&&(te.selectable||te.selectable===void 0));J&&J.length&&g(J)})}}function W(b="list"){_({search:r.default,action:b},P=>{re(P.items,b==="search")})}const Y=a.watch(()=>r.default,b=>{if(d.uri){W("search");return}n.emit("search",b)});function G(){m(),Y()}a.watch(()=>d.displayType,b=>{b.toLowerCase()!=="treelist"&&G()});function O(b){if(L.value.hasChildren(b))return Promise.resolve();const P=b.raw.id,z=x(b,r.default);return I(z).then(H=>{oe((H==null?void 0:H.items)??[],P,L.value)})}function X(){return a.createVNode(Me.FTreeGrid,{class:"lookup-treegrid",ref:L,fit:!0,data:t.data,idField:d.idField,columns:t.columns,rowNumber:{enable:!1},columnOption:V,selection:w,showBorder:!0,virtualized:!0,displayField:"code",rowOption:s,hierarchy:lt,onSelectionChange:B,onUnSelectItem:R,onSelectItem:U,loadData:O},null)}return{treegridRef:L,selectionTreeValues:y,renderTreeGrid:X,unwatches:G}}const Ot={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0},isNavigation:{type:Boolean,default:!1},id:{type:String,default:""}},Dt=a.defineComponent({name:"FLookupSearchBar",props:Ot,emits:["search"],setup(t,n){const e='<i id="'+t.id+'-icon-search" class="f-icon f-icon-search"></i>',i=a.inject(fe),{queryState:l}=i.lookupStates,o=a.ref(t.fields||[]),r=a.ref(""),d=a.ref(l.value),s=a.ref(t.isNavigation),c=a.ref(),u=a.computed(()=>({field:r.value,value:d.value,isNavigation:s.value}));function p(){if(!o.value.length)return;let h="";t.showAllColumns&&(h="*"),h=o.value[0].value;const f=o.value.find(v=>!!v.isDefault);f&&(h=f.value),r.value=h}a.watch(()=>t.fields,h=>{o.value=h,p()});function S(){n.emit("search",u.value)}const F=ae.debounce(()=>S(),300);function T(){d.value="",S()}function g(h){h.key==="Enter"&&F()}return a.onMounted(()=>{p(),s.value&&(d.value="")}),()=>a.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[a.createVNode("div",{style:"width: 160px;"},[a.createVNode(Ge.FComboList,{ref:c,data:o.value,textField:"label",valueField:"value",idField:"value",modelValue:r.value,"onUpdate:modelValue":h=>r.value=h,enableClear:!1},null)]),a.createVNode("div",{class:"f-utils-fill ml-2"},[a.createVNode(We.FButtonEdit,{buttonContent:e,maxLength:200,modelValue:d.value,"onUpdate:modelValue":h=>d.value=h,onClickButton:S,enableClear:!0,onClear:T,onKeyup:g,popupOnClick:!0,id:t.id+"-search-bar"},null)])])}});function _e(t,n,e,i){const{lookupState:l,searchState:o,navigationState:r}=e,{searchFieldItems:d,navSearchFieldItems:s}=tt(t,l,r),c=a.ref([]),u=a.ref([]);function p(g,h=!1){let f=g;t.searchAnyField&&(f=[{label:i.searchColumns.allColumns||"所有列",value:"*"}].concat(g)),h?u.value=f:c.value=f}p(d.value),p(s.value,!0),a.watch(()=>d.value,g=>{p(g)}),a.watch(()=>s.value,g=>{p(g,!0)});function S(g){const h={...g};if(n){o.navigation=h;return}o.default=h}const F=a.computed(()=>n?u.value||[]:c.value||[]);function T(){if(t.enableSearchBar&&F.value.length>0)return a.createVNode("div",{class:"p-2"},[a.createVNode(Dt,{fields:F.value,id:t.id,showAllColumns:t.searchAnyField,isNavigation:n,onSearch:S},null)])}return{renderSearchBar:T}}function Bt(t,n){var G;const e=a.inject(Te),i=a.inject(fe),l=a.inject(ye),{loadData:o,lookupStates:r,expandAllNodes:d,getFieldValue:s,getData:c}=i,{navigationState:u,pageInfoState:p,searchState:S,lookupOptions:F}=r,{renderSearchBar:T}=_e(t,!0,r,l),g=he(t,r),{checkPaination:h,navIsList:f,navIsTreeList:v}=g,{updatePageInfo:C}=nt(t,p),w=a.ref([]),{buildGetChildrenQueryParams:V,loadChildNodes:L}=st(r,g);if(f()){const O=h((G=t.navigation)==null?void 0:G.pagination);C(O,!0)}const y=a.ref(p.navigation),E={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,keepSelectingOnClick:!1},_={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},D=a.ref(),I=a.ref(),$=a.ref("id");a.watch(()=>p.navigation,O=>{var X;y.value=O,(X=I.value)==null||X.updatePagination(O)});function M(O,X,b){var P,z,H;if(O=O||[],f()){const K={total:X};if(b){const{pageIndex:q,pageSize:J,enablePager:te,pageList:ie}=b;Object.assign(K,{index:q,size:J,enable:te})}C(K,!0),(P=I.value)==null||P.updateDataSource(O)}else v()&&((z=S.navigation)!=null&&z.value&&(O=d(O,!0)),(H=D.value)==null||H.updateDataSource(O))}function x(O){var X,b;f()?(X=I.value)==null||X.updateColumns(O):v()&&((b=D.value)==null||b.updateColumns(O))}a.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],([O,X,b,P])=>{O&&x(O),M(X,P||0,b)}),a.watch(()=>u==null?void 0:u.idField,O=>{$.value=O||"id"});function N(O){w.value=O}function Q(O){w.value=O}function oe(){o({search:S.navigation,action:"navsearch"},O=>{M(O.items,O.total||0,O.pageInfo)})}a.watch(()=>S.navigation,O=>{if(F.uri){C({index:1},!0),oe();return}n.emit("search",O)});function re({pageSize:O,pageIndex:X}){var z;let b=X;((z=y.value)==null?void 0:z.size)!==O&&(b=1);const P={size:O,index:b};if(C(P,!0),F.uri){oe();return}n.emit("pageSizeChanged",P)}function m(O){if(D.value.hasChildren(O))return Promise.resolve();const X=O.raw.id,b=V(O,S.navigation,!0);return c(b).then(P=>{L((P==null?void 0:P.items)??[],X,D.value)})}function k(){return a.createVNode(Me.FTreeGrid,{ref:D,fit:!0,idField:$.value,rowNumber:{enable:!1},columnOption:_,selection:E,virtualized:!0,showBorder:!0,rowOption:e,hierarchy:lt,onSelectionChange:N,loadData:m},null)}function B(){return a.createVNode(Fe.FDataGrid,{ref:I,pagination:y.value,summary:{enable:!1},columnOption:_,idField:$.value,rowNumber:{enable:!1},showBorder:!0,fit:!0,virtualized:!0,selection:E,onSelectionChange:Q,onChanged:re},null)}function R(){if(v())return k();if(f())return B()}function U(){return a.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[T(),a.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[R()])])}function W(){return $.value}function Y(O){return u.relations&&u.relations.length?u.relations.map(b=>{const{groupField:P,helpField:z}=b,H={fieldName:z,fieldValue:""},K=O.map(q=>s(q,P));return H.fieldValue=K.join(","),H}):""}return{renderNavigation:U,selectedItems:w,getNavigationIdField:W,getRelationFilter:Y}}function At(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!a.isVNode(t)}const jt=a.defineComponent({name:"LookupContainer",props:Ce,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch"],setup(t,n){a.inject(me,a.ref(ne.dataList));const e=a.inject(fe),i=a.inject(ye),{lookupStates:l,getIdQueryParams:o}=e,{lookupState:r,navigationState:d,queryState:s,lookupOptions:c}=l,{renderSearchBar:u}=_e(t,!1,l,i),{isDoubleList:p,getNavigationSize:S,isTreeList:F}=he(t,l),{renderNavigation:T,selectedItems:g,getNavigationIdField:h,getRelationFilter:f}=Bt(t,n),{renderTreeGrid:v,unwatches:C}=dt(t,n),{renderDataGrid:w,unwatches:V}=ot(t,n,{navSelectedItems:g,getNavigationIdField:h,getRelationFilter:f}),L=a.computed(()=>F()?v:w),y=S();function E(I){var M;const $=(M=c.dialog)==null?void 0:M.title;$&&$!==De&&(I=$),n.emit("changeDialogOptions",{title:I})}function _(I,$){r.action=$,F()?V():C(),I.navigation&&(Object.keys(I.navigation).forEach(M=>{var x;d[M]=(x=I.navigation)==null?void 0:x[M]}),I.navigation.treeInfo&&(e==null||e.setTreeInfo(I.navigation.treeInfo,!0)),delete I.navigation),I.treeInfo&&(e==null||e.setTreeInfo(I.treeInfo)),Object.keys(I).forEach(M=>{r[M]=I[M]})}function D(){const I={};t.enableToSelect&&(I.selectedInfo=o(),s.value!=null&&(I.search={field:"*",value:s.value,type:"like"},I.action="search")),e==null||e.loadData(I,$=>{a.nextTick(()=>{_($,(I==null?void 0:I.action)||""),E($.title||"")})})}return a.onMounted(()=>{D(),document.body.classList.add("lookup-modal-open")}),a.onUnmounted(()=>{document.body.classList.remove("lookup-modal-open")}),()=>{let I;return a.createVNode(Ne.FLayout,null,{default:()=>[p()&&t.showNavigation&&a.createVNode(Ne.FLayoutPane,{position:"left",width:y==null?void 0:y.width,minWidth:y==null?void 0:y.minWidth},At(I=T())?I:{default:()=>[I]}),a.createVNode(Ne.FLayoutPane,{position:"center"},{default:()=>[a.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[u(),a.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[L.value()])])]})]})}}}),Ut={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}},Rt=a.defineComponent({name:"FLookupFavorite",props:Ut,setup(t,n){const e=a.inject(Te),{userDataState:i,getFavoriteData:l}=a.inject(xe),o=a.inject(me,a.ref(ne.dataList)),r=a.inject(be),d=a.inject(fe),{lookupStates:s,expandAllNodes:c}=d,u=a.computed(()=>s.lookupOptions.idField||"id"),p=a.ref(t.selectedIds),{setColumns:S,removeFavoriteItem:F}=Re(t,u.value),{isTreeList:T}=he(t,s),{updateSelections:g,unSelectTreeNode:h,selectTreeNodes:f}=r,v=a.ref(),C=a.ref(),w=a.computed(()=>T()?C.value:v.value);ze(t,w,s);function V(){return i.data&&i.data.favorites&&i.data.favorites.length}function L(N){w.value.clearSelection(),N&&N.length&&w.value.selectItemByIds(N)}a.watch(()=>t.selectedIds,(N,Q)=>{JSON.stringify(N)!==JSON.stringify(Q)&&(p.value=N,p.value.length?L(p.value):w.value.clearSelection())});function y(N,Q){Q&&Q.length&&S(w.value,Q,T()),N&&(T()&&(N=c(N)),w.value.updateDataSource(N||[])),L(p.value||[])}function E(){l().then(N=>{N?y(N.items||[],N.columns):y([],null)})}a.watch(()=>o.value,(N,Q)=>{var oe;N===ne.favorite&&(V()?E():y([],(oe=s.lookupState)==null?void 0:oe.columns))}),a.watch(()=>F.value,(N,Q)=>{o.value===ne.favorite&&N&&(T()?E():y(i.favoriteItems||[],null),F.value=!1)});const _={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},D={enableSelectRow:!0,multiSelect:t.multiSelect,showCheckbox:t.multiSelect,multiSelectMode:"OnCheckAndClick"};function I(N){T()?f(N):g(N)}function $(N){T()?h(N):g(N==null?void 0:N.raw,!1)}function M(){return a.createVNode(Me.FTreeGrid,{ref:C,fit:!0,idField:u.value,rowNumber:{enable:!1},columnOption:_,selection:D,showBorder:!0,virtualized:!0,rowOption:e,onSelectionChange:I,onUnSelectItem:$},null)}function x(){return a.createVNode(Fe.FDataGrid,{ref:v,pagination:{enable:!1},summary:{enable:!1},columnOption:_,idField:u.value,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:D,onSelectionChange:I,onUnSelectItem:$},null)}return()=>T()?M():x()}}),zt={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:{}}},_t={idField:{type:String,default:"id"},parentRef:{type:HTMLElement,default:null},popoverOffsetX:{type:Number,default:0}},$t=a.defineComponent({props:_t,setup(t,n){const e=a.inject("FMessageBoxService"),i=a.inject(be),l=a.inject(fe),{lookupState:o,selectionState:r}=l.lookupStates,d=a.inject(ye),{clearSelections:s,unSelectionsByIds:c}=i,u=a.ref(),p=a.computed(()=>u),S=a.ref(),F=a.ref(t.popoverOffsetX||-15);a.watch(()=>t.popoverOffsetX,M=>{F.value=M});const T=a.computed(()=>F.value===-15?10:100),g=a.ref(t.parentRef),h="_remove_selected_";function f(M,x,N){M.stopPropagation();const Q=x.raw[t.idField];c(Q)}const v={field:h,title:"",width:50,fixed:"right",align:"center",formatter:(M,x)=>a.createVNode("button",{type:"button",onClick:N=>{f(N,x)},class:"btn btn-link f-icon f-icon-x p-0",style:"color: #dd2438;"},null)},C=a.computed(()=>{const M=ae.cloneDeep((o==null?void 0:o.columns)||[]);if(M.length)return M.push(v),M});a.watch(()=>t.parentRef,M=>{g.value=M});const w={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},V={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,showSelectAll:!1,multiSelectMode:"OnCheckAndClick"},L=a.ref({width:"0px",height:"0px"});let y;function E(){var oe,re;const M=((oe=g.value)==null?void 0:oe.offsetHeight)-100,x=200,N=r.value.length*28+60,Q=N>M?M:N<x?x:N;L.value={width:((re=g.value)==null?void 0:re.offsetWidth)-20+"px",height:Q+"px"}}a.watch(()=>S.value,M=>{M&&(M.updateColumns(C.value),M.updateDataSource(ae.cloneDeep(r.value||[])),E())}),a.watch(()=>r.value,M=>{var x;(x=S.value)==null||x.updateDataSource(ae.cloneDeep(M||[]),{keepScrollTop:!0})}),a.watch(()=>g.value,M=>{y=new ResizeObserver(()=>{g.value&&E()}),y.observe(g.value)});const _=a.computed(()=>(r.value||[]).length>0),D=a.computed(()=>({display:"flex","align-items":"center",opacity:_.value?1:.4,cursor:_.value?"pointer":"not-allowed",pointerEvents:_.value?"auto":"none"}));function I(){const M=d==null?void 0:d.messages.clearSelections;e==null||e.question(M,"",()=>{s()})}a.onMounted(()=>{E()}),a.onUnmounted(()=>{y&&g.value&&y.unobserve(g.value)});function $(){var M;(M=p.value)==null||M.value.hide()}return n.expose({hidePopup:$}),()=>a.createVNode(a.Fragment,null,[a.createVNode("div",{class:"d-flex flex-row align-items-center",style:"line-height:24px"},[a.withDirectives(a.createVNode("div",{style:D.value,innerHTML:d.buttons.selectionTotal(r.value.length)},null),[[a.resolveDirective("popover"),p.value,"toggle"]]),_.value&&a.createVNode("button",{class:"btn btn-link btn-sm p-0 pl-2",style:"line-height:24px",onClick:I},[d.buttons.clear])]),a.createVNode(gt,{id:"lookup-selected-popover",customStyles:{filter:"drop-shadow(#c5c5c5 0px 0px 6px)"},offsetX:F.value,arrowOffsetX:T.value,ref:u,placement:"top-left",keepWidthWithReference:!1,fitContent:!0},{default:()=>{var M;return[a.createVNode("div",{style:L.value},[((M=u.value)==null?void 0:M.isShow)&&a.createVNode(Fe.FDataGrid,{ref:S,pagination:{enable:!1},summary:{enable:!1},columnOption:w,idField:t.idField,rowNumber:{enable:!1},showBorder:!1,virtualized:!0,fit:!0,selection:V},null)])]}})])}}),qt=a.defineComponent({props:{modelValue:{type:Boolean,default:!1},label:{type:String,default:"包含下级"}},emits:["update:modelValue"],setup(t,n){const e=a.ref(t.modelValue);function i(l){l.stopPropagation(),e.value=!e.value,n.emit("update:modelValue",e.value)}return()=>a.createVNode("div",{class:"custom-control custom-checkbox mb-0",onClick:i},[a.withDirectives(a.createVNode("input",{id:"lookup-include-childs-input","onUpdate:modelValue":l=>e.value=l,title:"checkbox-input",type:"checkbox",class:"custom-control-input"},null),[[a.vModelCheckbox,e.value]]),a.createVNode("label",{class:"custom-control-label",style:"padding-left: 1.2rem;"},[t.label])])}}),Wt=a.defineComponent({name:"FLookupCascadeSelector",props:["modelValue"],emits:["update:modelValue"],setup(t,n){const e=a.inject(ye),i=a.ref(),l=a.ref(t.modelValue);return a.watch(()=>l.value,(o,r)=>{o!==r&&n.emit("update:modelValue",o)}),Ie.forEach(o=>{o.text=e.tree[o.value]}),()=>a.createVNode("div",{style:"width: 130px",class:"ml-3"},[a.createVNode(Ge.FComboList,{ref:i,data:Ie,textField:"text",valueField:"value",idField:"value",modelValue:l.value,"onUpdate:modelValue":o=>l.value=o,enableClear:!1,minPanelWidth:130,placement:"top-left"},null)])}}),Gt=a.defineComponent({name:"FLookupModalContainer",props:zt,emits:["closeModal","maximize"],setup(t,n){const e=a.ref(ne.dataList);a.provide(me,e),a.provide(fe,t.useHttpComposition),a.provide(xe,t.userDataService),a.provide(be,t.selectionsManager),a.provide(ye,t.locales);const{tabs:i,buttons:l,tree:o}=t.locales,r=a.reactive(t.showIncludeChildNodes),d=a.ref(r.value),{lookupOptions:s}=t.useHttpComposition.lookupStates,c=s.dialog,u=a.computed(()=>s.displayType.toUpperCase()===se.TreeList),p=rt(s,u.value);a.provide(Te,p);const S=a.ref(t.isMaximized);a.watch(()=>t.isMaximized,(x,N)=>{S.value=x});const F=a.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:S.value}));a.ref();const T=a.computed(()=>r.show&&e.value===ne.dataList&&s.displayType&&u.value),g=a.computed(()=>T.value?-99:-15);a.watch(()=>d.value,(x,N)=>{t.useHttpComposition.updateIncludeChilds(x)}),a.watch(()=>t.showIncludeChildNodes,(x,N)=>{r.value=x,t.useHttpComposition.updateIncludeChilds(x.value)});const{userDataState:h}=t.userDataService,{cancelDialog:f,submitDialog:v}=t.useDialog,C=a.ref(),w=a.ref();function V(x){n.emit("maximize",x)}function L(x){n.emit("closeModal",x)}async function y(x){await v()&&L(x)}async function E(x){await f()&&L(x)}function _(x){e.value=x,h.data.tabIndex=x}const D=a.computed(()=>({transform:`translate3d(${e.value===ne.favorite?84:0}px, 0px, 0px)`})),I=a.computed(()=>x=>({visibility:e.value===x?"visible":"hidden",position:"absolute",top:0,transition:"all 0.3s ease-in",opacity:e.value===x?1:0})),$=a.computed(()=>{const x=t.enableFavorite?"50%":"100%",N=t.enableFavorite?100:80,Q=c.showMaxButton||c.showCloseButton?N:0;return{maxWidth:`calc(${x} - ${Q}px)`}});function M(x){x.stopPropagation(),document.body.click()}return a.onMounted(()=>{var x;h.data.favorites&&h.data.favorites.length&&(e.value=((x=h.data)==null?void 0:x.tabIndex)||ne.dataList),T.value&&t.useHttpComposition.updateIncludeChilds(d.value)}),()=>a.createVNode("div",{class:"d-flex flex-column h-100 lookup-modal",ref:C},[a.createVNode("div",{class:"d-flex justify-content-between align-items-center px-3 lookup-modal-header"},[a.createVNode("div",{class:"lookup-modal-header-title",title:t.title,style:$.value},[t.title]),t.enableFavorite&&a.createVNode("div",{class:"d-flex justify-content-center w-100"},[a.createVNode("div",{class:"lookup-modal-header-tabs-container d-flex",onMousedown:M},[a.createVNode("div",{class:"active-tab",style:D.value},null),a.createVNode("div",{class:["tab-item","d-flex",{active:e.value===ne.dataList}],onClick:()=>_(ne.dataList)},[i.datalist]),a.createVNode("div",{class:["tab-item","d-flex",{active:e.value===ne.favorite}],onClick:()=>_(ne.favorite)},[i.favorite])])]),(c.showMaxButton||c.showCloseButton)&&a.createVNode("div",{class:"d-flex flex-row h-100 justify-content-end align-items-center lookup-modal-header-buttons",onMousedown:x=>x.stopPropagation()},[c.showMaxButton&&a.createVNode("span",{class:F.value,onClick:V,style:"cursor: pointer"},null),c.showCloseButton&&a.createVNode("span",{class:"f-icon modal_close ml-2",onClick:L,style:"cursor: pointer;position: relative;top: 1px;"},null)])]),a.createVNode("div",{class:"f-utils-fill",style:"position: relative;"},[a.createVNode("div",{class:"h-100 d-flex flex-column f-utils-fill w-100",style:I.value(ne.dataList)},[n.slots.default&&n.slots.default()]),a.createVNode("div",{class:"h-100 d-flex flex-column px-2 f-utils-fill w-100",style:I.value(ne.favorite)},[n.slots.fav&&n.slots.fav()])]),a.createVNode("div",{class:"modal-footer"},[a.createVNode("div",{class:"f-utils-fill align-items-center d-flex flex-row"},[T.value&&a.createVNode(qt,{modelValue:d.value,"onUpdate:modelValue":x=>d.value=x,label:o.includechildren},null),t.showSelectedList&&a.createVNode($t,{popoverOffsetX:g.value,parentRef:C.value,ref:w,idField:s.idField},null),t.showCascadeControl&&a.createVNode(Wt,{modelValue:s.cascadeValue,"onUpdate:modelValue":x=>s.cascadeValue=x},null)]),a.createVNode("button",{id:t.id+"-btncancel",name:"cancel",type:"button",class:"btn btn-secondary",onClick:E},[l.cancel]),a.createVNode("button",{id:t.id+"-btnok",name:"accept",type:"button",class:"btn btn-primary",onClick:y},[l.ok])])])}});function Le(t,n){if(t.context){if(!n&&t.context.editor){for(const i in t.context.editor)delete t.context.editor[i];return}const{editor:e}=t.context;e?Object.assign(e,n):t.context.editor=n}}function Ht(t,n,e,{dictPicked:i,modelValue:l,buttonEditInstance:o,userDataService:r,useHttp:d,lookupLocales:s}){const c=a.inject(Ve.F_NOTIFY_SERVICE_TOKEN,null),u=a.inject("FLoadingService"),p=a.ref(),S=a.ref("accept"),F=a.ref(),{lookupStates:T}=d,{queryState:g,lookupState:h,navigationState:f,pageInfoState:v,searchState:C,selectionState:w,lookupOptions:V}=T,{isDoubleList:L}=he(t,T),y=Object.assign({},Xe,V.dialog);V.dialog=y;const E={position:"top-center"},_=()=>{const b=e.value.map(z=>ve.resolveField(z,V.textField)).join(t.separator),P=e.value.map(z=>z[V.idField]).join(t.separator);l.value=b,d.idValues.value=P,n.emit("update:modelValue",b),n.emit("update:idValue",P)},D=async()=>{const b={items:e.value,mappingFields:V.mappingFields};return n.emit("update:dataMapping",b),Le(t,b),await i(b)};async function I(){return _(),await D()}function $(){return S.value="cancel",!0}const M=b=>{Object.keys(b).forEach(P=>{delete b[P]})},x=b=>{b.forEach(P=>{M(P)})};function N(){u==null||u.clearAll(),x([h,f,v,C,g]),w.value=[],F.value=null}async function Q(){var P;if(e.value.length===0)return c==null||c.warning({message:s.messages.mustChoosAdatarow,...E}),{shouldUpdate:!1};const b=await((P=t.beforeSelectData)==null?void 0:P.call(t,{items:e.value}));return{shouldUpdate:typeof b=="boolean"?b:(b==null?void 0:b.canSelect)??!0,message:b==null?void 0:b.message}}async function oe(b){return typeof b=="object"?{shouldClose:b.closeDialog,message:b.message}:{shouldClose:b,message:""}}async function re(){const{shouldUpdate:b,message:P}=await Q();if(!b)return P&&(c==null||c.warning({message:P,...E})),!1;const z=await I(),{shouldClose:H,message:K}=await oe(z);return H?(S.value="accept",!0):(K&&(c==null||c.warning({message:K,...E})),!1)}function m(){const b=(y==null?void 0:y.height)||620,P=(y==null?void 0:y.width)||590,z=(y==null?void 0:y.minWidth)||300,H=(y==null?void 0:y.minHeight)||200,K={height:b,width:P,minWidth:z,minHeight:H};return L()&&(K.width=(y==null?void 0:y.width)||960),K}const{width:k,height:B,minHeight:R,minWidth:U}=m(),W=!0,Y=W&&((y==null?void 0:y.resizeable)==null?!0:y==null?void 0:y.resizeable);y.rememberSize=y.rememberSize&&Y;const G={title:y==null?void 0:y.title,fitContent:!1,showHeader:!1,dragHandle:".lookup-modal-header",height:B,width:k,minWidth:U,minHeight:R,resizeable:Y,draggable:W,enableEsc:(y==null?void 0:y.enableEsc)==null?!0:y==null?void 0:y.enableEsc,closedCallback:(b,P)=>{const z={type:S.value,button:b==null?void 0:b.target};if((P==="esc"||P==="icon")&&(z.type="esc"),z.type==="accept"&&(z.items=e.value),(z.type==="cancel"||z.type==="esc")&&(l.value=t.modelValue),r&&t.enableUserData){r.saveUserData().then(()=>{N(),n.emit("dialogClosed",z)});return}N(),n.emit("dialogClosed",z)},showButtons:!1,resizeHandle:b=>{if(y.rememberSize){p.value=b;const{width:P,height:z}=b.newSize.size;!(b.isMaximized??!1)&&r.setDialogSize({width:Math.round(P),height:Math.round(z)})}},enableEnter:!0,onEnter:b=>{b.event.preventDefault(),!b.event.target.closest(".fv-lookup-search-bar")&&re().then(z=>{var H;if(z){const K=(H=o.value)==null?void 0:H.getModal();K&&K.close(b.event,"enter")}})}};async function O(){var b;if(t.enableUserData&&(await r.getUserData(),(b=r==null?void 0:r.userDataState)!=null&&b.data&&y.rememberSize)){const{size:P}=r.userDataState.data;P&&Object.assign(G,P)}}async function X(b){let P=!0;const z=t.dictPicking;if(z&&typeof z=="function"){const H=await z({customData:F,options:V});typeof H=="boolean"&&!H&&(P=!1),typeof H=="object"&&(H.canOpen?H.data&&(F.value=H.data):(P=!1,H.message&&(c==null||c.error({message:H.message,position:"top-center"}))))}return P&&await O(),P}return{modalOptions:G,beforeOpenDialog:X,dialogSize:p,customData:F,updateModelValue:I,cancelDialog:$,submitDialog:re,destroyed:N,setModelAndIdValue:_,runDictPickedAsync:D}}function Jt(t){return{dictPicked:async({items:e,mappingFields:i})=>t.dictPicked&&typeof t.dictPicked=="function"?await t.dictPicked({items:e,mappingFields:i})??!0:!0}}function Qt(t,n,e,i){if(!t.editable)return;n.emit("update:modelValue",e),n.emit("update:idValue","");const l={mappingFields:i.mappingFields};Le(t,l)}function Xt(t,n,e){const i=a.computed(()=>t.textChangeType==="blur"||t.textChangeType==="any"),l=a.computed(()=>t.textChangeType==="enter"||t.textChangeType==="any"),{beforeOpenDialog:o,updateModelValue:r,selectedItems:d,openDialog:s,lookupOptions:c,useHttpComposition:u,isPopuped:p}=e,{updateSearchFieldTitle:S}=u,{lookupState:F,queryState:T,searchValueChanged:g}=u.lookupStates,h=a.ref(!1);function f(E){return ae.isEmpty(E)&&g.value&&!p.value?(h.value=!0,g.value=!1,!1):(g.value&&(T.value=E),g.value)}function v(E){var D;if(!E||E.length!==1)return;const[_]=E;return(D=_.children)!=null&&D.length?v(_.children):_.data}function C(E,_){var I;if(!_||_.length!==1)return!1;const[D]=_;return E?(I=D.children)!=null&&I.length?v(D.children):D.data:D}async function w(E){const _={search:{field:"*",value:E,type:t.openType==="Modal"?"equal":"like"},action:"search"};g.value&&(document.body.classList.add("lookup-modal-open"),u.loadData(_,async D=>{var I;if(D.searchFields&&D.columns){const $=S(D.searchFields,D.columns);F.searchFields=$}if(g.value=!1,t.openType==="Modal"){const $=C(((I=D.displayType)==null?void 0:I.toLowerCase())==="treelist",D.items);if($){d.value=[$],r(),T.value="",document.body.classList.remove("lookup-modal-open");return}s()}else F.action=E?"search":"list",F.items=D.items}))}function V(E,_){var I;let D=(I=E.target)==null?void 0:I.value;if(D!==""&&(D=D.trim()),f(D)){if(t.allowFreeInput){Qt(t,n,D,c);return}if(t.openType!=="Modal"&&!p.value){s(),g.value=!1;return}c.uri?w(D):n.emit("textChanged",{value:D,type:_?"blur":"enter"})}}function L(E){i.value&&V(E,!0)}function y(E){E.key==="Enter"&&l.value&&V(E,!1)}return{changeOnBlur:i,changeOnEnter:l,onInputBlur:L,onEnterKeyDown:y,isClear:h}}const Kt={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:ce.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:{}}},Yt=a.defineComponent({name:"FLookupPopupContainer",props:Kt,emits:["selectItemsChanged"],setup(t,n){const e=t.locales,{lookupStates:i,getIdQueryParams:l}=t.useHttpComposition,{lookupState:o,navigationState:r,queryState:d,lookupOptions:s}=i,{isTreeList:c}=he(t,i);_e(t,!1,i,e);const u=a.computed(()=>({width:`${t.width}px`,height:`${t.height}px`,padding:"5px"})),{renderDataGrid:p}=ot(t,n,{}),{renderTreeGrid:S}=dt(t,n),F=a.computed(()=>c()?S:p);function T(){const g={};t.enableToSelect&&(g.selectedInfo=l(),d.value!=null&&(g.search={field:"*",value:d.value,type:"like"},g.action="search"));const h=t.useHttpComposition;h==null||h.loadData(g,f=>{a.nextTick(()=>{o.action=g.action,f.navigation&&(Object.keys(f.navigation).forEach(v=>{var C;r[v]=(C=f.navigation)==null?void 0:C[v]}),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(v=>{o[v]=f[v]})})})}return a.onMounted(()=>{T()}),a.onUnmounted(()=>{var g;(g=t.hidePopup)==null||g.call(t)}),()=>a.createVNode("div",{style:u.value,class:"d-flex flex-column"},[F.value()])}});function Zt(t,n,e,{useHttpComposition:i,selectionsManager:l,userDataService:o,updateModelValue:r,lookupLocales:d,destroyed:s,setModelAndIdValue:c,runDictPickedAsync:u}){a.provide(xe,o),a.provide(fe,i),a.provide(be,l);const{selectionState:p,queryState:S,lookupOptions:F}=i.lookupStates,T=rt(F,!1);a.provide(Te,T);const g=a.computed(()=>{var E;const y=(E=e.value)==null?void 0:E.popoverRef;return y?y.shown:!1});function h(){var y;(y=e.value)==null||y.hidePopup()}t.openType==="Popup"&&a.watch(()=>p.value,y=>{g.value&&t.multiSelect&&c()});const f=()=>{const{width:y,height:E}=t.dialog;return{width:y||460,height:E||380}},v=a.computed(()=>{var y;return(y=e.value)==null?void 0:y.popoverRef});async function C(){F.multiSelect?await u():await r(),g.value&&h(),S.value="",s()}function w(){var y;g.value||(y=e.value)==null||y.showPopup()}function V(){F.multiSelect||h()}function L(){const{width:y,height:E}=f();return a.createVNode(Yt,a.mergeProps({width:y,height:E,useHttpComposition:i,locales:d,selectionsManager:l,hidePopup:C,onSelectionsChanged:V},t),null)}return{popoverInstance:v,isPopuped:g,renderPopup:L,showPopup:w}}const pe=a.defineComponent({name:"FLookup",props:Ce,emits:["update:modelValue","update:idValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","resize","dialogClosed","textChanged","clear","update:dataMapping"],setup(t,n){const e='<i id="'+t.id+'-icon_lookup" class="f-icon f-icon-lookup"></i>',i='<i id="'+t.id+'-icon_dropdown" class="f-icon f-icon-arrow-chevron-down"></i>',l=a.ref(),o=a.ref(t.modelValue),r=a.ref("");Se.value=t.customData;const d=a.computed(()=>t.openType==="Popup"?"Popup":"Modal"),s=a.computed(()=>d.value==="Popup"?i:e),c=Mt(t),u=Vt(t),{lookupOptions:p,selectionState:S,searchValueChanged:F}=u.lookupStates,T=Nt(t,u),g=a.computed(()=>t.showSelections&&p.multiSelect),h=a.computed(()=>t.editable&&(d.value==="Modal"||!p.multiSelect)),f=a.computed(()=>t.showIncludeChildNodes&&t.showNavigation&&!p.navTreeToList),v=it(t,u.lookupStates),{dictPicked:C}=Jt(t),{modalOptions:w,beforeOpenDialog:V,dialogSize:L,customData:y,updateModelValue:E,cancelDialog:_,submitDialog:D,destroyed:I,setModelAndIdValue:$,runDictPickedAsync:M}=Ht(t,n,S,{dictPicked:C,modelValue:o,buttonEditInstance:l,userDataService:T,useHttp:u,lookupLocales:c}),x=Zt(t,n,l,{useHttpComposition:u,selectionsManager:v,userDataService:T,updateModelValue:E,lookupLocales:c,destroyed:I,setModelAndIdValue:$,runDictPickedAsync:M}),{renderPopup:N,showPopup:Q,isPopuped:oe}=x;function re(){if(t.openType==="Popup"){Q();return}l.value&&!l.value.getModal()&&l.value.openDialog()}const{onInputBlur:m,onEnterKeyDown:k,isClear:B}=Xt(t,n,{beforeOpenDialog:V,updateModelValue:E,selectedItems:S,openDialog:re,modelValue:o,useHttpComposition:u,lookupOptions:p,usePopupComposition:x,isPopuped:oe}),R=a.reactive(w),U=a.inject(pt.F_MODAL_SERVICE_TOKEN);a.watch(()=>y.value,A=>{Se.value=A}),a.watch(()=>t.modelValue,A=>{o.value=A});function W(A){u.idValues.value=A,A||(S.value=[]),n.emit("update:idValue",A)}a.watch(()=>t.idValue,A=>{W(A)}),a.onMounted(()=>{}),a.onUnmounted(()=>{Le(t)}),a.watch(()=>L.value,A=>{n.emit("resize",A)});async function Y(){n.emit("update:modelValue",""),W("");const A={items:null,mappingFields:p.mappingFields};n.emit("clear",A),Le(t,A)}a.watch(()=>B.value,A=>{A&&(Y(),B.value=!1)});function G(A){n.emit("search",A)}function O(A){n.emit("navSelectionsChanged",A)}function X(A){n.emit("pageIndexChanged",A)}function b(A){n.emit("pageSizeChanged",A)}async function P(A){const le=U==null?void 0:U.getCurrentModal();le&&le.updateModalOptions(A),A.title&&(r.value=A.title)}function z(A){const le=U==null?void 0:U.getCurrentModal();le&&le.close(A)}function H(A){const le=U==null?void 0:U.getCurrentModal();le&&le.maxDialog(A)}const K=a.computed(()=>{const A=U==null?void 0:U.getCurrentModal();return A==null?void 0:A.isMaximized}),q=a.computed(()=>p.multiSelect&&p.showCascadeControl&&p.enableCascade&&se.Tree===p.displayType.toUpperCase()&&!p.treeToList),J=a.computed(()=>S.value&&S.value.length?S.value.map(A=>A[p.idField]):[]);function te(A){for(const le in p)A[le]!==void 0&&(p[le]=A[le])}const ie=ae.debounce(A=>{m(A)},200);function de(A){var ut;let le=(ut=A.target)==null?void 0:ut.value;le!==""&&(le=le.trim()),F.value=A.target._value!==le,d.value==="Popup"&&F.value&&ie(A)}function $e(){F.value=!1}return n.expose({openDialog:re,updateIdValue:W,mappingFields:p.mappingFields,idField:p.idField,setProps:te,clear:Y}),()=>a.createVNode(We.FButtonEdit,{ref:l,id:t.id,modelValue:o.value,"onUpdate:modelValue":A=>o.value=A,disable:t.disable,readonly:t.readonly,editable:h.value,inputType:"text",enableClear:t.enableClear,buttonContent:s.value,buttonBehavior:d.value,modalOptions:R,onClear:Y,beforeOpen:V,onBlur:m,onKeydown:k,placeholder:c.placeholder,keepWidthWithReference:!1,popupOnClick:!t.editable&&d.value==="Popup",onInput:de,enableTitle:t.enableTitle,placement:"auto",onBeforeClearValue:$e},{default:()=>[d.value==="Modal"&&a.createVNode(Gt,{title:r.value||"请选择",enableFavorite:t.enableFavorite,onCloseModal:z,onMaximize:A=>H(A),useHttpComposition:u,userDataService:T,useDialog:{cancelDialog:_,submitDialog:D},showSelectedList:g.value,selectionsManager:v,showIncludeChildNodes:{show:f.value,value:t.includeChildNodesValue},showCascadeControl:q.value,isMaximized:K.value,locales:c,id:t.id},{default:()=>a.createVNode(jt,a.mergeProps(t,{onSearch:G,onNavSelectionsChanged:O,onPageIndexChanged:X,onPageSizeChanged:b,onChangeDialogOptions:P}),null),fav:()=>t.enableFavorite&&a.createVNode(Rt,{idField:p.idField,displayType:p.displayType,selectedIds:J.value,multiSelect:p.multiSelect,showSelections:g.value,treeToList:p.treeToList},null)}),d.value==="Popup"&&N()]})}}),ct={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",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:"标签页工具栏按钮"},"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:"标签页工具栏"},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:"列表导航"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},en=a.ref(0);function tn(){en.value++}const nn=a.ref(0);function an(t){const{formSchemaUtils:n,formStateMachineUtils:e}=t;function i(s,c=""){return{path:c+s.code,field:s.id,fullPath:s.code}}function l(s,c=""){return n.getViewModelById(s).states.map(p=>i(p,c))}function o(s){const c=n.getRootViewModelId(),u=l(s);if(s===c)return u;const p=l(c,"root-component.");return[...u,...p]}function r(s){return s.binding&&s.binding.path||s.id||""}function d(){return e&&e.getRenderStates()||[]}return{getVariables:o,getControlName:r,getStateMachines:d}}class on{constructor(n){ee(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'"}]);ee(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ee(this,"getExpressionConverter",(n,e)=>({convertFrom:(i,l,o,r)=>{const d=o.getExpressionRuleValue(n,e||l);return d&&d.value||""},convertTo:(i,l,o,r,d)=>{var s;if(l==="dataPicking"&&(o!=null&&o.target)){const c=`${o.target}_dataPicking`;((s=o.rules)==null?void 0:s.some(p=>p.id===c&&p.value))?i.dictPickingExpressionId=c:delete i.dictPickingExpressionId}r.updateExpression(o)}}));this.formSchemaService=n}getExpressionRule(n,e){const i=this.formSchemaService.getExpressions();if(!i)return"";const l=i.find(r=>r.target===n);if(!l)return"";const o=l.rules.find(r=>r.type===e);return o||""}getContextFormVariables(){const{module:n}=this.formSchemaService.getFormSchema();if(!n.viewmodels||n.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(e);if(!i||!i.states||i.states.length===0)return[];const l=[];return i.states.forEach(o=>{l.push({key:o.code,name:o.name,description:o.name,category:o.category})}),l}createTreeNode(n,e,i="label"){return{id:n.id,name:n.name,bindingPath:n[i],parents:e}}buildEntityFieldsTreeData(n=null,e){const i=[];return n==null||n.forEach(l=>{var d;const o=this.createTreeNode(l,e);let r=[];(d=l.type)!=null&&d.fields&&(r=this.buildEntityFieldsTreeData(l.type.fields,[...e,l.label])),i.push({data:o,children:r,expanded:!0})}),i}buildChildEntityTreeData(n=null,e){const i=[];return n==null||n.forEach(l=>{var s,c;const o=this.createTreeNode(l,e),r=this.buildEntityFieldsTreeData((s=l.type)==null?void 0:s.fields,[...e,l.label]),d=this.buildChildEntityTreeData((c=l.type)==null?void 0:c.entities,[...e,l.label]);d!=null&&d.length&&(r==null||r.push(...d)),i.push({data:o,children:r||[],expanded:!0})}),i}getEntitiesTreeData(){const n=this.formSchemaService.getSchemaEntities();if(!(n!=null&&n.length))return[];const e=n[0];if(!(e!=null&&e.type))return[];const i=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),l=this.buildChildEntityTreeData(e.type.entities,[e.code]);return l!=null&&l.length&&(i==null||i.push(...l)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(n,e,i){const l=i==="Field"?n.binding.field:n.id,o=this.getExpressionRule(l,e),r=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(e)&&o?o.message:"",...r};return o.messageType!=null&&(d.messageType=o.messageType),d}buildRule(n,e,i,l){const{expression:o,message:r,messageType:d}=e,s={id:`${n}_${i}`,type:i,value:o};return(i==="validate"||i==="dataPicking"||i==="required")&&(s.message=r),i==="dataPicking"&&(s.messageType=d),i==="validate"&&l&&(s.elementId=l),s}getExpressionData(){const{expressions:n}=this.formSchemaService.getFormSchema().module;return n||[]}updateExpression(n,e,i,l){const o=e==="Field"?n.binding.field:n.id,r=this.buildRule(o,i,l,n.type==="form-group"?n.id:"");let s=this.getExpressionData().find(u=>u.targetType===e&&u.target===o);const c=u=>u.value.trim()==="";if(s){const u=s.rules.find(p=>p.id===r.id);if(u)c(r)?s.rules=s.rules.filter(p=>p.id!==r.id):(Object.assign(u,r),l==="validate"&&n.type==="form-group"&&(u.elementId=n.id));else{if(c(r))return null;s.rules=s.rules||[],s.rules.push(r)}}else{if(c(r))return null;s={target:`${o}`,rules:[r],targetType:e}}return s}getExpressionEditorOptions(n,e,i,l){return i.reduce((o,r)=>{var s,c;const d=e==="Field"?(s=n==null?void 0:n.binding)==null?void 0:s.field:n.id;return o[r]={hide:e==="Field"?!!((c=n==null?void 0:n.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(d),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,e),onSubmitModal:u=>{const p=this.updateExpression(n,e,u,r);if(l){const S=this.buildRule(d,u,r);l(S)}return p}}},o},{})}getExpressionInfo(n,e,i){const l=e==="Field"?n.binding.field:n.id,o=this.getExpressionRule(l,i),r={value:o&&o.value,targetId:l,targetType:e,expressionType:i};return o&&o.message&&(r.message=o.message),r}getExpressionConfig(n,e,i=["compute","dependency","validate"],l){return{description:"表达式",title:"表达式",hide:!n.binding,properties:{...this.getExpressionEditorOptions(n,e,i,l)}}}getExpressionOptions(n,e,i){const l=this.getExpressionInfo(n,e,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(n,i,e),expressionInfo:l}}}class ln{constructor(n,e){ee(this,"componentId");ee(this,"viewModelId");ee(this,"eventsEditorUtils");ee(this,"formSchemaUtils");ee(this,"formMetadataConverter");ee(this,"designViewModelUtils");ee(this,"designViewModelField");ee(this,"controlCreatorUtils");ee(this,"designerHostService");ee(this,"designerContext");ee(this,"schemaService",null);ee(this,"metadataService",null);ee(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=n,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var n,e;return(e=(n=this.designerContext)==null?void 0:n.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var i;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const l=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=l.fields.find(o=>o.id===e)}n.updateOn=(i=this.designViewModelField)==null?void 0:i.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:ct[n.type]&&ct[n.type].name}]}}}}}getAppearanceConfig(n=null,e={},i){const l={title:"外观",description:"Appearance"},o={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 e)o[r]=Object.assign(o[r]||{},e[r]);return{...l,properties:{...o},setPropertyRelates(r,d){if(r){switch(r&&r.propertyID){case"class":case"style":{nn.value++;break}}i&&i(r,n,d)}}}}getPropertyEditorParams(n,e=[],i="visible",l={},o={}){const{getVariables:r,getControlName:d,getStateMachines:s}=an(this.designerHostService),c=this.getRealTargetType(n),u=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],p={type:"property-editor",propertyTypes:u};return u.map(S=>{switch(S){case"Const":Object.assign(p,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},l);break;case"Expression":p.expressionConfig=this.getExpressionOptions(n,c,i);break;case"StateMachine":p.stateMachines=s();break;case"Variable":Object.assign(p,{controlName:d(n),newVariablePrefix:"is",newVariableType:"Boolean",variables:r(this.viewModelId),onBeforeOpenVariables:F=>{F.value=r(this.viewModelId)}},o);break}}),p}getVisibleProperty(n,e=""){var o;let i=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?i=["Const","Expression"]:e==="form-group"&&!((o=n.binding)!=null&&o.field)&&(i=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(n,i,"visible")}}}getBehaviorConfig(n,e="",i={},l){const o={title:"行为",description:""},r=this.getVisibleProperty(n,e);for(const s in i)r[s]=Object.assign(r[s]||{},i[s]);const d=this;return{...o,properties:{...r},setPropertyRelates(s,c){if(s){switch(s.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(n,s);break}l&&l(s,c)}}}}afterMutilEditorChanged(n,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,n)}updateElementByParentContainer(n,e){const i=e&&e.parent&&e.parent.schema;if(!i)return;const l=i.contents.findIndex(r=>r.id===n),o=ae.cloneDeep(i.contents[l]);i.contents.splice(l,1),i.contents.splice(l,0,o),tn()}addNewVariableToViewModel(n,e){const i=n.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const r={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String"};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById(e).states.push(r)}updateExpressionValue(n){const e=n.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:o,expressionInfo:r}=e,{targetId:d,targetType:s,expressionType:c,value:u,message:p}=r,S=this.formSchemaUtils.getModule();S.expressions=S.expressions||[];const{expressions:F}=S;let T=F.find(h=>h.target===d);T||(T={target:d,rules:[],targetType:s},F.push(T));const g=T.rules.find(h=>h.type===c);if(g)g.value=u,g.message=p;else{const h={id:o,type:c,value:u,message:p};T.rules.push(h)}delete e.expressionInfo}clearExpression(n,e){const i=n.propertyValue;if(i&&i.type==="Expression")return;const o=n.propertyID,r=this.formSchemaUtils.getExpressions(),d=e.binding?e.binding.field:e.id,s=r.find(c=>c.target===d);!s||!s.rules||(s.rules=s.rules.filter(c=>c.type!==o))}getExpressionOptions(n,e,i){return new on(this.formSchemaUtils).getExpressionOptions(n,e,i)}getRealTargetType(n){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(n.type)>-1?"Button":n.binding&&n.binding.field?"Field":"Container"}createBaseEventProperty(n){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:n,viewSourceHandle:i=>{var l;((l=i.controller)==null?void 0:l.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},e}}class rn extends ln{constructor(e,i){super(e,i);ee(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"]});ee(this,"events",kt)}getPropertyConfig(e){const i=new et("root-component",this.designerHostService),l=i.getLookupConfig(e),o=i.getPageConfig(e.editor),r=i.getTreePropConfig(e.editor),d=i.getDialogPropertyConfig(e),s=this.getEventPropConfig(e),c={type:"object",categories:{lookup:l,treeConfig:r,pager:o,dialog:d}};return this.filterLookupPropertyConfig(c),c.categories.eventsEditor=s,c}filterLookupPropertyConfig(e){Object.keys(e.categories).forEach(i=>{const l=this.propertyConfigFilters[i],o=e.categories[i];Object.keys(o.properties).forEach(r=>{l.includes(r)||delete o.properties[r]})})}getEventPropConfig(e){const i=this,l=i.eventsEditorUtils.formProperties(e,i.viewModelId,this.events),o={};return o[i.viewModelId]={type:"events-editor",editor:{initialData:l,viewSourceHandle:r=>{i.eventsEditorUtils.jumpToMethod(r)}}},{title:"事件",hideTitle:!0,properties:o,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,d){const s=d.editor,c=r.propertyValue;delete s[i.viewModelId],c&&i.eventsEditorUtils.saveRelatedParameters(s,i.viewModelId,c.events,c),i.events.forEach(u=>{d[u.label]=s[u.label]})}}}}pe.install=t=>{t.component(pe.name,pe)},pe.register=(t,n,e,i)=>{t.lookup=pe,n.lookup=je,i.lookup={callbackResolver:Ke}},pe.registerDesigner=(t,n,e)=>{t.lookup=Lt,n.lookup=je},j.CascadeEnum=Oe,j.Compare=Ae,j.DEFAULT_LOOKUP_DIALOG_OPTIONS=Xe,j.DEFAULT_PAGINATION_OPTIONS=Be,j.DefaultDialogTitle=De,j.ExpressValueType=Qe,j.ExternalLookupPropertyConfig=rn,j.FLookup=pe,j.F_LOOKUP_HTTP_SERVICE_TOKEN=Je,j.FilterRelation=Pe,j.LOOKUP_ACTIVE_TAB=me,j.LOOKUP_USER_DATA_ID=vt,j.LoadTreeDataType=ce,j.LookupDisplayType=se,j.LookupSchemaRepositoryToken=Ze,j.LookupTabs=ne,j.callbackResolver=Ke,j.cascadeItems=Ie,j.default=pe,j.lookupDataSourceConverter=Ye,j.lookupProps=Ce,j.propsResolver=je,Object.defineProperties(j,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -13959,7 +13959,9 @@ const Dn = /* @__PURE__ */ ze({
13959
13959
  }
13960
13960
  };
13961
13961
  function I(v) {
13962
- s.value = v ? [...v] : [];
13962
+ v.forEach((_) => {
13963
+ s.value.findIndex((P) => P.id === _.id);
13964
+ });
13963
13965
  }
13964
13966
  function F() {
13965
13967
  return n.getLatestGridData ? u = n.getLatestGridData().columns : u = n.gridData.columns, b(), g(), Promise.resolve(!0);