renderRow method

List<Widget> renderRow(
  1. List<List<Control>>? ls
)

Implementation

List<Widget> renderRow(List<List<Control>>? ls) {
  List<Widget> lsRow = [];
  for (var row in ls!) {
    List<Widget> columns = [];
    var lastRowVisibleIndex = row.lastIndexWhere((element) =>
        element.getVisible() && !element.isHideFromKenhNdCdLke());
    var firstRowVisibleIndex = row.indexWhere((element) =>
        element.getVisible() && !element.isHideFromKenhNdCdLke());

    if (lastRowVisibleIndex < 0) {
      lastRowVisibleIndex = row.length - 1;
    }
    if (firstRowVisibleIndex < 0) {
      firstRowVisibleIndex = 0;
    }
    row.asMap().forEach((index, value) {
      bool isLastRow = index == lastRowVisibleIndex;
      bool isFirstRow = index == firstRowVisibleIndex;
      // if (index == (row.length - 2) && !row[row.length - 1].visible.value) {
      //   isLastRow = true;
      // }
      // if (index > 0 && !row[index - 1].visible.value) {
      //   isFirstRow = true;
      // }
      columns.add(renderView(value, index, isLastRow, isFirstRow)!);
      // columns.add(renderView(value, index, index == (row.length - 1))!);
    });

    Widget rowE = Row(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.start,
        children: columns);

    lsRow.add(rowE);
  }
  return lsRow;
}