{"version":3,"file":"table-select.vue2.mjs","sources":["../../../../../packages/components/table-select/src/table-select.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n  name: 'ElTableSelect',\n  inheritAttrs: false\n});\n</script>\n<template>\n  <div\n    v-if=\"!tableSelectDisabled\"\n    :class=\"ns.e('btn')\"\n    :style=\"{\n      marginBottom: hide ? '' : '4px'\n    }\"\n  >\n    <!-- 触发器 -->\n    <span\n      v-if=\"!noTrigger\"\n      style=\"margin-right: 6px\"\n      @click=\"!tableSelectDisabled && dialogRef?.open()\"\n    >\n      <slot>\n        <el-button :disabled=\"tableSelectDisabled\" type=\"primary\">\n          选择\n        </el-button>\n      </slot>\n    </span>\n\n    <!-- 清空数据 -->\n    <el-popconfirm\n      v-if=\"clearable\"\n      @confirm=\"handleClear()\"\n      :hide-after=\"0\"\n      title=\"确定清空\"\n    >\n      <template #reference>\n        <el-button :disabled=\"tableSelectDisabled\" type=\"warning\">\n          {{ clearText }}\n        </el-button>\n      </template>\n    </el-popconfirm>\n  </div>\n\n  <!-- 数据展示表格 -->\n  <ElTable\n    v-if=\"!hide\"\n    :class=\"ns.b()\"\n    :size=\"props.size\"\n    :columns=\"props.columns\"\n    :data=\"displayData\"\n    v-bind=\"$attrs\"\n    :slots=\"$slots\"\n  >\n  </ElTable>\n\n  <!-- 数据选择和筛选表格 -->\n  <TableSelectDialog ref=\"dialogRef\">\n    <template #searcher>\n      <slot name=\"searcher\" />\n    </template>\n\n    <template #tools>\n      <slot name=\"tools\" />\n    </template>\n  </TableSelectDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { tableSelectEmits, tableSelectProps } from './table-select'\nimport { ElTable } from '@element-ultra/components/table'\nimport { ElPopconfirm } from '@element-ultra/components/popconfirm'\nimport { ElButton } from '@element-ultra/components/button'\nimport { provide, shallowRef, useSlots } from 'vue'\nimport { tableSelectToken } from './token'\nimport { useDisabled, useNamespace } from '@element-ultra/hooks'\nimport TableSelectDialog from './table-select-dialog.vue'\nimport useApi from './use-api'\n\n\n\nconst props = defineProps(tableSelectProps)\nconst emit = defineEmits(tableSelectEmits)\n\nconst ns = useNamespace('table-select')\n\nconst tableSelectDisabled = useDisabled({ props })\n\nconst { displayData } = useApi({\n  props,\n  type: 'provide'\n})\n\nconst dialogRef = shallowRef<InstanceType<typeof TableSelectDialog>>()\n\nconst slots = useSlots()\n\nprovide(tableSelectToken, {\n  rootProps: props,\n  ns,\n  rootEmit: emit,\n  rootSlots: slots\n})\n\nconst handleClear = () => {\n  // 清空弹框中的所有数据\n  dialogRef.value?.clear()\n\n  const emptyData = props.multiple ? [] : null\n\n  emit('update:modelValue', emptyData)\n  emit('change', emptyData)\n}\n\nconst open = () => dialogRef.value?.open()\n\nconst refresh = (reset = true) => dialogRef.value?.fetchData(reset)\n\ndefineExpose({\n  open,\n  refresh\n})\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;;;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,eAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAC,CAAA,CAAA;;;;;;;AA8ED,IAAM,MAAA,EAAA,GAAK,aAAa,cAAc,CAAA,CAAA;AAEtC,IAAA,MAAM,mBAAsB,GAAA,WAAA,CAAY,EAAE,KAAA,EAAO,CAAA,CAAA;AAEjD,IAAM,MAAA,EAAE,WAAY,EAAA,GAAI,MAAO,CAAA;AAAA,MAC7B,KAAA;AAAA,MACA,IAAM,EAAA,SAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAA,MAAM,YAAY,UAAmD,EAAA,CAAA;AAErE,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,OAAA,CAAQ,gBAAkB,EAAA;AAAA,MACxB,SAAW,EAAA,KAAA;AAAA,MACX,EAAA;AAAA,MACA,QAAU,EAAA,IAAA;AAAA,MACV,SAAW,EAAA,KAAA;AAAA,KACZ,CAAA,CAAA;AAED,IAAA,MAAM,cAAc,MAAM;;AAExB,MAAA,CAAA,EAAA,GAAA,SAAA,CAAU,UAAV,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAEjB,MAAA,MAAM,SAAY,GAAA,KAAA,CAAM,QAAW,GAAA,EAAK,GAAA,IAAA,CAAA;AAExC,MAAA,IAAA,CAAK,qBAAqB,SAAS,CAAA,CAAA;AACnC,MAAA,IAAA,CAAK,UAAU,SAAS,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAA,MAAM,OAAO,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,SAAA,CAAU,UAAV,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAEpC,IAAM,MAAA,OAAA,GAAU,CAAC,KAAA,GAAQ,IAAM,KAAA;;AAAG,MAAU,OAAA,CAAA,EAAA,GAAA,SAAA,CAAA,KAAA,KAAV,mBAAiB,SAAU,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAE7D,IAAa,MAAA,CAAA;AAAA,MACX,IAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}