Files
fcs/lib/pages/box/box_list_row.dart

110 lines
3.5 KiB
Dart
Raw Normal View History

2020-10-07 02:33:06 +06:30
import 'package:fcs/domain/entities/box.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/widgets/bottom_up_page_route.dart';
2020-06-26 16:17:40 +06:30
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
2020-10-07 02:33:06 +06:30
import 'box_editor.dart';
2020-10-14 16:53:16 +06:30
import 'box_info.dart';
2020-10-07 02:33:06 +06:30
class BoxListRow extends StatefulWidget {
2020-06-26 16:17:40 +06:30
final bool isReadOnly;
final Box box;
2020-10-07 02:33:06 +06:30
const BoxListRow({this.box, this.isReadOnly});
2020-06-26 16:17:40 +06:30
@override
2020-10-07 02:33:06 +06:30
_BoxListRowState createState() => _BoxListRowState();
2020-06-26 16:17:40 +06:30
}
2020-10-07 02:33:06 +06:30
class _BoxListRowState extends State<BoxListRow> {
2020-06-26 16:17:40 +06:30
final double dotSize = 15.0;
Box _box = new Box();
final DateFormat dateFormat = new DateFormat("dd MMM yyyy");
@override
void initState() {
super.initState();
_box = widget.box;
}
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(left: 15, right: 15),
child: InkWell(
onTap: () {
2020-10-14 16:53:16 +06:30
Navigator.push(
context,
BottomUpPageRoute(BoxInfo(box: _box)),
);
2020-06-26 16:17:40 +06:30
},
child: Row(
children: <Widget>[
Expanded(
child: new Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: new Row(
children: <Widget>[
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: new Text(
_box.packageNumber == null
? ''
: _box.packageNumber,
style: new TextStyle(
fontSize: 15.0, color: Colors.black),
),
),
Padding(
padding: const EdgeInsets.only(left: 10.0, top: 10),
child: new Text(
dateFormat.format(_box.arrivedDate),
style: new TextStyle(
fontSize: 15.0, color: Colors.grey),
),
)
],
),
),
],
),
),
),
Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(0),
child: getStatus(_box.status),
),
Padding(
padding: const EdgeInsets.only(left: 8.0, top: 5, bottom: 5),
child: Row(
children: <Widget>[
new Text(
_box.weight == null
? ''
: _box.weight.toString() + 'lb - ',
style:
new TextStyle(fontSize: 15.0, color: Colors.grey),
),
new Text(
_box.price == null ? "" : "\$ " + _box.price.toString(),
style:
new TextStyle(fontSize: 15.0, color: Colors.grey),
),
],
),
),
],
)
],
),
),
);
}
}