@flowgram.ai/form 0.2.28 → 0.2.30
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/esm/index.js +16 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -165,6 +165,7 @@ declare class FieldModel<TValue extends FieldValue = FieldValue> implements Disp
|
|
|
165
165
|
updateState(s: Partial<FieldModel>): void;
|
|
166
166
|
dispose(): void;
|
|
167
167
|
onDispose(fn: () => void): void;
|
|
168
|
+
get disposed(): boolean;
|
|
168
169
|
}
|
|
169
170
|
|
|
170
171
|
declare class FieldArrayModel<TValue = FieldValue> extends FieldModel<Array<TValue>> {
|
package/dist/index.js
CHANGED
|
@@ -606,6 +606,11 @@ function Field({
|
|
|
606
606
|
const formState = toFormState(formModelState);
|
|
607
607
|
const refresh = (0, import_utils4.useRefresh)();
|
|
608
608
|
React2.useEffect(() => {
|
|
609
|
+
if (fieldModel.disposed) {
|
|
610
|
+
refresh();
|
|
611
|
+
return () => {
|
|
612
|
+
};
|
|
613
|
+
}
|
|
609
614
|
fieldModel.renderCount = fieldModel.renderCount + 1;
|
|
610
615
|
if (!formModel.getValueIn(name) !== void 0 && defaultValue !== void 0) {
|
|
611
616
|
formModel.setInitValueIn(name, defaultValue);
|
|
@@ -646,6 +651,7 @@ function Field({
|
|
|
646
651
|
}
|
|
647
652
|
return React2.cloneElement(children, { ...field });
|
|
648
653
|
};
|
|
654
|
+
if (fieldModel.disposed) return /* @__PURE__ */ React2.createElement(React2.Fragment, null);
|
|
649
655
|
return /* @__PURE__ */ React2.createElement(FieldModelContext.Provider, { value: fieldModel }, renderInner());
|
|
650
656
|
}
|
|
651
657
|
|
|
@@ -1010,6 +1016,9 @@ var FieldModel = class {
|
|
|
1010
1016
|
onDispose(fn) {
|
|
1011
1017
|
this.toDispose.onDispose(fn);
|
|
1012
1018
|
}
|
|
1019
|
+
get disposed() {
|
|
1020
|
+
return this.toDispose.disposed;
|
|
1021
|
+
}
|
|
1013
1022
|
};
|
|
1014
1023
|
|
|
1015
1024
|
// src/core/field-array-model.ts
|
|
@@ -1585,10 +1594,7 @@ function FieldArray({
|
|
|
1585
1594
|
children
|
|
1586
1595
|
}) {
|
|
1587
1596
|
const formModel = useFormModel();
|
|
1588
|
-
const fieldModel =
|
|
1589
|
-
() => formModel.getField(name) || formModel.createFieldArray(name),
|
|
1590
|
-
[name]
|
|
1591
|
-
);
|
|
1597
|
+
const fieldModel = formModel.getField(name) || formModel.createFieldArray(name);
|
|
1592
1598
|
const field = React4.useMemo(() => toFieldArray(fieldModel), [fieldModel]);
|
|
1593
1599
|
const refresh = (0, import_utils16.useRefresh)();
|
|
1594
1600
|
const fieldModelState = (0, import_reactive4.useReadonlyReactiveState)(fieldModel.reactiveState);
|
|
@@ -1596,6 +1602,11 @@ function FieldArray({
|
|
|
1596
1602
|
const fieldState = toFieldState(fieldModelState);
|
|
1597
1603
|
const formState = React4.useMemo(() => toFormState(formModelState), [formModelState]);
|
|
1598
1604
|
React4.useEffect(() => {
|
|
1605
|
+
if (fieldModel.disposed) {
|
|
1606
|
+
refresh();
|
|
1607
|
+
return () => {
|
|
1608
|
+
};
|
|
1609
|
+
}
|
|
1599
1610
|
fieldModel.renderCount = fieldModel.renderCount + 1;
|
|
1600
1611
|
if (!formModel.getValueIn(name) !== void 0 && defaultValue !== void 0) {
|
|
1601
1612
|
formModel.setInitValueIn(name, defaultValue);
|
|
@@ -1636,6 +1647,7 @@ function FieldArray({
|
|
|
1636
1647
|
}
|
|
1637
1648
|
return /* @__PURE__ */ React4.createElement(React4.Fragment, null, "Invalid Array render");
|
|
1638
1649
|
};
|
|
1650
|
+
if (fieldModel.disposed) return /* @__PURE__ */ React4.createElement(React4.Fragment, null);
|
|
1639
1651
|
return /* @__PURE__ */ React4.createElement(FieldModelContext.Provider, { value: fieldModel }, renderInner());
|
|
1640
1652
|
}
|
|
1641
1653
|
|