paginationLine function

dynamic paginationLine(
  1. List<Widget> list,
  2. dynamic _redraw(),
  3. dynamic stringsFrom
)

Implementation

paginationLine(List<Widget> list, Function() _redraw,
    stringsFrom, /// strings.get(88) /// from
    ){
  // pagination
  list.add(SizedBox(height: 10,));
  _paginsCount = _visibleCount ~/pRange;
  // print ("_paginsCount=$_paginsCount _visibleCount=$_visibleCount _visibleCount%_pRange=${_visibleCount%_pRange}");
  if (_visibleCount%pRange > 0)
    _paginsCount++;
  List<Widget> list2 = [];
  if (_paginsCount > 12){
    var _st = _currentPage - 5;
    var _end = _currentPage + 5;
    if (_st < 1)
      _st = 1;
    else
      list2.add(Text("  ...  ", style: aTheme.style16W800,));
    if (_end > _paginsCount)
      _end = _paginsCount;
    for (var i = _st; i <= _end; i++){
      list2.add(button168("$i", aTheme.mainColor, 5, (){_pagin(i, _redraw);}, (i == _currentPage) ? false : true));
      list2.add(SizedBox(width: 5,));
    }
    if (_end != _paginsCount)
      list2.add(Text("  ...  ", style: aTheme.style16W800,));
  }else
    for (var i = 1; i <= _paginsCount; i++){
      list2.add(button168("$i", aTheme.mainColor, 5, (){_pagin(i, _redraw);}, (i == _currentPage) ? false : true));
      list2.add(SizedBox(width: 5,));
    }
  var t = _pStart+pRange;
  if (t > _visibleCount)
    t = _visibleCount;
  list.add(Row(
    children: [
      if (!isMobile())
        SizedBox(width: 40,),
      Text("${_pStart+1}-$t $stringsFrom $_visibleCount", style: TextStyle(fontSize: 18),), /// from
      Expanded(child: Row(
        mainAxisAlignment: MainAxisAlignment.center,
        children: list2,))
    ],
  ));
}