builder method
Implementation
List<Widget> builder(BuildContext context, BoxConstraints constraints) {
List<Widget> list = [];
// create page view
if (pageView == null) {
// Build Pages
_pages = [];
for (PageModel model in widget.model.pages) {
var view = model.getView();
_pages.add(view);
}
pageView = PageView.builder(
controller: _controller,
itemBuilder: buildPage,
itemCount: _pages.length,
onPageChanged: (int page) => widget.model.currentpage = page + 1);
}
list.add(pageView!);
// create pager
if (pager == null && widget.model.pager) {
pager = DotsIndicator(
controller: _controller!,
itemCount: _pages.length,
color:
widget.model.color ?? Theme.of(context).colorScheme.onSurface,
onPageSelected: (int page) =>
pageTo(page + 1, widget.model.transition));
pager = PositionedModel(widget.model, null, bottom: 8, child: pager!).getView();
}
if (pager != null) {
list.add(pager!);
}
// create busy indicator
if (busy == null) {
var model = BusyModel(widget.model,
visible: widget.model.busy, observable: widget.model.busyObservable);
busy = model.getView();
}
list.add(busy!);
return list;
}