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.
@@ -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' } })), label: schema[model].label, required: schema[model].required })) }));
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
@@ -109,6 +109,7 @@ export interface FieldBySchemaProps {
109
109
  minRows?: number;
110
110
  optionIdKey?: string;
111
111
  optionLabelKey?: string;
112
+ disabled?: boolean;
112
113
  }
113
114
  export interface DetailFieldBySchemaProps {
114
115
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Components and Tools for building a React App having Django Rest Framework (DRF) as server",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",