mui-custom-form 1.1.3 → 1.1.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/CustomForm.js +16 -1
- package/package.json +1 -1
package/dist/CustomForm.js
CHANGED
|
@@ -135,8 +135,23 @@ var CustomForm = function (_a) {
|
|
|
135
135
|
};
|
|
136
136
|
var submitButtonProps = submitButton && submitButton !== true ? submitButton : {};
|
|
137
137
|
var resetButtonProps = resetButton && resetButton !== true ? resetButton : {};
|
|
138
|
+
// Function to calculate spans dynamically
|
|
139
|
+
var calculateSpan = function (fields) {
|
|
140
|
+
var totalDefinedSpan = fields.reduce(function (acc, field) { return acc + (field.span || 0); }, 0);
|
|
141
|
+
var autoSpanFields = fields.filter(function (field) { return !field.span; }).length;
|
|
142
|
+
var remainingSpan = 12 - totalDefinedSpan;
|
|
143
|
+
var calculatedSpan = autoSpanFields > 0 ? Math.floor(remainingSpan / autoSpanFields) : 12;
|
|
144
|
+
return { calculatedSpan: calculatedSpan, autoSpanFields: autoSpanFields };
|
|
145
|
+
};
|
|
138
146
|
return (react_1.default.createElement(material_1.Stack, __assign({ component: "form", onSubmit: formControl.handleSubmit(onSubmit[0], onSubmit[1]), noValidate: true, direction: layout }, otherProps, { spacing: 3 }),
|
|
139
|
-
fieldsGroups.map(function (fields, rowIndex) {
|
|
147
|
+
fieldsGroups.map(function (fields, rowIndex) {
|
|
148
|
+
var _a = calculateSpan(fields), calculatedSpan = _a.calculatedSpan, autoSpanFields = _a.autoSpanFields;
|
|
149
|
+
return (react_1.default.createElement(material_1.Grid2, { container: true, key: rowIndex, spacing: 2, className: "debug" }, fields.map(function (field, fieldIndex) { return (react_1.default.createElement(material_1.Grid2, { key: fieldIndex, size: field.span
|
|
150
|
+
? field.span
|
|
151
|
+
: autoSpanFields > 0
|
|
152
|
+
? calculatedSpan
|
|
153
|
+
: 12 }, renderField(field))); })));
|
|
154
|
+
}),
|
|
140
155
|
react_1.default.createElement(material_1.Stack, { direction: "row", justifyContent: actionButtonsPlacement || "flex-end", spacing: 2 },
|
|
141
156
|
resetButton && (react_1.default.createElement(material_1.Button, __assign({ type: "reset", variant: "contained", onClick: function () { return reset(); } }, resetButtonProps), "Reset")),
|
|
142
157
|
submitButton && (react_1.default.createElement(material_1.Button, __assign({ type: "submit", variant: "contained" }, submitButtonProps), "Submit")))));
|
package/package.json
CHANGED