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.01 kB
Source Map (JSON)
{"version":3,"file":"FormColumns.mjs","sources":["../../../../../packages/element/form/src/FormColumns.tsx"],"sourcesContent":["import { isFunction } from '@ideaz/utils'\nimport { cloneDeep, set } from 'lodash-unified'\nimport type { FormColumn } from '../../types'\nimport {\n useCol,\n useFormSlots,\n} from './hooks'\nimport FormItem from './FormItem'\nimport type { FormProps } from './props'\n\nfunction renderContent(col: FormColumn, slots: any, data: any) {\n if (col.slot)\n return slots[col.slot] && slots[col.slot]({ formData: data })\n\n if (isFunction(col.render))\n return col.render({ formData: data })\n}\n\nexport default defineComponent({\n name: 'FormColumns',\n components: { FormItem },\n props: {\n columns: {\n type: Array as PropType<FormColumn[]>,\n default: () => [],\n },\n formProps: {\n type: Object as PropType<FormProps>,\n default: () => ({}),\n },\n options: {\n type: Object,\n default: () => ({}),\n },\n formConfig: {\n type: Object,\n default: () => ({}),\n },\n modelValue: {\n type: Object,\n default: () => ({}),\n },\n },\n emits: ['update:modelValue', 'change'],\n setup(props, { slots, emit }) {\n return () => {\n const { columns, formProps, options, modelValue } = props\n return columns.map((col: FormColumn, colIndex: number) => {\n const { scopedSlots } = useFormSlots(col, slots, formProps)\n const { colKls, colStyle } = useCol(formProps, col)\n return (\n <FormItem\n key={col.__key}\n ref={`formItem${colIndex}`}\n col={col}\n modelValue={modelValue}\n formConfig={formProps}\n options={options}\n class={colKls.value}\n style={colStyle.value}\n v-slots={{ ...slots, ...scopedSlots }}\n v-show={isFunction(col.show) ? col.show(modelValue) : col.show}\n onUpdate:modelValue={(val: any, field: string) => {\n const newVal = set(cloneDeep(modelValue), field, val)\n emit('update:modelValue', newVal)\n emit('change', { value: val, field, formData: newVal })\n }}\n >\n {(isFunction(col.render) || col.slot) ? renderContent(col, slots, props.modelValue) : null}\n </FormItem>\n )\n })\n }\n },\n})\n"],"names":["renderContent","col","slots","data","formData","FormColumns","defineComponent","name","components","FormItem","props","columns","type","formProps","default","options","formConfig","modelValue","emits","emit","scopedSlots","colStyle","useCol","withDirectives","createVNode","val","field","newVal","set","cloneDeep","value","vShow","isFunction"],"mappings":";;;;;;;;;;AAUA,SAAAA,EAAAC,GAAAC,GAAAC,GAAA;AACE,MAAAF,EAAA,KAAA,QAAAC,EAAAD,EAAA,IAAA,KAAAC,EAAAD,EAAA,IAAA,EAAA;AAAA,IAC8CG,UAAAA;AAAAA,EAAe,CAAA;;IAGvCA,UAAAA;AAAAA,EAAe,CAAA;AACvC;AAEA,MAAAC,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,YAAAA;AAAAA,IAAcC,UAAAA;AAAAA;EACdC,OAAAA;AAAAA,IACEC,SAAAA;AAAAA,MACEC,MAAAA;AAAAA;;IAGFC,WAAAA;AAAAA,MACED,MAAAA;AAAAA,MACAE,SAAAA,OAAAA,CAAAA;AAAAA;IAEFC,SAAAA;AAAAA,MACEH,MAAAA;AAAAA,MACAE,SAAAA,OAAAA,CAAAA;AAAAA;IAEFE,YAAAA;AAAAA,MACEJ,MAAAA;AAAAA,MACAE,SAAAA,OAAAA,CAAAA;AAAAA;IAEFG,YAAAA;AAAAA,MACEL,MAAAA;AAAAA,MACAE,SAAAA,OAAAA,CAAAA;AAAAA,IACF;AAAA;EAEFI,OAAAA,CAAAA,qBAAAA,QAAAA;AAAAA;;IACsBC,MAAAA;AAAAA,EAAK,GAAA;AACzB,WAAA,MAAA;;;;;QACuCF,YAAAA;AAAAA,MAAW,IAAAP;;;UAEtCU,aAAAA;AAAAA;;UACQC,UAAAA;AAAAA,QAAS,IAAAC,EAAAT,GAAAZ,CAAA;AACzB,eAAAsB,EAAAC,EAAAf,GAAA;AAAA;;UAG8B,KAAAR;AAAA,UAClB,YAAAgB;AAAA,UACc,YAAAJ;AAAA,UACD,SAAAE;AAAA;;UAGA,uBAAA,CAAAU,GAAAC,MAAA;AAInB,kBAAAC,IAAAC,EAAAC,EAAAZ,CAAA,GAAAS,GAAAD,CAAA;AACAN,YAAAA,EAAAA,qBAAAA,CAAAA;cACiBW,OAAAA;AAAAA;cAAmB1B,UAAAA;AAAAA,YAAiB,CAAA;AAAA,UACvD;AAAA,QAAC,GAAA;AAAA;UANU,GAAAF;AAAA;QAAwB,CAAA,GAAA,CAAA,CAAA6B,GAAAC,EAAA/B,EAAA,IAAA,IAAAA,EAAA,KAAAgB,CAAA,IAAAhB,EAAA,IAAA,CAAA,CAAA;AAAA,MAWzC,CAAA;AAAA;EAEJ;AACF,CAAA;"}