UNPKG

tdesign-vue

Version:
181 lines (173 loc) 8.59 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 _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray'); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var VueCompositionAPI = require('@vue/composition-api'); var hooks_useDefaultValue = require('../../hooks/useDefaultValue.js'); var _common_js_table_treeStore = require('../../_common/js/table/tree-store.js'); require('@babel/runtime/helpers/classCallCheck'); require('@babel/runtime/helpers/createClass'); require('../../_common/js/table/utils.js'); require('../../_chunks/dep-411a10dd.js'); require('../../_chunks/dep-5ea2b00f.js'); require('@babel/runtime/helpers/typeof'); require('../../_chunks/dep-51fe98f1.js'); require('../../_chunks/dep-2edcfe51.js'); require('../../_chunks/dep-d7270eaf.js'); require('../../_chunks/dep-165bd1be.js'); require('../../_chunks/dep-e1bd36c1.js'); require('../../_chunks/dep-9b72cbc5.js'); require('../../_chunks/dep-7b78e8c3.js'); require('../../_chunks/dep-6e7b8cda.js'); require('../../_chunks/dep-887c649b.js'); require('../../_chunks/dep-3d682642.js'); require('../../_chunks/dep-e1cc6f64.js'); require('../../_common/js/log/log.js'); require('../../_chunks/dep-5a0b1276.js'); require('../../_chunks/dep-910b0661.js'); require('../../_chunks/dep-b361e9d2.js'); require('../../_chunks/dep-cca66fee.js'); require('../../_chunks/dep-4361b357.js'); require('../../_chunks/dep-b65b2f55.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray); var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray); 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 useTreeDataExpand(props, context, params) { var store = params.store, dataSource = params.dataSource, rowDataKeys = params.rowDataKeys; var _toRefs = VueCompositionAPI.toRefs(props), data = _toRefs.data, expandedTreeNodes = _toRefs.expandedTreeNodes, tree = _toRefs.tree; var isDefaultExpandAllExecute = VueCompositionAPI.ref(false); var isDefaultExpandedTreeNodesExecute = VueCompositionAPI.ref(false); var _useDefaultValue = hooks_useDefaultValue["default"](expandedTreeNodes, props.defaultExpandedTreeNodes, props.onExpandedTreeNodesChange, "expandedTreeNodes", "expanded-tree-nodes-change"), _useDefaultValue2 = _slicedToArray__default["default"](_useDefaultValue, 2), tExpandedTreeNode = _useDefaultValue2[0], setTExpandedTreeNode = _useDefaultValue2[1]; var changedExpandTreeNode = VueCompositionAPI.ref({ type: "props-change" }); function expandAll() { var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "expand-all"; var list = arguments.length > 1 ? arguments[1] : undefined; var newData = list || data.value; dataSource.value = store.value.expandAll(newData, rowDataKeys.value); var expandedNode = dataSource.value.map(function (t) { return _common_js_table_treeStore.getUniqueRowValue(t, rowDataKeys.value.rowKey); }); setTExpandedTreeNode(expandedNode, { row: void 0, rowState: void 0, rowIndex: void 0, type: "expand", trigger: type }); changedExpandTreeNode.value.type = "expand-all"; } function foldAll() { dataSource.value = _toConsumableArray__default["default"](store.value.foldAll(dataSource.value, rowDataKeys.value)); setTExpandedTreeNode([], { row: void 0, rowState: void 0, rowIndex: void 0, type: "fold", trigger: "fold-all" }); } function onExpandFoldIconClick(p, trigger) { var _props$onTreeExpandCh; var row = p.row, rowIndex = p.rowIndex; changedExpandTreeNode.value = _objectSpread({ type: "user-reaction-change" }, p); var rowValue = _common_js_table_treeStore.getUniqueRowValue(row, rowDataKeys.value.rowKey); var rowState = store.value.treeDataMap.get(rowValue); var expandedNodes = _toConsumableArray__default["default"](tExpandedTreeNode.value); if (rowState.expanded) { var expandedChildrenKeys = store.value.getExpandedChildrenKeys([row], rowDataKeys.value); for (var i = 0, len = expandedNodes.length; i < len; i++) { var nodeValue = expandedNodes[i]; if (expandedChildrenKeys.includes(nodeValue)) { expandedNodes[i] = void 0; } } expandedNodes = expandedNodes.filter(Boolean); } else { expandedNodes.push(rowValue); } var params2 = { row: row, rowIndex: rowIndex, rowState: rowState, trigger: trigger }; setTExpandedTreeNode(expandedNodes, _objectSpread(_objectSpread({}, params2), {}, { type: rowState.expanded ? "fold" : "expand" })); (_props$onTreeExpandCh = props.onTreeExpandChange) === null || _props$onTreeExpandCh === void 0 || _props$onTreeExpandCh.call(props, params2); context.emit("tree-expand-change", params2); } function updateExpandState(data2, tExpandedTreeNode2) { var oldExpandedTreeNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; var _diffExpandedTreeNode = _common_js_table_treeStore.diffExpandedTreeNode(tExpandedTreeNode2, oldExpandedTreeNode), addedList = _diffExpandedTreeNode.addedList, removedList = _diffExpandedTreeNode.removedList; store.value.expandTreeNode(addedList, data2, rowDataKeys.value); store.value.foldTreeNode(removedList, data2, rowDataKeys.value); return data2; } VueCompositionAPI.watch([tExpandedTreeNode, data], function (_ref, _ref2) { var _ref3 = _slicedToArray__default["default"](_ref, 1), tExpandedTreeNode2 = _ref3[0]; var _ref4 = _slicedToArray__default["default"](_ref2, 1), oldExpandedTreeNode = _ref4[0]; if (!store.value.treeDataMap.size || !data.value.length) return; if (changedExpandTreeNode.value.type === "user-reaction-change") { var _ref5 = changedExpandTreeNode.value || {}, row = _ref5.row, rowIndex = _ref5.rowIndex; dataSource.value = store.value.toggleExpandData({ row: row, rowIndex: rowIndex }, dataSource.value, rowDataKeys.value); } else if (changedExpandTreeNode.value.type === "props-change") { updateExpandState(dataSource.value, tExpandedTreeNode2, oldExpandedTreeNode); } changedExpandTreeNode.value.type = "props-change"; }); var updateExpandOnDataChange = function updateExpandOnDataChange(data2) { var _tree$value, _tExpandedTreeNode$va; if ((_tree$value = tree.value) !== null && _tree$value !== void 0 && _tree$value.defaultExpandAll && !isDefaultExpandAllExecute.value) { expandAll("default-expand-all", _toConsumableArray__default["default"](data2)); isDefaultExpandAllExecute.value = true; } else if ((_tExpandedTreeNode$va = tExpandedTreeNode.value) !== null && _tExpandedTreeNode$va !== void 0 && _tExpandedTreeNode$va.length) { VueCompositionAPI.nextTick(function () { dataSource.value = updateExpandState(_toConsumableArray__default["default"](data2), tExpandedTreeNode.value, []); }); } }; return { tExpandedTreeNode: tExpandedTreeNode, isDefaultExpandAllExecute: isDefaultExpandAllExecute, isDefaultExpandedTreeNodesExecute: isDefaultExpandedTreeNodesExecute, expandAll: expandAll, foldAll: foldAll, onExpandFoldIconClick: onExpandFoldIconClick, updateExpandOnDataChange: updateExpandOnDataChange }; } exports["default"] = useTreeDataExpand; exports.useTreeDataExpand = useTreeDataExpand; //# sourceMappingURL=useTreeDataExpand.js.map