drf-react-by-schema 0.17.11 → 0.17.13

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 (41) hide show
  1. package/dist/api.d.ts +12 -13
  2. package/dist/components/DataGridBySchemaEditable/ConfirmDialog.d.ts +1 -1
  3. package/dist/components/DataGridBySchemaEditable/CustomToolbar.d.ts +7 -2
  4. package/dist/components/DataGridBySchemaEditable/CustomToolbar.js +20 -19
  5. package/dist/components/DataGridBySchemaEditable/FooterToolbar.d.ts +2 -2
  6. package/dist/components/DataGridBySchemaEditable/GridDateInput.d.ts +2 -2
  7. package/dist/components/DataGridBySchemaEditable/GridDecimalInput.d.ts +2 -2
  8. package/dist/components/DataGridBySchemaEditable/GridPatternInput.d.ts +2 -2
  9. package/dist/components/DataGridBySchemaEditable/InputInterval.d.ts +4 -4
  10. package/dist/components/DataGridBySchemaEditable/utils.d.ts +2 -2
  11. package/dist/components/DataGridBySchemaEditable.d.ts +5 -0
  12. package/dist/components/DataGridBySchemaEditable.js +6 -1
  13. package/dist/components/DataTotals.d.ts +2 -2
  14. package/dist/components/DataTotalsServer.d.ts +2 -2
  15. package/dist/components/DialogActions.d.ts +1 -1
  16. package/dist/components/DialogJSONSchemaForm.d.ts +13 -0
  17. package/dist/components/DialogJSONSchemaForm.js +20 -0
  18. package/dist/components/FormButtons.d.ts +1 -1
  19. package/dist/components/GenericModelList.d.ts +2 -2
  20. package/dist/components/GenericRelatedModelList.d.ts +2 -2
  21. package/dist/components/details/DetailBySchema.d.ts +2 -2
  22. package/dist/components/details/DetailFieldBySchema.d.ts +2 -2
  23. package/dist/components/forms/DialogFormBySchema.d.ts +2 -2
  24. package/dist/components/forms/FieldBySchema.d.ts +2 -2
  25. package/dist/components/forms/FormBySchema.d.ts +2 -2
  26. package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts +2 -2
  27. package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +2 -2
  28. package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts +2 -2
  29. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +2 -2
  30. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts +1 -2
  31. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +14 -1
  32. package/dist/components/forms/inputs/FloatFieldBySchema.d.ts +2 -2
  33. package/dist/components/forms/inputs/TextFieldBySchema.d.ts +2 -2
  34. package/dist/context/APIWrapper.d.ts +1 -1
  35. package/dist/context/DRFReactBySchemaProvider.d.ts +1 -1
  36. package/dist/context/Form.d.ts +1 -1
  37. package/dist/context/Overlays.d.ts +1 -1
  38. package/dist/styles/layout.d.ts +1 -1
  39. package/dist/styles/theme.d.ts +1 -1
  40. package/dist/utils.d.ts +2 -3
  41. package/package.json +2 -2
package/dist/api.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { AxiosError } from 'axios';
2
1
  import { serverEndPointType } from './context/DRFReactBySchemaContext';
3
2
  import { Item, SchemaType, DataSchemaColumnsType, ItemSchemaColumnsType, Id, TargetApiParams, TargetApiPostParams, GetGenericModelListProps } from './utils';
4
3
  interface TargetApiParamsOptionalId {
@@ -10,17 +9,17 @@ interface TargetApiParamsOptionalId {
10
9
  export declare const getRawData: ({ path, serverEndPoint, }: {
11
10
  path: string;
12
11
  serverEndPoint: serverEndPointType | null;
13
- }) => Promise<Item[] | AxiosError<unknown, any>>;
12
+ }) => Promise<any>;
14
13
  /**
15
14
  *
16
15
  * @param options - params
17
16
  * @returns updatedData when succesfully updated, axiosError otherwise
18
17
  */
19
- export declare const updateData: ({ path, serverEndPoint, data, id }: TargetApiParams) => Promise<Item>;
20
- export declare const partialUpdateData: ({ path, serverEndPoint, data, id }: TargetApiParams) => Promise<Item>;
21
- export declare const createData: ({ path, serverEndPoint, data }: TargetApiPostParams) => Promise<Item>;
22
- export declare const deleteData: (path: string, serverEndPoint: serverEndPointType | null, id: Id) => Promise<true | AxiosError<unknown, any>>;
23
- export declare const createOrUpdateData: ({ path, serverEndPoint, data, id, }: TargetApiParamsOptionalId) => Promise<Item>;
18
+ export declare const updateData: ({ path, serverEndPoint, data, id }: TargetApiParams) => Promise<any>;
19
+ export declare const partialUpdateData: ({ path, serverEndPoint, data, id }: TargetApiParams) => Promise<any>;
20
+ export declare const createData: ({ path, serverEndPoint, data }: TargetApiPostParams) => Promise<any>;
21
+ export declare const deleteData: (path: string, serverEndPoint: serverEndPointType | null, id: Id) => Promise<any>;
22
+ export declare const createOrUpdateData: ({ path, serverEndPoint, data, id, }: TargetApiParamsOptionalId) => Promise<any>;
24
23
  export declare const updateDataBySchema: ({ model, modelObjectId, serverEndPoint, data, schema, path, }: {
25
24
  model: string;
26
25
  modelObjectId: Id;
@@ -28,24 +27,24 @@ export declare const updateDataBySchema: ({ model, modelObjectId, serverEndPoint
28
27
  data: Item;
29
28
  schema: SchemaType;
30
29
  path?: string | null | undefined;
31
- }) => Promise<Item>;
30
+ }) => Promise<any>;
32
31
  export declare const addExistingRelatedModel: ({ model, serverEndPoint, id, data, }: {
33
32
  model: string;
34
33
  serverEndPoint: serverEndPointType | null;
35
34
  id: Id;
36
35
  data: Item;
37
- }) => Promise<Item>;
36
+ }) => Promise<any>;
38
37
  export declare const getAutoComplete: ({ model, serverEndPoint, }: {
39
38
  model: string;
40
39
  serverEndPoint: serverEndPointType | null;
41
40
  }) => Promise<false | Item[]>;
42
- export declare const loginByPayload: (payload: Item, serverEndPoint: serverEndPointType | null) => Promise<boolean | AxiosError<unknown, any>>;
41
+ export declare const loginByPayload: (payload: Item, serverEndPoint: serverEndPointType | null) => Promise<any>;
43
42
  export declare const clearJWT: () => boolean;
44
43
  export declare const hasJWT: () => boolean;
45
44
  export declare const setAuthToken: (token: string | null) => void;
46
45
  export declare const isLoggedIn: (serverEndPoint: serverEndPointType | null) => Promise<false | Item>;
47
- export declare const getSignUpOptions: (serverEndPoint: serverEndPointType | null) => Promise<SchemaType | AxiosError<unknown, any>>;
48
- export declare const signUp: (data: Item, serverEndPoint: serverEndPointType | null) => Promise<Item>;
46
+ export declare const getSignUpOptions: (serverEndPoint: serverEndPointType | null) => Promise<any>;
47
+ export declare const signUp: (data: Item, serverEndPoint: serverEndPointType | null) => Promise<any>;
49
48
  export declare const getGenericModelList: ({ model, serverEndPoint, id, relatedModel, relatedModelId, columnFields, hiddenFields, creatableFields, disabledFields, isInBatches, loadedSchema, loadedModelOptions, page, filter, queryParams, sort, sumRows, }: GetGenericModelListProps) => Promise<false | DataSchemaColumnsType>;
50
49
  export declare const getGenericModel: ({ model, serverEndPoint, id, relatedModel, relatedModelId, }: {
51
50
  model: string;
@@ -54,5 +53,5 @@ export declare const getGenericModel: ({ model, serverEndPoint, id, relatedModel
54
53
  relatedModel?: string | undefined;
55
54
  relatedModelId?: string | undefined;
56
55
  }) => Promise<false | ItemSchemaColumnsType>;
57
- export declare const getAllModels: (serverEndPoint: serverEndPointType | null) => Promise<Item[] | AxiosError<unknown, any>>;
56
+ export declare const getAllModels: (serverEndPoint: serverEndPointType | null) => Promise<any>;
58
57
  export {};
@@ -4,5 +4,5 @@ type FConfirmDialogProps = {
4
4
  onClose: (p: any) => void;
5
5
  onConfirm: (p: any) => void;
6
6
  };
7
- export declare const ConfirmDialog: React.MemoExoticComponent<({ open, onClose, onConfirm }: FConfirmDialogProps) => React.JSX.Element>;
7
+ export declare const ConfirmDialog: React.MemoExoticComponent<({ open, onClose, onConfirm }: FConfirmDialogProps) => JSX.Element>;
8
8
  export {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { BulkDeleteData, BulkUpdateData, GridEnrichedBySchemaColDef, Id, Item, OnSelectActions } from '../../utils';
3
3
  type CustomToolbarProps = {
4
4
  preparedColumns: GridEnrichedBySchemaColDef[];
@@ -8,11 +8,16 @@ type CustomToolbarProps = {
8
8
  bulkUpdateData: BulkUpdateData;
9
9
  bulkDeleteData: BulkDeleteData;
10
10
  bulkCreateData: (p: Id[]) => void;
11
+ hideColumnsButton?: boolean;
12
+ hideFilterButton?: boolean;
13
+ hideDensityButton?: boolean;
14
+ hideExportButton?: boolean;
15
+ hideQuickFilterBar?: boolean;
11
16
  };
12
17
  /**
13
18
  *
14
19
  *
15
20
  * @returns Custom Toolbar for the grid
16
21
  */
17
- export declare const CustomToolbar: ({ preparedColumns, setPreparedColumns, onSelectActions, selectionModel, bulkUpdateData, bulkDeleteData, bulkCreateData, }: CustomToolbarProps) => React.JSX.Element;
22
+ export declare const CustomToolbar: ({ preparedColumns, setPreparedColumns, onSelectActions, selectionModel, bulkUpdateData, bulkDeleteData, bulkCreateData, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, }: CustomToolbarProps) => JSX.Element;
18
23
  export {};
@@ -40,7 +40,7 @@ const utils_1 = require("./utils");
40
40
  *
41
41
  * @returns Custom Toolbar for the grid
42
42
  */
43
- const CustomToolbar = ({ preparedColumns, setPreparedColumns, onSelectActions, selectionModel, bulkUpdateData, bulkDeleteData, bulkCreateData, }) => {
43
+ const CustomToolbar = ({ preparedColumns, setPreparedColumns, onSelectActions, selectionModel, bulkUpdateData, bulkDeleteData, bulkCreateData, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, }) => {
44
44
  const apiRef = (0, x_data_grid_1.useGridApiContext)();
45
45
  const [resizeMenuAnchorEl, setResizeMenuAnchorEl] = (0, react_1.useState)(null);
46
46
  const isResizeMenuOpen = Boolean(resizeMenuAnchorEl);
@@ -81,23 +81,24 @@ const CustomToolbar = ({ preparedColumns, setPreparedColumns, onSelectActions, s
81
81
  }
82
82
  selectAction.action(selectionModel, bulkUpdateData);
83
83
  } }, selectAction.title)))))),
84
- react_1.default.createElement(x_data_grid_1.GridToolbarColumnsButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: '' }),
85
- react_1.default.createElement(x_data_grid_1.GridToolbarFilterButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: '' }),
86
- react_1.default.createElement(x_data_grid_1.GridToolbarDensitySelector, { sx: { ml: '10px', fontSize: '13px' }, placeholder: '' }),
87
- react_1.default.createElement(Button_1.default, { onClick: openResizeMenu, sx: { ml: '0px', fontSize: '13px' } },
88
- react_1.default.createElement(Expand_1.default, { sx: { transform: 'rotate(90deg)', mr: '6px' } }),
89
- "Ajustar"),
90
- react_1.default.createElement(Menu_1.default, { anchorEl: resizeMenuAnchorEl, open: isResizeMenuOpen, onClose: closeResizeMenu },
91
- react_1.default.createElement(MenuItem_1.default, { onClick: () => {
92
- closeResizeMenu();
93
- setPreparedColumns((0, utils_1.resizeColumns)(preparedColumns, 'fitScreen', apiRef));
94
- } }, "Ajustar \u00E0 tela"),
95
- react_1.default.createElement(MenuItem_1.default, { onClick: () => {
96
- closeResizeMenu();
97
- setPreparedColumns((0, utils_1.resizeColumns)(preparedColumns, 'maxContent', apiRef));
98
- } }, "Ajustar ao conte\u00FAdo")),
99
- react_1.default.createElement(x_data_grid_1.GridToolbarExport, { sx: { ml: '0px', fontSize: '13px' } })),
100
- react_1.default.createElement("div", null,
101
- react_1.default.createElement(x_data_grid_1.GridToolbarQuickFilter, null))));
84
+ hideColumnsButton && (react_1.default.createElement(x_data_grid_1.GridToolbarColumnsButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: '' })),
85
+ hideFilterButton && (react_1.default.createElement(x_data_grid_1.GridToolbarFilterButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: '' })),
86
+ hideDensityButton && (react_1.default.createElement(react_1.default.Fragment, null,
87
+ react_1.default.createElement(x_data_grid_1.GridToolbarDensitySelector, { sx: { ml: '10px', fontSize: '13px' }, placeholder: '' }),
88
+ react_1.default.createElement(Button_1.default, { onClick: openResizeMenu, sx: { ml: '0px', fontSize: '13px' } },
89
+ react_1.default.createElement(Expand_1.default, { sx: { transform: 'rotate(90deg)', mr: '6px' } }),
90
+ "Ajustar"),
91
+ react_1.default.createElement(Menu_1.default, { anchorEl: resizeMenuAnchorEl, open: isResizeMenuOpen, onClose: closeResizeMenu },
92
+ react_1.default.createElement(MenuItem_1.default, { onClick: () => {
93
+ closeResizeMenu();
94
+ setPreparedColumns((0, utils_1.resizeColumns)(preparedColumns, 'fitScreen', apiRef));
95
+ } }, "Ajustar \u00E0 tela"),
96
+ react_1.default.createElement(MenuItem_1.default, { onClick: () => {
97
+ closeResizeMenu();
98
+ setPreparedColumns((0, utils_1.resizeColumns)(preparedColumns, 'maxContent', apiRef));
99
+ } }, "Ajustar ao conte\u00FAdo")))),
100
+ hideExportButton && react_1.default.createElement(x_data_grid_1.GridToolbarExport, { sx: { ml: '0px', fontSize: '13px' } })),
101
+ hideQuickFilterBar && (react_1.default.createElement("div", null,
102
+ react_1.default.createElement(x_data_grid_1.GridToolbarQuickFilter, null)))));
102
103
  };
103
104
  exports.CustomToolbar = CustomToolbar;
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  type FooterToolbarProps = {
3
3
  isEditable: boolean;
4
4
  handleAddItem: () => void;
5
5
  };
6
- export declare const FooterToolbar: ({ isEditable, handleAddItem }: FooterToolbarProps) => React.JSX.Element;
6
+ export declare const FooterToolbar: ({ isEditable, handleAddItem }: FooterToolbarProps) => JSX.Element;
7
7
  export {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { DateView } from '@mui/x-date-pickers';
3
3
  import { GenericValue } from '../../utils';
4
4
  type GridDateInputProps = {
@@ -8,5 +8,5 @@ type GridDateInputProps = {
8
8
  column: object;
9
9
  dateViews?: DateView[];
10
10
  };
11
- export declare const GridDateInput: ({ id, value, field, dateViews }: GridDateInputProps) => React.JSX.Element;
11
+ export declare const GridDateInput: ({ id, value, field, dateViews }: GridDateInputProps) => JSX.Element;
12
12
  export {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  type GridDecimalInputProps = {
3
3
  field: string;
4
4
  id: number | string;
@@ -9,5 +9,5 @@ type GridDecimalInputProps = {
9
9
  suffix?: string;
10
10
  isCurrency?: boolean;
11
11
  };
12
- export declare const GridDecimalInput: ({ id, value, field, decimalPlaces, prefix, suffix, isCurrency, }: GridDecimalInputProps) => React.JSX.Element;
12
+ export declare const GridDecimalInput: ({ id, value, field, decimalPlaces, prefix, suffix, isCurrency, }: GridDecimalInputProps) => JSX.Element;
13
13
  export {};
@@ -1,9 +1,9 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  type GridPatternInputProps = {
3
3
  field: string;
4
4
  id: number | string;
5
5
  value?: string | number | null;
6
6
  patternFormat?: string;
7
7
  };
8
- export declare const GridPatternInput: ({ id, value, field, patternFormat, }: GridPatternInputProps) => React.JSX.Element;
8
+ export declare const GridPatternInput: ({ id, value, field, patternFormat, }: GridPatternInputProps) => JSX.Element;
9
9
  export {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- export declare const InputNumberInterval: (props: any) => React.JSX.Element;
3
- export declare const InputDateInterval: (props: any) => React.JSX.Element;
4
- export declare const InputFloatInterval: (props: any) => React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const InputNumberInterval: (props: any) => JSX.Element;
3
+ export declare const InputDateInterval: (props: any) => JSX.Element;
4
+ export declare const InputFloatInterval: (props: any) => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { GridApi, GridFilterOperator } from '@mui/x-data-grid';
2
+ import { GridApi } from '@mui/x-data-grid';
3
3
  import { GridEnrichedBySchemaColDef } from '../../utils';
4
4
  export type ResizeType = 'condense' | 'maxContent' | 'fitScreen';
5
5
  /**
@@ -12,4 +12,4 @@ export type ResizeType = 'condense' | 'maxContent' | 'fitScreen';
12
12
  export declare function resizeColumns(columns: GridEnrichedBySchemaColDef[], resizeType: ResizeType, apiRef: React.MutableRefObject<GridApi>): GridEnrichedBySchemaColDef[];
13
13
  export declare const quantityOnlyOperators: ({ type }: {
14
14
  type: string;
15
- }) => GridFilterOperator<any, any, any>[];
15
+ }) => GridFilterOperator[];
@@ -45,6 +45,11 @@ interface DataGridBySchemaEditableProps {
45
45
  tableAutoHeight?: boolean;
46
46
  actions?: Partial<ActionType>[];
47
47
  customActions?: CustomAction[];
48
+ hideColumnsButton?: boolean;
49
+ hideFilterButton?: boolean;
50
+ hideDensityButton?: boolean;
51
+ hideExportButton?: boolean;
52
+ hideQuickFilterBar?: boolean;
48
53
  optionsAC?: OptionsAC;
49
54
  }
50
55
  declare const DataGridBySchemaEditable: React.ForwardRefExoticComponent<DataGridBySchemaEditableProps & React.RefAttributes<unknown>>;
@@ -63,7 +63,7 @@ const BooleanInputCell_1 = require("./DataGridBySchemaEditable/BooleanInputCell"
63
63
  const FooterToolbar_1 = require("./DataGridBySchemaEditable/FooterToolbar");
64
64
  const ConfirmDialog_1 = require("./DataGridBySchemaEditable/ConfirmDialog");
65
65
  const APIWrapperContext_1 = require("../context/APIWrapperContext");
66
- const DataGridBySchemaEditable = (0, react_1.forwardRef)(({ schema, data, rowCount = 0, columns, model, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', indexFieldViewBasePath, stateToLink = {}, minWidth = 80, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, hasBulkSelect = false, onSelectActions, isAutoHeight = false, defaultValues = {}, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions = ['editInline', 'remove'], customActions, optionsAC: optionsACExternal, }, ref) => {
66
+ const DataGridBySchemaEditable = (0, react_1.forwardRef)(({ schema, data, rowCount = 0, columns, model, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', indexFieldViewBasePath, stateToLink = {}, minWidth = 80, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, hasBulkSelect = false, onSelectActions, isAutoHeight = false, defaultValues = {}, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions = ['editInline', 'remove'], customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, }, ref) => {
67
67
  const { serverEndPoint } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
68
68
  const apiContext = (0, APIWrapperContext_1.useAPIWrapper)();
69
69
  const initialSnackBar = {
@@ -783,6 +783,11 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)(({ schema, data, rowCou
783
783
  bulkUpdateData,
784
784
  bulkDeleteData,
785
785
  bulkCreateData,
786
+ hideColumnsButton,
787
+ hideFilterButton,
788
+ hideDensityButton,
789
+ hideExportButton,
790
+ hideQuickFilterBar,
786
791
  },
787
792
  footer: {
788
793
  isEditable,
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { GridRowId } from '@mui/x-data-grid';
3
3
  import { Item, SumRowsType } from '../utils';
4
4
  interface DataTotalsProps {
@@ -6,5 +6,5 @@ interface DataTotalsProps {
6
6
  sumRows?: SumRowsType;
7
7
  visibleRows: GridRowId[];
8
8
  }
9
- declare const DataTotals: ({ data, sumRows, visibleRows }: DataTotalsProps) => React.JSX.Element;
9
+ declare const DataTotals: ({ data, sumRows, visibleRows }: DataTotalsProps) => JSX.Element;
10
10
  export default DataTotals;
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { SumRowsType } from '../utils';
3
3
  interface DataTotalsServerProps {
4
4
  sumRows?: SumRowsType;
5
5
  totals?: null | Record<string, number>;
6
6
  }
7
- declare const DataTotalsServer: ({ sumRows, totals }: DataTotalsServerProps) => React.JSX.Element;
7
+ declare const DataTotalsServer: ({ sumRows, totals }: DataTotalsServerProps) => JSX.Element;
8
8
  export default DataTotalsServer;
@@ -6,5 +6,5 @@ interface DialogActionsProps {
6
6
  btnCancel?: string;
7
7
  btnConfirm?: string;
8
8
  }
9
- export default function DialogActions({ setDialog, handleSave, btnCancel, btnConfirm, }: DialogActionsProps): React.JSX.Element;
9
+ export default function DialogActions({ setDialog, handleSave, btnCancel, btnConfirm, }: DialogActionsProps): JSX.Element;
10
10
  export {};
@@ -0,0 +1,13 @@
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 {};
@@ -0,0 +1,20 @@
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
+ ;
@@ -17,5 +17,5 @@ interface FormButtonsProps {
17
17
  saveAndContinue?: boolean;
18
18
  sx?: any;
19
19
  }
20
- export default function FormButtons({ model, objId, title, formDisabled, cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, bottom, borderBottom, saveAndContinue, sx }: FormButtonsProps): React.JSX.Element;
20
+ export default function FormButtons({ model, objId, title, formDisabled, cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, bottom, borderBottom, saveAndContinue, sx }: FormButtonsProps): JSX.Element;
21
21
  export {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { GridFilterModel, GridRenderCellParams } from '@mui/x-data-grid';
3
3
  import { GridEnrichedBySchemaColDef, ActionType, Item, OnSelectActions, OptionsAC, FormFieldLayout, CustomAction, SumRowsType } from '../utils';
4
4
  interface GenericModelListProps {
@@ -37,5 +37,5 @@ interface GenericModelListProps {
37
37
  defaultValues?: Item;
38
38
  disableScreenLoading?: boolean;
39
39
  }
40
- declare const GenericModelList: ({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, }: GenericModelListProps) => React.JSX.Element;
40
+ declare const GenericModelList: ({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, }: GenericModelListProps) => JSX.Element;
41
41
  export default GenericModelList;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { GridFilterModel } from '@mui/x-data-grid';
3
3
  import { ActionType, GridEnrichedBySchemaColDef, Id, Item, OnSelectActions, OptionsAC, SumRowsType } from '../utils';
4
4
  interface GenericRelatedModelListProps {
@@ -37,5 +37,5 @@ interface GenericRelatedModelListProps {
37
37
  defaultValues?: Item;
38
38
  LinkComponent?: any | null;
39
39
  }
40
- export default function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, disabledFields, usuaria, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, reloadAfterRowUpdate, customColumnOperations, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, isInBatches, noCardWrapper, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, optionsAC, defaultValues, LinkComponent, }: GenericRelatedModelListProps): React.JSX.Element;
40
+ export default function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, disabledFields, usuaria, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, reloadAfterRowUpdate, customColumnOperations, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, isInBatches, noCardWrapper, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, optionsAC, defaultValues, LinkComponent, }: GenericRelatedModelListProps): JSX.Element;
41
41
  export {};
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { DetailBySchemaProps } from '../../utils';
3
- export default function DetailBySchema({ values, schema, editLink, editLabel, labelKey, decimalScale, fieldsLayout: fieldsLayoutInitial, fieldsProps, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }: DetailBySchemaProps): React.JSX.Element;
3
+ export default function DetailBySchema({ values, schema, editLink, editLabel, labelKey, decimalScale, fieldsLayout: fieldsLayoutInitial, fieldsProps, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }: DetailBySchemaProps): JSX.Element;
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { DetailFieldBySchemaProps } from '../../utils';
3
- export default function DetailFieldBySchema({ name, value, schema, labelKey, optionIdKey, optionLabelKey, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }: DetailFieldBySchemaProps): React.JSX.Element;
3
+ export default function DetailFieldBySchema({ name, value, schema, labelKey, optionIdKey, optionLabelKey, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }: DetailFieldBySchemaProps): JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { AnyObjectSchema } from 'yup';
3
3
  import { FormFieldLayout, Item, SchemaType } from '../../utils';
4
4
  import { DialogType } from '../../context/APIWrapperContext';
@@ -11,5 +11,5 @@ interface DialogFormBySchemaProps {
11
11
  getAutoComplete: (model: string) => Promise<false | Item[]>;
12
12
  fieldsLayout?: FormFieldLayout[];
13
13
  }
14
- export default function DialogFormBySchema({ schema, validationSchema, initialValues, onEditModelSave, setDialog, getAutoComplete, fieldsLayout, }: DialogFormBySchemaProps): React.JSX.Element;
14
+ export default function DialogFormBySchema({ schema, validationSchema, initialValues, onEditModelSave, setDialog, getAutoComplete, fieldsLayout, }: DialogFormBySchemaProps): JSX.Element;
15
15
  export {};
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { FieldBySchemaProps } from '../../utils';
3
- export default function FieldBySchema({ name, schema, control, errors, multiline, setValue, getValues, fieldKey, labelKey, index, optionsAC, optionsModel, getOptionLabel, renderOption, onEditModel, fieldsLayout, sx, options, isSemaphoric, label, onValueChange, decimalScale, ...other }: FieldBySchemaProps): React.JSX.Element;
3
+ export default function FieldBySchema({ name, schema, control, errors, multiline, setValue, getValues, fieldKey, labelKey, index, optionsAC, optionsModel, getOptionLabel, renderOption, onEditModel, fieldsLayout, sx, options, isSemaphoric, label, onValueChange, decimalScale, ...other }: FieldBySchemaProps): JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { UseFormRegister } from 'react-hook-form';
3
3
  import { CommonFieldProps, FieldBySchemaProps, FormFieldLayout, Item, OptionsAC } from '../../utils';
4
4
  interface FormBySchemaProps extends Omit<FieldBySchemaProps, 'name'> {
@@ -12,5 +12,5 @@ interface FormBySchemaProps extends Omit<FieldBySchemaProps, 'name'> {
12
12
  fieldsProps?: Record<string, CommonFieldProps>;
13
13
  relatedEditable?: boolean;
14
14
  }
15
- export default function FormBySchema({ schema, control, errors, register, multiline, setValue, getValues, fieldKey, labelKey, index, optionsAC, setOptionsAC, forceReload, optionsModel, getOptionLabel, renderOption, onEditModel, options, isSemaphoric, label, decimalScale, fieldsLayout: fieldsLayoutInitial, customFieldFormLayouts, fieldsProps, hiddenFields, isolatedGetAutoComplete, relatedEditable, }: FormBySchemaProps): React.JSX.Element;
15
+ export default function FormBySchema({ schema, control, errors, register, multiline, setValue, getValues, fieldKey, labelKey, index, optionsAC, setOptionsAC, forceReload, optionsModel, getOptionLabel, renderOption, onEditModel, options, isSemaphoric, label, decimalScale, fieldsLayout: fieldsLayoutInitial, customFieldFormLayouts, fieldsProps, hiddenFields, isolatedGetAutoComplete, relatedEditable, }: FormBySchemaProps): JSX.Element;
16
16
  export {};
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { FieldBySchemaProps } from '../../../utils';
3
- export default function AutocompleteFieldBySchema({ fieldKey, index, name, schema, control, errors, optionIdKey, optionLabelKey, options, isSemaphoric, sx, onValueChange, ...other }: FieldBySchemaProps): React.JSX.Element;
3
+ export default function AutocompleteFieldBySchema({ fieldKey, index, name, schema, control, errors, optionIdKey, optionLabelKey, options, isSemaphoric, sx, onValueChange, ...other }: FieldBySchemaProps): JSX.Element;
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { FieldBySchemaProps } from '../../../utils';
3
- export default function BooleanFieldBySchema({ name, schema, control, fieldKey, index, sx, onValueChange, ...other }: FieldBySchemaProps): React.JSX.Element;
3
+ export default function BooleanFieldBySchema({ name, schema, control, fieldKey, index, sx, onValueChange, ...other }: FieldBySchemaProps): JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import 'dayjs/locale/pt-br';
3
3
  import { FieldBySchemaProps } from '../../../utils';
4
- export default function DesktopDatePickerBySchema({ name, schema, control, errors, fieldKey, index, sx, }: FieldBySchemaProps): React.JSX.Element;
4
+ export default function DesktopDatePickerBySchema({ name, schema, control, errors, fieldKey, index, sx, }: FieldBySchemaProps): JSX.Element;
@@ -1,4 +1,4 @@
1
- import React from 'react';
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, fieldKey, index, sx, }: FieldBySchemaProps): React.JSX.Element;
4
+ export default function DesktopDateTimePickerBySchema({ name, schema, control, errors, fieldKey, index, sx, }: FieldBySchemaProps): JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import Autocomplete from '@mui/material/Autocomplete';
3
2
  import { FieldBySchemaProps } from '../../../utils';
4
- declare const EditableAutocompleteFieldBySchema: React.ForwardRefExoticComponent<FieldBySchemaProps & React.RefAttributes<typeof Autocomplete>>;
3
+ declare const EditableAutocompleteFieldBySchema: React.ForwardRefExoticComponent<FieldBySchemaProps & React.RefAttributes<any>>;
5
4
  export default EditableAutocompleteFieldBySchema;
@@ -121,6 +121,19 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
121
121
  };
122
122
  }
123
123
  if (newValue && newValue.inputValue) {
124
+ if (onEditModel) {
125
+ onEditModel({
126
+ fieldKey,
127
+ index,
128
+ model: optionsModel,
129
+ id: (0, utils_1.getTmpId)(),
130
+ labelKey,
131
+ setValue,
132
+ getValues,
133
+ fieldsLayout,
134
+ });
135
+ return;
136
+ }
124
137
  const tmpId = (0, utils_1.getTmpId)();
125
138
  newValue = {
126
139
  id: tmpId,
@@ -210,7 +223,7 @@ const EditableAutocompleteFieldBySchema = react_1.default.forwardRef((_a, ref) =
210
223
  return option.label;
211
224
  }, renderOption: renderOption
212
225
  ? renderOption
213
- : (props, option) => (react_1.default.createElement("li", Object.assign({ key: option.id }, props), option.label)), renderTags: multiple
226
+ : (props, option) => react_1.default.createElement("li", Object.assign({}, props), option.label), renderTags: multiple
214
227
  ? (tagValue, getTagProps) => {
215
228
  return tagValue.map((option, index) => (react_1.default.createElement(Chip_1.default, Object.assign({}, getTagProps({ index }), { label: option.label, icon: (0, utils_1.isTmpId)(option.id) ? (react_1.default.createElement(react_1.default.Fragment, null)) : (react_1.default.createElement(IconButton_1.default, { size: "small", onClick: () => {
216
229
  if (optionsModel) {
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="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'>): React.JSX.Element;
3
+ export default function FloatFieldBySchema({ fieldKey, index, name, control, schema, errors, onValueChange, decimalScale, label, ...other }: Omit<FieldBySchemaProps, 'type'>): JSX.Element;
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="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): React.JSX.Element;
3
+ export default function TextFieldBySchema({ name, schema, control, errors, multiline, minRows, fieldKey, index, sx, isPassword, type, autocomplete, disabled, onValueChange, ...other }: FieldBySchemaProps): JSX.Element;
@@ -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): React.JSX.Element;
9
+ declare function APIWrapper({ handleLoading, setSnackBar, setDialog, children }: APIWrapperProps): JSX.Element;
10
10
  declare const _default: React.MemoExoticComponent<typeof APIWrapper>;
11
11
  export default _default;
@@ -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) => React.JSX.Element;
12
+ declare const DRFReactBySchemaProvider: ({ serverEndPoint, theme, isInBatches, firstBatchLength, children, }: DRFReactBySchemaProviderProps) => 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): React.JSX.Element;
20
+ export default function Form({ model, id, objTitleField, optionsACModels, cancelBtn, cancelBtnLabel, deleteBtnLabel, saveAndCreateNewBtnLabel, saveAndContinueBtnLabel, saveBtnLabel, onSuccess, borderBottom, saveAndContinue, formButtonsSx, children, }: FormProps): 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
- }): React.JSX.Element;
4
+ }): JSX.Element;
@@ -96,7 +96,7 @@ export declare const fullWidthButton: {
96
96
  };
97
97
  export declare const formCard: {
98
98
  width: string;
99
- backgroundColor: string;
99
+ backgroundColor: any;
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: import("@mui/material/styles").Theme;
20
+ declare const defaultTheme: any;
21
21
  export default defaultTheme;
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import * as Yup from 'yup';
2
1
  import { ReactElement } from 'react';
3
2
  import { GridActionsColDef, GridColDef, GridFilterModel, GridSortModel } from '@mui/x-data-grid';
4
3
  import { Control, FieldValues, UseFormGetValues, UseFormSetValue } from 'react-hook-form';
@@ -163,7 +162,7 @@ export declare const buildGenericYupValidationSchema: ({ data, schema, many, ski
163
162
  many?: boolean | undefined;
164
163
  skipFields?: string[] | undefined;
165
164
  extraValidators?: Item | undefined;
166
- }) => 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>;
165
+ }) => any;
167
166
  export declare const errorProps: ({ errors, fieldKey, fieldKeyProp, index, }: {
168
167
  errors: Item;
169
168
  fieldKey: string;
@@ -181,7 +180,7 @@ export type AddParametersToEnd<TFunction extends (...args: any) => any, TParamet
181
180
  export declare function buildDateFormatBySchema(dateViews: string[] | null | undefined): "DD/MM/YYYY" | "MM/YYYY" | "YYYY" | "MM" | "DD";
182
181
  export declare const slugToCamelCase: (str: string, includeFirst?: boolean) => string;
183
182
  export declare const slugify: (text: string | null) => string;
184
- export declare function mergeFilterItems(defaultFilter: GridFilterModel | undefined, filter: GridFilterModel | undefined): GridFilterModel | undefined;
183
+ export declare function mergeFilterItems(defaultFilter: GridFilterModel | undefined, filter: GridFilterModel | undefined): any;
185
184
  export type ActionType = 'editInline' | 'remove' | 'edit' | 'view';
186
185
  export interface CustomAction {
187
186
  key: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.17.11",
3
+ "version": "0.17.13",
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",
@@ -59,7 +59,7 @@
59
59
  "semver": "^7.5.1",
60
60
  "ts-loader": "^9.4.2",
61
61
  "typedoc": "^0.23.23",
62
- "typescript": "^4.9.4",
62
+ "typescript": "^5.7.3",
63
63
  "webpack": "^5.75.0"
64
64
  },
65
65
  "peerDependencies": {