{"version":3,"file":"useTableForm2.mjs","sources":["../../../../../../../../packages/components/table/src/hooks/useTableForm.ts"],"sourcesContent":["import { computed, unref } from 'vue'\nimport { isFunction } from '@tav-ui/utils/is'\nimport type { FormProps } from '@tav-ui/components/form/src/types/form'\nimport type { ComputedRef, Slots } from 'vue'\nimport type { BasicTableProps, FetchParams } from '../types/table'\n\ntype Recordable<T = any> = Record<string, T>\n\nexport function useTableForm(\n  propsRef: ComputedRef<BasicTableProps>,\n  slots: Slots,\n  fetch: (opt?: FetchParams | undefined) => Promise<Recordable<any>[] | undefined>,\n  getLoading: ComputedRef<boolean | undefined>\n) {\n  const getFormProps = computed((): Partial<FormProps> => {\n    const { formConfig } = unref(propsRef)\n    const { submitButtonOptions } = formConfig || {}\n    return {\n      showAdvancedButton: true,\n      ...formConfig,\n      submitButtonOptions: { loading: unref(getLoading), ...submitButtonOptions },\n      compact: true,\n    }\n  })\n\n  const getFormSlotKeys: ComputedRef<string[]> = computed(() => {\n    const keys = Object.keys(slots)\n    return keys\n      .map((item) => (item.startsWith('form-') ? item : null))\n      .filter((item) => !!item) as string[]\n  })\n\n  function replaceFormSlotKey(key: string) {\n    if (!key) return ''\n    // eslint-disable-next-line no-useless-escape\n    return key?.replace?.(/form\\-/, '') ?? ''\n  }\n\n  function handleSearchInfoChange(info: Recordable) {\n    const { handleSearchInfoFn } = unref(propsRef)\n    if (handleSearchInfoFn && isFunction(handleSearchInfoFn)) {\n      info = handleSearchInfoFn(info) || info\n    }\n    fetch({ searchInfo: info, page: 1 })\n  }\n\n  return {\n    getFormProps,\n    replaceFormSlotKey,\n    getFormSlotKeys,\n    handleSearchInfoChange,\n  }\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;AACjE,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM;AACtC,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,EAAE,mBAAmB,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;AACrD,IAAI,OAAO;AACX,MAAM,kBAAkB,EAAE,IAAI;AAC9B,MAAM,GAAG,UAAU;AACnB,MAAM,mBAAmB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,mBAAmB,EAAE;AACjF,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM;AACzC,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/F,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACnC,IAAI,IAAI,CAAC,GAAG;AACZ,MAAM,OAAO,EAAE,CAAC;AAChB,IAAI,OAAO,GAAG,EAAE,OAAO,GAAG,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAC9C,GAAG;AACH,EAAE,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACxC,IAAI,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,IAAI,kBAAkB,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE;AAC9D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9C,KAAK;AACL,IAAI,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,OAAO;AACT,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,sBAAsB;AAC1B,GAAG,CAAC;AACJ;;;;"}