@bsol-oss/react-datatable5 12.0.0-beta.27 → 12.0.0-beta.29
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/index.d.ts +1 -0
- package/dist/index.js +8 -5
- package/dist/index.mjs +8 -5
- package/dist/types/components/Form/components/fields/DatePicker.d.ts +2 -7
- package/dist/types/components/Form/components/fields/FilePicker.d.ts +2 -5
- package/dist/types/components/Form/components/fields/StringInputField.d.ts +2 -5
- package/dist/types/components/Form/components/fields/types.d.ts +6 -0
- package/dist/types/components/Form/components/types/CustomJSONSchema7.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -30,6 +30,7 @@ var reactI18next = require('react-i18next');
|
|
|
30
30
|
var axios = require('axios');
|
|
31
31
|
var reactHookForm = require('react-hook-form');
|
|
32
32
|
var dayjs = require('dayjs');
|
|
33
|
+
var utc = require('dayjs/plugin/utc');
|
|
33
34
|
var ti = require('react-icons/ti');
|
|
34
35
|
|
|
35
36
|
function _interopNamespaceDefault(e) {
|
|
@@ -3790,14 +3791,16 @@ const PopoverRoot = react.Popover.Root;
|
|
|
3790
3791
|
const PopoverBody = react.Popover.Body;
|
|
3791
3792
|
const PopoverTrigger = react.Popover.Trigger;
|
|
3792
3793
|
|
|
3794
|
+
dayjs.extend(utc);
|
|
3793
3795
|
const DatePicker = ({ column, schema, prefix }) => {
|
|
3794
3796
|
const { watch, formState: { errors }, setValue, } = reactHookForm.useFormContext();
|
|
3795
3797
|
const { translate } = useSchemaContext();
|
|
3796
|
-
const { required, gridColumn, gridRow, dateFormat = "YYYY-MM-DD[T]HH:mm:ss[Z]", } = schema;
|
|
3798
|
+
const { required, gridColumn = "span 4", gridRow = "span 1", displayDateFormat = "YYYY-MM-DD", dateFormat = "YYYY-MM-DD[T]HH:mm:ss[Z]", } = schema;
|
|
3797
3799
|
const isRequired = required?.some((columnId) => columnId === column);
|
|
3798
3800
|
const colLabel = `${prefix}${column}`;
|
|
3799
3801
|
const [open, setOpen] = React.useState(false);
|
|
3800
3802
|
const selectedDate = watch(colLabel);
|
|
3803
|
+
const displayDate = dayjs.utc(selectedDate).format(displayDateFormat);
|
|
3801
3804
|
React.useEffect(() => {
|
|
3802
3805
|
try {
|
|
3803
3806
|
if (selectedDate) {
|
|
@@ -3808,7 +3811,6 @@ const DatePicker = ({ column, schema, prefix }) => {
|
|
|
3808
3811
|
// const parsedDate = dayjs.tz(selectedDate, dayjs.tz.guess());
|
|
3809
3812
|
if (!parsedDate.isValid())
|
|
3810
3813
|
return;
|
|
3811
|
-
console.log(selectedDate, parsedDate, parsedDate.format(dateFormat), "dkosfp");
|
|
3812
3814
|
// Format according to dateFormat from schema
|
|
3813
3815
|
const formatted = parsedDate.format(dateFormat);
|
|
3814
3816
|
// Update the form value only if different to avoid loops
|
|
@@ -3827,7 +3829,7 @@ const DatePicker = ({ column, schema, prefix }) => {
|
|
|
3827
3829
|
return (jsxRuntime.jsxs(Field, { label: `${translate.t(removeIndex(`${colLabel}.field_label`))}`, required: isRequired, alignItems: "stretch", gridColumn,
|
|
3828
3830
|
gridRow, children: [jsxRuntime.jsxs(PopoverRoot, { open: open, onOpenChange: (e) => setOpen(e.open), closeOnInteractOutside: true, children: [jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: jsxRuntime.jsxs(Button, { size: "sm", variant: "outline", onClick: () => {
|
|
3829
3831
|
setOpen(true);
|
|
3830
|
-
}, justifyContent: "start", children: [jsxRuntime.jsx(md.MdDateRange, {}), selectedDate !== undefined ? `${
|
|
3832
|
+
}, justifyContent: "start", children: [jsxRuntime.jsx(md.MdDateRange, {}), selectedDate !== undefined ? `${displayDate}` : ""] }) }), jsxRuntime.jsx(PopoverContent, { children: jsxRuntime.jsxs(PopoverBody, { children: [jsxRuntime.jsx(PopoverTitle, {}), jsxRuntime.jsx(DatePicker$1
|
|
3831
3833
|
// @ts-expect-error TODO: find appropriate types
|
|
3832
3834
|
, {
|
|
3833
3835
|
// @ts-expect-error TODO: find appropriate types
|
|
@@ -4868,12 +4870,13 @@ const CustomViewer = ({ column, schema, prefix }) => {
|
|
|
4868
4870
|
const DateViewer = ({ column, schema, prefix }) => {
|
|
4869
4871
|
const { watch, formState: { errors }, } = reactHookForm.useFormContext();
|
|
4870
4872
|
const { translate } = useSchemaContext();
|
|
4871
|
-
const { required, gridColumn, gridRow } = schema;
|
|
4873
|
+
const { required, gridColumn, gridRow, displayDateFormat = "YYYY-MM-DD", } = schema;
|
|
4872
4874
|
const isRequired = required?.some((columnId) => columnId === column);
|
|
4873
4875
|
const colLabel = `${prefix}${column}`;
|
|
4874
4876
|
const selectedDate = watch(colLabel);
|
|
4877
|
+
const displayDate = dayjs.utc(selectedDate).format(displayDateFormat);
|
|
4875
4878
|
return (jsxRuntime.jsxs(Field, { label: `${translate.t(removeIndex(`${column}.field_label`))}`, required: isRequired, alignItems: "stretch", gridColumn,
|
|
4876
|
-
gridRow, children: [jsxRuntime.jsxs(react.Text, { children: [" ", selectedDate !== undefined ?
|
|
4879
|
+
gridRow, children: [jsxRuntime.jsxs(react.Text, { children: [" ", selectedDate !== undefined ? displayDate : ""] }), errors[`${column}`] && (jsxRuntime.jsx(react.Text, { color: "red.400", children: translate.t(`${column}.field_required`) }))] }));
|
|
4877
4880
|
};
|
|
4878
4881
|
|
|
4879
4882
|
const EnumViewer = ({ column, isMultiple = false, schema, prefix, }) => {
|
package/dist/index.mjs
CHANGED
|
@@ -29,6 +29,7 @@ import { useTranslation } from 'react-i18next';
|
|
|
29
29
|
import axios from 'axios';
|
|
30
30
|
import { FormProvider, useFormContext, useForm as useForm$1 } from 'react-hook-form';
|
|
31
31
|
import dayjs from 'dayjs';
|
|
32
|
+
import utc from 'dayjs/plugin/utc';
|
|
32
33
|
import { TiDeleteOutline } from 'react-icons/ti';
|
|
33
34
|
|
|
34
35
|
const DataTableContext = createContext({
|
|
@@ -3770,14 +3771,16 @@ const PopoverRoot = Popover.Root;
|
|
|
3770
3771
|
const PopoverBody = Popover.Body;
|
|
3771
3772
|
const PopoverTrigger = Popover.Trigger;
|
|
3772
3773
|
|
|
3774
|
+
dayjs.extend(utc);
|
|
3773
3775
|
const DatePicker = ({ column, schema, prefix }) => {
|
|
3774
3776
|
const { watch, formState: { errors }, setValue, } = useFormContext();
|
|
3775
3777
|
const { translate } = useSchemaContext();
|
|
3776
|
-
const { required, gridColumn, gridRow, dateFormat = "YYYY-MM-DD[T]HH:mm:ss[Z]", } = schema;
|
|
3778
|
+
const { required, gridColumn = "span 4", gridRow = "span 1", displayDateFormat = "YYYY-MM-DD", dateFormat = "YYYY-MM-DD[T]HH:mm:ss[Z]", } = schema;
|
|
3777
3779
|
const isRequired = required?.some((columnId) => columnId === column);
|
|
3778
3780
|
const colLabel = `${prefix}${column}`;
|
|
3779
3781
|
const [open, setOpen] = useState(false);
|
|
3780
3782
|
const selectedDate = watch(colLabel);
|
|
3783
|
+
const displayDate = dayjs.utc(selectedDate).format(displayDateFormat);
|
|
3781
3784
|
useEffect(() => {
|
|
3782
3785
|
try {
|
|
3783
3786
|
if (selectedDate) {
|
|
@@ -3788,7 +3791,6 @@ const DatePicker = ({ column, schema, prefix }) => {
|
|
|
3788
3791
|
// const parsedDate = dayjs.tz(selectedDate, dayjs.tz.guess());
|
|
3789
3792
|
if (!parsedDate.isValid())
|
|
3790
3793
|
return;
|
|
3791
|
-
console.log(selectedDate, parsedDate, parsedDate.format(dateFormat), "dkosfp");
|
|
3792
3794
|
// Format according to dateFormat from schema
|
|
3793
3795
|
const formatted = parsedDate.format(dateFormat);
|
|
3794
3796
|
// Update the form value only if different to avoid loops
|
|
@@ -3807,7 +3809,7 @@ const DatePicker = ({ column, schema, prefix }) => {
|
|
|
3807
3809
|
return (jsxs(Field, { label: `${translate.t(removeIndex(`${colLabel}.field_label`))}`, required: isRequired, alignItems: "stretch", gridColumn,
|
|
3808
3810
|
gridRow, children: [jsxs(PopoverRoot, { open: open, onOpenChange: (e) => setOpen(e.open), closeOnInteractOutside: true, children: [jsx(PopoverTrigger, { asChild: true, children: jsxs(Button, { size: "sm", variant: "outline", onClick: () => {
|
|
3809
3811
|
setOpen(true);
|
|
3810
|
-
}, justifyContent: "start", children: [jsx(MdDateRange, {}), selectedDate !== undefined ? `${
|
|
3812
|
+
}, justifyContent: "start", children: [jsx(MdDateRange, {}), selectedDate !== undefined ? `${displayDate}` : ""] }) }), jsx(PopoverContent, { children: jsxs(PopoverBody, { children: [jsx(PopoverTitle, {}), jsx(DatePicker$1
|
|
3811
3813
|
// @ts-expect-error TODO: find appropriate types
|
|
3812
3814
|
, {
|
|
3813
3815
|
// @ts-expect-error TODO: find appropriate types
|
|
@@ -4848,12 +4850,13 @@ const CustomViewer = ({ column, schema, prefix }) => {
|
|
|
4848
4850
|
const DateViewer = ({ column, schema, prefix }) => {
|
|
4849
4851
|
const { watch, formState: { errors }, } = useFormContext();
|
|
4850
4852
|
const { translate } = useSchemaContext();
|
|
4851
|
-
const { required, gridColumn, gridRow } = schema;
|
|
4853
|
+
const { required, gridColumn, gridRow, displayDateFormat = "YYYY-MM-DD", } = schema;
|
|
4852
4854
|
const isRequired = required?.some((columnId) => columnId === column);
|
|
4853
4855
|
const colLabel = `${prefix}${column}`;
|
|
4854
4856
|
const selectedDate = watch(colLabel);
|
|
4857
|
+
const displayDate = dayjs.utc(selectedDate).format(displayDateFormat);
|
|
4855
4858
|
return (jsxs(Field, { label: `${translate.t(removeIndex(`${column}.field_label`))}`, required: isRequired, alignItems: "stretch", gridColumn,
|
|
4856
|
-
gridRow, children: [jsxs(Text, { children: [" ", selectedDate !== undefined ?
|
|
4859
|
+
gridRow, children: [jsxs(Text, { children: [" ", selectedDate !== undefined ? displayDate : ""] }), errors[`${column}`] && (jsx(Text, { color: "red.400", children: translate.t(`${column}.field_required`) }))] }));
|
|
4857
4860
|
};
|
|
4858
4861
|
|
|
4859
4862
|
const EnumViewer = ({ column, isMultiple = false, schema, prefix, }) => {
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
column: string;
|
|
4
|
-
schema: CustomJSONSchema7;
|
|
5
|
-
prefix: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const DatePicker: ({ column, schema, prefix }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { InputDefaultProps } from "./types";
|
|
2
|
+
export declare const DatePicker: ({ column, schema, prefix }: InputDefaultProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
schema: any;
|
|
4
|
-
prefix: any;
|
|
5
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { InputDefaultProps } from "./types";
|
|
2
|
+
export declare const FilePicker: ({ column, schema, prefix }: InputDefaultProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface StringInputFieldProps {
|
|
3
|
-
column: string;
|
|
4
|
-
schema: CustomJSONSchema7;
|
|
5
|
-
prefix: string;
|
|
1
|
+
import { InputDefaultProps } from "./types";
|
|
2
|
+
export interface StringInputFieldProps extends InputDefaultProps {
|
|
6
3
|
}
|
|
7
4
|
export interface ForeignKeyProps {
|
|
8
5
|
column: string;
|