UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 4.43 kB
{"version":3,"file":"useFormItems.mjs","sources":["../../../../../../packages/element/form/src/hooks/useFormItems.ts"],"sourcesContent":["import { isFunction, isObject, isString, uid } from '@ideaz/utils'\nimport type { FormProps } from '../props'\nimport type { FormColumn } from '../../../types'\n\nexport const SELECT_TYPES = ['cascader', 'select', 'datepicker', 'picker', 'checkbox', 'radio']\n\nexport function useFormItems(props: FormProps) {\n const { t } = useLocale()\n\n const setDefaultPlaceholder = (formItem: FormColumn) => {\n const label = formItem.label || formItem.formItemProps?.label || ''\n const type = isFunction(formItem.component) ? formItem.component() : isObject(formItem.component) ? formItem.component.name : formItem.component\n\n if (SELECT_TYPES.includes((type || '').toLowerCase()))\n return (isString(label) && !label.includes('Slot')) ? `${t('form.selectPlaceholder')}${label}` : `${t('form.selectPlaceholder')}`\n\n else\n return (isString(label) && !label.includes('Slot')) ? `${t('form.inputPlaceholder')}${label}` : `${t('form.inputPlaceholder')}`\n }\n\n const isHide = (item: FormColumn) => {\n return isFunction(item.hide) ? item.hide(props.modelValue) : item.hide\n }\n\n const formatFormItems = computed<FormColumn[]>(() => {\n const _schema = props.columns?.sort((a, b) => (a.order || 10000) - (b.order || 10000)).map((item: FormColumn) => ({\n show: true,\n ...item,\n __key: item.key || item.field || item.slot || uid(),\n children: item.children\n ? item.children.map((child) => {\n const isPlaceholder = Object.keys(child.fieldProps || {}).some(key => key.includes('placeholder') || key.includes('Placeholder'))\n const fieldProps = !isPlaceholder\n ? {\n placeholder: setDefaultPlaceholder(child),\n clearable: true,\n filterable: true,\n ...child?.fieldProps,\n }\n : {\n clearable: true,\n filterable: true,\n ...child?.fieldProps,\n }\n return {\n show: true,\n ...child,\n fieldProps,\n }\n })\n : undefined,\n }))\n return _schema\n .filter((item: FormColumn) => !isHide(item))\n .map((item: FormColumn) => ({\n ...item,\n fieldProps: {\n placeholder: setDefaultPlaceholder(item),\n clearable: true,\n filterable: true,\n ...item?.fieldProps,\n },\n }))\n })\n\n return { formatFormItems }\n}\n"],"names":["SELECT_TYPES","useFormItems","props","t","useLocale","setDefaultPlaceholder","formItem","label","_a","type","isFunction","isObject","isString","isHide","item","computed","a","b","uid","child","fieldProps","key"],"mappings":";;;;;AAIO,MAAAA,IAAA,CAAA,YAAA,UAAA,cAAA,UAAA,YAAA,OAAA;AAEA,SAAAC,EAAAC,GAAA;AACL,QAAA,EAAA,GAAAC,EAAA,IAAAC,EAAA,GAEAC,IAAA,CAAAC,MAAA;;AACE,UAAAC,IAAAD,EAAA,WAAAE,IAAAF,EAAA,kBAAA,gBAAAE,EAAA,UAAA,IACAC,IAAAC,EAAAJ,EAAA,SAAA,IAAAA,EAAA,UAAA,IAAAK,EAAAL,EAAA,SAAA,IAAAA,EAAA,UAAA,OAAAA,EAAA;AAEA,WAAAN,EAAA,UAAAS,KAAA,IAAA,YAAA,CAAA,IACEG,EAAAL,CAAA,KAAA,CAAAA,EAAA,SAAA,MAAA,IAAA,GAAAJ,EAAA,wBAAA,CAAA,GAAAI,CAAA,KAAA,GAAAJ,EAAA,wBAAA,CAAA,KAGAS,EAAAL,CAAA,KAAA,CAAAA,EAAA,SAAA,MAAA,IAAA,GAAAJ,EAAA,uBAAA,CAAA,GAAAI,CAAA,KAAA,GAAAJ,EAAA,uBAAA,CAAA;AAAA,EAA6H,GAGjIU,IAAA,CAAAC,MACEJ,EAAAI,EAAA,IAAA,IAAAA,EAAA,KAAAZ,EAAA,UAAA,IAAAY,EAAA;AA4CF,SAAA,EAAA,iBAzCAC,EAAA,MAAA;;AA4BE,aA3BAP,IAAAN,EAAA,YAAA,gBAAAM,EAAA,KAAA,CAAAQ,GAAAC,OAAAD,EAAA,SAAA,QAAAC,EAAA,SAAA,MAAA,IAAA,CAAAH,OAAA;AAAA,MAAkH,MAAA;AAAA,MAC1G,GAAAA;AAAA,MACH,OAAAA,EAAA,OAAAA,EAAA,SAAAA,EAAA,QAAAI,EAAA;AAAA,MAC+C,UAAAJ,EAAA,WAAAA,EAAA,SAAA,IAAA,CAAAK,MAAA;AAI9C,cAAAC,IADA,OAAA,KAAAD,EAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAAE,MAAAA,EAAA,SAAA,aAAA,KAAAA,EAAA,SAAA,aAAA,CAAA,IAMgB;AAAA,UAEZ,WAAA;AAAA,UACa,YAAA;AAAA,UACC,GAAAF,KAAA,gBAAAA,EAAA;AAAA,QACF,IAVhB;AAAA,UACI,aAAAd,EAAAc,CAAA;AAAA,UAC0C,WAAA;AAAA,UAC7B,YAAA;AAAA,UACC,GAAAA,KAAA,gBAAAA,EAAA;AAAA,QACF;AAOhB,eAAA;AAAA,UAAO,MAAA;AAAA,UACC,GAAAA;AAAA,UACH,YAAAC;AAAA,QACH;AAAA,MACF,CAAA,IAAA;AAAA,IAEA,KAEN,OAAA,CAAAN,MAAA,CAAAD,EAAAC,CAAA,CAAA,EAAA,IAAA,CAAAA,OAAA;AAAA,MAE8B,GAAAA;AAAA,MACvB,YAAA;AAAA,QACS,aAAAT,EAAAS,CAAA;AAAA,QAC6B,WAAA;AAAA,QAC5B,YAAA;AAAA,QACC,GAAAA,KAAA,gBAAAA,EAAA;AAAA,MACH;AAAA,IACX,EAAA;AAAA,EACA,CAAA,EAGN;AACF;"}