@using FastReport.Utils;
@using System;
@using System.Text;
@for (int i = 0; i < xml.Count; i++)
{
var open = false;
if (Top && xml.Count == 1)
{
open = true;
}
var node = xml[i];
var hasChildren = node.Count > 0;
(string text, int page, float offset) Cortage = ReadOutlineNode(node);
}
@code {
[Parameter]
public XmlItem xml { get; set; }
[Parameter]
public bool Top { get; set; }
[Parameter]
public EventCallback PageChanged { get; set; }
(string text, int page, float offset) ReadOutlineNode(XmlItem node)
{
string text = node.GetProp("Text");
int page = 0;
float offset = 0f;
string s = node.GetProp("Page");
if (!s.IsNullOrWhiteSpace())
{
page = int.Parse(s);
s = node.GetProp("Offset");
if (!s.IsNullOrWhiteSpace())
offset = (float)Converter.FromString(typeof(float), s) /* * PDF_DIVIDER*/;
}
return (text, page, offset);
}
}