- Added a new Seeder service to help with custom object seeds - Added RichTextFieldInput to edit a rich text field directly on the table, but deactivated it for now.
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
|
|
|
export enum NumberDataType {
|
|
FLOAT = 'float',
|
|
INT = 'int',
|
|
BIGINT = 'bigint',
|
|
}
|
|
|
|
export type FieldMetadataDefaultSettings = {
|
|
isForeignKey?: boolean;
|
|
};
|
|
|
|
export type FieldNumberVariant = 'number' | 'percentage';
|
|
|
|
export type FieldMetadataNumberSettings = {
|
|
dataType: NumberDataType;
|
|
decimals?: number;
|
|
type?: FieldNumberVariant;
|
|
};
|
|
|
|
export type FieldMetadataTextSettings = {
|
|
displayedMaxRows?: number;
|
|
};
|
|
|
|
export type FieldMetadataDateSettings = {
|
|
displayAsRelativeDate?: boolean;
|
|
};
|
|
|
|
export type FieldMetadataDateTimeSettings = {
|
|
displayAsRelativeDate?: boolean;
|
|
};
|
|
|
|
type FieldMetadataSettingsMapping = {
|
|
[FieldMetadataType.NUMBER]: FieldMetadataNumberSettings;
|
|
[FieldMetadataType.DATE]: FieldMetadataDateSettings;
|
|
[FieldMetadataType.DATE_TIME]: FieldMetadataDateTimeSettings;
|
|
[FieldMetadataType.TEXT]: FieldMetadataTextSettings;
|
|
};
|
|
|
|
type SettingsByFieldMetadata<T extends FieldMetadataType | 'default'> =
|
|
T extends keyof FieldMetadataSettingsMapping
|
|
? FieldMetadataSettingsMapping[T] & FieldMetadataDefaultSettings
|
|
: T extends 'default'
|
|
? FieldMetadataDefaultSettings
|
|
: never;
|
|
|
|
export type FieldMetadataSettings<
|
|
T extends FieldMetadataType | 'default' = 'default',
|
|
> = SettingsByFieldMetadata<T>;
|