{"version":3,"file":"table.mjs","sources":["../../../../../../package/components/table-select/src/table.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, ref, toRefs, watch } from \"vue\";\nimport { isFunction, pick } from \"lodash-es\";\nimport { ElSelect, ElTable, SelectOptionProxy, TableProps, UPDATE_MODEL_EVENT } from \"element-plus\";\n\nimport type { Ref } from \"vue\";\nimport { CacheOption } from \"./cache-options\";\n\nexport const useTable = (\n  props: any,\n  { attrs, emit },\n  {\n    key,\n    table\n  }: {\n    select: Ref<InstanceType<typeof ElSelect> | undefined>;\n    table: Ref<InstanceType<typeof ElTable> | undefined>;\n    key: Ref<string>;\n    currentPage: Ref<number>;\n  }\n) => {\n  const data = ref([]);\n  const originData = ref([]);\n\n  watch(\n    () => props.data,\n    (value) => {\n      data.value = value;\n      originData.value = value;\n    },\n    {\n      immediate: true,\n      deep: true\n    }\n  );\n\n  const optionProxy: Record<string | number, SelectOptionProxy> = {};\n  const cacheOptions = computed(\n    () => {\n      const options: CacheOption[] = [];\n      const { label, value } = props.props;\n      data.value?.forEach?.((item: any) => {\n        options.push({\n          value: item[value],\n          currentLabel: item[label],\n          isDisabled: isFunction(props.props?.disabled)\n            ? props.props?.disabled?.(item)\n            : item[props.props?.disabled]\n        });\n      });\n      return options;\n    },\n    {\n      immediate: true\n    }\n  );\n\n  const cacheOptionsMap = computed(() => {\n    // @ts-ignore\n    return cacheOptions.value.reduce((prev, next) => ({ ...prev, [next.value]: next }), {});\n  });\n  const setOptionProxy = (key: string | number, vm: SelectOptionProxy) => {\n    optionProxy[key] = vm;\n  };\n\n  const filter = (query) => {\n    if (query) {\n      data.value = originData.value.filter((item) =>\n        item[props.props.label].toLowerCase().includes(query.toLowerCase())\n      );\n    } else {\n      data.value = originData.value;\n    }\n  };\n  const result: TableProps<any> = {\n    ...pick(toRefs(props), Object.keys(ElTable.props)),\n    size: \"small\",\n    data: data,\n    border: true,\n    highlightCurrentRow: props.multiple ? false : true,\n    rowKey: key,\n    rowClassName: ({ row }: any) => {\n      if (isFunction(props.props?.disabled)) {\n        if (props.props.disabled(row)) {\n          return \"disabled-row\";\n        }\n      } else if (row[props.props?.disabled]) {\n        return \"disabled-row\";\n      }\n    },\n    onRowClick: (row: any, column: any, event: any) => {\n      attrs.onRowClick?.(row, column, event);\n      optionProxy[row[key.value]].selectOptionClick();\n      if (props.multiple) {\n        table.value?.toggleRowSelection(row);\n      }\n    },\n    onSelectAll: (selection) => {\n      emit(\n        UPDATE_MODEL_EVENT,\n        selection.map((item) => item[key.value])\n      );\n    }\n  };\n\n  return { tableProps: result, setOptionProxy, cacheOptions, cacheOptionsMap, filter };\n};\n"],"names":["_a","_b","key"],"mappings":"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"}