{"version":3,"file":"node.mjs","sources":["../../../../../../packages/components/dsh-cascader-panel/src/node.vue"],"sourcesContent":["<template>\n  <li\n    :id=\"`${menuId}-${node.uid}`\"\n    role=\"menuitem\"\n    :aria-haspopup=\"!DshIsLeaf\"\n    :aria-owns=\"DshIsLeaf ? null : menuId\"\n    :aria-expanded=\"inExpandingPath\"\n    :tabindex=\"expandable ? -1 : undefined\"\n    :class=\"[\n      ns.b(),\n      ns.is('selectable', checkStrictly),\n      ns.is('active', node.checked),\n      ns.is('disabled', !expandable),\n      !node.DshIsLeaf && inExpandingPath && 'in-active-path',\n      inCheckedPath && 'in-checked-path',\n    ]\"\n    @mouseenter=\"handleHoverExpand\"\n    @focus=\"handleHoverExpand\"\n    @click=\"handleClick(node)\"\n  >\n    <!-- prefix -->\n    <el-checkbox\n      v-if=\"multiple\"\n      :model-value=\"node.checked\"\n      :indeterminate=\"node.indeterminate\"\n      :disabled=\"DshIsDisabled\"\n      @click.stop\n      @update:model-value=\"handleSelectCheck\"\n    />\n    <el-radio\n      v-else-if=\"checkStrictly\"\n      :model-value=\"checkedNodeId\"\n      :label=\"node.uid\"\n      :disabled=\"DshIsDisabled\"\n      @update:model-value=\"handleSelectCheck\"\n      @click.stop\n    >\n      <!--\n        Add an empty element to avoid render label,\n        do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n      -->\n      <span />\n    </el-radio>\n    <el-icon v-else-if=\"DshIsLeaf && node.checked\" :class=\"ns.e('prefix')\">\n      <check />\n    </el-icon>\n\n    <!-- content -->\n    <el-dsh-node-content :only-check=\"onlyCheck\" :node=\"node\" />\n\n    <!-- postfix -->\n    <template v-if=\"!DshIsLeaf\">\n      <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n        <loading />\n      </el-icon>\n      <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n        <arrow-right />\n      </el-icon>\n    </template>\n  </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, inject } from 'vue'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport ElCheckbox from '@code-monkey-ui/components/checkbox'\nimport ElRadio from '@code-monkey-ui/components/radio'\nimport ElIcon from '@code-monkey-ui/components/icon'\nimport { useNamespace } from '@code-monkey-ui/hooks'\nimport ElDshNodeContent from './dsh-node-content'\nimport { DSH_CASCADER_ALL_NODE_VALUE, DshDefaultProps } from './config'\nimport { DSH_CASCADER_PANEL_INJECTION_KEY } from './types'\nimport type { default as DshCascaderNode } from './node'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n  name: 'ElDshCascaderNode',\n\n  components: {\n    ElCheckbox,\n    ElRadio,\n    ElDshNodeContent,\n    ElIcon,\n    Check,\n    Loading,\n    ArrowRight,\n  },\n\n  props: {\n    node: {\n      type: Object as PropType<DshCascaderNode>,\n      required: true,\n    },\n    menuId: String,\n    onlyThis: {\n      type: Boolean,\n      default: true,\n    },\n  },\n\n  emits: ['expand'],\n\n  setup(props, { emit }) {\n    const panel = inject(DSH_CASCADER_PANEL_INJECTION_KEY)!\n\n    const ns = useNamespace('dsh-cascader-node')\n    const isHoverMenu = computed(() => panel.isHoverMenu)\n    const multiple = computed(() => panel.config.multiple)\n    const checkStrictly = computed(() => panel.config.checkStrictly)\n    const checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\n    const DshIsDisabled = computed(() => props.node.DshIsDisabled)\n    const DshIsLeaf = computed(() => props.node.DshIsLeaf)\n    const expandable = computed(\n      () => (checkStrictly.value && !DshIsLeaf.value) || !DshIsDisabled.value\n    )\n    const inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n    // only useful in check-strictly mode\n    const inCheckedPath = computed(\n      () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n    )\n\n    const propsValue = props.node.config.value ?? DshDefaultProps.value\n\n    const isInPath = (node: DshCascaderNode) => {\n      const { level, uid } = props.node\n      return node?.pathNodes[level - 1]?.uid === uid\n    }\n\n    const doExpand = () => {\n      if (inExpandingPath.value) return\n      panel.expandNode(props.node)\n    }\n\n    const doCheck = (checked: boolean) => {\n      const { node } = props\n      if (checked === node.checked) return\n      panel.handleCheckChange(node, checked)\n    }\n\n    const onlyCheck = () => {\n      const { node } = props\n      panel.checkedNodes.forEach((item) => item.doCheck(false))\n      panel.handleCheckChange(node, false)\n      panel.onlyThisConfirm(node.value)\n    }\n\n    const doLoad = () => {\n      panel.lazyLoad(props.node, () => {\n        if (!DshIsLeaf.value) doExpand()\n      })\n    }\n\n    const handleHoverExpand = (e: Event) => {\n      if (!isHoverMenu.value) return\n      handleExpand()\n      !DshIsLeaf.value && emit('expand', e)\n    }\n\n    const handleExpand = () => {\n      const { node } = props\n      // do not exclude leaf node because the menus expanded might have to reset\n      if (!expandable.value || node.loading) return\n      node.loaded ? doExpand() : doLoad()\n    }\n    const handleClick = (node: DshCascaderNode) => {\n      if (\n        node.data[propsValue] === DSH_CASCADER_ALL_NODE_VALUE ||\n        isHoverMenu.value\n      ) {\n        handleSelectCheck(!node.checked)\n        return\n      }\n      if (\n        DshIsLeaf.value &&\n        !DshIsDisabled.value &&\n        !checkStrictly.value &&\n        !multiple.value\n      ) {\n        handleCheck(true)\n      } else {\n        handleExpand()\n      }\n    }\n\n    const handleSelectCheck = (checked: boolean) => {\n      if (props.node.data[propsValue] === DSH_CASCADER_ALL_NODE_VALUE) {\n        panel.checkedAll(checked)\n      }\n      if (checkStrictly.value) {\n        doCheck(checked)\n        if (props.node.loaded) {\n          doExpand()\n        }\n      } else {\n        handleCheck(checked)\n      }\n    }\n\n    const handleCheck = (checked: boolean) => {\n      if (!props.node.loaded) {\n        doLoad()\n      } else {\n        doCheck(checked)\n        !checkStrictly.value && doExpand()\n      }\n    }\n\n    return {\n      panel,\n      isHoverMenu,\n      multiple,\n      checkStrictly,\n      checkedNodeId,\n      DshIsDisabled,\n      DshIsLeaf,\n      expandable,\n      inExpandingPath,\n      inCheckedPath,\n      ns,\n      handleHoverExpand,\n      handleExpand,\n      handleClick,\n      handleCheck,\n      handleSelectCheck,\n      onlyCheck,\n    }\n  },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_createBlock","_withModifiers","_withCtx","_createVNode","_Fragment"],"mappings":"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"}