UNPKG

strapi-plugin-parent-child-relationships

Version:

Strapi plugin to create and manage parent-child relationships between content types using custom fields

59 lines (49 loc) 1.24 kB
const val = (value) => { if (value && value !== "null") return JSON.parse(value); return null; }; const enumProps = ({ props, viewData }) => { try { const { error, attribute, value, intlLabel, onChange, name: fieldName, } = props; const { layout, initialData, modifiedData, relationDisconnect } = viewData; const enumOptions = attribute.options.enum; const relations = []; enumOptions.forEach((relationName) => { const layoutMetadata = layout.metadatas[relationName]?.edit; relations.push({ relationName, relationLabel: layoutMetadata?.label, }); }); const disconnectRelations = () => { relations.forEach(({ relationName }) => { const relationsToDisconnect = modifiedData[relationName]; relationsToDisconnect.forEach(({ id }) => relationDisconnect({ name: relationName, id }) ); }); }; return { intlLabel, value, error, relations, initialData, onChange, fieldName, disabled: false, disconnectRelations, }; } catch (error) { console.error(error); return null; } }; export default { enumProps, val };