tav-ui
Version:
1 lines • 3.18 kB
Source Map (JSON)
{"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;;;;"}