vue-admin-core
Version:
A Component Library for Vue 3
1 lines • 4.59 kB
Source Map (JSON)
{"version":3,"file":"useFormilyForm.mjs","sources":["../../../../../package/hooks/formily/useFormilyForm.tsx"],"sourcesContent":["import {\n DefineComponent,\n ISchema,\n ISchemaFieldProps,\n SchemaKey,\n VueComponent,\n useForm\n} from \"@formily/vue\";\nimport { IFormProps, createForm } from \"@formily/core\";\nimport { PropType, computed, defineComponent, getCurrentInstance } from \"vue\";\nimport { FormLayout, formLayoutProps } from \"@vue-admin-core/formily\";\nimport { observer } from \"@formily/reactive-vue\";\n\nexport type FormilyFormSchema = ISchema[\"properties\"];\n\nexport const useFormilyForm = (\n schema?: ISchema[\"properties\"],\n options?: IFormProps<any>,\n // SchemaField 组件\n SchemaField?: DefineComponent<ISchemaFieldProps>\n) => {\n const form = useForm();\n\n const app = getCurrentInstance();\n\n const SelfSchemaField = (app?.appContext.components.SchemaField ||\n SchemaField) as DefineComponent<ISchemaFieldProps>;\n\n if (!SelfSchemaField) {\n throw new Error(`SchemaField 找不到,在全局设置app.use(setupFormily)或者传入SchemaField`);\n }\n\n if (!form.value) {\n form.value = createForm(options);\n }\n\n const FormilyForm = defineComponent({\n name: \"FormilyForm\",\n props: {\n ...formLayoutProps,\n schema: {\n type: Object as PropType<ISchema[\"properties\"]>\n },\n components: {\n type: Object as PropType<Record<string, VueComponent>>\n },\n scope: {\n type: Object\n },\n name: {\n type: [String, Number] as PropType<SchemaKey>\n },\n definitions: {\n type: Object as PropType<Record<string, ISchema>>\n }\n },\n setup(props, { slots }) {\n const { schema: schemaProps, components, scope, name, ...reset } = props;\n const _schema = computed(() => ({\n type: \"object\",\n definitions: props.definitions,\n properties: schemaProps || schema\n }));\n return () => (\n <FormLayout {...reset}>\n <SelfSchemaField\n schema={_schema.value}\n components={components}\n scope={scope}\n name={name}\n ></SelfSchemaField>\n {slots.default && slots.default()}\n </FormLayout>\n );\n }\n });\n\n return {\n form,\n FormilyForm: observer(FormilyForm)\n };\n};\n"],"names":["useFormilyForm","schema","options","SchemaField","form","useForm","app","getCurrentInstance","SelfSchemaField","appContext","components","Error","value","createForm","FormilyForm","defineComponent","name","props","formLayoutProps","type","Object","scope","String","Number","definitions","setup","slots","schemaProps","reset","_schema","computed","properties","_createVNode","FormLayout","default","observer"],"mappings":";;;;;;;AAeO,MAAMA,cAAiBA,GAAAA,CAC5BC,MACAC,EAAAA,OAAAA,EAEAC,WACG,KAAA;AACH,EAAA,MAAMC,OAAOC,OAAQ,EAAA,CAAA;AAErB,EAAA,MAAMC,MAAMC,kBAAmB,EAAA,CAAA;AAE/B,EAAA,MAAMC,eAAmBF,GAAAA,CAAAA,GAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAKG,UAAWC,CAAAA,UAAAA,CAAWP,WAClDA,KAAAA,WAAAA,CAAAA;AAEF,EAAA,IAAI,CAACK,eAAiB,EAAA;AACpB,IAAM,MAAA,IAAIG,MAAO,CAA0D,0HAAA,CAAA,CAAA,CAAA;AAAA,GAC7E;AAEA,EAAI,IAAA,CAACP,KAAKQ,KAAO,EAAA;AACfR,IAAKQ,IAAAA,CAAAA,KAAAA,GAAQC,WAAWX,OAAO,CAAA,CAAA;AAAA,GACjC;AAEA,EAAA,MAAMY,cAAcC,eAAgB,CAAA;AAAA,IAClCC,IAAM,EAAA,aAAA;AAAA,IACNC,KAAO,EAAA;AAAA,MACL,GAAGC,eAAAA;AAAAA,MACHjB,MAAQ,EAAA;AAAA,QACNkB,IAAMC,EAAAA,MAAAA;AAAAA,OACR;AAAA,MACAV,UAAY,EAAA;AAAA,QACVS,IAAMC,EAAAA,MAAAA;AAAAA,OACR;AAAA,MACAC,KAAO,EAAA;AAAA,QACLF,IAAMC,EAAAA,MAAAA;AAAAA,OACR;AAAA,MACAJ,IAAM,EAAA;AAAA,QACJG,IAAAA,EAAM,CAACG,MAAAA,EAAQC,MAAM,CAAA;AAAA,OACvB;AAAA,MACAC,WAAa,EAAA;AAAA,QACXL,IAAMC,EAAAA,MAAAA;AAAAA,OACR;AAAA,KACF;AAAA,IACAK,MAAMR,KAAO,EAAA;AAAA,MAAES,KAAAA;AAAAA,KAAS,EAAA;AACtB,MAAM,MAAA;AAAA,QAAEzB,MAAQ0B,EAAAA,WAAAA;AAAAA,QAAajB,UAAAA;AAAAA,QAAYW,KAAAA;AAAAA,QAAOL,IAAAA;AAAAA,QAAM,GAAGY,KAAAA;AAAAA,OAAUX,GAAAA,KAAAA,CAAAA;AACnE,MAAMY,MAAAA,OAAAA,GAAUC,SAAS,OAAO;AAAA,QAC9BX,IAAM,EAAA,QAAA;AAAA,QACNK,aAAaP,KAAMO,CAAAA,WAAAA;AAAAA,QACnBO,YAAYJ,WAAe1B,IAAAA,MAAAA;AAAAA,OAC3B,CAAA,CAAA,CAAA;AACF,MAAO,OAAA,MAAA+B,WAAAC,CAAAA,UAAAA,EACWL,KAAK,EAAA;AAAA,QAAAM,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAxB,eAAA,EAAA;AAAA,UAAA,UAETqB,OAAQjB,CAAAA,KAAAA;AAAAA,UAAK,YACTF,EAAAA,UAAAA;AAAAA,UAAU,OACfW,EAAAA,KAAAA;AAAAA,UAAK,MACNL,EAAAA,IAAAA;AAAAA,WAEPU,IAAAA,CAAAA,EAAAA,MAAMQ,OAAWR,IAAAA,KAAAA,CAAMQ,SAAS,CAAA;AAAA,OAEpC,CAAA,CAAA;AAAA,KACH;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL9B,IAAAA;AAAAA,IACAU,WAAAA,EAAaqB,SAASrB,WAAW,CAAA;AAAA,GACnC,CAAA;AACF;;;;"}