drf-react-by-schema 0.12.2 → 0.12.4
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.
- package/dist/components/details/DetailBySchema.d.ts +3 -1
- package/dist/components/details/DetailBySchema.js +6 -1
- package/dist/components/forms/DialogFormBySchema.js +2 -5
- package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts +1 -0
- package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +6 -1
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +1 -0
- package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +6 -1
- package/dist/context/Form.js +3 -6
- package/package.json +1 -1
|
@@ -10,6 +10,8 @@ interface FieldLayout {
|
|
|
10
10
|
interface DetailBySchemaProps {
|
|
11
11
|
values: Item;
|
|
12
12
|
schema: SchemaType;
|
|
13
|
+
editLink?: string;
|
|
14
|
+
editLabel?: string;
|
|
13
15
|
labelKey?: string;
|
|
14
16
|
optionsAC?: OptionsACType;
|
|
15
17
|
setOptionsAC?: (x: OptionsACType) => void;
|
|
@@ -24,5 +26,5 @@ interface DetailBySchemaProps {
|
|
|
24
26
|
sxValueListItem?: SxProps;
|
|
25
27
|
sxValueListItemText?: SxProps;
|
|
26
28
|
}
|
|
27
|
-
export default function DetailBySchema({ values, schema, labelKey, optionsAC, setOptionsAC, decimalScale, fieldsLayout: fieldsLayoutInitial, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }: DetailBySchemaProps): JSX.Element;
|
|
29
|
+
export default function DetailBySchema({ values, schema, editLink, editLabel, labelKey, optionsAC, setOptionsAC, decimalScale, fieldsLayout: fieldsLayoutInitial, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }: DetailBySchemaProps): JSX.Element;
|
|
28
30
|
export {};
|
|
@@ -32,10 +32,12 @@ const Card_1 = __importDefault(require("@mui/material/Card"));
|
|
|
32
32
|
const CardHeader_1 = __importDefault(require("@mui/material/CardHeader"));
|
|
33
33
|
const CardContent_1 = __importDefault(require("@mui/material/CardContent"));
|
|
34
34
|
const CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
|
|
35
|
+
const material_1 = require("@mui/material");
|
|
36
|
+
const Stack_1 = __importDefault(require("@mui/material/Stack"));
|
|
35
37
|
const DetailFieldBySchema_1 = __importDefault(require("./DetailFieldBySchema"));
|
|
36
38
|
const styles_1 = require("../../styles");
|
|
37
39
|
const APIWrapperContext_1 = require("../../context/APIWrapperContext");
|
|
38
|
-
function DetailBySchema({ values, schema, labelKey = 'label', optionsAC, setOptionsAC, decimalScale = 2, fieldsLayout: fieldsLayoutInitial, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }) {
|
|
40
|
+
function DetailBySchema({ values, schema, editLink, editLabel, labelKey = 'label', optionsAC, setOptionsAC, decimalScale = 2, fieldsLayout: fieldsLayoutInitial, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }) {
|
|
39
41
|
const { getAutoComplete } = (0, APIWrapperContext_1.useAPIWrapper)();
|
|
40
42
|
const [fieldsLayout, setFieldsLayout] = (0, react_1.useState)([]);
|
|
41
43
|
const [localOptionsAC, setLocalOptionsAC] = (0, react_1.useState)(undefined);
|
|
@@ -66,6 +68,9 @@ function DetailBySchema({ values, schema, labelKey = 'label', optionsAC, setOpti
|
|
|
66
68
|
return (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard, key: `section_${sectionIndex}` },
|
|
67
69
|
section.title && react_1.default.createElement(CardHeader_1.default, { title: section.title }),
|
|
68
70
|
react_1.default.createElement(CardContent_1.default, null,
|
|
71
|
+
editLink &&
|
|
72
|
+
react_1.default.createElement(Stack_1.default, { direction: "row", justifyContent: "flex-end" },
|
|
73
|
+
react_1.default.createElement(material_1.Button, { href: editLink, variant: "contained" }, editLabel)),
|
|
69
74
|
section.CustomElement && react_1.default.createElement(react_1.default.Fragment, null, section.CustomElement),
|
|
70
75
|
section.rows && (react_1.default.createElement(react_1.default.Fragment, null, section.rows.map((row, rowIndex) => {
|
|
71
76
|
if (typeof row === 'string') {
|
|
@@ -31,8 +31,6 @@ const react_hook_form_1 = require("react-hook-form");
|
|
|
31
31
|
const yup_1 = require("@hookform/resolvers/yup");
|
|
32
32
|
const Box_1 = __importDefault(require("@mui/material/Box"));
|
|
33
33
|
const Button_1 = __importDefault(require("@mui/material/Button"));
|
|
34
|
-
const AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
|
|
35
|
-
const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
|
|
36
34
|
const styles_1 = require("../../styles");
|
|
37
35
|
const FormBySchema_1 = __importDefault(require("./FormBySchema"));
|
|
38
36
|
function DialogFormBySchema({ schema, validationSchema, initialValues, onEditModelSave, setDialog, getAutoComplete, }) {
|
|
@@ -47,9 +45,8 @@ function DialogFormBySchema({ schema, validationSchema, initialValues, onEditMod
|
|
|
47
45
|
return react_1.default.createElement(react_1.default.Fragment, null, "Houve um erro ao carregar este formul\u00E1rio!");
|
|
48
46
|
}
|
|
49
47
|
return (react_1.default.createElement(react_1.default.Fragment, null, initialValues && control && (react_1.default.createElement("form", { onSubmit: handleSubmit(onEditModelSave) },
|
|
50
|
-
react_1.default.createElement(
|
|
51
|
-
react_1.default.createElement(
|
|
52
|
-
react_1.default.createElement(FormBySchema_1.default, { control: control, errors: errors, schema: schema, getValues: getValues, setValue: setValue, isolatedGetAutoComplete: getAutoComplete }))),
|
|
48
|
+
react_1.default.createElement(Box_1.default, null,
|
|
49
|
+
react_1.default.createElement(FormBySchema_1.default, { control: control, errors: errors, schema: schema, getValues: getValues, setValue: setValue, isolatedGetAutoComplete: getAutoComplete })),
|
|
53
50
|
react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.flexRow },
|
|
54
51
|
react_1.default.createElement(Button_1.default, { variant: "contained", color: "primary", size: "small", sx: { ml: 1 }, onClick: () => {
|
|
55
52
|
setDialog({
|
|
@@ -19,6 +19,10 @@ const react_hook_form_1 = require("react-hook-form");
|
|
|
19
19
|
const TextField_1 = __importDefault(require("@mui/material/TextField"));
|
|
20
20
|
const DesktopDatePicker_1 = require("@mui/x-date-pickers/DesktopDatePicker");
|
|
21
21
|
const utils_1 = require("drf-react-by-schema/dist/utils");
|
|
22
|
+
const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
|
|
23
|
+
const AdapterDayjs_1 = require("@mui/x-date-pickers/AdapterDayjs");
|
|
24
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
25
|
+
require("dayjs/locale/pt");
|
|
22
26
|
const utils_2 = require("../../../utils");
|
|
23
27
|
function DesktopDatePickerBySchema(_a) {
|
|
24
28
|
var { name, schema, control, errors, fieldKey = null, index = null, sx } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "fieldKey", "index", "sx"]);
|
|
@@ -44,6 +48,7 @@ function DesktopDatePickerBySchema(_a) {
|
|
|
44
48
|
error: errors && Boolean(errors[name]),
|
|
45
49
|
helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
|
|
46
50
|
};
|
|
47
|
-
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(
|
|
51
|
+
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" },
|
|
52
|
+
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, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { sx: sx, margin: "normal", error: error, helperText: helperText }))) })))) }));
|
|
48
53
|
}
|
|
49
54
|
exports.default = DesktopDatePickerBySchema;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import 'dayjs/locale/pt';
|
|
2
3
|
import { FieldBySchemaProps } from '../../../utils';
|
|
3
4
|
export default function DesktopDateTimePickerBySchema({ name, schema, control, errors, multiline, fieldKey, index, sx, ...other }: FieldBySchemaProps): JSX.Element;
|
|
@@ -18,6 +18,10 @@ const react_1 = __importDefault(require("react"));
|
|
|
18
18
|
const react_hook_form_1 = require("react-hook-form");
|
|
19
19
|
const TextField_1 = __importDefault(require("@mui/material/TextField"));
|
|
20
20
|
const DesktopDateTimePicker_1 = require("@mui/x-date-pickers/DesktopDateTimePicker");
|
|
21
|
+
const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
|
|
22
|
+
const AdapterDayjs_1 = require("@mui/x-date-pickers/AdapterDayjs");
|
|
23
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
24
|
+
require("dayjs/locale/pt");
|
|
21
25
|
const utils_1 = require("../../../utils");
|
|
22
26
|
function DesktopDateTimePickerBySchema(_a) {
|
|
23
27
|
var { name, schema, control, errors, multiline = false, fieldKey = null, index = null, sx = { mr: 2 } } = _a, other = __rest(_a, ["name", "schema", "control", "errors", "multiline", "fieldKey", "index", "sx"]);
|
|
@@ -36,6 +40,7 @@ function DesktopDateTimePickerBySchema(_a) {
|
|
|
36
40
|
error: errors && Boolean(errors[name]),
|
|
37
41
|
helperText: errors && errors[name] ? errors[name].message : schema[name].help_text || '',
|
|
38
42
|
};
|
|
39
|
-
return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, render: ({ field }) => (react_1.default.createElement(
|
|
43
|
+
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" },
|
|
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", renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, other, { sx: sx, margin: "normal", error: error, helperText: helperText }))) })))) }));
|
|
40
45
|
}
|
|
41
46
|
exports.default = DesktopDateTimePickerBySchema;
|
package/dist/context/Form.js
CHANGED
|
@@ -30,8 +30,6 @@ const react_1 = __importStar(require("react"));
|
|
|
30
30
|
const react_hook_form_1 = require("react-hook-form");
|
|
31
31
|
const yup_1 = require("@hookform/resolvers/yup");
|
|
32
32
|
const Box_1 = __importDefault(require("@mui/material/Box"));
|
|
33
|
-
const AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
|
|
34
|
-
const LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
|
|
35
33
|
const FormButtons_1 = __importDefault(require("../components/FormButtons"));
|
|
36
34
|
const APIWrapperContext_1 = require("./APIWrapperContext");
|
|
37
35
|
const utils_1 = require("../utils");
|
|
@@ -90,9 +88,8 @@ function Form({ model, id, objTitleField = 'name', optionsACModels = [], cancelB
|
|
|
90
88
|
// event
|
|
91
89
|
// );
|
|
92
90
|
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(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps, { bottom: true })))))));
|
|
91
|
+
react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps)),
|
|
92
|
+
react_1.default.createElement(Box_1.default, null, children),
|
|
93
|
+
react_1.default.createElement(FormButtons_1.default, Object.assign({}, formButtonProps, { bottom: true }))))));
|
|
97
94
|
}
|
|
98
95
|
exports.default = Form;
|
package/package.json
CHANGED