Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Fields Record Type Parameter #9092

Merged
merged 3 commits into from
Aug 14, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/ArrayField.tsx
Original file line number Diff line number Diff line change
@@ -76,7 +76,7 @@ import { genericMemo } from './genericMemo';
* @see useListContext
*/
const ArrayFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: ArrayFieldProps<RecordType>
) => {
@@ -98,7 +98,7 @@ ArrayFieldImpl.displayName = 'ArrayFieldImpl';
export const ArrayField = genericMemo(ArrayFieldImpl);

export interface ArrayFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType> {
children?: ReactNode;
perPage?: number;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/BooleanField.tsx
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ import { FieldProps, fieldPropTypes } from './types';
import { sanitizeFieldRestProps } from './sanitizeFieldRestProps';

const BooleanFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: BooleanFieldProps<RecordType>
) => {
@@ -90,7 +90,7 @@ BooleanFieldImpl.displayName = 'BooleanFieldImpl';
export const BooleanField = genericMemo(BooleanFieldImpl);

export interface BooleanFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {
valueLabelTrue?: string;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/ChipField.tsx
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ import { FieldProps, fieldPropTypes } from './types';
import { genericMemo } from './genericMemo';

const ChipFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: ChipFieldProps<RecordType>
) => {
@@ -52,7 +52,7 @@ ChipFieldImpl.displayName = 'ChipFieldImpl';
export const ChipField = genericMemo(ChipFieldImpl);

export interface ChipFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<ChipProps, 'label' | 'children'> {
/**
6 changes: 3 additions & 3 deletions packages/ra-ui-materialui/src/field/DateField.tsx
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ import { genericMemo } from './genericMemo';
* <span>mercredi 7 novembre 2012</span>
*/
const DateFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: DateFieldProps<RecordType>
) => {
@@ -60,7 +60,7 @@ const DateFieldImpl = <
return null;
}

const value = get(record, source);
const value = get(record, source) as any;
if (value == null || value === '') {
return emptyText ? (
<Typography
@@ -137,7 +137,7 @@ DateFieldImpl.displayName = 'DateFieldImpl';
export const DateField = genericMemo(DateFieldImpl);

export interface DateFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {
locales?: Intl.LocalesArgument;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/EmailField.tsx
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ import { FieldProps, fieldPropTypes } from './types';
import { genericMemo } from './genericMemo';

const EmailFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: EmailFieldProps<RecordType>
) => {
@@ -50,7 +50,7 @@ EmailFieldImpl.displayName = 'EmailFieldImpl';
export const EmailField = genericMemo(EmailFieldImpl);

export interface EmailFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<LinkProps, 'textAlign'> {}

4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/FileField.tsx
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ import { Link } from '@mui/material';
* </div>
*/
export const FileField = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: FileFieldProps<RecordType>
) => {
@@ -107,7 +107,7 @@ export const FileField = <
};

export interface FileFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType> {
src?: string;
title?: string;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/FunctionField.tsx
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ import { FieldProps, fieldPropTypes } from './types';
* />
*/

export const FunctionField = <RecordType extends Record<string, unknown> = any>(
export const FunctionField = <RecordType extends Record<string, any> = any>(
props: FunctionFieldProps<RecordType>
) => {
const { className, source = '', render, ...rest } = props;
@@ -47,7 +47,7 @@ FunctionField.propTypes = {
};

export interface FunctionFieldProps<
RecordType extends Record<string, unknown> = any
RecordType extends Record<string, any> = any
> extends FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {
render: (record: RecordType, source?: string) => ReactNode;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/ImageField.tsx
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ import { FieldProps, fieldPropTypes } from './types';
import { SxProps } from '@mui/system';

export const ImageField = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: ImageFieldProps<RecordType>
) => {
@@ -109,7 +109,7 @@ const Root = styled(Box, {
});

export interface ImageFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType> {
src?: string;
title?: string;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/NumberField.tsx
Original file line number Diff line number Diff line change
@@ -37,7 +37,7 @@ import { genericMemo } from './genericMemo';
* <span>25,99 $US</span>
*/
const NumberFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: NumberFieldProps<RecordType>
) => {
@@ -105,7 +105,7 @@ NumberFieldImpl.defaultProps = {
export const NumberField = genericMemo(NumberFieldImpl);

export interface NumberFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {
locales?: string | string[];
8 changes: 4 additions & 4 deletions packages/ra-ui-materialui/src/field/ReferenceField.tsx
Original file line number Diff line number Diff line change
@@ -58,7 +58,7 @@ import { genericMemo } from './genericMemo';
* backward-compatibility is still kept
*/
export const ReferenceField = <
RecordType extends Record<string, unknown> = Record<string, any>,
RecordType extends Record<string, any> = Record<string, any>,
ReferenceRecordType extends RaRecord = RaRecord
>(
props: ReferenceFieldProps<RecordType, ReferenceRecordType>
@@ -107,7 +107,7 @@ ReferenceField.propTypes = {
};

export interface ReferenceFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>,
RecordType extends Record<string, any> = Record<string, any>,
ReferenceRecordType extends RaRecord = RaRecord
> extends Omit<FieldProps<RecordType>, 'source'>,
Required<Pick<FieldProps<RecordType>, 'source'>> {
@@ -126,7 +126,7 @@ export interface ReferenceFieldProps<
* which cannot be called conditionally when get(record, source) is empty.
*/
export const NonEmptyReferenceField = <
RecordType extends Record<string, unknown> = Record<string, any>,
RecordType extends Record<string, any> = Record<string, any>,
ReferenceRecordType extends RaRecord = RaRecord
>({
children,
@@ -264,7 +264,7 @@ ReferenceFieldView.propTypes = {
};

export interface ReferenceFieldViewProps<
RecordType extends Record<string, unknown> = Record<string, any>,
RecordType extends Record<string, any> = Record<string, any>,
ReferenceRecordType extends RaRecord = RaRecord
> extends FieldProps<RecordType>,
UseReferenceResult {
2 changes: 1 addition & 1 deletion packages/ra-ui-materialui/src/field/ReferenceManyField.tsx
Original file line number Diff line number Diff line change
@@ -105,7 +105,7 @@ export const ReferenceManyField = <
};

export interface ReferenceManyFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType> {
children: ReactNode;
filter?: FilterPayload;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/RichTextField.tsx
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@ import { genericMemo } from './genericMemo';
* <RichTextField source="description" stripTags />
*/
const RichTextFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: RichTextFieldProps<RecordType>
) => {
@@ -83,7 +83,7 @@ export type PurifyOptions = purify.Config & {
};

export interface RichTextFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {
stripTags?: boolean;
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/SelectField.tsx
Original file line number Diff line number Diff line change
@@ -76,7 +76,7 @@ import { genericMemo } from './genericMemo';
* **Tip**: <ReferenceField> sets `translateChoice` to false by default.
*/
const SelectFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: SelectFieldProps<RecordType>
) => {
@@ -147,7 +147,7 @@ SelectFieldImpl.displayName = 'SelectFieldImpl';
export const SelectField = genericMemo(SelectFieldImpl);

export interface SelectFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends ChoicesProps,
FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {}
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/TextField.tsx
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ import { FieldProps, fieldPropTypes } from './types';
import { genericMemo } from './genericMemo';

const TextFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: TextFieldProps<RecordType>
) => {
@@ -45,7 +45,7 @@ TextFieldImpl.displayName = 'TextFieldImpl';
export const TextField = genericMemo(TextFieldImpl);

export interface TextFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
Omit<TypographyProps, 'textAlign'> {
// TypographyProps do not expose the component props, see https://github.com/mui/material-ui/issues/19512
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/UrlField.tsx
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ import { FieldProps, fieldPropTypes } from './types';
import { genericMemo } from './genericMemo';

const UrlFieldImpl = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>(
props: UrlFieldProps<RecordType>
) => {
@@ -49,7 +49,7 @@ UrlFieldImpl.displayName = 'UrlFieldImpl';
export const UrlField = genericMemo(UrlFieldImpl);

export interface UrlFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType>,
AnchorHTMLAttributes<HTMLAnchorElement> {}

4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/WrapperField.tsx
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ import { FieldProps, fieldPropTypes } from './types';
* );
*/
export const WrapperField = <
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
>({
children,
}: WrapperFieldProps<RecordType>) => <>{children}</>;
@@ -34,7 +34,7 @@ WrapperField.displayName = 'WrapperField';
WrapperField.propTypes = fieldPropTypes;

export interface WrapperFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> extends FieldProps<RecordType> {
children: ReactNode;
}
4 changes: 2 additions & 2 deletions packages/ra-ui-materialui/src/field/types.ts
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ type SortOrder = 'ASC' | 'DESC';
type AnyString = string & {};

export interface FieldProps<
RecordType extends Record<string, unknown> = Record<string, any>
RecordType extends Record<string, any> = Record<string, any>
> {
sortBy?: Call<Objects.AllPaths, RecordType> | AnyString;
sortByOrder?: SortOrder;
@@ -35,7 +35,7 @@ export interface FieldProps<
* @deprecated use FieldProps instead
*/
export interface PublicFieldProps<
RecordType extends Record<string, unknown> = Record<string, any>,
RecordType extends Record<string, any> = Record<string, any>,
SortByType = unknown
> {
sortBy?: unknown extends SortByType