@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 109 kB
JavaScript
(function(O,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../field-selector/index.umd.js"),require("../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"],i):(O=typeof globalThis<"u"?globalThis:O||self,i(O.lookup={},O.Vue,O.FButtonEditDesign,O.designerCanvas,O.dynamicResolver,O.propertyPanel,O.fieldSelector,O.notify,O.modal,O.buttonEdit,O.layout,O.dataGrid,O.LodashES,O.common,O.vueI18n,O.treeGrid,O.comboList,O.FPopover))})(this,function(O,i,ge,yt,He,Ne,ke,Me,bt,Je,De,Pe,re,Ce,vt,Oe,Qe,Ct){"use strict";var mn=Object.defineProperty;var gn=(O,i,ge)=>i in O?mn(O,i,{enumerable:!0,configurable:!0,writable:!0,value:ge}):O[i]=ge;var ne=(O,i,ge)=>gn(O,typeof i!="symbol"?i+"":i,ge);function Xe(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const St=new Map([["appearance",He.resolveAppearance],["mappingFields",(e,a,t)=>{if(a)return Xe(a);const{mappingFields:n}=t;return Xe(n)}],["uri",(e,a,t)=>{var n;return a?{uri:a}:{uri:(n=t==null?void 0:t.dataSource)==null?void 0:n.uri}}],["idField",(e,a,t)=>{var n;return a?{idField:a}:{idField:(n=t==null?void 0:t.dataSource)==null?void 0:n.idField}}]]),Tt={$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},enableEqualSearch:{type:"boolean",default:!1}},required:["type"],ignore:["appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function wt(e,a,t){return a}var Be=(e=>(e.Both="both",e.Up="up",e.Down="down",e.Disable="disable",e))(Be||{});const Le=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Ae="";var ce=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(ce||{}),fe=(e=>(e.default="default",e.all="all",e.async="async",e))(fe||{});const ye="__lookup_active_tab__",Ft="__lookup_user_data_id__";var ae=(e=>(e.dataList="datalist",e.favorite="favorite",e))(ae||{});const je={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},Ke=Symbol("f_lookup-http-service_token");var Se=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(Se||{}),Te=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(Te||{}),Ye=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Ye||{});const Ze={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function It(){function e(a,t){const n={};return n.dictPicking=o=>t.call("dictPicking",[o,a]),n.beforeLoadData=o=>t.call("beforeLoadData",[o,a]),n.beforeSelectData=o=>t.call("beforeSelectData",[o,a]),n.dictPicked=o=>t.call("dictPicked",[o,a]),n}return{resolve:e}}const we={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:ce.List},dialog:{type:Object,default:{title:""}},multiSelect:{type:Boolean,default:!1},showSelections:{type:Boolean,default:!0},separator:{type:String,default:","},pagination:{type:Object,default:je},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:fe.default},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""},enableUserData:{type:Boolean,default:!1},userDataKey:{type:String,default:""},onReady:{type:Function,default:null},context:{type:Object,default:{}},placeholder:{type:String,default:""},loader:{type:Function,default:null},allowFreeInput:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!0},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:String,default:"both"},expandLevel:{type:Number,default:0},openType:{type:String,default:"Modal"},enableTitle:{type:Boolean,default:!1},enableEqualSearch:{type:Boolean,default:!1}},Re=He.createPropsResolver(we,Tt,St,wt),et=It();function xe(e){let a=[10,20,30,50,100];return e&&(typeof e=="string"&&(a=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(a=e)),a.map(t=>({value:parseInt(t,10)})).sort((t,n)=>t.value-n.value)}const Z={convertFrom:(e,a)=>{const t=e.editor?e.editor:e;return a==="multiSelect"||a==="enableTitle"?!!t[a]:a==="separator"?t[a]||",":a==="onlySelectLeaf"?t[a]==null?!1:t[a]:a==="loadTreeDataType"?t[a]||"default":a==="placeholder"?t.placeholder||"请选择":a==="openType"?t[a]||"Modal":t[a]},convertTo:(e,a,t)=>{const n=e.editor?e.editor:e;if(n[a]=t,a==="multiSelect"&&!t&&(n.enableCascade=!1),a==="openType"){if(t==="Popup")n.showSelections=!1,n.enableCascade=!1;else if(n.dialog){const{width:o}=n.dialog,{displayType:l}=n;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(n.dialog.width=960)}}}};function kt(e){let a="form_group_"+Date.now();return e&&(a=e.replaceAll("-","_").replaceAll(".","_")),"lookup."+a}function Pt(e,a){const{enablePager:t,pageSize:n,pageList:o}=a;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:t,sizeLimits:xe(o).map(l=>l.value),size:n,showLimits:!0,showGoto:!1,mode:"server"})}const Ue={convertFrom:(e,a)=>{var n;return(n=(e.editor?e.editor:e).dataSource)==null?void 0:n.displayName},convertTo:(e,a,t)=>{if(t&&t.length>0){const n=e.editor?e.editor:e,o=t[0],{name:l,id:r,metadataContent:d,code:s}=o;n.dataSource||(n.dataSource={}),n.dataSource.displayName=`${l}(${s})`,n.helpId=r;const{displayType:c,idField:f,textField:p}=d;n.displayType=c,n.dataSource.idField=f,n.textField=p,n.dataSource.type="ViewObject";const{pageInfo:w}=d.dataSource;Pt(n,w);const{treeInfo:k}=c.toUpperCase()==="NAVTREELIST"?d.navigation:d.dataSource;if(k){const{onlySelectLeaf:v,loadDataType:h}=k;n.loadTreeDataType="default",n.onlySelectLeaf=v??!1}if(n.dataSource.uri||(n.dataSource.uri=kt(e.id)),n.dialog){const{width:v}=n.dialog;c&&c.toUpperCase().indexOf("NAV")>-1&&(!v||v<520)&&(n.dialog.width=960)}}}},Lt={convertFrom:(e,a)=>{var t;return(t=e.editor.dataSource)==null?void 0:t.idField},convertTo:(e,a,t)=>{if(t&&t.length>0){const n=t[0];e.editor.dataSource.idField=n==null?void 0:n.bindingPath}}},xt={convertFrom:(e,a)=>{var t;return(t=e.editor)==null?void 0:t.textField},convertTo:(e,a,t)=>{if(t&&t.length>0){const n=t[0];e.editor.textField=n==null?void 0:n.bindingPath}}},Et={convertFrom:(e,a)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,a,t)=>{e.editor.displayType=t}},ue={convertFrom:(e,a)=>{var o;let t=e.editor?e.editor.dialog:e.dialog;if(t||(t={}),a==="title")return t[a]||Ae;if(t.openType==="Modal"){if(a==="width")return(o=t.displayType)!=null&&o.toUpperCase().startsWith("NAV")?t[a]||960:t[a]||590;if(a==="height")return t[a]||620;if(a==="navigatorWidth")return t[a]||320}else{if(a==="width")return t[a]||460;if(a==="height")return t[a]||380}if(a==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(a))return t[a]==null?!0:t[a]},convertTo:(e,a,t)=>{const n=e.editor?e.editor:e;n.dialog=n.dialog||{},n.dialog[a]=t}},Vt={convertFrom:(e,a)=>{const t=e.editor?e.editor:e;if(t.pagination=t.pagination||{},a==="enable"||a==="showLimits")return t.pagination[a]==null?!1:t.pagination[a];if(a==="sizeLimits"){const n=t.pagination[a];return xe(n)}if(a==="size")return t.pagination[a]||20},convertTo:(e,a,t)=>{var o;const n=e.editor?e.editor.pagination||{}:e;if(n.pagination=n.pagination||{},a==="sizeLimits"){const l=t.map(d=>d.value);n.pagination[a]=l;const r=((o=n.pagination)==null?void 0:o.size)??20;l.includes(r)||(n.pagination.size=l[0]);return}n.pagination[a]=t}},Nt=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Mt=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],tt=Symbol("schema_repository_token");function nt(e,a){const t=n=>n&&n.length?n.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:e,formBasicInfo:a.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:a.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(n,o)=>`${n==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:tt},dataSourceConverter:Ue,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!0,editorParams:{propertyData:e,formBasicInfo:a.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ke.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:e,formBasicInfo:a.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ke.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:e,formBasicInfo:a.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(n,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:ke.FieldSelectorRepositoryToken,displayFormatter:t},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const n=a.designViewModelUtils.getAllFields2TreeByVMId(a.viewModelId),o=a.schemaService.getPrimaryField();return o?n.filter(l=>l.data.bindingPath!==o):n},formatter:(n,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:t}}}}function at(e){var l,r;const a={type:"combo-list",enableClear:!1,editable:!1},t={type:"number-spinner",useThousands:!1},n=()=>e.displayType?e.displayType.toUpperCase():"",o=()=>n().startsWith("NAV")?e.showNavigation===void 0?!0:!!e.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:Z,editor:{...a,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:e.openType!=="Popup",$converter:ue},width:{description:"窗口宽度,最小值:300px",title:"宽度",type:"number",editor:{...t,min:o()?520:300},$converter:ue},height:{description:"窗口高度,最小值:200px",title:"高度",type:"number",editor:{...t,min:200},$converter:ue},showNavigation:{description:"显示导航栏",$converter:Z,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:n().includes("NAV")&&e.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&e.openType!=="Popup",editor:{...t,min:200,max:(((l=e==null?void 0:e.dialog)==null?void 0:l.width)??960)-200},$converter:ue},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:e.openType!=="Popup",$converter:ue},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!e.enableUserData&&(((r=e==null?void 0:e.dialog)==null?void 0:r.resizeable)??!0)&&e.openType!=="Popup",$converter:ue},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:e.openType!=="Popup",$converter:ue},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:e.openType!=="Popup",$converter:ue},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:e.openType!=="Popup",$converter:ue}}}function it(e,a=!0){var l,r,d,s;const t=!((l=e.pagination)!=null&&l.enable),n=()=>e.displayType?e.displayType.toUpperCase():"",o=(c,f)=>{const p=n()!=="TREELIST"||c.treeToList;return f&&p?c.pagination&&c.pagination[f]:p};return{hide:n()==="TREELIST"||!e.helpId||t,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Vt,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:a,visible:o(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:a,visible:o(e,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:xe((r=e.pagination)==null?void 0:r.sizeLimits),beforeSubmit:({notifyService:c,data:f})=>!f||!f.length?(c==null||c.warning({message:"每页显示条数不能为空!"}),!1):new Set(f.map(w=>parseInt(w.value,10))).size===f.length?!0:(c==null||c.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(e),editor:{type:"number-spinner",useThousands:!1,data:xe((d=e.pagination)==null?void 0:d.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(s=e.pagination)==null?void 0:s.size}}}}}class ot extends Ne.InputBaseProperty{constructor(){super(...arguments);ne(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ne(this,"numberEditor",{type:"number-spinner",useThousands:!1});ne(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ne(this,"visibleEditor",{...this.comboListEditor,editable:!1});ne(this,"requiredEditor",{...this.comboListEditor,editable:!1});ne(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(t,n){const o=["validate"];return t.type==="form-group"&&o.push("dataPicking"),new Ne.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(t,"Field",o)}getPropertyConfig(t,n,o="Card"){var u;const l=(u=t.binding)!=null&&u.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(t,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(t,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(t,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(t,["Const","Variable"],"allowFreeInput");const r=this.getBasicProperties(t,n,o),d=this.getBehaviorConfig(t),s=this.getAppearanceProperties(t,n),c=this.getLookupConfig(t),f=this.getEventPropConfig(t),p=this.getDialogPropertyConfig(t),w=this.getPageConfig(t.editor),k=this.getTreePropConfig(t.editor),v=this.getSearchConfig(t),h=this.getExpressionConfig(t,"Field"),m={basic:r,appearance:s,behavior:d,lookup:c,treeConfig:k,dialog:p,pager:w,searchConfig:v,expressions:h};return t.type==="form-group"&&(m.eventsEditor=f),{type:"object",categories:m}}getGridFieldEdtiorPropConfig(t){return this.getPropertyConfig(t,null,"Grid").categories}flattenTreeNodes(t){return t.reduce((n,o)=>{var l;return n.push(o),(l=o.children)!=null&&l.length&&n.push(...this.flattenTreeNodes(o.children)),n},[])}isSimpleStringField(){var d;const t=((d=this.designViewModelField)==null?void 0:d.path)||"";if(!t||!t.includes("."))return!0;const n=t.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(s=>s.data.code===n[0]);if(!l)return!1;const r=[l,...this.flattenTreeNodes(l.children)];return!n.reduce((s,c,f)=>[...s,f?`${s[f-1]}.${c}`:c],[]).some(s=>{var c,f,p;return((p=(f=(c=r.find(w=>w.data.path===s))==null?void 0:c.data)==null?void 0:f.type)==null?void 0:p.$type)==="EntityType"})}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(n,o)=>{this.afterMutilEditorChanged(o,n)}}}changeBindingField(t,n){super.changeBindingField(t,n),t.editor.multiSelect=!1}getDisplayType(t){return t.displayType?t.displayType.toUpperCase():""}mapFieldsDisplayFormatter(t){return t&&t.length?t.map(n=>`${n.name}[${n.bindingPath}]`).join(","):""}getSearchConfig(t){var n;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:Z,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean"},searchAnyField:{description:"显示所有列",$converter:Z,title:"允许查询所有列",type:"boolean",visible:t.editor.openType!=="Popup"&&t.editor.enableSearchBar==null?!0:!!t.editor.enableSearchBar},enableEqualSearch:{$converter:Z,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:t.editor.openType!=="Popup"&&(((n=t.editor)==null?void 0:n.enableSearchBar)??!0)!==!1}},hide:t.editor.openType==="Popup"}}getLookupConfig(t){const n=t.editor,o=()=>{const c=this.formSchemaUtils.getFormSchema().module.entity[0].id,f=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:n,formBasicInfo:f,viewModelId:c,dataSourceId:n.helpId}},{dataSourceEditor:l,idFieldEditor:r,textFieldEditor:d,mappingFieldsEditor:s}=nt(n,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(c,f)=>{if(c)switch(c.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(f,c);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:!(n.multiSelect&&n.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:Z,editor:this.freeInputEditor,visible:!!n.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:Z},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:c=>c&&c.length?c.map(f=>`${f.name}(${f.code})`).join(","):"",validateFunction:async c=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(c,t),onSubmitModal:c=>{if(c){delete n.mappingFields;const f=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(f.relativePath,c[0].data).then(p=>JSON.parse(p==null?void 0:p.metadata.content))}}},$converter:Ue},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:Z,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:n,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:ke.FieldSelectorRepositoryToken,beforeOpen:async({repository:c,notifyService:f})=>{var m;if(!(n==null?void 0:n.helpId))return f==null||f.warning({message:"请先配置数据源!"}),!1;const w=o(),v=new Ne.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let h={};if(c){const u=await c.getData(w),b=await c.getLookupConditions(w);h={fieldList:u,conditionList:b}}return(m=v.variables)!=null&&m.forms&&(v.variables.forms.items=v.variables.forms.items.filter(u=>u.category==="remote")),{...h,...v,isServerSide:!0}},onSubmitModal:async({loadingService:c,repository:f,conditions:p,originalConditions:w,FMessageBoxService:k})=>{if(f)try{const v=o(),h=await f.getLookupConditions(v)||[];return JSON.stringify(h)!==JSON.stringify(w.value)?(c==null||c.clearAll(),k.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{p.value=h,w.value=JSON.parse(JSON.stringify(p.value))},()=>{}),!1):(JSON.stringify(p.value)===JSON.stringify(w.value)||await f.saveFilterCondition(p.value,v,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return k==null||k.error("保存失败",""),!1}finally{c==null||c.clearAll()}}},visible:!!n.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Et,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...r},$converter:Lt},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:xt,editor:d},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:Z,editor:{...s}},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:!!n.multiSelect&&n.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:!!n.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:Z,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:Z,title:"启用收藏夹",type:"boolean",visible:n.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:Z,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:n.openType!=="Popup"}}}}showNavigatiorWidth(t){return this.getDisplayType(t).startsWith("NAV")&&t.openType!=="Popup"?t.showNavigation===void 0?!0:!!t.showNavigation:!1}getDialogPropertyConfig(t){const n=at(t.editor);return n.openType.$converter=Z,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:ue,properties:n}}showPagerProperty(t,n){const o=this.getDisplayType(t)!=="TREELIST"||t.treeToList;return n&&o?t.pagination&&t.pagination[n]:o}getPageConfig(t){return it(t)}showLoadType(t){const n=this.getDisplayType(t);return(n==="TREELIST"||n==="NAVTREELIST")&&!t.treeToList&&!t.navTreeToList}isTree(t){return this.getDisplayType(t)==="TREELIST"&&!t.treeToList}getTreePropConfig(t){return{hide:this.getDisplayType(t)!=="TREELIST"&&this.getDisplayType(t)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:Z,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:Z,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="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(t)},enableFullTree:{description:"启用构造完整树",$converter:Z,title:"构造完整树",type:"boolean",visible:this.showLoadType(t)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:Z,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(t)},enableCascade:{description:"启用级联选择",$converter:Z,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(t)&&!!t.multiSelect&&t.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:Z,title:"显示级联状态",type:"boolean",visible:!!t.enableCascade&&this.isTree(t)},cascadeValue:{description:"缺省级联选择模式",$converter:Z,title:"缺省级联选择模式",type:"string",visible:!!t.enableCascade&&this.isTree(t),editor:{...this.comboListEditor,data:Le,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:Z,title:"默认展开层级",type:"number",visible:this.showLoadType(t),editor:{...this.numberEditor,min:-1,max:99}}}}}getEventPropConfig(t){const n=this;let o=Nt;t.editor.openType==="Popup"&&(o=o.filter(d=>d.label!=="beforeSelectData"));const l=n.eventsEditorUtils.formProperties(t,n.viewModelId,o);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(l),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,s){const c=d.propertyValue;delete s[n.viewModelId],c&&n.eventsEditorUtils.saveRelatedParameters(s,n.viewModelId,c.events,c);const f=n.designViewModelUtils.getDgViewModel(n.viewModelId);f&&n.designViewModelField&&f.changeField(n.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}async checkSameBESource(t,n){var o,l,r,d,s;if(t&&((o=n==null?void 0:n.editor)!=null&&o.helpId)&&!n.isRtcControl){if(t.data.id===n.editor.helpId)return!0;const c=await this.metadataService.getPickMetadata("",t.data).then(h=>{var m;if((m=h==null?void 0:h.metadata)!=null&&m.content)return JSON.parse(h.metadata.content)}),f=await this.metadataService.getPickMetadata("",{id:n.editor.helpId}).then(h=>{var m;if((m=h==null?void 0:h.metadata)!=null&&m.content)return JSON.parse(h.metadata.content)}),p=(l=c==null?void 0:c.dataSource)==null?void 0:l.sourceType,w=(r=f.dataSource)==null?void 0:r.sourceType,k=(d=c==null?void 0:c.dataSource)==null?void 0:d.sourceId,v=(s=f==null?void 0:f.dataSource)==null?void 0:s.sourceId;if(p==="BE"&&w==="BE"&&k!==v)return new Me.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function Dt(e,a){function t(n,o){const l=e.schema;return new ot(n,a).getPropertyConfig(l,o)}return{getPropsConfig:t}}const Ot=i.defineComponent({name:"FLookupDesign",props:we,emits:[],setup(e,a){const t=i.ref(),n=i.inject("design-item-context"),o=i.inject("designer-host-service"),l=Dt(n,o),r=yt.useDesignerComponent(t,n,l),d='<i class="f-icon f-icon-lookup"></i>',s='<i class="f-icon f-icon-arrow-chevron-down"></i>',c=i.computed(()=>e.openType==="Popup"?"Popup":"Modal"),f=i.computed(()=>c.value==="Popup"?s:d);return i.onMounted(()=>{t.value.componentInstance=r}),a.expose(r.value),()=>i.createVNode("div",{class:"f-lookup-design",ref:t},[i.createVNode(ge,{ref:t,buttonContent:f.value,readonly:!0,editable:!1,placeholder:e.placeholder},null)])}});function me(e,a){const{lookupOptions:t}=a;function n(h){return{...je,...h}}function o(){return{enableSelectRow:!0,multiSelect:t.multiSelect,showCheckbox:t.multiSelect,multiSelectMode:"OnCheckAndClick"}}function l(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:h}=a.lookupOptions;return typeof h=="string"&&h in ce?!1:h.toLowerCase().startsWith("nav")}function d(){const{displayType:h,treeToList:m}=a.lookupOptions;return(h.toLowerCase()===ce.Tree.toLowerCase()||h.toLowerCase()===ce.ListTree.toLowerCase())&&!m}function s(){const{displayType:h,navTreeToList:m}=a.lookupOptions;return h.toLowerCase()===ce.TreeList.toLowerCase()&&!m}function c(){const{displayType:h,navTreeToList:m}=a.lookupOptions,u=h.toLowerCase();return u===ce.ListList.toLowerCase()||u===ce.ListTree.toLowerCase()||m}function f(){var u;return t.dialog?{width:((u=t.dialog)==null?void 0:u.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function p(h){const{loadTreeDataType:m}=t;return m===fe.all||m==="default"&&(h==null?void 0:h.loadDataType)==="all"}function w(h){return(h==null?void 0:h.layerType)==="pathcode"}function k(){return t.enableCascade&&t.multiSelect}function v(){return e.openType==="Popup"}return{checkPaination:n,checkMultiSelect:o,checkColumnOptions:l,isDoubleList:r,getNavigationSize:f,isTreeList:d,navIsTreeList:s,navIsList:c,isLoadAll:p,isPathCodeTree:w,isEnableCascadeCheck:k,isDropdownMode:v}}function lt(e,a,t){var l;const n=i.ref(e.searchFields||[]),o=i.ref(((l=e.navigation)==null?void 0:l.searchFields)||[]);return i.watch(()=>a==null?void 0:a.searchFields,r=>{n.value=r}),i.watch(()=>t==null?void 0:t.searchFields,r=>{o.value=r}),{searchFieldItems:n,navSearchFieldItems:o}}function Bt(e){const a=i.reactive({}),t=i.reactive({}),n=i.reactive({}),o=i.reactive({}),l=i.reactive({}),r=i.ref([]),d=i.ref(),s=i.reactive({}),c=i.ref(!1),f=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade"];function p(){f.forEach(w=>{s[w]=e[w]})}return p(),{pageInfoState:a,lookupState:t,navigationState:n,queryState:o,searchState:l,selectionState:r,unSelectDataId:d,lookupOptions:s,searchValueChanged:c}}const Fe=i.ref(),pe="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function At(e,a){const t=i.inject("FLoadingService"),n=i.inject(Ke),o=Bt(e),{pageInfoState:l,lookupState:r,navigationState:d,lookupOptions:s,searchValueChanged:c}=o,{searchFieldItems:f,navSearchFieldItems:p}=lt(e,r,d),w=i.ref(e.idValue),k=i.ref(!1),v=()=>{var P;const g=(P=s.displayType)==null?void 0:P.toUpperCase();return g===ce.Tree||g===ce.TreeList},h=(g,P=!1)=>{if(g){const{layerType:M,dataField:R,parentField:K,pathField:Y,layerField:q,isDetailField:W,loadDataType:V}=g,J={layerType:M,dataField:R,parentField:K,pathField:Y,layerField:q,isDetailField:W,loadDataType:V},{onlySelectLeaf:I,loadTreeDataType:T}=s;J.onlySelectLeaf=I,J.loadDataType=T,P?s.navTreeInfo=Object.assign(s.navTreeInfo||{},J):s.treeInfo=Object.assign(s.treeInfo||{},J)}};function m(g,P,M="like"){if(P==null||!P.trim())return[];const R=Array.from(new Set(P.trim().split(" ").filter(V=>V.trim())));if(!g||!R.length)return[];const Y=M==="equal"?Se.Equal:Se.Like,q=(g||[]).map((V,J)=>{const I=R.map((T,N)=>({filterField:V.value,value:T,lbracket:"",rbracket:"",relation:Te.And,compare:Y}));return I.length&&(I.length>1&&(I[0].lbracket="(",I[I.length-1].rbracket=")"),I[I.length-1].relation=Te.Or),I}).filter(V=>V.length);let W=[];return q&&q.length&&(W=re.flatten(q),W.length>1&&(W[0].lbracket+="(",W[W.length-1].rbracket+=")"),W[W.length-1].relation=0),W}function u(){let{expandLevel:g}=s;return g&&!re.isNaN(g)&&(g=g<-1?-1:g),g}function b(g,P){const M={};M.category=P;let R=null,K=null;if(g!=null&&g.search){const{field:Y,value:q,isNavigation:W,type:V}=g.search,J=V||"like";if(q&&(M.searchValue=q.trim()),M.searchField=Y?Y.trim():"*",M.searchType=J,W&&(M.category="navsearch"),!e.enableMultiFieldSearch){W&&(M.searchType="like");const I=M.searchType==="equal"&&M.searchValue?[{filterField:M.searchField,value:M.searchValue,lbracket:"",rbracket:"",relation:Te.And,compare:Se.Equal}]:[],T=W?p.value:f.value,N=M.searchField==="*"?m(T,q,J):I;N&&N.length&&(W?R=N:K=N),q===""&&M.category==="search"&&!K&&!R&&(M.category="all")}}return v()&&(M.layerNum=u()),{searchParam:M,navSearchConditions:R,searchConditions:K}}function C(g){var M,R;if(g==="fav")return{pageIndex:1,pageSize:500};let P="default";return g==="navsearch"&&(P="navigation"),{pageIndex:((M=l[P])==null?void 0:M.index)||1,pageSize:((R=l[P])==null?void 0:R.size)||20}}function F(g){const P={},M=(g==null?void 0:g.action)||"all",{searchParam:R,navSearchConditions:K,searchConditions:Y}=b(g,M);Y&&(P.searchConditions=Y),K&&(P.navSearchConditions=K),P.enableFullTree=e.enableFullTree,P.searchValue=JSON.stringify(R);const{pageIndex:q,pageSize:W}=C(M);return P.pageIndex=q,P.pageSize=W,P.treeToList=e.treeToList,P.navTreeToList=e.navTreeToList,s.loadTreeDataType===fe.default?P.loadTreeDataType="default":P.loadTreeDataType=s.loadTreeDataType===fe.all?"loadall":"layerload",g!=null&&g.relationFilter&&(P.relationFilter=[...g.relationFilter]),g!=null&&g.navNodePathCode&&(P.navPathCode=g.navNodePathCode),g.selectedInfo&&(P.selectedInfo=g.selectedInfo),P.customData=i.toRaw(Fe.value),P.id=e.id,P}function D(g){return g==null?void 0:g.map(P=>(P.resizable=!0,P))}function x(g,P){return g.map(M=>{const R=P==null?void 0:P.find(K=>K.field.toLowerCase()===M.value.toLowerCase());return R&&(M.label=R.title),M})}function y(g){g.columns&&(g.columns=D(g.columns),g.searchFields&&(g.searchFields=x(g.searchFields,g.columns))),g.navigation&&g.navigation.columns&&(g.navigation.columns=D(g.navigation.columns),g.navigation.searchFields&&(g.navigation.searchFields=x(g.navigation.searchFields,g.navigation.columns)))}function z(){return s.loader||n&&n.getData.bind(n)}function B(g){const P=z();return P?P(s.uri,g).then(M=>(y(M),c.value=!1,M)):new Promise((M,R)=>{M({columns:[...e.columns],items:[...e.data],searchFields:[...e.searchFields],navigation:{...e.navigation}})})}function _(g){const P=u();return P===-1?!0:P===0?!1:g<=P}function S(g,P=!1,M="layer"){g.forEach(R=>{var K;R.collapse=P?!1:s.loadTreeDataType==="all"?!_(Ce.resolveField(R.data,M)):!(R.expanded??!0),R.hasChildren=!R.leaf,(K=R.children)!=null&&K.length&&S(R.children,P,M)})}async function j(g,P){var K;const M=F(g),R=t==null?void 0:t.show();try{let Y=await B(M);if(s.displayType!==Y.displayType&&g.action!=="navsearch"&&(s.displayType=Y.displayType),v()){const{items:q,treeInfo:W}=Y.navigation||Y;if(s.loadDataType===fe.default&&(s.loadTreeDataType=(W==null?void 0:W.loadDataType)||fe.all),q!=null&&q.length&&W){const{dataField:V,layerField:J}=W;S(q,!1,`${V}.${J}`)}}e.beforeLoadData&&(Y=await e.beforeLoadData({data:Y})),P(Y)}finally{(K=R==null?void 0:R.value)==null||K.close()}}function E(g){k.value=g}function L(g,P){if(!P)return"";const{dataField:M,pathField:R}=P;return R?M?g[M][R]:Ce.resolveField(g,R):""}function Q(g){const P=[];return(g.selectable||g.selectable===void 0)&&P.push(g),g.children&&g.children.length&&g.children.forEach(M=>{P.push(...Q(M))}),P}function te(g,P=!1){var Y;if(!(g!=null&&g.length))return g;const M=P?(Y=s.navigation)==null?void 0:Y.treeInfo:s.treeInfo,{dataField:R,layerField:K}=M||{};return R&&K&&S(g,!0,`${R}.${K}`),g}function U(){try{const g=w.value;return g!==""&&g!=null?g:""}catch(g){return console.error("Error in getIdValues:",g),""}}function X(){let g=U()||[];return Array.isArray(g)||(g=(""+g).split(e.separator)),{selectedIds:g,selected:!0}}return{includeChilds:k,updateIncludeChilds:E,idValues:w,getData:B,loadData:j,updateSearchFieldTitle:x,getPathCode:L,getChildNodes:Q,lookupStates:o,httpService:n,lookupRequest:z,expandAllNodes:te,getIdQueryParams:X,setTreeInfo:h,getFieldValue:Ce.resolveField}}function st(e,a){i.watch(()=>e.pagination,n=>{a.default=n}),i.watch(()=>{var n;return(n=e.navigation)==null?void 0:n.pagination},n=>{a.navigation=n});function t(n,o=!1){n&&(o?a.navigation={...a.navigation,...n}:a.default={...a.default,...n})}return{updatePageInfo:t}}const Ee="F_LOOKUP_USER_DATA_SERVICE";function jt(e,a){const t=i.inject("FLoadingService",null),{lookupStates:n,lookupRequest:o,httpService:l}=a,{lookupOptions:r}=n,d=i.computed(()=>{const v=r.userDataKey||e.id;return v?Ce.encrypt(v):""}),s=i.reactive({key:d.value,data:{}});function c(){return l?l.getSettings(s.key).then(v=>(v&&v.textValue?s.data=JSON.parse(v.textValue):s.data={},e.enableUserData||(s.data.tabIndex=ae.dataList),v)):Promise.resolve()}function f({width:v,height:h}){var m;s.data.size=((m=s.data)==null?void 0:m.size)||{},s.data.size={width:v,height:h}}function p(v=!1){if((e.enableUserData||v)&&l){const{key:h,data:m}=s,u={configkey1:h,configkey2:"",configkey3:"",textvalue:JSON.stringify(m)};return l==null?void 0:l.updateSettings(h,u)}return Promise.resolve()}function w(v){const h={category:"fav",favoriteIds:v.favoriteIds};return{searchValue:JSON.stringify(h),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function k(){var u;const v=w({favoriteIds:(u=s.data)==null?void 0:u.favorites}),h=t==null?void 0:t.show(),m=o();return m?m(r.uri,v).then(b=>{var C;return(C=h.value)==null||C.close(),s.favoriteItems=b&&b.items||[],b}):Promise.resolve()}return{userDataState:s,setDialogSize:f,saveUserData:p,getFavoriteData:k,getUserData:c}}const be=Symbol("FARRIS_LOOKUP_LOCALES");function Rt(e){const{t:a}=vt.useI18n();function t(c,f,p){return c===f?a(p):c}const n=t(e.placeholder,"请选择","lookup.placeholder"),o={datalist:a("lookup.datalist")||"数据列表",favorite:a("lookup.favorites")||"收藏夹"},l={ok:a("lookup.okText")||"确定",cancel:a("lookup.cancelText")||"取消",clear:a("lookup.selectedInfo.clear")||"取消已选",addFav:a("lookup.favoriteInfo.addFavTitle")||"收藏",removeFav:a("lookup.favoriteInfo.cancelFavTitle")||"取消收藏",selectionTotal:c=>a("lookup.selectedInfo.total",[c])},r={clearSelections:a("lookup.selectedInfo.confirm")||"您确认要取消所有选中记录吗?",addedFavSuccess:a("lookup.favoriteInfo.addFav")||"已添加到收藏夹。",cancelFavSuccess:a("lookup.favoriteInfo.cancelFav")||"已从收藏夹中移除。",mustChoosAdatarow:a("lookup.mustChoosAdatarow")||"请选择一条数据。",mustWriteSomething:a("lookup.mustWriteSomething")||"请输入关键字后查询。"},d={includechildren:a("lookup.includechildren")||"包含下级",both:a("lookup.cascade.enable")||"同步选择",up:a("lookup.cascade.up")||"包含上级",down:a("lookup.cascade.down")||"包含下级",disable:a("lookup.cascade.disable")||"仅选择自身"};return{searchColumns:{allColumns:a("lookup.allColumns")||"所有列",anyFields:a("lookup.anyFields")||"全部",exactLabel:a("lookup.exact")||"精确"},placeholder:n,tree:d,messages:r,tabs:o,buttons:l}}function ze(e,a){const t=i.inject(Me.F_NOTIFY_SERVICE_TOKEN),n=i.inject(Ee),o=i.inject(be),{userDataState:l}=n;l.data=l.data||{};const r="_favorite_",d=i.ref(!1);function s({id:u,data:b},C="add"){var D,x;if(u==null&&u==="")return;const F=u;l.data.favorites=((D=l.data)==null?void 0:D.favorites)||[],l.favoriteItems=l.favoriteItems||[],C==="add"?(d.value=!1,l.data.favorites=Array.from(new Set([...((x=l.data)==null?void 0:x.favorites)||[],F])),l.favoriteItems=[...l.favoriteItems,b]):(d.value=!0,l.data.favorites=l.data.favorites.filter(y=>y!==F),l.favoriteItems=l.favoriteItems.filter(y=>y[a]!==F)),n==null||n.saveUserData(!0).then(y=>{const z=C==="add"?o.messages.addedFavSuccess:o.messages.cancelFavSuccess;t==null||t.success({message:z,position:"top-center"})})}function c(u){return u?u.raw[a]:""}const f=i.computed(()=>u=>{var C,F;const b=c(u);return(F=(C=l.data)==null?void 0:C.favorites)==null?void 0:F.includes(b)});function p(u,b,C){u.stopPropagation();const F=c(b);s({id:F,data:b.raw},f.value(b)?"remove":"add")}const w=u=>f.value(u)?o.buttons.removeFav:o.buttons.addFav,k=(u,b)=>i.createVNode("button",{type:"button",onClick:C=>{p(C,b)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":f.value(b)}],style:"color: #ffbd8c;",title:w(b)},null),v=(u,b)=>b.disabled?"":k(u,b),h={field:r,title:"",width:50,fixed:"right",align:"center",formatter:k};function m(u,b,C=!1){const F=re.cloneDeep(b);e.enableFavorite&&(h.formatter=C?v:k,F.push(h)),u==null||u.updateColumns(F)}return{favorite:h,removeFavoriteItem:d,setColumns:m}}function _e(e,a,t,n){const{selectionState:o,unSelectDataId:l,lookupOptions:r}=t,d=i.computed(()=>!(o.value&&o.value.length));n&&i.watch(()=>n.value,(s,c)=>{var f;if(s===ae.dataList&&s!==c&&!d.value){const p=o.value.map(w=>w[r.idField]);(f=a.value)==null||f.selectItemByIds(p)}}),i.watch(d,(s,c)=>{var f;s&&((f=a.value)==null||f.clearSelection())}),e.showSelections&&r.multiSelect&&i.watch(l,s=>{var c;s&&((c=a.value)==null||c.unSelectItemByIds(s))})}const ve=Symbol("LOOKUP_SELECTIONS_MANAGER");function rt(e,a){const{selectionState:t,unSelectDataId:n,lookupOptions:o}=a,l=i.computed(()=>o.idField);function r(u){return u[l.value]}function d(){let u=new Map;return t.value&&t.value.length&&(u=new Map(t.value.map(b=>[b[l.value],b]))),u}function s(){t.value=[]}function c(){return t.value||[]}function f(){return t.value.map(u=>u[l.value])}function p(u){if(!u)return;if(!l.value){console.error("idField is required");return}const b=Array.isArray(u)?u:[u],C=d();b.forEach(F=>{C.delete(F)}),t.value=Array.from(C.values()),n.value=b}function w(u){return d().has(u)}function k(u,b=!0){if(!u)return;if(!l.value){console.error("idField is required");return}const C=Array.isArray(u)?u:[u];if(!C.length)return;if(!C.every(x=>l.value in x)){console.error("Some items do not have the specified idField:",l.value);return}const F=C.map(x=>x[l.value]);if(!o.multiSelect){if(F.length&&w(F[0]))return;s()}const D=d();if(b){const x=new Map(C.map(y=>[y[l.value],y]));F.forEach(y=>{D.has(y)||D.set(y,x.get(y))})}else F.forEach(x=>{D.delete(x)});t.value=Array.from(D.values())}function v(u){if(!u||!u.length)return;const b=u.map(C=>C.data);k(b)}function h(u){if(u){const b=u.raw[l.value];p(b)}}function m(u){!u||!u.length||p(u)}return{updateSelections:k,clearSelections:s,getSelectionIds:f,getSelections:c,unSelectionsByIds:p,selectTreeNodes:v,unSelectTreeNode:h,unSelectTreeNodes:m,isSelected:w,getPrimaryKey:r}}function ct(e,a){const{getSelectionIds:t}=rt(e,a),{lookupOptions:n}=a;function o(d,s){d==null||d.updateDataSource(s||[])}function l(d){const s=t();if(s&&s.length){if(n.multiSelect){d==null||d.selectItemByIds(s);return}d==null||d.activeRowById(s[0])}}function r(d,s){o(d,s),l(d)}return{loadData:o,selectItemByIds:l,loadAndSelect:r}}function dt(e,a,t){const n=i.inject(ye,i.ref(ae.dataList)),o=i.inject(pe),l=i.inject(ve),{lookupStates:r,loadData:d,includeChilds:s,getPathCode:c,getChildNodes:f}=o,{lookupState:p,navigationState:w,pageInfoState:k,searchState:v,lookupOptions:h}=r,{checkPaination:m,checkMultiSelect:u,checkColumnOptions:b,navIsTreeList:C,isLoadAll:F,isPathCodeTree:D}=me(e,r),{updatePageInfo:x}=st(e,k),{updateSelections:y,isSelected:z,getPrimaryKey:B}=l,{loadAndSelect:_}=ct(e,r),S=m(e.pagination),j=u(),E=b(),L=i.ref(),Q=i.ref([]),{navSelectedItems:te,getNavigationIdField:U,getRelationFilter:X}=t;x(S);const g=i.ref(k.default),{setColumns:P}=ze(e,h.idField);i.watch(()=>k.default,$=>{var H;g.value=$,(H=L.value)==null||H.updatePagination($)}),_e(e,L,o.lookupStates,n);function M($,H,ie){const se={total:H};if(ie){const{pageIndex:de,pageSize:$e,enablePager:We,pageList:Ge}=ie;Object.assign(se,{index:de,size:$e,enable:We})}else se.enable=!1;x(se),_(L.value,$||[])}const R=i.computed(()=>{var de;if(!((de=te.value)!=null&&de.length))return null;const $=te.value,H={relationFilter:X($)};if(!C()||!s.value)return H;const{treeInfo:ie}=w,se={action:"navAllChildren",...H};return D(ie)?Object.assign(se,{navNodePathCode:c($[0].data,ie)}):se}),K=i.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],([$,H,ie,se,de])=>{L.value&&($&&P(L.value,$),de&&de.length&&y(de),H&&M(H,se||0,ie))});i.watch(()=>e.idValue,$=>{Q.value=$.split(e.separator)});function Y($){if($&&$.length&&!h.multiSelect){const H=B($[0]);if(z(H))return}y($),a.emit("selectionsChanged",{items:$})}function q($,H){!h.multiSelect&&e.openType==="Modal"&&(y([H]),a.emit("dblClickRow",{items:[H]}))}function W($){y($==null?void 0:$.raw,!1)}function V(){const $={search:v.default,action:"list"};e.openType==="Modal"&&R.value&&Object.assign($,R.value),d($,H=>{M(H.items,H.total||0,H.pageInfo)})}const J=re.throttle(()=>{x({index:1}),V()},200),I=i.watch(()=>te==null?void 0:te.value,$=>{if(h.uri){J();return}const H=$.map(ie=>ie[U()]);a.emit("navSelectionsChanged",{items:$,ids:H})}),T=i.watch(()=>v.default,$=>{if(h.uri){J();return}a.emit("search",$)}),N=i.watch(()=>s.value,()=>{if(h.uri&&te.value&&te.value.length){J();return}});function G(){K(),I(),T(),N()}i.watch(()=>h.displayType,$=>{$.toLowerCase()==="treelist"&&G()});function ee({pageSize:$,pageIndex:H}){var de;let ie=H;((de=g.value)==null?void 0:de.size)!==$&&(ie=1);const se={size:$,index:ie,isNavigation:!1};if(x(se),h.uri){V();return}a.emit("pageSizeChanged",se)}function le(){return i.createVNode(Pe.FDataGrid,{ref:L,class:"lookup-datagrid",pagination:g.value,summary:{enable:!1},columnOption:E,idField:h.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:j,selectionValues:Q.value,onSelectionChange:Y,onUnSelectItem:W,onChanged:ee,onDoubleClickRow:q},null)}return{datagridRef:L,selectionValues:Q,renderDataGrid:le,unwatches:G}}const Ie=Symbol("LOOKUP_TREEROW_OPTIONS"),ut={cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1},collapseField:"collapse",hasChildrenField:"hasChildren"};function ft(e,a=!1){function t(n){(n.raw.addtional||n.raw.selectable===!1)&&(n.disabled=!0);const o=a?e.navTreeInfo:e.treeInfo;return o!=null&&o.onlySelectLeaf&&(n.disabled=!n.raw.leaf),n}return{customRowStatus:t}}function pt(e,a){const{lookupState:t,lookupOptions:n}=e;function o(m,u,b){return m.reduce((C,F)=>{var D;if(F.parents=[],u){const x=re.get(u.data,n.idField);F.parent=u,F.parents=[...b||[],x]}return F.id=re.get(F,n.idField),C.push(F),(D=F.children)!=null&&D.length&&C.push(...o(F.children,F,F.parents)),C},[])}function l(m){var u;return(u=t==null?void 0:t.flattenTreeNodes)==null?void 0:u.find(b=>b.id===m)}funct