vue-admin-core
Version:
A Component Library for Vue 3
1 lines • 4.87 kB
Source Map (JSON)
{"version":3,"file":"useFormilyDialog.mjs","sources":["../../../../../package/hooks/formily/useFormilyDialog.tsx"],"sourcesContent":["import { Component, VNode, defineComponent, h } from \"vue\";\nimport { Form, IFormProps } from \"@formily/core\";\nimport { FormProvider, FragmentComponent, createForm } from \"@formily/vue\";\nimport { observer } from \"@formily/reactive-vue\";\nimport { DialogContent, DialogProps, DialogTitle } from \"../elementPlus/useElDialog\";\nimport { Reset, resetProps } from \"@vue-admin-core/formily\";\nimport { useCorePopup, getPopupProps } from \"../__shared__/useCorePopup\";\nimport { ElDialog } from \"element-plus\";\n\nexport type FormilyDialogProps = DialogProps & {\n resetText?: string | Component | VNode | (() => VNode);\n resetButtonProps?: typeof resetProps;\n onReset?: (e: any) => void;\n};\nexport function useFormilyDialog(\n title: FormilyDialogProps | DialogTitle,\n content: DialogContent,\n options?: IFormProps<object>\n) {\n const form = createForm(options);\n const props = getPopupProps(title);\n const [dialog, ContextHolder] = useCorePopup<Form<object>, Form<object>>(\n {\n okText: \"提交\",\n addonCenter: h(\n Reset,\n {\n ...props?.resetButtonProps,\n onClick: (e: any) => {\n props?.onReset?.(e);\n dialog.reset(form);\n }\n },\n {\n default: () => props?.resetText || \"重置\"\n }\n ),\n ...props\n },\n ElDialog,\n content\n );\n const _originResolve = dialog.resolve.bind(dialog);\n const _originReject = dialog.reject.bind(dialog);\n const _originOpen = dialog.open.bind(dialog);\n const _originBeforeOpen = (dialog as any).beforeOpen.bind(dialog);\n dialog.resolve = async () => {\n _originResolve(form);\n };\n dialog.reject = async () => {\n _originReject(form);\n };\n (dialog as any).beforeOpen = async () => {\n return _originBeforeOpen(form);\n };\n dialog.open = async (props) => {\n return _originOpen(props);\n };\n\n const Component = observer(\n defineComponent({\n setup() {\n return () => (\n <FragmentComponent>\n <FormProvider form={form}>\n <ContextHolder />\n </FormProvider>\n </FragmentComponent>\n );\n }\n })\n );\n\n return [dialog, Component];\n}\n"],"names":["useFormilyDialog","title","content","options","form","createForm","props","getPopupProps","dialog","ContextHolder","useCorePopup","okText","addonCenter","h","Reset","resetButtonProps","onClick","e","onReset","reset","default","resetText","ElDialog","_originResolve","resolve","bind","_originReject","reject","_originOpen","open","_originBeforeOpen","beforeOpen","Component","observer","defineComponent","setup","_createVNode","FragmentComponent","FormProvider"],"mappings":";;;;;;;;AAcgBA,SAAAA,gBAAAA,CACdC,KACAC,EAAAA,OAAAA,EACAC,OACA,EAAA;AACA,EAAMC,MAAAA,IAAAA,GAAOC,WAAWF,OAAO,CAAA,CAAA;AAC/B,EAAMG,MAAAA,KAAAA,GAAQC,cAAcN,KAAK,CAAA,CAAA;AACjC,EAAA,MAAM,CAACO,MAAAA,EAAQC,aAAa,CAAA,GAAIC,YAC9B,CAAA;AAAA,IACEC,MAAQ,EAAA,cAAA;AAAA,IACRC,WAAAA,EAAaC,EACXC,KACA,EAAA;AAAA,MACE,GAAGR,KAAOS,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,gBAAAA;AAAAA,MACVC,SAAUC,CAAW,CAAA,KAAA;;AACnBX,QAAAA,CAAAA,EAAAA,GAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOY,YAAPZ,IAAiBW,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AACjBT,QAAAA,MAAAA,CAAOW,MAAMf,IAAI,CAAA,CAAA;AAAA,OACnB;AAAA,KAEF,EAAA;AAAA,MACEgB,OAAAA,EAASA,MAAMd,CAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOe,SAAa,KAAA,cAAA;AAAA,KAEvC,CAAA;AAAA,IACA,GAAGf,KAAAA;AAAAA,GACL,EACAgB,UACApB,OACF,CAAA,CAAA;AACA,EAAA,MAAMqB,cAAiBf,GAAAA,MAAAA,CAAOgB,OAAQC,CAAAA,IAAAA,CAAKjB,MAAM,CAAA,CAAA;AACjD,EAAA,MAAMkB,aAAgBlB,GAAAA,MAAAA,CAAOmB,MAAOF,CAAAA,IAAAA,CAAKjB,MAAM,CAAA,CAAA;AAC/C,EAAA,MAAMoB,WAAcpB,GAAAA,MAAAA,CAAOqB,IAAKJ,CAAAA,IAAAA,CAAKjB,MAAM,CAAA,CAAA;AAC3C,EAAA,MAAMsB,iBAAqBtB,GAAAA,MAAAA,CAAeuB,UAAWN,CAAAA,IAAAA,CAAKjB,MAAM,CAAA,CAAA;AAChEA,EAAAA,MAAAA,CAAOgB,UAAU,YAAY;AAC3BD,IAAAA,cAAAA,CAAenB,IAAI,CAAA,CAAA;AAAA,GACrB,CAAA;AACAI,EAAAA,MAAAA,CAAOmB,SAAS,YAAY;AAC1BD,IAAAA,aAAAA,CAActB,IAAI,CAAA,CAAA;AAAA,GACpB,CAAA;AACCI,EAAAA,MAAAA,CAAeuB,aAAa,YAAY;AACvC,IAAA,OAAOD,kBAAkB1B,IAAI,CAAA,CAAA;AAAA,GAC/B,CAAA;AACAI,EAAOqB,MAAAA,CAAAA,IAAAA,GAAO,OAAOvB,MAAU,KAAA;AAC7B,IAAA,OAAOsB,YAAYtB,MAAK,CAAA,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAM0B,MAAAA,SAAAA,GAAYC,SAChBC,eAAgB,CAAA;AAAA,IACdC,KAAQ,GAAA;AACN,MAAO,OAAA,MAAAC,WAAAC,CAAAA,iBAAAA,EAAA,IAAA,EAAA;AAAA,QAAAjB,OAAAA,EAAAA,MAAAgB,CAAAA,WAAAA,CAAAE,YAAA,EAAA;AAAA,UAAA,MAEiBlC,EAAAA,IAAAA;AAAAA,SAAI,EAAA;AAAA,UAAAgB,SAAAA,MAAAgB,CAAAA,YAAA3B,aAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,SAAA,CAAA,CAAA;AAAA,OAI3B,CAAA,CAAA;AAAA,KACH;AAAA,GACD,CACH,CAAA,CAAA;AAEA,EAAO,OAAA,CAACD,QAAQwB,SAAS,CAAA,CAAA;AAC3B;;;;"}