UNPKG

tdesign-vue

Version:
351 lines (339 loc) 12.8 kB
/** * tdesign v1.12.1 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var utils_event = require('../utils/event.js'); var cloneDeep = require('../_chunks/dep-bda7e2bd.js'); var _arrayFilter = require('../_chunks/dep-dd8aea11.js'); var _baseForOwn = require('../_chunks/dep-de009b1f.js'); var isArrayLike = require('../_chunks/dep-ddc1429e.js'); var isArray = require('../_chunks/dep-9b72cbc5.js'); require('../utils/helper.js'); require('@babel/runtime/helpers/objectWithoutProperties'); require('@babel/runtime/helpers/slicedToArray'); require('../_chunks/dep-bf70543d.js'); require('../_chunks/dep-f895c884.js'); require('../_chunks/dep-e1cc6f64.js'); require('../_chunks/dep-5ea2b00f.js'); require('@babel/runtime/helpers/typeof'); require('../_chunks/dep-7b78e8c3.js'); require('../_chunks/dep-d7270eaf.js'); require('../_chunks/dep-68f48b50.js'); require('../_chunks/dep-051ce30d.js'); require('../_chunks/dep-4b30bfe2.js'); require('../_chunks/dep-b0b39c86.js'); require('../_chunks/dep-403352a7.js'); require('../_chunks/dep-cca66fee.js'); require('../_chunks/dep-4361b357.js'); require('../_chunks/dep-887c649b.js'); require('../_chunks/dep-411a10dd.js'); require('../_chunks/dep-51fe98f1.js'); require('../_chunks/dep-3d682642.js'); require('../_chunks/dep-dea23841.js'); require('../_chunks/dep-4aa08166.js'); require('../_chunks/dep-65896ff9.js'); require('../_chunks/dep-b65b2f55.js'); require('../_chunks/dep-6e7b8cda.js'); require('../_chunks/dep-563168ba.js'); require('../_chunks/dep-ed8c3176.js'); require('../_chunks/dep-28836b00.js'); require('../_chunks/dep-35eb80a8.js'); require('../_chunks/dep-a8feef06.js'); require('../_chunks/dep-361a995e.js'); require('../_chunks/dep-165bd1be.js'); require('../_chunks/dep-e1bd36c1.js'); require('../_chunks/dep-2d46186d.js'); require('../_chunks/dep-08d7842c.js'); require('../_chunks/dep-459d78d6.js'); require('../_chunks/dep-98f48ff2.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); /** * Creates a `baseEach` or `baseEachRight` function. * * @private * @param {Function} eachFunc The function to iterate over a collection. * @param {boolean} [fromRight] Specify iterating from right to left. * @returns {Function} Returns the new base function. */ function createBaseEach(eachFunc, fromRight) { return function (collection, iteratee) { if (collection == null) { return collection; } if (!isArrayLike.isArrayLike(collection)) { return eachFunc(collection, iteratee); } var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection); while (fromRight ? index-- : ++index < length) { if (iteratee(iterable[index], index, iterable) === false) { break; } } return collection; }; } /** * The base implementation of `_.forEach` without support for iteratee shorthands. * * @private * @param {Array|Object} collection The collection to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Array|Object} Returns `collection`. */ var baseEach = createBaseEach(_baseForOwn.baseForOwn); /** * The base implementation of `_.filter` without support for iteratee shorthands. * * @private * @param {Array|Object} collection The collection to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {Array} Returns the new filtered array. */ function baseFilter(collection, predicate) { var result = []; baseEach(collection, function (value, index, collection) { if (predicate(value, index, collection)) { result.push(value); } }); return result; } /** * Iterates over elements of `collection`, returning an array of all elements * `predicate` returns truthy for. The predicate is invoked with three * arguments: (value, index|key, collection). * * **Note:** Unlike `_.remove`, this method returns a new array. * * @static * @memberOf _ * @since 0.1.0 * @category Collection * @param {Array|Object} collection The collection to iterate over. * @param {Function} [predicate=_.identity] The function invoked per iteration. * @returns {Array} Returns the new filtered array. * @see _.reject * @example * * var users = [ * { 'user': 'barney', 'age': 36, 'active': true }, * { 'user': 'fred', 'age': 40, 'active': false } * ]; * * _.filter(users, function(o) { return !o.active; }); * // => objects for ['fred'] * * // The `_.matches` iteratee shorthand. * _.filter(users, { 'age': 36, 'active': true }); * // => objects for ['barney'] * * // The `_.matchesProperty` iteratee shorthand. * _.filter(users, ['active', false]); * // => objects for ['fred'] * * // The `_.property` iteratee shorthand. * _.filter(users, 'active'); * // => objects for ['barney'] * * // Combining several predicates using `_.overEvery` or `_.overSome`. * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); * // => objects for ['fred', 'barney'] */ function filter(collection, predicate) { var func = isArray.isArray(collection) ? _arrayFilter.arrayFilter : baseFilter; return func(collection, _baseForOwn.baseIteratee(predicate)); } 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; } var TRANSFER_NAME = "TTransfer"; var SOURCE = "source"; var TARGET = "target"; function findTopNode(vm) { if (vm.$options.name === TRANSFER_NAME) { return vm; } if (vm.$parent) { return findTopNode(vm.$parent); } return vm; } function getTransferListOption(prop) { if (Array.isArray(prop)) { return { source: prop[0], target: prop[1] }; } return { source: prop, target: prop }; } function getDataValues(data, filterValues) { var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref$isTreeMode = _ref.isTreeMode, isTreeMode = _ref$isTreeMode === void 0 ? false : _ref$isTreeMode, _ref$include = _ref.include, include = _ref$include === void 0 ? true : _ref$include, _ref$remainValue = _ref.remainValue, remainValue = _ref$remainValue === void 0 ? [] : _ref$remainValue; if (isTreeMode) { var result = []; if (data) { for (var i = 0; i < data.length; i++) { var _item$children; var item = data[i]; var isInclude = filterValues.includes(item.value) && !item.disabled; if (!include && isInclude) { continue; } if (item !== null && item !== void 0 && item.children && ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0) { var childResult = getDataValues(item.children, filterValues, { isTreeMode: isTreeMode, include: include }); result = result.concat(childResult); } else if (include && isInclude || !include && !isInclude) { result.push(item.value); } } } return result; } return data.filter(function (item) { var isInclude = filterValues.includes(item.value); return (include && isInclude || !include && !isInclude) && (!item.disabled || remainValue.includes(item.value)); }).map(function (item) { return item.value; }); } function getTransferData(data, keys) { var isTreeMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var list = data.map(function (transferDataItem, index) { var _transferDataItem$dis; var labelKey = (keys === null || keys === void 0 ? void 0 : keys.label) || "label"; var valueKey = (keys === null || keys === void 0 ? void 0 : keys.value) || "value"; var disabledKey = (keys === null || keys === void 0 ? void 0 : keys.disabled) || "disabled"; if (transferDataItem[labelKey] === void 0) { throw "".concat(labelKey, " is not in DataOption ").concat(JSON.stringify(transferDataItem)); } if (transferDataItem[valueKey] === void 0) { throw "".concat(valueKey, " is not in DataOption ").concat(JSON.stringify(transferDataItem)); } var result = { label: transferDataItem[labelKey], value: transferDataItem[valueKey], key: "key__value_".concat(transferDataItem[valueKey], "_index_").concat(index), disabled: (_transferDataItem$dis = transferDataItem[disabledKey]) !== null && _transferDataItem$dis !== void 0 ? _transferDataItem$dis : false, data: transferDataItem }; if (isTreeMode && transferDataItem.children && transferDataItem.children.length > 0) { result.children = getTransferData(transferDataItem.children, keys, true); } return result; }); return list; } function isAllNodeValid(data, filterValues, needMatch) { if (filterValues.includes(data.value)) { return needMatch; } return false; } function isTreeNodeValid(data, filterValues, needMatch) { if (filterValues.includes(data.value)) { return needMatch; } if (data !== null && data !== void 0 && data.children) { return data === null || data === void 0 ? void 0 : data.children.some(function (item) { return isTreeNodeValid(item, filterValues, needMatch); }); } return !needMatch; } function cloneTreeWithFilter(sourceTree, targetTree, filterValues, needMatch) { sourceTree.forEach(function (item) { var newNode; if (isAllNodeValid(item, filterValues, needMatch)) { newNode = cloneDeep.cloneDeep(item); targetTree.push(newNode); } else if (isTreeNodeValid(item, filterValues, needMatch)) { newNode = _objectSpread({}, item); delete newNode.children; targetTree.push(newNode); if (item.children) { newNode.children = []; cloneTreeWithFilter(item.children, newNode.children, filterValues, needMatch); if (newNode.children.length === 0) { delete newNode.children; } } } }); } function filterTransferData(data, filterValues) { var needMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var isTreeMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; if (!isTreeMode) { if (needMatch) { var dataMap = new Map(data.map(function (item) { return [item.value, item]; })); return filterValues.map(function (value) { return dataMap.get(value); }).filter(Boolean); } return data.filter(function (item) { var isMatch = filterValues.includes(item.value); return !isMatch; }); } var result = []; cloneTreeWithFilter(data, result, filterValues, needMatch); return result; } function getLeafCount(nodes) { var total = 0; nodes.forEach(function (child) { if (child.children && child.children.length > 0) { total += getLeafCount(child.children); } else { total += 1; } }); return total; } function filterTreeData(tree, filterStr) { var res = filter(cloneDeep.cloneDeep(tree), function (node) { var _node$children; if (node.label.toLowerCase().indexOf(filterStr.toLowerCase()) > -1) { return true; } if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) { node.children = filterTreeData(node.children, filterStr); return node.children.length > 0; } return false; }); return res; } exports.emitEvent = utils_event.emitEvent; exports.SOURCE = SOURCE; exports.TARGET = TARGET; exports.TRANSFER_NAME = TRANSFER_NAME; exports.cloneTreeWithFilter = cloneTreeWithFilter; exports.filterTransferData = filterTransferData; exports.filterTreeData = filterTreeData; exports.findTopNode = findTopNode; exports.getDataValues = getDataValues; exports.getLeafCount = getLeafCount; exports.getTransferData = getTransferData; exports.getTransferListOption = getTransferListOption; //# sourceMappingURL=utils.js.map