1d7ebb2429748bacd40473661af29b71683ea9688bcdcf11e3fbd409d6ab24de8f1ba062eaf35f292165c6f1f68096e16067a573926e2ea5b11a419f0770d7 946 B

1234567891011121314151617181920212223242526272829303132333435
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var tokens = require('../tokens.js');
  5. function useNodeExpandEventBroadcast(props) {
  6. const parentNodeMap = vue.inject(tokens.TREE_NODE_MAP_INJECTION_KEY, null);
  7. const currentNodeMap = {
  8. treeNodeExpand: (node) => {
  9. var _a;
  10. if (props.node !== node) {
  11. (_a = props.node) == null ? void 0 : _a.collapse();
  12. }
  13. },
  14. children: []
  15. };
  16. if (parentNodeMap) {
  17. parentNodeMap.children.push(currentNodeMap);
  18. }
  19. vue.provide(tokens.TREE_NODE_MAP_INJECTION_KEY, currentNodeMap);
  20. return {
  21. broadcastExpanded: (node) => {
  22. if (!props.accordion)
  23. return;
  24. for (const childNode of currentNodeMap.children) {
  25. childNode.treeNodeExpand(node);
  26. }
  27. }
  28. };
  29. }
  30. exports.useNodeExpandEventBroadcast = useNodeExpandEventBroadcast;
  31. //# sourceMappingURL=useNodeExpandEventBroadcast.js.map