update data table

This commit is contained in:
phyothandar
2021-09-13 11:09:32 +06:30
parent 5346cd10c5
commit d2b1900537
6 changed files with 76 additions and 73 deletions

View File

@@ -22,25 +22,26 @@ class _CargoTableState extends State<CargoTable> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SingleChildScrollView( return SingleChildScrollView(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
child: MyDataTable( child: DataTable(
headingRowHeight: 40, headingRowHeight: 40,
columnSpacing: 50, columnSpacing: 50,
showCheckboxColumn: false,
columns: [ columns: [
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.type", "cargo.type",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.qty", "cargo.qty",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.weight", "cargo.weight",
@@ -53,21 +54,21 @@ class _CargoTableState extends State<CargoTable> {
); );
} }
List<MyDataRow> getCargoRows(BuildContext context) { List<DataRow> getCargoRows(BuildContext context) {
if (widget.cargoTypes == null) { if (widget.cargoTypes == null) {
return []; return [];
} }
double total = 0; double total = 0;
var rows = widget.cargoTypes!.map((c) { var rows = widget.cargoTypes!.map((c) {
total += c.weight; total += c.weight;
return MyDataRow( return DataRow(
onSelectChanged: (bool selected) async {}, onSelectChanged: (bool? selected) async {},
cells: [ cells: [
MyDataCell(new Text( DataCell(new Text(
c.name ?? "", c.name ?? "",
style: textStyle, style: textStyle,
)), )),
MyDataCell(c.qty == null || c.qty == 0 DataCell(c.qty == null || c.qty == 0
? Center( ? Center(
child: Text( child: Text(
"-", "-",
@@ -80,7 +81,7 @@ class _CargoTableState extends State<CargoTable> {
style: textStyle, style: textStyle,
), ),
)), )),
MyDataCell( DataCell(
Text(c.weight == null ? "0" : c.weight.toStringAsFixed(2), Text(c.weight == null ? "0" : c.weight.toStringAsFixed(2),
style: textStyle), style: textStyle),
), ),
@@ -88,10 +89,10 @@ class _CargoTableState extends State<CargoTable> {
); );
}).toList(); }).toList();
var totalRow = MyDataRow( var totalRow = DataRow(
onSelectChanged: (bool selected) {}, onSelectChanged: (bool? selected) {},
cells: [ cells: [
MyDataCell(Align( DataCell(Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: LocalText( child: LocalText(
context, context,
@@ -100,8 +101,8 @@ class _CargoTableState extends State<CargoTable> {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
)), )),
MyDataCell(Text("")), DataCell(Text("")),
MyDataCell( DataCell(
Padding( Padding(
padding: const EdgeInsets.only(right: 48.0), padding: const EdgeInsets.only(right: 48.0),
child: Align( child: Align(

View File

@@ -3,7 +3,6 @@ import 'package:fcs/helpers/theme.dart';
import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/widgets/dialog_input.dart'; import 'package:fcs/pages/widgets/dialog_input.dart';
import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/my_data_table.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -45,25 +44,26 @@ class _CargoTableState extends State<CargoTable> {
return SingleChildScrollView( return SingleChildScrollView(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
child: MyDataTable( child: DataTable(
showCheckboxColumn: false,
headingRowHeight: 40, headingRowHeight: 40,
columnSpacing: 40, columnSpacing: 40,
columns: [ columns: [
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.type", "cargo.type",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.qty", "cargo.qty",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.weight", "cargo.weight",
@@ -76,21 +76,21 @@ class _CargoTableState extends State<CargoTable> {
); );
} }
List<MyDataRow> getCargoRows(BuildContext context) { List<DataRow> getCargoRows(BuildContext context) {
if (cargoTypes == null) { if (cargoTypes == null) {
return []; return [];
} }
var rows = cargoTypes!.map((c) { var rows = cargoTypes!.map((c) {
return MyDataRow( return DataRow(
onSelectChanged: (bool selected) async {}, onSelectChanged: (bool? selected) async {},
cells: [ cells: [
MyDataCell( DataCell(
new Text( new Text(
c.name ?? '', c.name ?? '',
style: textStyle, style: textStyle,
), ),
), ),
MyDataCell( DataCell(
c.isCutomDuty! c.isCutomDuty!
? GestureDetector( ? GestureDetector(
onTap: () async { onTap: () async {
@@ -128,7 +128,7 @@ class _CargoTableState extends State<CargoTable> {
), ),
), ),
), ),
MyDataCell( DataCell(
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
@@ -185,10 +185,10 @@ class _CargoTableState extends State<CargoTable> {
); );
}).toList(); }).toList();
var totalRow = MyDataRow( var totalRow = DataRow(
onSelectChanged: (bool selected) {}, onSelectChanged: (bool? selected) {},
cells: [ cells: [
MyDataCell(Align( DataCell(Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: LocalText( child: LocalText(
context, context,
@@ -197,8 +197,8 @@ class _CargoTableState extends State<CargoTable> {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
)), )),
MyDataCell(Text("")), DataCell(Text("")),
MyDataCell( DataCell(
Padding( Padding(
padding: const EdgeInsets.only(right: 48.0), padding: const EdgeInsets.only(right: 48.0),
child: Align( child: Align(

View File

@@ -28,17 +28,18 @@ class _CargoTableState extends State<CargoTable> {
double remainingWeight = 0; double remainingWeight = 0;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MyDataTable( return DataTable(
headingRowHeight: 40, headingRowHeight: 40,
showCheckboxColumn: false,
columns: [ columns: [
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.type", "cargo.type",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: Row( label: Row(
children: [ children: [
Container( Container(
@@ -57,7 +58,7 @@ class _CargoTableState extends State<CargoTable> {
); );
} }
List<MyDataRow> getCargoRows(BuildContext context) { List<DataRow> getCargoRows(BuildContext context) {
if (widget.cargoTypes == null) { if (widget.cargoTypes == null) {
return []; return [];
} }
@@ -67,10 +68,10 @@ class _CargoTableState extends State<CargoTable> {
var rows = widget.cargoTypes!.map((c) { var rows = widget.cargoTypes!.map((c) {
_total += c.weight; _total += c.weight;
return MyDataRow( return DataRow(
onSelectChanged: (bool selected) async {}, onSelectChanged: (bool? selected) async {},
cells: [ cells: [
MyDataCell(Row( DataCell(Row(
children: [ children: [
new Text( new Text(
c.name ?? "", c.name ?? "",
@@ -82,7 +83,7 @@ class _CargoTableState extends State<CargoTable> {
), ),
], ],
)), )),
MyDataCell( DataCell(
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
@@ -106,10 +107,10 @@ class _CargoTableState extends State<CargoTable> {
); );
}).toList(); }).toList();
var totalRow = MyDataRow( var totalRow = DataRow(
onSelectChanged: (bool selected) {}, onSelectChanged: (bool? selected) {},
cells: [ cells: [
MyDataCell(Align( DataCell(Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: LocalText( child: LocalText(
context, context,
@@ -118,7 +119,7 @@ class _CargoTableState extends State<CargoTable> {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
)), )),
MyDataCell( DataCell(
Padding( Padding(
padding: const EdgeInsets.only(right: 40.0), padding: const EdgeInsets.only(right: 40.0),
child: Align( child: Align(
@@ -144,7 +145,8 @@ class _CargoTableState extends State<CargoTable> {
widget.cargoTypes!.forEach((c) { widget.cargoTypes!.forEach((c) {
_types.add(c.name!); _types.add(c.name!);
}); });
if (this._cargos.length == widget.cargoTypes!.length - 1) { if (this._cargos.length ==
widget.cargoTypes!.length - 1) {
_types.forEach((t) { _types.forEach((t) {
if (!_list.contains(t)) { if (!_list.contains(t)) {
widget.cargoTypes!.forEach((c) { widget.cargoTypes!.forEach((c) {

View File

@@ -1,7 +1,6 @@
import 'package:fcs/domain/entities/discount.dart'; import 'package:fcs/domain/entities/discount.dart';
import 'package:fcs/helpers/theme.dart'; import 'package:fcs/helpers/theme.dart';
import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/my_data_table.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -37,17 +36,18 @@ class InvoiceDiscountList extends StatelessWidget {
} }
Widget table(BuildContext context) { Widget table(BuildContext context) {
return MyDataTable( return DataTable(
headingRowHeight: 40, headingRowHeight: 40,
showCheckboxColumn: false,
columns: [ columns: [
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"discount.code", "discount.code",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"discount.amount", "discount.amount",
@@ -59,19 +59,19 @@ class InvoiceDiscountList extends StatelessWidget {
); );
} }
List<MyDataRow> getRows(BuildContext context) { List<DataRow> getRows(BuildContext context) {
if (discounts == null) { if (discounts == null) {
return []; return [];
} }
var rows = discounts!.map((c) { var rows = discounts!.map((c) {
return MyDataRow( return DataRow(
onSelectChanged: (value) => Navigator.pop(context, c), onSelectChanged: (value) => Navigator.pop(context, c),
cells: [ cells: [
MyDataCell(new Text( DataCell(new Text(
c?.code ?? '', c?.code ?? '',
style: textStyle, style: textStyle,
)), )),
MyDataCell( DataCell(
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [

View File

@@ -1,7 +1,6 @@
import 'package:fcs/domain/entities/shipment.dart'; import 'package:fcs/domain/entities/shipment.dart';
import 'package:fcs/helpers/theme.dart'; import 'package:fcs/helpers/theme.dart';
import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/my_data_table.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -41,17 +40,18 @@ class InvoiceHandlingFeeList extends StatelessWidget {
} }
Widget table(BuildContext context) { Widget table(BuildContext context) {
return MyDataTable( return DataTable(
headingRowHeight: 40, headingRowHeight: 40,
showCheckboxColumn: false,
columns: [ columns: [
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"invoice.shipment.number", "invoice.shipment.number",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"invoice.add.handling.fee.menu", "invoice.add.handling.fee.menu",
@@ -63,19 +63,19 @@ class InvoiceHandlingFeeList extends StatelessWidget {
); );
} }
List<MyDataRow> getRows(BuildContext context) { List<DataRow> getRows(BuildContext context) {
if (shipments == null) { if (shipments == null) {
return []; return [];
} }
var rows = shipments!.map((c) { var rows = shipments!.map((c) {
return MyDataRow( return DataRow(
onSelectChanged: (value) => Navigator.pop(context, c), onSelectChanged: (value) => Navigator.pop(context, c),
cells: [ cells: [
MyDataCell(new Text( DataCell(new Text(
c!.shipmentNumber!, c!.shipmentNumber!,
style: textStyle, style: textStyle,
)), )),
MyDataCell( DataCell(
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [

View File

@@ -13,7 +13,6 @@ import 'package:fcs/pages/widgets/length_picker.dart';
import 'package:fcs/pages/widgets/local_button.dart'; import 'package:fcs/pages/widgets/local_button.dart';
import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/local_title.dart'; import 'package:fcs/pages/widgets/local_title.dart';
import 'package:fcs/pages/widgets/my_data_table.dart';
import 'package:fcs/pages/widgets/progress.dart'; import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@@ -160,17 +159,18 @@ class _ShipmentBoxEditorState extends State<ShipmentBoxEditor> {
_addCargo(cargo); _addCargo(cargo);
}), }),
), ),
MyDataTable( DataTable(
headingRowHeight: 40, headingRowHeight: 40,
showCheckboxColumn: false,
columns: [ columns: [
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.type", "cargo.type",
color: Colors.grey, color: Colors.grey,
), ),
), ),
MyDataColumn( DataColumn(
label: LocalText( label: LocalText(
context, context,
"cargo.weight", "cargo.weight",
@@ -211,15 +211,15 @@ class _ShipmentBoxEditorState extends State<ShipmentBoxEditor> {
); );
} }
List<MyDataRow> getCargoRows(BuildContext context) { List<DataRow> getCargoRows(BuildContext context) {
if (_box!.cargoTypes == null) { if (_box!.cargoTypes == null) {
return []; return [];
} }
double total = 0; double total = 0;
var rows = _box!.cargoTypes.map((c) { var rows = _box!.cargoTypes.map((c) {
total += c.weight; total += c.weight;
return MyDataRow( return DataRow(
onSelectChanged: (bool selected) async { onSelectChanged: (bool? selected) async {
CargoType? cargo = await Navigator.push<CargoType>( CargoType? cargo = await Navigator.push<CargoType>(
context, context,
CupertinoPageRoute( CupertinoPageRoute(
@@ -230,11 +230,11 @@ class _ShipmentBoxEditorState extends State<ShipmentBoxEditor> {
_addCargo(cargo); _addCargo(cargo);
}, },
cells: [ cells: [
MyDataCell(new Text( DataCell(new Text(
c.name == null ? "" : c.name!, c.name == null ? "" : c.name!,
style: textStyle, style: textStyle,
)), )),
MyDataCell( DataCell(
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
@@ -254,10 +254,10 @@ class _ShipmentBoxEditorState extends State<ShipmentBoxEditor> {
); );
}).toList(); }).toList();
var totalRow = MyDataRow( var totalRow = DataRow(
onSelectChanged: (bool selected) {}, onSelectChanged: (bool? selected) {},
cells: [ cells: [
MyDataCell(Align( DataCell(Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: LocalText( child: LocalText(
context, context,
@@ -266,7 +266,7 @@ class _ShipmentBoxEditorState extends State<ShipmentBoxEditor> {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
)), )),
MyDataCell( DataCell(
Padding( Padding(
padding: const EdgeInsets.only(right: 48.0), padding: const EdgeInsets.only(right: 48.0),
child: Align( child: Align(