UNPKG

@adaptabletools/adaptable-cjs

Version:

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

34 lines (33 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AdaptableObjectsSummary = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const Flex_1 = require("../../../components/Flex"); const AdaptableContext_1 = require("../../AdaptableContext"); const AdaptableObjectList_1 = require("../../Components/AdaptableObjectList"); const useRerender_1 = require("../../../components/utils/useRerender"); const react_1 = require("react"); const clsx_1 = tslib_1.__importDefault(require("clsx")); const AdaptableObjectsSummary = ({ className, }) => { const adaptable = (0, AdaptableContext_1.useAdaptable)(); const rerender = (0, useRerender_1.useRerender)(); (0, react_1.useEffect)(() => { return adaptable.api.eventApi.on('AdaptableStateChanged', rerender); }, [adaptable]); const modules = adaptable.ModuleService.getModuleCollection(); const baseClassName = 'ab-AdaptableObjectsSummary'; return (React.createElement(Flex_1.Box, { className: (0, clsx_1.default)(baseClassName, className) }, [...modules].map(([moduleName, module]) => { if (!module.isModuleVisible()) { return null; } const items = module?.toViewAll?.(); if (!items?.length) { return null; } return (React.createElement(Flex_1.Box, { "data-name": module.moduleInfo.ModuleName, className: `${baseClassName}__module-list`, key: module.moduleInfo.ModuleName }, React.createElement("b", { className: `${baseClassName}__header` }, module.moduleInfo.FriendlyName), items?.length && React.createElement(AdaptableObjectList_1.AdaptableObjectList, { items: items, module: module }))); }))); }; exports.AdaptableObjectsSummary = AdaptableObjectsSummary;