drf-react-by-schema 0.16.10 → 0.17.0

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.
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
- import { CalendarPickerView } from '@mui/x-date-pickers/CalendarPicker';
2
+ import { DateView } from '@mui/x-date-pickers';
3
+ import { GenericValue } from '../../utils';
3
4
  type GridDateInputProps = {
4
5
  field: string;
5
6
  id: number | string;
6
- value?: any;
7
+ value?: GenericValue;
7
8
  column: object;
8
- dateViews?: CalendarPickerView[] | undefined;
9
+ dateViews?: DateView[];
9
10
  };
10
11
  export declare const GridDateInput: ({ id, value, field, dateViews }: GridDateInputProps) => React.JSX.Element;
11
12
  export {};
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.GridDateInput = void 0;
16
16
  const react_1 = __importDefault(require("react"));
17
17
  const x_data_grid_1 = require("@mui/x-data-grid");
18
- const TextField_1 = __importDefault(require("@mui/material/TextField"));
19
18
  const DesktopDatePicker_1 = require("@mui/x-date-pickers/DesktopDatePicker");
20
19
  const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
21
20
  const AdapterDayjs_1 = require("@mui/x-date-pickers/AdapterDayjs");
@@ -38,6 +37,10 @@ const GridDateInput = ({ id, value, field, dateViews }) => {
38
37
  });
39
38
  const openTo = buildOpenTo(dateViews);
40
39
  return (react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterDayjs_1.AdapterDayjs, adapterLocale: "pt-br" },
41
- react_1.default.createElement(DesktopDatePicker_1.DesktopDatePicker, { key: field, value: value, onChange: handleChange, views: dateViews, openTo: openTo, inputFormat: inputFormat, renderInput: (params) => react_1.default.createElement(TextField_1.default, Object.assign({}, params, { margin: "normal" })) })));
40
+ react_1.default.createElement(DesktopDatePicker_1.DesktopDatePicker, { key: field, value: value, onChange: handleChange, views: dateViews, openTo: openTo, format: inputFormat, slotProps: {
41
+ textField: {
42
+ margin: 'normal',
43
+ },
44
+ } })));
42
45
  };
43
46
  exports.GridDateInput = GridDateInput;
@@ -230,6 +230,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)(({ schema, data, rowCou
230
230
  ? schema[col.field].related_editable
231
231
  : column.creatable;
232
232
  }
233
+ console.log(col, schema[col.field]);
233
234
  switch (schema[col.field].type) {
234
235
  case 'date':
235
236
  column.type = 'date';
@@ -1,4 +1,4 @@
1
1
  import React from '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, ...other }: FieldBySchemaProps): React.JSX.Element;
4
+ export default function DesktopDatePickerBySchema({ name, schema, control, errors, fieldKey, index, sx, }: FieldBySchemaProps): React.JSX.Element;
@@ -1,30 +1,17 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
6
  const react_1 = __importDefault(require("react"));
18
7
  const react_hook_form_1 = require("react-hook-form");
19
- const TextField_1 = __importDefault(require("@mui/material/TextField"));
20
8
  const DesktopDatePicker_1 = require("@mui/x-date-pickers/DesktopDatePicker");
21
9
  const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
22
10
  const AdapterDayjs_1 = require("@mui/x-date-pickers/AdapterDayjs");
23
11
  const dayjs_1 = __importDefault(require("dayjs"));
24
12
  require("dayjs/locale/pt-br");
25
13
  const utils_1 = require("../../../utils");
26
- function DesktopDatePickerBySchema(_a) {
27
- var { name, schema, control, errors, fieldKey, index, sx = { mr: 2, mt: 2 } } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx"]);
14
+ function DesktopDatePickerBySchema({ name, schema, control, errors, fieldKey, index, sx = { mr: 2, mt: 2 }, }) {
28
15
  if (!sx) {
29
16
  sx = { minWidth: 200 };
30
17
  }
@@ -48,6 +35,13 @@ function DesktopDatePickerBySchema(_a) {
48
35
  helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
49
36
  };
50
37
  return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterDayjs_1.AdapterDayjs, adapterLocale: "pt-br" },
51
- react_1.default.createElement(DesktopDatePicker_1.DesktopDatePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, views: schema[model].date_views, inputFormat: inputFormat, sx: Object.assign({ mt: 2, mb: 1 }, sx), renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { sx: sx, margin: "normal", error: error, helperText: helperText }))) })))) }));
38
+ react_1.default.createElement(DesktopDatePicker_1.DesktopDatePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, views: schema[model].date_views, format: inputFormat, sx: Object.assign({ mt: 2, mb: 1 }, sx), slotProps: {
39
+ textField: {
40
+ error,
41
+ helperText,
42
+ sx,
43
+ margin: 'normal',
44
+ },
45
+ } })))) }));
52
46
  }
53
47
  exports.default = DesktopDatePickerBySchema;
@@ -1,4 +1,4 @@
1
1
  import React from '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, ...other }: FieldBySchemaProps): React.JSX.Element;
4
+ export default function DesktopDateTimePickerBySchema({ name, schema, control, errors, fieldKey, index, sx, }: FieldBySchemaProps): React.JSX.Element;
@@ -1,30 +1,17 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
6
  const react_1 = __importDefault(require("react"));
18
7
  const react_hook_form_1 = require("react-hook-form");
19
- const TextField_1 = __importDefault(require("@mui/material/TextField"));
20
8
  const DesktopDateTimePicker_1 = require("@mui/x-date-pickers/DesktopDateTimePicker");
21
9
  const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
22
10
  const AdapterDayjs_1 = require("@mui/x-date-pickers/AdapterDayjs");
23
11
  const dayjs_1 = __importDefault(require("dayjs"));
24
12
  require("dayjs/locale/pt-br");
25
13
  const utils_1 = require("../../../utils");
26
- function DesktopDateTimePickerBySchema(_a) {
27
- var { name, schema, control, errors, fieldKey, index, sx = { mr: 2, mt: 2 } } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx"]);
14
+ function DesktopDateTimePickerBySchema({ name, schema, control, errors, fieldKey, index, sx = { mr: 2, mt: 2 }, }) {
28
15
  const model = name;
29
16
  if (fieldKey && index && index >= 0) {
30
17
  name = `${fieldKey}.${index}.${name}`;
@@ -41,6 +28,13 @@ function DesktopDateTimePickerBySchema(_a) {
41
28
  helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
42
29
  };
43
30
  return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterDayjs_1.AdapterDayjs, adapterLocale: "pt-br" },
44
- react_1.default.createElement(DesktopDateTimePicker_1.DesktopDateTimePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, inputFormat: "DD/MM/yyyy HH:mm", sx: Object.assign({ mt: 2, mb: 1 }, sx), renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { error: error, helperText: helperText }))) })))) }));
31
+ react_1.default.createElement(DesktopDateTimePicker_1.DesktopDateTimePicker, Object.assign({}, field, { value: (0, dayjs_1.default)(field.value), label: schema[model].label, format: "DD/MM/yyyy HH:mm", sx: Object.assign({ mt: 2, mb: 1 }, sx), slotProps: {
32
+ textField: {
33
+ error,
34
+ helperText,
35
+ sx,
36
+ margin: 'normal',
37
+ },
38
+ } })))) }));
45
39
  }
46
40
  exports.default = DesktopDateTimePickerBySchema;
package/dist/utils.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import * as Yup from 'yup';
3
- import { CalendarPickerView } from '@mui/x-date-pickers/CalendarPicker';
4
3
  import { GridActionsColDef, GridColDef, GridFilterModel, GridSortModel } from '@mui/x-data-grid';
5
4
  import { Control, FieldValues, UseFormGetValues, UseFormSetValue } from 'react-hook-form';
6
5
  import { AutocompleteRenderOptionState, SxProps } from '@mui/material';
7
6
  import { OnEditModelType } from './context/APIWrapperContext';
8
7
  import { serverEndPointType } from './context/DRFReactBySchemaContext';
8
+ import { DateView } from '@mui/x-date-pickers';
9
9
  export type Id = string | number | null;
10
10
  export type GenericValue = any;
11
11
  export type Item = Record<string, GenericValue>;
@@ -61,7 +61,7 @@ export interface Field {
61
61
  related_editable?: boolean;
62
62
  validators_regex?: Item[];
63
63
  many?: boolean;
64
- date_views?: CalendarPickerView[];
64
+ date_views?: DateView[];
65
65
  required?: boolean;
66
66
  disabled?: boolean;
67
67
  help_text?: string;
@@ -175,7 +175,7 @@ export declare const getPatternFormat: (type: string) => string;
175
175
  export type AddParametersToEnd<TFunction extends (...args: any) => any, TParameters extends [...args: any]> = (...args: [...Parameters<TFunction>, ...TParameters]) => ReturnType<TFunction>;
176
176
  export declare function buildDateFormatBySchema(dateViews: string[] | null | undefined): "DD/MM/YYYY" | "MM/YYYY" | "YYYY" | "MM" | "DD";
177
177
  export declare const slugToCamelCase: (str: string) => string;
178
- export declare const slugify: (text: string | null) => "" | undefined;
178
+ export declare const slugify: (text: string | null) => string;
179
179
  export declare function mergeFilterItems(defaultFilter: GridFilterModel | undefined, filter: GridFilterModel | undefined): GridFilterModel | undefined;
180
180
  export type ActionType = 'editInline' | 'remove' | 'edit' | 'view';
181
181
  export type BulkUpdateData = (newData: Item[]) => Promise<{
package/dist/utils.js CHANGED
@@ -322,7 +322,8 @@ const slugify = (text) => {
322
322
  if (!text) {
323
323
  return '';
324
324
  }
325
- text.toString()
325
+ return text
326
+ .toString()
326
327
  .normalize('NFD')
327
328
  .replace(/[\u0300-\u036f]/g, '')
328
329
  .toLowerCase()
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.16.10",
3
+ "version": "0.17.0",
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",
7
7
  "scripts": {
8
8
  "test": "echo \"There are (still) no tests in this package\"",
9
9
  "build": "tsc",
10
+ "prepare_disabled": "install-peers",
10
11
  "styleguide": "styleguidist server",
11
12
  "styleguide:build": "styleguidist build",
12
13
  "release:major": "tsc || true && yarn version --version $(semver $npm_package_version -i major) && yarn publish --tag latest",
@@ -51,7 +52,6 @@
51
52
  "eslint-plugin-prettier": "^5.0.0",
52
53
  "eslint-plugin-react-hooks": "^4.6.0",
53
54
  "eslint-plugin-tsdoc": "^0.2.17",
54
- "install-peers": "^1.0.4",
55
55
  "install-peers-cli": "^2.2.0",
56
56
  "prettier": "^3.0.0",
57
57
  "react-docgen-typescript": "^2.2.2",
@@ -68,7 +68,7 @@
68
68
  "@mui/lab": "^5.0.0-alpha.112",
69
69
  "@mui/material": "^5.11.0",
70
70
  "@mui/x-data-grid": "^5.17.26",
71
- "@mui/x-date-pickers": "^5.0.20",
71
+ "@mui/x-date-pickers": "^6.18.1",
72
72
  "axios": "^0.27.2",
73
73
  "dayjs": "^1.11.10",
74
74
  "moment": "^2.29.4",