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
JavaScript
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;