drf-react-by-schema 0.14.0 → 0.14.1
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/components/forms/FieldBySchema.js +2 -2
- package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/BooleanFieldBySchema.js +7 -2
- package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +3 -3
- package/dist/utils.d.ts +1 -0
- package/package.json +1 -1
|
@@ -49,7 +49,7 @@ function FieldBySchema(_a) {
|
|
|
49
49
|
case 'choice':
|
|
50
50
|
return (react_1.default.createElement(AutocompleteFieldBySchema_1.default, { index: index, name: name, schema: schema, control: control, errors: errors, fieldKey: fieldKey, optionIdKey: "value", optionLabelKey: "display_name", options: options, isSemaphoric: isSemaphoric, label: label, sx: sx }));
|
|
51
51
|
case 'boolean':
|
|
52
|
-
return (react_1.default.createElement(BooleanFieldBySchema_1.default, Object.assign({ name: name, schema: schema, control: control, errors: errors, fieldKey: fieldKey, index: index, sx: sx }, other)));
|
|
52
|
+
return (react_1.default.createElement(BooleanFieldBySchema_1.default, Object.assign({ name: name, schema: schema, control: control, errors: errors, fieldKey: fieldKey, index: index, sx: sx, onValueChange: onValueChange }, other)));
|
|
53
53
|
case 'decimal':
|
|
54
54
|
case 'float':
|
|
55
55
|
return (react_1.default.createElement(FloatFieldBySchema_1.default, Object.assign({ name: name, schema: schema, control: control, errors: errors, multiline: multiline, fieldKey: fieldKey, index: index, onValueChange: onValueChange, decimalScale: decimalScale, label: label, sx: sx }, other)));
|
|
@@ -57,7 +57,7 @@ function FieldBySchema(_a) {
|
|
|
57
57
|
case 'integer':
|
|
58
58
|
case 'password':
|
|
59
59
|
default:
|
|
60
|
-
const localMultiline = schema[name].model_multiline === true;
|
|
60
|
+
const localMultiline = schema[name].model_multiline === true || multiline;
|
|
61
61
|
const minRows = localMultiline ? 3 : 0;
|
|
62
62
|
return (react_1.default.createElement(TextFieldBySchema_1.default, Object.assign({ name: name, schema: schema, control: control, errors: errors, multiline: localMultiline, minRows: minRows, fieldKey: fieldKey, index: index, sx: sx, isPassword: schema[name].type === 'password' }, other)));
|
|
63
63
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FieldBySchemaProps } from '../../../utils';
|
|
3
|
-
export default function BooleanFieldBySchema({ name, schema, control, errors, fieldKey, index, sx, ...other }: FieldBySchemaProps): JSX.Element;
|
|
3
|
+
export default function BooleanFieldBySchema({ name, schema, control, errors, fieldKey, index, sx, onValueChange, ...other }: FieldBySchemaProps): JSX.Element;
|
|
@@ -19,7 +19,7 @@ const react_hook_form_1 = require("react-hook-form");
|
|
|
19
19
|
const Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
|
|
20
20
|
const FormControlLabel_1 = __importDefault(require("@mui/material/FormControlLabel"));
|
|
21
21
|
function BooleanFieldBySchema(_a) {
|
|
22
|
-
var { name, schema, control, errors, fieldKey, index, sx = { mr: 2 } } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx"]);
|
|
22
|
+
var { name, schema, control, errors, fieldKey, index, sx = { mr: 2 }, onValueChange } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx", "onValueChange"]);
|
|
23
23
|
const model = name;
|
|
24
24
|
if (fieldKey && index && index >= 0) {
|
|
25
25
|
name = `${fieldKey}.${index}.${name}`;
|
|
@@ -36,6 +36,11 @@ function BooleanFieldBySchema(_a) {
|
|
|
36
36
|
// error: errors && Boolean(errors[name]),
|
|
37
37
|
// helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
|
|
38
38
|
// };
|
|
39
|
-
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(FormControlLabel_1.default, { control: react_1.default.createElement(Checkbox_1.default, Object.assign({}, field, other, { value: field.value || false, checked: field.value || false, inputProps: { 'aria-label': 'controlled' }
|
|
39
|
+
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(FormControlLabel_1.default, { control: react_1.default.createElement(Checkbox_1.default, Object.assign({}, field, other, { value: field.value || false, checked: field.value || false, inputProps: { 'aria-label': 'controlled' }, onChange: (e) => {
|
|
40
|
+
if (onValueChange) {
|
|
41
|
+
onValueChange(e);
|
|
42
|
+
}
|
|
43
|
+
field.onChange(e);
|
|
44
|
+
} })), label: schema[model].label, required: schema[model].required })) }));
|
|
40
45
|
}
|
|
41
46
|
exports.default = BooleanFieldBySchema;
|
|
@@ -49,7 +49,7 @@ const DialogActions_1 = __importDefault(require("../../DialogActions"));
|
|
|
49
49
|
const APIWrapperContext_1 = require("../../../context/APIWrapperContext");
|
|
50
50
|
const filter = (0, Autocomplete_1.createFilterOptions)();
|
|
51
51
|
const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) => {
|
|
52
|
-
var { control, schema, errors, setValue, getValues, fieldKey, labelKey = 'nome', index, name = 'name', optionsAC, optionsModel, getOptionLabel, renderOption, onEditModel, sx = { mr: 2 }, multiple = false } = _a, other = __rest(_a, ["control", "schema", "errors", "setValue", "getValues", "fieldKey", "labelKey", "index", "name", "optionsAC", "optionsModel", "getOptionLabel", "renderOption", "onEditModel", "sx", "multiple"]);
|
|
52
|
+
var { control, schema, errors, setValue, getValues, fieldKey, labelKey = 'nome', index, name = 'name', optionsAC, optionsModel, getOptionLabel, renderOption, onEditModel, sx = { mr: 2 }, multiple = false, disabled = false } = _a, other = __rest(_a, ["control", "schema", "errors", "setValue", "getValues", "fieldKey", "labelKey", "index", "name", "optionsAC", "optionsModel", "getOptionLabel", "renderOption", "onEditModel", "sx", "multiple", "disabled"]);
|
|
53
53
|
const { setDialog } = (0, APIWrapperContext_1.useAPIWrapper)();
|
|
54
54
|
const model = name;
|
|
55
55
|
const label = schema[model].label;
|
|
@@ -95,7 +95,7 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
|
|
|
95
95
|
? errors[name].message
|
|
96
96
|
: schema[name].help_text || '',
|
|
97
97
|
};
|
|
98
|
-
if (!schema[model].disabled && onEditModel && optionsModel) {
|
|
98
|
+
if (!disabled && !schema[model].disabled && onEditModel && optionsModel) {
|
|
99
99
|
return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, render: ({ field }) => (react_1.default.createElement(Autocomplete_1.default, Object.assign({ key: name }, field, { id: name, options: options, disabled: schema[model].disabled === true, autoHighlight: true, isOptionEqualToValue: (option, value) => option.id === value.id, fullWidth: true, multiple: multiple, sx: sx, onChange: (e, value) => {
|
|
100
100
|
let valueAr = value;
|
|
101
101
|
if (!multiple) {
|
|
@@ -196,7 +196,7 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
|
|
|
196
196
|
}
|
|
197
197
|
: undefined }))) }));
|
|
198
198
|
}
|
|
199
|
-
return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, render: ({ field }) => (react_1.default.createElement(Autocomplete_1.default, Object.assign({ key: name }, field, { id: name, options: options, disabled: schema[model].disabled === true, autoHighlight: true, isOptionEqualToValue: (option, value) => option.id === value.id, fullWidth: true, multiple: multiple, sx: sx, onChange: (e, value) => {
|
|
199
|
+
return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, render: ({ field }) => (react_1.default.createElement(Autocomplete_1.default, Object.assign({ key: name }, field, { id: name, options: options, disabled: schema[model].disabled === true || disabled === true, autoHighlight: true, isOptionEqualToValue: (option, value) => option.id === value.id, fullWidth: true, multiple: multiple, sx: sx, onChange: (e, value) => {
|
|
200
200
|
field.onChange(value);
|
|
201
201
|
}, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { label: label, required: schema[model].required, margin: "normal", error: error, helperText: helperText }, other))), getOptionLabel: getOptionLabel, renderOption: renderOption }))) }));
|
|
202
202
|
});
|
package/dist/utils.d.ts
CHANGED
package/package.json
CHANGED