@adaptabletools/adaptable-cjs
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
33 lines (32 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdaptableObjectsSummary = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const rebass_1 = require("rebass");
const AdaptableContext_1 = require("../../AdaptableContext");
const AdaptableObjectList_1 = require("../../Components/AdaptableObjectList");
const useRerender_1 = require("../../../components/utils/useRerender");
const react_1 = require("react");
const AdaptableObjectsSummary = () => {
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(rebass_1.Box, { className: baseClassName }, [...modules].map(([moduleName, module]) => {
if (!module.isModuleAvailable()) {
return null;
}
const items = module?.toViewAll?.();
if (!items?.length) {
return null;
}
return (React.createElement(rebass_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;