All files / src/form/dashboard/widgets HtmlWidget.tsx

100% Statements 5/5
50% Branches 1/2
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33        7x 1x 1x                       1x 1x                          
import React, { ReactElement } from "react";
import { WidgetComponentRenderProps } from "../WidgetComponentsMapping";
import { wrapAsHtml } from "@utils/ComponentUtils";
 
const HtmlWidget = (props: WidgetComponentRenderProps): ReactElement => {
  const { dataAndConfigs, widget } = props;
  const config = JSON.parse(widget.options)?.config ?? {};
  /* Set style on the html contents on widget options (extInfo)
    {
      "config": {
        "style": {
          "color": "red",
          "fontSize": "32px",
          "textAlign": "center"
        }
      }
    }
   */
  const mergedConfigs = { ...config, ...dataAndConfigs };
  return (
    <div
        className="html-widget"
        role="region"
        aria-label={config.className}
        {...mergedConfigs}
    >
      {wrapAsHtml(dataAndConfigs.data as string)}
    </div>
  );
};
 
export default HtmlWidget;