tdesign-mobile-vue
Version:
tdesign-mobile-vue
151 lines (143 loc) • 5.66 kB
JavaScript
/**
* tdesign v1.7.0
* (c) 2024 TDesign Group
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var isUndefined = require('lodash/isUndefined');
var isBoolean = require('lodash/isBoolean');
var pick = require('lodash/pick');
var omit = require('lodash/omit');
var _common_js_log_log = require('../log/log.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var isUndefined__default = /*#__PURE__*/_interopDefaultLegacy(isUndefined);
var isBoolean__default = /*#__PURE__*/_interopDefaultLegacy(isBoolean);
var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick);
var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function getExposedProps(node) {
var props = pick__default["default"](node, ["value", "label", "data", "actived", "expanded", "checked", "indeterminate", "loading"]);
return props;
}
function createNodeModel(node) {
var props = getExposedProps(node);
var model = _objectSpread(_objectSpread({}, props), {}, {
getLevel: function getLevel() {
return node.getLevel();
},
getIndex: function getIndex() {
return node.getIndex();
},
isFirst: function isFirst() {
return node.isFirst();
},
isLast: function isLast() {
return node.isLast();
},
isLeaf: function isLeaf() {
return node.isLeaf();
},
insertBefore: function insertBefore(newData) {
return node.insertBefore(newData);
},
insertAfter: function insertAfter(newData) {
return node.insertAfter(newData);
},
appendData: function appendData(data) {
return node.append(data);
},
getPath: function getPath() {
var nodes = node.getPath();
return nodes.map(function (item) {
return item.getModel();
});
},
getParent: function getParent() {
var _node$parent;
return (_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.getModel();
},
getParents: function getParents() {
var nodes = node.getParents();
return nodes.map(function (item) {
return item.getModel();
});
},
getRoot: function getRoot() {
var root = node.getRoot();
return root === null || root === void 0 ? void 0 : root.getModel();
},
getSiblings: function getSiblings() {
var nodes = node.getSiblings();
return nodes.map(function (item) {
return item.getModel();
});
},
getChildren: function getChildren(deep) {
var childrenModel = false;
var children = node.children;
if (Array.isArray(children)) {
if (children.length > 0) {
if (deep) {
var nodes = node.walk();
nodes.shift();
childrenModel = nodes.map(function (item) {
return item.getModel();
});
} else {
childrenModel = children.map(function (item) {
return item.getModel();
});
}
} else {
childrenModel = false;
}
} else if (isBoolean__default["default"](children)) {
childrenModel = children;
}
return childrenModel;
},
remove: function remove(value) {
if (!value) {
node.remove();
return;
}
var tree = node.tree;
var targetNode = tree.getNode(value);
if (!targetNode) {
_common_js_log_log["default"].warnOnce("Tree", "`".concat(value, "` is not exist"));
return;
}
var parents = targetNode.getParents();
var parentValues = parents.map(function (pnode) {
return pnode.value;
});
if (parentValues.indexOf(node.value) < 0) {
_common_js_log_log["default"].warnOnce("Tree", "`".concat(value, "` is not a childNode of current node"));
return;
}
targetNode.remove();
},
setData: function setData(data) {
var _data = omit__default["default"](data, ["children", "value", "label"]);
var keys = node.tree.config.keys;
var dataValue = data[(keys === null || keys === void 0 ? void 0 : keys.value) || "value"];
var dataLabel = data[(keys === null || keys === void 0 ? void 0 : keys.label) || "label"];
if (!isUndefined__default["default"](dataValue)) _data.value = dataValue;
if (!isUndefined__default["default"](dataLabel)) _data.label = dataLabel;
Object.assign(node.data, _data);
Object.assign(node, _data);
}
});
return model;
}
function updateNodeModel(model, node) {
var props = getExposedProps(node);
Object.assign(model, props);
}
exports.createNodeModel = createNodeModel;
exports.updateNodeModel = updateNodeModel;
//# sourceMappingURL=tree-node-model.js.map