1. Examples

Display logs

The following React example retrieves and displays log information.

Example

import React from "react";
import ReactDOM from "react-dom";
import LogViewer from "./LogViewer";

export default function createExternalRoot(container: HTMLElement) {
  return {
    render(props: {
      options: { entityId: number };
      config: {
        header_label: string;
        log_types: Array<{ name: string; label: string }>;
      };
    }) {
      ReactDOM.render(
        props.config.log_types.map((logType) => (
          <LogViewer
            entityId={props.options.entityId ?? 0}
            logType={logType.name ?? ""}
            logLabel={logType.label ?? ""}
          />
        )),
        container
      );
    },
    unmount() {
      ReactDOM.unmountComponentAtNode(container);
    },
  };
}

Returns

config.json

{
  "log_types": [
    {
      "name": "asset.download.completed",
      "label": "Number of downloads: "
    },
    {
      "name": "publiclink.requested",
      "label": "Number of public link views: "
    }
  ],
  "header_label": "Report Data"
}
If you have suggestions for improving this article, let us know!