{"version":3,"file":"index.mjs","sources":["../../../../../../package/components/table-select/src/index.tsx"],"sourcesContent":["import {\n  defineComponent,\n  h,\n  reactive,\n  ref,\n  computed,\n  onMounted,\n  withDirectives,\n  toRef,\n  PropType\n} from \"vue\";\nimport { ElLoading, ElOption, ElPagination, ElSelect, ElTable, ElTableColumn } from \"element-plus\";\nimport { pick } from \"lodash-es\";\nimport { useSelect } from \"./select\";\nimport { useTable } from \"./table\";\nimport CacheOptions from \"./cache-options\";\nimport { usePagination } from \"./pagination\";\nimport { PropsType } from \"@vue-admin-core/formily/__builtins__\";\n\nexport default defineComponent({\n  name: \"VacTableSelect\",\n  props: {\n    ...ElSelect.props,\n    ...ElTable.props,\n    ...ElPagination.props,\n    /**\n     * 表格最大高度\n     */\n    maxHeight: {\n      type: [String, Number],\n      default: () => 240\n    },\n    /**\n     * 表格列\n     */\n    columns: {\n      type: Array,\n      default: () => []\n    },\n    props: {\n      type: Object as PropType<PropsType>,\n      default: () => ({\n        children: \"children\",\n        label: \"label\",\n        value: \"value\",\n        disabled: \"disabled\"\n      })\n    }\n  },\n  setup(props, context) {\n    // const { loading, ...props } = _props;\n    const { expose } = context;\n    const select = ref<InstanceType<typeof ElSelect>>();\n    const table = ref<InstanceType<typeof ElTable>>();\n    const pagination = ref<InstanceType<typeof ElPagination>>();\n\n    const key = computed(() => props.props.value || props.valueKey || props.nodeKey || \"value\");\n    const currentPage = toRef(props.currentPage || 1);\n    const { cacheOptions, setOptionProxy, filter, tableProps } = useTable(props, context, {\n      select,\n      table,\n      key,\n      currentPage\n    });\n\n    const selectProps = useSelect(props, context, {\n      select,\n      table,\n      pagination,\n      key,\n      filter,\n      currentPage\n    });\n\n    const paginationProps = usePagination(props, context, {\n      select,\n      table,\n      key,\n      filter,\n      currentPage\n    });\n\n    const Columns = [\n      props.columns.map(({ slots, ...reset }: any, index: number) =>\n        h(ElTableColumn, reactive({ key: `${reset.prop}-${index}`, ...reset }), slots)\n      )\n    ];\n\n    if (props.multiple) {\n      Columns.unshift(\n        h(ElTableColumn, {\n          width: 30,\n          key: \"selection\",\n          type: \"selection\"\n        })\n      );\n    }\n\n    const methods = reactive({});\n    expose(methods);\n    onMounted(() => {\n      Object.assign(methods, {\n        ...pick(table.value, [\n          \"clearSelection\",\n          \"getSelectionRows\",\n          \"toggleRowSelection\",\n          \"toggleAllSelection\",\n          \"toggleRowExpansion\",\n          \"setCurrentRow\",\n          \"clearSort\",\n          \"clearFilter\",\n          \"doLayout\",\n          \"sort\",\n          \"scrollTo\",\n          \"setScrollTop\",\n          \"setScrollLeft\"\n        ]),\n        ...pick(select.value, [\"focus\", \"blur\"])\n      });\n    });\n\n    return () => {\n      return h(\n        ElSelect,\n        reactive({\n          ...selectProps,\n          modelValue: props.modelValue,\n          ref: (ref: any) => (select.value = ref)\n        }),\n        {\n          ...context.slots,\n          default: () => [\n            h(CacheOptions, { data: cacheOptions.value }),\n            cacheOptions.value.map(({ value, currentLabel, isDisabled }) => {\n              return h(ElOption, {\n                label: currentLabel,\n                value,\n                disabled: isDisabled,\n                style: { display: \"none\" },\n                ref: (vm) => setOptionProxy(value as any, vm as any)\n              });\n            }),\n            withDirectives(\n              h(\n                ElTable as any,\n                reactive({\n                  ...tableProps,\n                  ref: (ref: any) => (table.value = ref)\n                }),\n                {\n                  default: () => Columns\n                }\n              ),\n              [[ElLoading.directive, props.loading]]\n            ),\n            h(\n              ElPagination,\n              reactive({\n                ...paginationProps,\n                ref: (ref: any) => (pagination.value = ref)\n              }),\n              {}\n            )\n          ]\n        }\n      );\n    };\n  }\n});\n"],"names":["defineComponent","name","props","ElSelect","ElTable","ElPagination","maxHeight","type","String","Number","default","columns","Array","Object","children","label","value","disabled","setup","context","expose","select","ref","table","pagination","key","computed","valueKey","nodeKey","currentPage","toRef","cacheOptions","setOptionProxy","filter","tableProps","useTable","selectProps","useSelect","paginationProps","usePagination","Columns","map","slots","reset","index","h","ElTableColumn","reactive","prop","multiple","unshift","width","methods","onMounted","assign","pick","modelValue","CacheOptions","data","currentLabel","isDisabled","ElOption","style","display","vm","withDirectives","ElLoading","directive","loading"],"mappings":"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"}