UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

113 lines (109 loc) 3.97 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { h } from 'vue'; import pick from 'lodash/pick'; import isFunction from 'lodash/isFunction'; import isString from 'lodash/isString'; import isArray from 'lodash/isArray'; import isNumber from 'lodash/isNumber'; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function getParentsToRoot(element, root) { var list = []; var el = element; while (el && el.parentNode) { list.push(el); if (el === root) { break; } el = el.parentNode; } return list; } function getParentMarks(name, element, root) { var list = getParentsToRoot(element, root); return list.map(function (el) { var mark = { name: name, value: el.getAttribute(name) || "", el: el }; return mark; }).filter(function (mark) { return mark.value; }); } function getMark(name, element, root) { var list = getParentMarks(name, element, root); var info = list.pop() || null; return info; } function getTNode(prop) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var tnode = null; var item = null; var conf = _objectSpread({}, options); if (isFunction(prop)) { var _conf$node; item = prop(h, (_conf$node = conf.node) === null || _conf$node === void 0 ? void 0 : _conf$node.getModel()); } else if (isString(prop)) { item = prop; } if (isString(item)) { tnode = item; } else if (item) { tnode = item; } return tnode; } function getLineModel(nodes, node, index) { var lineModel = { top: false, right: false, bottom: false, left: false }; var nodeChildren = []; if (isArray(node.children)) { nodeChildren = node.children; } var childNode = nodes[index - 1] || null; var nodeItemIndex = childNode ? childNode.getIndex() : 0; if (index === 0) { lineModel.left = !!node.parent; lineModel.bottom = node.children && node.expanded; lineModel.right = node.parent && !node.children; } else if (index === 1) { lineModel.top = true; lineModel.right = true; lineModel.bottom = nodeItemIndex < nodeChildren.length - 1; } else if (nodeItemIndex < nodeChildren.length - 1) { lineModel.top = true; lineModel.bottom = true; } return lineModel; } function isTreeNodeValue(item) { return isString(item) || isNumber(item); } function getNode(store, item) { var node = null; var val = null; if (isString(item) || isNumber(item)) { val = item; } else if (item && isTreeNodeValue(item.value)) { val = item.value; } node = store.getNode(val); return node; } var getStoreConfig = function getStoreConfig(props) { var storeProps = pick(props, ["keys", "expandAll", "expandLevel", "expandMutex", "expandParent", "activable", "activeMultiple", "disabled", "draggable", "checkable", "checkStrictly", "load", "lazy", "valueMode", "filter", "allowFoldNodeOnFilter"]); return storeProps; }; export { getLineModel, getMark, getNode, getParentMarks, getParentsToRoot, getStoreConfig, getTNode, isTreeNodeValue }; //# sourceMappingURL=util.js.map