UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 4.25 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("@aplus-frontend/antdv");require("../../hooks/index.js");const g=require("lodash-unified"),q=require("./use-request.js"),P=require("../../hooks/useControllableValue.js");function v(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!e.isVNode(r)}const _=e.defineComponent({name:"ApFieldTreeSelect",__name:"index",props:{mode:{default:"edit"},class:{},style:{},suffixIcon:{},size:{},bordered:{type:Boolean,default:void 0},treeLine:{},replaceFields:{},placement:{},status:{},popupClassName:{},dropdownClassName:{},"onUpdate:value":{},"onUpdate:treeExpandedKeys":{},"onUpdate:searchValue":{},variant:{},value:{},children:{},listHeight:{},onMouseenter:{},onMouseleave:{},tabindex:{},onClick:{},onFocus:{},onBlur:{},onChange:{},onKeydown:{},onKeyup:{},onMousedown:{},onSelect:{},open:{type:Boolean,default:void 0},animation:{},direction:{},multiple:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},prefixCls:{},id:{},autofocus:{type:Boolean,default:void 0},getPopupContainer:{},virtual:{type:Boolean,default:!0},dropdownMatchSelectWidth:{default:!0},placeholder:{},loading:{type:Boolean,default:void 0},defaultValue:{},prefix:{},clearIcon:{},allowClear:{type:Boolean,default:void 0},getRawInputElement:{},fieldNames:{},inputValue:{},searchValue:{},onSearch:{},autoClearSearchValue:{type:Boolean,default:void 0},onDeselect:{},listItemHeight:{},labelInValue:{type:Boolean,default:void 0},maxCount:{},showSearch:{type:Boolean,default:void 0},tagRender:{},optionLabelRender:{},notFoundContent:{},onClear:{},choiceTransitionName:{},defaultOpen:{type:Boolean,default:void 0},onDropdownVisibleChange:{},maxTagTextLength:{},maxTagCount:{},maxTagPlaceholder:{},tokenSeparators:{},removeIcon:{},transitionName:{},dropdownStyle:{},dropdownRender:{},dropdownAlign:{},showAction:{},onPopupScroll:{},onInputKeyDown:{},showArrow:{type:Boolean,default:void 0},showCheckedStrategy:{},filterTreeNode:{},treeNodeFilterProp:{},treeNodeLabelProp:{},treeCheckable:{type:Boolean,default:void 0},treeCheckStrictly:{type:Boolean,default:void 0},treeData:{},treeDataSimpleMode:{},treeLoadedKeys:{},onTreeLoad:{},treeDefaultExpandAll:{type:Boolean,default:void 0},treeExpandedKeys:{},treeDefaultExpandedKeys:{},onTreeExpand:{},treeIcon:{},switcherIcon:{},treeExpandAction:{},dropdownPopupAlign:{},emptyText:{default:"--"},request:{},lazy:{type:Boolean},params:{},loadData:{type:Boolean}},emits:["update:value"],setup(r,{expose:S,emit:B}){const o=r,C=e.useSlots(),N=B,s=e.ref(),{value:p,updateValue:w}=P.useControllableValue(o,N),{treeData:f,loading:m,request:y}=q.useRequest(o),x=e.computed(()=>{let t;const d=e.unref(p),u=g.isArray(d)?d:[d].filter(Boolean);if(!u.length)return e.createVNode(e.Fragment,null,[o.emptyText]);const n=[],c=o.fieldNames?.label||"label",k=o.fieldNames?.value||"value";function h(a){for(const l of a){if(u.find(D=>D===l[k])&&n.push(l[c]),n.length===u.length)return;l.children?.length&&h(l.children)}}return h(e.unref(f)),n.length?n.length===1?e.createVNode("span",null,[n[0]]):e.createVNode(i.Space,{size:4},v(t=n.map((a,l)=>e.createVNode(i.Tag,{style:"margin-right: 0px",key:`${a}-${l}`},v(a)?a:{default:()=>[a]})))?t:{default:()=>[t]}):e.createVNode(e.Fragment,null,[o.emptyText])});function V(){s.value?.focus?.()}function b(){s.value?.blur?.()}function T(t){return y(t)}return S({request:y,focus:V,blur:b}),(t,d)=>t.mode==="read"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value),{key:0})):(e.openBlock(),e.createBlock(e.unref(i.TreeSelect),e.mergeProps({key:1},e.unref(g.omit)(o,["onUpdate:value","value","treeData","loadData"]),{ref_key:"treeSelectRef",ref:s,value:e.unref(p),"tree-data":e.unref(f),loading:e.unref(m),"load-data":t.loadData?T:void 0,"onUpdate:value":e.unref(w)}),e.createSlots({_:2},[e.renderList(C,(u,n)=>({name:n,fn:e.withCtx(c=>[e.renderSlot(t.$slots,n,e.normalizeProps(e.guardReactiveProps(c||{})))])})),e.unref(m)?{name:"notFoundContent",fn:e.withCtx(()=>[e.createVNode(e.unref(i.Spin),{size:"small"})]),key:"0"}:void 0]),1040,["value","tree-data","loading","load-data","onUpdate:value"]))}});exports.default=_;