show method
Implementation
void show(IFormField model) {
try {
bool found = false;
for (IFormField field in widget.model.formFields) {
if (field == model) {
found = true;
try {
List<dynamic>? pagers =
(field as WidgetModel).findAncestorsOfExactType(PageModel);
if (pagers != null) {
Log().debug('found ${pagers.length} page(s)');
for (PageModel page in pagers as Iterable<PageModel>) {
// ensure we can handle pagers within pagers, probably a bit extreme
PagerModel pageParent = page.parent
as 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) {
Log().debug('$e');
}
break;
}
}
if (found == false) {
Log().debug('Unable to find field');
}
} catch (e) {
Log().error('Error scrolling to form field. eror is $e');
}
}