UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

55 lines 219 kB
(function(U,n){typeof exports=="object"&&typeof module<"u"?n(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"],n):(U=typeof globalThis<"u"?globalThis:U||self,n(U.lookup={},U.Vue,U.FButtonEditDesign,U.designerCanvas,U.dynamicResolver,U.propertyPanel,U.fieldSelector,U.LodashES,U.notify,U.common,U.modal,U.FButtonEdit,U.layout,U.dataGrid,U.locale,U.treeGrid,U.comboList,U.FListView,U.BigNumber,U.numberSpinner,U.useInputExpand,U._switch,U.components,U.radioGroup,U.checkboxGroup,U.fieldSearchBox,U.FPopover,U.Checkbox,U.FCapsule,U.List,U.Drawer))})(this,function(U,n,Ne,De,Be,st,Ye,ge,Xe,W,Vt,Ze,dt,et,we,ct,It,mn,Ml,Le,gn,yn,Lt,bn,vn,kt,Sn,Pt,Cn,Me,Tn){"use strict";var Dl=Object.defineProperty;var Bl=(U,n,Ne)=>n in U?Dl(U,n,{enumerable:!0,configurable:!0,writable:!0,value:Ne}):U[n]=Ne;var ce=(U,n,Ne)=>Bl(U,typeof n!="symbol"?n+"":n,Ne);function Nt(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const Et=new Map([["appearance",Be.resolveAppearance],["mappingFields",(e,t,a)=>{if(t)return Nt(t);const{mappingFields:l}=a;return Nt(l)}],["uri",(e,t,a)=>{var l;return t?{uri:t}:{uri:(l=a==null?void 0:a.dataSource)==null?void 0:l.uri}}],["idField",(e,t,a)=>{var i;const l=(i=a==null?void 0:a.dataSource)==null?void 0:i.idField;return l?{idField:l}:{idField:t||"id"}}]]),Dt={$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 Bt(e,t,a){return t}var ut=(e=>(e.Both="both",e.Up="up",e.Down="down",e.Disable="disable",e))(ut||{});const tt=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],ft="";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 Oe="__lookup_active_tab__",xn="__lookup_user_data_id__";var be=(e=>(e.dataList="datalist",e.favorite="favorite",e))(be||{});const pt={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},ht=Symbol("f_lookup-http-service_token");var qe=(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))(qe||{}),$e=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))($e||{}),Mt=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Mt||{});const Ot={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function Fn(){function e(t,a,l){const i={};return i.dictPicking=o=>a.call("dictPicking",t,[o,t],l),i.beforeLoadData=o=>a.call("beforeLoadData",t,[o,t],l),i.beforeSelectData=o=>a.call("beforeSelectData",t,[o,t],l),i.dictPicked=o=>a.call("dictPicked",t,[o,t],l),i}return{resolve:e}}const Ae={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:pt},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}},wn=Be.createPropsResolver(Ae,Dt,Et,Bt),At=Fn(),mt=Be.getPropsResolverGenerator(Ae,Dt,Et,Bt);function nt(e){let t=[10,20,30,50,100];return e&&(typeof e=="string"&&(t=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(t=e)),t.map(a=>({value:parseInt(a,10)})).sort((a,l)=>a.value-l.value)}const ie={convertFrom:(e,t)=>{const a=e.editor?e.editor:e;return t==="multiSelect"||t==="enableTitle"?!!a[t]:t==="separator"?a[t]||",":t==="onlySelectLeaf"?a[t]==null?!1:a[t]:t==="loadTreeDataType"?a[t]||"default":t==="placeholder"?ge.isNil(a[t])?"请选择":a[t]:t==="openType"?a[t]||"Modal":a[t]},convertTo:(e,t,a)=>{const l=e.editor?e.editor:e;if(l[t]=a,t==="multiSelect"&&!a&&(l.enableCascade=!1),t==="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 t="form_group_"+Date.now();return e&&(t=e.replace(/-/g,"_").replace(/\./g,"_")),"lookup."+t}function In(e,t){const{enablePager:a,pageSize:l,pageList:i}=t;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:a,sizeLimits:nt(i).map(o=>o.value),size:l,showLimits:!0,showGoto:!1,mode:"server"})}const gt={convertFrom:(e,t)=>{var l;return(l=(e.editor?e.editor:e).dataSource)==null?void 0:l.displayName},convertTo:(e,t,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:f,textField:c}=u;l.displayType=d,l.dataSource.idField=f,l.textField=c,l.dataSource.type="ViewObject",l.enableEqualSearch=!1;const{pageInfo:h}=u.dataSource;In(l,h);const{treeInfo:S}=d.toUpperCase()==="NAVTREELIST"?u.navigation:u.dataSource;if(S){const{onlySelectLeaf:m,loadDataType:w}=S;l.loadTreeDataType="default",l.onlySelectLeaf=m??!1}if(l.dataSource.uri||(l.dataSource.uri=Vn(e.id)),l.dialog){const{width:m}=l.dialog;d&&d.toUpperCase().indexOf("NAV")>-1&&(!m||m<520)&&(l.dialog.width=960)}}}},Ln={convertFrom:(e,t)=>{var a;return(a=e.editor.dataSource)==null?void 0:a.idField},convertTo:(e,t,a)=>{if(a&&a.length>0){const l=a[0];e.editor.dataSource.idField=l==null?void 0:l.bindingPath}}},kn={convertFrom:(e,t)=>{var a;return(a=e.editor)==null?void 0:a.textField},convertTo:(e,t,a)=>{if(a&&a.length>0){const l=a[0];e.editor.textField=l==null?void 0:l.bindingPath}}},Pn={convertFrom:(e,t)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,t,a)=>{e.editor.displayType=a}},Ve={convertFrom:(e,t)=>{var o;let a=e.editor?e.editor.dialog:e.dialog;const l=e.editor?e.editor.openType:e.openType;if(a||(a={}),t==="title")return a[t]||ft;if(!l||l==="Modal"){if(t==="width")return(o=a.displayType)!=null&&o.toUpperCase().startsWith("NAV")?a[t]||960:a[t]||590;if(t==="height")return a[t]||620;if(t==="navigatorWidth")return a[t]||320}else{if(t==="width")return a[t]||460;if(t==="height")return a[t]||380}if(t==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(t))return a[t]==null?!0:a[t]},convertTo:(e,t,a)=>{const l=e.editor?e.editor:e;l.dialog=l.dialog||{},l.dialog[t]=a}},Nn={convertFrom:(e,t)=>{const a=e.editor?e.editor:e;if(a.pagination=a.pagination||{},t==="enable"||t==="showLimits")return a.pagination[t]==null?!1:a.pagination[t];if(t==="sizeLimits"){const l=a.pagination[t];return nt(l)}if(t==="size")return a.pagination[t]||20},convertTo:(e,t,a)=>{var i;const l=e.editor?e.editor||{}:e;if(l.pagination=l.pagination||{},t==="sizeLimits"){const o=a.map(u=>u.value);l.pagination[t]=o;const r=((i=l.pagination)==null?void 0:i.size)??20;o.includes(r)||(l.pagination.size=o[0]);return}l.pagination[t]=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 } } } }`,Rt=e=>n.createVNode(n.Fragment,null,[n.createVNode("h5",{style:"display: flex;justify-content: space-between;align-items: center;"},[n.createTextVNode("示例代码:"),n.createVNode("button",{class:"btn btn-link align-items-center d-flex",onClick:()=>e.value.setValue(Bn)},[n.createVNode("span",{class:"f-icon f-icon-source-code mr-1"},null),n.createTextVNode("应用代码")])]),n.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 } } } }`])]),jt=Symbol("schema_repository_token");function Mn(e,t){const a=new Map;t.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 qt(e,t){const a=l=>l&&l.length?l.map(i=>`${i.name}[${i.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:e,formBasicInfo:t.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:["PC_RTC","PC_NoCode"].includes(t.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:jt},dataSourceConverter:gt,defaultConverter:ie,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:e,formBasicInfo:t.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Ye.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:e,formBasicInfo:t.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:Ye.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:e,formBasicInfo:t.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(l,i)=>`${i.raw.name} [${i.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:Ye.FieldSelectorRepositoryToken,displayFormatter:a},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const l=t.designViewModelUtils.getAllFields2TreeByVMId(t.viewModelId);if(t.formRule){const o=t.formRule.fields.map(r=>({id:r.binding.field,title:r.label}));Mn(l,o)}const i=t.schemaService.getPrimaryField();return i?l.filter(o=>o.data.bindingPath!==i):l},formatter:(l,i)=>`${i.raw.name} [${i.raw.bindingPath}]`,displayFormatter:a}}}}function $t(e){var o;const t={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:{...t,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 Ut(e,t=!0){var o,r,u,s;const a=!((o=e.pagination)!=null&&o.enable),l=()=>e.displayType?e.displayType.toUpperCase():"",i=(d,f)=>{const c=l()!=="TREELIST"||d.treeToList;return f&&c?d.pagination&&d.pagination[f]:c};return{hide:!i(e)||a,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Nn,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:t,visible:i(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:t,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:nt((r=e.pagination)==null?void 0:r.sizeLimits),beforeSubmit:({notifyService:d,data:f})=>!f||!f.length?(d==null||d.warning({message:"每页显示条数不能为空!"}),!1):new Set(f.map(h=>parseInt(h.value,10))).size===f.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:nt((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 st.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 C;const o=(C=a.binding)!=null&&C.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),f=this.getEventPropConfig(a),c=this.getDialogPropertyConfig(a),h=this.getPageConfig(a.editor),S=this.getTreePropConfig(a.editor),m=this.getSearchConfig(a),w=this.getExpandProperties(a,i),F=this.getNavigatorConfig(a),p=this.getExpressionConfig(a,"Field"),g={basic:r,appearance:s,behavior:u,expandConfig:w,lookup:d,navigatiorConfig:F,treeConfig:S,dialog:c,pager:h,searchConfig:m,expressions:p};return a.type==="form-group"&&(g.eventsEditor=f),{type:"object",categories:g}}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,f)=>[...s,f?`${s[f-1]}.${d}`:d],[]).some(s=>{var d,f,c;return((c=(f=(d=r.find(h=>h.data.path===s))==null?void 0:d.data)==null?void 0:f.type)==null?void 0:c.$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:!1},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:Rt},visible:this.showNavigatiorWidth(l)&&l.openType!=="Popup"}},hide:!this.getDisplayType(l).startsWith("NAV")||l.openType==="Popup"}}getLookupConfig(a){var d,f;const l=a.editor,i=()=>{const c=this.formSchemaUtils.getFormSchema().module.entity[0].id,h=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:l,formBasicInfo:h,viewModelId:c,dataSourceId:l.helpId}},{dataSourceEditor:o,idFieldEditor:r,textFieldEditor:u,mappingFieldsEditor:s}=qt(l,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(c,h)=>{if(c)switch(c.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(h,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,visible:!!((d=a.binding)!=null&&d.field)&&((f=a.binding)==null?void 0:f.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:c=>c&&c.length?c.map(h=>`${h.name}(${h.code})`).join(","):"",validateFunction:async c=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(c,a),onSubmitModal:c=>{if(c){delete l.mappingFields;const h=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(h.relativePath,c[0].data).then(S=>JSON.parse(S==null?void 0:S.metadata.content))}}},$converter:gt},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:Ye.FieldSelectorRepositoryToken,beforeOpen:async({repository:c,notifyService:h})=>{var g;if(!(l==null?void 0:l.helpId))return h==null||h.warning({message:"请先配置数据源!"}),!1;const m=i(),F=new st.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let p={};if(c){const C=await c.getData(m),y=await c.getLookupConditions(m);p={fieldList:C,conditionList:y}}return(g=F.variables)!=null&&g.forms&&(F.variables.forms.items=F.variables.forms.items.filter(C=>C.category==="remote")),{...p,...F,isServerSide:!0}},onSubmitModal:async({loadingService:c,repository:h,conditions:S,originalConditions:m,FMessageBoxService:w})=>{if(h)try{const F=i(),p=await h.getLookupConditions(F)||[];return JSON.stringify(p)!==JSON.stringify(m.value)?(c==null||c.clearAll(),w.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{S.value=p,m.value=JSON.parse(JSON.stringify(S.value))},()=>{}),!1):(JSON.stringify(S.value)===JSON.stringify(m.value)||await h.saveFilterCondition(S.value,F,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return w==null||w.error("保存失败",""),!1}finally{c==null||c.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:Rt}},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=$t(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 Ut(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:tt,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 f=l.designViewModelUtils.getDgViewModel(l.viewModelId);f&&l.designViewModelField&&f.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(w=>{var F;if((F=w==null?void 0:w.metadata)!=null&&F.content)return JSON.parse(w.metadata.content)}),f=await this.metadataService.getPickMetadata("",{id:l.editor.helpId}).then(w=>{var F;if((F=w==null?void 0:w.metadata)!=null&&F.content)return JSON.parse(w.metadata.content)}),c=(o=d==null?void 0:d.dataSource)==null?void 0:o.sourceType,h=(r=f.dataSource)==null?void 0:r.sourceType,S=(u=d==null?void 0:d.dataSource)==null?void 0:u.sourceId,m=(s=f==null?void 0:f.dataSource)==null?void 0:s.sourceId;if(c==="BE"&&h==="BE"&&S!==m)return new Xe.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function On(e,t){function a(l,i){const o=e.schema;return new zt(l,t).getPropertyConfig(o,i)}return{getPropsConfig:a}}const An=n.defineComponent({name:"FLookupDesign",props:Ae,emits:[],setup(e,t){const a=n.ref(),l=n.inject("design-item-context"),i=n.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=n.computed(()=>e.openType==="Popup"?"Popup":"Modal"),f=n.computed(()=>d.value==="Popup"?s:u);return n.onMounted(()=>{a.value.componentInstance=r}),t.expose(r.value),()=>n.createVNode("div",{class:"f-lookup-design",ref:a,style:"pointer-events: none;"},[n.createVNode(Ne,{ref:a,buttonContent:f.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,t){const{lookupOptions:a}=t;function l(F){return{...pt,...F}}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:F}=t.lookupOptions;return typeof F=="string"&&F in Se?!1:F.toLowerCase().startsWith("nav")}function u(){const{displayType:F,treeToList:p}=t.lookupOptions;return(F.toLowerCase()===Se.Tree.toLowerCase()||F.toLowerCase()===Se.ListTree.toLowerCase())&&!p}function s(){const{displayType:F,navTreeToList:p}=t.lookupOptions;return F.toLowerCase()===Se.TreeList.toLowerCase()&&!p}function d(){const{displayType:F,navTreeToList:p}=t.lookupOptions,g=F.toLowerCase();return g===Se.ListList.toLowerCase()||g===Se.ListTree.toLowerCase()||p}function f(){var g;return a.dialog?{width:((g=a.dialog)==null?void 0:g.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function c(F){const{loadTreeDataType:p}=a;return p===xe.all||p==="default"&&(F==null?void 0:F.loadDataType)==="all"}function h(F){return(F==null?void 0:F.layerType)==="pathcode"}function S(){return a.enableCascade&&a.multiSelect}function m(){return e.openType==="Popup"}return{checkPaination:l,checkMultiSelect:i,checkColumnOptions:o,isDoubleList:r,getNavigationSize:f,isTreeList:u,navIsTreeList:s,navIsList:d,isLoadAll:c,isPathCodeTree:h,isEnableCascadeCheck:S,isDropdownMode:m,sortOption:{mode:"server"}}}function _t(e,t,a){var u;const l=n.ref(e.searchFields||[]),i=n.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 n.watch(()=>[t==null?void 0:t.searchFields,t==null?void 0:t.columns],([s,d])=>{l.value=e.enableMultiFieldSearch?r(d):s}),n.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 t=n.reactive({}),a=n.reactive({}),l=n.reactive({}),i=n.reactive({}),o=n.reactive({}),r=n.ref([]),u=n.ref(),s=n.reactive({}),d=n.reactive({canClose:!0}),f=n.reactive({}),c=n.ref(!1),h=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade","enableFavorite","customFormatter","customNavFormatter","selectFirstNavItem","navDefaultQueryValue","enableMultiFieldSearch"];function S(){h.forEach(m=>{s[m]=e[m]})}return S(),{pageInfoState:t,lookupState:a,navigationState:l,queryState:i,searchState:o,selectionState:r,unSelectDataId:u,lookupOptions:s,searchValueChanged:c,popupState:d,compatInstance:f}}const Ue=n.ref(),Ie="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function jn(e,t){const a=n.inject("FLoadingService"),l=n.inject(Vt.F_MODAL_SERVICE_TOKEN),i=n.inject(ht),o=Rn(e),{pageInfoState:r,lookupState:u,navigationState:s,lookupOptions:d,searchValueChanged:f}=o,{searchFieldItems:c,navSearchFieldItems:h}=_t(e,u,s),S=n.ref(e.idValue),m=n.ref(!1),w=()=>{var j;const L=(j=d.displayType)==null?void 0:j.toUpperCase();return L===Se.Tree||L===Se.TreeList},F=(L,j=!1)=>{if(L){const{layerType:z,dataField:Q,parentField:ae,pathField:fe,layerField:le,isDetailField:ne,loadDataType:re}=L,me={layerType:z,dataField:Q,parentField:ae,pathField:fe,layerField:le,isDetailField:ne,loadDataType:re},{onlySelectLeaf:R,loadTreeDataType:K}=d;me.onlySelectLeaf=R,me.loadDataType=K,j?d.navTreeInfo=Object.assign(d.navTreeInfo||{},me):d.treeInfo=Object.assign(d.treeInfo||{},me)}};function p(L,j,z="like"){if(j==null||!j.trim())return[];const Q=Array.from(new Set(j.trim().split(" ").filter(re=>re.trim())));if(!L||!Q.length)return[];const fe=z==="equal"?qe.Equal:qe.Like,le=(L||[]).map((re,me)=>{const R=Q.map((K,Z)=>({filterField:re.value,value:K,lbracket:"",rbracket:"",relation:$e.And,compare:fe}));return R.length&&(R.length>1&&(R[0].lbracket="(",R[R.length-1].rbracket=")"),R[R.length-1].relation=$e.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 g(){let{expandLevel:L}=d;return L&&!ge.isNaN(L)&&(L=L<-1?-1:L),L}function C(L,j){const z={};z.category=j;let Q=null,ae=null;if(L!=null&&L.search){const{field:fe,value:le,isNavigation:ne,type:re}=L.search,me=re||"like";if(le&&(z.searchValue=le.trim()),z.searchField=fe?fe.trim():"*",z.searchType=me,ne&&(z.category="navsearch"),e.enableMultiFieldSearch)Array.isArray(L.search)&&(z.category==="navsearch"?Q=L.search:ae=L.search);else{ne&&(z.searchType="like");const R=z.searchType==="equal"&&z.searchValue?[{filterField:z.searchField,value:z.searchValue,lbracket:"",rbracket:"",relation:$e.And,compare:qe.Equal}]:[],K=ne?h.value:c.value,Z=z.searchField==="*"?p(K,le,me):R;Z&&Z.length&&(ne?Q=Z:ae=Z),le===""&&z.category==="search"&&!ae&&!Q&&(z.category="all")}}return w()&&(z.layerNum=g()),{searchParam:z,navSearchConditions:Q,searchConditions:ae}}function y(L){var z,Q;if(L==="fav")return{pageIndex:1,pageSize:500};let j="default";return L==="navsearch"&&(j="navigation"),{pageIndex:((z=r[j])==null?void 0:z.index)||1,pageSize:((Q=r[j])==null?void 0:Q.size)||20}}function v(L){const j={},z=(L==null?void 0:L.action)||"all",{searchParam:Q,navSearchConditions:ae,searchConditions:fe}=C(L,z);fe&&(j.searchConditions=fe),ae&&(j.navSearchConditions=ae),j.enableFullTree=e.enableFullTree,L.sort&&Object.assign(Q,L.sort),j.searchValue=JSON.stringify(Q);const{pageIndex:le,pageSize:ne}=y(z);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",L!=null&&L.relationFilter&&(j.relationFilter=[...L.relationFilter]),L!=null&&L.navNodePathCode&&(j.navPathCode=L.navNodePathCode),L.selectedInfo&&(j.selectedInfo=L.selectedInfo),j.customData=n.toRaw(Ue.value),j.id=e.id,j}function b(L){return L==null?void 0:L.map(j=>(j.resizable=!0,j))}function x(L,j){return L.map(z=>{const Q=j==null?void 0:j.find(ae=>ae.field.toLowerCase()===z.value.toLowerCase());return Q&&(z.label=Q.title),z})}function T(L){L.columns&&(L.columns=b(L.columns),L.searchFields&&(L.searchFields=x(L.searchFields,L.columns))),L.navigation&&L.navigation.columns&&(L.navigation.columns=b(L.navigation.columns),L.navigation.searchFields&&(L.navigation.searchFields=x(L.navigation.searchFields,L.navigation.columns)))}function k(){return d.loader||i&&i.getData.bind(i)}function P(L){const j=k();return j?j(d.uri,L).then(z=>(T(z),f.value=!1,z)):new Promise((z,Q)=>{z({...e})})}function D(L){const j=g();return j===-1?!0:j===0?!1:L<=j}function N(L,j=!1,z="layer"){L.forEach(Q=>{var ae;Q.collapse=j?!1:d.loadTreeDataType==="all"?!D(W.resolveField(Q.data,z)):!(Q.expanded??!0),Q.hasChildren=!Q.leaf,(ae=Q.children)!=null&&ae.length&&N(Q.children,j,z)})}async function I(L,j){var ae,fe;const z=v(L),Q=a==null?void 0:a.show();try{let le=await P(z);if(d.displayType!==le.displayType&&L.action!=="navsearch"&&(d.displayType=le.displayType),w()){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 E(L){m.value=L}function M(L,j){if(!j)return"";const{dataField:z,pathField:Q}=j;return Q?z?L[z][Q]:W.resolveField(L,Q):""}function q(L){const j=[];return(L.selectable||L.selectable===void 0)&&j.push(L),L.children&&L.children.length&&L.children.forEach(z=>{j.push(...q(z))}),j}function O(L,j=!1){if(!(L!=null&&L.length))return L;const z=j?d.navTreeInfo:d.treeInfo,{dataField:Q,layerField:ae}=z||{};return Q&&ae&&N(L,!0,`${Q}.${ae}`),L}function A(){try{const L=S.value;return L!==""&&L!=null?L:""}catch(L){return console.error("Error in getIdValues:",L),""}}function X(){let L=A()||[];return Array.isArray(L)||(L=(""+L).split(e.separator)),{selectedIds:L,selected:!0}}return{includeChilds:m,updateIncludeChilds:E,idValues:S,getData:P,loadData:I,updateSearchFieldTitle:x,getPathCode:M,getChildNodes:q,lookupStates:o,httpService:i,lookupRequest:k,expandAllNodes:O,getIdQueryParams:X,setTreeInfo:F,getFieldValue:W.resolveField}}function Ht(e,t){n.watch(()=>e.pagination,(l,i)=>{JSON.stringify(l)!==JSON.stringify(i)&&(t.default=l)}),n.watch(()=>{var l;return(l=e.navigation)==null?void 0:l.pagination},(l,i)=>{JSON.stringify(l)!==JSON.stringify(i)&&(t.navigation=l)});function a(l,i=!1){l&&(i?t.navigation={...t.navigation,...l}:t.default={...t.default,...l})}return{updatePageInfo:a}}const at="F_LOOKUP_USER_DATA_SERVICE";function qn(e,t){const a=n.inject("FLoadingService",null),{lookupStates:l,lookupRequest:i,httpService:o}=t,{lookupOptions:r}=l,u=n.computed(()=>{const m=r.userDataKey||e.id;return m?W.encrypt(m):""}),s=n.reactive({key:u.value,data:{}});function d(){return o?o.getSettings(s.key).then(m=>(m&&m.textValue?s.data=JSON.parse(m.textValue):s.data={},e.enableUserData||(s.data.tabIndex=be.dataList),m)):Promise.resolve()}function f({width:m,height:w}){var F;s.data.size=((F=s.data)==null?void 0:F.size)||{},s.data.size={width:m,height:w}}function c(m=!1){if((e.enableUserData||m)&&o){const{key:w,data:F}=s,p={configkey1:w,configkey2:"",configkey3:"",textvalue:JSON.stringify(F)};return o==null?void 0:o.updateSettings(w,p)}return Promise.resolve()}function h(m){const w={category:"fav",favoriteIds:m.favoriteIds};return{searchValue:JSON.stringify(w),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function S(){var p;const m=h({favoriteIds:(p=s.data)==null?void 0:p.favorites}),w=a==null?void 0:a.show(),F=i();return F?F(r.uri,m).then(g=>{var C;return(C=w.value)==null||C.close(),s.favoriteItems=g&&g.items||[],g}):Promise.resolve()}return{userDataState:s,setDialogSize:f,saveUserData:c,getFavoriteData:S,getUserData:d}}const Re=Symbol("FARRIS_LOOKUP_LOCALES");function $n(e){const{getLocaleValue:t}=we.LocaleService;function a(d,f,c){return d===f?t(c):d}const l=a(e.placeholder,"请选择","lookup.placeholder"),i={datalist:t("lookup.datalist")||"数据列表",favorite:t("lookup.favorites")||"收藏夹"},o={ok:t("lookup.okText")||"确定",cancel:t("lookup.cancelText")||"取消",clear:t("lookup.selectedInfo.clear")||"取消已选",addFav:t("lookup.favoriteInfo.addFavTitle")||"收藏",removeFav:t("lookup.favoriteInfo.cancelFavTitle")||"取消收藏",selectionTotal:d=>t("lookup.selectedInfo.total",[d])},r={clearSelections:t("lookup.selectedInfo.confirm")||"您确认要取消所有选中记录吗?",addedFavSuccess:t("lookup.favoriteInfo.addFav")||"已添加到收藏夹。",cancelFavSuccess:t("lookup.favoriteInfo.cancelFav")||"已从收藏夹中移除。",mustChoosAdatarow:t("lookup.mustChoosAdatarow")||"请选择一条数据。",mustWriteSomething:t("lookup.mustWriteSomething")||"请输入关键字后查询。"},u={includechildren:t("lookup.includechildren")||"包含下级",both:t("lookup.cascade.enable")||"同步选择",up:t("lookup.cascade.up")||"包含上级",down:t("lookup.cascade.down")||"包含下级",disable:t("lookup.cascade.disable")||"仅选择自身"}