@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
55 lines • 222 kB
JavaScript
(function(_,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../field-selector/index.umd.js"),require("lodash-es"),require("../notify/index.umd.js"),require("../common/index.umd.js"),require("../modal/index.umd.js"),require("../button-edit/index.umd.js"),require("../layout/index.umd.js"),require("../data-grid/index.umd.js"),require("../locale/index.umd.js"),require("../tree-grid/index.umd.js"),require("../combo-list/index.umd.js"),require("../list-view/index.umd.js"),require("bignumber.js"),require("../number-spinner/index.umd.js"),require("../common/index.umd.js/text-box/use-input-expand"),require("../switch/index.umd.js"),require("../components/index.umd.js"),require("../radio-group/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../field-search-box/index.umd.js"),require("../popover/index.umd.js"),require("../checkbox/index.umd.js"),require("../capsule/index.umd.js"),require("../scroll-list/index.umd.js"),require("../drawer/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../dynamic-resolver/index.umd.js","../property-panel/index.umd.js","../field-selector/index.umd.js","lodash-es","../notify/index.umd.js","../common/index.umd.js","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","../locale/index.umd.js","../tree-grid/index.umd.js","../combo-list/index.umd.js","../list-view/index.umd.js","bignumber.js","../number-spinner/index.umd.js","../common/index.umd.js/text-box/use-input-expand","../switch/index.umd.js","../components/index.umd.js","../radio-group/index.umd.js","../checkbox-group/index.umd.js","../field-search-box/index.umd.js","../popover/index.umd.js","../checkbox/index.umd.js","../capsule/index.umd.js","../scroll-list/index.umd.js","../drawer/index.umd.js"],t):(_=typeof globalThis<"u"?globalThis:_||self,t(_.lookup={},_.Vue,_.FButtonEditDesign,_.designerCanvas,_.dynamicResolver,_.propertyPanel,_.fieldSelector,_.LodashES,_.notify,_.common,_.modal,_.FButtonEdit,_.layout,_.dataGrid,_.locale,_.treeGrid,_.comboList,_.FListView,_.BigNumber,_.numberSpinner,_.useInputExpand,_._switch,_.components,_.radioGroup,_.checkboxGroup,_.fieldSearchBox,_.FPopover,_.Checkbox,_.FCapsule,_.List,_.Drawer))})(this,function(_,t,Ne,De,Be,dt,Xe,ge,Ze,W,Lt,et,ct,tt,Fe,ut,kt,mn,Ol,Le,gn,yn,Pt,bn,vn,Me,Sn,Nt,Cn,Oe,Tn){"use strict";var Bl=Object.defineProperty;var Ml=(_,t,Ne)=>t in _?Bl(_,t,{enumerable:!0,configurable:!0,writable:!0,value:Ne}):_[t]=Ne;var ce=(_,t,Ne)=>Ml(_,typeof t!="symbol"?t+"":t,Ne);function Et(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const Dt=new Map([["appearance",Be.resolveAppearance],["mappingFields",(e,n,a)=>{if(n)return Et(n);const{mappingFields:l}=a;return Et(l)}],["uri",(e,n,a)=>{var l;return n?{uri:n}:{uri:(l=a==null?void 0:a.dataSource)==null?void 0:l.uri}}],["idField",(e,n,a)=>{var i;const l=(i=a==null?void 0:a.dataSource)==null?void 0:i.idField;return l?{idField:l}:{idField:n||"id"}}]]),Bt={$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},enableMultiFieldSearch:{type:"boolean",default:!1},searchAnyField:{type:"boolean",default:!0},dialog:{type:"object",default:null},idField:{type:"string",default:"id"},pagination:{type:"object",default:null},allowFreeInput:{type:"boolean",default:!1},loadTreeDataType:{type:"string",default:"default"},onlySelectLeaf:{type:"boolean",default:!1},enableFullTree:{type:"boolean",default:!0},beforeLoadData:{type:"object",default:null},beforeSelectData:{type:"object",default:null},enableCascade:{type:"boolean",default:!1},showCascadeControl:{type:"boolean",default:!0},cascadeItems:{type:"object",default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:"string",default:"both"},expandLevel:{type:"number",default:0},enableClear:{type:"boolean",default:!0},openType:{type:"string",default:"Modal"},enableTitle:{type:"boolean",default:!1},showIncludeChildNodes:{type:"boolean",default:!0},includeChildNodesValue:{type:"boolean",default:!0},enableEqualSearch:{type:"boolean",default:!1},onClearMapping:{type:"string",default:""},customFormatter:{type:"object",default:null},customNavFormatter:{type:"object",default:null},enableTips:{type:"boolean",default:!1},tipsContent:{type:"string",default:""},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},loader:{type:"object",default:null},selectFirstNavItem:{type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""},userDataKey:{type:"string",default:""}},required:["type"],ignore:["appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function Mt(e,n,a){return n}var ft=(e=>(e.Both="both",e.Up="up",e.Down="down",e.Disable="disable",e))(ft||{});const nt=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],pt="";var Se=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(Se||{}),xe=(e=>(e.default="default",e.all="all",e.async="async",e))(xe||{});const Ae="__lookup_active_tab__",xn="__lookup_user_data_id__";var be=(e=>(e.dataList="datalist",e.favorite="favorite",e))(be||{});const ht={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},mt=Symbol("f_lookup-http-service_token");var $e=(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))($e||{}),Ue=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(Ue||{}),Ot=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Ot||{});const At={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function wn(){function e(n,a,l){const i={};return i.dictPicking=o=>a.call("dictPicking",n,[o,n],l),i.beforeLoadData=o=>a.call("beforeLoadData",n,[o,n],l),i.beforeSelectData=o=>a.call("beforeSelectData",n,[o,n],l),i.dictPicked=o=>a.call("dictPicked",n,[o,n],l),i}return{resolve:e}}const Re={id:{type:String,require:!0},uri:{type:String,default:""},title:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,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:ht},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},beforeLoadData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},searchAnyField:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},showNavigation:{type:Boolean,default:!0},showNavSearchBar:{type:Boolean,default:!0},showIncludeChildNodes:{type:Boolean,default:!0},selectFirstNavItem:{type:Boolean,default:!1},navDefaultQueryValue:{type:Object,default:null},includeChildNodesValue:{type:Boolean,default:!0},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:xe.default},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""},enableUserData:{type:Boolean,default:!1},userDataKey:{type:String,default:""},onReady:{type:Function,default:null},context:{type:Object,default:{}},placeholder:{type:String,default:"请选择"},loader:{type:Function,default:null},allowFreeInput:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!0},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:String,default:"both"},expandLevel:{type:Number,default:0},openType:{type:String,default:"Modal"},enableTitle:{type:Boolean,default:!1},enableEqualSearch:{type:Boolean,default:!1},togglePopupOnClickInput:{type:Boolean,default:!1},customFormatter:{type:Object,default:null},customNavFormatter:{type:Object,default:null},textAlign:{type:String,default:"left"},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},Fn=Be.createPropsResolver(Re,Bt,Dt,Mt),Rt=wn(),gt=Be.getPropsResolverGenerator(Re,Bt,Dt,Mt);function at(e){let n=[10,20,30,50,100];return e&&(typeof e=="string"&&(n=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(n=e)),n.map(a=>({value:parseInt(a,10)})).sort((a,l)=>a.value-l.value)}const ie={convertFrom:(e,n)=>{const a=e.editor?e.editor:e;return n==="multiSelect"||n==="enableTitle"?!!a[n]:n==="separator"?a[n]||",":n==="onlySelectLeaf"?a[n]==null?!1:a[n]:n==="loadTreeDataType"?a[n]||"default":n==="placeholder"?ge.isNil(a[n])?"请选择":a[n]:n==="openType"?a[n]||"Modal":a[n]},convertTo:(e,n,a)=>{const l=e.editor?e.editor:e;if(l[n]=a,n==="multiSelect"&&!a&&(l.enableCascade=!1),n==="openType"){if(a==="Popup")l.showSelections=!1,l.enableCascade=!1;else if(l.dialog){const{width:i}=l.dialog,{displayType:o}=l;o&&o.toUpperCase().indexOf("NAV")>-1&&(!i||i<520)&&(l.dialog.width=960)}}l.multiSelect&&l.openType==="Popup"&&(l.editable=!1,l.allowFreeInput=!1)}};function Vn(e){let n="form_group_"+Date.now();return e&&(n=e.replace(/-/g,"_").replace(/\./g,"_")),"lookup."+n}function In(e,n){const{enablePager:a,pageSize:l,pageList:i}=n;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:a,sizeLimits:at(i).map(o=>o.value),size:l,showLimits:!0,showGoto:!1,mode:"server"})}const yt={convertFrom:(e,n)=>{var l;return(l=(e.editor?e.editor:e).dataSource)==null?void 0:l.displayName},convertTo:(e,n,a)=>{if(a&&a.length>0){const l=e.editor?e.editor:e,i=a[0],{name:o,id:r,metadataContent:u,code:s}=i;l.dataSource||(l.dataSource={}),l.dataSource.displayName=`${o}(${s})`,l.helpId=r;const{displayType:d,idField:c,textField:f}=u;l.displayType=d,l.dataSource.idField=c,l.textField=f,l.dataSource.type="ViewObject",l.enableEqualSearch=!1;const{pageInfo:v}=u.dataSource;In(l,v);const{treeInfo:w}=d.toUpperCase()==="NAVTREELIST"?u.navigation:u.dataSource;if(w){const{onlySelectLeaf:h,loadDataType:F}=w;l.loadTreeDataType="default",l.onlySelectLeaf=h??!1}if(l.dataSource.uri||(l.dataSource.uri=Vn(e.id)),l.dialog){const{width:h}=l.dialog;d&&d.toUpperCase().indexOf("NAV")>-1&&(!h||h<520)&&(l.dialog.width=960)}}}},Ln={convertFrom:(e,n)=>{var a;return(a=e.editor.dataSource)==null?void 0:a.idField},convertTo:(e,n,a)=>{if(a&&a.length>0){const l=a[0];e.editor.dataSource.idField=l==null?void 0:l.bindingPath}}},kn={convertFrom:(e,n)=>{var a;return(a=e.editor)==null?void 0:a.textField},convertTo:(e,n,a)=>{if(a&&a.length>0){const l=a[0];e.editor.textField=l==null?void 0:l.bindingPath}}},Pn={convertFrom:(e,n)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,n,a)=>{e.editor.displayType=a}},Ve={convertFrom:(e,n)=>{var o;let a=e.editor?e.editor.dialog:e.dialog;const l=e.editor?e.editor.openType:e.openType;if(a||(a={}),n==="title")return a[n]||pt;if(!l||l==="Modal"){if(n==="width")return(o=a.displayType)!=null&&o.toUpperCase().startsWith("NAV")?a[n]||960:a[n]||590;if(n==="height")return a[n]||620;if(n==="navigatorWidth")return a[n]||320}else{if(n==="width")return a[n]||460;if(n==="height")return a[n]||380}if(n==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(n))return a[n]==null?!0:a[n]},convertTo:(e,n,a)=>{const l=e.editor?e.editor:e;l.dialog=l.dialog||{},l.dialog[n]=a}},Nn={convertFrom:(e,n)=>{const a=e.editor?e.editor:e;if(a.pagination=a.pagination||{},n==="enable"||n==="showLimits")return a.pagination[n]==null?!1:a.pagination[n];if(n==="sizeLimits"){const l=a.pagination[n];return at(l)}if(n==="size")return a.pagination[n]||20},convertTo:(e,n,a)=>{var i;const l=e.editor?e.editor||{}:e;if(l.pagination=l.pagination||{},n==="sizeLimits"){const o=a.map(u=>u.value);l.pagination[n]=o;const r=((i=l.pagination)==null?void 0:i.size)??20;o.includes(r)||(l.pagination.size=o[0]);return}l.pagination[n]=a}},En=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Dn=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Bn=`{
"name": ({rowData, column}) => {
return rowData.name;
},
"rowStyler": ({rowData}) => {
return {
style: {
color: 'red'
},
class: {
'bg-red': true
}
}
},
"cellStyler": ({rowData, column}) => {
return {
style: {
backgroundColor: 'red'
},
class: {
'bg-red': true
}
}
}
}`,jt=e=>t.createVNode(t.Fragment,null,[t.createVNode("h5",{style:"display: flex;justify-content: space-between;align-items: center;"},[t.createTextVNode("示例代码:"),t.createVNode("button",{class:"btn btn-link align-items-center d-flex",onClick:()=>e.value.setValue(Bn)},[t.createVNode("span",{class:"f-icon f-icon-source-code mr-1"},null),t.createTextVNode("应用代码")])]),t.createVNode("pre",{style:"height: calc(100% - 35px);margin: 0;"},[`{
// 列表字段自定义数据,rowData: 行数据, column: 列信息;
// 返回字符串. name为字段名称。其他字段可根据需求自定义。
"name": ({rowData, column}) => {
return rowData.name;
},
// 行样式,rowData: 行数据;
// 返回格式 { style?: { [key]: string }, class?: { [key]: boolean } }
"rowStyler": ({rowData}) => {
return {
style: {
color: 'red'
},
class: {
'bg-red': true
}
}
},
// 单元格样式,rowData: 行数据, column: 列信息;
// 返回格式 { style?: { [key]: string }, class?: { [key]: boolean } }
"cellStyler": ({rowData, column}) => {
return {
style: {
backgroundColor: 'red'
},
class: {
'bg-red': true
}
}
}
}`])]),qt=Symbol("schema_repository_token");function Mn(e,n){const a=new Map;n.forEach(i=>{a.set(i.id,i.title)});const l=i=>{var o;if(!(!i||i.length===0))for(const r of i){const u=(o=r.data)==null?void 0:o.id;u&&a.has(u)&&(r.data.name=a.get(u)),r.children&&r.children.length>0&&l(r.children)}};l(e)}function $t(e,n){const a=l=>l&&l.length?l.map(i=>`${i.name}[${i.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:["PC_RTC","PC_NoCode"].includes(n.formSchemaUtils.designerMode)?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(l,i)=>`${l==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:qt},dataSourceConverter:yt,defaultConverter:ie,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Xe.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Xe.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:e,formBasicInfo:n.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(l,i)=>`${i.raw.name} [${i.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:Xe.FieldSelectorRepositoryToken,displayFormatter:a},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const l=n.designViewModelUtils.getAllFields2TreeByVMId(n.viewModelId);if(n.formRule){const o=n.formRule.fields.map(r=>({id:r.binding.field,title:r.label}));Mn(l,o)}const i=n.schemaService.getPrimaryField();return i?l.filter(o=>o.data.bindingPath!==i):l},formatter:(l,i)=>`${i.raw.name} [${i.raw.bindingPath}]`,displayFormatter:a}}}}function Ut(e){var o;const n={type:"combo-list",enableClear:!1,editable:!1},a={type:"number-spinner",useThousands:!1},l=()=>e.displayType?e.displayType.toUpperCase():"",i=()=>l().startsWith("NAV")?e.showNavigation===void 0?!0:!!e.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:ie,editor:{...n,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:e.openType!=="Popup",$converter:Ve},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...a,min:i()?520:300,needValid:!0},$converter:Ve},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...a,min:200,needValid:!0},$converter:Ve},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:e.openType!=="Popup",$converter:Ve},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!e.enableUserData&&(((o=e==null?void 0:e.dialog)==null?void 0:o.resizeable)??!0)&&e.openType!=="Popup",$converter:Ve},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:e.openType!=="Popup",$converter:Ve},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:e.openType!=="Popup",$converter:Ve},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:e.openType!=="Popup",$converter:Ve}}}function _t(e,n=!0){var o,r,u,s;const a=!((o=e.pagination)!=null&&o.enable),l=()=>e.displayType?e.displayType.toUpperCase():"",i=(d,c)=>{const f=l()!=="TREELIST"||d.treeToList;return c&&f?d.pagination&&d.pagination[c]:f};return{hide:!i(e)||a,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Nn,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:n,visible:i(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:n,visible:i(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:at((r=e.pagination)==null?void 0:r.sizeLimits),beforeSubmit:({notifyService:d,data:c})=>!c||!c.length?(d==null||d.warning({message:"每页显示条数不能为空!"}),!1):new Set(c.map(v=>parseInt(v.value,10))).size===c.length?!0:(d==null||d.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:i(e),editor:{type:"combo-list",enableClear:!1,editable:!1,data:at((u=e.pagination)==null?void 0:u.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(s=e.pagination)==null?void 0:s.size}}}}}class zt extends dt.InputBaseProperty{constructor(){super(...arguments);ce(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ce(this,"numberEditor",{type:"number-spinner",useThousands:!1});ce(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ce(this,"visibleEditor",{...this.comboListEditor,editable:!1});ce(this,"requiredEditor",{...this.comboListEditor,editable:!1});ce(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(a,l){const i=["validate"];return a.type==="form-group"&&i.push("dataPicking"),this.expressionProperty.getExpressionConfig(a,"Field",i)}getPropertyConfig(a,l,i="Card"){var g;const o=(g=a.binding)!=null&&g.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(a,o,"readonly"),this.visibleEditor=this.getPropertyEditorParams(a,o,"visible"),this.requiredEditor=this.getPropertyEditorParams(a,o,"required"),this.freeInputEditor=this.getPropertyEditorParams(a,["Const","Variable"],"allowFreeInput"),this.readonlyEditor.propertyTypes.push("Custom"),this.visibleEditor.propertyTypes.push("Custom"),this.requiredEditor.propertyTypes.push("Custom");const r=this.getBasicProperties(a,l,i),u=this.getBehaviorConfig(a,i),s=this.getAppearanceProperties(a,l),d=this.getLookupConfig(a),c=this.getEventPropConfig(a),f=this.getDialogPropertyConfig(a),v=this.getPageConfig(a.editor),w=this.getTreePropConfig(a.editor),h=this.getSearchConfig(a),F=this.getExpandProperties(a,i),m=this.getNavigatorConfig(a),p=this.getExpressionConfig(a,"Field"),y={basic:r,appearance:s,behavior:u,expandConfig:F,lookup:d,navigatiorConfig:m,treeConfig:w,dialog:f,pager:v,searchConfig:h,expressions:p};return a.type==="form-group"&&(y.eventsEditor=c),{type:"object",categories:y}}getGridFieldEdtiorPropConfig(a){return this.getPropertyConfig(a,null,"Grid").categories}flattenTreeNodes(a){return a.reduce((l,i)=>{var o;return l.push(i),(o=i.children)!=null&&o.length&&l.push(...this.flattenTreeNodes(i.children)),l},[])}isSimpleStringField(){var u;const a=((u=this.designViewModelField)==null?void 0:u.path)||"";if(!a||!a.includes("."))return!0;const l=a.split("."),i=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(i!=null&&i.length))return!1;const o=i.find(s=>s.data.code===l[0]);if(!o)return!1;const r=[o,...this.flattenTreeNodes(o.children)];return!l.reduce((s,d,c)=>[...s,c?`${s[c-1]}.${d}`:d],[]).some(s=>{var d,c,f;return((f=(c=(d=r.find(v=>v.data.path===s))==null?void 0:d.data)==null?void 0:c.type)==null?void 0:f.$type)==="EntityType"})}getBehaviorConfig(a,l="Card"){const i=l==="Card"?this.getTipsConfig(a):{};return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor},...i},setPropertyRelates:(o,r)=>{this.afterMutilEditorChanged(r,o)}}}changeBindingField(a,l){super.changeBindingField(a,l),a.editor.multiSelect=!1}getDisplayType(a){return a.displayType?a.displayType.toUpperCase():""}mapFieldsDisplayFormatter(a){return a&&a.length?a.map(l=>`${l.name}[${l.bindingPath}]`).join(","):""}getSearchConfig(a){const l=()=>{var o;return a.editor.openType!=="Popup"&&(((o=a.editor)==null?void 0:o.enableSearchBar)??!0)!==!1&&(this.getDisplayType(a.editor)!=="TREELIST"||a.editor.treeToList===!0)&&!a.editor.enableMultiFieldSearch};return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:ie,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},enableMultiFieldSearch:{$converter:ie,refreshPanelAfterChanged:!0,description:"是否启用多字段搜索",title:"启用多字段查询",type:"boolean",visible:!0},searchAnyField:{description:"显示所有列",$converter:ie,title:"允许查询所有列",type:"boolean",visible:a.editor.openType!=="Popup"&&a.editor.enableSearchBar==null?!a.editor.enableMultiFieldSearch:!!a.editor.enableSearchBar},enableEqualSearch:{$converter:ie,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:l()}},hide:a.editor.openType==="Popup"}}getNavigatorConfig(a){var i;const l=a.editor;return{description:"自定义左侧导航数据格式化、样式",title:"导航栏",properties:{showNavigation:{description:"显示导航栏",$converter:ie,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:this.getDisplayType(l).includes("NAV")&&l.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:this.showNavigatiorWidth(l)&&l.openType!=="Popup",editor:{...this.numberEditor,min:200,max:(((i=l==null?void 0:l.dialog)==null?void 0:i.width)??960)-200,needValid:!0},$converter:Ve},selectFirstNavItem:{$converter:ie,description:"是否默认选中首条导航数据,开启后,打开弹窗后,会自动选中导航第1条数据",title:"默认选中首条导航数据",type:"boolean",visible:this.showNavigatiorWidth(l)&&l.openType!=="Popup"},customNavFormatter:{description:"自定义左侧导航数据格式化、样式",title:"左侧导航格式化",type:"string",$converter:ie,editor:{type:"code-editor",language:"javascript",leftTemplate:jt},visible:this.showNavigatiorWidth(l)&&l.openType!=="Popup"}},hide:!this.getDisplayType(l).startsWith("NAV")||l.openType==="Popup"}}getLookupConfig(a){var d,c;const l=a.editor,i=()=>{const f=this.formSchemaUtils.getFormSchema().module.entity[0].id,v=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:l,formBasicInfo:v,viewModelId:f,dataSourceId:l.helpId}},{dataSourceEditor:o,idFieldEditor:r,textFieldEditor:u,mappingFieldsEditor:s}=$t(l,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(f,v)=>{if(f)switch(f.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(v,f);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((d=a.binding)!=null&&d.field)&&((c=a.binding)==null?void 0:c.type)==="Form"},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:ie},enableClear:{description:"是否显示清除按钮",title:"启用清除按钮",type:"boolean",$converter:ie},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:ie,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:ie,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(l.multiSelect&&l.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:ie,editor:this.freeInputEditor,visible:!!l.editable&&this.isSimpleStringField()},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...o,displayFormatter:f=>f&&f.length?f.map(v=>`${v.name}(${v.code})`).join(","):"",validateFunction:async f=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(f,a),onSubmitModal:f=>{if(f){delete l.mappingFields;const v=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(v.relativePath,f[0].data).then(w=>JSON.parse(w==null?void 0:w.metadata.content))}}},$converter:yt},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:ie,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:l,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:Xe.FieldSelectorRepositoryToken,beforeOpen:async({repository:f,notifyService:v})=>{var y;if(!(l==null?void 0:l.helpId))return v==null||v.warning({message:"请先配置数据源!"}),!1;const h=i(),m=new dt.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let p={};if(f){const g=await f.getData(h),b=await f.getLookupConditions(h);p={fieldList:g,conditionList:b}}return(y=m.variables)!=null&&y.forms&&(m.variables.forms.items=m.variables.forms.items.filter(g=>g.category==="remote")),{...p,...m,isServerSide:!0}},onSubmitModal:async({loadingService:f,repository:v,conditions:w,originalConditions:h,FMessageBoxService:F})=>{if(v)try{const m=i(),p=await v.getLookupConditions(m)||[];return JSON.stringify(p)!==JSON.stringify(h.value)?(f==null||f.clearAll(),F.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{w.value=p,h.value=JSON.parse(JSON.stringify(w.value))},()=>{}),!1):(JSON.stringify(w.value)===JSON.stringify(h.value)||await v.saveFilterCondition(w.value,m,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return F==null||F.error("保存失败",""),!1}finally{f==null||f.clearAll()}}},visible:!!l.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Pn,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:Ln},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:kn,editor:u},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:ie,editor:{...s}},textAlign:{description:"文本对齐方式",title:"文本对齐方式",type:"string",$converter:ie,editor:{type:"combo-list",editable:!1,data:[{text:"左对齐",value:"left"},{text:"居中对齐",value:"center"},{text:"右对齐",value:"right"}],textField:"text",idField:"value",valueField:"value"}},customFormatter:{description:"自定义数据格式化、样式",title:"格式化",type:"string",$converter:ie,editor:{type:"code-editor",language:"javascript",leftTemplate:jt}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:ie,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:ie,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:ie,title:"显示已选记录",type:"boolean",visible:!!l.multiSelect&&l.openType!=="Popup"},separator:{description:"多选分隔符",$converter:ie,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:!!l.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:ie,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:ie,title:"启用收藏夹",type:"boolean",visible:l.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:ie,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:l.openType!=="Popup"}}}}showNavigatiorWidth(a){return this.getDisplayType(a).startsWith("NAV")&&a.openType!=="Popup"?a.showNavigation===void 0?!0:!!a.showNavigation:!1}getDialogPropertyConfig(a){const l=Ut(a.editor);return l.openType.$converter=ie,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:Ve,properties:l}}showPagerProperty(a,l){const i=this.getDisplayType(a)!=="TREELIST"||a.treeToList;return l&&i?a.pagination&&a.pagination[l]:i}getPageConfig(a){return _t(a)}showLoadType(a){const l=this.getDisplayType(a);return(l==="TREELIST"||l==="NAVTREELIST")&&!a.treeToList&&!a.navTreeToList}isTree(a){return this.getDisplayType(a)==="TREELIST"&&!a.treeToList}getTreePropConfig(a){return{hide:this.getDisplayType(a)!=="TREELIST"&&this.getDisplayType(a)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:ie,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(a)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:ie,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(a)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:ie,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(a)},enableFullTree:{description:"启用构造完整树",$converter:ie,title:"构造完整树",type:"boolean",visible:this.showLoadType(a)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:ie,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(a)},enableCascade:{description:"启用级联选择",$converter:ie,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(a)&&!!a.multiSelect&&a.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:ie,title:"显示级联状态",type:"boolean",visible:!!a.enableCascade&&this.isTree(a)},cascadeValue:{description:"缺省级联选择模式",$converter:ie,title:"缺省级联选择模式",type:"string",visible:!!a.enableCascade&&this.isTree(a),editor:{...this.comboListEditor,data:nt,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:ie,title:"默认展开层级",type:"number",visible:this.showLoadType(a),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(a){const l=this;let i=[...En];a.editor.openType==="Popup"&&(i=i.filter(u=>u.label!=="beforeSelectData")),i.push(...this.getInputCommonEvents(a));const o=l.eventsEditorUtils.formProperties(a,l.viewModelId,i),r=l.createBaseEventProperty(o);return this.appendFieldValueChangeEvents(a,i),{title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:W.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(u,s){const d=u.propertyValue;delete a[l.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(a,l.viewModelId,d.events,d),l.updateLinkedLabel(d,a));const c=l.designViewModelUtils.getDgViewModel(l.viewModelId);c&&l.designViewModelField&&c.changeField(l.designViewModelField.id,{valueChanging:a.fieldValueChanging||"",valueChanged:a.fieldValueChanged||""})}}}async checkSameBESource(a,l){var i,o,r,u,s;if(a&&((i=l==null?void 0:l.editor)!=null&&i.helpId)&&!l.isRtcControl){if(a.data.id===l.editor.helpId)return!0;const d=await this.metadataService.getPickMetadata("",a.data).then(F=>{var m;if((m=F==null?void 0:F.metadata)!=null&&m.content)return JSON.parse(F.metadata.content)}),c=await this.metadataService.getPickMetadata("",{id:l.editor.helpId}).then(F=>{var m;if((m=F==null?void 0:F.metadata)!=null&&m.content)return JSON.parse(F.metadata.content)}),f=(o=d==null?void 0:d.dataSource)==null?void 0:o.sourceType,v=(r=c.dataSource)==null?void 0:r.sourceType,w=(u=d==null?void 0:d.dataSource)==null?void 0:u.sourceId,h=(s=c==null?void 0:c.dataSource)==null?void 0:s.sourceId;if(f==="BE"&&v==="BE"&&w!==h)return new Ze.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function On(e,n){function a(l,i){const o=e.schema;return new zt(l,n).getPropertyConfig(o,i)}return{getPropsConfig:a}}const An=t.defineComponent({name:"FLookupDesign",props:Re,emits:[],setup(e,n){const a=t.ref(),l=t.inject("design-item-context"),i=t.inject("designer-host-service"),o=On(l,i),r=De.useDesignerComponent(a,l,o),u='<i class="f-icon f-icon-lookup"></i>',s='<i class="f-icon f-icon-arrow-chevron-down"></i>',d=t.computed(()=>e.openType==="Popup"?"Popup":"Modal"),c=t.computed(()=>d.value==="Popup"?s:u);return t.onMounted(()=>{a.value.componentInstance=r}),n.expose(r.value),()=>t.createVNode("div",{class:"f-lookup-design h-100",ref:a,style:"pointer-events: none;"},[t.createVNode(Ne,{ref:a,buttonContent:c.value,readonly:!0,editable:!1,textAlign:e.textAlign,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)])}});function Ee(e,n){const{lookupOptions:a}=n;function l(m){return{...ht,...m}}function i(){return{enableSelectRow:!0,multiSelect:a.multiSelect,showCheckbox:a.multiSelect,multiSelectMode:"OnCheckAndClick"}}function o(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:m}=n.lookupOptions;return typeof m=="string"&&m in Se?!1:m.toLowerCase().startsWith("nav")}function u(){const{displayType:m,treeToList:p}=n.lookupOptions;return(m.toLowerCase()===Se.Tree.toLowerCase()||m.toLowerCase()===Se.ListTree.toLowerCase())&&!p}function s(){const{displayType:m,navTreeToList:p}=n.lookupOptions;return m.toLowerCase()===Se.TreeList.toLowerCase()&&!p}function d(){const{displayType:m,navTreeToList:p}=n.lookupOptions,y=m.toLowerCase();return y===Se.ListList.toLowerCase()||y===Se.ListTree.toLowerCase()||p}function c(){var y;return a.dialog?{width:((y=a.dialog)==null?void 0:y.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function f(m){const{loadTreeDataType:p}=a;return p===xe.all||p==="default"&&(m==null?void 0:m.loadDataType)==="all"}function v(m){return(m==null?void 0:m.layerType)==="pathcode"}function w(){return a.enableCascade&&a.multiSelect}function h(){return e.openType==="Popup"}return{checkPaination:l,checkMultiSelect:i,checkColumnOptions:o,isDoubleList:r,getNavigationSize:c,isTreeList:u,navIsTreeList:s,navIsList:d,isLoadAll:f,isPathCodeTree:v,isEnableCascadeCheck:w,isDropdownMode:h,sortOption:{mode:"server"}}}function Ht(e,n,a){var u;const l=t.ref(e.searchFields||[]),i=t.ref(((u=e.navigation)==null?void 0:u.searchFields)||[]),o=s=>({TextType:"string",StringType:"string",NumericType:"number",DateType:"date",BooleanType:"boolean",DateTimeType:"datetime",EnumType:"enum"})[s],r=s=>!s||!s.length?[]:s.map(d=>({field:d.fieldPath||d.field,title:d.title,dataType:o(d.fieldType),options:d.formatter?d.formatter.options:null,value:null}));return t.watch(()=>[n==null?void 0:n.searchFields,n==null?void 0:n.columns],([s,d])=>{l.value=e.enableMultiFieldSearch?r(d):s}),t.watch(()=>[a==null?void 0:a.searchFields,a==null?void 0:a.columns],([s,d])=>{i.value=e.enableMultiFieldSearch?r(d):s}),{searchFieldItems:l,navSearchFieldItems:i}}function Rn(e){const n=t.reactive({}),a=t.reactive({}),l=t.reactive({}),i=t.reactive({}),o=t.reactive({}),r=t.ref([]),u=t.ref(),s=t.reactive({}),d=t.reactive({canClose:!0}),c=t.reactive({}),f=t.ref(!1),v=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade","enableFavorite","customFormatter","customNavFormatter","selectFirstNavItem","navDefaultQueryValue","enableMultiFieldSearch"];function w(){v.forEach(h=>{s[h]=e[h]})}return w(),{pageInfoState:n,lookupState:a,navigationState:l,queryState:i,searchState:o,selectionState:r,unSelectDataId:u,lookupOptions:s,searchValueChanged:f,popupState:d,compatInstance:c}}const _e=t.ref(),Ie="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function jn(e,n){const a=t.inject("FLoadingService"),l=t.inject(Lt.F_MODAL_SERVICE_TOKEN),i=t.inject(mt),o=Rn(e),{pageInfoState:r,lookupState:u,navigationState:s,lookupOptions:d,searchValueChanged:c}=o,{searchFieldItems:f,navSearchFieldItems:v}=Ht(e,u,s),w=t.ref(e.idValue),h=t.ref(!1),F=()=>{var j;const k=(j=d.displayType)==null?void 0:j.toUpperCase();return k===Se.Tree||k===Se.TreeList},m=(k,j=!1)=>{if(k){const{layerType:U,dataField:Q,parentField:ae,pathField:fe,layerField:le,isDetailField:ne,loadDataType:re}=k,me={layerType:U,dataField:Q,parentField:ae,pathField:fe,layerField:le,isDetailField:ne,loadDataType:re},{onlySelectLeaf:R,loadTreeDataType:J}=d;me.onlySelectLeaf=R,me.loadDataType=J,j?d.navTreeInfo=Object.assign(d.navTreeInfo||{},me):d.treeInfo=Object.assign(d.treeInfo||{},me)}};function p(k,j,U="like"){if(j==null||!j.trim())return[];const Q=Array.from(new Set(j.trim().split(" ").filter(re=>re.trim())));if(!k||!Q.length)return[];const fe=U==="equal"?$e.Equal:$e.Like,le=(k||[]).map((re,me)=>{const R=Q.map((J,ee)=>({filterField:re.value,value:J,lbracket:"",rbracket:"",relation:Ue.And,compare:fe}));return R.length&&(R.length>1&&(R[0].lbracket="(",R[R.length-1].rbracket=")"),R[R.length-1].relation=Ue.Or),R}).filter(re=>re.length);let ne=[];return le&&le.length&&(ne=ge.flatten(le),ne.length>1&&(ne[0].lbracket+="(",ne[ne.length-1].rbracket+=")"),ne[ne.length-1].relation=0),ne}function y(){let{expandLevel:k}=d;return k&&!ge.isNaN(k)&&(k=k<-1?-1:k),k}function g(k,j){const U={};U.category=j;let Q=null,ae=null;if(k!=null&&k.search){const{field:fe,value:le,isNavigation:ne,type:re}=k.search,me=re||"like";if(le&&(U.searchValue=le.trim()),U.searchField=fe?fe.trim():"*",U.searchType=me,ne&&(U.category="navsearch"),e.enableMultiFieldSearch)Array.isArray(k.search)&&k.search.length&&(U.category==="navsearch"?Q=k.search:ae=k.search),U.category==="search"&&!ae&&!Q&&(U.category="all");else{ne&&(U.searchType="like");const R=U.searchType==="equal"&&U.searchValue?[{filterField:U.searchField,value:U.searchValue,lbracket:"",rbracket:"",relation:Ue.And,compare:$e.Equal}]:[],J=ne?v.value:f.value,ee=U.searchField==="*"?p(J,le,me):R;ee&&ee.length&&(ne?Q=ee:ae=ee),le===""&&U.category==="search"&&!ae&&!Q&&(U.category="all")}}return F()&&(U.layerNum=y()),{searchParam:U,navSearchConditions:Q,searchConditions:ae}}function b(k){var U,Q;if(k==="fav")return{pageIndex:1,pageSize:500};let j="default";return k==="navsearch"&&(j="navigation"),{pageIndex:((U=r[j])==null?void 0:U.index)||1,pageSize:((Q=r[j])==null?void 0:Q.size)||20}}function S(k){const j={},U=(k==null?void 0:k.action)||"all",{searchParam:Q,navSearchConditions:ae,searchConditions:fe}=g(k,U);fe&&(j.searchConditions=fe),ae&&(j.navSearchConditions=ae),j.enableFullTree=e.enableFullTree,k.sort&&Object.assign(Q,k.sort),j.searchValue=JSON.stringify(Q);const{pageIndex:le,pageSize:ne}=b(U);return j.pageIndex=le,j.pageSize=ne,j.treeToList=e.treeToList,j.navTreeToList=e.navTreeToList,d.loadTreeDataType===xe.default?j.loadTreeDataType="default":j.loadTreeDataType=d.loadTreeDataType===xe.all?"loadall":"layerload",k!=null&&k.relationFilter&&(j.relationFilter=[...k.relationFilter]),k!=null&&k.navNodePathCode&&(j.navPathCode=k.navNodePathCode),k.selectedInfo&&(j.selectedInfo=k.selectedInfo),j.customData=t.toRaw(_e.value),j.id=e.id,j}function C(k){return k==null?void 0:k.map(j=>(j.resizable=!0,j))}function x(k,j){return k.map(U=>{const Q=j==null?void 0:j.find(ae=>ae.field.toLowerCase()===U.value.toLowerCase());return Q&&(U.label=Q.title),U})}function T(k){k.columns&&(k.columns=C(k.columns),k.searchFields&&(k.searchFields=x(k.searchFields,k.columns))),k.navigation&&k.navigation.columns&&(k.navigation.columns=C(k.navigation.columns),k.navigation.searchFields&&(k.navigation.searchFields=x(k.navigation.searchFields,k.navigation.columns)))}function L(){return d.loader||i&&i.getData.bind(i)}function P(k){const j=L();return j?j(d.uri,k).then(U=>(T(U),c.value=!1,U)):new Promise((U,Q)=>{U({...e})})}function D(k){const j=y();return j===-1?!0:j===0?!1:k<=j}function N(k,j=!1,U="layer"){k.forEach(Q=>{var ae;Q.collapse=j?!1:d.loadTreeDataType==="all"?!D(W.resolveField(Q.data,U)):!(Q.expanded??!0),Q.hasChildren=!Q.leaf,(ae=Q.children)!=null&&ae.length&&N(Q.children,j,U)})}async function A(k,j){var ae,fe;const U=S(k),Q=a==null?void 0:a.show();try{let le=await P(U);if(d.displayType!==le.displayType&&k.action!=="navsearch"&&(d.displayType=le.displayType),F()){const{items:ne,treeInfo:re}=le.navigation||le;if(d.loadDataType===xe.default&&(d.loadTreeDataType=(re==null?void 0:re.loadDataType)||xe.all),ne!=null&&ne.length&&re){const{dataField:me,layerField:R}=re;N(ne,!1,`${me}.${R}`)}}e.beforeLoadData&&(le=await e.beforeLoadData({data:le})),j(le)}catch{(ae=l.getCurrentModal())==null||ae.close()}finally{(fe=Q==null?void 0:Q.value)==null||fe.close()}}function I(k){h.value=k}function E(k,j){if(!j)return"";const{dataField:U,pathField:Q}=j;return Q?U?k[U][Q]:W.resolveField(k,Q):""}function q(k){const j=[];return(k.selectable||k.selectable===void 0)&&j.push(k),k.children&&k.children.length&&k.children.forEach(U=>{j.push(...q(U))}),j}function O(k,j=!1){if(!(k!=null&&k.length))return k;const U=j?d.navTreeInfo:d.treeInfo,{dataField:Q,layerField:ae}=U||{};return Q&&ae&&N(k,!0,`${Q}.${ae}`),k}function M(){try{const k=w.value;return k!==""&&k!=null?k:""}catch(k){return console.error("Error in getIdValues:",k),""}}function K(){let k=M()||[];return Array.isArray(k)||(k=(""+k).split(e.separator)),{selectedIds:k,selected:!0}}return{includeChilds:h,updateIncludeChilds:I,idValues:w,getData:P,loadData:A,updateSearchFieldTitle:x,getPathCode:E,getChildNodes:q,lookupStates:o,httpService:i,lookupRequest:L,expandAllNodes:O,getIdQueryParams:K,setTreeInfo:m,getFieldValue:W.resolveField}}function Wt(e,n){t.watch(()=>e.pagination,(l,i)=>{JSON.stringify(l)!==JSON.stringify(i)&&(n.default=l)}),t.watch(()=>{var l;return(l=e.navigation)==null?void 0:l.pagination},(l,i)=>{JSON.stringify(l)!==JSON.stringify(i)&&(n.navigation=l)});function a(l,i=!1){l&&(i?n.navigation={...n.navigation,...l}:n.default={...n.default,...l})}return{updatePageInfo:a}}const lt="F_LOOKUP_USER_DATA_SERVICE";function qn(e,n){const a=t.inject("FLoadingService",null),{lookupStates:l,lookupRequest:i,httpService:o}=n,{lookupOptions:r}=l,u=t.computed(()=>{const h=r.userDataKey||e.id;return h?W.encrypt(h):""}),s=t.reactive({key:u.value,data:{}});function d(){return o?o.getSettings(s.key).then(h=>(h&&h.textValue?s.data=JSON.parse(h.textValue):s.data={},e.enableUserData||(s.data.tabIndex=be.dataList),h)):Promise.resolve()}function c({width:h,height:F}){var m;s.data.size=((m=s.data)==null?void 0:m.size)||{},s.data.size={width:h,height:F}}function f(h=!1){if((e.enableUserData||h)&&o){const{key:F,data:m}=s,p={configkey1:F,configkey2:"",configkey3:"",textvalue:JSON.stringify(m)};return o==null?void 0:o.updateSettings(F,p)}return Promise.resolve()}function v(h){const F={category:"fav",favoriteIds:h.favoriteIds};return{searchValue:JSON.stringify(F),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function w(){var p;const h=v({favoriteIds:(p=s.data)==null?void 0:p.favorites}),F=a==null?void 0:a.show(),m=i();return m?m(r.uri,h).then(y=>{var g;return(g=F.value)==null||g.close(),s.favoriteItems=y&&y.items||[],y}):Promise.resolve()}return{userDataState:s,setDialogSize:c,saveUserData:f,getFavoriteData:w,getUserData:d}}const je=Symbol("FARRIS_LOOKUP_LOCALES");function $n(e){const{getLocaleValue:n}=Fe.LocaleService;function a(d,c,f){return d===c?n(f):d}const l=a(e.placeholder,"请选择","lookup.placeholder"),i={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:d=>n("lookup.selectedInfo.total",[d])},r={clearSelections:n("lookup.selectedInfo.confirm")||"您确认要取消所有选中记录吗?",addedFavSuccess:n("lookup.favoriteInfo.addFav")||"已添加到收藏夹。",cancelFavSuccess:n("lookup.favoriteInfo.cancelFav")||"已从收藏夹中移除。",mustChoosAdatarow:n("lookup.mustChoosAdatarow")||"请选择一条数据。",mustWriteSomething:n("lookup.mustWriteSomething")||"请输入关键字后查询。"},u={includechildren:n("lookup.includechildren")||"包含下级",both:n("lookup.cascade.enable")||"同步选择",up:n("lookup.cascade.up")||"包含上级",dow