xdesign-vue-next
Version:
XDesign Component for vue-next
133 lines (125 loc) • 4.98 kB
JavaScript
/**
* xdesign v1.0.6
* (c) 2023 xdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var vue = require('vue');
var pick = require('lodash/pick');
var isFunction = require('lodash/isFunction');
var isString = require('lodash/isString');
var isArray = require('lodash/isArray');
var isNumber = require('lodash/isNumber');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick);
var isFunction__default = /*#__PURE__*/_interopDefaultLegacy(isFunction);
var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
var isNumber__default = /*#__PURE__*/_interopDefaultLegacy(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__default["default"](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__default["default"](prop)) {
var _conf$node;
item = prop(vue.h, (_conf$node = conf.node) === null || _conf$node === void 0 ? void 0 : _conf$node.getModel());
} else if (isString__default["default"](prop)) {
item = prop;
}
if (isString__default["default"](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__default["default"](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__default["default"](item) || isNumber__default["default"](item);
}
function getNode(store, item) {
var node = null;
var val = null;
if (isString__default["default"](item) || isNumber__default["default"](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__default["default"](props, ["keys", "expandAll", "expandLevel", "expandMutex", "expandParent", "activable", "activeMultiple", "disabled", "draggable", "checkable", "checkStrictly", "load", "lazy", "valueMode", "filter", "allowFoldNodeOnFilter"]);
return storeProps;
};
exports.getLineModel = getLineModel;
exports.getMark = getMark;
exports.getNode = getNode;
exports.getParentMarks = getParentMarks;
exports.getParentsToRoot = getParentsToRoot;
exports.getStoreConfig = getStoreConfig;
exports.getTNode = getTNode;
exports.isTreeNodeValue = isTreeNodeValue;
//# sourceMappingURL=util.js.map