UNPKG

devexpress-reporting-react

Version:

DevExpress Reporting React provides the capability to develop a reporting application to create and customize reports.

21 lines (20 loc) 1.01 kB
import React from 'react'; import { SvgTemplatesEngine } from '@devexpress/analytics-core/property-grid/widgets/internal/_svgTemplateEngine'; import { getTemplate } from '@devexpress/analytics-core/property-grid/widgets/templateUtils'; import { TemplateEngineContext } from '../TemplateEngineProvider/TemplateEngineProvider'; const Template = ({ template, data, ...delegatedProps }) => { const templateEngine = React.useContext(TemplateEngineContext); const component = templateEngine.getTemplate(template); if (!!component) { return React.createElement(component, { data }); } else if (!!SvgTemplatesEngine.getExistingTemplate(template)) { // eslint-disable-next-line react/no-danger -- we need to use this to render svg templates return React.createElement("div", { ...delegatedProps, dangerouslySetInnerHTML: { __html: getTemplate(template) } }); } else { console.log(`${template} is not found`); } return null; }; export default Template;