setTab method

dynamic setTab(
  1. List data,
  2. dynamic context
)

Implementation

setTab(List data, context) {
  myLogAll('setTab');
  int i = 0;
  dynamic tabname = "";
  dynamic title = "";

  for (var element in data) {
    List databodyNew = [];
    Map data0 = getMap(element);
    tabname = data0[gTabid];
    title = data0[gLabel] ?? '';
    tabList[tabname] = {};
    _tabList[tabname][gData] = [];
    List<dynamic> data0body = data0[gBody];
    for (var element in data0body) {
      element = getMap(element);
      if (i == _colorList.length) {
        i = 0;
      }
      element[gColorIndex] = i;
      databodyNew.add(element);
      i++;
    }
    data0[gBody] = databodyNew;
    data0[gIsselected] = true;
    _tabList[tabname][gData].add(data0);
    _tabList[tabname][gTabIndex] = 0;
  }
  Map items = {};
  int index = 0;
  if (!isNull(title)) {
    items[index] = {
      gItem: getJsonEncode({gType: gLabel, gValue: title, gFontSize: 20.0})
    };
    index = index + 10;
    items[index] = {
      gItem: getJsonEncode({gType: gSizedbox, gValue: 20.0})
    };
    index = index + 10;
  }
  items[index] = {
    gItem: getJsonEncode({gType: gTab, gValue: tabname})
  };

  List actionData = [
    {
      gName: tabname,
      gType: gScreen,
      gItems: items,
    }
  ];
  showScreenPage(actionData, context);
  myNotifyListeners();
}