UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

27 lines (26 loc) 1.46 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { cn } from '../../../lib/utils'; import { Box } from '../../../components/Flex'; import { useAdaptable } from '../../AdaptableContext'; import { AdaptableObjectList } from '../../Components/AdaptableObjectList'; import { useRerender } from '../../../components/utils/useRerender'; import { useEffect } from 'react'; export const AdaptableObjectsSummary = ({ className, }) => { const adaptable = useAdaptable(); const rerender = useRerender(); useEffect(() => { return adaptable.api.eventApi.on('AdaptableStateChanged', rerender); }, [adaptable]); const modules = adaptable.ModuleService.getModuleCollection(); const baseClassName = 'ab-AdaptableObjectsSummary'; return (_jsx(Box, { className: cn(baseClassName, className), children: [...modules].map(([moduleName, module]) => { if (!module.isModuleVisible()) { return null; } const items = module?.toViewAll?.(); if (!items?.length) { return null; } return (_jsxs(Box, { "data-name": module.moduleInfo.ModuleName, className: `${baseClassName}__module-list`, children: [_jsx("b", { className: `${baseClassName}__header`, children: module.moduleInfo.FriendlyName }), items?.length && _jsx(AdaptableObjectList, { items: items, module: module })] }, module.moduleInfo.ModuleName)); }) })); };