Simone 24fa848ba3
Add new Blocks rich text editor (alpha) (#18166)
Co-authored-by: Madhuri Sandbhor <madhurisandbhor@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Rémi de Juvigny <remi.dejuvigny@strapi.io>
Co-authored-by: Madhuri Sandbhor <madhuri.sandbhor@strapi.io>
2023-09-26 17:21:44 +02:00

51 lines
1.2 KiB
JavaScript

'use strict';
const _ = require('lodash/fp');
const Field = require('./field');
const StringField = require('./string');
const JSONField = require('./json');
const BigIntegerField = require('./biginteger');
const NumberField = require('./number');
const DateField = require('./date');
const TimeField = require('./time');
const DatetimeField = require('./datetime');
const TimestampField = require('./timestamp');
const BooleanField = require('./boolean');
const typeToFieldMap = {
increments: Field,
password: StringField,
email: StringField,
string: StringField,
uid: StringField,
richtext: StringField,
text: StringField,
enumeration: StringField,
json: JSONField,
biginteger: BigIntegerField,
integer: NumberField,
float: NumberField,
decimal: NumberField,
date: DateField,
time: TimeField,
datetime: DatetimeField,
timestamp: TimestampField,
boolean: BooleanField,
blocks: JSONField,
};
const createField = (attribute) => {
const { type } = attribute;
if (_.has(type, typeToFieldMap)) {
return new typeToFieldMap[type]({});
}
throw new Error(`Undefined field for type ${type}`);
};
module.exports = {
createField,
};