drf-react-by-schema 0.6.5 → 0.7.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 (46) hide show
  1. package/dist/api.d.ts +7 -13
  2. package/dist/api.js +77 -77
  3. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.d.ts +1 -1
  4. package/dist/components/DataGridBySchemaEditable.js +5 -7
  5. package/dist/components/DialogActions.d.ts +3 -3
  6. package/dist/components/DialogActions.js +2 -4
  7. package/dist/components/forms/DialogFormBySchema.d.ts +14 -0
  8. package/dist/components/forms/DialogFormBySchema.js +61 -0
  9. package/dist/components/forms/FieldBySchema.d.ts +3 -0
  10. package/dist/components/forms/FieldBySchema.js +65 -0
  11. package/dist/components/forms/FormBySchema.d.ts +19 -0
  12. package/dist/components/forms/FormBySchema.js +164 -0
  13. package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts +3 -0
  14. package/dist/components/forms/inputs/AutocompleteFieldBySchema.js +86 -0
  15. package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +3 -0
  16. package/dist/components/forms/inputs/BooleanFieldBySchema.js +41 -0
  17. package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts +3 -0
  18. package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +49 -0
  19. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +3 -0
  20. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +41 -0
  21. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts +4 -0
  22. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +203 -0
  23. package/dist/components/forms/inputs/FloatFieldBySchema.d.ts +3 -0
  24. package/dist/components/forms/inputs/FloatFieldBySchema.js +60 -0
  25. package/dist/components/forms/inputs/TextFieldBySchema.d.ts +3 -0
  26. package/dist/components/forms/inputs/TextFieldBySchema.js +44 -0
  27. package/dist/context/APIWrapper.d.ts +5 -5
  28. package/dist/context/APIWrapper.js +135 -87
  29. package/dist/context/APIWrapperContext.d.ts +22 -9
  30. package/dist/context/APIWrapperContext.js +42 -9
  31. package/dist/context/DRFReactBySchemaContext.d.ts +4 -4
  32. package/dist/context/DRFReactBySchemaContext.js +5 -5
  33. package/dist/context/DRFReactBySchemaProvider.d.ts +1 -1
  34. package/dist/context/DRFReactBySchemaProvider.js +7 -10
  35. package/dist/context/Form.d.ts +1 -1
  36. package/dist/context/Form.js +13 -14
  37. package/dist/context/FormContext.js +0 -7
  38. package/dist/context/Overlays.js +11 -12
  39. package/dist/index.d.ts +16 -6
  40. package/dist/index.js +31 -7
  41. package/dist/styles/layout.d.ts +7 -0
  42. package/dist/styles/layout.js +2 -1
  43. package/dist/styles/theme.js +77 -42
  44. package/dist/utils.d.ts +42 -4
  45. package/dist/utils.js +22 -18
  46. package/package.json +1 -1
@@ -37,27 +37,27 @@ const APIWrapperContext_1 = require("./APIWrapperContext");
37
37
  const utils_1 = require("../utils");
38
38
  const DRFReactBySchemaContext_1 = require("./DRFReactBySchemaContext");
39
39
  const FormContext_1 = require("./FormContext");
40
- function Form({ model, id, objTitleField = 'name', optionsACModels = [], cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, borderBottom, saveAndContinue, formButtonsSx, children }) {
40
+ function Form({ model, id, objTitleField = 'name', optionsACModels = [], cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, borderBottom, saveAndContinue, formButtonsSx, children, }) {
41
41
  const apiContext = react_1.default.useContext(APIWrapperContext_1.APIWrapperContext);
42
42
  const context = react_1.default.useContext(DRFReactBySchemaContext_1.DRFReactBySchemaContext);
43
43
  if (!context.serverEndPoint || !apiContext) {
44
44
  console.error('Error in drf-react-by-schema: There is no serverEndPoint configured!');
45
- return (react_1.default.createElement(react_1.default.Fragment, null));
45
+ return react_1.default.createElement(react_1.default.Fragment, null);
46
46
  }
47
- const { loadSinglePageData, onSubmit, onEditModel, onDeleteModel, onEditRelatedModelSave, onDeleteRelatedModel } = apiContext;
47
+ const { loadSinglePageData, onSubmit, onEditModel, onDeleteModel, onEditRelatedModelSave, onDeleteRelatedModel, } = apiContext;
48
48
  const pageForm = apiContext.pageFormState[0];
49
49
  const optionsAC = apiContext.optionsACState[0];
50
- const { control, handleSubmit, reset, getValues, setValue, formState: { errors, isDirty } } = (0, react_hook_form_1.useForm)({
50
+ const { control, handleSubmit, reset, getValues, setValue, formState: { errors, isDirty }, } = (0, react_hook_form_1.useForm)({
51
51
  mode: 'onBlur',
52
- resolver: (0, yup_1.yupResolver)(pageForm.validationSchema)
52
+ resolver: (0, yup_1.yupResolver)(pageForm.validationSchema),
53
53
  });
54
54
  const loadAllData = () => {
55
55
  loadSinglePageData({
56
56
  model,
57
57
  objTitleField,
58
58
  objId: id,
59
- optionsACModels
60
- }).then(values => {
59
+ optionsACModels,
60
+ }).then((values) => {
61
61
  if (values && typeof values !== 'boolean') {
62
62
  reset(values);
63
63
  }
@@ -80,7 +80,7 @@ function Form({ model, id, objTitleField = 'name', optionsACModels = [], cancelB
80
80
  onSuccess,
81
81
  borderBottom,
82
82
  saveAndContinue,
83
- sx: formButtonsSx
83
+ sx: formButtonsSx,
84
84
  };
85
85
  // onSubmit={handleSubmit((data, event) => {
86
86
  // onSubmit(
@@ -89,11 +89,10 @@ function Form({ model, id, objTitleField = 'name', optionsACModels = [], cancelB
89
89
  // data,
90
90
  // event
91
91
  // );
92
- return (react_1.default.createElement(react_1.default.Fragment, null, pageForm.initialValues && pageForm.schema && control &&
93
- react_1.default.createElement(FormContext_1.FormContext.Provider, { value: null },
94
- react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment },
95
- react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps)),
96
- react_1.default.createElement(Box_1.default, null, children),
97
- react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps, { bottom: true }))))));
92
+ return (react_1.default.createElement(react_1.default.Fragment, null, pageForm.initialValues && pageForm.schema && control && (react_1.default.createElement(FormContext_1.FormContext.Provider, { value: null },
93
+ react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment },
94
+ react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps)),
95
+ react_1.default.createElement(Box_1.default, null, children),
96
+ react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps, { bottom: true })))))));
98
97
  }
99
98
  exports.default = Form;
@@ -5,11 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FormContext = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- ;
9
- ;
10
- ;
11
- ;
12
- ;
13
- ;
14
- ;
15
8
  exports.FormContext = react_1.default.createContext(null);
@@ -42,17 +42,17 @@ function Overlays({ children }) {
42
42
  const initialSnackBar = {
43
43
  open: false,
44
44
  msg: '',
45
- severity: 'info'
45
+ severity: 'info',
46
46
  };
47
47
  const initialDialog = {
48
48
  open: false,
49
49
  loading: true,
50
50
  title: '',
51
51
  Body: null,
52
- Actions: null
52
+ Actions: null,
53
53
  };
54
- const [snackBar, setSnackBar] = (0, react_1.useReducer)(utils_1.reducer, initialSnackBar);
55
- const [dialog, setDialog] = (0, react_1.useReducer)(utils_1.reducer, initialDialog);
54
+ const [snackBar, setSnackBar] = (0, react_1.useReducer)((utils_1.reducer), initialSnackBar);
55
+ const [dialog, setDialog] = (0, react_1.useReducer)((utils_1.reducer), initialDialog);
56
56
  const [loading, setLoading] = (0, react_1.useState)(true);
57
57
  // give some time to stop loading when data is retrieved and must render before loading rendering:
58
58
  const handleLoading = (loadingState) => {
@@ -66,22 +66,21 @@ function Overlays({ children }) {
66
66
  };
67
67
  const handleDialogClose = () => {
68
68
  setDialog({
69
- open: false
69
+ open: false,
70
70
  });
71
71
  };
72
72
  return (react_1.default.createElement(react_1.default.Fragment, null,
73
73
  react_1.default.createElement(APIWrapper_1.default, { setLoading: setLoading, handleLoading: handleLoading, setSnackBar: setSnackBar, setDialog: setDialog, children: children }),
74
74
  react_1.default.createElement(Backdrop_1.default, { sx: { color: '#fff', zIndex: (theme) => theme.zIndex.drawer + 1 }, open: loading },
75
75
  react_1.default.createElement(CircularProgress_1.default, null)),
76
- react_1.default.createElement(Snackbar_1.default, { open: snackBar.open, autoHideDuration: 3000, onClose: () => { setSnackBar({ open: false }); }, anchorOrigin: { vertical: 'top', horizontal: 'right' } },
76
+ react_1.default.createElement(Snackbar_1.default, { open: snackBar.open, autoHideDuration: 3000, onClose: () => {
77
+ setSnackBar({ open: false });
78
+ }, anchorOrigin: { vertical: 'top', horizontal: 'right' } },
77
79
  react_1.default.createElement(Alert_1.default, { severity: snackBar.severity }, snackBar.msg)),
78
80
  react_1.default.createElement(Dialog_1.default, { open: dialog.open, onClose: handleDialogClose },
79
81
  react_1.default.createElement(DialogTitle_1.default, null, dialog.loading ? 'Carregando...' : dialog.title),
80
- react_1.default.createElement(DialogContent_1.default, null, dialog.loading
81
- ? react_1.default.createElement(Box_1.default, { sx: { display: 'flex' } },
82
- react_1.default.createElement(CircularProgress_1.default, null))
83
- : react_1.default.createElement(react_1.default.Fragment, null, dialog.Body)),
84
- react_1.default.createElement(DialogActions_1.default, null, !dialog.loading &&
85
- react_1.default.createElement(react_1.default.Fragment, null, dialog.Actions)))));
82
+ react_1.default.createElement(DialogContent_1.default, null, dialog.loading ? (react_1.default.createElement(Box_1.default, { sx: { display: 'flex' } },
83
+ react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(react_1.default.Fragment, null, dialog.Body))),
84
+ react_1.default.createElement(DialogActions_1.default, null, !dialog.loading && react_1.default.createElement(react_1.default.Fragment, null, dialog.Actions)))));
86
85
  }
87
86
  exports.default = Overlays;
package/dist/index.d.ts CHANGED
@@ -1,12 +1,22 @@
1
- import { updateData, partialUpdateData, createData, deleteData, createOrUpdateData, updateDataBySchema, addExistingRelatedModel, getAutoComplete, getJSONSchema, createOrUpdateJSONSchema, loginByPayload, setAuthToken, isLoggedIn, getGenericModelList, getGenericModel } from './api';
2
- import { emptyByType, getChoiceByValue, populateValues, buildGenericYupValidationSchema, errorProps, getTmpId, isTmpId, getPatternFormat } from './utils';
1
+ import { updateData, partialUpdateData, createData, deleteData, createOrUpdateData, updateDataBySchema, addExistingRelatedModel, getAutoComplete, getJSONSchema, createOrUpdateJSONSchema, loginByPayload, setAuthToken, isLoggedIn, getGenericModelList, getGenericModel, hasJWT, clearJWT } from './api';
2
+ import { emptyByType, getChoiceByValue, populateValues, buildGenericYupValidationSchema, errorProps, getTmpId, isTmpId, getPatternFormat, slugToCamelCase } from './utils';
3
3
  import DRFReactBySchemaProvider from './context/DRFReactBySchemaProvider';
4
- import { DRFReactBySchemaContext, useTheme } from './context/DRFReactBySchemaContext';
5
- import { APIWrapperContext } from './context/APIWrapperContext';
4
+ import { useDRFReactBySchema } from './context/DRFReactBySchemaContext';
5
+ import { useAPIWrapper } from './context/APIWrapperContext';
6
+ import Form from './context/Form';
7
+ import FormBySchema from './components/forms/FormBySchema';
8
+ import DialogFormBySchema from './components/forms/DialogFormBySchema';
6
9
  import DataGridBySchemaEditable from './components/DataGridBySchemaEditable';
7
10
  import GenericModelList from './components/GenericModelList';
8
11
  import GenericRelatedModelList from './components/GenericRelatedModelList';
9
12
  import DataTotals from './components/DataTotals';
10
13
  import DialogActions from './components/DialogActions';
11
- import Form from './context/Form';
12
- export { DRFReactBySchemaProvider, DRFReactBySchemaContext, APIWrapperContext, useTheme, Form, FormContext, DataGridBySchemaEditable, GenericModelList, GenericRelatedModelList, DataTotals, DialogActions, updateData, partialUpdateData, createData, deleteData, createOrUpdateData, updateDataBySchema, addExistingRelatedModel, getAutoComplete, getJSONSchema, createOrUpdateJSONSchema, loginByPayload, setAuthToken, isLoggedIn, getGenericModelList, getGenericModel, emptyByType, getChoiceByValue, populateValues, buildGenericYupValidationSchema, errorProps, getTmpId, isTmpId, getPatternFormat };
14
+ import FieldBySchema from './components/forms/FieldBySchema';
15
+ import TextFieldBySchema from './components/forms/inputs/TextFieldBySchema';
16
+ import BooleanFieldBySchema from './components/forms/inputs/BooleanFieldBySchema';
17
+ import DesktopDatePickerBySchema from './components/forms/inputs/DesktopDatePickerBySchema';
18
+ import DesktopDateTimePickerBySchema from './components/forms/inputs/DesktopDateTimePickerBySchema';
19
+ import EditableAutocompleteFieldBySchema from './components/forms/inputs/EditableAutocompleteFieldBySchema';
20
+ import AutocompleteFieldBySchema from './components/forms/inputs/AutocompleteFieldBySchema';
21
+ import FloatFieldBySchema from './components/forms/inputs/FloatFieldBySchema';
22
+ export { DRFReactBySchemaProvider, useAPIWrapper, useDRFReactBySchema, Form, FormBySchema, DialogFormBySchema, DataGridBySchemaEditable, GenericModelList, GenericRelatedModelList, DataTotals, DialogActions, FieldBySchema, TextFieldBySchema, BooleanFieldBySchema, DesktopDatePickerBySchema, DesktopDateTimePickerBySchema, EditableAutocompleteFieldBySchema, AutocompleteFieldBySchema, FloatFieldBySchema, updateData, partialUpdateData, createData, deleteData, createOrUpdateData, updateDataBySchema, addExistingRelatedModel, getAutoComplete, getJSONSchema, createOrUpdateJSONSchema, loginByPayload, setAuthToken, isLoggedIn, getGenericModelList, getGenericModel, emptyByType, getChoiceByValue, populateValues, buildGenericYupValidationSchema, errorProps, getTmpId, isTmpId, getPatternFormat, clearJWT, hasJWT, slugToCamelCase, };
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getPatternFormat = exports.isTmpId = exports.getTmpId = exports.errorProps = exports.buildGenericYupValidationSchema = exports.populateValues = exports.getChoiceByValue = exports.emptyByType = exports.getGenericModel = exports.getGenericModelList = exports.isLoggedIn = exports.setAuthToken = exports.loginByPayload = exports.createOrUpdateJSONSchema = exports.getJSONSchema = exports.getAutoComplete = exports.addExistingRelatedModel = exports.updateDataBySchema = exports.createOrUpdateData = exports.deleteData = exports.createData = exports.partialUpdateData = exports.updateData = exports.DialogActions = exports.DataTotals = exports.GenericRelatedModelList = exports.GenericModelList = exports.DataGridBySchemaEditable = exports.FormContext = exports.Form = exports.useTheme = exports.APIWrapperContext = exports.DRFReactBySchemaContext = exports.DRFReactBySchemaProvider = void 0;
6
+ exports.slugToCamelCase = exports.hasJWT = exports.clearJWT = exports.getPatternFormat = exports.isTmpId = exports.getTmpId = exports.errorProps = exports.buildGenericYupValidationSchema = exports.populateValues = exports.getChoiceByValue = exports.emptyByType = exports.getGenericModel = exports.getGenericModelList = exports.isLoggedIn = exports.setAuthToken = exports.loginByPayload = exports.createOrUpdateJSONSchema = exports.getJSONSchema = exports.getAutoComplete = exports.addExistingRelatedModel = exports.updateDataBySchema = exports.createOrUpdateData = exports.deleteData = exports.createData = exports.partialUpdateData = exports.updateData = exports.FloatFieldBySchema = exports.AutocompleteFieldBySchema = exports.EditableAutocompleteFieldBySchema = exports.DesktopDateTimePickerBySchema = exports.DesktopDatePickerBySchema = exports.BooleanFieldBySchema = exports.TextFieldBySchema = exports.FieldBySchema = exports.DialogActions = exports.DataTotals = exports.GenericRelatedModelList = exports.GenericModelList = exports.DataGridBySchemaEditable = exports.DialogFormBySchema = exports.FormBySchema = exports.Form = exports.useDRFReactBySchema = exports.useAPIWrapper = exports.DRFReactBySchemaProvider = void 0;
7
7
  // Methods:
8
8
  const api_1 = require("./api");
9
9
  Object.defineProperty(exports, "updateData", { enumerable: true, get: function () { return api_1.updateData; } });
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "setAuthToken", { enumerable: true, get: function
21
21
  Object.defineProperty(exports, "isLoggedIn", { enumerable: true, get: function () { return api_1.isLoggedIn; } });
22
22
  Object.defineProperty(exports, "getGenericModelList", { enumerable: true, get: function () { return api_1.getGenericModelList; } });
23
23
  Object.defineProperty(exports, "getGenericModel", { enumerable: true, get: function () { return api_1.getGenericModel; } });
24
+ Object.defineProperty(exports, "hasJWT", { enumerable: true, get: function () { return api_1.hasJWT; } });
25
+ Object.defineProperty(exports, "clearJWT", { enumerable: true, get: function () { return api_1.clearJWT; } });
24
26
  const utils_1 = require("./utils");
25
27
  Object.defineProperty(exports, "emptyByType", { enumerable: true, get: function () { return utils_1.emptyByType; } });
26
28
  Object.defineProperty(exports, "getChoiceByValue", { enumerable: true, get: function () { return utils_1.getChoiceByValue; } });
@@ -30,15 +32,22 @@ Object.defineProperty(exports, "errorProps", { enumerable: true, get: function (
30
32
  Object.defineProperty(exports, "getTmpId", { enumerable: true, get: function () { return utils_1.getTmpId; } });
31
33
  Object.defineProperty(exports, "isTmpId", { enumerable: true, get: function () { return utils_1.isTmpId; } });
32
34
  Object.defineProperty(exports, "getPatternFormat", { enumerable: true, get: function () { return utils_1.getPatternFormat; } });
35
+ Object.defineProperty(exports, "slugToCamelCase", { enumerable: true, get: function () { return utils_1.slugToCamelCase; } });
33
36
  // Wrappers/Providers:
34
37
  const DRFReactBySchemaProvider_1 = __importDefault(require("./context/DRFReactBySchemaProvider"));
35
38
  exports.DRFReactBySchemaProvider = DRFReactBySchemaProvider_1.default;
36
39
  const DRFReactBySchemaContext_1 = require("./context/DRFReactBySchemaContext");
37
- Object.defineProperty(exports, "DRFReactBySchemaContext", { enumerable: true, get: function () { return DRFReactBySchemaContext_1.DRFReactBySchemaContext; } });
38
- Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return DRFReactBySchemaContext_1.useTheme; } });
40
+ Object.defineProperty(exports, "useDRFReactBySchema", { enumerable: true, get: function () { return DRFReactBySchemaContext_1.useDRFReactBySchema; } });
39
41
  const APIWrapperContext_1 = require("./context/APIWrapperContext");
40
- Object.defineProperty(exports, "APIWrapperContext", { enumerable: true, get: function () { return APIWrapperContext_1.APIWrapperContext; } });
41
- // Components
42
+ Object.defineProperty(exports, "useAPIWrapper", { enumerable: true, get: function () { return APIWrapperContext_1.useAPIWrapper; } });
43
+ // Forms:
44
+ const Form_1 = __importDefault(require("./context/Form"));
45
+ exports.Form = Form_1.default;
46
+ const FormBySchema_1 = __importDefault(require("./components/forms/FormBySchema"));
47
+ exports.FormBySchema = FormBySchema_1.default;
48
+ const DialogFormBySchema_1 = __importDefault(require("./components/forms/DialogFormBySchema"));
49
+ exports.DialogFormBySchema = DialogFormBySchema_1.default;
50
+ // Components:
42
51
  const DataGridBySchemaEditable_1 = __importDefault(require("./components/DataGridBySchemaEditable"));
43
52
  exports.DataGridBySchemaEditable = DataGridBySchemaEditable_1.default;
44
53
  const GenericModelList_1 = __importDefault(require("./components/GenericModelList"));
@@ -49,5 +58,20 @@ const DataTotals_1 = __importDefault(require("./components/DataTotals"));
49
58
  exports.DataTotals = DataTotals_1.default;
50
59
  const DialogActions_1 = __importDefault(require("./components/DialogActions"));
51
60
  exports.DialogActions = DialogActions_1.default;
52
- const Form_1 = __importDefault(require("./context/Form"));
53
- exports.Form = Form_1.default;
61
+ // FormComponents
62
+ const FieldBySchema_1 = __importDefault(require("./components/forms/FieldBySchema"));
63
+ exports.FieldBySchema = FieldBySchema_1.default;
64
+ const TextFieldBySchema_1 = __importDefault(require("./components/forms/inputs/TextFieldBySchema"));
65
+ exports.TextFieldBySchema = TextFieldBySchema_1.default;
66
+ const BooleanFieldBySchema_1 = __importDefault(require("./components/forms/inputs/BooleanFieldBySchema"));
67
+ exports.BooleanFieldBySchema = BooleanFieldBySchema_1.default;
68
+ const DesktopDatePickerBySchema_1 = __importDefault(require("./components/forms/inputs/DesktopDatePickerBySchema"));
69
+ exports.DesktopDatePickerBySchema = DesktopDatePickerBySchema_1.default;
70
+ const DesktopDateTimePickerBySchema_1 = __importDefault(require("./components/forms/inputs/DesktopDateTimePickerBySchema"));
71
+ exports.DesktopDateTimePickerBySchema = DesktopDateTimePickerBySchema_1.default;
72
+ const EditableAutocompleteFieldBySchema_1 = __importDefault(require("./components/forms/inputs/EditableAutocompleteFieldBySchema"));
73
+ exports.EditableAutocompleteFieldBySchema = EditableAutocompleteFieldBySchema_1.default;
74
+ const AutocompleteFieldBySchema_1 = __importDefault(require("./components/forms/inputs/AutocompleteFieldBySchema"));
75
+ exports.AutocompleteFieldBySchema = AutocompleteFieldBySchema_1.default;
76
+ const FloatFieldBySchema_1 = __importDefault(require("./components/forms/inputs/FloatFieldBySchema"));
77
+ exports.FloatFieldBySchema = FloatFieldBySchema_1.default;
@@ -36,6 +36,13 @@ export declare const loadingBox: {
36
36
  flexDirection: string;
37
37
  alignItems: string;
38
38
  };
39
+ export declare const loadingBoxWhite: {
40
+ height: string;
41
+ justifyContent: string;
42
+ display: string;
43
+ flexDirection: string;
44
+ alignItems: string;
45
+ };
39
46
  export declare const actionButtons: {
40
47
  width: string;
41
48
  alignItems: string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.geoPicker = exports.metabaseAppEmbed = exports.formCardContent = exports.formCard = exports.fullWidthButton = exports.dataGridFixedHeight = exports.dataGridWithTabs = exports.dataGrid = exports.topBarOverList = exports.flexRowGrow = exports.flexColumn = exports.inLineForm = exports.actionButtons = exports.loadingBox = exports.topBar = exports.flexRow = exports.main = exports.content = void 0;
6
+ exports.geoPicker = exports.metabaseAppEmbed = exports.formCardContent = exports.formCard = exports.fullWidthButton = exports.dataGridFixedHeight = exports.dataGridWithTabs = exports.dataGrid = exports.topBarOverList = exports.flexRowGrow = exports.flexColumn = exports.inLineForm = exports.actionButtons = exports.loadingBoxWhite = exports.loadingBox = exports.topBar = exports.flexRow = exports.main = exports.content = void 0;
7
7
  const theme_1 = __importDefault(require("./theme"));
8
8
  exports.content = {
9
9
  flexGrow: 1,
@@ -21,6 +21,7 @@ exports.flexRow = {
21
21
  };
22
22
  exports.topBar = Object.assign(Object.assign({}, exports.flexRow), { width: '100%', pl: 3, pr: 6 });
23
23
  exports.loadingBox = Object.assign(Object.assign({}, exports.flexRow), { height: '100%', backgroundColor: '#ccc', justifyContent: 'center' });
24
+ exports.loadingBoxWhite = Object.assign(Object.assign({}, exports.flexRow), { height: '100%', justifyContent: 'center' });
24
25
  exports.actionButtons = Object.assign(Object.assign({}, exports.flexRow), { width: '100%', alignItems: 'flex-start' });
25
26
  exports.inLineForm = Object.assign(Object.assign({}, exports.flexRow), { width: '100%', justifyContent: 'flex-start' });
26
27
  exports.flexColumn = Object.assign(Object.assign({}, exports.flexRow), { flexDirection: 'column' });
@@ -6,67 +6,102 @@ const x_data_grid_1 = require("@mui/x-data-grid");
6
6
  const x_date_pickers_1 = require("@mui/x-date-pickers");
7
7
  x_data_grid_1.ptBR.components.MuiDataGrid.defaultProps.localeText = Object.assign(Object.assign({}, x_data_grid_1.ptBR.components.MuiDataGrid.defaultProps.localeText), { toolbarQuickFilterPlaceholder: 'Buscar...', toolbarQuickFilterLabel: 'Buscar', toolbarQuickFilterDeleteIconLabel: 'Limpar busca' });
8
8
  const palette = {
9
- avatars: ['#e60049', '#0bb4ff', '#50e991', '#e6d800', '#9b19f5', '#ffa300', '#dc0ab4', '#b3d4ff', '#00bfa0'],
10
- avatarsMore: ['#023fa5', '#8e063b', '#d33f6a', '#11c638', '#ef9708', '#0fcfc0', '#f79cd4', '#7d87b9', '#bb7784', '#4a6fe3', '#8595e1', '#b5bbe3', '#e6afb9', '#e07b91', '#8dd593', '#c6dec7', '#ead3c6', '#f0b98d', '#9cded6', '#d5eae7', '#f3e1eb', '#f6c4e1', '#bec1d4', '#d6bcc0'],
9
+ avatars: [
10
+ '#e60049',
11
+ '#0bb4ff',
12
+ '#50e991',
13
+ '#e6d800',
14
+ '#9b19f5',
15
+ '#ffa300',
16
+ '#dc0ab4',
17
+ '#b3d4ff',
18
+ '#00bfa0',
19
+ ],
20
+ avatarsMore: [
21
+ '#023fa5',
22
+ '#8e063b',
23
+ '#d33f6a',
24
+ '#11c638',
25
+ '#ef9708',
26
+ '#0fcfc0',
27
+ '#f79cd4',
28
+ '#7d87b9',
29
+ '#bb7784',
30
+ '#4a6fe3',
31
+ '#8595e1',
32
+ '#b5bbe3',
33
+ '#e6afb9',
34
+ '#e07b91',
35
+ '#8dd593',
36
+ '#c6dec7',
37
+ '#ead3c6',
38
+ '#f0b98d',
39
+ '#9cded6',
40
+ '#d5eae7',
41
+ '#f3e1eb',
42
+ '#f6c4e1',
43
+ '#bec1d4',
44
+ '#d6bcc0',
45
+ ],
11
46
  topBarButton: {
12
- main: '#ffffff'
47
+ main: '#ffffff',
13
48
  },
14
49
  producao: {
15
50
  main: '#e60049',
16
- contrastText: '#fff'
51
+ contrastText: '#fff',
17
52
  },
18
53
  empreendimento: {
19
54
  main: '#0bb4ff',
20
- contrastText: '#fff'
55
+ contrastText: '#fff',
21
56
  },
22
57
  comercializacao: {
23
58
  main: '#ffa300',
24
- contrastText: '#fff'
59
+ contrastText: '#fff',
25
60
  },
26
61
  credito: {
27
62
  main: '#dc0ab4',
28
- contrastText: '#fff'
63
+ contrastText: '#fff',
29
64
  },
30
65
  certificacao: {
31
66
  main: '#9b19f5',
32
- contrastText: '#fff'
67
+ contrastText: '#fff',
33
68
  },
34
69
  background: {
35
- default: '#D9D9D9'
70
+ default: '#D9D9D9',
36
71
  },
37
72
  primary: {
38
- main: '#3949AB'
73
+ main: '#3949AB',
39
74
  },
40
75
  secondary: {
41
76
  main: '#9ca4d5',
42
- contrastText: '#fff'
77
+ contrastText: '#fff',
43
78
  },
44
79
  successButton: {
45
80
  main: '#CDDC39',
46
- contrastText: '#fff'
81
+ contrastText: '#fff',
47
82
  },
48
83
  success: {
49
84
  main: '#0e0',
50
85
  contrastText: '#fff',
51
- semaphoric: '#0e0'
86
+ semaphoric: '#0e0',
52
87
  },
53
88
  error: {
54
89
  main: '#d32f2f',
55
- semaphoric: '#f66'
90
+ semaphoric: '#f66',
56
91
  },
57
92
  warning: {
58
93
  main: '#ee0',
59
- semaphoric: '#ee0'
94
+ semaphoric: '#ee0',
60
95
  },
61
96
  selectedItem: {
62
- main: '#2962FF'
97
+ main: '#2962FF',
63
98
  },
64
99
  tableColumnHeader: {
65
- main: '#ECEFF1'
100
+ main: '#ECEFF1',
66
101
  },
67
102
  formCard: {
68
- main: '#FFF'
69
- }
103
+ main: '#FFF',
104
+ },
70
105
  };
71
106
  const defaultTheme = (0, styles_1.createTheme)({
72
107
  palette,
@@ -75,17 +110,17 @@ const defaultTheme = (0, styles_1.createTheme)({
75
110
  styleOverrides: {
76
111
  contained: {
77
112
  // borderRadius: 50
78
- }
79
- }
113
+ },
114
+ },
80
115
  },
81
116
  MuiTextField: {
82
117
  styleOverrides: {
83
118
  root: {
84
119
  '&.Mui-required .MuiFormLabel-asterisk': {
85
120
  // color: '#F00'
86
- }
87
- }
88
- }
121
+ },
122
+ },
123
+ },
89
124
  },
90
125
  MuiListItemButton: {
91
126
  styleOverrides: {
@@ -93,20 +128,20 @@ const defaultTheme = (0, styles_1.createTheme)({
93
128
  '&.Mui-selected, :hover': {
94
129
  color: palette.selectedItem.main,
95
130
  '& .MuiListItemIcon-root': {
96
- color: palette.selectedItem.main
97
- }
131
+ color: palette.selectedItem.main,
132
+ },
98
133
  },
99
134
  '&.Mui-selected:hover': {
100
135
  color: palette.selectedItem.main,
101
136
  '& .MuiListItemIcon-root': {
102
- color: palette.selectedItem.main
103
- }
137
+ color: palette.selectedItem.main,
138
+ },
104
139
  },
105
140
  '&.disabled': {
106
- opacity: 0.5
107
- }
108
- }
109
- }
141
+ opacity: 0.5,
142
+ },
143
+ },
144
+ },
110
145
  },
111
146
  MuiDataGrid: {
112
147
  styleOverrides: {
@@ -115,25 +150,25 @@ const defaultTheme = (0, styles_1.createTheme)({
115
150
  '& .MuiDataGrid-columnHeaderTitle': {
116
151
  overflow: 'visible',
117
152
  lineHeight: '1.43rem',
118
- whiteSpace: 'normal'
119
- }
153
+ whiteSpace: 'normal',
154
+ },
120
155
  },
121
156
  cell: {
122
157
  // backgroundColor: 'yellow'
123
158
  },
124
159
  columnHeader: {
125
- backgroundColor: palette.tableColumnHeader.main
126
- }
127
- }
160
+ backgroundColor: palette.tableColumnHeader.main,
161
+ },
162
+ },
128
163
  },
129
164
  MuiTabs: {
130
165
  styleOverrides: {
131
166
  root: {
132
167
  backgroundColor: palette.formCard.main,
133
- marginTop: 20
134
- }
135
- }
136
- }
137
- }
168
+ marginTop: 20,
169
+ },
170
+ },
171
+ },
172
+ },
138
173
  }, locale_1.ptBR, x_data_grid_1.ptBR, x_date_pickers_1.ptBR);
139
174
  exports.default = defaultTheme;
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,9 @@
1
+ /// <reference types="react" />
1
2
  import { CalendarPickerView } from '@mui/x-date-pickers/CalendarPicker';
2
3
  import { GridActionsColDef, GridColDef, GridFilterModel, GridSortModel } from '@mui/x-data-grid';
4
+ import { Control, FieldValues, UseFormGetValues, UseFormSetValue } from 'react-hook-form';
5
+ import { AutocompleteRenderOptionState, SxProps } from '@mui/material';
6
+ import { OnEditModelType } from './context/APIWrapperContext';
3
7
  export type Id = string | number;
4
8
  export type Item = Record<string, any>;
5
9
  export type PaginatedResult = {
@@ -42,6 +46,10 @@ export interface Field {
42
46
  validators_regex?: Item[];
43
47
  many?: boolean;
44
48
  date_views?: CalendarPickerView[];
49
+ required?: boolean;
50
+ disabled?: boolean;
51
+ help_text?: string;
52
+ model_multiline?: boolean;
45
53
  }
46
54
  interface GridBySchemaColDef extends GridColDef {
47
55
  isIndexField?: boolean;
@@ -70,21 +78,50 @@ export interface ItemSchemaColumnsType {
70
78
  modelOptions: modelOptionsType;
71
79
  columns?: GridEnrichedBySchemaColDef[];
72
80
  }
81
+ export interface FieldBySchemaProps {
82
+ name: string;
83
+ schema: SchemaType;
84
+ control: Control;
85
+ errors: Item;
86
+ multiline?: boolean;
87
+ setValue?: UseFormSetValue<FieldValues>;
88
+ getValues?: UseFormGetValues<FieldValues>;
89
+ fieldKey?: string;
90
+ labelKey?: string;
91
+ index?: number;
92
+ optionsAC?: Record<string, Item[]>;
93
+ optionsModel?: string;
94
+ getOptionLabel?: (option: Item | string) => string;
95
+ renderOption?: (props: React.HTMLAttributes<HTMLLIElement>, option: Item, state: AutocompleteRenderOptionState) => React.ReactNode;
96
+ onEditModel?: (x: OnEditModelType) => void;
97
+ multiple?: boolean;
98
+ sx?: SxProps;
99
+ options?: Item[];
100
+ isSemaphoric?: boolean;
101
+ label?: string;
102
+ onValueChange?: (x: any) => void;
103
+ decimalScale?: number;
104
+ isPassword?: boolean;
105
+ type?: React.HTMLInputTypeAttribute;
106
+ autocomplete?: string;
107
+ minRows?: number;
108
+ optionIdKey?: string;
109
+ optionLabelKey?: string;
110
+ }
73
111
  export declare const emptyByType: any;
74
112
  export declare const getChoiceByValue: (value: number | string, choices: Choice[] | undefined) => string | null | undefined;
75
113
  export declare const populateValues: ({ data, schema }: {
76
114
  data: Item;
77
115
  schema: SchemaType;
78
116
  }) => Record<string, any>;
79
- export declare const buildGenericYupValidationSchema: ({ data, schema, many, skipFields, extraValidators }: {
117
+ export declare const buildGenericYupValidationSchema: ({ data, schema, many, skipFields, extraValidators, }: {
80
118
  data: Item;
81
119
  schema: SchemaType;
82
120
  many?: boolean | undefined;
83
121
  skipFields?: string[] | undefined;
84
122
  extraValidators?: Item | undefined;
85
123
  }) => any;
86
- export declare const errorProps: ({ type, errors, fieldKey, fieldKeyProp, index }: {
87
- type: string;
124
+ export declare const errorProps: ({ errors, fieldKey, fieldKeyProp, index, }: {
88
125
  errors: Item;
89
126
  fieldKey: string;
90
127
  fieldKeyProp: string;
@@ -95,8 +132,9 @@ export declare const errorProps: ({ type, errors, fieldKey, fieldKeyProp, index
95
132
  };
96
133
  export declare const getTmpId: () => string;
97
134
  export declare const isTmpId: (id: string | number | undefined | null) => boolean;
98
- export declare const reducer: (state: Record<string, any> | null, newState: Record<string, any>) => Record<string, any> | null;
135
+ export declare function reducer<T>(state: T | null, newState: Partial<T> | null): T | null;
99
136
  export declare const getPatternFormat: (type: string) => string;
100
137
  export type AddParametersToEnd<TFunction extends (...args: any) => any, TParameters extends [...args: any]> = (...args: [...Parameters<TFunction>, ...TParameters]) => ReturnType<TFunction>;
101
138
  export declare function buildDateFormatBySchema(dateViews: string[] | null | undefined): "DD/MM/yyyy" | "MM/yyyy" | "yyyy" | "MM" | "DD";
139
+ export declare const slugToCamelCase: (str: string) => string;
102
140
  export {};