UNPKG

@gravel-form/blueprintjs

Version:

A flexible middlewares driven json schema form with Blueprintjs

1 lines 1.32 kB
{"version":3,"sources":["middlewares/ExtraPropsMw.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,EAAE,GAClE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,EAAE,CAO1C;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAQ1E,CAAC;AAEF,eAAe,YAAY,CAAC","file":"ExtraPropsMw.d.ts","sourcesContent":["import get from 'lodash/get';\nimport * as React from 'react';\nimport { BlueprintFormMiddlewareProps } from '../share';\n\nexport function withName(\n list: [string, React.ComponentType<BlueprintFormMiddlewareProps>][]\n): React.FC<BlueprintFormMiddlewareProps>[] {\n return list.map(([name, Component]) => {\n return (props: BlueprintFormMiddlewareProps) => {\n if (get(props.extraProps, 'component') !== name) return props.next(props);\n return <Component {...props} />;\n };\n });\n}\n\nexport const ExtraPropsMw: React.ComponentType<BlueprintFormMiddlewareProps> = (props) => {\n const {\n next,\n schemaPath,\n formProps: { extraProps },\n } = props;\n const ep = schemaPath.length ? get(extraProps, schemaPath) : extraProps;\n return ep === props.extraProps ? next(props) : next({ ...props, extraProps: ep });\n};\n\nexport default ExtraPropsMw;\n"]}