{"version":3,"file":"useFormilyDrawer.mjs","sources":["../../../../../package/hooks/formily/useFormilyDrawer.tsx"],"sourcesContent":["import { defineComponent, h } from \"vue\";\nimport { Form, IFormProps } from \"@formily/core\";\nimport { FormProvider, FragmentComponent, createForm } from \"@formily/vue\";\nimport { observer } from \"@formily/reactive-vue\";\nimport { DrawerContent, DrawerProps } from \"../elementPlus/useElDrawer\";\nimport { Reset } from \"@vue-admin-core/formily\";\nimport { PopupTitle, useCorePopup, getPopupProps } from \"../__shared__/useCorePopup\";\nimport { ElDrawer } from \"element-plus\";\n\nexport function useFormilyDrawer(\n  title: DrawerProps | PopupTitle,\n  content: DrawerContent,\n  options?: IFormProps<object>\n) {\n  const form = createForm(options);\n  const props = getPopupProps(title);\n  const [drawer, ContextHolder] = useCorePopup<\n    Form<object>,\n    IFormProps<object>,\n    DrawerProps | PopupTitle\n  >(\n    {\n      okText: \"提交\",\n      addonCenter: h(\n        Reset,\n        { ...props?.resetButtonProps, onClick: (e: any) => props?.onReset?.(e) },\n        {\n          default: () => props?.resetText || \"重置\"\n        }\n      ),\n      ...props\n    },\n    ElDrawer,\n    content\n  );\n  const _originResolve = drawer.resolve.bind(drawer);\n  const _originReject = drawer.reject.bind(drawer);\n  const _originOpen = drawer.open.bind(drawer);\n  const _originBeforeOpen = (drawer as any).beforeOpen.bind(drawer);\n  drawer.resolve = async () => {\n    form.submit(async () => _originResolve(form));\n  };\n  drawer.reject = async () => {\n    return _originReject(form);\n  };\n  (drawer as any).beforeOpen = async () => {\n    return await _originBeforeOpen(form);\n  };\n  drawer.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 [drawer, Component];\n}\n"],"names":["useFormilyDrawer","title","content","options","form","createForm","props","getPopupProps","drawer","ContextHolder","useCorePopup","okText","addonCenter","h","Reset","resetButtonProps","onClick","e","onReset","default","resetText","ElDrawer","_originResolve","resolve","bind","_originReject","reject","_originOpen","open","_originBeforeOpen","beforeOpen","submit","Component","observer","defineComponent","setup","_createVNode","FragmentComponent","FormProvider"],"mappings":";;;;;;;;AASgBA,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,YAK9B,CAAA;AAAA,IACEC,MAAQ,EAAA,cAAA;AAAA,IACRC,WAAAA,EAAaC,EACXC,KACA,EAAA;AAAA,MAAE,GAAGR,KAAOS,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,gBAAAA;AAAAA,MAAkBC,SAAUC,CAAM,CAAA,KAAA;;AAAKX,QAAAA,OAAAA,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;AAAAA,OAAAA;AAAAA,KACpE,EAAA;AAAA,MACEE,OAAAA,EAASA,MAAMb,CAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOc,SAAa,KAAA,cAAA;AAAA,KAEvC,CAAA;AAAA,IACA,GAAGd,KAAAA;AAAAA,GACL,EACAe,UACAnB,OACF,CAAA,CAAA;AACA,EAAA,MAAMoB,cAAiBd,GAAAA,MAAAA,CAAOe,OAAQC,CAAAA,IAAAA,CAAKhB,MAAM,CAAA,CAAA;AACjD,EAAA,MAAMiB,aAAgBjB,GAAAA,MAAAA,CAAOkB,MAAOF,CAAAA,IAAAA,CAAKhB,MAAM,CAAA,CAAA;AAC/C,EAAA,MAAMmB,WAAcnB,GAAAA,MAAAA,CAAOoB,IAAKJ,CAAAA,IAAAA,CAAKhB,MAAM,CAAA,CAAA;AAC3C,EAAA,MAAMqB,iBAAqBrB,GAAAA,MAAAA,CAAesB,UAAWN,CAAAA,IAAAA,CAAKhB,MAAM,CAAA,CAAA;AAChEA,EAAAA,MAAAA,CAAOe,UAAU,YAAY;AAC3BnB,IAAAA,IAAAA,CAAK2B,MAAO,CAAA,YAAYT,cAAelB,CAAAA,IAAI,CAAC,CAAA,CAAA;AAAA,GAC9C,CAAA;AACAI,EAAAA,MAAAA,CAAOkB,SAAS,YAAY;AAC1B,IAAA,OAAOD,cAAcrB,IAAI,CAAA,CAAA;AAAA,GAC3B,CAAA;AACCI,EAAAA,MAAAA,CAAesB,aAAa,YAAY;AACvC,IAAO,OAAA,MAAMD,kBAAkBzB,IAAI,CAAA,CAAA;AAAA,GACrC,CAAA;AACAI,EAAOoB,MAAAA,CAAAA,IAAAA,GAAO,OAAOtB,MAAU,KAAA;AAC7B,IAAA,OAAOqB,YAAYrB,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,QAAAlB,OAAAA,EAAAA,MAAAiB,CAAAA,WAAAA,CAAAE,YAAA,EAAA;AAAA,UAAA,MAEiBlC,EAAAA,IAAAA;AAAAA,SAAI,EAAA;AAAA,UAAAe,SAAAA,MAAAiB,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;;;;"}