uni-data-picker.8a1d9eae.js
23.8 KB
import{O as e,I as t,o as a,c as l,w as i,j as s,J as n,e as o,b as d,f as r,d as h,t as c,p as u,i as p,q as g,u as f,F as m,k as y,v,X as D,V as w,W as A,K as x}from"./index-faed4152.js";import{_ as k}from"./_plugin-vue_export-helper.1b428a4d.js";import{r as I}from"./uni-app.es.32d1ec75.js";import{_ as C}from"./uni-icons.3b49d363.js";import{D as S}from"./uni-forms.d13e4a45.js";const b={en:{"uni-load-more.contentdown":"Pull up to show more","uni-load-more.contentrefresh":"loading...","uni-load-more.contentnomore":"No more data"},"zh-Hans":{"uni-load-more.contentdown":"上拉显示更多","uni-load-more.contentrefresh":"正在加载...","uni-load-more.contentnomore":"没有更多数据了"},"zh-Hant":{"uni-load-more.contentdown":"上拉顯示更多","uni-load-more.contentrefresh":"正在加載...","uni-load-more.contentnomore":"沒有更多數據了"}};let V;setTimeout((()=>{V=e().platform}),16);const{t:M}=t(b);const E=k({name:"UniLoadMore",emits:["clickLoadMore"],props:{status:{type:String,default:"more"},showIcon:{type:Boolean,default:!0},iconType:{type:String,default:"auto"},iconSize:{type:Number,default:24},color:{type:String,default:"#777777"},contentText:{type:Object,default:()=>({contentdown:"",contentrefresh:"",contentnomore:""})},showText:{type:Boolean,default:!0}},data:()=>({webviewHide:!1,platform:V,imgBase64:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZV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"}),computed:{iconSnowWidth(){return 2*(Math.floor(this.iconSize/24)||1)},contentdownText(){return this.contentText.contentdown||M("uni-load-more.contentdown")},contentrefreshText(){return this.contentText.contentrefresh||M("uni-load-more.contentrefresh")},contentnomoreText(){return this.contentText.contentnomore||M("uni-load-more.contentnomore")}},mounted(){},methods:{onClick(){this.$emit("clickLoadMore",{detail:{status:this.status}})}}},[["render",function(e,t,f,m,y,v){const D=u,w=p,A=g;return a(),l(w,{class:"uni-load-more",onClick:v.onClick},{default:i((()=>[!y.webviewHide&&("circle"===f.iconType||"auto"===f.iconType&&"android"===y.platform)&&"loading"===f.status&&f.showIcon?(a(),s("svg",{key:0,width:"24",height:"24",viewBox:"25 25 50 50",style:n({width:f.iconSize+"px",height:f.iconSize+"px"}),class:"uni-load-more__img uni-load-more__img--android-H5"},[o("circle",{cx:"50",cy:"50",r:"20",fill:"none",style:n({color:f.color}),"stroke-width":3},null,4)],4)):!y.webviewHide&&"loading"===f.status&&f.showIcon?(a(),l(w,{key:1,style:n({width:f.iconSize+"px",height:f.iconSize+"px"}),class:"uni-load-more__img uni-load-more__img--ios-H5"},{default:i((()=>[d(D,{src:y.imgBase64,mode:"widthFix"},null,8,["src"])])),_:1},8,["style"])):r("",!0),f.showText?(a(),l(A,{key:2,class:"uni-load-more__text",style:n({color:f.color})},{default:i((()=>[h(c("more"===f.status?v.contentdownText:"loading"===f.status?v.contentrefreshText:v.contentnomoreText),1)])),_:1},8,["style"])):r("",!0)])),_:1},8,["onClick"])}],["__scopeId","data-v-13bb0eea"]]),F={props:{localdata:{type:[Array,Object],default:()=>[]},spaceInfo:{type:Object,default:()=>({})},collection:{type:String,default:""},action:{type:String,default:""},field:{type:String,default:""},orderby:{type:String,default:""},where:{type:[String,Object],default:""},pageData:{type:String,default:"add"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},getone:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},manual:{type:Boolean,default:!1},value:{type:[Array,String,Number],default:()=>[]},modelValue:{type:[Array,String,Number],default:()=>[]},preload:{type:Boolean,default:!1},stepSearh:{type:Boolean,default:!0},selfField:{type:String,default:""},parentField:{type:String,default:""},multiple:{type:Boolean,default:!1},map:{type:Object,default:()=>({text:"text",value:"value"})}},data(){return{loading:!1,errorMessage:"",loadMore:{contentdown:"",contentrefresh:"",contentnomore:""},dataList:[],selected:[],selectedIndex:0,page:{current:this.pageCurrent,size:this.pageSize,count:0}}},computed:{isLocaldata(){return!this.collection.length},postField(){let e=[this.field];return this.parentField&&e.push(`${this.parentField} as parent_value`),e.join(",")},dataValue(){return(Array.isArray(this.modelValue)?this.modelValue.length>0:null!==this.modelValue||void 0!==this.modelValue)?this.modelValue:this.value},hasValue(){return"number"==typeof this.dataValue||null!=this.dataValue&&this.dataValue.length>0}},created(){this.$watch((()=>{var e=[];return["pageCurrent","pageSize","spaceInfo","value","modelValue","localdata","collection","action","field","orderby","where","getont","getcount","gettree"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{for(let a=2;a<e.length&&e[a]==t[a];a++);e[0]!=t[0]&&(this.page.current=this.pageCurrent),this.page.size=this.pageSize,this.onPropsChange()})),this._treeData=[]},methods:{onPropsChange(){this._treeData=[]},getCommand(e={}){let t=S.database(this.spaceInfo);const a=e.action||this.action;a&&(t=t.action(a));const l=e.collection||this.collection;t=t.collection(l);const i=e.where||this.where;i&&Object.keys(i).length&&(t=t.where(i));const s=e.field||this.field;s&&(t=t.field(s));const n=e.orderby||this.orderby;n&&(t=t.orderBy(n));const o=void 0!==e.pageCurrent?e.pageCurrent:this.page.current,d=void 0!==e.pageSize?e.pageSize:this.page.size,r={getCount:void 0!==e.getcount?e.getcount:this.getcount,getTree:void 0!==e.gettree?e.gettree:this.gettree};return e.getTreePath&&(r.getTreePath=e.getTreePath),t=t.skip(d*(o-1)).limit(d).get(r),t},getNodeData(e){this.loading||(this.loading=!0,this.getCommand({field:this.postField,where:this._pathWhere()}).then((t=>{this.loading=!1,this.selected=t.result.data,e&&e()})).catch((e=>{this.loading=!1,this.errorMessage=e})))},getTreePath(e){this.loading||(this.loading=!0,this.getCommand({field:this.postField,getTreePath:{startWith:`${this.selfField}=='${this.dataValue}'`}}).then((t=>{this.loading=!1;let a=[];this._extractTreePath(t.result.data,a),this.selected=a,e&&e()})).catch((e=>{this.loading=!1,this.errorMessage=e})))},loadData(){this.isLocaldata?this._processLocalData():null==this.dataValue?this.stepSearh?this._loadNodeData((e=>{this._treeData=e,this._updateBindData()})):this._loadAllData((e=>{this._treeData=[],this._extractTree(e,this._treeData,null),this._updateBindData()})):this._loadNodeData((e=>{this._treeData=e,this._updateBindData(),this._updateSelected()}))},_loadAllData(e){this.loading||(this.loading=!0,this.getCommand({field:this.postField,gettree:!0,startwith:`${this.selfField}=='${this.dataValue}'`}).then((t=>{this.loading=!1,e(t.result.data),this.onDataChange()})).catch((e=>{this.loading=!1,this.errorMessage=e})))},_loadNodeData(e,t){this.loading||(this.loading=!0,this.getCommand({field:this.postField,where:t||this._postWhere(),pageSize:500}).then((t=>{this.loading=!1,e(t.result.data),this.onDataChange()})).catch((e=>{this.loading=!1,this.errorMessage=e})))},_pathWhere(){let e=[],t=this._getParentNameByField();return t&&e.push(`${t} == '${this.dataValue}'`),this.where?`(${this.where}) && (${e.join(" || ")})`:e.join(" || ")},_postWhere(){let e=[],t=this.selected,a=this.parentField;if(a&&e.push(`${a} == null || ${a} == ""`),t.length)for(var l=0;l<t.length-1;l++)e.push(`${a} == '${t[l].value}'`);let i=[];return this.where&&i.push(`(${this.where})`),e.length&&i.push(`(${e.join(" || ")})`),i.join(" && ")},_nodeWhere(){let e=[],t=this.selected;return t.length&&e.push(`${this.parentField} == '${t[t.length-1].value}'`),this.where?`(${this.where}) && (${e.join(" || ")})`:e.join(" || ")},_getParentNameByField(){const e=this.field.split(",");let t=null;for(let a=0;a<e.length;a++){const l=e[a].split("as");if(!(l.length<2)&&"value"===l[1].trim()){t=l[0].trim();break}}return t},_isTreeView(){return this.parentField&&this.selfField},_updateSelected(){var e=this.dataList,t=this.selected;let a=this.map.text,l=this.map.value;for(var i=0;i<t.length;i++)for(var s=t[i].value,n=e[i],o=0;o<n.length;o++){var d=n[o];if(d[l]===s){t[i].text=d[a];break}}},_updateBindData(e){const{dataList:t,hasNodes:a}=this._filterData(this._treeData,this.selected);let l=!1===this._stepSearh&&!a;return e&&(e.isleaf=l),this.dataList=t,this.selectedIndex=t.length-1,!l&&this.selected.length<t.length&&this.selected.push({value:null,text:"请选择"}),{isleaf:l,hasNodes:a}},_filterData(e,t){let a=[],l=!0;a.push(e.filter((e=>null===e.parent_value||void 0===e.parent_value||""===e.parent_value)));for(let n=0;n<t.length;n++){var i=t[n].value,s=e.filter((e=>e.parent_value===i));s.length?a.push(s):l=!1}return{dataList:a,hasNodes:l}},_extractTree(e,t,a){let l=this.map.value;for(let i=0;i<e.length;i++){let s=e[i],n={};for(let e in s)"children"!==e&&(n[e]=s[e]);null!=a&&""!==a&&(n.parent_value=a),t.push(n);let o=s.children;o&&this._extractTree(o,t,s[l])}},_extractTreePath(e,t){for(let a=0;a<e.length;a++){let l=e[a],i={};for(let e in l)"children"!==e&&(i[e]=l[e]);t.push(i);let s=l.children;s&&this._extractTreePath(s,t)}},_findNodePath(e,t,a=[]){let l=this.map.text,i=this.map.value;for(let s=0;s<t.length;s++){let n=t[s],o=n.children,d=n[l],r=n[i];if(a.push({value:r,text:d}),r===e)return a;if(o){const t=this._findNodePath(e,o,a);if(t.length)return t}a.pop()}return[]},_processLocalData(){this._treeData=[],this._extractTree(this.localdata,this._treeData);var e=this.dataValue;void 0!==e&&(Array.isArray(e)&&"object"==typeof(e=e[e.length-1])&&e[this.map.value]&&(e=e[this.map.value]),this.selected=this._findNodePath(e,this.localdata))}}};const T=k({name:"UniDataPicker",emits:["popupopened","popupclosed","nodeclick","input","change","update:modelValue"],mixins:[F],components:{DataPickerView:k({name:"UniDataPickerView",emits:["nodeclick","change","datachange","update:modelValue"],mixins:[F],props:{managedMode:{type:Boolean,default:!1},ellipsis:{type:Boolean,default:!0}},data:()=>({}),created(){this.managedMode||this.$nextTick((()=>{this.load()}))},methods:{onPropsChange(){this._treeData=[],this.selectedIndex=0,this.load()},load(){this.isLocaldata?this.loadData():this.dataValue.length&&this.getTreePath((e=>{this.loadData()}))},handleSelect(e){this.selectedIndex=e},handleNodeClick(e,t,a){if(e.disable)return;const l=this.dataList[t][a],i=l[this.map.text],s=l[this.map.value];if(t<this.selected.length-1?(this.selected.splice(t,this.selected.length-t),this.selected.push({text:i,value:s})):t===this.selected.length-1&&this.selected.splice(t,1,{text:i,value:s}),l.isleaf)return void this.onSelectedChange(l,l.isleaf);const{isleaf:n,hasNodes:o}=this._updateBindData();(this._isTreeView()||o)&&(!this.isLocaldata||o&&!n)?n||o?this.onSelectedChange(l,!1):this._loadNodeData((e=>{e.length?(this._treeData.push(...e),this._updateBindData(l)):l.isleaf=!0,this.onSelectedChange(l,l.isleaf)}),this._nodeWhere()):this.onSelectedChange(l,!0)},updateData(e){this._treeData=e.treeData,this.selected=e.selected,this._treeData.length?this._updateBindData():this.loadData()},onDataChange(){this.$emit("datachange")},onSelectedChange(e,t){t&&this._dispatchEvent(),e&&this.$emit("nodeclick",e)},_dispatchEvent(){this.$emit("change",this.selected.slice(0))}}},[["render",function(e,t,n,o,u,w){const A=g,x=p,k=D,C=I(f("uni-load-more"),E);return a(),l(x,{class:"uni-data-pickerview"},{default:i((()=>[d(k,{class:"selected-area","scroll-x":"true","scroll-y":"false","show-scrollbar":!1},{default:i((()=>[d(x,{class:"selected-list"},{default:i((()=>[(a(!0),s(m,null,y(e.selected,((t,o)=>(a(),s(m,null,[t.text?(a(),l(x,{class:v(["selected-item",{"selected-item-active":o==e.selectedIndex,"selected-item-text-overflow":n.ellipsis}]),key:o,onClick:e=>w.handleSelect(o)},{default:i((()=>[d(A,{class:""},{default:i((()=>[h(c(t.text),1)])),_:2},1024)])),_:2},1032,["class","onClick"])):r("",!0)],64)))),256))])),_:1})])),_:1}),d(x,{class:"tab-c"},{default:i((()=>[(a(!0),s(m,null,y(e.dataList,((t,n)=>(a(),s(m,null,[n==e.selectedIndex?(a(),l(k,{class:"list",key:n,"scroll-y":!0},{default:i((()=>[(a(!0),s(m,null,y(t,((t,s)=>(a(),l(x,{class:v(["item",{"is-disabled":!!t.disable}]),key:s,onClick:e=>w.handleNodeClick(t,n,s)},{default:i((()=>[d(A,{class:"item-text item-text-overflow"},{default:i((()=>[h(c(t[e.map.text]),1)])),_:2},1024),e.selected.length>n&&t[e.map.value]==e.selected[n].value?(a(),l(x,{key:0,class:"check"})):r("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:2},1024)):r("",!0)],64)))),256)),e.loading?(a(),l(x,{key:0,class:"loading-cover"},{default:i((()=>[d(C,{class:"load-more",contentText:e.loadMore,status:"loading"},null,8,["contentText"])])),_:1})):r("",!0),e.errorMessage?(a(),l(x,{key:1,class:"error-message"},{default:i((()=>[d(A,{class:"error-text"},{default:i((()=>[h(c(e.errorMessage),1)])),_:1})])),_:1})):r("",!0)])),_:1})])),_:1})}],["__scopeId","data-v-74f27c5e"]])},props:{options:{type:[Object,Array],default:()=>({})},popupTitle:{type:String,default:"请选择"},placeholder:{type:String,default:"请选择"},heightMobile:{type:String,default:""},readonly:{type:Boolean,default:!1},clearIcon:{type:Boolean,default:!0},border:{type:Boolean,default:!0},split:{type:String,default:"/"},ellipsis:{type:Boolean,default:!0}},data:()=>({isOpened:!1,inputSelected:[]}),created(){this.form=this.getForm("uniForms"),this.formItem=this.getForm("uniFormsItem"),this.formItem&&this.formItem.name&&(this.rename=this.formItem.name,this.form.inputChildrens.push(this)),this.$nextTick((()=>{this.load()}))},methods:{clear(){this.inputSelected.splice(0),this._dispatchEvent([])},onPropsChange(){this._treeData=[],this.selectedIndex=0,this.load()},load(){this.readonly?this._processReadonly(this.localdata,this.dataValue):this.isLocaldata?(this.loadData(),this.inputSelected=this.selected.slice(0)):this.parentField||this.selfField||!this.hasValue?this.hasValue&&this.getTreePath((()=>{this.inputSelected=this.selected.slice(0)})):this.getNodeData((()=>{this.inputSelected=this.selected.slice(0)}))},getForm(e="uniForms"){let t=this.$parent,a=t.$options.name;for(;a!==e;){if(t=t.$parent,!t)return!1;a=t.$options.name}return t},show(){this.isOpened=!0,setTimeout((()=>{this.$refs.pickerView.updateData({treeData:this._treeData,selected:this.selected,selectedIndex:this.selectedIndex})}),200),this.$emit("popupopened")},hide(){this.isOpened=!1,this.$emit("popupclosed")},handleInput(){this.readonly||this.show()},handleClose(e){this.hide()},onnodeclick(e){this.$emit("nodeclick",e)},ondatachange(e){this._treeData=this.$refs.pickerView._treeData},onchange(e){this.hide(),this.inputSelected=e,this._dispatchEvent(e)},_processReadonly(e,t){if(e.findIndex((e=>e.children))>-1){let e;return Array.isArray(t)?(e=t[t.length-1],"object"==typeof e&&e.value&&(e=e.value)):e=t,void(this.inputSelected=this._findNodePath(e,this.localdata))}if(!this.hasValue)return void(this.inputSelected=[]);let a=[];for(let s=0;s<t.length;s++){var l=t[s],i=e.find((e=>e.value==l));i&&a.push(i)}a.length&&(this.inputSelected=a)},_filterForArray(e,t){var a=[];for(let s=0;s<t.length;s++){var l=t[s],i=e.find((e=>e.value==l));i&&a.push(i)}return a},_dispatchEvent(e){let t={};if(e.length){for(var a=new Array(e.length),l=0;l<e.length;l++)a[l]=e[l].value;t=e[e.length-1]}else t.value="";this.formItem&&this.formItem.setValue(t.value),this.$emit("input",t.value),this.$emit("update:modelValue",t.value),this.$emit("change",{detail:{value:e}})}}},[["render",function(e,t,n,o,u,k){const S=g,b=I(f("uni-load-more"),E),V=p,M=D,F=I(f("uni-icons"),C),T=w("data-picker-view");return a(),l(V,{class:"uni-data-tree"},{default:i((()=>[d(V,{class:"uni-data-tree-input",onClick:k.handleInput},{default:i((()=>[A(e.$slots,"default",{options:n.options,data:u.inputSelected,error:e.errorMessage},(()=>[d(V,{class:v(["input-value",{"input-value-border":n.border}])},{default:i((()=>[e.errorMessage?(a(),l(S,{key:0,class:"selected-area error-text"},{default:i((()=>[h(c(e.errorMessage),1)])),_:1})):e.loading&&!u.isOpened?(a(),l(V,{key:1,class:"selected-area"},{default:i((()=>[d(b,{class:"load-more",contentText:e.loadMore,status:"loading"},null,8,["contentText"])])),_:1})):u.inputSelected.length?(a(),l(M,{key:2,class:"selected-area","scroll-x":"true"},{default:i((()=>[d(V,{class:"selected-list"},{default:i((()=>[(a(!0),s(m,null,y(u.inputSelected,((e,t)=>(a(),l(V,{class:"selected-item",key:t},{default:i((()=>[d(S,null,{default:i((()=>[h(c(e.text),1)])),_:2},1024),t<u.inputSelected.length-1?(a(),l(S,{key:0,class:"input-split-line"},{default:i((()=>[h(c(n.split),1)])),_:1})):r("",!0)])),_:2},1024)))),128))])),_:1})])),_:1})):(a(),l(S,{key:3,class:"selected-area placeholder"},{default:i((()=>[h(c(n.placeholder),1)])),_:1})),n.clearIcon&&!n.readonly&&u.inputSelected.length?(a(),l(V,{key:4,class:"icon-clear",onClick:x(k.clear,["stop"])},{default:i((()=>[d(F,{type:"clear",color:"#e1e1e1",size:"14"})])),_:1},8,["onClick"])):r("",!0),n.clearIcon&&u.inputSelected.length||n.readonly?r("",!0):(a(),l(V,{key:5,class:"arrow-area"},{default:i((()=>[d(V,{class:"input-arrow"})])),_:1}))])),_:1},8,["class"])]),!0)])),_:3},8,["onClick"]),u.isOpened?(a(),l(V,{key:0,class:"uni-data-tree-cover",onClick:k.handleClose},null,8,["onClick"])):r("",!0),u.isOpened?(a(),l(V,{key:1,class:"uni-data-tree-dialog"},{default:i((()=>[d(V,{class:"uni-popper__arrow"}),d(V,{class:"dialog-caption"},{default:i((()=>[d(V,{class:"title-area"},{default:i((()=>[d(S,{class:"dialog-title"},{default:i((()=>[h(c(n.popupTitle),1)])),_:1})])),_:1}),d(V,{class:"dialog-close",onClick:k.handleClose},{default:i((()=>[d(V,{class:"dialog-close-plus","data-id":"close"}),d(V,{class:"dialog-close-plus dialog-close-rotate","data-id":"close"})])),_:1},8,["onClick"])])),_:1}),d(T,{class:"picker-view",ref:"pickerView",modelValue:e.dataValue,"onUpdate:modelValue":t[0]||(t[0]=t=>e.dataValue=t),localdata:e.localdata,preload:e.preload,collection:e.collection,field:e.field,orderby:e.orderby,where:e.where,"step-searh":e.stepSearh,"self-field":e.selfField,"parent-field":e.parentField,"managed-mode":!0,map:e.map,ellipsis:n.ellipsis,onChange:k.onchange,onDatachange:k.ondatachange,onNodeclick:k.onnodeclick},null,8,["modelValue","localdata","preload","collection","field","orderby","where","step-searh","self-field","parent-field","map","ellipsis","onChange","onDatachange","onNodeclick"])])),_:1})):r("",!0)])),_:3})}],["__scopeId","data-v-0df4865c"]]);export{T as _,E as a};