insertTable static method
Asks for a row/column count and returns a fresh empty table.
Implementation
static Future<UTableData?> insertTable() {
int rows = 3;
int columns = 3;
bool header = true;
return UNavigator.dialog<UTableData>(
StatefulBuilder(
builder: (BuildContext context, StateSetter setInner) => AlertDialog(
title: Text(U.s.insertTable),
content: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
_counter(context, U.s.rows, rows, (int v) => setInner(() => rows = v.clamp(1, 20))),
_counter(context, U.s.columns, columns, (int v) => setInner(() => columns = v.clamp(1, 10))),
SwitchListTile(
contentPadding: EdgeInsets.zero,
value: header,
title: UTextBodyMedium(U.s.headerRow),
onChanged: (bool v) => setInner(() => header = v),
),
],
),
actions: <Widget>[
TextButton(onPressed: UNavigator.back, child: Text(U.s.cancel)),
TextButton(
onPressed: () => UNavigator.back(UTableData.empty(rows: rows, columns: columns)..hasHeader = header),
child: Text(U.s.insert),
),
],
),
),
);
}