show method
Implementation
void show(IFormField model)
{
try
{
bool found = false;
for (IFormField field in widget.model.fields)
{
if (field == model)
{
found = true;
try {
List<dynamic>? pagers = (field as WidgetModel).findAncestorsOfExactType(PAGE.PagerPageModel);
if (pagers != null) {
Log().debug('found ${pagers.length} page(s)');
for (PAGE.PagerPageModel page in pagers as Iterable<PAGE.PagerPageModel>) { // ensure we can handle pagers within pagers, probably a bit extreme
PAGER.PagerModel pageParent = page.parent as PAGER.PagerModel; // (parent as PAGER.PagerModel).View();
int? index;
for (int i = 0; i < pageParent.pages.length; i++) {
if (pageParent.pages[i] == page) {
index = i;
i = pageParent.pages.length;
}
}
if (index != null && pageParent.controller != null) { // found page with field to go to within pager
pageParent.controller!.jumpToPage(index);
}
}
}
} catch(e) {}
break;
}
}
if (found == false)
Log().debug('Unable to find field');
}
catch(e)
{
Log().error('Error scrolling to form field. eror is $e');
}
}