toggleAllColumnsVisibility method

void toggleAllColumnsVisibility()

Implementation

void toggleAllColumnsVisibility() {
  _resetResponsiveReflowGuard();
  final newVisibility = !allColumnsVisible;
  for (final col in settings.colsDefinitions) {
    col.visibility = newVisibility;
    col.visibilityOnCard = newVisibility;
    final columnKey = col.key.trim();
    if (columnKey.isEmpty) {
      continue;
    }

    _responsiveController.setForcedVisible(columnKey, newVisibility);
  }

  for (final row in rows) {
    for (final column in row.columns) {
      column.visibility = newVisibility;
      column.visibilityOnCard = newVisibility;
    }
  }

  _syncResponsiveAutoHideNow();

  renderedRows = _rebuildRenderedRows(
    reason: 'toggle all columns visibility',
    rowsToRender: rows,
  );
  _syncTemplateContexts();
  _syncFixedColumnOffsets();
  _schedulePostRenderSync();
  _changeDetectorRef.markForCheck();
}