UNPKG

@inspirer-dev/hero-widget-selector

Version:

A custom field plugin for Strapi v5 that provides a widget selector with size filtering capabilities. Perfect for selecting hero widgets from a filtered collection based on size (S, M, L, XL).

51 lines (45 loc) 1.12 kB
const mutateEditViewLayout = ({ layout, query }: { layout: any; query: any }) => { // Add null checks to prevent errors if ( !layout || !layout.contentType || !layout.contentType.layouts || !layout.contentType.layouts.edit ) { return { layout, query }; } const { edit } = layout.contentType.layouts; const enhancedEdit = edit.map((row: any[]) => row.map((field: any) => { // Add null checks for field and fieldSchema if (!field || !field.fieldSchema) { return field; } const { customField } = field.fieldSchema.pluginOptions || {}; if (customField?.name === 'widget-selector') { return { ...field, fieldSchema: { ...field.fieldSchema, type: 'widget-selector', }, }; } return field; }) ); return { query, layout: { ...layout, contentType: { ...layout.contentType, layouts: { ...layout.contentType.layouts, edit: enhancedEdit, }, }, }, }; }; export default mutateEditViewLayout;