drf-react-by-schema 0.17.17 → 0.18.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.
Files changed (67) hide show
  1. package/dist/api.d.ts +17 -16
  2. package/dist/api.js +28 -28
  3. package/dist/components/DataGridBySchemaEditable/BooleanInputCell.d.ts +0 -1
  4. package/dist/components/DataGridBySchemaEditable/BooleanInputCell.js +1 -2
  5. package/dist/components/DataGridBySchemaEditable/ConfirmDialog.d.ts +1 -1
  6. package/dist/components/DataGridBySchemaEditable/CustomToolbar.d.ts +2 -2
  7. package/dist/components/DataGridBySchemaEditable/CustomToolbar.js +17 -7
  8. package/dist/components/DataGridBySchemaEditable/FooterToolbar.d.ts +2 -2
  9. package/dist/components/DataGridBySchemaEditable/GridDateInput.d.ts +2 -2
  10. package/dist/components/DataGridBySchemaEditable/GridDecimalInput.d.ts +2 -2
  11. package/dist/components/DataGridBySchemaEditable/GridPatternInput.d.ts +2 -2
  12. package/dist/components/DataGridBySchemaEditable/InputInterval.d.ts +4 -4
  13. package/dist/components/DataGridBySchemaEditable/InputInterval.js +17 -7
  14. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.d.ts +0 -1
  15. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.js +21 -9
  16. package/dist/components/DataGridBySchemaEditable/utils.d.ts +1 -2
  17. package/dist/components/DataGridBySchemaEditable/utils.js +2 -2
  18. package/dist/components/DataGridBySchemaEditable.js +24 -14
  19. package/dist/components/DataTotals.d.ts +2 -2
  20. package/dist/components/DataTotalsServer.d.ts +2 -2
  21. package/dist/components/DialogActions.d.ts +1 -1
  22. package/dist/components/DialogActions.js +1 -1
  23. package/dist/components/FormButtons.d.ts +1 -1
  24. package/dist/components/FormButtons.js +1 -1
  25. package/dist/components/GenericModelList.d.ts +2 -2
  26. package/dist/components/GenericModelList.js +17 -7
  27. package/dist/components/GenericRelatedModelList.d.ts +2 -2
  28. package/dist/components/GenericRelatedModelList.js +18 -8
  29. package/dist/components/details/DetailBySchema.d.ts +2 -2
  30. package/dist/components/details/DetailBySchema.js +18 -8
  31. package/dist/components/details/DetailFieldBySchema.d.ts +2 -2
  32. package/dist/components/details/DetailFieldBySchema.js +1 -1
  33. package/dist/components/forms/DialogFormBySchema.d.ts +4 -2
  34. package/dist/components/forms/DialogFormBySchema.js +22 -12
  35. package/dist/components/forms/FieldBySchema.d.ts +2 -2
  36. package/dist/components/forms/FieldBySchema.js +8 -8
  37. package/dist/components/forms/FormBySchema.d.ts +2 -2
  38. package/dist/components/forms/FormBySchema.js +21 -10
  39. package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts +2 -2
  40. package/dist/components/forms/inputs/AutocompleteFieldBySchema.js +3 -3
  41. package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +2 -2
  42. package/dist/components/forms/inputs/BooleanFieldBySchema.js +3 -3
  43. package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts +2 -2
  44. package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +3 -2
  45. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +2 -2
  46. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +3 -2
  47. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts +2 -1
  48. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +23 -10
  49. package/dist/components/forms/inputs/FloatFieldBySchema.d.ts +2 -2
  50. package/dist/components/forms/inputs/FloatFieldBySchema.js +3 -3
  51. package/dist/components/forms/inputs/TextFieldBySchema.d.ts +2 -2
  52. package/dist/components/forms/inputs/TextFieldBySchema.js +3 -3
  53. package/dist/context/APIWrapper.d.ts +1 -1
  54. package/dist/context/APIWrapper.js +28 -15
  55. package/dist/context/APIWrapperContext.d.ts +2 -0
  56. package/dist/context/DRFReactBySchemaProvider.d.ts +1 -1
  57. package/dist/context/Form.d.ts +1 -1
  58. package/dist/context/Overlays.d.ts +1 -1
  59. package/dist/context/Overlays.js +19 -9
  60. package/dist/styles/index.js +17 -7
  61. package/dist/styles/layout.d.ts +1 -1
  62. package/dist/styles/theme.d.ts +1 -1
  63. package/dist/utils.d.ts +8 -6
  64. package/dist/utils.js +21 -11
  65. package/package.json +1 -1
  66. package/dist/components/DialogJSONSchemaForm.d.ts +0 -13
  67. package/dist/components/DialogJSONSchemaForm.js +0 -20
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __rest = (this && this.__rest) || function (s, e) {
26
36
  var t = {};
27
37
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -49,7 +59,7 @@ const DialogActions_1 = __importDefault(require("../../DialogActions"));
49
59
  const APIWrapperContext_1 = require("../../../context/APIWrapperContext");
50
60
  const filter = (0, Autocomplete_1.createFilterOptions)();
51
61
  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 }, onValueChange, multiple = false, disabled = false, fieldsLayout } = _a, other = __rest(_a, ["control", "schema", "errors", "setValue", "getValues", "fieldKey", "labelKey", "index", "name", "optionsAC", "optionsModel", "getOptionLabel", "renderOption", "onEditModel", "sx", "onValueChange", "multiple", "disabled", "fieldsLayout"]);
62
+ var { control, schema, errors, setValue, getValues, fieldKey, labelKey = 'nome', index, name = 'name', optionsAC, optionsModel, getOptionLabel, renderOption, onEditModel, sx = { mr: 2 }, onValueChange, multiple = false, disabled = false, fieldsLayout, autoFocus } = _a, other = __rest(_a, ["control", "schema", "errors", "setValue", "getValues", "fieldKey", "labelKey", "index", "name", "optionsAC", "optionsModel", "getOptionLabel", "renderOption", "onEditModel", "sx", "onValueChange", "multiple", "disabled", "fieldsLayout", "autoFocus"]);
53
63
  const { setDialog } = (0, APIWrapperContext_1.useAPIWrapper)();
54
64
  const [options, setOptions] = (0, react_1.useState)(null);
55
65
  const model = name;
@@ -133,6 +143,9 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
133
143
  setValue,
134
144
  getValues,
135
145
  fieldsLayout,
146
+ initialValuesPartial: {
147
+ [labelKey]: newValue.inputValue,
148
+ },
136
149
  });
137
150
  }
138
151
  // Define new Item as an "optimistic response"
@@ -149,7 +162,7 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
149
162
  if (onValueChange) {
150
163
  onValueChange(e);
151
164
  }
152
- }, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { label: label, required: schema[model].required, margin: "normal", error: error, helperText: helperText, InputProps: Object.assign(Object.assign({}, params.InputProps), { endAdornment: (react_1.default.createElement(react_1.default.Fragment, null,
165
+ }, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { label: label, required: schema[model].required, margin: "normal", error: error, autoFocus: autoFocus, helperText: helperText, InputProps: Object.assign(Object.assign({}, params.InputProps), { endAdornment: (react_1.default.createElement(react_1.default.Fragment, null,
153
166
  !multiple && field.value && (react_1.default.createElement(IconButton_1.default, { size: "small", onClick: () => {
154
167
  if ((0, utils_1.isTmpId)(field.value.id)) {
155
168
  setDialog({
@@ -249,7 +262,7 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
249
262
  if (onValueChange) {
250
263
  onValueChange(e);
251
264
  }
252
- }, 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 }))) }));
265
+ }, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { label: label, required: schema[model].required, margin: "normal", error: error, autoFocus: autoFocus, helperText: helperText }, other))), getOptionLabel: getOptionLabel, renderOption: renderOption }))) }));
253
266
  });
254
267
  EditableAutocompleteFieldBySchema.displayName = 'EditableAutocompleteFieldBySchema';
255
268
  exports.default = EditableAutocompleteFieldBySchema;
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { FieldBySchemaProps } from '../../../utils';
3
- export default function FloatFieldBySchema({ fieldKey, index, name, control, schema, errors, onValueChange, decimalScale, label, ...other }: Omit<FieldBySchemaProps, 'type'>): JSX.Element;
3
+ export default function FloatFieldBySchema({ fieldKey, index, name, control, schema, errors, onValueChange, decimalScale, label, autoFocus, ...other }: Omit<FieldBySchemaProps, 'type'>): React.JSX.Element;
@@ -14,13 +14,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.default = FloatFieldBySchema;
17
18
  const react_1 = __importDefault(require("react"));
18
19
  const react_number_format_1 = require("react-number-format");
19
20
  const TextField_1 = __importDefault(require("@mui/material/TextField"));
20
21
  const react_hook_form_1 = require("react-hook-form");
21
22
  const utils_1 = require("../../../utils");
22
23
  function FloatFieldBySchema(_a) {
23
- var { fieldKey, index, name, control, schema, errors, onValueChange, decimalScale, label } = _a, other = __rest(_a, ["fieldKey", "index", "name", "control", "schema", "errors", "onValueChange", "decimalScale", "label"]);
24
+ var { fieldKey, index, name, control, schema, errors, onValueChange, decimalScale, label, autoFocus } = _a, other = __rest(_a, ["fieldKey", "index", "name", "control", "schema", "errors", "onValueChange", "decimalScale", "label", "autoFocus"]);
24
25
  const model = name;
25
26
  if (!label) {
26
27
  label = schema[model].label;
@@ -54,7 +55,6 @@ function FloatFieldBySchema(_a) {
54
55
  if (onValueChange) {
55
56
  onValueChange(values.floatValue);
56
57
  }
57
- }, thousandSeparator: ".", decimalSeparator: ",", decimalScale: decimals, fixedDecimalScale: true, valueIsNumericString: true, prefix: prefix, suffix: suffix, error: error, helperText: helperText, margin: "normal", customInput: TextField_1.default })));
58
+ }, thousandSeparator: ".", decimalSeparator: ",", decimalScale: decimals, fixedDecimalScale: true, valueIsNumericString: true, prefix: prefix, suffix: suffix, error: error, helperText: helperText, margin: "normal", customInput: TextField_1.default, autoFocus: autoFocus })));
58
59
  } }));
59
60
  }
60
- exports.default = FloatFieldBySchema;
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { FieldBySchemaProps } from '../../../utils';
3
- export default function TextFieldBySchema({ name, schema, control, errors, multiline, minRows, fieldKey, index, sx, isPassword, type, autocomplete, disabled, onValueChange, ...other }: FieldBySchemaProps): JSX.Element;
3
+ export default function TextFieldBySchema({ name, schema, control, errors, multiline, minRows, fieldKey, index, sx, isPassword, type, autocomplete, disabled, onValueChange, autoFocus, ...other }: FieldBySchemaProps): React.JSX.Element;
@@ -14,12 +14,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.default = TextFieldBySchema;
17
18
  const react_1 = __importDefault(require("react"));
18
19
  const react_hook_form_1 = require("react-hook-form");
19
20
  const TextField_1 = __importDefault(require("@mui/material/TextField"));
20
21
  const utils_1 = require("../../../utils");
21
22
  function TextFieldBySchema(_a) {
22
- var { name, schema, control, errors, multiline = false, minRows, fieldKey, index, sx = { mr: 2 }, isPassword = false, type, autocomplete, disabled, onValueChange } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "multiline", "minRows", "fieldKey", "index", "sx", "isPassword", "type", "autocomplete", "disabled", "onValueChange"]);
23
+ var { name, schema, control, errors, multiline = false, minRows, fieldKey, index, sx = { mr: 2 }, isPassword = false, type, autocomplete, disabled, onValueChange, autoFocus } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "multiline", "minRows", "fieldKey", "index", "sx", "isPassword", "type", "autocomplete", "disabled", "onValueChange", "autoFocus"]);
23
24
  const model = name;
24
25
  if (fieldKey && index && index >= 0) {
25
26
  name = `${fieldKey}.${index}.${name}`;
@@ -44,6 +45,5 @@ function TextFieldBySchema(_a) {
44
45
  if (onValueChange) {
45
46
  onValueChange(e);
46
47
  }
47
- }, margin: "normal", fullWidth: true, multiline: multiline, error: error, helperText: helperText, sx: sx, type: type, autoComplete: autocomplete, minRows: minRows }))) }));
48
+ }, margin: "normal", fullWidth: true, multiline: multiline, error: error, helperText: helperText, sx: sx, type: type, autoComplete: autocomplete, minRows: minRows, autoFocus: autoFocus }))) }));
48
49
  }
49
- exports.default = TextFieldBySchema;
@@ -6,6 +6,6 @@ interface APIWrapperProps {
6
6
  setDialog: (x: Partial<DialogType>) => void;
7
7
  children: React.ReactNode;
8
8
  }
9
- declare function APIWrapper({ handleLoading, setSnackBar, setDialog, children }: APIWrapperProps): JSX.Element;
9
+ declare function APIWrapper({ handleLoading, setSnackBar, setDialog, children }: APIWrapperProps): React.JSX.Element;
10
10
  declare const _default: React.MemoExoticComponent<typeof APIWrapper>;
11
11
  export default _default;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -84,7 +94,7 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
84
94
  severity,
85
95
  });
86
96
  };
87
- const loadSinglePageData = ({ model, objId, optionsACModels = null, defaults = {}, extraValidators = {}, }) => __awaiter(this, void 0, void 0, function* () {
97
+ const loadSinglePageData = (_a) => __awaiter(this, [_a], void 0, function* ({ model, objId, optionsACModels = null, defaults = {}, extraValidators = {}, }) {
88
98
  handleLoading(true);
89
99
  if (!objId || objId === 'novo') {
90
100
  objId = (0, utils_1.getTmpId)();
@@ -215,7 +225,7 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
215
225
  handleLoading(false);
216
226
  return true;
217
227
  });
218
- const onEditModelDataGridSave = ({ model, newRow, schema, }) => __awaiter(this, void 0, void 0, function* () {
228
+ const onEditModelDataGridSave = (_a) => __awaiter(this, [_a], void 0, function* ({ model, newRow, schema, }) {
219
229
  const response = yield (0, api_1.updateDataBySchema)({
220
230
  model,
221
231
  modelObjectId: newRow.id,
@@ -242,7 +252,7 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
242
252
  });
243
253
  return response;
244
254
  });
245
- const onEditModel = ({ fieldKey, index, model, id, labelKey, setValue, getValues, fieldsLayout, }) => {
255
+ const onEditModel = ({ fieldKey, index, model, id, labelKey, setValue, getValues, fieldsLayout, initialValuesPartial, }) => {
246
256
  setDialog({
247
257
  open: true,
248
258
  loading: true,
@@ -257,17 +267,20 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
257
267
  });
258
268
  return false;
259
269
  }
260
- const values = (0, utils_1.populateValues)(result);
270
+ const populatedValues = (0, utils_1.populateValues)(result);
261
271
  const yupSchema = (0, utils_1.buildGenericYupValidationSchema)({
262
272
  schema: result.schema,
263
- data: values,
273
+ data: populatedValues,
264
274
  });
275
+ const values = (0, utils_1.isTmpId)(id) && initialValuesPartial
276
+ ? Object.assign(Object.assign({}, populatedValues), initialValuesPartial) : Object.assign({}, populatedValues);
265
277
  setDialog({
266
278
  open: true,
267
279
  loading: false,
268
280
  title: 'Editar',
269
- Body: (react_1.default.createElement(DialogFormBySchema_1.default, { schema: result.schema, validationSchema: yupSchema, initialValues: values, setDialog: setDialog, getAutoComplete: localGetAutoComplete, onEditModelSave: onEditModelSave, fieldsLayout: fieldsLayout })),
281
+ Body: (react_1.default.createElement(DialogFormBySchema_1.default, { schema: result.schema, validationSchema: yupSchema, initialValues: values, setDialog: setDialog, getAutoComplete: localGetAutoComplete, onEditModelSave: onEditModelSave, fieldsLayout: fieldsLayout, isCancelDisabled: true, forceSaveEnabled: true })),
270
282
  Actions: react_1.default.createElement(react_1.default.Fragment, null),
283
+ isCancelDisabled: true,
271
284
  });
272
285
  editModel.current = {
273
286
  fieldKey,
@@ -313,7 +326,7 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
313
326
  });
314
327
  return false;
315
328
  });
316
- const onEditRelatedModelSave = ({ model, id, relatedModel, newRow, schema, onlyAddExisting, }) => __awaiter(this, void 0, void 0, function* () {
329
+ const onEditRelatedModelSave = (_a) => __awaiter(this, [_a], void 0, function* ({ model, id, relatedModel, newRow, schema, onlyAddExisting, }) {
317
330
  const updateUrl = `${model}/${id}/${relatedModel}`;
318
331
  if (onlyAddExisting) {
319
332
  const response = yield (0, api_1.addExistingRelatedModel)({
@@ -377,7 +390,7 @@ function APIWrapper({ handleLoading, setSnackBar, setDialog, children }) {
377
390
  });
378
391
  return response;
379
392
  });
380
- const onDeleteRelatedModel = ({ model, id, relatedModel, relatedModelId, }) => __awaiter(this, void 0, void 0, function* () {
393
+ const onDeleteRelatedModel = (_a) => __awaiter(this, [_a], void 0, function* ({ model, id, relatedModel, relatedModelId, }) {
381
394
  const deleteUrl = `${model}/${id}/${relatedModel}`;
382
395
  const response = yield (0, api_1.deleteData)(deleteUrl, serverEndPoint, relatedModelId);
383
396
  if (response !== true) {
@@ -30,6 +30,7 @@ export interface OnEditModelType {
30
30
  setValue?: UseFormSetValue<FieldValues>;
31
31
  getValues?: UseFormGetValues<FieldValues>;
32
32
  fieldsLayout?: FormFieldLayout[];
33
+ initialValuesPartial?: Record<string, string>;
33
34
  }
34
35
  export interface OnEditRelatedModelType {
35
36
  model: string;
@@ -63,6 +64,7 @@ export interface DialogType {
63
64
  title?: string;
64
65
  Body?: React.ReactNode;
65
66
  Actions?: React.ReactNode;
67
+ isCancelDisabled?: boolean;
66
68
  }
67
69
  export type DRFReactBySchemaSubmitHandler = (...args: [...[model: string, id: Id], ...Parameters<SubmitHandler<FieldValues>>]) => ReturnType<SubmitHandler<FieldValues>>;
68
70
  export interface APIWrapperContextType {
@@ -9,5 +9,5 @@ interface DRFReactBySchemaProviderProps extends DRFReactBySchemaContextType {
9
9
  * @param {*} props
10
10
  * @returns {*}
11
11
  */
12
- declare const DRFReactBySchemaProvider: ({ serverEndPoint, theme, isInBatches, firstBatchLength, children, }: DRFReactBySchemaProviderProps) => JSX.Element;
12
+ declare const DRFReactBySchemaProvider: ({ serverEndPoint, theme, isInBatches, firstBatchLength, children, }: DRFReactBySchemaProviderProps) => React.JSX.Element;
13
13
  export default DRFReactBySchemaProvider;
@@ -17,5 +17,5 @@ interface FormProps {
17
17
  formButtonsSx?: any;
18
18
  children: React.ReactNode;
19
19
  }
20
- export default function Form({ model, id, objTitleField, optionsACModels, cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, borderBottom, saveAndContinue, formButtonsSx, children, }: FormProps): JSX.Element;
20
+ export default function Form({ model, id, objTitleField, optionsACModels, cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, borderBottom, saveAndContinue, formButtonsSx, children, }: FormProps): React.JSX.Element;
21
21
  export {};
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export default function Overlays({ children }: {
3
3
  children: React.ReactNode;
4
- }): JSX.Element;
4
+ }): React.JSX.Element;
@@ -15,17 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = Overlays;
29
40
  const react_1 = __importStar(require("react"));
30
41
  const Backdrop_1 = __importDefault(require("@mui/material/Backdrop"));
31
42
  const CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
@@ -77,10 +88,9 @@ function Overlays({ children }) {
77
88
  setSnackBar({ open: false });
78
89
  }, anchorOrigin: { vertical: 'top', horizontal: 'right' } },
79
90
  react_1.default.createElement(Alert_1.default, { severity: snackBar.severity }, snackBar.msg))),
80
- dialog && (react_1.default.createElement(Dialog_1.default, { open: dialog.open, onClose: handleDialogClose },
91
+ dialog && (react_1.default.createElement(Dialog_1.default, { open: dialog.open, onClose: handleDialogClose, disableEscapeKeyDown: !dialog.isCancelDisabled },
81
92
  react_1.default.createElement(DialogTitle_1.default, null, dialog.loading ? 'Carregando...' : dialog.title),
82
93
  react_1.default.createElement(DialogContent_1.default, null, dialog.loading ? (react_1.default.createElement(Box_1.default, { sx: { display: 'flex' } },
83
94
  react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(react_1.default.Fragment, null, dialog.Body))),
84
95
  react_1.default.createElement(DialogActions_1.default, null, !dialog.loading && react_1.default.createElement(react_1.default.Fragment, null, dialog.Actions))))));
85
96
  }
86
- exports.default = Overlays;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.Layout = void 0;
27
37
  const Layout = __importStar(require("./layout"));
@@ -96,7 +96,7 @@ export declare const fullWidthButton: {
96
96
  };
97
97
  export declare const formCard: {
98
98
  width: string;
99
- backgroundColor: any;
99
+ backgroundColor: string;
100
100
  mt: number;
101
101
  mb: number;
102
102
  };
@@ -17,5 +17,5 @@ declare module '@mui/material/styles' {
17
17
  semaphoric?: string;
18
18
  }
19
19
  }
20
- declare const defaultTheme: any;
20
+ declare const defaultTheme: import("@mui/material/styles").Theme;
21
21
  export default defaultTheme;
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import * as Yup from 'yup';
1
2
  import { ReactElement } from 'react';
2
3
  import { GridActionsColDef, GridColDef, GridFilterModel, GridSortModel } from '@mui/x-data-grid';
3
4
  import { Control, FieldValues, UseFormGetValues, UseFormSetValue } from 'react-hook-form';
@@ -134,6 +135,7 @@ export interface FieldBySchemaProps extends Omit<CommonFieldProps, 'value'> {
134
135
  schema: SchemaType;
135
136
  control: Control;
136
137
  errors: Item;
138
+ autoFocus?: boolean;
137
139
  }
138
140
  export interface DetailFieldBySchemaProps {
139
141
  name: string;
@@ -159,15 +161,15 @@ export declare const populateValues: ({ data, schema }: {
159
161
  export declare const buildGenericYupValidationSchema: ({ data, schema, many, skipFields, extraValidators, }: {
160
162
  data: Item;
161
163
  schema: SchemaType;
162
- many?: boolean | undefined;
163
- skipFields?: string[] | undefined;
164
- extraValidators?: Item | undefined;
165
- }) => any;
164
+ many?: boolean;
165
+ skipFields?: string[];
166
+ extraValidators?: Item;
167
+ }) => Yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>>> | Yup.ArraySchema<Yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>>>, import("yup/lib/types").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>>[] | undefined, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, Item>>[] | undefined>;
166
168
  export declare const errorProps: ({ errors, fieldKey, fieldKeyProp, index, }: {
167
169
  errors: Item;
168
170
  fieldKey: string;
169
171
  fieldKeyProp: string;
170
- index?: number | undefined;
172
+ index?: number;
171
173
  }) => {
172
174
  error: any;
173
175
  helperText: any;
@@ -180,7 +182,7 @@ export type AddParametersToEnd<TFunction extends (...args: any) => any, TParamet
180
182
  export declare function buildDateFormatBySchema(dateViews: string[] | null | undefined): "DD/MM/YYYY" | "MM/YYYY" | "YYYY" | "MM" | "DD";
181
183
  export declare const slugToCamelCase: (str: string, includeFirst?: boolean) => string;
182
184
  export declare const slugify: (text: string | null) => string;
183
- export declare function mergeFilterItems(defaultFilter: GridFilterModel | undefined, filter: GridFilterModel | undefined): any;
185
+ export declare function mergeFilterItems(defaultFilter: GridFilterModel | undefined, filter: GridFilterModel | undefined): GridFilterModel | undefined;
184
186
  export type ActionType = 'editInline' | 'remove' | 'edit' | 'view';
185
187
  export interface CustomAction {
186
188
  key: string;
package/dist/utils.js CHANGED
@@ -15,15 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.mergeFilterItems = exports.slugify = exports.slugToCamelCase = exports.buildDateFormatBySchema = exports.getPatternFormat = exports.reducer = exports.isTmpId = exports.getTmpId = exports.errorProps = exports.buildGenericYupValidationSchema = exports.populateValues = exports.getChoiceByValue = exports.emptyByType = void 0;
36
+ exports.slugify = exports.slugToCamelCase = exports.getPatternFormat = exports.isTmpId = exports.getTmpId = exports.errorProps = exports.buildGenericYupValidationSchema = exports.populateValues = exports.getChoiceByValue = exports.emptyByType = void 0;
37
+ exports.reducer = reducer;
38
+ exports.buildDateFormatBySchema = buildDateFormatBySchema;
39
+ exports.mergeFilterItems = mergeFilterItems;
27
40
  const Yup = __importStar(require("yup"));
28
41
  const emptyByType = (field, forDatabase = false) => {
29
42
  if (field.model_default) {
@@ -261,7 +274,6 @@ function reducer(state, newState) {
261
274
  }
262
275
  return Object.assign(Object.assign({}, state), newState);
263
276
  }
264
- exports.reducer = reducer;
265
277
  const getPatternFormat = (type) => {
266
278
  let format = '';
267
279
  switch (type) {
@@ -310,7 +322,6 @@ function buildDateFormatBySchema(dateViews) {
310
322
  }
311
323
  return defaultFormat;
312
324
  }
313
- exports.buildDateFormatBySchema = buildDateFormatBySchema;
314
325
  const slugToCamelCase = (str, includeFirst = false) => {
315
326
  if (!str) {
316
327
  return '';
@@ -363,4 +374,3 @@ function mergeFilterItems(defaultFilter, filter) {
363
374
  }
364
375
  return undefined;
365
376
  }
366
- exports.mergeFilterItems = mergeFilterItems;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.17.17",
3
+ "version": "0.18.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",
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- import { Item, SchemaType } from '../utils';
3
- interface DialogJSONSchemaFormProps {
4
- jsonSchemaFormRef: any;
5
- schema: SchemaType;
6
- uiSchema: SchemaType;
7
- formData: Item;
8
- onSubmit: ({ formData }: {
9
- formData: Item;
10
- }) => void;
11
- }
12
- export default function DialogJSONSchemaForm({ jsonSchemaFormRef, schema, uiSchema, formData, onSubmit }: DialogJSONSchemaFormProps): JSX.Element;
13
- export {};
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const Button_1 = __importDefault(require("@mui/material/Button"));
8
- const validator_ajv8_1 = __importDefault(require("@rjsf/validator-ajv8"));
9
- const mui_1 = __importDefault(require("@rjsf/mui"));
10
- ;
11
- function DialogJSONSchemaForm({ jsonSchemaFormRef, schema, uiSchema, formData, onSubmit }) {
12
- return (react_1.default.createElement(mui_1.default
13
- // @ts-ignore
14
- , {
15
- // @ts-ignore
16
- ref: jsonSchemaFormRef, schema: schema, uiSchema: uiSchema, validator: validator_ajv8_1.default, formData: formData, onSubmit: onSubmit },
17
- react_1.default.createElement(Button_1.default, { type: "submit", sx: { display: 'none' } }, "Salvar")));
18
- }
19
- exports.default = DialogJSONSchemaForm;
20
- ;