@plasmicpkgs/antd5 0.0.190 → 0.0.192
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/.tsbuildinfo +1 -1
- package/dist/antd.esm.js +49 -5
- package/dist/antd.esm.js.map +1 -1
- package/dist/form/Form.d.ts +2 -0
- package/dist/index.js +49 -5
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/skinny/Form.cjs.js +25 -5
- package/skinny/Form.cjs.js.map +1 -1
- package/skinny/Form.esm.js +25 -5
- package/skinny/Form.esm.js.map +1 -1
- package/skinny/registerForm.cjs.js +24 -0
- package/skinny/registerForm.cjs.js.map +1 -1
- package/skinny/registerForm.esm.js +24 -0
- package/skinny/registerForm.esm.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/antd5",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.192",
|
|
4
4
|
"description": "Plasmic registration calls for antd components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"@babel/preset-env": "^7.22.15",
|
|
66
66
|
"@babel/preset-react": "^7.22.15",
|
|
67
67
|
"@babel/preset-typescript": "^7.22.15",
|
|
68
|
-
"@plasmicapp/data-sources": "0.1.
|
|
69
|
-
"@plasmicapp/host": "1.0.
|
|
68
|
+
"@plasmicapp/data-sources": "0.1.141",
|
|
69
|
+
"@plasmicapp/host": "1.0.183",
|
|
70
70
|
"@plasmicapp/query": "0.1.77",
|
|
71
|
-
"@plasmicapp/react-web": "0.2.
|
|
71
|
+
"@plasmicapp/react-web": "0.2.303",
|
|
72
72
|
"@rollup/plugin-commonjs": "^11.0.0",
|
|
73
73
|
"@rollup/plugin-json": "^4.0.0",
|
|
74
74
|
"@rollup/plugin-node-resolve": "^9.0.0",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"publishConfig": {
|
|
109
109
|
"access": "public"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "8b5ec9f794c1681f0a518925abcb3fcc723fc69a"
|
|
112
112
|
}
|
package/skinny/Form.cjs.js
CHANGED
|
@@ -68,6 +68,7 @@ var FormType = /* @__PURE__ */ ((FormType2) => {
|
|
|
68
68
|
const Internal = React__default.default.forwardRef(
|
|
69
69
|
(props, ref) => {
|
|
70
70
|
var _b, _c, _d, _e;
|
|
71
|
+
const [isSubmitting, setIsSubmitting] = React__default.default.useState(false);
|
|
71
72
|
const [form] = antd.Form.useForm();
|
|
72
73
|
const values = form.getFieldsValue(true);
|
|
73
74
|
const lastValue = React__default.default.useRef(values);
|
|
@@ -76,13 +77,15 @@ const Internal = React__default.default.forwardRef(
|
|
|
76
77
|
forceRemount,
|
|
77
78
|
formLayout,
|
|
78
79
|
internalFieldCtx,
|
|
79
|
-
setInternalFieldCtx
|
|
80
|
+
setInternalFieldCtx,
|
|
81
|
+
autoDisableWhileSubmitting = true
|
|
80
82
|
} = _a, rest = __objRest(_a, [
|
|
81
83
|
"extendedOnValuesChange",
|
|
82
84
|
"forceRemount",
|
|
83
85
|
"formLayout",
|
|
84
86
|
"internalFieldCtx",
|
|
85
|
-
"setInternalFieldCtx"
|
|
87
|
+
"setInternalFieldCtx",
|
|
88
|
+
"autoDisableWhileSubmitting"
|
|
86
89
|
]);
|
|
87
90
|
const childrenNode = typeof props.children === "function" ? props.children(values, form) : props.children;
|
|
88
91
|
const fireOnValuesChange = React__default.default.useCallback(() => {
|
|
@@ -151,6 +154,14 @@ const Internal = React__default.default.forwardRef(
|
|
|
151
154
|
layout: formLayout,
|
|
152
155
|
internalFieldCtx
|
|
153
156
|
}, schemaFormCtx ? schemaFormCtx : {}));
|
|
157
|
+
const updateIsSubmitting = React__default.default.useCallback(
|
|
158
|
+
(newValue) => {
|
|
159
|
+
var _a2;
|
|
160
|
+
setIsSubmitting(newValue);
|
|
161
|
+
(_a2 = props.onIsSubmittingChange) == null ? void 0 : _a2.call(props, newValue);
|
|
162
|
+
},
|
|
163
|
+
[props.onIsSubmittingChange, setIsSubmitting]
|
|
164
|
+
);
|
|
154
165
|
return /* @__PURE__ */ React__default.default.createElement(
|
|
155
166
|
contexts.InternalFormInstanceContext.Provider,
|
|
156
167
|
{
|
|
@@ -172,9 +183,13 @@ const Internal = React__default.default.forwardRef(
|
|
|
172
183
|
(_a2 = props.onValuesChange) == null ? void 0 : _a2.call(props, ...args);
|
|
173
184
|
extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
|
|
174
185
|
},
|
|
175
|
-
onFinish: () => {
|
|
186
|
+
onFinish: async () => {
|
|
176
187
|
var _a2;
|
|
177
|
-
(
|
|
188
|
+
if (isSubmitting && autoDisableWhileSubmitting) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
updateIsSubmitting(true);
|
|
192
|
+
const submission = (_a2 = props.onFinish) == null ? void 0 : _a2.call(
|
|
178
193
|
props,
|
|
179
194
|
utils.pick(
|
|
180
195
|
form.getFieldsValue(true),
|
|
@@ -183,10 +198,15 @@ const Internal = React__default.default.forwardRef(
|
|
|
183
198
|
)
|
|
184
199
|
)
|
|
185
200
|
);
|
|
201
|
+
if (typeof submission === "object" && typeof submission.then === "function") {
|
|
202
|
+
await submission;
|
|
203
|
+
}
|
|
204
|
+
updateIsSubmitting(false);
|
|
186
205
|
},
|
|
187
206
|
form,
|
|
188
207
|
labelCol: ((_d = props.labelCol) == null ? void 0 : _d.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.labelCol,
|
|
189
|
-
wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol
|
|
208
|
+
wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol,
|
|
209
|
+
disabled: isSubmitting && autoDisableWhileSubmitting
|
|
190
210
|
}),
|
|
191
211
|
/* @__PURE__ */ React__default.default.createElement("style", null, `
|
|
192
212
|
.ant-form-item-explain + div, .ant-form-item-margin-offset {
|
package/skinny/Form.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.cjs.js","sources":["../src/form/Form.tsx"],"sourcesContent":["import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n}\n\nconst Internal = React.forwardRef(\n (\n props: FormWrapperProps & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={() => {\n props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n"],"names":["InputType","React","FormType","Form","values","equal","setFieldsToUndefined","InternalFormInstanceContext","FormLayoutContext","_a","pick","usePrevious"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.cjs.js","sources":["../src/form/Form.tsx"],"sourcesContent":["import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n autoDisableWhileSubmitting?: boolean;\n onIsSubmittingChange?: (isSubmitting: boolean) => void;\n}\n\nconst Internal = React.forwardRef(\n (\n props: Omit<FormWrapperProps, \"onFinish\"> & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n onFinish?:\n | FormProps[\"onFinish\"]\n | ((\n ...args: Parameters<NonNullable<FormProps[\"onFinish\"]>>\n ) => Promise<ReturnType<NonNullable<FormProps[\"onFinish\"]>>>);\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [isSubmitting, setIsSubmitting] = React.useState(false);\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n autoDisableWhileSubmitting = true,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n const updateIsSubmitting = React.useCallback(\n (newValue: boolean) => {\n setIsSubmitting(newValue);\n props.onIsSubmittingChange?.(newValue);\n },\n [props.onIsSubmittingChange, setIsSubmitting]\n );\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={async () => {\n if (isSubmitting && autoDisableWhileSubmitting) {\n return;\n }\n updateIsSubmitting(true);\n const submission = props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n if (\n typeof submission === \"object\" &&\n typeof submission.then === \"function\"\n ) {\n await submission;\n }\n updateIsSubmitting(false);\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n disabled={isSubmitting && autoDisableWhileSubmitting}\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n"],"names":["InputType","React","FormType","Form","values","equal","setFieldsToUndefined","_a","InternalFormInstanceContext","FormLayoutContext","pick","usePrevious"],"mappings":"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"}
|
package/skinny/Form.esm.js
CHANGED
|
@@ -61,6 +61,7 @@ var FormType = /* @__PURE__ */ ((FormType2) => {
|
|
|
61
61
|
const Internal = React.forwardRef(
|
|
62
62
|
(props, ref) => {
|
|
63
63
|
var _b, _c, _d, _e;
|
|
64
|
+
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
64
65
|
const [form] = Form.useForm();
|
|
65
66
|
const values = form.getFieldsValue(true);
|
|
66
67
|
const lastValue = React.useRef(values);
|
|
@@ -69,13 +70,15 @@ const Internal = React.forwardRef(
|
|
|
69
70
|
forceRemount,
|
|
70
71
|
formLayout,
|
|
71
72
|
internalFieldCtx,
|
|
72
|
-
setInternalFieldCtx
|
|
73
|
+
setInternalFieldCtx,
|
|
74
|
+
autoDisableWhileSubmitting = true
|
|
73
75
|
} = _a, rest = __objRest(_a, [
|
|
74
76
|
"extendedOnValuesChange",
|
|
75
77
|
"forceRemount",
|
|
76
78
|
"formLayout",
|
|
77
79
|
"internalFieldCtx",
|
|
78
|
-
"setInternalFieldCtx"
|
|
80
|
+
"setInternalFieldCtx",
|
|
81
|
+
"autoDisableWhileSubmitting"
|
|
79
82
|
]);
|
|
80
83
|
const childrenNode = typeof props.children === "function" ? props.children(values, form) : props.children;
|
|
81
84
|
const fireOnValuesChange = React.useCallback(() => {
|
|
@@ -144,6 +147,14 @@ const Internal = React.forwardRef(
|
|
|
144
147
|
layout: formLayout,
|
|
145
148
|
internalFieldCtx
|
|
146
149
|
}, schemaFormCtx ? schemaFormCtx : {}));
|
|
150
|
+
const updateIsSubmitting = React.useCallback(
|
|
151
|
+
(newValue) => {
|
|
152
|
+
var _a2;
|
|
153
|
+
setIsSubmitting(newValue);
|
|
154
|
+
(_a2 = props.onIsSubmittingChange) == null ? void 0 : _a2.call(props, newValue);
|
|
155
|
+
},
|
|
156
|
+
[props.onIsSubmittingChange, setIsSubmitting]
|
|
157
|
+
);
|
|
147
158
|
return /* @__PURE__ */ React.createElement(
|
|
148
159
|
InternalFormInstanceContext.Provider,
|
|
149
160
|
{
|
|
@@ -165,9 +176,13 @@ const Internal = React.forwardRef(
|
|
|
165
176
|
(_a2 = props.onValuesChange) == null ? void 0 : _a2.call(props, ...args);
|
|
166
177
|
extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
|
|
167
178
|
},
|
|
168
|
-
onFinish: () => {
|
|
179
|
+
onFinish: async () => {
|
|
169
180
|
var _a2;
|
|
170
|
-
(
|
|
181
|
+
if (isSubmitting && autoDisableWhileSubmitting) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
updateIsSubmitting(true);
|
|
185
|
+
const submission = (_a2 = props.onFinish) == null ? void 0 : _a2.call(
|
|
171
186
|
props,
|
|
172
187
|
pick(
|
|
173
188
|
form.getFieldsValue(true),
|
|
@@ -176,10 +191,15 @@ const Internal = React.forwardRef(
|
|
|
176
191
|
)
|
|
177
192
|
)
|
|
178
193
|
);
|
|
194
|
+
if (typeof submission === "object" && typeof submission.then === "function") {
|
|
195
|
+
await submission;
|
|
196
|
+
}
|
|
197
|
+
updateIsSubmitting(false);
|
|
179
198
|
},
|
|
180
199
|
form,
|
|
181
200
|
labelCol: ((_d = props.labelCol) == null ? void 0 : _d.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.labelCol,
|
|
182
|
-
wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol
|
|
201
|
+
wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol,
|
|
202
|
+
disabled: isSubmitting && autoDisableWhileSubmitting
|
|
183
203
|
}),
|
|
184
204
|
/* @__PURE__ */ React.createElement("style", null, `
|
|
185
205
|
.ant-form-item-explain + div, .ant-form-item-margin-offset {
|
package/skinny/Form.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.esm.js","sources":["../src/form/Form.tsx"],"sourcesContent":["import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n}\n\nconst Internal = React.forwardRef(\n (\n props: FormWrapperProps & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={() => {\n props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n"],"names":["InputType","FormType","values","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.esm.js","sources":["../src/form/Form.tsx"],"sourcesContent":["import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n autoDisableWhileSubmitting?: boolean;\n onIsSubmittingChange?: (isSubmitting: boolean) => void;\n}\n\nconst Internal = React.forwardRef(\n (\n props: Omit<FormWrapperProps, \"onFinish\"> & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n onFinish?:\n | FormProps[\"onFinish\"]\n | ((\n ...args: Parameters<NonNullable<FormProps[\"onFinish\"]>>\n ) => Promise<ReturnType<NonNullable<FormProps[\"onFinish\"]>>>);\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [isSubmitting, setIsSubmitting] = React.useState(false);\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n autoDisableWhileSubmitting = true,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n const updateIsSubmitting = React.useCallback(\n (newValue: boolean) => {\n setIsSubmitting(newValue);\n props.onIsSubmittingChange?.(newValue);\n },\n [props.onIsSubmittingChange, setIsSubmitting]\n );\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={async () => {\n if (isSubmitting && autoDisableWhileSubmitting) {\n return;\n }\n updateIsSubmitting(true);\n const submission = props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n if (\n typeof submission === \"object\" &&\n typeof submission.then === \"function\"\n ) {\n await submission;\n }\n updateIsSubmitting(false);\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n disabled={isSubmitting && autoDisableWhileSubmitting}\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n"],"names":["InputType","FormType","values","_a"],"mappings":"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"}
|
|
@@ -683,6 +683,24 @@ function registerForm(loader) {
|
|
|
683
683
|
multiSelect: true,
|
|
684
684
|
defaultValueHint: ["onChange"],
|
|
685
685
|
advanced: true
|
|
686
|
+
},
|
|
687
|
+
autoDisableWhileSubmitting: {
|
|
688
|
+
displayName: "Auto disable while submitting",
|
|
689
|
+
type: "boolean",
|
|
690
|
+
defaultValueHint: true,
|
|
691
|
+
advanced: true,
|
|
692
|
+
description: "When disabled, it allows the creation of new submissions even while existing submissions are in progress."
|
|
693
|
+
},
|
|
694
|
+
onIsSubmittingChange: {
|
|
695
|
+
type: "eventHandler",
|
|
696
|
+
displayName: "On Is Submitting Change",
|
|
697
|
+
argTypes: [
|
|
698
|
+
{
|
|
699
|
+
name: "isSubmitting",
|
|
700
|
+
type: "boolean"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
advanced: true
|
|
686
704
|
}
|
|
687
705
|
},
|
|
688
706
|
actions: [
|
|
@@ -697,6 +715,12 @@ function registerForm(loader) {
|
|
|
697
715
|
type: "readonly",
|
|
698
716
|
variableType: "object",
|
|
699
717
|
onChangeProp: "extendedOnValuesChange"
|
|
718
|
+
},
|
|
719
|
+
isSubmitting: {
|
|
720
|
+
type: "readonly",
|
|
721
|
+
variableType: "boolean",
|
|
722
|
+
onChangeProp: "onIsSubmittingChange",
|
|
723
|
+
initVal: false
|
|
700
724
|
}
|
|
701
725
|
},
|
|
702
726
|
componentHelpers: {
|