useNodeExpandEventBroadcast.js 823 B

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