@jswork/react-ant-resource-form 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var U=Object.defineProperty;var E=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var B=(t,a,e)=>a in t?U(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,o=(t,a)=>{for(var e in a||(a={}))L.call(a,e)&&B(t,e,a[e]);if(E)for(var e of E(a))P.call(a,e)&&B(t,e,a[e]);return t};var r=(t,a)=>U(t,"name",{value:a,configurable:!0});var y=(t,a)=>{var e={};for(var c in t)L.call(t,c)&&a.indexOf(c)<0&&(e[c]=t[c]);if(t!=null&&E)for(var c of E(t))a.indexOf(c)<0&&P.call(t,c)&&(e[c]=t[c]);return e};var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _antd = require('antd');var _reactantformschema = require('@jswork/react-ant-form-schema'); var _reactantformschema2 = _interopRequireDefault(_reactantformschema);var _icons = require('@ant-design/icons');var v="react-ant-resource-form",H={"zh-CN":{submit:"\u63D0\u4EA4",back:"\u8FD4\u56DE"},"en-US":{submit:"Submit",back:"Back"}},I={lang:"zh-CN"},J=r(t=>{let k=o(o({},I),t),{className:a,meta:e,children:c,lang:p,title:f,loading:R,extra:S,size:b,okText:x,backText:h,okProps:m,backProps:n}=k,C=y(k,["className","meta","children","lang","title","loading","extra","size","okText","backText","okProps","backProps"]),l=r(F=>H[p][F],"t"),u=r(()=>history.back(),"handleBack"),_=S||_react2.default.createElement(_antd.Button,o({size:"small",icon:_react2.default.createElement(_icons.ArrowLeftOutlined,null),onClick:u},n),h||l("back")),A=c||_react2.default.createElement(_antd.Space,null,_react2.default.createElement(_antd.Button,o({htmlType:"submit",type:"primary",icon:_react2.default.createElement(_icons.SaveOutlined,null)},m),x||l("submit")),_react2.default.createElement(_antd.Button,o({icon:_react2.default.createElement(_icons.ArrowLeftOutlined,null),onClick:u},n),h||l("back")));return _react2.default.createElement(_antd.Card,{title:f,size:b,loading:R,"data-component":v,className:_classnames2.default.call(void 0, v,a),extra:_},_react2.default.createElement(_reactantformschema2.default,o({meta:e},C),A))},"ReactAntResourceForm"),$= exports.ReactAntResourceForm =J;var _next = require('@jswork/next'); var _next2 = _interopRequireDefault(_next);var Y={"zh-CN":{create:"\u521B\u5EFA",update:"\u4FDD\u5B58",create_title:"\u521B\u5EFA",update_title:"\u66F4\u65B0",create_success:"\u521B\u5EFA\u6210\u529F",update_success:"\u66F4\u65B0\u6210\u529F"},"en-US":{create:"Create",update:"Save",create_title:"Create",update_title:"Update",create_success:"Create success",update_success:"Update success"}},Z={lang:"zh-CN"},ee=r(t=>{let T=o(o({},Z),t),{name:a,params:e,lang:c,onRequest:p,onResponse:f}=T,R=y(T,["name","params","lang","onRequest","onResponse"]),S=`${a}_update`,b=`${a}_create`,x=`${a}_show`,[h]=_antd.Form.useForm(),m=!!(e!=null&&e.id),n=r(s=>Y[c][s],"t"),[C,l]=_react.useState.call(void 0, !1),u=r(s=>(l(!0),(p==null?void 0:p(s))||s.payload),"handleStateRequest"),_=r(s=>{f==null||f(s),l(!1)},"handleStateResponse"),A=r(s=>{if(m){let g=o({id:e.id},s),d=u({stage:"update",payload:g});_next2.default.$api[S](d).then(z=>{_antd.message.success(n("update_success")),_({stage:"update",data:z})}).finally(()=>l(!1))}else{let g=o({},s),d=u({stage:"create",payload:g});_next2.default.$api[b](d).then(z=>{_antd.message.success(n("create_success")),_({stage:"create",data:z})}).finally(()=>l(!1))}},"handleFinish");_react.useEffect.call(void 0, ()=>{if(m){let s={id:e.id},g=u({stage:"show",payload:s});_next2.default.$api[x](g).then(d=>{h.setFieldsValue(d),_({stage:"show",data:d})}).finally(()=>l(!1))}},[m,e==null?void 0:e.id]);let k=n(m?"update":"create"),F=n(m?"update_title":"create_title");return _react2.default.createElement($,o({loading:C,form:h,onFinish:A,okText:k,title:F},R))},"ReactAntResourceFormApi"),te= exports.ReactAntResourceFormApi =ee;exports.ReactAntResourceForm = $; exports.ReactAntResourceFormApi = te;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var U=Object.defineProperty;var y=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var B=(t,a,e)=>a in t?U(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,o=(t,a)=>{for(var e in a||(a={}))L.call(a,e)&&B(t,e,a[e]);if(y)for(var e of y(a))P.call(a,e)&&B(t,e,a[e]);return t};var n=(t,a)=>U(t,"name",{value:a,configurable:!0});var R=(t,a)=>{var e={};for(var c in t)L.call(t,c)&&a.indexOf(c)<0&&(e[c]=t[c]);if(t!=null&&y)for(var c of y(t))a.indexOf(c)<0&&P.call(t,c)&&(e[c]=t[c]);return e};var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _antd = require('antd');var _reactantformschema = require('@jswork/react-ant-form-schema'); var _reactantformschema2 = _interopRequireDefault(_reactantformschema);var _icons = require('@ant-design/icons');var v="react-ant-resource-form",H={"zh-CN":{submit:"\u63D0\u4EA4",back:"\u8FD4\u56DE"},"en-US":{submit:"Submit",back:"Back"}},I={lang:"zh-CN"},J=n(t=>{let E=o(o({},I),t),{className:a,meta:e,children:c,lang:m,title:p,loading:S,extra:b,size:x,okText:C,backText:f,okProps:u,backProps:r}=E,A=R(E,["className","meta","children","lang","title","loading","extra","size","okText","backText","okProps","backProps"]),l=n(z=>H[m][z],"t"),d=n(()=>history.back(),"handleBack"),h=b||_react2.default.createElement(_antd.Button,o({size:"small",icon:_react2.default.createElement(_icons.ArrowLeftOutlined,null),onClick:d},r),f||l("back")),F=c||_react2.default.createElement(_antd.Space,null,_react2.default.createElement(_antd.Button,o({htmlType:"submit",type:"primary",icon:_react2.default.createElement(_icons.SaveOutlined,null)},u),C||l("submit")),_react2.default.createElement(_antd.Button,o({icon:_react2.default.createElement(_icons.ArrowLeftOutlined,null),onClick:d},r),f||l("back")));return _react2.default.createElement(_antd.Card,{title:p,size:x,loading:S,"data-component":v,className:_classnames2.default.call(void 0, v,a),extra:h},_react2.default.createElement(_reactantformschema2.default,o({meta:e},A),F))},"ReactAntResourceForm"),$= exports.ReactAntResourceForm =J;var _next = require('@jswork/next'); var _next2 = _interopRequireDefault(_next);var Y={"zh-CN":{create:"\u521B\u5EFA",update:"\u4FDD\u5B58",create_title:"\u521B\u5EFA",update_title:"\u66F4\u65B0",create_success:"\u521B\u5EFA\u6210\u529F",update_success:"\u66F4\u65B0\u6210\u529F"},"en-US":{create:"Create",update:"Save",create_title:"Create",update_title:"Update",create_success:"Create success",update_success:"Update success"}},Z={lang:"zh-CN"},ee=n(t=>{let T=o(o({},Z),t),{name:a,params:e,lang:c,transformRequest:m,transformResponse:p}=T,S=R(T,["name","params","lang","transformRequest","transformResponse"]),b=`${a}_update`,x=`${a}_create`,C=`${a}_show`,[f]=_antd.Form.useForm(),u=!!(e!=null&&e.id),r=n(s=>Y[c][s],"t"),[A,l]=_react.useState.call(void 0, !1),d=n(s=>(l(!0),(m==null?void 0:m(s))||s.payload),"handleStateRequest"),h=n(s=>(l(!1),(p==null?void 0:p(s))||s.data),"handleStateResponse"),F=n(s=>{if(u){let _=o({id:e.id},s),g=d({stage:"update",payload:_});_next2.default.$api[b](g).then(k=>{_antd.message.success(r("update_success")),h({stage:"update",data:k})}).finally(()=>l(!1))}else{let _=o({},s),g=d({stage:"create",payload:_});_next2.default.$api[x](g).then(k=>{_antd.message.success(r("create_success")),h({stage:"create",data:k})}).finally(()=>l(!1))}},"handleFinish");_react.useEffect.call(void 0, ()=>{if(u){let s={id:e.id},_=d({stage:"show",payload:s});_next2.default.$api[C](_).then(g=>{let k=h({stage:"show",data:g});f.setFieldsValue(k)}).finally(()=>l(!1))}},[u,e==null?void 0:e.id]);let E=r(u?"update":"create"),z=r(u?"update_title":"create_title");return _react2.default.createElement($,o({loading:A,form:f,onFinish:F,okText:E,title:z},S))},"ReactAntResourceFormApi"),te= exports.ReactAntResourceFormApi =ee;exports.ReactAntResourceForm = $; exports.ReactAntResourceFormApi = te;
2
2
  //# sourceMappingURL=main.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aric/github/react-ant-resource-form/packages/lib/dist/main.cjs.js","../src/index.tsx","../src/api.tsx"],"names":["CLASS_NAME","locales","submit","back","defaultProps","lang","ReactAntResourceForm","__name","props","_a","__spreadValues","className","meta","children","title","loading","extra","size","okText","backText","okProps","backProps","rest","t","key","handleBack","history","_extra","React","Button","icon","ArrowLeftOutlined","onClick","_children","Space","htmlType","type","SaveOutlined","Card","data-component","cx","ReactAntdFormSchema","index_default","create","update","create_title","update_title","create_success","update_success","ReactAntResourceFormApi","name","params","onRequest","onResponse","resourceEdit"],"mappings":"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","file":"/Users/aric/github/react-ant-resource-form/packages/lib/dist/main.cjs.js","sourcesContent":[null,"// import noop from '@jswork/noop';\nimport cx from 'classnames';\nimport React, { FC } from 'react';\nimport { Button, ButtonProps, Card, CardProps, Space } from 'antd';\nimport ReactAntdFormSchema, { ReactAntdFormSchemaProps } from '@jswork/react-ant-form-schema';\nimport { ArrowLeftOutlined, SaveOutlined } from '@ant-design/icons';\n\nexport type ReactAntResourceFormProps = {\n lang?: string;\n loading?: boolean;\n okText?: string;\n backText?: string;\n okProps?: ButtonProps;\n backProps?: ButtonProps;\n size?: CardProps['size'];\n extra?: CardProps['extra'];\n title?: CardProps['title'];\n} & ReactAntdFormSchemaProps;\n\nconst CLASS_NAME = 'react-ant-resource-form';\nconst locales = {\n 'zh-CN': {\n submit: '提交',\n back: '返回',\n },\n 'en-US': {\n submit: 'Submit',\n back: 'Back',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceForm: FC<ReactAntResourceFormProps> = (props) => {\n const {\n className,\n meta,\n children,\n lang,\n title,\n loading,\n extra,\n size,\n okText,\n backText,\n okProps,\n backProps,\n ...rest\n } = {\n ...defaultProps,\n ...props,\n };\n const t = (key: string) => locales[lang][key];\n const handleBack = () => history.back();\n const _extra = extra || (\n <Button size=\"small\" icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n );\n const _children = children || (\n <Space>\n <Button htmlType=\"submit\" type=\"primary\" icon={<SaveOutlined />} {...okProps}>\n {okText || t('submit')}\n </Button>\n <Button icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n </Space>\n );\n\n return (\n <Card\n title={title}\n size={size}\n loading={loading}\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n extra={_extra}>\n <ReactAntdFormSchema meta={meta} {...rest}>\n {_children}\n </ReactAntdFormSchema>\n </Card>\n );\n};\n\nexport default ReactAntResourceForm;\n","import React, { FC, useEffect, useState } from 'react';\nimport ReactAntResourceForm, { ReactAntResourceFormProps } from '.';\nimport { Form, message } from 'antd';\nimport nx from '@jswork/next';\n\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\n\ntype StagePayload = {\n stage: 'show' | 'create' | 'update';\n payload: any;\n};\n\ntype StageData = {\n stage: 'show' | 'create' | 'update';\n data: any;\n};\n\nexport type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {\n lang?: string;\n params?: Record<string, any>;\n onRequest?: (payload: StagePayload) => any;\n onResponse?: (res: StageData) => void;\n};\n\nconst locales = {\n 'zh-CN': {\n create: '创建',\n update: '保存',\n create_title: '创建',\n update_title: '更新',\n create_success: '创建成功',\n update_success: '更新成功',\n },\n 'en-US': {\n create: 'Create',\n update: 'Save',\n create_title: 'Create',\n update_title: 'Update',\n create_success: 'Create success',\n update_success: 'Update success',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {\n const { name, params, lang, onRequest, onResponse, ...rest } = {\n ...defaultProps,\n ...props,\n };\n\n const resourceEdit = `${name}_update`;\n const resourceCreate = `${name}_create`;\n const resourceShow = `${name}_show`;\n const [form] = Form.useForm();\n const isEdit = Boolean(params?.id);\n const t = (key: string) => locales[lang!][key];\n const [loading, setLoading] = useState(false);\n const handleStateRequest = (stagePayload: StagePayload) => {\n setLoading(true);\n return onRequest?.(stagePayload) || stagePayload.payload;\n };\n const handleStateResponse = (res: StageData) => {\n onResponse?.(res);\n setLoading(false);\n };\n\n const handleFinish = (values) => {\n if (isEdit) {\n const payload = { id: params!.id, ...values };\n const _payload = handleStateRequest({ stage: 'update', payload });\n\n nx.$api[resourceEdit](_payload)\n .then((res) => {\n message.success(t('update_success'));\n handleStateResponse({ stage: 'update', data: res });\n })\n .finally(() => setLoading(false));\n } else {\n const payload = { ...values };\n const _payload = handleStateRequest({ stage: 'create', payload });\n\n nx.$api[resourceCreate](_payload)\n .then((res) => {\n message.success(t('create_success'));\n handleStateResponse({ stage: 'create', data: res });\n })\n .finally(() => setLoading(false));\n }\n };\n\n // init detail\n useEffect(() => {\n if (isEdit) {\n const payload = { id: params!.id };\n const _payload = handleStateRequest({ stage: 'show', payload });\n nx.$api[resourceShow](_payload)\n .then((res) => {\n form.setFieldsValue(res);\n handleStateResponse({ stage: 'show', data: res });\n })\n .finally(() => setLoading(false));\n }\n }, [isEdit, params?.id]);\n\n const okText = isEdit ? t('update') : t('create');\n const title = isEdit ? t('update_title') : t('create_title');\n\n return (\n <ReactAntResourceForm\n loading={loading}\n form={form}\n onFinish={handleFinish}\n okText={okText}\n title={title}\n {...rest}\n />\n );\n};\n\nexport default ReactAntResourceFormApi;\n"]}
1
+ {"version":3,"sources":["/Users/ap7/github/react-ant-resource-form/packages/lib/dist/main.cjs.js","../src/index.tsx","../src/api.tsx"],"names":["CLASS_NAME","locales","submit","back","defaultProps","lang","ReactAntResourceForm","__name","props","_a","__spreadValues","className","meta","children","title","loading","extra","size","okText","backText","okProps","backProps","rest","t","key","handleBack","history","_extra","React","Button","icon","ArrowLeftOutlined","onClick","_children","Space","htmlType","type","SaveOutlined","Card","data-component","cx","ReactAntdFormSchema","index_default","create","update","create_title","update_title","create_success","update_success","ReactAntResourceFormApi","name","params","transformRequest","transformResponse","resourceEdit"],"mappings":"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","file":"/Users/ap7/github/react-ant-resource-form/packages/lib/dist/main.cjs.js","sourcesContent":[null,"// import noop from '@jswork/noop';\nimport cx from 'classnames';\nimport React, { FC } from 'react';\nimport { Button, ButtonProps, Card, CardProps, Space } from 'antd';\nimport ReactAntdFormSchema, { ReactAntdFormSchemaProps } from '@jswork/react-ant-form-schema';\nimport { ArrowLeftOutlined, SaveOutlined } from '@ant-design/icons';\n\nexport type ReactAntResourceFormProps = {\n lang?: string;\n loading?: boolean;\n okText?: string;\n backText?: string;\n okProps?: ButtonProps;\n backProps?: ButtonProps;\n size?: CardProps['size'];\n extra?: CardProps['extra'];\n title?: CardProps['title'];\n} & ReactAntdFormSchemaProps;\n\nconst CLASS_NAME = 'react-ant-resource-form';\nconst locales = {\n 'zh-CN': {\n submit: '提交',\n back: '返回',\n },\n 'en-US': {\n submit: 'Submit',\n back: 'Back',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceForm: FC<ReactAntResourceFormProps> = (props) => {\n const {\n className,\n meta,\n children,\n lang,\n title,\n loading,\n extra,\n size,\n okText,\n backText,\n okProps,\n backProps,\n ...rest\n } = {\n ...defaultProps,\n ...props,\n };\n const t = (key: string) => locales[lang][key];\n const handleBack = () => history.back();\n const _extra = extra || (\n <Button size=\"small\" icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n );\n const _children = children || (\n <Space>\n <Button htmlType=\"submit\" type=\"primary\" icon={<SaveOutlined />} {...okProps}>\n {okText || t('submit')}\n </Button>\n <Button icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n </Space>\n );\n\n return (\n <Card\n title={title}\n size={size}\n loading={loading}\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n extra={_extra}>\n <ReactAntdFormSchema meta={meta} {...rest}>\n {_children}\n </ReactAntdFormSchema>\n </Card>\n );\n};\n\nexport default ReactAntResourceForm;\n","import React, { FC, useEffect, useState } from 'react';\nimport ReactAntResourceForm, { ReactAntResourceFormProps } from '.';\nimport { Form, message } from 'antd';\nimport nx from '@jswork/next';\n\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\n\ntype StagePayload = {\n stage: 'show' | 'create' | 'update';\n payload: any;\n};\n\ntype StageData = {\n stage: 'show' | 'create' | 'update';\n data: any;\n};\n\nexport type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {\n lang?: string;\n params?: Record<string, any>;\n transformRequest?: (payload: StagePayload) => any;\n transformResponse?: (res: StageData) => any;\n};\n\nconst locales = {\n 'zh-CN': {\n create: '创建',\n update: '保存',\n create_title: '创建',\n update_title: '更新',\n create_success: '创建成功',\n update_success: '更新成功',\n },\n 'en-US': {\n create: 'Create',\n update: 'Save',\n create_title: 'Create',\n update_title: 'Update',\n create_success: 'Create success',\n update_success: 'Update success',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {\n const { name, params, lang, transformRequest, transformResponse, ...rest } = {\n ...defaultProps,\n ...props,\n };\n\n const resourceEdit = `${name}_update`;\n const resourceCreate = `${name}_create`;\n const resourceShow = `${name}_show`;\n const [form] = Form.useForm();\n const isEdit = Boolean(params?.id);\n const t = (key: string) => locales[lang!][key];\n const [loading, setLoading] = useState(false);\n const handleStateRequest = (stagePayload: StagePayload) => {\n setLoading(true);\n return transformRequest?.(stagePayload) || stagePayload.payload;\n };\n const handleStateResponse = (res: StageData) => {\n setLoading(false);\n return transformResponse?.(res) || res.data;\n };\n\n const handleFinish = (values) => {\n if (isEdit) {\n const payload = { id: params!.id, ...values };\n const _payload = handleStateRequest({ stage: 'update', payload });\n\n nx.$api[resourceEdit](_payload)\n .then((res) => {\n message.success(t('update_success'));\n handleStateResponse({ stage: 'update', data: res });\n })\n .finally(() => setLoading(false));\n } else {\n const payload = { ...values };\n const _payload = handleStateRequest({ stage: 'create', payload });\n\n nx.$api[resourceCreate](_payload)\n .then((res) => {\n message.success(t('create_success'));\n handleStateResponse({ stage: 'create', data: res });\n })\n .finally(() => setLoading(false));\n }\n };\n\n // init detail\n useEffect(() => {\n if (isEdit) {\n const payload = { id: params!.id };\n const _payload = handleStateRequest({ stage: 'show', payload });\n nx.$api[resourceShow](_payload)\n .then((res) => {\n const data = handleStateResponse({ stage: 'show', data: res });\n form.setFieldsValue(data);\n })\n .finally(() => setLoading(false));\n }\n }, [isEdit, params?.id]);\n\n const okText = isEdit ? t('update') : t('create');\n const title = isEdit ? t('update_title') : t('create_title');\n\n return (\n <ReactAntResourceForm\n loading={loading}\n form={form}\n onFinish={handleFinish}\n okText={okText}\n title={title}\n {...rest}\n />\n );\n};\n\nexport default ReactAntResourceFormApi;\n"]}
package/dist/main.d.mts CHANGED
@@ -31,8 +31,8 @@ type StageData = {
31
31
  type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {
32
32
  lang?: string;
33
33
  params?: Record<string, any>;
34
- onRequest?: (payload: StagePayload) => any;
35
- onResponse?: (res: StageData) => void;
34
+ transformRequest?: (payload: StagePayload) => any;
35
+ transformResponse?: (res: StageData) => any;
36
36
  };
37
37
  declare const ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps>;
38
38
 
package/dist/main.d.ts CHANGED
@@ -31,8 +31,8 @@ type StageData = {
31
31
  type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {
32
32
  lang?: string;
33
33
  params?: Record<string, any>;
34
- onRequest?: (payload: StagePayload) => any;
35
- onResponse?: (res: StageData) => void;
34
+ transformRequest?: (payload: StagePayload) => any;
35
+ transformResponse?: (res: StageData) => any;
36
36
  };
37
37
  declare const ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps>;
38
38
 
package/dist/main.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- var U=Object.defineProperty;var E=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var B=(t,a,e)=>a in t?U(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,o=(t,a)=>{for(var e in a||(a={}))L.call(a,e)&&B(t,e,a[e]);if(E)for(var e of E(a))P.call(a,e)&&B(t,e,a[e]);return t};var r=(t,a)=>U(t,"name",{value:a,configurable:!0});var y=(t,a)=>{var e={};for(var c in t)L.call(t,c)&&a.indexOf(c)<0&&(e[c]=t[c]);if(t!=null&&E)for(var c of E(t))a.indexOf(c)<0&&P.call(t,c)&&(e[c]=t[c]);return e};import V from"classnames";import i from"react";import{Button as N,Card as j,Space as q}from"antd";import D from"@jswork/react-ant-form-schema";import{ArrowLeftOutlined as O,SaveOutlined as G}from"@ant-design/icons";var v="react-ant-resource-form",H={"zh-CN":{submit:"\u63D0\u4EA4",back:"\u8FD4\u56DE"},"en-US":{submit:"Submit",back:"Back"}},I={lang:"zh-CN"},J=r(t=>{let k=o(o({},I),t),{className:a,meta:e,children:c,lang:p,title:f,loading:R,extra:S,size:b,okText:x,backText:h,okProps:m,backProps:n}=k,C=y(k,["className","meta","children","lang","title","loading","extra","size","okText","backText","okProps","backProps"]),l=r(F=>H[p][F],"t"),u=r(()=>history.back(),"handleBack"),_=S||i.createElement(N,o({size:"small",icon:i.createElement(O,null),onClick:u},n),h||l("back")),A=c||i.createElement(q,null,i.createElement(N,o({htmlType:"submit",type:"primary",icon:i.createElement(G,null)},m),x||l("submit")),i.createElement(N,o({icon:i.createElement(O,null),onClick:u},n),h||l("back")));return i.createElement(j,{title:f,size:b,loading:R,"data-component":v,className:V(v,a),extra:_},i.createElement(D,o({meta:e},C),A))},"ReactAntResourceForm"),$=J;import K,{useEffect as Q,useState as W}from"react";import{Form as X,message as M}from"antd";import w from"@jswork/next";var Y={"zh-CN":{create:"\u521B\u5EFA",update:"\u4FDD\u5B58",create_title:"\u521B\u5EFA",update_title:"\u66F4\u65B0",create_success:"\u521B\u5EFA\u6210\u529F",update_success:"\u66F4\u65B0\u6210\u529F"},"en-US":{create:"Create",update:"Save",create_title:"Create",update_title:"Update",create_success:"Create success",update_success:"Update success"}},Z={lang:"zh-CN"},ee=r(t=>{let T=o(o({},Z),t),{name:a,params:e,lang:c,onRequest:p,onResponse:f}=T,R=y(T,["name","params","lang","onRequest","onResponse"]),S=`${a}_update`,b=`${a}_create`,x=`${a}_show`,[h]=X.useForm(),m=!!(e!=null&&e.id),n=r(s=>Y[c][s],"t"),[C,l]=W(!1),u=r(s=>(l(!0),(p==null?void 0:p(s))||s.payload),"handleStateRequest"),_=r(s=>{f==null||f(s),l(!1)},"handleStateResponse"),A=r(s=>{if(m){let g=o({id:e.id},s),d=u({stage:"update",payload:g});w.$api[S](d).then(z=>{M.success(n("update_success")),_({stage:"update",data:z})}).finally(()=>l(!1))}else{let g=o({},s),d=u({stage:"create",payload:g});w.$api[b](d).then(z=>{M.success(n("create_success")),_({stage:"create",data:z})}).finally(()=>l(!1))}},"handleFinish");Q(()=>{if(m){let s={id:e.id},g=u({stage:"show",payload:s});w.$api[x](g).then(d=>{h.setFieldsValue(d),_({stage:"show",data:d})}).finally(()=>l(!1))}},[m,e==null?void 0:e.id]);let k=n(m?"update":"create"),F=n(m?"update_title":"create_title");return K.createElement($,o({loading:C,form:h,onFinish:A,okText:k,title:F},R))},"ReactAntResourceFormApi"),te=ee;export{$ as ReactAntResourceForm,te as ReactAntResourceFormApi};
1
+ var U=Object.defineProperty;var y=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var B=(t,a,e)=>a in t?U(t,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[a]=e,o=(t,a)=>{for(var e in a||(a={}))L.call(a,e)&&B(t,e,a[e]);if(y)for(var e of y(a))P.call(a,e)&&B(t,e,a[e]);return t};var n=(t,a)=>U(t,"name",{value:a,configurable:!0});var R=(t,a)=>{var e={};for(var c in t)L.call(t,c)&&a.indexOf(c)<0&&(e[c]=t[c]);if(t!=null&&y)for(var c of y(t))a.indexOf(c)<0&&P.call(t,c)&&(e[c]=t[c]);return e};import V from"classnames";import i from"react";import{Button as N,Card as j,Space as q}from"antd";import D from"@jswork/react-ant-form-schema";import{ArrowLeftOutlined as O,SaveOutlined as G}from"@ant-design/icons";var v="react-ant-resource-form",H={"zh-CN":{submit:"\u63D0\u4EA4",back:"\u8FD4\u56DE"},"en-US":{submit:"Submit",back:"Back"}},I={lang:"zh-CN"},J=n(t=>{let E=o(o({},I),t),{className:a,meta:e,children:c,lang:m,title:p,loading:S,extra:b,size:x,okText:C,backText:f,okProps:u,backProps:r}=E,A=R(E,["className","meta","children","lang","title","loading","extra","size","okText","backText","okProps","backProps"]),l=n(z=>H[m][z],"t"),d=n(()=>history.back(),"handleBack"),h=b||i.createElement(N,o({size:"small",icon:i.createElement(O,null),onClick:d},r),f||l("back")),F=c||i.createElement(q,null,i.createElement(N,o({htmlType:"submit",type:"primary",icon:i.createElement(G,null)},u),C||l("submit")),i.createElement(N,o({icon:i.createElement(O,null),onClick:d},r),f||l("back")));return i.createElement(j,{title:p,size:x,loading:S,"data-component":v,className:V(v,a),extra:h},i.createElement(D,o({meta:e},A),F))},"ReactAntResourceForm"),$=J;import K,{useEffect as Q,useState as W}from"react";import{Form as X,message as M}from"antd";import w from"@jswork/next";var Y={"zh-CN":{create:"\u521B\u5EFA",update:"\u4FDD\u5B58",create_title:"\u521B\u5EFA",update_title:"\u66F4\u65B0",create_success:"\u521B\u5EFA\u6210\u529F",update_success:"\u66F4\u65B0\u6210\u529F"},"en-US":{create:"Create",update:"Save",create_title:"Create",update_title:"Update",create_success:"Create success",update_success:"Update success"}},Z={lang:"zh-CN"},ee=n(t=>{let T=o(o({},Z),t),{name:a,params:e,lang:c,transformRequest:m,transformResponse:p}=T,S=R(T,["name","params","lang","transformRequest","transformResponse"]),b=`${a}_update`,x=`${a}_create`,C=`${a}_show`,[f]=X.useForm(),u=!!(e!=null&&e.id),r=n(s=>Y[c][s],"t"),[A,l]=W(!1),d=n(s=>(l(!0),(m==null?void 0:m(s))||s.payload),"handleStateRequest"),h=n(s=>(l(!1),(p==null?void 0:p(s))||s.data),"handleStateResponse"),F=n(s=>{if(u){let _=o({id:e.id},s),g=d({stage:"update",payload:_});w.$api[b](g).then(k=>{M.success(r("update_success")),h({stage:"update",data:k})}).finally(()=>l(!1))}else{let _=o({},s),g=d({stage:"create",payload:_});w.$api[x](g).then(k=>{M.success(r("create_success")),h({stage:"create",data:k})}).finally(()=>l(!1))}},"handleFinish");Q(()=>{if(u){let s={id:e.id},_=d({stage:"show",payload:s});w.$api[C](_).then(g=>{let k=h({stage:"show",data:g});f.setFieldsValue(k)}).finally(()=>l(!1))}},[u,e==null?void 0:e.id]);let E=r(u?"update":"create"),z=r(u?"update_title":"create_title");return K.createElement($,o({loading:A,form:f,onFinish:F,okText:E,title:z},S))},"ReactAntResourceFormApi"),te=ee;export{$ as ReactAntResourceForm,te as ReactAntResourceFormApi};
2
2
  //# sourceMappingURL=main.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx","../src/api.tsx"],"sourcesContent":["// import noop from '@jswork/noop';\nimport cx from 'classnames';\nimport React, { FC } from 'react';\nimport { Button, ButtonProps, Card, CardProps, Space } from 'antd';\nimport ReactAntdFormSchema, { ReactAntdFormSchemaProps } from '@jswork/react-ant-form-schema';\nimport { ArrowLeftOutlined, SaveOutlined } from '@ant-design/icons';\n\nexport type ReactAntResourceFormProps = {\n lang?: string;\n loading?: boolean;\n okText?: string;\n backText?: string;\n okProps?: ButtonProps;\n backProps?: ButtonProps;\n size?: CardProps['size'];\n extra?: CardProps['extra'];\n title?: CardProps['title'];\n} & ReactAntdFormSchemaProps;\n\nconst CLASS_NAME = 'react-ant-resource-form';\nconst locales = {\n 'zh-CN': {\n submit: '提交',\n back: '返回',\n },\n 'en-US': {\n submit: 'Submit',\n back: 'Back',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceForm: FC<ReactAntResourceFormProps> = (props) => {\n const {\n className,\n meta,\n children,\n lang,\n title,\n loading,\n extra,\n size,\n okText,\n backText,\n okProps,\n backProps,\n ...rest\n } = {\n ...defaultProps,\n ...props,\n };\n const t = (key: string) => locales[lang][key];\n const handleBack = () => history.back();\n const _extra = extra || (\n <Button size=\"small\" icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n );\n const _children = children || (\n <Space>\n <Button htmlType=\"submit\" type=\"primary\" icon={<SaveOutlined />} {...okProps}>\n {okText || t('submit')}\n </Button>\n <Button icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n </Space>\n );\n\n return (\n <Card\n title={title}\n size={size}\n loading={loading}\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n extra={_extra}>\n <ReactAntdFormSchema meta={meta} {...rest}>\n {_children}\n </ReactAntdFormSchema>\n </Card>\n );\n};\n\nexport default ReactAntResourceForm;\n","import React, { FC, useEffect, useState } from 'react';\nimport ReactAntResourceForm, { ReactAntResourceFormProps } from '.';\nimport { Form, message } from 'antd';\nimport nx from '@jswork/next';\n\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\n\ntype StagePayload = {\n stage: 'show' | 'create' | 'update';\n payload: any;\n};\n\ntype StageData = {\n stage: 'show' | 'create' | 'update';\n data: any;\n};\n\nexport type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {\n lang?: string;\n params?: Record<string, any>;\n onRequest?: (payload: StagePayload) => any;\n onResponse?: (res: StageData) => void;\n};\n\nconst locales = {\n 'zh-CN': {\n create: '创建',\n update: '保存',\n create_title: '创建',\n update_title: '更新',\n create_success: '创建成功',\n update_success: '更新成功',\n },\n 'en-US': {\n create: 'Create',\n update: 'Save',\n create_title: 'Create',\n update_title: 'Update',\n create_success: 'Create success',\n update_success: 'Update success',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {\n const { name, params, lang, onRequest, onResponse, ...rest } = {\n ...defaultProps,\n ...props,\n };\n\n const resourceEdit = `${name}_update`;\n const resourceCreate = `${name}_create`;\n const resourceShow = `${name}_show`;\n const [form] = Form.useForm();\n const isEdit = Boolean(params?.id);\n const t = (key: string) => locales[lang!][key];\n const [loading, setLoading] = useState(false);\n const handleStateRequest = (stagePayload: StagePayload) => {\n setLoading(true);\n return onRequest?.(stagePayload) || stagePayload.payload;\n };\n const handleStateResponse = (res: StageData) => {\n onResponse?.(res);\n setLoading(false);\n };\n\n const handleFinish = (values) => {\n if (isEdit) {\n const payload = { id: params!.id, ...values };\n const _payload = handleStateRequest({ stage: 'update', payload });\n\n nx.$api[resourceEdit](_payload)\n .then((res) => {\n message.success(t('update_success'));\n handleStateResponse({ stage: 'update', data: res });\n })\n .finally(() => setLoading(false));\n } else {\n const payload = { ...values };\n const _payload = handleStateRequest({ stage: 'create', payload });\n\n nx.$api[resourceCreate](_payload)\n .then((res) => {\n message.success(t('create_success'));\n handleStateResponse({ stage: 'create', data: res });\n })\n .finally(() => setLoading(false));\n }\n };\n\n // init detail\n useEffect(() => {\n if (isEdit) {\n const payload = { id: params!.id };\n const _payload = handleStateRequest({ stage: 'show', payload });\n nx.$api[resourceShow](_payload)\n .then((res) => {\n form.setFieldsValue(res);\n handleStateResponse({ stage: 'show', data: res });\n })\n .finally(() => setLoading(false));\n }\n }, [isEdit, params?.id]);\n\n const okText = isEdit ? t('update') : t('create');\n const title = isEdit ? t('update_title') : t('create_title');\n\n return (\n <ReactAntResourceForm\n loading={loading}\n form={form}\n onFinish={handleFinish}\n okText={okText}\n title={title}\n {...rest}\n />\n );\n};\n\nexport default ReactAntResourceFormApi;\n"],"mappings":"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","names":["cx","React","Button","Card","Space","ReactAntdFormSchema","ArrowLeftOutlined","SaveOutlined","CLASS_NAME","locales","submit","back","defaultProps","lang","ReactAntResourceForm","__name","props","_a","__spreadValues","className","meta","children","title","loading","extra","size","okText","backText","okProps","backProps","rest","t","key","handleBack","history","_extra","React","Button","icon","ArrowLeftOutlined","onClick","_children","Space","htmlType","type","SaveOutlined","Card","data-component","cx","ReactAntdFormSchema","index_default","React","useEffect","useState","Form","message","nx","locales","create","update","create_title","update_title","create_success","update_success","defaultProps","lang","ReactAntResourceFormApi","__name","props","_a","__spreadValues","name","params","onRequest","onResponse","rest","resourceEdit","resourceCreate","resourceShow","form","Form","useForm","isEdit","Boolean","id","t","key","loading","setLoading","useState","handleStateRequest","stagePayload","payload","handleStateResponse","res","handleFinish","values","_payload","stage","nx","$api","then","message","success","data","finally","useEffect","setFieldsValue","okText","title","React","ReactAntResourceForm","onFinish","api_default"]}
1
+ {"version":3,"sources":["../src/index.tsx","../src/api.tsx"],"sourcesContent":["// import noop from '@jswork/noop';\nimport cx from 'classnames';\nimport React, { FC } from 'react';\nimport { Button, ButtonProps, Card, CardProps, Space } from 'antd';\nimport ReactAntdFormSchema, { ReactAntdFormSchemaProps } from '@jswork/react-ant-form-schema';\nimport { ArrowLeftOutlined, SaveOutlined } from '@ant-design/icons';\n\nexport type ReactAntResourceFormProps = {\n lang?: string;\n loading?: boolean;\n okText?: string;\n backText?: string;\n okProps?: ButtonProps;\n backProps?: ButtonProps;\n size?: CardProps['size'];\n extra?: CardProps['extra'];\n title?: CardProps['title'];\n} & ReactAntdFormSchemaProps;\n\nconst CLASS_NAME = 'react-ant-resource-form';\nconst locales = {\n 'zh-CN': {\n submit: '提交',\n back: '返回',\n },\n 'en-US': {\n submit: 'Submit',\n back: 'Back',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceForm: FC<ReactAntResourceFormProps> = (props) => {\n const {\n className,\n meta,\n children,\n lang,\n title,\n loading,\n extra,\n size,\n okText,\n backText,\n okProps,\n backProps,\n ...rest\n } = {\n ...defaultProps,\n ...props,\n };\n const t = (key: string) => locales[lang][key];\n const handleBack = () => history.back();\n const _extra = extra || (\n <Button size=\"small\" icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n );\n const _children = children || (\n <Space>\n <Button htmlType=\"submit\" type=\"primary\" icon={<SaveOutlined />} {...okProps}>\n {okText || t('submit')}\n </Button>\n <Button icon={<ArrowLeftOutlined />} onClick={handleBack} {...backProps}>\n {backText || t('back')}\n </Button>\n </Space>\n );\n\n return (\n <Card\n title={title}\n size={size}\n loading={loading}\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n extra={_extra}>\n <ReactAntdFormSchema meta={meta} {...rest}>\n {_children}\n </ReactAntdFormSchema>\n </Card>\n );\n};\n\nexport default ReactAntResourceForm;\n","import React, { FC, useEffect, useState } from 'react';\nimport ReactAntResourceForm, { ReactAntResourceFormProps } from '.';\nimport { Form, message } from 'antd';\nimport nx from '@jswork/next';\n\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\n\ntype StagePayload = {\n stage: 'show' | 'create' | 'update';\n payload: any;\n};\n\ntype StageData = {\n stage: 'show' | 'create' | 'update';\n data: any;\n};\n\nexport type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {\n lang?: string;\n params?: Record<string, any>;\n transformRequest?: (payload: StagePayload) => any;\n transformResponse?: (res: StageData) => any;\n};\n\nconst locales = {\n 'zh-CN': {\n create: '创建',\n update: '保存',\n create_title: '创建',\n update_title: '更新',\n create_success: '创建成功',\n update_success: '更新成功',\n },\n 'en-US': {\n create: 'Create',\n update: 'Save',\n create_title: 'Create',\n update_title: 'Update',\n create_success: 'Create success',\n update_success: 'Update success',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n};\n\nconst ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {\n const { name, params, lang, transformRequest, transformResponse, ...rest } = {\n ...defaultProps,\n ...props,\n };\n\n const resourceEdit = `${name}_update`;\n const resourceCreate = `${name}_create`;\n const resourceShow = `${name}_show`;\n const [form] = Form.useForm();\n const isEdit = Boolean(params?.id);\n const t = (key: string) => locales[lang!][key];\n const [loading, setLoading] = useState(false);\n const handleStateRequest = (stagePayload: StagePayload) => {\n setLoading(true);\n return transformRequest?.(stagePayload) || stagePayload.payload;\n };\n const handleStateResponse = (res: StageData) => {\n setLoading(false);\n return transformResponse?.(res) || res.data;\n };\n\n const handleFinish = (values) => {\n if (isEdit) {\n const payload = { id: params!.id, ...values };\n const _payload = handleStateRequest({ stage: 'update', payload });\n\n nx.$api[resourceEdit](_payload)\n .then((res) => {\n message.success(t('update_success'));\n handleStateResponse({ stage: 'update', data: res });\n })\n .finally(() => setLoading(false));\n } else {\n const payload = { ...values };\n const _payload = handleStateRequest({ stage: 'create', payload });\n\n nx.$api[resourceCreate](_payload)\n .then((res) => {\n message.success(t('create_success'));\n handleStateResponse({ stage: 'create', data: res });\n })\n .finally(() => setLoading(false));\n }\n };\n\n // init detail\n useEffect(() => {\n if (isEdit) {\n const payload = { id: params!.id };\n const _payload = handleStateRequest({ stage: 'show', payload });\n nx.$api[resourceShow](_payload)\n .then((res) => {\n const data = handleStateResponse({ stage: 'show', data: res });\n form.setFieldsValue(data);\n })\n .finally(() => setLoading(false));\n }\n }, [isEdit, params?.id]);\n\n const okText = isEdit ? t('update') : t('create');\n const title = isEdit ? t('update_title') : t('create_title');\n\n return (\n <ReactAntResourceForm\n loading={loading}\n form={form}\n onFinish={handleFinish}\n okText={okText}\n title={title}\n {...rest}\n />\n );\n};\n\nexport default ReactAntResourceFormApi;\n"],"mappings":"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","names":["cx","React","Button","Card","Space","ReactAntdFormSchema","ArrowLeftOutlined","SaveOutlined","CLASS_NAME","locales","submit","back","defaultProps","lang","ReactAntResourceForm","__name","props","_a","__spreadValues","className","meta","children","title","loading","extra","size","okText","backText","okProps","backProps","rest","t","key","handleBack","history","_extra","React","Button","icon","ArrowLeftOutlined","onClick","_children","Space","htmlType","type","SaveOutlined","Card","data-component","cx","ReactAntdFormSchema","index_default","React","useEffect","useState","Form","message","nx","locales","create","update","create_title","update_title","create_success","update_success","defaultProps","lang","ReactAntResourceFormApi","__name","props","_a","__spreadValues","name","params","transformRequest","transformResponse","rest","resourceEdit","resourceCreate","resourceShow","form","Form","useForm","isEdit","Boolean","id","t","key","loading","setLoading","useState","handleStateRequest","stagePayload","payload","handleStateResponse","res","data","handleFinish","values","_payload","stage","nx","$api","then","message","success","finally","useEffect","setFieldsValue","okText","title","React","ReactAntResourceForm","onFinish","api_default"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jswork/react-ant-resource-form",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "main": "dist/main.cjs.js",
5
5
  "module": "dist/main.esm.js",
6
6
  "types": "dist/main.d.ts",
package/src/api.tsx CHANGED
@@ -22,8 +22,8 @@ type StageData = {
22
22
  export type ReactAntResourceFormApiProps = ReactAntResourceFormProps & {
23
23
  lang?: string;
24
24
  params?: Record<string, any>;
25
- onRequest?: (payload: StagePayload) => any;
26
- onResponse?: (res: StageData) => void;
25
+ transformRequest?: (payload: StagePayload) => any;
26
+ transformResponse?: (res: StageData) => any;
27
27
  };
28
28
 
29
29
  const locales = {
@@ -50,7 +50,7 @@ const defaultProps = {
50
50
  };
51
51
 
52
52
  const ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {
53
- const { name, params, lang, onRequest, onResponse, ...rest } = {
53
+ const { name, params, lang, transformRequest, transformResponse, ...rest } = {
54
54
  ...defaultProps,
55
55
  ...props,
56
56
  };
@@ -64,11 +64,11 @@ const ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {
64
64
  const [loading, setLoading] = useState(false);
65
65
  const handleStateRequest = (stagePayload: StagePayload) => {
66
66
  setLoading(true);
67
- return onRequest?.(stagePayload) || stagePayload.payload;
67
+ return transformRequest?.(stagePayload) || stagePayload.payload;
68
68
  };
69
69
  const handleStateResponse = (res: StageData) => {
70
- onResponse?.(res);
71
70
  setLoading(false);
71
+ return transformResponse?.(res) || res.data;
72
72
  };
73
73
 
74
74
  const handleFinish = (values) => {
@@ -102,8 +102,8 @@ const ReactAntResourceFormApi: FC<ReactAntResourceFormApiProps> = (props) => {
102
102
  const _payload = handleStateRequest({ stage: 'show', payload });
103
103
  nx.$api[resourceShow](_payload)
104
104
  .then((res) => {
105
- form.setFieldsValue(res);
106
- handleStateResponse({ stage: 'show', data: res });
105
+ const data = handleStateResponse({ stage: 'show', data: res });
106
+ form.setFieldsValue(data);
107
107
  })
108
108
  .finally(() => setLoading(false));
109
109
  }