yanzhen-design-vue
Version:
27 lines (26 loc) • 958 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const lodashEs = require("lodash-es");
const contacts = require("../constants/contacts.cjs");
const handleDataType = require("./handleDataType.cjs");
function handleTreeNode(props, selectedIds) {
let isCard = props.isCard === true;
if (!isCard) isCard = handleDataType.handleDataType(props) === contacts.Contacts.USER;
return new Proxy(props, {
get(target, p, receiver) {
var _a;
const value = Reflect.get(target, p, receiver);
if (lodashEs.isString(p)) {
switch (true) {
case p === "isCard":
return isCard;
case (p === "checked" && (isCard || target.isLeaf)):
return (_a = vue.unref(selectedIds)) == null ? void 0 : _a.includes(target == null ? void 0 : target.value);
}
}
return value;
}
});
}
exports.handleTreeNode = handleTreeNode;