ll-package
Version:
2 lines (1 loc) • 3.35 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("../../../../@babel/runtime/helpers/esm/objectSpread2.js"),w=require("../../../../@babel/runtime/helpers/esm/extends.js"),u=require("vue"),i=require("../utils/commonUtil.js"),Z=require("./useActive.js"),ee=require("./useKeyboard.js"),K=require("../utils/treeUtil.js"),te=require("../../vc-select/hooks/useBaseProps.js"),oe=require("../context.js"),M=require("./Column.js"),le=u.defineComponent({compatConfig:{MODE:3},name:"OptionList",inheritAttrs:!1,setup(ne,P){const{attrs:k,slots:O}=P,r=te.default(),S=u.ref(),E=u.computed(()=>r.direction==="rtl"),{options:p,values:A,halfValues:D,fieldNames:s,changeOnSelect:C,onSelect:F,searchOptions:N,dropdownPrefixCls:T,loadData:y,expandTrigger:j,customSlots:x}=oe.useInjectCascader(),d=u.computed(()=>T.value||r.prefixCls),c=u.shallowRef([]),I=e=>{if(!y.value||r.searchValue)return;const t=K.toPathOptions(e,p.value,s.value).map(l=>{let{option:a}=l;return a}),n=t[t.length-1];if(n&&!i.isLeaf(n,s.value)){const l=i.toPathKey(e);c.value=[...c.value,l],y.value(t)}};u.watchEffect(()=>{c.value.length&&c.value.forEach(e=>{const o=i.toPathValueStr(e),t=K.toPathOptions(o,p.value,s.value,!0).map(l=>{let{option:a}=l;return a}),n=t[t.length-1];(!n||n[s.value.children]||i.isLeaf(n,s.value))&&(c.value=c.value.filter(l=>l!==e))})});const $=u.computed(()=>new Set(i.toPathKeys(A.value))),B=u.computed(()=>new Set(i.toPathKeys(D.value))),[v,R]=Z.default(),L=e=>{R(e),I(e)},_=e=>{const{disabled:o}=e,t=i.isLeaf(e,s.value);return!o&&(t||C.value||r.multiple)},b=function(e,o){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;F(e),!r.multiple&&(o||C.value&&(j.value==="hover"||t))&&r.toggleOpen(!1)},f=u.computed(()=>r.searchValue?N.value:p.value),V=u.computed(()=>{const e=[{options:f.value}];let o=f.value;for(let t=0;t<v.value.length;t+=1){const n=v.value[t],l=o.find(h=>h[s.value.value]===n),a=l==null?void 0:l[s.value.children];if(!(a!=null&&a.length))break;o=a,e.push({options:a})}return e}),U=(e,o)=>{_(o)&&b(e,i.isLeaf(o,s.value),!0)};ee.default(P,f,s,v,L,U);const X=e=>{e.preventDefault()};return u.onMounted(()=>{u.watch(v,e=>{var o;for(let t=0;t<e.length;t+=1){const n=e.slice(0,t+1),l=i.toPathKey(n),a=(o=S.value)===null||o===void 0?void 0:o.querySelector(`li[data-path-key="${l.replace(/\\{0,2}"/g,'\\"')}"]`);a&&i.scrollIntoParentView(a)}},{flush:"post",immediate:!0})}),()=>{var e,o,t,n,l;const{notFoundContent:a=((e=O.notFoundContent)===null||e===void 0?void 0:e.call(O))||((t=(o=x.value).notFoundContent)===null||t===void 0?void 0:t.call(o)),multiple:h,toggleOpen:Y}=r,m=!(!((l=(n=V.value[0])===null||n===void 0?void 0:n.options)===null||l===void 0)&&l.length),z=[{[s.value.value]:"__EMPTY__",[M.FIX_LABEL]:a,disabled:!0}],G=w.default(w.default({},k),{multiple:!m&&h,onSelect:b,onActive:L,onToggleOpen:Y,checkedSet:$.value,halfCheckedSet:B.value,loadingKeys:c.value,isSelectable:_}),H=(m?[{options:z}]:V.value).map((J,g)=>{const Q=v.value.slice(0,g),W=v.value[g];return u.createVNode(M.default,q.default(q.default({key:g},G),{},{prefixCls:d.value,options:J.options,prevValuePath:Q,activeValue:W}),null)});return u.createVNode("div",{class:[`${d.value}-menus`,{[`${d.value}-menu-empty`]:m,[`${d.value}-rtl`]:E.value}],onMousedown:X,ref:S},[H])}}});exports.default=le;