asb_cloud_front/src/components/d3/plugins/base.tsx
goodmice 1a05704375 * Добавлен компонент графика d3
* Добавлены плагины для графиков
* Empty перемещён из опрелённых операций в компонент графика
* добавлена зависимость usehooks-ts
2022-06-25 16:03:08 +05:00

16 lines
402 B
TypeScript

import { FC, memo } from 'react'
export type BasePluginSettings = {
enabled?: boolean
}
export const wrapPlugin = <S,>(Component: FC<S>, defaultEnabled?: boolean) => {
const wrappedComponent = memo<S & BasePluginSettings>(({ enabled, ...props }) => {
if (!(enabled ?? defaultEnabled)) return <></>
return <Component {...(props as S)} />
})
return wrappedComponent
}