UNPKG

tdesign-vue

Version:
195 lines (191 loc) 6.57 kB
/** * tdesign v1.12.1 * (c) 2025 tdesign * @license MIT */ import _slicedToArray from '@babel/runtime/helpers/slicedToArray'; import '../adapt.js'; import { getNode, pathMatchClass } from '../util.js'; import { usePrefixClass } from '../../hooks/useConfig.js'; import '@vue/composition-api'; import 'vue'; import '../../utils/withInstall.js'; import '@babel/runtime/helpers/defineProperty'; import 'lodash-es'; import '../../hooks/useVModel.js'; import '../../hooks/useDefaultValue.js'; import 'tdesign-icons-vue'; import '../../checkbox/index.js'; import '../../checkbox/group.js'; import '../../_chunks/dep-323b993c.js'; import '@babel/runtime/helpers/typeof'; import '@babel/runtime/helpers/toConsumableArray'; import '../../utils/helper.js'; import '@babel/runtime/helpers/objectWithoutProperties'; import '../../checkbox/checkbox.js'; import '../../checkbox/props.js'; import '../../hooks/index.js'; import '../../utils/render-tnode.js'; import '@babel/runtime/helpers/readOnlyError'; import '../../hooks/slots.js'; import '../../hooks/useCommonClassName.js'; import '../../config-provider/useConfig.js'; import '../../config-provider/context.js'; import '../../_common/js/global-config/default-config.js'; import '../../_common/js/global-config/locale/zh_CN.js'; import '../../_chunks/dep-c44a474d.js'; import '../../_chunks/dep-d639fbd7.js'; import 'dayjs'; import '../../_chunks/dep-3c66615e.js'; import '../../config-provider/type.js'; import '../../_common/js/global-config/t.js'; import '../../hooks/useDestroyOnClose.js'; import '../../hooks/useElementLazyRender.js'; import '../../_common/js/utils/observe.js'; import '../../hooks/useFormDisabled.js'; import '../../hooks/useGlobalIcon.js'; import '../../hooks/useLazyLoad.js'; import '../../hooks/useResizeObserver.js'; import '../../hooks/useVirtualScrollNew.js'; import '../../hooks/useImagePreviewUrl.js'; import '../../_common/js/upload/utils.js'; import '../../_common/js/log/log.js'; import '../../checkbox/constants.js'; import '../../checkbox/store.js'; import '@babel/runtime/helpers/classCallCheck'; import '@babel/runtime/helpers/createClass'; import '../../checkbox/hooks/useKeyboardEvent.js'; import '../../_common/js/common.js'; import '../../checkbox/checkbox-group-props.js'; import './style/index.js'; import '../../checkbox/type.js'; import '../../loading/index.js'; import '../../loading/directive.js'; import '../../loading/plugin.js'; import '../../loading/loading.js'; import '../../loading/icon/gradient.js'; import '../../_common/js/loading/circle-adapter.js'; import '../../_common/js/utils/setStyle.js'; import '../../_common/js/utils/helper.js'; import '../../config-provider/config-receiver.js'; import '../../utils/mixins.js'; import '../../utils/dom.js'; import 'raf'; import '../../utils/easing.js'; import '../../utils/transfer-dom.js'; import '../../loading/props.js'; import '../../config.js'; import '../../loading/type.js'; import '../../_common/js/tree/tree-node.js'; import '@babel/runtime/helpers/asyncToGenerator'; import '@babel/runtime/regenerator'; import '../../_common/js/tree/tree-node-model.js'; import '../../_common/js/log/index.js'; function useTreeAction(state) { var treeState = state; var store = treeState.store; var componentName = usePrefixClass("tree").value; var _state$vmValue = _slicedToArray(state.vmValue, 2), tValue = _state$vmValue[0], setTValue = _state$vmValue[1]; var _state$vmActived = _slicedToArray(state.vmActived, 2), tActived = _state$vmActived[0], setTActived = _state$vmActived[1]; var _state$vmExpanded = _slicedToArray(state.vmExpanded, 2), tExpanded = _state$vmExpanded[0], setTExpanded = _state$vmExpanded[1]; var setExpanded = function setExpanded(item, isExpanded) { var node = getNode(store, item); var mouseEvent = treeState.mouseEvent; var evtCtx = { node: node.getModel(), e: mouseEvent, trigger: "setItem" }; if (mouseEvent) { evtCtx.trigger = "node-click"; var target = mouseEvent.target; var currentTarget = mouseEvent.currentTarget; if (pathMatchClass("".concat(componentName, "__icon"), target, currentTarget)) { evtCtx.trigger = "icon-click"; } } var expanded = node.setExpanded(isExpanded, { directly: true }); setTExpanded(expanded, evtCtx); if (evtCtx.trigger !== "setItem") { store.replaceExpanded(tExpanded.value || []); } return expanded; }; var toggleExpanded = function toggleExpanded(item) { var node = getNode(store, item); if (!node.children) return; return setExpanded(node, !node.isExpanded()); }; var setActived = function setActived(item, isActived) { var node = getNode(store, item); var mouseEvent = treeState.mouseEvent; var evtCtx = { node: node.getModel(), e: mouseEvent, trigger: "setItem" }; if (mouseEvent) { evtCtx.trigger = "node-click"; } var actived = node.setActived(isActived, { isAction: evtCtx.trigger === "node-click", directly: true }); setTActived(actived, evtCtx); if (evtCtx.trigger !== "setItem") { store.replaceActived(tActived.value || []); } return actived; }; var toggleActived = function toggleActived(item) { var node = getNode(store, item); return setActived(node, !node.isActived()); }; var setChecked = function setChecked(item, isChecked, ctx) { var node = getNode(store, item); var mouseEvent = ctx === null || ctx === void 0 ? void 0 : ctx.e; var evtCtx = { node: node.getModel(), e: mouseEvent, trigger: "setItem" }; if (mouseEvent) { evtCtx.trigger = "node-click"; } var checked = node.setChecked(isChecked, { isAction: evtCtx.trigger === "node-click", directly: true }); setTValue(checked, evtCtx); if (evtCtx.trigger !== "setItem") { store.replaceChecked(tValue.value || []); } return checked; }; var toggleChecked = function toggleChecked(item, ctx) { var node = getNode(store, item); if (node.isIndeterminate()) { var expectState = node.hasEnableUnCheckedChild(); return setChecked(node, expectState, ctx); } return setChecked(node, !node.isChecked(), ctx); }; return { setExpanded: setExpanded, toggleExpanded: toggleExpanded, setActived: setActived, toggleActived: toggleActived, setChecked: setChecked, toggleChecked: toggleChecked }; } export { useTreeAction as default }; //# sourceMappingURL=useTreeAction.js.map