processTemplate static method
List<Widget>
processTemplate(
- ReportTemplate template,
- List data, {
- DataSchema? schema,
- double scale = 1.0,
- dynamic onPageChanged()?,
Processes a template with data and returns a list of widgets
Implementation
static List<Widget> processTemplate(
ReportTemplate template,
List<dynamic> data, {
DataSchema? schema,
double scale = 1.0,
Function(int)? onPageChanged,
}) {
final pages = <Widget>[];
for (int i = 0; i < data.length; i++) {
final pageWidgets = <Widget>[];
for (final element in template.sortedElements) {
final positionedWidget = Positioned(
left: element.x * scale,
top: element.y * scale,
child: SizedBox(
width: element.width * scale,
height: element.height * scale,
child: renderElement(
element,
data[i],
schema: schema,
scale: scale,
),
),
);
pageWidgets.add(positionedWidget);
}
final page = Stack(key: ValueKey('page_$i'), children: pageWidgets);
pages.add(page);
}
return pages;
}