{"version":3,"file":"operate-tree.vue2.mjs","sources":["../../../../../../packages/components/operate-tree/src/operate-tree.vue"],"sourcesContent":["<template>\r\n  <a-spin :spinning=\"loading\">\r\n    <div :class=\"bem.b()\" @mouseleave=\"handleMouseleave\">\r\n      <a-directory-tree\r\n        v-if=\"treeData?.length\"\r\n        v-bind=\"attrs\"\r\n        :block-node=\"true\"\r\n        multiple\r\n        :tree-data=\"treeData\"\r\n        :expanded-keys=\"newExpandedKeys\"\r\n        :field-names=\"fieldNames\"\r\n        @expand=\"expand\"\r\n        @select=\"select\"\r\n        @mouseenter=\"handleMouseenter\"\r\n      >\r\n        <!-- switcher-icon-slots -->\r\n        <template #switcherIcon=\"slots\">\r\n          <slot name=\"switcherIcon\" v-bind=\"slots\">\r\n            <caret-right-outlined v-if=\"!slots.expanded\" />\r\n            <caret-down-outlined v-else />\r\n          </slot>\r\n        </template>\r\n        <template #title=\"slots\">\r\n          <div :class=\"bem.e('title')\">\r\n            <div>\r\n              <!-- icon-slots -->\r\n              <div v-if=\"$slots.icon\" :class=\"bem.e('icon')\">\r\n                <slot name=\"icon\" v-bind=\"slots\" />\r\n              </div>\r\n              <!-- title-slots -->\r\n              <slot name=\"treeTitle\" v-bind=\"slots\">\r\n                <span>\r\n                  {{ slots[fieldNames!['title']!] }}\r\n                </span>\r\n              </slot>\r\n            </div>\r\n            <!-- operate-slots -->\r\n            <transition :duration=\"100\">\r\n              <div\r\n                v-if=\"hoverTreeNodeItem&&(hoverTreeNodeItem[fieldNames!['key']!] ===\r\n                  slots[fieldNames!['key']!])\"\r\n                :class=\"`${bem.e('operate')} ${hoverTreeNodeItem&&(hoverTreeNodeItem[fieldNames!['key']!] ===\r\n                  slots[fieldNames!['key']!])&&((props.dropdownOpenState?.[slots[fieldNames!['key']!]]||props.operateDropdownOpen) ?? false) ? bem.is('open') : bem.is('close')}`\"\r\n              >\r\n                <slot name=\"treeOperate\" :data=\"slots\" />\r\n              </div>\r\n            </transition>\r\n          </div>\r\n        </template>\r\n      </a-directory-tree>\r\n      <template v-else>\r\n        <!-- empty-slots -->\r\n        <slot name=\"empty\">\r\n          <ll-empty>\r\n            <template #content>暂无数据</template>\r\n          </ll-empty>\r\n        </slot>\r\n      </template>\r\n    </div>\r\n  </a-spin>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useAttrs, watch } from 'vue'\r\n\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { operateTreeEmits, operateTreeProps } from './operate-tree'\r\n\r\nimport { CaretDownOutlined, CaretRightOutlined } from '@ant-design/icons-vue'\r\n\r\n// 1.defineOptions\r\ndefineOptions({ name: 'LlOperateTree' })\r\n\r\n// 2.props/emits\r\nconst props = defineProps(operateTreeProps)\r\nconst emits = defineEmits(operateTreeEmits)\r\n\r\n// 3.hooks\r\nconst attrs = useAttrs()\r\n\r\n// 4.ref\r\nconst newExpandedKeys = ref<string[]>([])\r\nconst hoverTreeNodeItem = ref() // 鼠标移的node的数据\r\nconst bem = createNamespace('operate-tree')\r\n\r\n// 5.methods\r\nconst handleMouseenter = ({ node }) => {\r\n  hoverTreeNodeItem.value = node\r\n}\r\nconst handleMouseleave = () => {\r\n  hoverTreeNodeItem.value = undefined\r\n}\r\n// tree的展开事件\r\nconst expand = (expandedKeys: string[], data: any) => {\r\n  newExpandedKeys.value = expandedKeys\r\n  emits('expand', expandedKeys, data)\r\n}\r\n// tree点击树节点触发\r\nconst select = (selectedKeys: string[], e: Event) => {\r\n  emits('select', selectedKeys, e)\r\n}\r\n\r\n// 6.watch\r\n// 如果有数据并且输入框有内容则展开\r\nwatch(\r\n  () => props.expandedKeys,\r\n  (keys) => {\r\n    if (keys) {\r\n      newExpandedKeys.value = keys as string[]\r\n    }\r\n  },\r\n  {\r\n    deep: true,\r\n    immediate: true,\r\n  }\r\n)\r\n</script>\r\n"],"names":["_createBlock","loading","_createElementVNode","_normalizeClass","_unref","treeData","_mergeProps","fieldNames","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","_createCommentVNode","$slots","_createElementBlock","_toDisplayString","_createVNode","_Transition","_Fragment"],"mappings":"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"}