getTreeViewTable method

dynamic getTreeViewTable(
  1. dynamic droplistName,
  2. dynamic item,
  3. dynamic context,
  4. dynamic backcolor,
)

Implementation

getTreeViewTable(droplistName, item, context, backcolor) {
  myLogAll('getTreeViewTable');
  var tableName = droplistName;
  var parentid = '';
  if (droplistName.indexOf("[") > 0) {
    //roleid from Zzyuserrole where parentid=@uid
    tableName = droplistName.substring(0, droplistName.indexOf('['));

    var tableNameParent =
        droplistName.substring(droplistName.indexOf('[') + 1);
    tableNameParent =
        tableNameParent.substring(0, tableNameParent.indexOf(']'));
    var tableNameParentCol =
        tableNameParent.substring(0, tableNameParent.indexOf(' from '));
    tableNameParent =
        tableNameParent.substring(tableNameParent.indexOf(' from ') + 6);
    var where =
        tableNameParent.substring(tableNameParent.indexOf(' where ') + 7);
    tableNameParent =
        tableNameParent.substring(0, tableNameParent.indexOf(' where '));
    //if (tableName == gZzyrole) {
    where = getWhereFilter(where);
    //}
    //var searchTxt = _tableList[tableName]![gSearch];
    //_tableList[tableNameParent]![gSearch] = searchTxt;

    setTableDataSearch(tableName, context, null);

    dynamic data = getTableByTableID(tableNameParent, where, context);
    if (data == null || data.length < 1) {
      return getEmptyWidget();
    }
    parentid = data[0][tableNameParentCol];
  }

  return Expanded(
    child: TreeView(nodes: [
      TreeNode(
          content: Row(
            children: [
              getImg(
                  {gValue: getTableValueAttr(tableName, gIcon)}, backcolor),
              MyLabel(
                  {gValue: getTableValueAttr(tableName, gLabel)}, backcolor),
            ],
          ),
          children: getTreeNodeTable(
              tableName, item, parentid, context, backcolor)),
    ]),
  );
}