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 5.19 kB
{"version":3,"file":"FormItem.mjs","sources":["../../../../../packages/element/form/src/FormItem.tsx"],"sourcesContent":["import { extractEvents, isFunction, isObject, isString } from '@ideaz/utils'\nimport { getContentByRenderAndSlot, resolveDynamicComponent } from '@ideaz/shared'\nimport { get } from 'lodash-unified'\nimport { vueRef as ref } from '@ideaz/directives'\nimport { ElFormItem } from 'element-plus'\nimport {\n useFormItemComponent,\n useFormItemProps,\n useFormItemSlots,\n} from './hooks'\nimport { formItemProps, formItemProvideKey } from './props'\n\nexport default defineComponent({\n name: 'ZFormItem',\n directives: { ref },\n props: formItemProps,\n emits: ['change', 'update:modelValue'],\n setup(props, { slots, emit }) {\n const ns = useNamespace('form-item')\n const { componentName: ComponentName } = useFormItemComponent(props)\n const { formItemProps } = useFormItemProps(props)\n const { vSlots } = useFormItemSlots(props, slots)\n const size = useFormSize()\n\n provide(formItemProvideKey, computed(() => {\n return {\n ...toRefs(props),\n size: size.value,\n }\n }))\n\n const isShowDefault = computed(() => isFunction(props.col.render) || props.col.slot || (slots.default?.()[0]?.children?.length as number) > 0)\n\n const modify = (val: any) => {\n const { col } = props\n if (col.modifier) {\n if (isFunction(col.modifier))\n emit('update:modelValue', col.modifier(val), col.field)\n\n if (col.modifier === 'trim')\n emit('update:modelValue', isString(val) ? val.trim() : val, col.field)\n }\n else {\n emit('update:modelValue', val, col.field)\n }\n }\n\n return () => {\n const { col, options, formConfig } = props\n\n return (\n <ElFormItem\n ref=\"formItem\"\n prop={col.field || col.slot}\n class={[ns.b(), formConfig.draggable && ns.b('draggable'), !formItemProps.value.extra ? ns.bm('no-extra', size.value) : 'z-form-item--column']}\n {...{ size: size.value, ...formItemProps.value }}\n v-slots={vSlots.value}\n >\n {isShowDefault.value ? slots.default?.() : h(resolveDynamicComponent({\n name: ComponentName.value,\n attrs: {\n 'modelValue': isFunction(col.fieldProps && col.fieldProps.format)\n ? col.fieldProps?.format(get(props.modelValue, col.field!))\n : get(props.modelValue, col.field!),\n 'prop': col.field,\n 'options': options\n ? (options[col.field!] || (col.fieldProps && col.fieldProps.options))\n : {},\n 'size': size.value,\n 'class': col.class,\n 'style': col.style,\n ...col.fieldProps,\n 'directives': {\n ref: isObject(col.fieldProps)\n ? (col.fieldProps.ref || (() => { }))\n : () => { },\n },\n 'onUpdate:modelValue': (val: any) => modify(val),\n ...extractEvents(col),\n },\n }))}\n {formItemProps.value.extra && (\n <div class={ns.e('extra')}>\n {getContentByRenderAndSlot(formItemProps.value.extra, slots)}\n </div>\n )}\n </ElFormItem>\n )\n }\n },\n})\n"],"names":["FormItem","defineComponent","name","directives","ref","props","emits","emit","ns","useNamespace","componentName","useFormItemComponent","formItemProps","useFormItemProps","vSlots","useFormItemSlots","slots","size","useFormSize","provide","isShowDefault","computed","isFunction","_c","_b","_a","col","formConfig","createVNode","ElFormItem","mergeProps","default","attrs","get","val","modify"],"mappings":";;;;;;;;;;;;;;;;;;;AAYA,MAAAA,KAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,YAAAA;AAAAA,IAAcC,KAAAA;AAAAA;EACdC,OAAAA;AAAAA,EACAC,OAAAA,CAAAA,UAAAA,mBAAAA;AAAAA;;IACsBC,MAAAA;AAAAA,EAAK,GAAA;AACzB,UAAAC,IAAAC,EAAA,WAAA;MACQC,eAAAA;AAAAA,IAA6B,IAAAC,EAAAN,CAAA;MAC7BO,eAAAA;AAAAA,IAAc,IAAAC,EAAAR,CAAA;MACdS,QAAAA;AAAAA,IAAO,IAAAC,EAAAV,GAAAW,CAAA,GACfC,IAAAC,EAAA;AAEAC,IAAAA,EAAAA,GAAAA,EAAAA;;;MAKA,CAAA;AAEA,UAAAC,IAAAC,EAAA,MAAA;;AAAA,aAAAC,EAAAjB,EAAA,IAAA,MAAA,KAAAA,EAAA,IAAA,UAAAkB,KAAAC,KAAAC,IAAAT,EAAA,YAAA,gBAAAS,EAAA,KAAAT,GAAA,OAAA,gBAAAQ,EAAA,aAAA,gBAAAD,EAAA,UAAA;AAAA,KAAA;;QAGUG,KAAAA;AAAAA,MAAI,IAAArB;;;AAad,WAAA,MAAA;;;;QACwBsB,YAAAA;AAAAA,MAAW,IAAAtB;AAEjC,aAAAuB,EAAAC,GAAAC,EAAA;AAAA,QAAA,KAAA;AAAA,QAAA,MAAAJ,EAAA,SAAAA,EAAA;AAAA,QAG+B,OAAA,CAAAlB,EAAA,EAAA,GAAAmB,EAAA,aAAAnB,EAAA,EAAA,WAAA,GAAAI,EAAA,MAAA,QAAA,wBAAAJ,EAAA,GAAA,YAAAS,EAAA,KAAA,CAAA;AAAA,MACmH,GAAA;AAAA;QACtH,GAAAL,EAAA;AAAA,MAAsB,CAAA,GAAA;AAAA,QAAAmB,SAAAA,MAAAA;;AAAAA,kBAAAA,EAAAA,SAAAA,IAAAA,EAAAA,YAAAA,gBAAAA,EAAAA,KAAAA,KAAAA,EAAAA,EAAAA;AAAAA;YAK5CC,OAAAA;AAAAA,cACE,YAAAV,EAAAI,EAAA,cAAAA,EAAA,WAAA,MAAA,KAAAF,IAAAE,EAAA,eAAA,gBAAAF,EAAA,OAAAS,EAAA5B,EAAA,YAAAqB,EAAA,KAAA,KAAAO,EAAA5B,EAAA,YAAAqB,EAAA,KAAA;AAAA;;;;;;cAWA,YAAA;AAAA;;;;cAKA,uBAAA,CAAAQ,MAAAC,EAAAD,CAAA;AAAA;YAEF;AAAA;YAEwB,OAAA1B,EAAA,EAAA,OAAA;AAAA;;QAIzB,GAAAM,EAAA;AAAA,MA7BoB,CAAA;AAAA;EAiC7B;AACF,CAAA;"}