diff --git a/library/package.json b/library/package.json index 42a4a0a..3bb41b5 100644 --- a/library/package.json +++ b/library/package.json @@ -1,6 +1,6 @@ { "name": "@irontec/ivoz-ui", - "version": "1.2.0", + "version": "1.2.1", "description": "UI library used in ivozprovider", "license": "GPL-3.0", "main": "index.js", diff --git a/library/src/components/Detail.tsx b/library/src/components/Detail.tsx index 0d7ac31..d2990f1 100644 --- a/library/src/components/Detail.tsx +++ b/library/src/components/Detail.tsx @@ -10,7 +10,10 @@ type DetailComponentProps = { entityService: EntityService; row: any; View: () => Promise; -} & Pick & +} & Pick< + EntityInterface, + 'foreignKeyResolver' | 'foreignKeyGetter' | 'unmarshaller' | 'properties' +> & Pick; type DetailComponentType = FunctionComponent; diff --git a/library/src/entities/DefaultEntityBehavior/View.tsx b/library/src/entities/DefaultEntityBehavior/View.tsx index cf66c8b..cdb10d6 100644 --- a/library/src/entities/DefaultEntityBehavior/View.tsx +++ b/library/src/entities/DefaultEntityBehavior/View.tsx @@ -1,22 +1,30 @@ import { Grid } from '@mui/material'; import React, { useEffect, useState } from 'react'; +import { useStoreState } from 'store'; import FormFieldFactory from '../../services/form/FormFieldFactory'; import { StyledGroupGrid, StyledGroupLegend, } from '../DefaultEntityBehavior.styles'; import { ForeignKeyGetterType, ViewProps } from '../EntityInterface'; +import useFkChoices from '../data/useFkChoices'; import filterFieldsetGroups, { FieldsetGroups, FieldsetGroupsField, } from './FilterFieldsetGroups'; -import { useFormHandler } from './Form/useFormHandler'; import { NullablePropertyFkChoices } from './Form'; -import { useStoreState } from 'store'; -import useFkChoices from '../data/useFkChoices'; +import { useFormHandler } from './Form/useFormHandler'; const View = (props: ViewProps): JSX.Element | null => { - const { entityService, row, fkChoices, match, foreignKeyGetter: foreignKeyGetterLoader } = props; + const { + entityService, + row, + unmarshaller, + properties, + fkChoices, + match, + foreignKeyGetter: foreignKeyGetterLoader, + } = props; const [foreignKeyGetter, setForeignKeyGetter] = useState< ForeignKeyGetterType | undefined @@ -43,7 +51,7 @@ const View = (props: ViewProps): JSX.Element | null => { const formik = useFormHandler({ ...props, - initialValues: row, + initialValues: unmarshaller(row, properties), validator: () => { return {}; }, diff --git a/library/src/entities/EntityInterface.ts b/library/src/entities/EntityInterface.ts index d481a19..7e64138 100644 --- a/library/src/entities/EntityInterface.ts +++ b/library/src/entities/EntityInterface.ts @@ -99,7 +99,10 @@ export type ViewProps = { edit?: false; fkChoices?: FkChoices; match: PathMatch; -} & Pick; +} & Pick< + EntityInterface, + 'foreignKeyResolver' | 'foreignKeyGetter' | 'unmarshaller' | 'properties' +>; export type ViewType = (props: ViewProps) => JSX.Element | null;