ll-package
Version:
2 lines (1 loc) • 1.95 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../vc-util/warning.js");function K(k,i){const a=new Set;return k.forEach(n=>{i.has(n)||a.add(n)}),a}function p(k){const{disabled:i,disableCheckbox:a,checkable:n}=k||{};return!!(i||a)||n===!1}function g(k,i,a,n){const t=new Set(k),c=new Set;for(let r=0;r<=a;r+=1)(i.get(r)||new Set).forEach(l=>{const{key:e,node:o,children:u=[]}=l;t.has(e)&&!n(o)&&u.filter(f=>!n(f.node)).forEach(f=>{t.add(f.key)})});const s=new Set;for(let r=a;r>=0;r-=1)(i.get(r)||new Set).forEach(l=>{const{parent:e,node:o}=l;if(n(o)||!l.parent||s.has(l.parent.key))return;if(n(l.parent.node)){s.add(e.key);return}let u=!0,f=!1;(e.children||[]).filter(h=>!n(h.node)).forEach(h=>{let{key:y}=h;const w=t.has(y);u&&!w&&(u=!1),!f&&(w||c.has(y))&&(f=!0)}),u&&t.add(e.key),f&&c.add(e.key),s.add(e.key)});return{checkedKeys:Array.from(t),halfCheckedKeys:Array.from(K(c,t))}}function E(k,i,a,n,t){const c=new Set(k);let s=new Set(i);for(let d=0;d<=n;d+=1)(a.get(d)||new Set).forEach(e=>{const{key:o,node:u,children:f=[]}=e;!c.has(o)&&!s.has(o)&&!t(u)&&f.filter(h=>!t(h.node)).forEach(h=>{c.delete(h.key)})});s=new Set;const r=new Set;for(let d=n;d>=0;d-=1)(a.get(d)||new Set).forEach(e=>{const{parent:o,node:u}=e;if(t(u)||!e.parent||r.has(e.parent.key))return;if(t(e.parent.node)){r.add(o.key);return}let f=!0,h=!1;(o.children||[]).filter(y=>!t(y.node)).forEach(y=>{let{key:w}=y;const S=c.has(w);f&&!S&&(f=!1),!h&&(S||s.has(w))&&(h=!0)}),f||c.delete(o.key),h&&s.add(o.key),r.add(o.key)});return{checkedKeys:Array.from(c),halfCheckedKeys:Array.from(K(s,c))}}function m(k,i,a,n,t,c){const s=[];let r;c?r=c:r=p;const d=new Set(k.filter(e=>{const o=!!a[e];return o||s.push(e),o}));C.note(!s.length,`Tree missing follow keys: ${s.slice(0,100).map(e=>`'${e}'`).join(", ")}`);let l;return i===!0?l=g(d,t,n,r):l=E(d,i.halfCheckedKeys,t,n,r),l}exports.conductCheck=m;exports.isCheckDisabled=p;
;