null safety
This commit is contained in:
@@ -17,12 +17,12 @@ import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||
import 'package:fcs/pages/widgets/progress.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_icons/flutter_icons.dart';
|
||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class ProcessingEditEditor extends StatefulWidget {
|
||||
final Package package;
|
||||
final Package? package;
|
||||
ProcessingEditEditor({this.package});
|
||||
|
||||
@override
|
||||
@@ -33,22 +33,22 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
TextEditingController _remarkCtl = new TextEditingController();
|
||||
TextEditingController _descCtl = new TextEditingController();
|
||||
|
||||
Package _package;
|
||||
User _user;
|
||||
Package? _package;
|
||||
User? _user;
|
||||
bool _isLoading = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_package = widget.package;
|
||||
selectedMarket = _package.market ?? "";
|
||||
_descCtl.text = _package.desc;
|
||||
_remarkCtl.text = _package.remark;
|
||||
multiImgController.setImageUrls = _package.photoUrls;
|
||||
selectedMarket = _package!.market ?? "";
|
||||
_descCtl.text = _package!.desc;
|
||||
_remarkCtl.text = _package!.remark;
|
||||
multiImgController.setImageUrls = _package!.photoUrls;
|
||||
_user = User(
|
||||
fcsID: _package.fcsID ?? "",
|
||||
name: _package.userName ?? "",
|
||||
phoneNumber: _package.phoneNumber ?? "");
|
||||
fcsID: _package!.fcsID ?? "",
|
||||
name: _package!.userName ?? "",
|
||||
phoneNumber: _package!.phoneNumber ?? "");
|
||||
}
|
||||
|
||||
final DateFormat dateFormat = DateFormat("d MMM yyyy");
|
||||
@@ -62,7 +62,7 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: DisplayText(
|
||||
text: _user.fcsID,
|
||||
text: _user!.fcsID,
|
||||
labelTextKey: "processing.fcs.id",
|
||||
icon: FcsIDIcon(),
|
||||
)),
|
||||
@@ -76,18 +76,18 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
],
|
||||
);
|
||||
final namebox = DisplayText(
|
||||
text: _user.name,
|
||||
text: _user!.name,
|
||||
labelTextKey: "processing.name",
|
||||
iconData: Icons.person,
|
||||
);
|
||||
final phoneNumberBox = DisplayText(
|
||||
text: _user.phoneNumber,
|
||||
text: _user!.phoneNumber,
|
||||
labelTextKey: "processing.phone",
|
||||
iconData: Icons.phone,
|
||||
);
|
||||
|
||||
final trackingIdBox = DisplayText(
|
||||
text: _package.trackingID,
|
||||
text: _package!.trackingID,
|
||||
labelTextKey: "processing.tracking.id",
|
||||
iconData: MaterialCommunityIcons.barcode_scan,
|
||||
);
|
||||
@@ -159,13 +159,13 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
);
|
||||
}
|
||||
|
||||
String selectedMarket;
|
||||
String? selectedMarket;
|
||||
Widget marketDropdown() {
|
||||
List<Market> _markets = Provider.of<MarketModel>(context).markets;
|
||||
List<String> markets = _markets.map((e) => e.name).toList();
|
||||
markets.insert(0, MANAGE_MARKET);
|
||||
if (!markets.contains(selectedMarket)) {
|
||||
markets.insert(0, selectedMarket);
|
||||
markets.insert(0, selectedMarket!);
|
||||
}
|
||||
|
||||
return Padding(
|
||||
@@ -197,7 +197,7 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
height: 1,
|
||||
color: Colors.grey,
|
||||
),
|
||||
onChanged: (String newValue) {
|
||||
onChanged: (String? newValue) {
|
||||
setState(() {
|
||||
if (newValue == MANAGE_MARKET) {
|
||||
selectedMarket = null;
|
||||
@@ -236,7 +236,7 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
}
|
||||
|
||||
_completeProcessing() async {
|
||||
if (_user.fcsID == null || _user.fcsID == "") {
|
||||
if (_user!.fcsID == null || _user!.fcsID == "") {
|
||||
showMsgDialog(context, "Error", "Expected FCS-ID");
|
||||
return;
|
||||
}
|
||||
@@ -246,11 +246,11 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
PackageModel packageModel =
|
||||
Provider.of<PackageModel>(context, listen: false);
|
||||
try {
|
||||
_package.fcsID = _user.fcsID;
|
||||
_package.desc = _descCtl.text;
|
||||
_package.remark = _remarkCtl.text;
|
||||
_package.market = selectedMarket;
|
||||
await packageModel.updateProcessing(_package,
|
||||
_package!.fcsID = _user!.fcsID;
|
||||
_package!.desc = _descCtl.text;
|
||||
_package!.remark = _remarkCtl.text;
|
||||
_package!.market = selectedMarket!;
|
||||
await packageModel.updateProcessing(_package!,
|
||||
multiImgController.getAddedFile, multiImgController.getDeletedUrl);
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
@@ -264,20 +264,20 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
||||
|
||||
isDataChanged() {
|
||||
if (isNew) {
|
||||
return _user.fcsID != "" ||
|
||||
return _user!.fcsID != "" ||
|
||||
selectedMarket != null ||
|
||||
_descCtl.text != "" ||
|
||||
_remarkCtl.text != "" ||
|
||||
multiImgController.getAddedFile.isNotEmpty;
|
||||
} else {
|
||||
var _package = Package(
|
||||
trackingID: widget.package.trackingID,
|
||||
fcsID: _user.fcsID,
|
||||
market: selectedMarket,
|
||||
trackingID: widget.package!.trackingID,
|
||||
fcsID: _user!.fcsID,
|
||||
market: selectedMarket!,
|
||||
desc: _descCtl.text,
|
||||
remark: _remarkCtl.text,
|
||||
photoUrls: widget.package.photoUrls);
|
||||
return widget.package.isChangedForEditProcessing(_package) ||
|
||||
photoUrls: widget.package!.photoUrls);
|
||||
return widget.package!.isChangedForEditProcessing(_package) ||
|
||||
multiImgController.getAddedFile.isNotEmpty ||
|
||||
multiImgController.getDeletedUrl.isNotEmpty;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user