drf-react-by-schema 0.14.0 → 0.14.2
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/FormBySchema.js +1 -3
- package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/BooleanFieldBySchema.js +7 -2
- package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +2 -2
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +1 -1
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +2 -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
|
}
|
|
@@ -157,9 +157,7 @@ function FormBySchema(_a) {
|
|
|
157
157
|
}
|
|
158
158
|
return (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.inLineForm, key: `row_${rowIndex}` },
|
|
159
159
|
react_1.default.createElement(react_1.default.Fragment, null, row.map((field, i, j) => (react_1.default.createElement(react_1.default.Fragment, { key: field },
|
|
160
|
-
react_1.default.createElement(FieldBySchema_1.default, Object.assign({ name: field, schema: schema, control: control, errors: errors, multiline: multiline, setValue: setValue, getValues: getValues, fieldKey: fieldKey, labelKey: labelKey, index: index, optionsAC: optionsAC, optionsModel: optionsModel, getOptionLabel: getOptionLabel, renderOption: renderOption, onEditModel: onEditModel, sx: {
|
|
161
|
-
mr: i + 1 === j.length ? 0 : 2,
|
|
162
|
-
}, options: options, isSemaphoric: isSemaphoric, label: label, onValueChange: onValueChange, decimalScale: decimalScale }, props))))))));
|
|
160
|
+
react_1.default.createElement(FieldBySchema_1.default, Object.assign({ name: field, schema: schema, control: control, errors: errors, multiline: multiline, setValue: setValue, getValues: getValues, fieldKey: fieldKey, labelKey: labelKey, index: index, optionsAC: optionsAC, optionsModel: optionsModel, getOptionLabel: getOptionLabel, renderOption: renderOption, onEditModel: onEditModel, sx: Object.assign(Object.assign({}, sx), { mr: i + 1 === j.length ? 0 : 2 }), options: options, isSemaphoric: isSemaphoric, label: label, onValueChange: onValueChange, decimalScale: decimalScale }, props))))))));
|
|
163
161
|
}))))));
|
|
164
162
|
})));
|
|
165
163
|
}
|
|
@@ -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;
|
|
@@ -25,7 +25,7 @@ const dayjs_1 = __importDefault(require("dayjs"));
|
|
|
25
25
|
require("dayjs/locale/pt-br");
|
|
26
26
|
const utils_2 = require("../../../utils");
|
|
27
27
|
function DesktopDatePickerBySchema(_a) {
|
|
28
|
-
var { name, schema, control, errors, fieldKey
|
|
28
|
+
var { name, schema, control, errors, fieldKey, index, sx = { mr: 2, mt: 2 } } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx"]);
|
|
29
29
|
if (!sx) {
|
|
30
30
|
sx = { minWidth: 200 };
|
|
31
31
|
}
|
|
@@ -49,6 +49,6 @@ function DesktopDatePickerBySchema(_a) {
|
|
|
49
49
|
helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
|
|
50
50
|
};
|
|
51
51
|
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterDayjs_1.AdapterDayjs, adapterLocale: "pt-br" },
|
|
52
|
-
react_1.default.createElement(DesktopDatePicker_1.DesktopDatePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, views: schema[model].date_views, inputFormat: inputFormat, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { sx: sx, margin: "normal", error: error, helperText: helperText }))) })))) }));
|
|
52
|
+
react_1.default.createElement(DesktopDatePicker_1.DesktopDatePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, views: schema[model].date_views, inputFormat: inputFormat, sx: Object.assign({ mt: 2, mb: 1 }, sx), renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { sx: sx, margin: "normal", error: error, helperText: helperText }))) })))) }));
|
|
53
53
|
}
|
|
54
54
|
exports.default = DesktopDatePickerBySchema;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import 'dayjs/locale/pt-br';
|
|
3
3
|
import { FieldBySchemaProps } from '../../../utils';
|
|
4
|
-
export default function DesktopDateTimePickerBySchema({ name, schema, control, errors,
|
|
4
|
+
export default function DesktopDateTimePickerBySchema({ name, schema, control, errors, fieldKey, index, sx, ...other }: FieldBySchemaProps): JSX.Element;
|
|
@@ -24,7 +24,7 @@ const dayjs_1 = __importDefault(require("dayjs"));
|
|
|
24
24
|
require("dayjs/locale/pt-br");
|
|
25
25
|
const utils_1 = require("../../../utils");
|
|
26
26
|
function DesktopDateTimePickerBySchema(_a) {
|
|
27
|
-
var { name, schema, control, errors,
|
|
27
|
+
var { name, schema, control, errors, fieldKey, index, sx = { mr: 2, mt: 2 } } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx"]);
|
|
28
28
|
const model = name;
|
|
29
29
|
if (fieldKey && index && index >= 0) {
|
|
30
30
|
name = `${fieldKey}.${index}.${name}`;
|
|
@@ -41,6 +41,6 @@ function DesktopDateTimePickerBySchema(_a) {
|
|
|
41
41
|
helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
|
|
42
42
|
};
|
|
43
43
|
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterDayjs_1.AdapterDayjs, adapterLocale: "pt-br" },
|
|
44
|
-
react_1.default.createElement(DesktopDateTimePicker_1.DesktopDateTimePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, inputFormat: "DD/MM/yyyy HH:mm", renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, {
|
|
44
|
+
react_1.default.createElement(DesktopDateTimePicker_1.DesktopDateTimePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, inputFormat: "DD/MM/yyyy HH:mm", sx: Object.assign({ mt: 2, mb: 1 }, sx), renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { error: error, helperText: helperText }))) })))) }));
|
|
45
45
|
}
|
|
46
46
|
exports.default = DesktopDateTimePickerBySchema;
|
|
@@ -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