renderElement static method

Widget renderElement(
  1. ReportElement element,
  2. dynamic data, {
  3. DataSchema? schema,
  4. double scale = 1.0,
})

Renders a single element with data

Implementation

static Widget renderElement(
  ReportElement element,
  dynamic data, {
  DataSchema? schema,
  double scale = 1.0,
}) {
  switch (element.type) {
    case ReportElementType.text:
      return _renderTextElement(element, scale);
    case ReportElementType.dynamicField:
      return _renderDynamicFieldElement(element, data, scale);
    case ReportElementType.barcode:
      return _renderBarcodeElement(element, data, scale);
    case ReportElementType.qrCode:
      return _renderQRCodeElement(element, data, scale);
    case ReportElementType.image:
      return _renderImageElement(element, data, scale);
    case ReportElementType.line:
      return _renderLineElement(element, scale);
    case ReportElementType.rectangle:
      return _renderRectangleElement(element, scale);
    case ReportElementType.circle:
      return _renderCircleElement(element, scale);
    case ReportElementType.checkbox:
      return _renderCheckboxElement(element, data, scale);
    case ReportElementType.textbox:
      return _renderTextboxElement(element, data, scale);
    case ReportElementType.date:
      return _renderDateElement(element, scale);
    case ReportElementType.pageNumber:
      return _renderPageNumberElement(element, scale);
    case ReportElementType.logo:
      return _renderLogoElement(element, scale);
    case ReportElementType.table:
      return _renderTableElement(element, data, scale);
    case ReportElementType.pieChart:
      return _renderChartPlaceholder(
        element,
        'Pie chart',
        Icons.pie_chart,
        scale,
      );
    case ReportElementType.barChart:
      return _renderChartPlaceholder(
        element,
        'Bar chart',
        Icons.bar_chart,
        scale,
      );
    case ReportElementType.lineChart:
      return _renderChartPlaceholder(
        element,
        'Line chart',
        Icons.show_chart,
        scale,
      );
    case ReportElementType.formula:
      return _renderFormulaElement(element, data, scale);
    case ReportElementType.markdown:
      return _renderMarkdownElement(element, data, scale);
  }
}